Pagina 1 din 1

[FIX] Skill Izbitura scade HP

Scris: Dum Feb 01, 2026 11:25 am
de ProFight3D
[center]
Imagine
[/center]

*Descriere:
Acesta este un FIX pentru Warrior.

Câteodată, când dai skill „Izbitură” într-un mob, punctele tale de HP vor scădea de asemenea.

Acesta este un bug clasic; multe surse l-au rezolvat deja, dar merită să verifici și tu dacă îl ai!
*Poze / Video:
[FIX] Skill Izbitură scade HP – Mesaj 1 – Imagine 1
*Link download / Code:

[hr]

1) Rezolvare în char.cpp

Ca să rezolvăm acest bug, mergem în char.cpp și căutăm:

Cod: Selectaţi tot

case APPLY_MAX_HP:
Înlocuim cu:

Cod: Selectaţi tot

		case APPLY_MAX_HP:
		case APPLY_MAX_HP_PCT:
			{
				if(GetMaxHP() == 0) break;
				PointChange(aApplyInfo[bApplyType].bPointType, iVal);
			}
			break;

		case APPLY_MAX_SP:
		case APPLY_MAX_SP_PCT:
			{
				if(GetMaxSP() == 0) break;
				PointChange(aApplyInfo[bApplyType].bPointType, iVal);
			}
			break;
[hr]

2) Modificare la POINT_MAX_HP / POINT_MAX_SP

Acum căutăm:

Cod: Selectaţi tot

case POINT_MAX_HP: and case POINT_MAX_SP:  (line3309)
Înlocuim cu:

Cod: Selectaţi tot

		case POINT_MAX_HP:
			{
				SetPoint(type, GetPoint(type) + amount);
				int curMaxHP = GetMaxHP();
				int hp = GetRealPoint(POINT_MAX_HP);
				int add_hp = MIN(3500, hp * GetPoint(POINT_MAX_HP_PCT) / 100);
				add_hp += GetPoint(POINT_MAX_HP);
				add_hp += GetPoint(POINT_PARTY_TANKER_BONUS);
				SetMaxHP(hp + add_hp);
				float fRatio = (float)GetMaxHP() / (float)curMaxHP;
				PointChange(POINT_HP, GetHP() * fRatio - GetHP());
				val = GetMaxHP();
			}
			break;

		case POINT_MAX_SP:
			{
				SetPoint(type, GetPoint(type) + amount);
				int curMaxSP = GetMaxSP();
				int sp = GetRealPoint(POINT_MAX_SP);
				int add_sp = MIN(800, sp * GetPoint(POINT_MAX_SP_PCT) / 100);
				add_sp += GetPoint(POINT_MAX_SP);
				add_sp += GetPoint(POINT_PARTY_SKILL_MASTER_BONUS);
				SetMaxSP(sp + add_sp);
				float fRatio = (float)GetMaxSP() / (float)curMaxSP;
				PointChange(POINT_SP, GetSP() * fRatio - GetSP());
				val = GetMaxSP();
			}
			break;