Su richiesta di @Hik pubblico questa fix per il party_kill.
Recatevi sul file /game/src/questmanager.cpp e cercate questa stringa:
Modifica l'intero void con questo codice:
Spero che questa fix vi sia stata utile,
Cordiali Saluti.
- Qual'è il problema? Il leader del gruppo , utilizzando la funzione party_kill (es. -> 101.party_kill) riceve una doppia ricompensa degli item.
Recatevi sul file /game/src/questmanager.cpp e cercate questa stringa:
C++:
void CQuestManager::Kill(unsigned int pc, unsigned int npc)
C++:
void CQuestManager::Kill(unsigned int pc, unsigned int npc)
{
PC * pPC;
sys_log(0, "CQuestManager::Kill QUEST_KILL_EVENT (pc=%d, npc=%d)", pc, npc);
if ((pPC = GetPC(pc)))
{
if (!CheckQuestLoaded(pPC))
return;
if (npc >= MAIN_RACE_MAX_NUM)
m_mapNPC[npc].OnKill(*pPC);
m_mapNPC[QUEST_NO_NPC].OnKill(*pPC);
LPCHARACTER ch = GetCurrentCharacterPtr();
LPPARTY pParty = ch->GetParty();
LPCHARACTER leader = pParty ? pParty->GetLeaderCharacter() : ch;
if (leader)
{
m_pCurrentPartyMember = ch;
if (npc >= MAIN_RACE_MAX_NUM)
m_mapNPC[npc].OnPartyKill(*GetPC(leader->GetPlayerID()));
m_mapNPC[QUEST_NO_NPC].OnPartyKill(*GetPC(leader->GetPlayerID()));
pPC = GetPC(pc);
}
}
else
sys_err("QUEST: no such pc id : %d", pc);
}
Spero che questa fix vi sia stata utile,
Cordiali Saluti.