Jeśli według was to nie jest pytanie początkującego to sobie przewalajcie to gdzie chcecie. Wg mnie to noobowskie pytanie bo ja je zadaje :x.
Witam,
chciałem zrobić grę multiplayer, używając 39dll. Napisałem w stepie pewien kod, który jednak powoduje drobne problemy. Na jednym z komputerów w trakcie łączenia się z serwerem, bądź kiedy owy komputer jest serwerem i się połączy z nim ktoś-program przestaje odpowiedać i się wyłącza. Na drugim komputerze nie ma owego błędu. Program działa normalnie. Tak szczerze to nawet nie mam pewności że się będą wyswietlać "u tego drugiego" odpowiednie sprity bo jak jeden z komputerów sie crashuje to jest problem. Jedyne co do czego mam pewność to fakt, że to wina tego kodu. Oto on:
GML (step)
direction_wieza=point_direction(x,y,mouse_x,mouse_y)-90;
image_angle=direction-90;
if global.host=true
{
sock = tcpaccept(listen, 1)
if(sock)
{
global.otherplayer[global.num+1] = sock
global.num+=1
sock=-1
}
}
if global.num>0
{
/*Wysylanie pakietow z polozeniem i innymi takimi
1-x 2-y 3-direction 4-direction_wieza
5-kolor czolgu*/
clearbuffer()
writeshort(x)
writeshort(y)
writeshort(direction)
writeshort(direction_wieza)
writeshort(global.kolor)
current=1
for(i=0;i<global.num;i+=1)
{
sendmessage(global.otherplayer[current])
current+=1
}
current=1
while(true)
{
current=1
for(i=1;i<global.num;i+=1)
{
size = receivemessage(global.otherplayer[current])
current+=1
}
if(size < 0)break;
if(size == 0)
{
show_message("Player "+string(current)+" has left the game.");
break;
}
p_x[current]=readshort()
p_y[current]=readshort()
p_direction[current]=readshort()
p_direction_wieza[current]=readshort()
p_tank_kolor=readshort()
}
Słabo sie znam na 39 dll, więc prosiłbym mocno, żeby jakiś lepiej obeznany użytkownik mi pomógł.