Skocz do zawartości

while-waito-sleep :P


Rekomendowane odpowiedzi

GML
server=tcpconnect('127.0.0.1',34986,1)

if server<=0

{

show_message('Nie moge sie polaczyc!')

game_end()

exit;

}

size=receivemessage(server)

if size=0

{

show_message('Zerwano polaczenie z serwerem!')

game_end()

exit;

}

while(size<0)

{

//wait

}

if readbyte()=8

{

ilosc=readshort()

}

for(i=0; i<ilosc; i+=1)

{

if ilosc=i

{

player=instance_create(0,0,o_player)

player.id=i

}

else

{

player=instance_create(0,0,o_other)

player.id=i

}

}

 

Create clienta od mojej gry SMMO2. I teraz pytanie - czy to:

while(size<0)

{

//wait

}

zatrzyma cały create i reszte kodu i dopiero jak size bedzie =0 lub >0 to dalszy kod sie wykona?

a cały kod dalem zebyscie lookneli czy czegos zle nie ma

 

pozdro

Odnośnik do komentarza
Udostępnij na innych stronach

czy to:

while(size<0)

{

//wait

}

zatrzyma cały create i reszte kodu i dopiero jak size bedzie =0 lub >0 to dalszy kod sie wykona?

Tak. Ale to rozwiązanie jest idiotyczne, ponieważ wstrzymujesz kod - jeśli size będzie >=0 dopiero za minutę, to gra ruszy się dopiero za minutę.

Na pewno takich rozwiązań nie można stosować w grach online.

 

Choć przyznaje, kodu nie czytałem... :P

Odnośnik do komentarza
Udostępnij na innych stronach

no to moze dac takie cos:

GML
limit=0

while(size<0)

{

limit+=1

if limit>=100

{

show_message('Brak odpowiedzi od serwera!')

game_end()

exit;

}

 

??

 

e:

a nie bezesensu przeciez to pętla to odrazu bedzie 100.. no nie?

e2:

Tak. Ale to rozwiązanie jest idiotyczne, ponieważ wstrzymujesz kod - jeśli size będzie >=0 dopiero za minutę, to gra ruszy się dopiero za minutę.

Na pewno takich rozwiązań nie można stosować w grach online.

Nieczytałeś to nie wiesz - to jest tylko kod na podłączenie do serwera i dopóki client nie otrzyma wiadomosci zwrotnej z iloscią graczy na serwerze to ma stać .. spać.. czy jakos tak - kod ma byc wstrzymany

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

GML
limit=0

while(size<0)

{

if alarm[0]==-1 then alarm[0]=10; //limit+=1

if limit>=100

{

show_message('Brak odpowiedzi od serwera!')

game_end()

exit;

}

 

alarm0

GML
limit+=1
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...