Losowość

Z wiki.skript.pl
Przejdź do nawigacji Przejdź do wyszukiwania

Skript posiada kilka funkcji / wyrażeń do losowania wartości / pseudo losowych liczb.

Sposoby

  1. chance of X%:
  2. random number between X and Z
  3. random integer between X and Z
  4. random element of X-list
  5. X or Z or Y...

Chance of X%:

Jest to metoda losowania w skripcie. Działa na zasadzie warunku więc możemy pod nią wstawić else.

Przykład użycia:

command /los [<text>]:
    trigger:
        chance of 25%:
            send "&7Trafione!"
        else:
            send "&7Niestety nie trafiłeś"

Random number between X and Z:

Metoda ta zwraca pseudo zmiennoprzecinkową losową liczbe z przedziału <X, Z>

Przykład użycia:

command /los [<text>]:
    trigger:
        send "&7Pseudo losowa zmiennoprzecinkowa liczba z przedziału 1-100: &6%random number between 1 and 100%"

Random integer between X and Z:

Metoda ta zwraca pseudo całkowitą losową liczbe z przedziału <X, Z>

Przykład użycia:

command /los [<text>]:
    trigger:
        send "&7Pseudo losowa liczba całkowita z przedziału 1-100 &6%random integer between 1 and 100%"

Random element of X-list:

Metoda ta zwraca losowy element z podanej listy elementów

Przykład użycia:

command /los [<text>]:
    trigger:
        set {_rand} to random element of ("Cukierek" and "Psikus")
        send "&7Wylosowales: &6%{_rand}%"

W powyższym przykładzie obie opcje mają po tyle samo szans na wylosowanie (50%)

Inny większy przykład:

on load:
	clear {drop::*}
	add diamond to {drop::*}
	add iron ingot and iron ingot and iron ingot to {drop::*}
	add gold ingot and gold ingot to {drop::*}
	add obsidian and obsidian to {drop::*}
	add emerald to {drop::*}
	add wood to {drop::*}
	loop 40 times:
		add air to {drop::*}
	send "&7Zaladowano drop, posiada on teraz %size of {drop::*}% przedmiotow" to console
on break:
	if event-block is stone or cobblestone:
		set {_item} to random element of {drop::*}
		if {_item} is not air:
			send "&7Wylosowales: &a%{_item}%"
			drop {_item} at event-block

Podane itemy mają następujące szanse:

  • Powietrze: 80%
  • Diament: 2%
  • Żelazo: 6%
  • Złoto: 4%
  • Obsydian: 4%
  • Szmaragd: 2%
  • Drewno: 2%

X or Z or Y...

Jest to najprostsza metoda, która wybiera losowo jedną z podanych opcji.

Przykład użycia:

command /los [<text>]:
    trigger:
        set {_los} to "psikus" or "Cukierek" or "Ban"
        send "&7Wylosowales: &6%{_los}%"

Każda z opcji ma taką samą szansę na wylosowanie, w tym przypadku 33.(3)%.