Skocz do zawartości
  • 0

[Zlecenie] Skrypt na dyzur


Fibux

Pytanie

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Proszę bardzo:

Spoiler

function DYZUR_change(p: player, t: text = ""):
	if {_p} has permission "jeste.adminem":
		set {_b} to true
	if {_t} is "quit":
		set {_b} to true
	if {_b} is true:
		if {dyzur::%{_p}%} is set:
			set {_diff} to difference between now and {dyzur::%{_p}%}
			add floor({_diff}.getMilliSeconds()/1000) to {dyzur::%{_p}%::inDuty}
			clear {dyzur::%{_p}%}
		else:
			set {dyzur::%{_p}%} to now
		if {dyzur::%{_p}%::start.week} is not set:
			set {dyzur::%{_p}%::start.week} to now
		if difference between {dyzur::%{_p}%::start.week} and now is larger than or equal to 7 day:
			if {dyzur::%{_p}%::inDuty} is larger than or equal to 28800:
				log "Gracz %{_p}% wyrobil %{dyzur::%{_p}%::inDuty}% sekund w tydzien. Zaczal %{dyzur::%{_p}%::start.week}%" to "AdminDyzur.log"
				if {_p} is online:
					send "&7Wyrobiles swoja norme na ten tydzien." to {_p}
				else:
					set {dyzuroff.%{_p}%} to true
			else:
				log "Gracz %{_p}% nie wyrobil swojej normy w tydzien. Zaczal %{dyzur::%{_p}%::start.week}% i wyrobil %{dyzur::%{_p}%::inDuty}% sekund." to "AdminDyzur.log"
			set {dyzur::%{_p}%::start.week} to now	
			clear {dyzur::%{_p}%::inDuty}
command /admin [<text>]:
	trigger:
		if player has permission "jeste.adminem":
			if arg 1 is not set:
				send "&7/admin dyzur &8Rozpoczynasz dyzur."
				send "&7/admin czas &8Twoja norma."
				stop
			if arg 1 is "dyzur":
				if {dyzur::%player%} is not set:
					DYZUR_change(player)
					send "&7Rozpoczales dyzur."
					stop
				DYZUR_change(player)
				send "&7Zakonczyles dyzur."
				stop
			if arg 1 is "czas":
				set {_czas} to 0
				if {dyzur::%player%} is set:
					add floor((difference between now and {dyzur::%player%}).getMilliSeconds()/1000) to {_czas}
				add {dyzur::%player%::inDuty} to {_czas}
				send "&0      &6Dyzur admina"
				send "&7Rozpoczales tygodniowy dyzur: &f%{dyzur::%player%::start.week}%"
				send "&7Wypelniles juz &c%floor(({_czas}/28800)*100)%%% &7normy."
				send "&7Aby wypelnic tygodniowa norme, musisz pomagac &c8 &7godzin"
				send ""
				stop
on join:
	if {dyzuroff.%player%} is set:
		wait 5 seconds
		send "&7Wyrobiles swoja norme na ten tydzien."
		clear {dyzuroff.%player%}
on quit:
	if {dyzur::%player%} is set:
		set {_p} to "%player%" parsed as player
		wait 2 tick
		DYZUR_change({_p}, "quit")

 

Potrzebujesz:

Skript 2.2 lub nowszej

Skript-mirror

 

 

Edytowane przez knugi
Spoiler, poprawka kodu.
Odnośnik do komentarza
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ę...