Sziasztok, az érdekelne, hogy hol találom a vezetéshez a bónuszok értéket, skill_proto, vagy forrás, mivel nem tudom miért, de nem adják meg a normális bónuszokat. Pl:Nekem most a 1650 tp helyet 50 tp-t ad csak, hasonl a helyzet a többinél.
Forrásban kell h megadja, de adj még pár információt. Hanyas szinteken próbáltad ki a skillt és milyen karin?
Van valami "PARTY FIX" kint valamelyik fórumon, ami lényegében egy ComputePoints(ha jól emlékszem!) vagy mi a tököm, ha azt berakod ez lesz az eredménye, ami neked.
Azt hiszem ez az: https://forum.turkmmo.com/konu/3419127-metin2-party-bug-fix-hp-bugu-cozumu/
Összes szinten ugyan azt adja és összes karakteren fabtam11.
Chookez ránézek.
party.cpp (Alap, én még nem szerkesztettem benne.)
void CParty::ComputeRolePoint(LPCHARACTER ch, BYTE bRole, bool bAdd)
{
if (!bAdd)
{
ch->PointChange(POINT_PARTY_ATTACKER_BONUS, -ch->GetPoint(POINT_PARTY_ATTACKER_BONUS));
ch->PointChange(POINT_PARTY_TANKER_BONUS, -ch->GetPoint(POINT_PARTY_TANKER_BONUS));
ch->PointChange(POINT_PARTY_BUFFER_BONUS, -ch->GetPoint(POINT_PARTY_BUFFER_BONUS));
ch->PointChange(POINT_PARTY_SKILL_MASTER_BONUS, -ch->GetPoint(POINT_PARTY_SKILL_MASTER_BONUS));
ch->PointChange(POINT_PARTY_DEFENDER_BONUS, -ch->GetPoint(POINT_PARTY_DEFENDER_BONUS));
ch->PointChange(POINT_PARTY_HASTE_BONUS, -ch->GetPoint(POINT_PARTY_HASTE_BONUS));
ch->ComputeBattlePoints();
return;
}
//SKILL_POWER_BY_LEVEL
float k = (float) ch->GetSkillPowerByLevel( MIN(SKILL_MAX_LEVEL, m_iLeadership ) )/ 100.0f;
//float k = (float) aiSkillPowerByLevel[MIN(SKILL_MAX_LEVEL, m_iLeadership)] / 100.0f;
//
//sys_log(0,"ComputeRolePoint %fi %d, %d ", k, SKILL_MAX_LEVEL, m_iLeadership );
//END_SKILL_POWER_BY_LEVEL
switch (bRole)
{
case PARTY_ROLE_ATTACKER:
{
//int iBonus = (int) (10 + 90 * k);
int iBonus = (int) (10 + 60 * k);
if (ch->GetPoint(POINT_PARTY_ATTACKER_BONUS) != iBonus)
{
ch->PointChange(POINT_PARTY_ATTACKER_BONUS, iBonus - ch->GetPoint(POINT_PARTY_ATTACKER_BONUS));
ch->ComputePoints();
}
}
break;
case PARTY_ROLE_TANKER:
{
int iBonus = (int) (50 + 1450 * k);
if (ch->GetPoint(POINT_PARTY_TANKER_BONUS) != iBonus)
{
ch->PointChange(POINT_PARTY_TANKER_BONUS, iBonus - ch->GetPoint(POINT_PARTY_TANKER_BONUS));
ch->ComputePoints();
}
}
break;
case PARTY_ROLE_BUFFER:
{
int iBonus = (int) (5 + 45 * k);
if (ch->GetPoint(POINT_PARTY_BUFFER_BONUS) != iBonus)
{
ch->PointChange(POINT_PARTY_BUFFER_BONUS, iBonus - ch->GetPoint(POINT_PARTY_BUFFER_BONUS));
}
}
break;
case PARTY_ROLE_SKILL_MASTER:
{
int iBonus = (int) (25 + 600 * k);
if (ch->GetPoint(POINT_PARTY_SKILL_MASTER_BONUS) != iBonus)
{
ch->PointChange(POINT_PARTY_SKILL_MASTER_BONUS, iBonus - ch->GetPoint(POINT_PARTY_SKILL_MASTER_BONUS));
ch->ComputePoints();
}
}
break;
case PARTY_ROLE_HASTE:
{
int iBonus = (int) (1+5*k);
if (ch->GetPoint(POINT_PARTY_HASTE_BONUS) != iBonus)
{
ch->PointChange(POINT_PARTY_HASTE_BONUS, iBonus - ch->GetPoint(POINT_PARTY_HASTE_BONUS));
ch->ComputePoints();
}
}
break;
case PARTY_ROLE_DEFENDER:
{
int iBonus = (int) (5+30*k);
if (ch->GetPoint(POINT_PARTY_DEFENDER_BONUS) != iBonus)
{
ch->PointChange(POINT_PARTY_DEFENDER_BONUS, iBonus - ch->GetPoint(POINT_PARTY_DEFENDER_BONUS));
ch->ComputePoints();
}
}
break;
}
}
Üzenet összefésülés: 2019-07-14, 18:23:25
Útközben megoldottam a problémát, a témát zárom.