Jump to content
  • 0

[Drop System] Item Selection


Question

Posted

Hello, guys.

It might be a stupid question but I didn't find antyhing useful in the web. I have one unclear point about l2 drop system.
As I undestand there are categories. Each category has chance to be selected randomly. And each category has one or more items within. But only one item could drop from the category. And that's what confuses me. For example, category has 4 items: item1 with 5% chance, item2 with 10% chance, item 3 with 25% chance and item4, item5 both with 30%.
And the random number is 15. Which item should be selected and how??? For me it looks logically if every item with chance > random chance should be selected but as I unsdenstood correcly this is not the case: only one item from category goes to the ground. But what kind of calculations can handle that? :poker face: 

 

4 answers to this question

Recommended Posts

  • 0
Posted (edited)

Content within group is 100% and chance is cumulative.

 

double totalChance = 0;

final double random = (Rnd.nextDouble() * 100);

for (Item item : getItemOfGroup())

{

totalChance += item.getChance();

if (totalChance > random)

{

drop(item);

break;

}

}

Edited by Sdw
  • 0
Posted

Content within group is 100% and chance is cumulative.

 

double totalChance = 0;

final double random = (Rnd.nextDouble() * 100);

for (Item item : getItemOfGroup())

{

totalChance += item.getChance();

if (totalChance > random)

{

drop(item);

}

}

Oh I see. At the first glance it looked weird for me but now I see how the items with the same chance could be dropped  ^-^ 

Thank you)

  • 0
Posted (edited)

Forgot to break the loop !

Yes, I noticed it but it's still clear how to selecte the item (even if in the code above it'll drop multiple of them) ).

Edited by newrostman
Guest
This topic is now closed to further replies.


  • Posts

    • L2Elixir – Patch 4 Is Live!   We’re working non-stop, day and night, to deliver the best possible quality and bring back what made L2Elixir special. This project is built with passion, not shortcuts — for the old-school players who remember, and the new ones who want to experience it properly. Thank you for being part of the journey. Together, we’re making L2Elixir great again ❤️ The legends never fade.    ⚙️ General Enabled Class Change service (same class type only) ALT + B → Services → Character Development Enabled Shift + Click on Treasure Chests Players can now identify real chests (Adena, scroll drops) and use Key / Unlock Event deaths now cancel only debuffs, All self buffs are preserved, fixes issues with Root and similar effects Bladedancer class can now log in even when Max Clients (2) is reached. Since an active Bladedancer is not available for every damage dealer and some players tried to abuse this via VPN or a second PC, this feature was added to keep things fair. protections applies, requires testing!    🎒 Items Crystallizing enchanted items now gives the correct increased crystal amount (retail-like behavior) Removed Agathion Seal Bracelet: Rudolph from Santa rewards (Gracia Final item) Added Dualsword Craft Stamp into Milestone Exchange list    🧙 Skills Fixed Banish Undead lethal chance Hot Springs Malaria and similar effects now level up faster while being attacked
    • thats new SEO level tricks you know nothing of noob - bottom line: exposed.
    • Warning: This guy is a big scammer, trying to sell everything, advertising for servers etc. That's his mail address evgesha.nrnr@gmail.com , stay away!   @Atom @Celestine
    • Warning: This guy is a big scammer, trying to sell everything, advertising for servers etc. That's his mail address evgesha.nrnr@gmail.com , stay away! @Celestine @Atom
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock