Skocz do zawartości
  • 0

Skrypt do sprawdzenia rangi


Pytanie

options:
    file: plugins/rankset/bd.yml
variables:
    {pN} = ""
    {pDefR} = ""
    {endUnix} = 0
    {nowUnix} = 0
every second:
    set {nowUnix} to unix of now
    loop yaml nodes "User" of file "{@file}":
        set {pN} to loop-value
        if skript-yaml path "User.%{pN}%.oldRank" of "{@file}" exists:
            set {pDefR} to yaml value "User.%{pN}%.oldRank" from file "{@file}"
        if skript-yaml path "User.%{pN}%.endDate" of "{@file}" exists:
            set {endUnix} to yaml value "User.%{pN}%.endDate" from file "{@file}"
        if {nowUnix} is greater than {endUnix}:
            execute console command "lp user %{pN}% parent set %{pDefR}%"

 

Powyżej zapisany skrypt ma za zadanie co sekundę sprawdzać czy nie upłynął czas posiadania rangi przez gracza, ale komenda wykonywana w konsoli w ostatniej instrukcji warunkowej nie wykonuje się. Jaki jest problem?
oznaczenia:
{pN} - nick gracza
{pDefR} - domyślna ranga gracza, dawana po upływie czasu posiadania rangi
{endUnix} - data końcowa rangi w formacie unix
{nowUnix} - data teraźniejsza w formacie unix

Odnośnik do komentarza
https://skript.pl/temat/33036-skrypt-do-sprawdzenia-rangi/
Udostępnij na innych stronach

1 odpowiedź na to pytanie

Rekomendowane odpowiedzi

  • 0

tak ni lepiej?

command /nadaj [<offlineplayer>] [<text>] [<text>] [<time span>]:
	permission: *
	trigger:
		if arg 2 is "set":
			if arg 4 is set:
				set yaml value "User.%arg 1%.Group" from file "db.yml" to "%arg 3%"
				send "&7Nadales range &a%arg 3% &7graczowi &a%arg 1%"
				set {_t} to arg 4
				while {_t} >= 1 second:
					remove 1 second from {_t}
					add 1 to {_czas}
				set yaml value "User.%arg 1%.Time" from file "db.yml" to {_czas}
				add "%name of arg 1%" to yaml list "Users" from file "db.yml"
				execute console command "lp user %arg 1% parent set %arg 3%"
			else:
				send "&7Poprawne uzycie: /nadaj <gracz> <set> <ranga> <czas>"
		if arg 2 is "remove":
			remove arg 1 from yaml list "Users" from file "db.yml"
			remove arg 1 from {LIST::*}
			delete yaml value "User.%arg 1%" from file "db.yml"
			execute console command "lp user %arg 1% parent set Gracz"
			send "&7Usunales range graczowi &a%arg 1%"
every second:
	set {LIST::*} to yaml list "Users" from file "db.yml"
	loop {LIST::*}:
		if yaml value "User.%loop-value%.Time" from file "db.yml" > 1:
			set {_t} to yaml value "User.%loop-value%.Time" from file "db.yml"
			set yaml value "User.%loop-value%.Time" from file "db.yml" to {_t}-1
		else:
			remove loop-value from yaml list "Users" from file "db.yml"
			remove loop-value from {LIST::*}
			delete yaml value "User.%loop-value%" from file "db.yml"
			send "&7Ranga ci sie skonczyla!" to loop-value parsed as player
			execute console command "lp user %loop-value% parent set Gracz"

 

Odnośnik do komentarza
https://skript.pl/temat/33036-skrypt-do-sprawdzenia-rangi/#findComment-214102
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ę...