Da się zrobić w skrypcie tak, aby wylosowana cyfra trafiała do zbioru variables ale jako text a nie cyfra?
Chcę zrobić losowanie ale takie, które nie powtarza mi wyników, mam 16 cyfr do wylosowania i chcę, żeby 15 z nich było losowych, ale przy obecnym ustawieniu niektóre cyfry wpadają 3-5x na jedno losowanie co utrudnia mi zadanie.
Chcę, żeby po wylosowaniu cyfry 5 przy kolejnym losowaniu jej nie było w puli.
Jak zrobię proste add 5 to {nie.losuj} to zmienna nie.losuj będzie miała 5, ale po dodaniu tam na przykład kolejnej wylosowanej literki 7 nie.losuj będzie miało już 12 a chcę żeby było 5 i 7 osobno, jako dwa różne dane.
Skrypt ma za zadanie usuwać z areny kolorową wełnę, losowane cyfry odpowiadają danemu kolorowi, skrypt po wylosowaniu cyfry ma usunąć kolor odpowiadający tej cyfrze, ale zdarza się, że skrypt losuje 3x czy nawet 5x ten sam kolor, przez co nie usuwane jest nic.
Kawałek skryptu:
command /welna start:
trigger:
if {ilosc} is bigger than or equal to 15:
broadcast "ilosc wiecej niz 15"
loop all players in world "minigry":
if loop-player is in region "koloryaktywni":
send "Usunięto wszystkie kolory poza jednym, gra dobiegła końca" to loop-player
set {ilosc} to 0
set {koniec.gry} to true
stop
else:
broadcast "ilosc mniejsza niz 15"
set {_kolory} to a random integer between 1 and 16
broadcast "wylosowano cyfrę"
#Start kolorów ----------------------------------------------------------------------------------------------------------
broadcast "zaraz usunięty będzie kolor - usunięto %{licznik}% z 15 kolorów"
wait 10 seconds
if {_kolory} is 1:
if {kolor.usuniety::*} contain "bialy":
broadcast "&bBiały był już usunięty losujemy ponownie"
execute console command "licznik"
stop
else:
add "bialy" to {kolor.usuniety::*}
add 1 to {ilosc}
loop blocks in region "koloryarena":
if loop-block is white wool:
set loop-block to air
stop
#Nowy kolor --------------------------------------------------------------------------------------------------------------
if {_kolory} is 2:
if {kolor.usuniety::*} contain "pomaranczowy":
send "&bPomarańczowy był już usunięty losujemy ponownie" to {gracze::%player%}
execute console command "licznik"
stop
else:
add "pomaranczowy" to {kolor.usuniety::*}
add 1 to {ilosc}
loop blocks in region "koloryarena":
if loop-block is orange wool:
set loop-block to air
komenda jak i broadcast mają mi pomóc w lokalizacji błędów, więc to będzie zmieniane i ustawiane porządnie.
Pytanie
LordYu 296
Da się zrobić w skrypcie tak, aby wylosowana cyfra trafiała do zbioru variables ale jako text a nie cyfra?
Chcę zrobić losowanie ale takie, które nie powtarza mi wyników, mam 16 cyfr do wylosowania i chcę, żeby 15 z nich było losowych, ale przy obecnym ustawieniu niektóre cyfry wpadają 3-5x na jedno losowanie co utrudnia mi zadanie.
Chcę, żeby po wylosowaniu cyfry 5 przy kolejnym losowaniu jej nie było w puli.
Jak zrobię proste add 5 to {nie.losuj} to zmienna nie.losuj będzie miała 5, ale po dodaniu tam na przykład kolejnej wylosowanej literki 7 nie.losuj będzie miało już 12 a chcę żeby było 5 i 7 osobno, jako dwa różne dane.
Skrypt ma za zadanie usuwać z areny kolorową wełnę, losowane cyfry odpowiadają danemu kolorowi, skrypt po wylosowaniu cyfry ma usunąć kolor odpowiadający tej cyfrze, ale zdarza się, że skrypt losuje 3x czy nawet 5x ten sam kolor, przez co nie usuwane jest nic.
Kawałek skryptu:
command /welna start: trigger: if {ilosc} is bigger than or equal to 15: broadcast "ilosc wiecej niz 15" loop all players in world "minigry": if loop-player is in region "koloryaktywni": send "Usunięto wszystkie kolory poza jednym, gra dobiegła końca" to loop-player set {ilosc} to 0 set {koniec.gry} to true stop else: broadcast "ilosc mniejsza niz 15" set {_kolory} to a random integer between 1 and 16 broadcast "wylosowano cyfrę" #Start kolorów ---------------------------------------------------------------------------------------------------------- broadcast "zaraz usunięty będzie kolor - usunięto %{licznik}% z 15 kolorów" wait 10 seconds if {_kolory} is 1: if {kolor.usuniety::*} contain "bialy": broadcast "&bBiały był już usunięty losujemy ponownie" execute console command "licznik" stop else: add "bialy" to {kolor.usuniety::*} add 1 to {ilosc} loop blocks in region "koloryarena": if loop-block is white wool: set loop-block to air stop #Nowy kolor -------------------------------------------------------------------------------------------------------------- if {_kolory} is 2: if {kolor.usuniety::*} contain "pomaranczowy": send "&bPomarańczowy był już usunięty losujemy ponownie" to {gracze::%player%} execute console command "licznik" stop else: add "pomaranczowy" to {kolor.usuniety::*} add 1 to {ilosc} loop blocks in region "koloryarena": if loop-block is orange wool: set loop-block to air
komenda jak i broadcast mają mi pomóc w lokalizacji błędów, więc to będzie zmieniane i ustawiane porządnie.
Edytowane przez LordYuOdnośnik do komentarza
Udostępnij na innych stronach
7 odpowiedzi na to pytanie
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.