L2JLisvus

Would you like to react to this message? Create an account in a few clicks or log in to continue.

    High drop rate blocking bug hack

    avatar
    jsmars


    Posts : 2
    Join date : 2020-02-24

    High drop rate blocking bug hack Empty High drop rate blocking bug hack

    Post  jsmars 12th April 2021, 15:45

    For high rate drop rates, there is a bug of sorts that will cause the drop rates to not be quite so accurate when the total drop rate for a category goes above 100%.

    Since you can only get one item from each drop category. In practice this means a lot of recipe drops are blocked by materials or parts.

    Example:
    Item A has 500% chance to drop,
    Item B has 10% to drop.
    After the category formula in reality this means:
    Item A will have a rate of 98.1% (500/510)
    Item B will have a drop rate of 1.9% (10/510).


    One fix for this is to assign all dropdata random categories to avoid the category system, but this results in mobs dropping many different items, (20+ items for low level mobs), which can be very annoying.

    A made a little hack which is a slightly better solution, where you can change the drop categories per category, splitting off these items into separate categories as they have more similar drop rates and won't alter the actual rates so much even if some go over 100%. This does not affect spoil since the category system doesn't seem to be active there anyway.

    • weapons/armor
    • recipes
    • weapon parts
    • armor parts


    To get this on your server you just need to run these SQL queries:
    Code:


    Hope this helps out someone!
    UPDATE droplist d, weapon item SET d.category = d.category + 400 WHERE item.item_id = d.itemId AND d.category >= 0
    UPDATE droplist d, armor item SET d.category = d.category + 400 WHERE item.item_id = d.itemId AND d.category >= 0

    UPDATE droplist d, etcitem item SET d.category = d.category + 100 WHERE item.item_id = d.itemId AND d.category >= 0 AND item.name LIKE "%recipe%"

    UPDATE droplist d, etcitem item SET d.category = d.category + 200 WHERE item.item_id = d.itemId AND d.category >= 0 AND item.name NOT LIKE "%recipe%" AND (item.name LIKE "%shaft%" OR item.name LIKE "%blade%" OR item.name LIKE "%edge%" OR item.name LIKE "%head%")

    UPDATE droplist d, etcitem item SET d.category = d.category + 300 WHERE item.item_id = d.itemId AND d.category >= 0 AND item.name NOT LIKE "%recipe%" AND (item.name LIKE "%material%" OR item.name LIKE "%fabric%" OR item.name LIKE "%pattern%" OR item.name LIKE "%fragment%" OR item.name LIKE "%lining%" OR item.name LIKE "%temper%" OR item.name LIKE "%design%" OR item.name LIKE "%part%" OR item.name LIKE "%texture%")

      Current date/time is 19th May 2024, 13:48