Cześć, napisałby ktoś lub chociaż wysłał do poradników lub objaśnił jak połączyć się z innym serwerem i pobrać z niego dane o ilości graczy online, nazwy serwera itd? Z góry dzięki
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|

Posługiwanie się socketem.
#1
Napisano 05.04.2020 16:05
#2
Napisano 05.04.2020 16:57
sockety w amxx działają podobnie jak te z języka C, więc jakiś pierwszy lepszy tutek zeby obczaić w ogole o co chodzi w tym i śmigasz.
co do tutków wrzuc sobie 'c sockets' w google, poczytaj poogladaj, a potem skorzystaj z funkcji z rodziny socket_*
#3
Napisano 06.04.2020 16:30
Dobra, coś już wiem. Mam taki kod:
new error, socket socket = socket_open("145.239.26.143", 27105, SOCKET_TCP, error) if (socket<1) { switch(error) { case 1: log_amx("Nie mozna stworzyc socket'a") case 2: log_amx("Nie mozna rozwiazac hostname'a") case 3: log_amx("Nie mozna polaczyc sie z hostname:port") } } else { log_amx("Polaczono z serwerem") socket_recv(socket, sBuffer, 511) socket_close(socket) }
Ale wiem, że to nie zadziała w pluginie od listy serwerów jest to całkowicie inaczej zrobione.
Używa się tam jakiegoś "TSource Engine Query" lub "W" dziwne to Pomoże ktoś?
Użytkownik Black004 edytował ten post 06.04.2020 16:32
#4
Napisano 07.04.2020 08:29
#5
Napisano 08.04.2020 19:00
To jednak mam sobie odpuścić to, bo nikomu się nie chce zajrzeć w kod i doradzić czy jak? Do łatwych problemów to od razu zgłasza się mnóstwo ludzi, a jak już trzeba myśleć, to cisza...
#6
Napisano 08.04.2020 19:34
Pytanie jaki konkretnie efekt chcesz osiągnać.
TSource Engine Query - to protokół do komunikacji klient serwer w grach Valve https://developer.va.../Server_queries
💸 SellYourSkins.com - Łatwo sprzedaj swoje skiny do CS:GO
💸⇄🃏 Automatyczny Bot Levelowania Steam - LVLUPSteam.com
🛒Coinsy CSGOPolygon Za SMS, PSC, Przelew - CoinSell.pro
Twój Sklep CS2 - CSGOPAKA
Coinsy do CSGOPolygon, CSGO500, CSGOEmpire - CSGOLombard.com
💸 Graj w CS2 / CS 1.6 i zarabiaj - BoostProject.pro
CS2 Gambling Sites and Free Betting Codes - DreamCodes.gg
Otwieraj skrzynki i wygrywaj najlepsze skiny CS2 na SkinsProject.gg
🤑 Accept CS2 skins for online payments and donations - SkinsMoney
Płatności SMS Premium Rate oraz Direct Biling - SimPay.pl
Szukasz noclegu? Kwatery, noclegi, tanie noclegi, wakacje oferty, wczasy nad jeziorem - RuszajWPolske.pl
#7
Napisano 08.04.2020 19:57
nie kazdy ma czas zeby Ci odpisywać. czasem trzeba samemu coś pokminić. sockety to jakby nie patrzec troche trudniejszy temat.
Pytanie co chcesz osiągnąć, bo ciężko doradzić.
Zajrzyj także tutaj: https://forums.allie...ad.php?t=151401
#8
Napisano 08.04.2020 20:01
Mniej więcej wiem o co w nich chodzi. Ja chce po prostu pobrać dane z innego serwera, ale sprawa się komplikuje bo myślałem, że otworze sobie socketa przez socket_open, a potem uzyje socket_recv, a tak nie jest. Musze jeszcze o ile pamiętam użyć socket_send. W skrócie, chce pobrać jaka jest ilość graczy na serwerze z którym połączyłem się dzięki socketowi, na razie mi tylko na tym zależy.
#9
Napisano 09.04.2020 19:37
Nie poddam się tak łatwo tym razem

#10
Napisano 10.04.2020 16:22
Ktoś coś?
#11
Napisano 10.04.2020 17:16
A próbowałeś coś samemu napisać? Jeśli tak do podaj to co udało Ci się wypocić.
#12
Napisano 10.04.2020 18:04
if(access(id, ADMIN_IMMUNITY)) { new error, socket, sBuffer[512]; socket = socket_open("145.239.26.143", 27105, SOCKET_TCP, error) if (socket<1) { switch(error) { case 1: log_amx("Nie mozna stworzyc socket'a") case 2: log_amx("Nie mozna rozwiazac hostname'a") case 3: log_amx("Nie mozna polaczyc sie z hostname:port") } } else { log_amx("Polaczono z serwerem") socket_recv(socket, sBuffer, 511) log_amx("%s",sBuffer); socket_close(socket) } }
Serwer dostaje crasha, a w konsoli, bez błędu jest.
Użytkownik Black004 edytował ten post 10.04.2020 18:07
#13
Napisano 10.04.2020 19:30
Czy serwer 145.239.26.143 wysyła jakieś dane na twój socket? Bo żadnego 'zapytania' nie wysyłasz do serwera 145.239.26.143
Popatrz tu: https://amxx.pl/dokumentacja/f1324/socket-recv
#14
Napisano 10.04.2020 20:16
No ok, ale jednak to nie ma być takie 'zapytanie'
format(sData, 255,"GET /index.php HTTP/1.0^r^n") format(sData, 255, "%sHost: 145.239.26.143:27105^r^n^r^n", sData) socket_send(socket, sData, strlen(sData))
Wątpie, żeby serwer posiadał index.php
#15
Napisano 10.04.2020 20:52
Wątpie, żeby serwer posiadał index.php
Ehhh, nie bierz wszystkiego dosłownie, przecież nie mówie żebyś skopiował stamtąd. Rusz głową. Przez te 5 dni od założenia tematu jakbyś poczytał pooglądał i popróbował już byś to miał.
Musisz sobie obmyślić jak to ma działać. Jeden socket będzie słuchał na serwerze, a drugim będziesz go pytał. Jeśli ten na serwerze dostanie jakieś zapytanko/dane to odeśle na nie odpowiedź, a Ty będziesz mógł ją sobie odczytać i przekształcić jak Ci pasuje.
Naprawdę jest masa tego w internecie. Sockety choćby w C. Prosta wymiana danych - do takiego czegoś jak Ty potrzebujesz to naprawdę wystarczy wysłać jakiegoś stringa, a serwer odpowie Ci ilością graczy czy numerem buta czy co tam chcesz.
#16
Napisano 10.04.2020 20:56
💸 SellYourSkins.com - Łatwo sprzedaj swoje skiny do CS:GO
💸⇄🃏 Automatyczny Bot Levelowania Steam - LVLUPSteam.com
🛒Coinsy CSGOPolygon Za SMS, PSC, Przelew - CoinSell.pro
Twój Sklep CS2 - CSGOPAKA
Coinsy do CSGOPolygon, CSGO500, CSGOEmpire - CSGOLombard.com
💸 Graj w CS2 / CS 1.6 i zarabiaj - BoostProject.pro
CS2 Gambling Sites and Free Betting Codes - DreamCodes.gg
Otwieraj skrzynki i wygrywaj najlepsze skiny CS2 na SkinsProject.gg
🤑 Accept CS2 skins for online payments and donations - SkinsMoney
Płatności SMS Premium Rate oraz Direct Biling - SimPay.pl
Szukasz noclegu? Kwatery, noclegi, tanie noclegi, wakacje oferty, wczasy nad jeziorem - RuszajWPolske.pl
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych