Skocz do zawartości
  • 0

Potrzebuje cooldown message


Pytanie

Potrzebuje cooldown message, nie umiem zabardzo pisac skrypty, a skrypt mam od kolegi. Chcialbym aby podczas cooldownu byla wiadomosc w stylu: Odczekaj jeszcze (czas) aby ponownie uzyc ta komende. Z gory dziekuje

 

command /rozdaj:
    permission: deskcraft.perm.rozdaj
    cooldown:  24 hours
    trigger:
        set {liczba} to random integer between 1 and 3
        
        if {liczba} is 1:
            execute console command "case key giveall Rzadki_Klucz 3 "
            execute console command "case key giveall Legendarny_Klucz 1"
        if {liczba} is 2:
            execute console command "case key giveall Epicki_Klucz 2"
            execute console command "case key giveall Boski_Klucz 1"
        if {liczba} is 3:
            execute console command "case key giveall Rzadki_Klucz 3"
            execute console command "case key giveall Epicki_Klucz 1"

Odnośnik do komentarza
https://skript.pl/temat/57722-potrzebuje-cooldown-message/
Udostępnij na innych stronach

3 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
1 godzinę temu, Sergio_YT123 napisał:

Potrzebuje cooldown message, nie umiem zabardzo pisac skrypty, a skrypt mam od kolegi. Chcialbym aby podczas cooldownu byla wiadomosc w stylu: Odczekaj jeszcze (czas) aby ponownie uzyc ta komende. Z gory dziekuje

Proszę bardzo. Skrypt nie był testowany.

Dodam od siebie, że najprawdopodobniej jest możliwość, aby przy pomocy dodatku skript-reflect zastąpić wywoływanie komend przez konsolę instrukcjami z API pluginu zarządzającego skrzynkami.

options:
	cooldownTime: 24 hours

function formatTimespan(t: timespan) :: text:
	set {_tText} to "%{_t}%"
	replace all "and " with "" in {_tText}
	replace all ", " with " " in {_tText}
	replace all "days" with "d" in {_tText}
	replace all "hours" with "h" in {_tText}
	replace all "minutes" with "m" in {_tText}
	replace all "seconds" with "s" in {_tText}
	set {_split::*} to {_tText} split at " "
	loop (size of {_split::*}) times:
		if mod(loop-number, 2) is 1:
			add "%ceil({_split::%loop-number%} parsed as number)%" to {_timeNumbers::*}
			continue
		add {_split::%loop-number%} to {_timeUnits::*}
	set {_returnTimespan} to ""
	loop {_timeNumbers::*}:
		if (loop-index parsed as number) is 1:
			set {_returnTimespan} to "%loop-value%%{_timeUnits::%loop-index%}%"
			continue
		set {_returnTimespan} to "%{_returnTimespan}%, %loop-value%%{_timeUnits::%loop-index%}%"
	return {_returnTimespan}
	
command /rozdaj:
	permission: deskcraft.perm.rozdaj
	permission message: &cNie posiadasz wystarczających uprawnień do wykonania tej komendy.
	executable by: players
	trigger:
		set {_lastUsageDate} to {rozdajCommand::cooldown::%uuid of player%}
		set {_cooldown} to {@cooldownTime}
		if {_lastUsageDate} is set:
			set {_timeElapsed} to difference between {_lastUsageDate} and now
			{_timeElapsed} is smaller than {_cooldown}
			set {_timeRemaining} to difference between {_timeElapsed} and {_cooldown}
			send "&6Odczekaj &e%formatTimespan({_timeRemaining})% &6przed ponownym wykonaniem tej komendy." to player
			stop
		set {rozdajCommand::cooldown::%uuid of player%} to now
		set {_rNum} to random integer between 1 and 3
		if {_rNum} is 1:
			execute console command "case key giveall Rzadki_Klucz 3 "
			execute console command "case key giveall Legendarny_Klucz 1"
		else if {_rNum} is 2:
			execute console command "case key giveall Epicki_Klucz 2"
			execute console command "case key giveall Boski_Klucz 1"
		else if {_rNum} is 3:
			execute console command "case key giveall Rzadki_Klucz 3"
			execute console command "case key giveall Epicki_Klucz 1"

Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/57722-potrzebuje-cooldown-message/#findComment-343232
Udostępnij na innych stronach

  • 0
26 minut temu, Sergio_YT123 napisał:

Dziekuje, wsszystko dziala, a da rade dodac komende z permisja ze mozna wpisac /resetrozdaj (nick) powoduje to ze czas do nastepnego uzycia sie resetuje do 0

Pozdrawiam rowniez :)

Oczywiście, nie ma problemu. Proszę bardzo.

command /resetrozdaj [<text>]:
	permission: server.command.resetrozdaj
	permission message: &cNie posiadasz wystarczających uprawnień do wykonania tej komendy.
	executable by: players
	trigger:
		set {_player} to arg parsed as offline player
		if {_player} hasn't played before:
			send "&6Ten gracz nigdy wcześniej nie był na tym serwerze." to sender
			stop
		clear {rozdajCommand::cooldown::%uuid of {_player}%}
		send "&aPomyślnie zresetowano cooldown komendy &6/rozdaj &adla gracza &b%arg%&a." to sender

Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/57722-potrzebuje-cooldown-message/#findComment-343236
Udostępnij na innych stronach

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ą.

Nieaktywny
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

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