Jump to content

Recommended Posts

Hi guys,

i got following Problem. All stones drop only stoned +4 and this to 100% from stone.. i cant understand this...

constants.cpp :

 

const SStoneDropInfo aStoneDrop[STONE_INFO_MAX_NUM] =
{
    //  mob        pct    {+0    +1    +2    +3    +4}
    {8005,    60,    {0,    0,    0,    9,    1}    },
    {8006,    60,    {0,    0,    0,    11,    1}    },
    {8007,    60,    {0,    0,    0,    13,    2}    },
    {8008,    60,    {0,    0,    0,    15,    2}    },
    {8009,    60,    {0,    0,    0,    17,    2}    },
    {8010,    60,    {0,    0,    0,    20,    2}    },
    {8011,    60,    {0,    0,    0,    22,    3}    },
    {8012,    60,    {0,    0,    0,    24,    3}    },
    {8013,    60,    {0,    0,    0,    29,    3}    },
    {8014,    60,    {0,    0,    0,    30,    3}    },
};[php]
Link to comment
Share on other sites

  • Replies 3
  • Created
  • Last Reply

Top Posters In This Topic

Check here:

 

char.cpp

Spoiler

        28012, // Lican Stone
        28030,
        28031,
        28032,
        28033,
        28034,
        28035,
        28036,
        28037,
        28038,
        28039,
        28040,
        28041,
        28042,
        28043,
        28044, // Lican Stone
        28045, // Lican Stone

 

Best Regards.

 

Link to comment
Share on other sites

Here is the Funktion..

Im not good with c++ but for me it look at right.. Please check it maybe:

 

void CHARACTER::DetermineDropMetinStone()
{
    const int METIN_STONE_NUM = 14;
    static DWORD c_adwMetin[METIN_STONE_NUM] =
    {
        28030,
        28031,
        28032,
        28033,
        28034,
        28035,
        28036,
        28037,
        28038,
        28039,
        28040,
        28041,
        28042,
        28043,
    };
    DWORD stone_num = GetRaceNum();
    int idx = std::lower_bound(aStoneDrop, aStoneDrop+STONE_INFO_MAX_NUM, stone_num) - aStoneDrop;
    if (idx >= STONE_INFO_MAX_NUM || aStoneDrop[idx].dwMobVnum != stone_num)
    {
        m_dwDropMetinStone = 0;
    }
    else
    {
        const SStoneDropInfo & info = aStoneDrop[idx];
        m_bDropMetinStonePct = info.iDropPct;
        {
            m_dwDropMetinStone = c_adwMetin[number(0, METIN_STONE_NUM - 1)];
            int iGradePct = number(1, 100);
            for (int iStoneLevel = 0; iStoneLevel < STONE_LEVEL_MAX_NUM; iStoneLevel ++)
            {
                int iLevelGradePortion = info.iLevelPct[iStoneLevel];
                if (iGradePct <= iLevelGradePortion)
                {
                    break;
                }
                else
                {
                    iGradePct -= iLevelGradePortion;
                    m_dwDropMetinStone += 100; // µ¹ +a -> +(a+1)ÀÌ µÉ¶§¸¶´Ù 100¾¿ Áõ°¡
                }
            }
        }
    }
}[PHP]

 

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.