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

C++ /weak (core crash) FIX


Boxxy

Rekomendowane odpowiedzi

Opublikowano

Witam,

ostatnio zaobserwowałem możliwość wywalenia kanału gry poprzez wpisanie komendy /weak mając zaznaczonego NPC.

Oczywiście dostęp do komendy /weak zazwyczaj jest ograniczony dla GM'ów, nie mniej jednak i oni mogą wpaść na taki pomysł,

a później trzeba dociekać czemu serwer się wykrzaczył, jak to mówią, lepiej zapobiegać niż leczyć  :yay:

 

PS. zwróćcie uwagę na TABY opierając się o screen na końcu, bo tutaj się posypały.

PS2. bug zapewne występuje tylko gdy nie mamy ustawionej wartości max_hp w mob_proto

 

Otwieramy po stronie serwera - game/cmd_gm.cpp

 

Szukamy: struct FuncWeaken

 

Podmieniamy:

if (pkChr->IsNPC())
pkChr->PointChange(POINT_HP, (10 - pkChr->GetHP()));

na


if (pkChr->IsMonster() == false && pkChr->IsStone() == false)
return;

 
pkChr->PointChange(POINT_HP, (10 - pkChr->GetHP()));

Efekt końcowy:

podglad.png

Opublikowano

Nie żeby coś, ale jakoś zaznaczam npc wpisuje /weak i nie wywala kanału.


Omnes puerum deriserunt.

Opublikowano
 

A czemu mamy zwrócić uwagę na Taby kocie?  ;)

 

Bo tak jest ładnie, myszko.  :lenny:

Trzeba propagować dobre nawyki, raz słyszałem o takim co nie zwracał uwagi na taby...

 

 

Nie żeby coś, ale jakoś zaznaczam npc wpisuje /weak i nie wywala kanału.

 

A no, bo w sumie to jak nie masz ustawionego HP w mob_proto  :v

Opublikowano

Weak nie działa na zaznaczone moby tylko na odległość mobów od naszego pc.

Ale jak go zaznaczysz to masz ustawiony LPCHARACTER w m_pkChrTarget i dlatego czasem moze mu crashowac game do tej funkcji wystarczylo dopisac ch->ClearTarget() 

ban.gif

 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...