kod na serwerze co ma odczytywać liczbę graczy na serwerze 2.
stock sprawdz_serwer() { new sockets,error sockets = socket_open("195.114.0.96",27041, SOCKET_UDP,error) new recv[129] if(sockets <= 0 || error) { new err[40] switch(error) { case 0: err = "no error" case 1: err = "error while creating socket" case 2: err = "couldn't resolve hostname" case 3: err = "couldn't connect to given hostname:port" } log_to_file("blad.log","Couldn't connect to %s:%d, error: %s","195.114.0.96",27041,err) return 0 } else if(socket_change(sockets,1)) { socket_recv(sockets, recv,128) new info = str_to_num(recv); if(info>0) return info } return 0 }
uzycie
if(sprawdz_serwer()) return PLUGIN_CONTINUE;
Kod na serwerze wysyłającym ilość graczy
#include <amxmodx> #include <amxmisc> #include <sockets> #define PLUGIN "stachu" #define VERSION "1.0" #define AUTHOR "Właściciel" #define TASKID_QUERY 21934807 public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) set_task(20.0, "query_servers", TASKID_QUERY, "", 0, "b") } public query_servers() { new error, sockets sockets = socket_open("195.114.0.96",27041, SOCKET_UDP,error) new sData[128] format(sData, 127,"%i^r^n^r^n",get_playersnum()) socket_send(sockets, sData, strlen(sData)) }
Wiem pewnie popełniłem jakiś głupi błąd ale nie mam siły juz nad tym siedzieć wiec proszę was o pomoc.
@ref