Skocz do zawartości

mmorpg


Arion

Rekomendowane odpowiedzi

Bo server łapie tylko to co wcisnales (np strzalka w gore) i sam wyswietla Cie idacego w gore = server Cię przesuwa dopóki nie dojdzie info ze się zatrzymałeś.

W wielu grach tak jest. Jak np. w WoWie ktoś ma lagi to widać jak biegnie w miejscu, a jeśli Ty masz to widzisz jak ktoś biegnie gdzieś dalej i nagle wraca do miejsca gdzie był wcześniej = info o zatrzymaniu za późno doszło.

Odnośnik do komentarza
Udostępnij na innych stronach

Z tym WoW'em to masz racje ,nigdy na to nie zwróciłem uwagi ,a teraz jak sobie przypominam lagi to tak właśnie jest ;d

 

EDIT: A mam takie jedno pytanie z tym syskiem antycheatowym przy evencie.

Jak chce z niego skorzystać to daje np. event klawisza left i tam if place_free....

czy moge równie dobrze sobie dać tak w stepie:

GML
if keyboard_check (vk_left)

{

if place_free(x-3,y)

 

{x-=3}

}

bo jestem bardzo ciekawy tego czy oba to to samo.

wkoncu tu też kod mówi że jak wciśniesz klawisz to idzie w lewo :sp_ike:

Odnośnik do komentarza
Udostępnij na innych stronach

DarkTeam: niet. Wlasnie po to wysylasz sygnal/akcje do serwera po to, by oczekiwac odpowiedzi i dopiero wtedy dokonywac zmian u siebie.

 

poruszanie:

* definiowane stale (nadajesz im jakies wartosci):

ACTION_KEY_PRESSED,

ACTION_KEY_RELEASED

 

* funkcja sendAction( act, code ):

GML
writebyte( myServerID );

writebyte( act );

writebyte( code );

sendmessage();

 

* klient:

GML
if( keyboard_check_pressed( ord( 'W' ) ) )

sendAction( ACTION_KEY_PRESSED, ord( 'W' ));

if( keyboard_check_released( ord( 'W' ) ) )

sendAction( ACTION_KEY_RELEASED, ord( 'W' ));

 

* serwer (odbior wiadomosci):

GML
mid = readServerID();

with( clients )

if( mid == myServerID )

{

act = readAction();

if(act == ACTION_KEY_PRESSED)

{

code = readCode();

if( code == ord( 'W' ) )

{

direction = 90;

speed = 10;

}

}

else

if(act == ACTION_KEY_RELEASED)

{

code = readCode();

if( code == ord( 'W' ) )

speed = 0;

}

}

resend(); // przesyla odebrane dane dalej do wszystkich klientow w obrebie wdocznosci danego gracza, takze naszego</span></span></span></span>

 

* klient (odbior wiadomosci):

GML
mid = readServerID();

with( clients )

if( mid == myServerID )

{

act = readAction();

if(act == ACTION_KEY_PRESSED)

{

code = readCode();

if( code == ord( 'W' ) )

{

direction = 90;

speed = 10;

}

}

else

if(act == ACTION_KEY_RELEASED)

{

code = readCode();

if( code == ord( 'W' ) )

speed = 0;

}

}

Odnośnik do komentarza
Udostępnij na innych stronach

zalezy w czym napiszesz ten serwer. jak C++/delphi na linuxa, to musisz szukac serwerów wirtualnych linuxowych, takic jest masa i bywają tanie. jak w GM, to szukaj dedykowanych windows i oczekuj paruset złotych miesięcznej opłaty za dobrj jakości serwer.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności
a propo serwera to jak go się zakłada?

i czy za free da rade?

Na swoim kompie sobie odpal, będzie za free*.

 

 

*- nie licząc prądu i neta.

 

o_O niewiedziałem że GM takową funkcje ma jak w 1 pkt.

Jezus maria, co to za bzdury. Czy to od funkcji GMa zależy, czy wysyłasz tylko dane o wykonanej akcji, a nie pozycje nową do serwera...?

Odnośnik do komentarza
Udostępnij na innych stronach

Z tym przesyłaniem infa o eventach już rozumiem.

Co do ciebie anty sry poprostu myślałem ,że GM ma jakąś funkcje antycheatingową :rolleyes: coś w stylu hackshield ,ale widze że to tylko chodzi o to że zwykłe cheaty dzialają na współrzędnych itp.

 

EDIT:Jak nie masz zewnętrznego ip i nie przeszkadza ci to że zrobisz gre MMO na hamachi to postaw ją tak.

Rzecz jasna to też zależy od twojego neta ;]

Ja np. mam pewien przykład ,który ściągnąłem z forum yoyogames.com i zrobiłem to na odpaliłem serva pod zwyczajne ip 127.0.0.1 a kolega podpiął się do sieci hamachi i mogliśmy grać :thumbsup:

Mój net : Radiówka 1mb i do tego podzielona na 2 kompy przez router ,kolega miał czasami straszne lagi ;d

a jak puszczałem dźwięk z radia w grze to on tego nie słyszał ,ale ogólnie kilka razy mnie zabił :thumbsup: i grało się całkiem fajnie

Odnośnik do komentarza
Udostępnij na innych stronach

Są servery za free ... tyle że tylko na postawienie strony...

Nie masz kasy na server ? Niechcesz postawić serva na swojim kompie pod hamachi ,bądź wql na swojim kompie nawet przy zewn. ip?

 

Zaoferuj coś komuś kto ma przykładowo te 6mb neta ,a może nawet więcej ,zewnętrze ip i niech postawi server, a w zamian poprostu coś mu daj ,niewiem zrób system kont (admin,premium,user) i wynagrodź mu to darmowym premiumem ,czy zarezerwowanym slotem ,adminem.

Myśle że taka gierka w GM'ie jak RPG (server) nie bendzie brał aż tak dużo z tych 6mb jak server bendzie 16 slotowy(chociaż niewiem tego dokładnie bo jak postawiłem server gry na 1mb na hamachi to już kolega lekkie lagi miał a to było tylko 1vs1 + boty od czasu do czasu).Serv 24/7 chodził nie bendzie ,ale na początku gra nie musi być odrazu na dedyku.

 

To jest jedynie przyklad :thumbsup: może znajdziesz inne rozwiązanie jeśli nie masz takiej możliwości.

Ale server na takie rzeczy ? Only płatny ,więc chociaż na początek radze hamachi

 

A z tymi reklamami to mój drogi nie jest tak ,że masz wtedy bezplatny server.... tylko jak reklamujesz kogoś to jeśli zawarliście ową umowe on płaci jakąś tam część kasy na server ,i to tyle...

Odnośnik do komentarza
Udostępnij na innych stronach

Ale na co komu 6MB neta, jak stawia serwer?

To musi być upload, a rzadko się tyle trafia.

 

Lepiej po prostu wykupić w jakiejś dobrej serwerowni mały serwerek i tyle. Jednak i tak to się mało opłaca jak ktoś robi taką se grę. Trzeba by zrobić porządną grę z jakimiś dodatkami, które można wykupić, tak żeby się choć w części zwracał koszt serwera ;)

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ę...