Skocz do zawartości

premiumcase, problem

Od ostatniej odpowiedzi w tym temacie minęło 755 dni. Pamiętaj, że odkopywanie takich tematów jest niewskazane, chyba że chcesz wnieść coś nowego do dyskusji.

Polecane posty

czesc, jak to mozna jakos lepiej zrobic? bo mam jakos chujowo, chce po prostu aby ZAWSZE byla na cos szansa.

        double chance;
        List<ItemStack> is;

        for (Drop drop : DropsManager.drops) {
            chance = RandomUtil.getRandDouble(0.1, 100.0);
            if (chance == drop.getChance()) {
                is = drop.getItems();
                for (ItemStack dropItem : is)
                    e.getBlock().getWorld().dropItem(e.getBlock().getLocation(), dropItem);
                for (String msg : drop.getMessage()) 
                    plugin.getServer().broadcastMessage(msg);
            	}
        

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Pani Kasia

najlepiej użyj weighted random, każdemu dropowi przypisujesz wagę, możesz jako int lub double, nie ma znaczenia, np:

Diamond: 3.14
Stone: 45.0
Iron: 7.5

Tym większa liczba tym większa szansa na danym przedmiot, i wtedy takie wagi sumujesz: 55.64
I losujesz liczbę między <0, 55.64) - (czyli większe lub równe zero ale mniejsze od 55.64)

 

Wtedy iterujesz po wszystkich itemach i odejmujesz ich wagi od wylosowanej liczby az wyjdzie mniej niż 0
 

        for (Choice c : choices))
        {
            i -= c.getWeight();
            if (i < 0)
            {
                return c;
            }
        }

gdzie i to nasza wylosowana liczba


1438614356923701010629.png

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Od ostatniej odpowiedzi w tym temacie minęło 755 dni. Pamiętaj, że odkopywanie takich tematów jest niewskazane, chyba że chcesz wnieść coś nowego do dyskusji.

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.


×
Okienko zamknie się za 5 sekund...