[FORRÁS] HP/MP bugfix

Indította Eraman, 2016-01-18, 13:43:39

2016-01-18, 13:43:39 Utolsó szerkesztés: 2016-01-19, 16:48:59 Szerző: Eraman
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.