Skocz do zawartości
  • 0

Blokowanie liczenia w momencie zgonu gracza/moba


CyberDzik

Pytanie

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Teraz, CyberDzik napisał:

Witam czy ktoś wie jak zrobić: odliczanie title 60 sec, jeśli przed końcem odliczania zabije ktoś zombie, to otrzyma komunikat na chat i odliczanie się wyłączy.

Tak, ja wiem. Tylko zastanawia mnie dlaczego pytasz innych? Chcesz gotowy skrypt? Czy może mam ci wyjaśnić jak to zrobić?

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

  • 0
3 minuty temu, CyberDzik napisał:

To mój aktualny skrypt :/ Jak zrobić żeby zatrzymało odliczanie jeśli gracz zabije zombie, z góry dziękuję za odpowiedź.

Przepraszam najmocniej, ale trochę zmartwił mnie, a jednocześnie rozbawił twój kod.

Wiesz czym są pętle w Skript? Jeżeli nie, to odsyłam do poradnika z wiki tego forum.

Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

Następnie gdy skrócisz ten kod (a jest zdecydowanie co skracać), to na początku triggera komendy ustawiasz zmienną, która będzie definiowała czy zombie trzeba zabić, czy też nie na true. Następnie na początku pętli sprawdzasz czy zmienna jest ustawiona, jeżeli nie, to zatrzymujesz skrypt poprzez 'stop'. Co do eventu 'on death of zombie', sprawdzasz w nim czy wyżej wspomniana zmienna jest ustawiona, jeżeli tak, to ją czyścisz poprzez 'clear {twoja_zmienna}'.

Tak powinien wyglądać mniej więcej twój skrypt.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
11 godzin temu, CyberDzik napisał:

command /stoper:
    trigger:
        send title "&f1:00" to all players
        wait 1 seconds
        send title "&f59" to all players
        wait 1 seconds
		(...)
        send title "&f01" to all players
        stop
on rightclick:
On death of zombie:

To mój aktualny skrypt :/ Jak zrobić żeby zatrzymało odliczanie jeśli gracz zabije zombie, z góry dziękuję za odpowiedź.

musisz zastosować zmienną, w której będziesz przechowywał informację o tym czy zombie zostało zabite - może to być np boolean (true / false) - ustawiany na true w momencie rozpoczęcia odliczania

w momencie zabicia zombie trzeba sprawdzić czy nasza zmienna jest równa true - to znaczy czy odliczanie trwa - jeżeli tak, to usuwamy zmienną (lub ustawiamy na wartość inną niż true)

następnie musisz przed każdym wysłaniem title sprawdzić czy nasza zmienna na pewno wynosi true - jeżeli tak to kontynuujesz wysyłanie - jeżeli nie, to znaczy że zombie zostało zabite i należy zatrzymać kod title poprzez 'stop'

jeżeli odliczanie dobiegło do końca i nie zostało zatrzymane to znaczy (czyli zombie nie zostało zabite) musimy naszą zmienną usunąć (lub nadpisać wartością inną niż true)

Odnośnik do komentarza
Udostępnij na innych stronach

  • -1
on damage:
	if victim is zombie:
		if attacker is player:
			if {czas::%attacker%} is set:
				clear {czas::%attacker%}
command /stoper:
	trigger:
		loop all players:
			set {czas::%loop-player%} to 60
			while {czas::%loop-player%} is set:
				if {czas::%loop-player%} is 0:
					clear {czas::%loop-player%}
					stop
				send title "&f{czas::%loop-player%}" to loop-player
				remove 1 from {czas::%loop-player%}

 

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