Paqoo Opublikowano 23 Kwietnia 2008 Opublikowano 23 Kwietnia 2008 Tworzę grę w 39dll - jest to strzelanka 2D. Chcę aby gracz 1 klikając na gracza 2 zadawał mu dmg. Jak moge to wykonać? Gdzie przesłać zmienną health?? I jak ma to wyglądać? Pomoże ktoś? :)
Nobody Opublikowano 24 Kwietnia 2008 Opublikowano 24 Kwietnia 2008 Wszystko powinno być na serwerze. W każdym bohaterze zmienna z życiem, a gry w kliencie gracz naciśnie na drugiego wyśle do serwera wiadomość o zadaniu obrażeń. Serwer to wykona i poinformuje drugiego gracza o tym.
Paqoo Opublikowano 24 Kwietnia 2008 Autor Opublikowano 24 Kwietnia 2008 Okey, brzmi rozsądnie. Gorzej z wykonaniem, ale spróbuję.
Nobody Opublikowano 24 Kwietnia 2008 Opublikowano 24 Kwietnia 2008 GML clearbuffer(); writebyte(254); writebyte(idgracza); writebyte(obrazenia); sendmessage(global.client); Coś w tym stylu. A na serwerze GML case 254: with (global.players[readbyte()]) { hp-=readbyte(); } Coś takiego :P
Paqoo Opublikowano 24 Kwietnia 2008 Autor Opublikowano 24 Kwietnia 2008 No dobra, a takie pytanko: gdzie na serwerze definiujemy zmienne? Ciągle mi wyskakuje błąd, że nie zna zmiennej x. O co chodzi?
Nobody Opublikowano 24 Kwietnia 2008 Opublikowano 24 Kwietnia 2008 Może nie ma takiego objektu? global.players podałem dla przykładu. Zależy, czy korzystasz z przykładu czy masz własny silnik...
Paqoo Opublikowano 24 Kwietnia 2008 Autor Opublikowano 24 Kwietnia 2008 Korzystam z Marbs Example i tam jest global.players. Problem w tym, że jak gracz się pojawia na serwerze to go niszczy i wyskakuje błąd, że nie ma zmiennej x ..
Nobody Opublikowano 24 Kwietnia 2008 Opublikowano 24 Kwietnia 2008 Sprawdź update'owanie pozycji graczy i skorzystaj z tego.
Paqoo Opublikowano 24 Kwietnia 2008 Autor Opublikowano 24 Kwietnia 2008 No jest to zrobione. Może dam zrzut błędu? Zrobiłem paski życia i tam są błędy i nie wiem o co kaman. Może trzeba coś zrobić jak: with(global.player<tablica>){I tu kod paska} ??
Nobody Opublikowano 24 Kwietnia 2008 Opublikowano 24 Kwietnia 2008 Na kliencie czy serwerze? Jeżeli nie zna zmiennej X, to nie ma po prostu takiego objektu.
Paqoo Opublikowano 24 Kwietnia 2008 Autor Opublikowano 24 Kwietnia 2008 Chyba chodzi o server. Bo to jest tak, że muszą być te same obiekty na serverze i kliencie. Tylko nie wiem gdzie zmienne mają być dublowane. Przed pętlą na losowanie bytes?
Paqoo Opublikowano 24 Kwietnia 2008 Autor Opublikowano 24 Kwietnia 2008 Chyba potrzebuję pomocy kogoś obeznanego z 39dll, bo musimy głębiej przeanalizować ten kod.. Zamykam! Jak coś pisać na gg albo pocztę lub PM.
Rekomendowane odpowiedzi