Skocz do zawartości
  • 0

Zaawansowany licznik


Gość Usunięty#10777

Pytanie

Gość Usunięty#10777

Witam,

Potrzebuję skrypt na licznik, powiedzmy od jakiegoś eventu zaczyna się licznik, trwa np. 20 minut i po upływie jest jakiś efekt

Chciałbym jednak, aby ten efekt się nie aktywował jeśli w momencie upływu licznika na serwerze nie ma żadnych graczy. Jeśli później ktoś dołączy, to licznik powinien odczekać powiedzmy 10s i wtedy odtworzyć efekt.

Jeśli serwer zostanie wyłączony podczas trwania licznika, to po włączeniu powinien zacząć sie od momentu w którym przerwał.

Potrzebuję na wersję 1.12.2

Dziękuję

Odnośnik do komentarza
https://skript.pl/temat/39239-zaawansowany-licznik/
Udostępnij na innych stronach

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
function setTimer(seconds: integer=0) :: integer:
	if {timer} > 0:
		if {timer} is not set:
			set {timer} to {_s}
			loop {timer} times:
				if {timer} < 1:
					remove 1 from {timer}:
				else:
					delete {timer}
					doSth()
				wait seconds
	else:
		return {timer}

function doSth():
	if size of all players < 1:
		set {eventWaiting} to true
	else:
		wait 10 seconds
		if size of all players < 1:
			delete {eventWaiting}
			#oto jakiś efekt
			broadcast "&6&loto jakiś efekt"

on join:
	if {eventWaiting}:
		doSth()

on load:
	if {timer} is set:
		setTimer({timer})
		broadcast "wznawianie licznika, pozostało %setTimer()% sekund"

on JakiśEvent:
	setTimer(1200)  #20 minut

 

W dniu 18.05.2020 o 13:13, Aberforth napisał:

Potrzebuję skrypt na licznik, powiedzmy od jakiegoś eventu zaczyna się licznik, trwa np. 20 minut i po upływie jest jakiś efekt
Chciałbym jednak, aby ten efekt się nie aktywował jeśli w momencie upływu licznika na serwerze nie ma żadnych graczy. Jeśli później ktoś dołączy, to licznik powinien odczekać powiedzmy 10s i wtedy odtworzyć efekt.
Jeśli serwer zostanie wyłączony podczas trwania licznika, to po włączeniu powinien zacząć sie od momentu w którym przerwał.

 

Odnośnik do komentarza
https://skript.pl/temat/39239-zaawansowany-licznik/#findComment-248022
Udostępnij na innych stronach

  • 0
Gość Usunięty#10777
18 godzin temu, PanMaruda napisał:

function setTimer(seconds: integer=0) :: integer:
	if {timer} > 0:
		if {timer} is not set:
			set {timer} to {_s}
			loop {timer} times:
				if {timer} < 1:
					remove 1 from {timer}:
				else:
					delete {timer}
					doSth()
				wait seconds
	else:
		return {timer}

function doSth():
	if size of all players < 1:
		set {eventWaiting} to true
	else:
		wait 10 seconds
		if size of all players < 1:
			delete {eventWaiting}
			#oto jakiś efekt
			broadcast "&6&loto jakiś efekt"

on join:
	if {eventWaiting}:
		doSth()

on load:
	if {timer} is set:
		setTimer({timer})
		broadcast "wznawianie licznika, pozostało %setTimer()% sekund"

on JakiśEvent:
	setTimer(1200)  #20 minut

 

 

Musiałem trochę pozmieniać, ale ogólnie wszystko działa, dziękuję bardzo!

Odnośnik do komentarza
https://skript.pl/temat/39239-zaawansowany-licznik/#findComment-248104
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ę...