What's new

New messages New topics Systems Serverfiles 3D Models Web Scripting

Auto Yang Pickup (No Third Hand Required)

RESOURCES HUB

Premium
📅 Joined Jul 22, 2025
💬 Messages 208
👍 Thanks 1,441
🏆 Points 425
📍 Location London
🌐 Website metin2global.to
Search in char_battle.cpp:

Code:
void CHARACTER::RewardGold(LPCHARACTER pkAttacker)
{

Below you will find this part of the code

Code:
    if (GetMobRank() >= MOB_RANK_BOSS && !IsStone() && GetMobTable().dwGoldMax != 0)
    {
        if (1 == number(1, iGold10DropPct))
            iGoldMultipler *= 10;

        int iSplitCount = number(25, 35);

        for (int i = 0; i < iSplitCount; ++i)
        {
            int iGold = number(GetMobTable().dwGoldMin, GetMobTable().dwGoldMax) / iSplitCount;
            if (test_server)
                sys_log(0, "iGold %d", iGold);
            iGold = iGold * CHARACTER_MANAGER::instance().GetMobGoldAmountRate(pkAttacker) / 100;
            iGold *= iGoldMultipler;

            if (iGold == 0)
                continue;


{...}{...}{...}
{...}{...}{...}
{...}{...}{...}
{...}{...}{...}

    DBManager::instance().SendMoneyLog(MONEY_LOG_MONSTER, GetRaceNum(), iTotalGold);
}

Replace with:

Code:
    if (GetMobRank() >= MOB_RANK_BOSS && !IsStone() && GetMobTable().dwGoldMax != 0)
    {
        if (1 == number(1, iGold10DropPct))
            iGoldMultipler *= 10;

        int iSplitCount = number(25, 35);
        int iTotalGoldAmount = 0;

        for (int i = 1; i <= iSplitCount; ++i)
        {
            int iGold = number(GetMobTable().dwGoldMin, GetMobTable().dwGoldMax) / iSplitCount;
            iGold = iGold * CHARACTER_MANAGER::instance().GetMobGoldAmountRate(pkAttacker) / 100;
            iGold *= iGoldMultipler;

            if (iGold == 0)
                continue;

            iTotalGoldAmount += iGold;
        }

        if (iTotalGoldAmount > 0)
        {
            pkAttacker->GiveGold(iTotalGoldAmount);
            iTotalGold += iTotalGoldAmount;
        }
    }
    else if (1 == number(1, iGold10DropPct))
    {
        int iTotalGoldAmount = 0;

        for (int i = 0; i < 10; ++i)
        {
            int iGold = number(GetMobTable().dwGoldMin, GetMobTable().dwGoldMax);
            iGold = iGold * CHARACTER_MANAGER::instance().GetMobGoldAmountRate(pkAttacker) / 100;
            iGold *= iGoldMultipler;

            if (iGold == 0)
                continue;

            iTotalGoldAmount += iGold;
        }

        if (iTotalGoldAmount > 0)
        {
            pkAttacker->GiveGold(iTotalGoldAmount);
            iTotalGold += iTotalGoldAmount;
        }
    }
    else
    {
        int iGold = number(GetMobTable().dwGoldMin, GetMobTable().dwGoldMax);
        iGold = iGold * CHARACTER_MANAGER::instance().GetMobGoldAmountRate(pkAttacker) / 100;
        iGold *= iGoldMultipler;

        int iSplitCount;

        if (iGold >= 3)
            iSplitCount = number(1, 3);
        else if (GetMobRank() >= MOB_RANK_BOSS)
        {
            iSplitCount = number(3, 10);

            if ((iGold / iSplitCount) == 0)
                iSplitCount = 1;
        }
        else
            iSplitCount = 1;

        if (iGold != 0)
        {
            pkAttacker->GiveGold(iGold);
            iTotalGold += iGold;
        }
    }

    DBManager::instance().SendMoneyLog(MONEY_LOG_MONSTER, GetRaceNum(), iTotalGold);
}
 

Latest posts

shape1
shape2
shape3
shape4
shape5
shape6
Top