Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Fix na bugowanie postaci


Evor.

Rekomendowane odpowiedzi

Opublikowano

Koniec ery skryptu php na stronie.

Otwórz char.cpp

Wyszukaj Funkcje:

CHARACTER::WarpEnd()
Zamień:

 

if (!map_allow_find(index))
	{
		// ŔĚ °÷Ŕ¸·Î żöÇÁÇŇ Ľö ľřŔ¸ąÇ·Î żöÇÁÇϱâ Ŕü ÁÂÇĄ·Î µÇµą¸®ŔÚ.
		sys_err("location %d %d not allowed to login this server", m_posWarp.x, m_posWarp.y);
		GetDesc()->SetPhase(PHASE_CLOSE);
		return;

	}

 

Na:

 

if (!map_allow_find(index))
		GoHome();

 

Koniec.

Opublikowano

A czy to dobrze zadziała kiedy nie będę miał mapy tylko w cliencie? Głupie pytanie.

Ogólnie to fajna rzecz.

pre_1405084226__sygnatura_3.png

Opublikowano

Wydaje mi się że wyszukuje index jakiejś działającej mapy i przenosi tam naszą postać :)

 

Jeżeli index mapy na którą się teleportujemy nie znajdzie się na liście wracamy do M1 naszego królestwa.

pre_1405084226__sygnatura_3.png

Opublikowano

@Elorth

Wydaje mi się że wyszukuje index jakiejś działającej mapy i przenosi tam naszą postać  :)

 

Jeżeli index mapy na którą się teleportujemy nie znajdzie się na liście wracamy do M1 naszego królestwa.

A domyślnie jest tak, że jak postać wyląduje na nieistniejącym indexie, wywala Was do logowania i nie możecie na nią już wejść dopóki jej nie przeniesiecie.

Opublikowano

A domyślnie jest tak, że jak postać wyląduje na nieistniejącym indexie, wywala Was do logowania i nie możecie na nią już wejść dopóki jej nie przeniesiecie.

Dobre ;) ps, ja to możliwe że postać może trafić na nie istniejący index ?:D przecież teleportem chyba index się nie zmieni co? 

Opublikowano

@Up game od jakiegoś podkanału channelu może ci się wyłączyć i wtedy index będzie tak jakby nieistniejący.

No to wtedy też lipa, bo jeśli gracz jest na mapie, na którą potrzebna jest przepustka i podkanał od tej mapy padnie.. to gracz traci przepustkę - wrzuci go do M1.

Opublikowano

No to wtedy też lipa, bo jeśli gracz jest na mapie, na którą potrzebna jest przepustka i podkanał od tej mapy padnie.. to gracz traci przepustkę - wrzuci go do M1.

A jak da odbugowanie na stronie to stanie się to samo.  :rolleyes:

 

Opublikowano

A jak da odbugowanie na stronie to stanie się to samo.  :rolleyes:

Wystarczy że w takim przypadku zmieni CH. :rolleyes:

Opublikowano

Wystarczy że w takim przypadku zmieni CH. :rolleyes:

Wystarczy mieć skrypt automatycznie podnoszący game co np. 10 sekund.  :rolleyes:

 

Opublikowano

@Up game od jakiegoś podkanału channelu może ci się wyłączyć i wtedy index będzie tak jakby nieistniejący.

Nie miałem takiego przypadku, ale to chyba przez brak podchannela ;p

A testowałem wiele razy czy postać mi się zbuguje itp.

ps; lepiej walić wszystkie mapy na 1 channelu, czy robić podchannele? Ja nie potrzebuje podchannelów bo mam 28map.

Dz za odp.

Opublikowano

No to wtedy też lipa, bo jeśli gracz jest na mapie, na którą potrzebna jest przepustka i podkanał od tej mapy padnie.. to gracz traci przepustkę - wrzuci go do M1.

 

Przecież na tym etapie idzie dawać jeszcze graczowi item.Coś ala:

	if (!map_allow_find(index))
	{
		// ŔĚ °÷Ŕ¸·Î żöÇÁÇŇ Ľö ľřŔ¸ąÇ·Î żöÇÁÇϱâ Ŕü ÁÂÇĄ·Î µÇµą¸®ŔÚ.
		sys_err("Kordy %d %d są niepoprawne", m_posWarp.x, m_posWarp.y);
		GoHome();
		if (index == 5) // index mapy
		{
			AutoGiveItem(19); //id itemu
		}
	}
Opublikowano

Nie miałem takiego przypadku, ale to chyba przez brak podchannela ;p

A testowałem wiele razy czy postać mi się zbuguje itp.

ps; lepiej walić wszystkie mapy na 1 channelu, czy robić podchannele? Ja nie potrzebuje podchannelów bo mam 28map.

Dz za odp.

Wolę rozłożyć bo jak np dungeon zwariuje (metin jest dziwny) to wywali mi tyko game z dungami, a nie cały serwer.

 

Opublikowano

Wolę rozłożyć bo jak np dungeon zwariuje (metin jest dziwny) to wywali mi tyko game z dungami, a nie cały serwer.

Co doświadczenie to doświadczenie... Dziękuje. 

Opublikowano

Wolę rozłożyć bo jak np dungeon zwariuje (metin jest dziwny) to wywali mi tyko game z dungami, a nie cały serwer.

 

+ 1 A najlepsze jest to, że nic nie ma w syserr.

@topic

Btw. w tej funkcji jest sprawdzenie czy index jest odblokowany, a np jak są kordy 999999999 999999 czy jakieś tam dziwne to do tego jest inna funkcja. Nie będę pisać jaka(mądry se znajdzie), w każdym bądź razie tam się nie da dać itemu. Też najlepiej ją przepisać tak, że w przypadku błędu zmienia kordy na podstawowe na m1, a jak m1 jest padnięte to dopiero wtedy wywala.

Opublikowano

Co doświadczenie to doświadczenie... Dziękuje. 

No i dodatkowo łatwiej jest się połapać w diagnostyce błędów na danej mapie. Osobiście mam podział na dungeony, m1/m2, expowiska, nowe mapy i eventowe.

Opublikowano

No i dodatkowo łatwiej jest się połapać w diagnostyce błędów na danej mapie. Osobiście mam podział na dungeony, m1/m2, expowiska, nowe mapy i eventowe.

Z mapami to raczej większych problemów nie ma, chyba że są to dungeony lub jakieś eventowe jak piszesz z questami etc.

Bo na takiej zwykłej mapie gdzie wszystkie .txt są dobrze dodane raczej błędu nie będzie. No chyba że jakiś spawn moba 0hp lub inna wartość (wojownik bez głowy) też.

No ale tak czy siak gdy się dodaje wszystko od początku to raczej błędu nie powinno być ze zwykłymi mapkami ;P

Opublikowano

Wystarczy mieć skrypt automatycznie podnoszący game co np. 10 sekund. :rolleyes:

Wystarczy odpalać game w demonie :rolleyes:

Co do koordow to nawet jeśli gracz Znajdzie się na złych koordach nie wywali go z gry ;))

Opublikowano

Wystarczy odpalać game w demonie :rolleyes:

Co do koordow to nawet jeśli gracz Znajdzie się na złych koordach nie wywali go z gry ;))

Skrypt zapisze do logu że był problem z game i będę wiedział że muszę przeanalizować błędy.  :rolleyes:

 

Opublikowano

Skrypt zapisze do logu że był problem z game i będę wiedział że muszę przeanalizować błędy.  :rolleyes:

Jak mnie wypier3maja z gry to też będę wiedział, że nadszedł czas na syserr i log  :rolleyes: (ps. demon jest fajny, jak game pada bo lubi hehe metin2)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...