Sziasztok!
Itt vannak azok a fixek amik HP/MP bugra elég fontosak lehetnek:
1. Először a 30k feletti HP bug amikor teleportál/bejelentkezésnél leugrik a HP-d
game/src/char.cpp:
Keress rá erre:
SetHP(t->hp);
Módositsd igy:
SetHP(GetMaxHP());
Keress rá erre:
SetSP(t->sp)
Módositsd igy:
SetSP(GetMaxSP());
menj vissza common/tables.h:
Keress rá ezekre:
short hp;
short sp;
short sRandomHP;
short sRandomSP;
Módositsd őket igy:
int hp;
int sp;
int sRandomHP;
int sRandomSP;
Ezek után buildeld le a game-t és (FONTOS!!!) a db-t is!!!!
2. Most jöjjön az a HP/MP bugfix amikor a skillek/képességek fejlesztéskor/státusz növeléskor/hátas-pet használatakor elveszik az a mennyiségű HP/MP amennyit egy esetleges tárgy vagy bármi ad
game/src/char.cpp:
void CHARACTER::ComputePoints()
funkción belül keress ezekre a blokkokra külön-külön:
if (iMaxHP != GetMaxHP())
{
SetRealPoint(POINT_MAX_HP, iMaxHP); // ±âş»HP¸¦ RealPointżˇ ŔúŔĺÇŘ łő´Â´Ů.
}
PointChange(POINT_MAX_HP, 0);
if (iMaxSP != GetMaxSP())
{
SetRealPoint(POINT_MAX_SP, iMaxSP); // ±âş»SP¸¦ RealPointżˇ ŔúŔĺÇŘ łő´Â´Ů.
}
PointChange(POINT_MAX_SP, 0);
if (GetHP() > GetMaxHP())
PointChange(POINT_HP, GetMaxHP() - GetHP());
if (GetSP() > GetMaxSP())
PointChange(POINT_SP, GetMaxSP() - GetSP());
Ezután ezeket a blokkokat külön külön jelöld ki majd ctrl+x (kivágás) és keress rá erre ugyanazon a funkción belül:
UpdatePacket();
Majd pakolj minden blokkot fölé.
Igy nézzen ki:
if (iMaxHP != GetMaxHP())
{
SetRealPoint(POINT_MAX_HP, iMaxHP); // ±âş»HP¸¦ RealPointżˇ ŔúŔĺÇŘ łő´Â´Ů.
}
PointChange(POINT_MAX_HP, 0);
if (iMaxSP != GetMaxSP())
{
SetRealPoint(POINT_MAX_SP, iMaxSP); // ±âş»SP¸¦ RealPointżˇ ŔúŔĺÇŘ łő´Â´Ů.
}
PointChange(POINT_MAX_SP, 0);
if (GetHP() > GetMaxHP())
PointChange(POINT_HP, GetMaxHP() - GetHP());
if (GetSP() > GetMaxSP())
PointChange(POINT_SP, GetMaxSP() - GetSP());
UpdatePacket();
Ha kérdésed van jelezd PÜ-ben.