Roki Opublikowano 25 Kwietnia 2009 Udostępnij Opublikowano 25 Kwietnia 2009 Mam sobie 39dll, całą gre prawie gotową, no i tu problem. Potwory. Mam 5 spritów, potwora co idzie w: góre, dół, lewo, prawo i jak deda. I potrzebuje skrypt respiacy potwora, no i na cały przebieg walki, i wysyłania pozycjii itd. Kto mi pomoże? Jak można to prosze kod, no i napisane gdzie umieścić. Potwór niech chodzi w kierunku random, co jakiś czas zmienia. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 25 Kwietnia 2009 Udostępnij Opublikowano 25 Kwietnia 2009 I potrzebuje skrypt respiacy potwora, no i na cały przebieg walki, i wysyłania pozycjii itd. [...] Jak można to prosze kod, no i napisane gdzie umieścić.A może frytki do tego? Nie prosisz przypadkiem za wiele? Toż to jest ćwierć MMORPG robienie całego systemu poruszania się i walki z potworami o.O Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 25 Kwietnia 2009 Filar Społeczności Udostępnij Opublikowano 25 Kwietnia 2009 No co ty, on ma już prawie całą grę gotową przecież ^^ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 25 Kwietnia 2009 Udostępnij Opublikowano 25 Kwietnia 2009 Skoro prawie całą gre masz gotową, to powinienes miec juz takowy system rozsyłania danych pomiedzy playerami. Wzoruj sie na nim i zrob prawie dokladnie to samo. Wysyłanie pozycji to przeciez tylko wysyłanie zmiennych potwora do wszystkich graczy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 26 Kwietnia 2009 Autor Udostępnij Opublikowano 26 Kwietnia 2009 Walke moge skopiować z PvP, ale to wysyłanie pozycji i kierunku mnie gryzie :/ @EDIT: W grze brak potworów, małych poprawek i tyle, poza handlem itemami. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 26 Kwietnia 2009 Udostępnij Opublikowano 26 Kwietnia 2009 wysyłanie pozucji ? clearbuffer( ); writeshort(x); writeshort(y); writeshort(direction); sendmessage( soc ); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 26 Kwietnia 2009 Autor Udostępnij Opublikowano 26 Kwietnia 2009 No, ok, ale zapisuje direction, a w stepie np. mam ustawić if direction= 0 sprite = ... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 26 Kwietnia 2009 Udostępnij Opublikowano 26 Kwietnia 2009 Wysylaj do graczy direction i po stronie clienta sprawdzaj direction potwora a nastepnie przypisuj mu sprite. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 26 Kwietnia 2009 Autor Udostępnij Opublikowano 26 Kwietnia 2009 Narazie i tak powstał problem :/ ERROR in action number 1 of Step Event for object objWolf: Error in code at line 5: sendmessage( soc ); at position 15: Unknown variable soc Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 26 Kwietnia 2009 Udostępnij Opublikowano 26 Kwietnia 2009 zmienna soc musi przechowywac soket. jesli dalej nie wiesz o co chodzi odslylam do artu Yodu na temat 39dll ktory jest w dziale artykuly Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 26 Kwietnia 2009 Autor Udostępnij Opublikowano 26 Kwietnia 2009 Skoro wywala unknown to tego nie ma. A gra jakoś chodzi dobrze i da się itemki zberać itd. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 26 Kwietnia 2009 Udostępnij Opublikowano 26 Kwietnia 2009 Posłuchaj, zrobienie gry mmo rożni sie znacznie od stwozenia gry zwykłej bo poza tym co trzeba zrobic w normalnej grze tj. nie internetowej trzeba zrobic przesył danych z clienta do serva i z serva do clienta. Jesli nawet nie wiesz jak wysłać dane i do czego słuzy funkcja sendmessage() i jak sie ją stosuje, i z kad wziasc do niej argument, zostan lepiej przy grach "nie" online. Pozatym zależy teraz z kad wysylasz te dane, jesli z clienta powinno byc : soc = tcpconnect(ip,port,1); A jesli z serva : soc = tcpaccept(stcp,true); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 26 Kwietnia 2009 Autor Udostępnij Opublikowano 26 Kwietnia 2009 Ale mam już serwer i klienta, tylko nie wiem dokładnie co jak się robi :P Wszystko dobrze chodzi, czasami tylko wywala unknown variable x2,y2, ale jak sie da ignore to idzie. Tego Wolfa dałem całe do steepa, a na serwerze nic nie dodawałem. I teraz wywala to od wolfa :crying: @EDIT: Co do klienta, mam tak: servertcp = tcpconnect(global.server, global.port, 1); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 26 Kwietnia 2009 Udostępnij Opublikowano 26 Kwietnia 2009 Musisz wysyłac pozycje "wolfa" z twojego clienta do servera a nastepnie od servera do pozostałych graczy, tak aby oni widzieli co robi. Mowie, masz swietny art yody na temat 39dll, z niego sie wszystkiego dowiesz. @ Edit @EDIT: Co do klienta, mam tak: servertcp = tcpconnect(global.server, global.port, 1); To dobrze, wiec sendmessage na kliencie bedzie wygladac tak : sendmessage( servertcp ); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 26 Kwietnia 2009 Autor Udostępnij Opublikowano 26 Kwietnia 2009 Zamieniłem na to servertcp, ale nie wiem czemu jest to samo :/ ERROR in action number 1 of Step Event for object objWolf: Error in code at line 5: sendmessage( servertcp ); at position 15: Unknown variable servertcp @E: A w servie coś powinno być? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 26 Kwietnia 2009 Udostępnij Opublikowano 26 Kwietnia 2009 niech zgadne, zmienna servertcp, jest zadeklarowana w innym obiekcie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 26 Kwietnia 2009 Autor Udostępnij Opublikowano 26 Kwietnia 2009 Skąd wiedziałeś? Jest w obiekcie kontrolującym połączenie, i ten obiekt jest tylko w trakcie łączenia się z serverem. @EDIT: No to co? Nikt mi nie pomoże? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Misiek999 Opublikowano 26 Kwietnia 2009 Udostępnij Opublikowano 26 Kwietnia 2009 zrób zmienną globalną ... ps : powinieneś wiedzieć, że zmienna lokalna jest dostępna tylko w jednym obiekcie, w którym była zadeklarowana. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 26 Kwietnia 2009 Autor Udostępnij Opublikowano 26 Kwietnia 2009 Teraz wiem :P Ale cy musze ją potem na serwerze też zmieniąc na globalną czy tam może zostać lokalna? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hunter Opublikowano 26 Kwietnia 2009 Udostępnij Opublikowano 26 Kwietnia 2009 Server tez wysyla dane do clientow. Jesli zamierzasz wysylać zmienne w jakims innym obiekcie to najlepeij miec globalną. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 26 Kwietnia 2009 Autor Udostępnij Opublikowano 26 Kwietnia 2009 No więc tu jest problem :/ Monster działa, ale serwer wywala ubg'a i przerywa gre :/ Mianowicie chodzi o "Out of bounds" :/ Na serwie dla każdej czynności jest: global.commands[removeitem] = PCRemoveItem; global.commands[setvariable] = PCSetVariable; itd. A zawartość tego to: GML setpos(0); with(objPlayer)if(id != other.id and map == other.map) sendmessage(sock); GML var a; argument0 = readstring(); argument1 = readint(); a = ds_list_find_index(variables, argument0); if(a) { ds_list_replace(PrntPlayer.variables, a + 1, argument1); } else { ds_list_add(variables, argument0); ds_list_add(variables, argument1); } A dla gracza: GML x = readshort(); y = readshort(); sprite = readbyte(); mode = readbyte(); image = readbyte(); I teraz co zrobić dla Wolf'a? 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ę