Skocz do zawartości
  • 0

problem z wait {zmienna} second


Legal95

Pytanie

Witam

Chcialbym prosic o zrobienie z tego oto maleo skryptu:

command /placki:
    trigger:
        if player has permission "ciasto.1":
            execute console command "give %player% cake 10 name:&6placki"
            send "&3&l[&f&lLC&3&l] &fWziales placki, nastepne za 1400 sekund"
        if player has permission "ciasto.2":
            execute console command "give %player% cake 20 name:&6placki"
            send "&3&l[&f&lLC&3&l] &fWziales placki, nastepne za 1400 sekund"
 

skrypt aby jesli ktos ma odpowiednia permisje

aby mogl wpisywac ta komende co 1400 sekund

z gory dziekuje i pozdrawiam

Edytowane przez Legal95
Odnośnik do komentarza
Udostępnij na innych stronach

Rekomendowane odpowiedzi

  • 0

sprawdzasz czy zmienna jest ustawiona na 0. jesli tak to wykonuje sie komenda i ustawiasz na koncu zmienna na 1400.

 

variables:
	{_var::%player%} = 0
every second:
	loop all players:
		if {_var::%loop-player%} is > 0:
			subtract 1 from {_var::%loop-player%}

i doklej sobie to

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
35 minut temu, KCPRRR napisał:

sprawdzasz czy zmienna jest ustawiona na 0. jesli tak to wykonuje sie komenda i ustawiasz na koncu zmienna na 1400.

 


variables:
	{_var::%player%} = 0
every second:
	loop all players:
		if {_var::%loop-player%} is > 0:
			subtract 1 from {_var::%loop-player%}

i doklej sobie to

mi chodzi aby gracz mogl wykonywac czynnosc cos jak kit podobnego

jesli uzyje /placki to nastepna komende moze uzyc za 1400 sekund a nie ,ze sama mu sie wykona

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
31 minut temu, Legal95 napisał:

mi chodzi aby gracz mogl wykonywac czynnosc cos jak kit podobnego

jesli uzyje /placki to nastepna komende moze uzyc za 1400 sekund a nie ,ze sama mu sie wykona

1. To właśnie robi ten skrypt. Zmienna odlicza do 0, gdy jest = 0, to zezwala na użycie komendy.
2. Nie możesz dodać ciasta nazwanego "placki" jako kit do wzięcia z Ess? Odchodzi Ci cały skrypt.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, Bielecki napisał:

1. To właśnie robi ten skrypt. Zmienna odlicza do 0, gdy jest = 0, to zezwala na użycie komendy.
2. Nie możesz dodać ciasta nazwanego "placki" jako kit do wzięcia z Ess? Odchodzi Ci cały skrypt.

A mogę prosić o sklejenie tego wraz z moim początkiem? niestety nie wiem jak za to się zabrać, zawsze co uprawszczałem sobie a przy takich "variablesach" to jeszcze nie wiem jak to skleić

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Wydaje mi się że tak to będzie.

variables:
	{_var::%player%} = 0
every 5 seconds:
	loop all players:
		if {_var::%loop-player%} is > 0:
			subtract 5 from {_var::%loop-player%}
command /placki:
	trigger:
		if player has permission "ciasto.1":
			if {_var::%loop-player%} > 0:
				send "Nie mozesz jeszcze wziac plackow"
			else:
				execute console command "give %player% cake 10 name:&6placki"
				set {_var::%loop-player%} to 1400
				send "&3&l[&f&lLC&3&l] &fWziales placki, nastepne za 1400 sekund"
		if player has permission "ciasto.2":
			if {_var::%loop-player%} > 0:
				send "Nie mozesz jeszcze wziac plackow"
			else:
				execute console command "give %player% cake 20 name:&6placki"
				set {_var::%loop-player%} to 1400
				send "&3&l[&f&lLC&3&l] &fWziales placki, nastepne za 1400 sekund"

Ale polecam bardziej wrzucić Ci to do Essentials:

  placki:
    delay: 1400
    items:
      - 354 10 color:255,255,255 name:&6Placek lore:&bLubie_placki

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
31 minut temu, Bielecki napisał:

Wydaje mi się że tak to będzie.


variables:
	{_var::%player%} = 0
every 5 seconds:
	loop all players:
		if {_var::%loop-player%} is > 0:
			subtract 5 from {_var::%loop-player%}
command /placki:
	trigger:
		if player has permission "ciasto.1":
			if {_var::%loop-player%} > 0:
				send "Nie mozesz jeszcze wziac plackow"
			else:
				execute console command "give %player% cake 10 name:&6placki"
				set {_var::%loop-player%} to 1400
				send "&3&l[&f&lLC&3&l] &fWziales placki, nastepne za 1400 sekund"
		if player has permission "ciasto.2":
			if {_var::%loop-player%} > 0:
				send "Nie mozesz jeszcze wziac plackow"
			else:
				execute console command "give %player% cake 20 name:&6placki"
				set {_var::%loop-player%} to 1400
				send "&3&l[&f&lLC&3&l] &fWziales placki, nastepne za 1400 sekund"

Ale polecam bardziej wrzucić Ci to do Essentials:


  placki:
    delay: 1400
    items:
      - 354 10 color:255,255,255 name:&6Placek lore:&bLubie_placki

 

 

ten twój nie działa

wiesz co... zrobilem tak

variables:
    {got.%player%} = 0
            
command /placki:
    trigger:
        if player has permission "ciasto.1":
        if {got.%player%} is 0:
            send "&3&l[&f&lLC&3&l] &fNie mozesz jeszcze wziasc plackow, odczekaj {got.%player%} sekund"
        else:
            execute console command "give %player% cake 10 name:&6placki"
            send "&3&l[&f&lLC&3&l] &fWziales placki, nastepne za 1400 sekund"
            set {got.%player%} to 1400
            loop 1400 times:
                wait 1 seconds
                remove 1 from {got.%player%}
 

nie ma errorów, tylko cos jest nie tak z chyba warunkami albo zabieraniem zmiennej.

proszę kogoś o pomoc co jest nie tak w tym skrypcie

Edytowane przez Legal95
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Dałeś loop w komendzie, więc komenda się stopuje na 1400 sekund.

Usuń ten fragment z loop i daj poza wszystkim

every 5 seconds:
	loop all players:
		if {got.%loop-player%} is greater than 0:
			subtract 5 from {got.%loop-player}

Problem jest tylko taki, że 1. z tego co rozumiem zapisujesz zmienne w pamięci, co jest nieekonomiczne przy większej ilości graczy, 2. czas będzie się odejmować tylko, gdy gracz jest na serwerze.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
13 minut temu, Bielecki napisał:

Dałeś loop w komendzie, więc komenda się stopuje na 1400 sekund.

Usuń ten fragment z loop i daj poza wszystkim


every 5 seconds:
	loop all players:
		if {got.%loop-player%} is greater than 0:
			subtract 5 from {got.%loop-player}

Problem jest tylko taki, że 1. z tego co rozumiem zapisujesz zmienne w pamięci, co jest nieekonomiczne przy większej ilości graczy, 2. czas będzie się odejmować tylko, gdy gracz jest na serwerze.

teraz jak wpisuje /placki to caly czas pisze mi ,ze nie moge wziasc, nastepny za 0 sekund nic sie nie zmienia 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Godzinę temu, Legal95 napisał:

        if {got.%player%} is 0:

            send "&3&l[&f&lLC&3&l] &fNie mozesz jeszcze wziasc plackow, odczekaj {got.%player%} sekund"

XD bo dałeś że jeśli zmienna jest 0, to napisz "nie możesz wziąć placków" xD

Zmień to na

if {got.%player%} is greater than 0:
	send ... nie możesz wziunć plockuf ...
else
	<daj placki>

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
4 minuty temu, Bielecki napisał:

XD bo dałeś że jeśli zmienna jest 0, to napisz "nie możesz wziąć placków" xD

Zmień to na


if {got.%player%} is greater than 0:
	send ... nie możesz wziunć plockuf ...
else
	<daj placki>

 

zrobilem tak i teraz caly czas moge brac pladzgi :P

caly czas bez przerwy 1400 sekund 

Edytowane przez Legal95
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, Bielecki napisał:

Coś jest nie tak. Daj cały kod.

variables:
    {got.%player%} = 1400
            
command /placki:
    trigger:
        if player has permission "ciasto.1":
        if {got.%player%} is greater than 0:
            send "&3&l[&f&lLC&3&l] &fNie mozesz jeszcze wziasc plackow, odczekaj %{got.%player%}% sekund"
        else:
            execute console command "give %player% cake 10 name:&6placki"
            send "&3&l[&f&lLC&3&l] &fWziales placki, nastepne za 1400 sekund"
            
every 5 seconds:
    loop all players:
        if {got.%loop-player%} is greater than 0:
            subtract 5 from {got.%loop-player%}
 

prosze, pewnie cos popsułem jak zwykle

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
5 minut temu, Bielecki napisał:

Dodać po jednym tabie w tych linijkach po "player has permission...".

command /placki:
    trigger:
        if player has permission "ciasto.1":
            if {got.%player%} is greater than 0:
            send "&3&l[&f&lLC&3&l] &fNie mozesz jeszcze wziasc plackow, odczekaj %{got.%player%}% sekund"
        else:
            execute console command "give %player% cake 10 name:&6placki"
            send "&3&l[&f&lLC&3&l] &fWziales placki, nastepne za 1400 sekund" 

jesli tak to sa 3 errory

chyba ze tak

command /placki:
    trigger:
        if player has permission "ciasto.1":
            if {got.%player%} is greater than 0:
                send "&3&l[&f&lLC&3&l] &fNie mozesz jeszcze wziasc plackow, odczekaj %{got.%player%}% sekund"
            else:
                execute console command "give %player% cake 10 name:&6placki"
                send "&3&l[&f&lLC&3&l] &fWziales placki, nastepne za 1400 sekund"

ale errory i nie dziala

 

Edytowane przez Legal95
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

"Po linijkach", nie "po linijce"

Nie lubię pisać za kogoś, ale proszę:
 

command /placki:
	trigger:
		if player has permission "ciasto.1":
			if {got.%player%} is greater than 0:
				send "&3&l[&f&lLC&3&l] &fNie mozesz jeszcze wziasc plackow, odczekaj %{got.%player%}% sekund"
			else:
				execute console command "give %player% cake 10 name:&6placki"
				send "&3&l[&f&lLC&3&l] &fWziales placki, nastepne za 1400 sekund"  

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
3 minuty temu, Bielecki napisał:

"Po linijkach", nie "po linijce"

Nie lubię pisać za kogoś, ale proszę:
 


command /placki:
	trigger:
		if player has permission "ciasto.1":
			if {got.%player%} is greater than 0:
				send "&3&l[&f&lLC&3&l] &fNie mozesz jeszcze wziasc plackow, odczekaj %{got.%player%}% sekund"
			else:
				execute console command "give %player% cake 10 name:&6placki"
				send "&3&l[&f&lLC&3&l] &fWziales placki, nastepne za 1400 sekund"  

 

wkleilem nie ma errorow ale ciagle moge brac te placgi! MINECRAFT WHY?

oto kod

variables:
    {got.%player%} = 1400
            
command /placki:
    trigger:
        if player has permission "ciasto.1":
            if {got.%player%} is greater than 0:
                send "&3&l[&f&lLC&3&l] &fNie mozesz jeszcze wziasc plackow, odczekaj %{got.%player%}% sekund"
            else:
                execute console command "give %player% cake 10 name:&6placki"
                send "&3&l[&f&lLC&3&l] &fWziales placki, nastepne za 1400 sekund"  
            
every 5 seconds:
    loop all players:
        if {got.%loop-player%} is greater than 0:
            subtract 5 from {got.%loop-player%}

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...