expression [the] random (probability|chance) of %numbers%:
get:
set {_nums::*} to expression-1
while true:
set {_random} to random integer between 1 and size of {_nums::*}
chance of {_nums::%{_random}%}%:
return {_random}
Ce petit code ressemble fortement à l'utilisation de "random integers between 1 and 3" mais à la différence qu'il permet d'influencer la probabilité qu'un nombre apparaisse plus souvent qu'un autre , de plus il est possible d'utiliser une somme de probabilité qui n'est pas égal à 100% (explication plus bas)
(Rappel : Les expressions customisé nécessitent l'addon Skipt-mirror , mais il est possible de transformer mon code en fonction skript pour ne pas avoir besoin d'addon)
Ce petit code peut se traduire de cette façon :
while true:
set {_random} to random integer between 1 and 3
if {_random} is 1:
chance of 5%:
broadcast "entry : 1"
exit loop
if {_random} is 2:
chance of 10%:
broadcast "entry : 2"
exit loop
if {_random} is 3:
chance of 30%:
broadcast "entry : 3"
exit loop
et voici un exemple d'utilisation avec une somme de probabilité différent de 100:
command /prob <num=1> <num=20> <num=60> <num=100>:
trigger:
loop 100 times:
set {_v} to random chance of arg-1, arg-2, arg-3, arg-4
add 1 to {_r::%{_v}%}
loop {_r::*}:
add loop-value to {_r}
broadcast "%loop-index% : %loop-value%"
broadcast "total: %{_r}%"
Ce code sera parfait a associer avec un "switch" ou une multitude de "if chance "