Sunucu ve istemci arasında yanlış iletişim gibi görünüyor.
int stamina;
BYTE skill_group;
#ifdef ENABLE_NEW_RANKING
ULL kesilenMetin;
ULL kesilenBoss;
ULL acilanSandik;
ULL metinHasar;
ULL patronHasar;
#endif
} CHARACTER_POINT;
public:
int GetDsLoadTime() const { return m_iDsLoadTime; }
void SetDsLoadTime() { m_iDsLoadTime = thecore_pulse(); }
int GetEquipLoadTime() const { return m_iEquipLoadTime; }
void SetEquipLoadTime() { m_iEquipLoadTime = thecore_pulse(); }
#endif // ENABLE_TIME_CONTROL
#ifdef ENABLE_NEW_RANKING
public:
ULL GetKesilenMetin() const { return m_points.kesilenMetin; }
void SetKesilenMetin(const ULL vnum) { m_points.kesilenMetin = vnum; }
ULL GetKesilenBoss() const { return m_points.kesilenBoss; }
void SetKesilenBoss(const ULL vnum) { m_points.kesilenBoss = vnum; }
ULL GetAcilanSandik() const { return m_points.acilanSandik; }
void SetAcilanSandik(const ULL vnum) { m_points.acilanSandik = vnum; }
int GetRankGiftTime() const { return m_iRankGiftTime; }
void SetRankGiftTime(const int value) { m_iRankGiftTime = value; }
ULL GetmetinHasar() const { return m_points.metinHasar; }
void SetmetinHasar(const ULL vnum) { m_points.metinHasar = vnum; }
ULL GetpatronHasar() const { return m_points.patronHasar; }
void SetpatronHasar(const ULL vnum) { m_points.patronHasar = vnum; }
private:
int m_iRankGiftTime;
#endif
};
ESex GET_SEX(LPCHARACTER ch);
tab.sRandomHP = m_points.iRandomHP;
tab.sRandomSP = m_points.iRandomSP;
#ifdef ENABLE_KILL_STATISTICS
tab.iJinnoKills = GetJinnoKills();
tab.iShinsooKills = GetShinsooKills();
tab.iChunjoKills = GetChunjoKills();
tab.iTotalKills = GetTotalKills();
tab.iTotalDeaths = GetTotalDeaths();
tab.iDuelsWon = GetDuelsWon();
tab.iDuelsLost = GetDuelsLost();
tab.iBossesKills = GetBossesKills();
tab.iStonesKills = GetStonesKills();
tab.iMobsKills = GetMobsKills();
tab.top_damage = GetTopDamage();
#endif
#ifdef ENABLE_NEW_RANKING
tab.kesilenMetin = GetKesilenMetin();
tab.kesilenBoss = GetKesilenBoss();
tab.acilanSandik = GetAcilanSandik();
tab.metinHasar = GetmetinHasar();
tab.patronHasar = GetpatronHasar();
#endif
for (int i = 0; i < QUICKSLOT_MAX_NUM; ++i)
tab.quickslot[i] = m_quickslot[i];
if (pkKiller && pkKiller->IsPC())
{
if (pkKiller->m_pkChrTarget == this)
pkKiller->SetTarget(NULL);
if (!IsPC() && pkKiller->GetDungeon())
pkKiller->GetDungeon()->IncKillCount(pkKiller, this);
isAgreedPVP = CPVPManager::instance().Dead(this, pkKiller->GetPlayerID());
isDuel = CArenaManager::instance().OnDead(pkKiller, this);
if (IsPC())
{
CGuild* g1 = GetGuild();
CGuild* g2 = pkKiller->GetGuild();
if (g1 && g2)
if (g1->UnderWar(g2->GetID()))
isUnderGuildWar = true;
pkKiller->SetQuestNPCID(GetVID());
quest::CQuestManager::instance().Kill(pkKiller->GetPlayerID(), quest::QUEST_NO_NPC);
CGuildManager::instance().Kill(pkKiller, this);
}
#ifdef ENABLE_NEW_RANKING
# ifdef BOSS_ARENA
if (GetMobRank() >= MOB_RANK_BOSS && IsMonster() && pkKiller && pkKiller->IsPC())
{
if (!pkKiller->GetBossArenaTest()) //Karakter test boss modunda degilse
pkKiller->SetKesilenBoss(pkKiller->GetKesilenBoss() + 1); //Kesilen boss sayisini globalde arttir.
}
# else
if (GetMobRank() >= MOB_RANK_BOSS && pkKiller && pkKiller->IsPC())
pkKiller->SetKesilenBoss(pkKiller->GetKesilenBoss() + 1);
# endif
if (IsStone())
pkKiller->SetKesilenMetin(pkKiller->GetKesilenMetin() + 1);
#endif
}
#ifdef ENABLE_QUEST_DIE_EVENT
if (IsPC())
{
if (pkKiller)
SetQuestNPCID(pkKiller->GetVID());
// quest::CQuestManager::instance().Die(GetPlayerID(), quest::QUEST_NO_NPC);
quest::CQuestManager::instance().Die(GetPlayerID(), (pkKiller) ? pkKiller->GetRaceNum() : quest::QUEST_NO_NPC);
}
#endif
char.h:int stamina; BYTE skill_group; #ifdef ENABLE_NEW_RANKING ULL kesilenMetin; ULL kesilenBoss; ULL acilanSandik; ULL metinHasar; ULL patronHasar; #endif } CHARACTER_POINT; public: int GetDsLoadTime() const { return m_iDsLoadTime; } void SetDsLoadTime() { m_iDsLoadTime = thecore_pulse(); } int GetEquipLoadTime() const { return m_iEquipLoadTime; } void SetEquipLoadTime() { m_iEquipLoadTime = thecore_pulse(); } #endif // ENABLE_TIME_CONTROL #ifdef ENABLE_NEW_RANKING public: ULL GetKesilenMetin() const { return m_points.kesilenMetin; } void SetKesilenMetin(const ULL vnum) { m_points.kesilenMetin = vnum; } ULL GetKesilenBoss() const { return m_points.kesilenBoss; } void SetKesilenBoss(const ULL vnum) { m_points.kesilenBoss = vnum; } ULL GetAcilanSandik() const { return m_points.acilanSandik; } void SetAcilanSandik(const ULL vnum) { m_points.acilanSandik = vnum; } int GetRankGiftTime() const { return m_iRankGiftTime; } void SetRankGiftTime(const int value) { m_iRankGiftTime = value; } ULL GetmetinHasar() const { return m_points.metinHasar; } void SetmetinHasar(const ULL vnum) { m_points.metinHasar = vnum; } ULL GetpatronHasar() const { return m_points.patronHasar; } void SetpatronHasar(const ULL vnum) { m_points.patronHasar = vnum; } private: int m_iRankGiftTime; #endif }; ESex GET_SEX(LPCHARACTER ch);
char.cpp:tab.sRandomHP = m_points.iRandomHP; tab.sRandomSP = m_points.iRandomSP; #ifdef ENABLE_KILL_STATISTICS tab.iJinnoKills = GetJinnoKills(); tab.iShinsooKills = GetShinsooKills(); tab.iChunjoKills = GetChunjoKills(); tab.iTotalKills = GetTotalKills(); tab.iTotalDeaths = GetTotalDeaths(); tab.iDuelsWon = GetDuelsWon(); tab.iDuelsLost = GetDuelsLost(); tab.iBossesKills = GetBossesKills(); tab.iStonesKills = GetStonesKills(); tab.iMobsKills = GetMobsKills(); tab.top_damage = GetTopDamage(); #endif #ifdef ENABLE_NEW_RANKING tab.kesilenMetin = GetKesilenMetin(); tab.kesilenBoss = GetKesilenBoss(); tab.acilanSandik = GetAcilanSandik(); tab.metinHasar = GetmetinHasar(); tab.patronHasar = GetpatronHasar(); #endif for (int i = 0; i < QUICKSLOT_MAX_NUM; ++i) tab.quickslot[i] = m_quickslot[i]; SetRace(t->job); SetLevel(t->level); SetExp(t->exp); SetGold(t->gold); #ifdef ENABLE_NEW_RANKING SetKesilenMetin(t->kesilenMetin); SetKesilenBoss(t->kesilenBoss); SetAcilanSandik(t->acilanSandik); SetmetinHasar(t->metinHasar); SetpatronHasar(t->patronHasar); #endif SetMapIndex(t->lMapIndex); SetXYZ(t->x, t->y, t->z); ComputePoints(); SetHP(t->hp); SetSP(t->sp); SetStamina(t->stamina);
[/CODE]
charbattle.cpp:if (pkKiller && pkKiller->IsPC()) { if (pkKiller->m_pkChrTarget == this) pkKiller->SetTarget(NULL); if (!IsPC() && pkKiller->GetDungeon()) pkKiller->GetDungeon()->IncKillCount(pkKiller, this); isAgreedPVP = CPVPManager::instance().Dead(this, pkKiller->GetPlayerID()); isDuel = CArenaManager::instance().OnDead(pkKiller, this); if (IsPC()) { CGuild* g1 = GetGuild(); CGuild* g2 = pkKiller->GetGuild(); if (g1 && g2) if (g1->UnderWar(g2->GetID())) isUnderGuildWar = true; pkKiller->SetQuestNPCID(GetVID()); quest::CQuestManager::instance().Kill(pkKiller->GetPlayerID(), quest::QUEST_NO_NPC); CGuildManager::instance().Kill(pkKiller, this); } #ifdef ENABLE_NEW_RANKING # ifdef BOSS_ARENA if (GetMobRank() >= MOB_RANK_BOSS && IsMonster() && pkKiller && pkKiller->IsPC()) { if (!pkKiller->GetBossArenaTest()) //Karakter test boss modunda degilse pkKiller->SetKesilenBoss(pkKiller->GetKesilenBoss() + 1); //Kesilen boss sayisini globalde arttir. } # else if (GetMobRank() >= MOB_RANK_BOSS && pkKiller && pkKiller->IsPC()) pkKiller->SetKesilenBoss(pkKiller->GetKesilenBoss() + 1); # endif if (IsStone()) pkKiller->SetKesilenMetin(pkKiller->GetKesilenMetin() + 1); #endif } #ifdef ENABLE_QUEST_DIE_EVENT if (IsPC()) { if (pkKiller) SetQuestNPCID(pkKiller->GetVID()); // quest::CQuestManager::instance().Die(GetPlayerID(), quest::QUEST_NO_NPC); quest::CQuestManager::instance().Die(GetPlayerID(), (pkKiller) ? pkKiller->GetRaceNum() : quest::QUEST_NO_NPC); } #endif