Skocz do zawartości
Opublikowano

Witajcie,

Fix na różnicę pozycji między klientem, a serwerem.

"Najlepsi" programiści chcieli urozmaicić rozgrywkę poprzez dodanie możliwości zwiększenia dystansu między graczem, a bossem podczas używania skilla.

W tym rozszerzeniu został uwzględniony tylko Boss o ID: 2493 - Smok z atlantydy jako "DUŻY BOSS".

W czym właściwie jest problem?

W tym, że binka widzi, że atakujesz Smoka z atlantydy więc dodaje +200 jednostek do odległości miedzy Tobą, a tym smokiem przy użyciu skilla. Czyli po prostu atakujesz z dalszej odległości niż normalnie.

Jednak.. Strona serwerowa nie ma tego zaimplementowanego więc wykrywa to jako nieprawidłowość, bo cel jest zbyt daleko względem ustawienia rangi umiejętności (skill_proto->dwTargetRange)

Wtedy serwer sypnie takim sys_logiem jak:

Mar 6 17:26:56 :: ComputeSkill: Victim too far, skill ID_SKILLA: NAZWA_SKILLA to NAZWA_MOBA (distance 2685 limit LIMIT_SKILLA)

I zablokuje zadania DMG ze skilla w bossa.

Rozwiązanie:

Strona Klientowa:
1. srcBinary/GameLib/ActorInstanceBattle.cpp -> bool IS_HUGE_RACE(unsigned int vnum)-> Tutaj poprzez "case ID_MOBA:" definujemy sobie, przy którym bossie mamy możliwość atakowania z większej odległości za pomocą umiejętności. Aktualnie jest tam dodane tylko ID: 2493 więc przy tym nie trzeba nic robić.

Strona Serwerowa:

1. srcServer/common/service.h -> Dodaj:

🔐 Ukryta Treść 🔐

2. srcServer/game/src/char_skill.cpp -> Znajdź:

🔐 Ukryta Treść 🔐

3. Podmień na:

🔐 Ukryta Treść 🔐

4. Opcjonalnie!!! Z punktu nr3 zamiast:

🔐 Ukryta Treść 🔐

Możesz użyć:

🔐 Ukryta Treść 🔐

Wtedy automatycznie będzie rozpoznawać BOSS'a lub "KING'a".

Pozdrawiam :)

Featured Replies

Brak postów do wyświetlenia.

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...