Yardım Ranking Sistem

  • Konuyu açan Konuyu açan MCB
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 6
  • Gösterim Gösterim 427
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

MCB

CGames
Yardımsever Üye
Usta Üye
Mesaj
606
Çözümler
37
Beğeni
543
Puan
930
Ticaret Puanı
1
1712687431572.webp


1712687450317.webp


Sistemde Sql tarafı kaydediyor fakat Oyunda güncellenmiyor Sebebi ne olabilir ?
 
game srcden kill fonksiyonları girmişsindir kesilen_metin ve kesilen_patron sütunlarının game src tarafını atar mısın
 
char.h:
Genişlet Daralt Kopyala
    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:
Genişlet Daralt Kopyala
    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);

charbattle.cpp:
Genişlet Daralt Kopyala
    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
 

Dosya Eklentileri

  • 1712769132842.webp
    1712769132842.webp
    10,7 KB · Gösterim: 62
  • 1712769175135.webp
    1712769175135.webp
    6,8 KB · Gösterim: 63
char.h:
Genişlet Daralt Kopyala
    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:
Genişlet Daralt Kopyala
    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:
Genişlet Daralt Kopyala
    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
 
Kill İstatistikten kontrol ettimde Patron kısmını Canavardan çekiyor. yani Metin keserken Canavar işlevli slotlar Patron olarak işliyor.
 
Geri
Üst