Boro Casso Opublikowano 25 Lipca 2007 Udostępnij Opublikowano 25 Lipca 2007 Dziś zacząłem się uczyć 39dll na Racer Online Example. Chciałem sobie tak dla atestu zrobić ze samochud może strzelać kulami ognia :P. Zrobiłem tak W cliencie dodałem w obj_player_self Nowy event press<ctrl> instance_create(x,y,obj_fireball); w nowo utworzonym obiekcie obj_fireball w step dałem hspeed=(1); clearbuffer(); writebyte(45); writeshort(id); writeshort(x); writeshort(y); writeshort(direction); sendmessage(global.clienttcp); w obj_client w step dodałem po case 9: //Server message script_addline("Server: " + readstring(),c_red); break; dodałem case 46: fireid = readshort(); fireid.x = readshort(); fireid.y = readshort(); fireid.direction = readshort(); break; W serverze dodałem tak w obj_client case 45: //update fireball position var fireid, fireidx, fireidy, fireiddir; fireid = readshort() fireidx = readshort() fireidy = readshort() fireiddir = readshort() clearbuffer(); writebyte(46); writeshort(fireid); writeshort(fireidx); writeshort(fireidy); writeshort(fireiddir); with(obj_client) { sendmessage(tcp); } break; I gdy nacisnę ctrl podczas gry wszystkim graczą wywala błąd ;/ ze coś z tym chyba jest nieteges : fireid.x = readshort(); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Micanser Opublikowano 25 Lipca 2007 Udostępnij Opublikowano 25 Lipca 2007 Po co tak komplikujesz, poprostu dodaj do samochodu jedną wysyłana informacje o tym czy strzela czy nie, a potem direction, x, y pocisku bedzie okreslane na podstawie direction, x, y samochodu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Boro Casso Opublikowano 25 Lipca 2007 Autor Udostępnij Opublikowano 25 Lipca 2007 Po co tak komplikujesz, poprostu dodaj do samochodu jedną wysyłana informacje o tym czy strzela czy nie, a potem direction, x, y pocisku bedzie okreslane na podstawie direction, x, y samochodu. eee nie kumam ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pablo1517 Opublikowano 25 Lipca 2007 Udostępnij Opublikowano 25 Lipca 2007 kula ci się nie tworzy po porąbałeś id wiadomosci... i po diabła updatować pozycje kuli oO? Nie dawaj w create kuli wysylania bo wtedy stworzysz kule z wysylanych informacji a ona znoiw wysle wiadomosc i tak w kolko... daj w przycisku CTRL w graczu przy tworzeniu kuli takie cos clearbuffer(); writebyte(45); writeshort(x); writeshort(y); writeshort(direction); sendmessage(global.clienttcp); A w odbieraniu wiadomosci dopisz case : 45; var obj; obj=instance_create(readshort(),readshort(),objFireball); obj.direction=readshort(); break; Po co tak komplikujesz, poprostu dodaj do samochodu jedną wysyłana informacje o tym czy strzela czy nie, a potem direction, x, y pocisku bedzie okreslane na podstawie direction, x, y samochodu. Eh... zdaje sie, że Ranmus już kiedyś wam to tłumaczył ale dalej nie czaicie... tak nie można bo dane nie docierają nonstop i na czas, czasami komus lagnie albo poprostu delikatne opuźnienie sprawi że pozycja samochodu i jego dir nie jest takie samo jak u ciebie, to oznacza ze ty strzelisz kule np w dir=40 wyslesz info i tam wzglede opuźnienia kula poleci w dir=50 :/ Tak wiec zrob tak jak ja mówie a nie tak jak mowi Micanser. 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ę