Losowość: Różnice pomiędzy wersjami

Z wiki.skript.pl
Przejdź do nawigacji Przejdź do wyszukiwania
(Inny większy przykład:)
(X or Z or Y...)
Linia 1: Linia 1:
 
Skript posiada kilka funkcji / wyrażeń do losowania wartości / pseudo losowych liczb.
 
Skript posiada kilka funkcji / wyrażeń do losowania wartości / pseudo losowych liczb.
  
== Sposoby ==
+
==Sposoby==
  
# chance of X%:
+
#chance of X%:
# random number between X and Z
+
#random number between X and Z
# random integer between X and Z
+
#random integer between X and Z
# random element of X-list
+
#random element of X-list
 +
#X or Z or Y...
  
=== Chance of X%: ===
+
===Chance of X%:===
Jest to najprostsza metoda losowania w skripcie. Działa na zasadzie warunku więc możemy pod nią wstawić else.
+
Jest to metoda losowania w skripcie. Działa na zasadzie warunku więc możemy pod nią wstawić else.
  
==== Przykład użycia: ====
+
====Przykład użycia:====
 
<pre>
 
<pre>
 
command /los [<text>]:
 
command /los [<text>]:
Linia 21: Linia 22:
 
</pre>
 
</pre>
  
=== Random number between X and Z: ===
+
===Random number between X and Z:===
 
Metoda ta zwraca pseudo <u>zmiennoprzecinkową</u> losową liczbe z przedziału <X, Z>
 
Metoda ta zwraca pseudo <u>zmiennoprzecinkową</u> losową liczbe z przedziału <X, Z>
  
==== Przykład użycia: ====
+
====Przykład użycia:====
 
<pre>
 
<pre>
 
command /los [<text>]:
 
command /los [<text>]:
Linia 31: Linia 32:
 
</pre>
 
</pre>
  
=== Random integer between X and Z: ===
+
===Random integer between X and Z:===
 
Metoda ta zwraca pseudo <u>całkowitą</u> losową liczbe z przedziału <X, Z>
 
Metoda ta zwraca pseudo <u>całkowitą</u> losową liczbe z przedziału <X, Z>
  
==== Przykład użycia: ====
+
====Przykład użycia:====
 
<pre>
 
<pre>
 
command /los [<text>]:
 
command /los [<text>]:
Linia 41: Linia 42:
 
</pre>
 
</pre>
  
=== Random element of X-list: ===
+
===Random element of X-list:===
 
Metoda ta zwraca losowy element z podanej listy elementów
 
Metoda ta zwraca losowy element z podanej listy elementów
  
==== Przykład użycia: ====
+
====Przykład użycia:====
 
<pre>
 
<pre>
 
command /los [<text>]:
 
command /los [<text>]:
Linia 52: Linia 53:
 
</pre>W powyższym przykładzie obie opcje mają po tyle samo szans na wylosowanie ('''50%''')
 
</pre>W powyższym przykładzie obie opcje mają po tyle samo szans na wylosowanie ('''50%''')
  
==== Inny większy przykład: ====
+
====Inny większy przykład:====
 
<pre>
 
<pre>
 
on load:
 
on load:
Linia 73: Linia 74:
 
</pre>Podane itemy mają następujące szanse:
 
</pre>Podane itemy mają następujące szanse:
  
* Powietrze: '''80%'''
+
*Powietrze: '''80%'''
* Diament: '''2%'''
+
*Diament: '''2%'''
* Żelazo: '''6%'''
+
*Żelazo: '''6%'''
* Złoto: '''4%'''
+
*Złoto: '''4%'''
* Obsydian: '''4%'''
+
*Obsydian: '''4%'''
* Szmaragd: '''2%'''
+
*Szmaragd: '''2%'''
* Drewno: '''2%'''
+
*Drewno: '''2%'''
  
 +
=== X or Z or Y... ===
 +
Jest to najprostsza metoda, która wybiera losowo jedną z podanych opcji.
 +
 +
==== Przykład użycia: ====
 +
<pre>
 +
command /los [<text>]:
 +
    trigger:
 +
        set {_los} to "psikus" or "Cukierek" or "Ban"
 +
        send "&7Wylosowales: &6%{_los}%"
 +
</pre>Obie z opcji mają taką samą szanse na wylosowanie.
 
[[Kategoria:Skript]]
 
[[Kategoria:Skript]]

Wersja z 21:39, 28 paź 2019

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}%"

Obie z opcji mają taką samą szanse na wylosowanie.