Zrobiłem w serwerze już taki mały system id rozsyłanie i odbieranie danych, tylko że moge się założyc ze cos robie zle, bez sensu lub nie potrzebnie + nawet nie sprawdzałem kodu czy dziala bo clienta jeszcze nie ma więc piszę tu bo wy sie znacie:
o_host:
Create:
GML
dllinit(0,1,0)
global.port=get_integer('Podaj port do zalozenia serwera:',14378)
global.maxplayers=get_integer('Podaj max graczy:',20)
global.socket=tcplisten(global.port,global.maxplayers,1)
if global.socket<=0
{
show_message('Nie udalo zalozyc sie serwera!')
game_end()
exit;
}
for(i=0; i<global.maxplayers; i+=1)
{
global.player=-1
}
global.playerobj=0
new=0
tab=0
Step:
GML
new=tcpaccept(global.socket,1)
if new //jezeli ktos doszedl
{
for(i=0; i<global.maxplayers; i+=1)
{
if global.player=-1
{
tab=i
global.player=new
break;
}
for(i=0; i<global.maxplayers; i+=1)
{
if global.player!=-1
{
writestring('newplayer')
writebyte(i)
sendmessage(global.player)
}
}
global.playerobj[tab]=instance_create(room_width/2,room_height/2,o_player);
}
for(i=0; i<global.maxplayers; i+=1) //odbieranie danych
{
if global.player!=-1
{
var size=receivemessage(global.player);
if size>0
{
if readstring()='up' global.playerobj.y-=5 //tutaj tylko dalem na gore i dol ze jak nacisnie przycisk to sie up albo down wysyla (zabezpieczenie :P);
else if readstring()='down' global.playerobj.y+=5
}
}
}
for(i=0; i<global.maxplayers; i+=1) //rozsylanie danych
{
if global.player!=-1
{
for(a=0; a<global.maxplayers; a+=1)
{
if global.player[a]!=-1
{
writestring('possition')
writeshort(global.playerobj[a].x)
writeshort(global.playerobj[a].y)
sendmessage(i)
}
}
}
}
Proszę aby ktoś przeanalizował i powiedział co tu mozna zmienic zeby bylo lepiej i czy w ogole to bedzie dzialac