Brox Opublikowano 14 Maja 2011 Udostępnij Opublikowano 14 Maja 2011 Siemka mam taki kod w create: GML nasluchiwanie = tcplisten(14804, 2, true); if (nasluchiwanie <= 0) { show_message("Nasluchiwanie portu 14804 się nie powiodło."); room_goto(rMenu); } I gdy włączę grę wyskakuje mi błąd: In script tcplisten: Error in code at line 11: /* Creates a listening socket to monitor a certain port for incoming connections. Argument0 = Port to listen on Argument1 = Max amount of people allowed to be in the connected but not accepted list Argument2 = Blocking(0)/Non-Blocking(1) mode. Affects the tcpaccept script. returns the id of the socket or a negative error code.*/return external_call(global._SokB, argument0, argument1, argument2); ^ at position 29: Unknown variable _SokB Wie ktoś o co chodzi? Dopiero się uczę używać 39dll więc nie kumam o co temu chodzi, ale chyba coś, że argument2 nie przyjął jakieś wartości 0 albo 1 a przecież true to 1. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 14 Maja 2011 Udostępnij Opublikowano 14 Maja 2011 39dll nie jest zainicjowana. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Brox Opublikowano 14 Maja 2011 Autor Udostępnij Opublikowano 14 Maja 2011 A to trzeba inicjować ją w tym samym roomie? Bo mam ją zainicjowaną ale w poprzednim roomie :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 14 Maja 2011 Administratorzy Udostępnij Opublikowano 14 Maja 2011 Nie trzeba, co nie zmienia faktu, że nie jest zainicjowany. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Brox Opublikowano 14 Maja 2011 Autor Udostępnij Opublikowano 14 Maja 2011 No dobra to teraz mam drugie pytanie mam kod w step: GML client = tcpaccept(nasluchiwanie, true); if(client) { global.otherplayer = client; room_goto(rGame); } No i w ogóle nie chce przejść do następnego roomu nawet po długim czekanie wie ktoś czemu? ;d Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lechu4444 Opublikowano 14 Maja 2011 Udostępnij Opublikowano 14 Maja 2011 dałeś if a nie dałeś warunku. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Brox Opublikowano 14 Maja 2011 Autor Udostępnij Opublikowano 14 Maja 2011 Jak nie dałem ? if(client) ;d Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 14 Maja 2011 Udostępnij Opublikowano 14 Maja 2011 A co to za warunek? "Jeśli client = error" ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Brox Opublikowano 14 Maja 2011 Autor Udostępnij Opublikowano 14 Maja 2011 O czym wy mówicie :D? To jest to samo co: if(client == 1) -- tak też nie działa lub if(client > 0) -- i tak też nie działa I to z przykładu też nie działa: GML client = tcpaccept(listen, true); if(client <= 0) exit; global.otherplayer = client; room_goto(rmGame); Ja nie wiem czemu mi wywala właśnie ten błąd, że zmiennej client przepisuje ciągle -1 a powinno przepisać 1 (true) no nie? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 14 Maja 2011 Udostępnij Opublikowano 14 Maja 2011 no to lepiej chyba napisać true no nie? Btw zapewne zmienna listen nie ma odpowiedniej wartości. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MagnusArias Opublikowano 14 Maja 2011 Udostępnij Opublikowano 14 Maja 2011 I zależy co tcpaccept zwraca. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Brox Opublikowano 14 Maja 2011 Autor Udostępnij Opublikowano 14 Maja 2011 no to lepiej chyba napisać true no nie? Btw zapewne zmienna listen nie ma odpowiedniej wartości. Czyli co mam zrobić? ;d I zależy co tcpaccept zwraca. Zwraca -1. A może to nie działa bo robię to na lapku który łączy się z ruterem przez WiFi, czy to nie ma w ogóle znaczenia? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 14 Maja 2011 Udostępnij Opublikowano 14 Maja 2011 Jeśli działasz na localhoscie ( '127.0.0.1' ), to jaki router masz jest bez znaczenia. Możliwe że źle ustawiasz np. porty, lub wo gule nie utworzyłeś serwera. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Brox Opublikowano 14 Maja 2011 Autor Udostępnij Opublikowano 14 Maja 2011 W create mam: GML dllinit(0,true,false) nasluchiwanie = tcplisten(14804, 2, true); if (nasluchiwanie <= 0) { scr_msg() show_message("# Nasluchiwanie portu 14804 się nie powiodło. (Wyłącz grę i spróbuj ponownie)"); dllfree() room_goto(rMenu); } A w step: GML client = tcpaccept(nasluchiwanie, true); if(client > 0) { closesocket(nasluchiwanie) global.otherplayer = client; room_goto(rGame); } Dobrze? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MagnusArias Opublikowano 14 Maja 2011 Udostępnij Opublikowano 14 Maja 2011 Mi nie chodzi o to, co zwraca w kodzie programu, tylko co ma zwracać ten skrypt (Czy stringa, czy integera czy true/false). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Brox Opublikowano 14 Maja 2011 Autor Udostępnij Opublikowano 14 Maja 2011 No chyba true. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 14 Maja 2011 Administratorzy Udostępnij Opublikowano 14 Maja 2011 Dlaczego zamykasz socket? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Brox Opublikowano 14 Maja 2011 Autor Udostępnij Opublikowano 14 Maja 2011 Bo tak było w przykładzie gry "Pong" co było w paczce z 39dll.dll ;p, a nawet gdy to usunę to jest to samo. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 15 Maja 2011 Udostępnij Opublikowano 15 Maja 2011 zanim pisać >=0 napisz = true lub = false. Miszczu Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Brox Opublikowano 15 Maja 2011 Autor Udostępnij Opublikowano 15 Maja 2011 @Up: To też nic nie daje ;/. Ale serwer się włącza, bo mogę dołączyć do gry jako zwykły gracz. Nie chce tylko dojść do gry ten co hostuje nie wiem czemu, bo ten" tcpaccept" coś blokuje. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę