Skocz do zawartości
  • 0

Pisanie na chacie gdy się zabije 5 osób


Pytanie

6 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
on join:
	if {kills::%player%} is not set:
		set {kills::%player%} to 0
on death of player:
	attacker is a player
	add 1 to {kills::%attacker%}
on chat:
	if {kills::%player%} >= 5:
		stop
	cancel event
	send "&cNie mozesz pisac na chacie, musisz zabic 5 osob"

 

Odnośnik do komentarza
https://skript.pl/temat/57482-pisanie-na-chacie-gdy-si%C4%99-zabije-5-os%C3%B3b/#findComment-342279
Udostępnij na innych stronach

  • 0
27 minut temu, Acer1337PL1 napisał:

Tylko mam 1 problem, bo to jest na tryb PVP i jak ktoś umrze od upadku np do beczki spadnie i zdeda to tego nie zalicza 

on join:
	if {kills::%player%} is not set:
		set {kills::%player%} to 0
on death of player:
	last attacker of victim is a player
	add 1 to {kills::%attacker%}
on chat:
	if {kills::%player%} >= 5:
		stop
	cancel event
	send "&cNie mozesz pisac na chacie, musisz zabic 5 osob"

 

Odnośnik do komentarza
https://skript.pl/temat/57482-pisanie-na-chacie-gdy-si%C4%99-zabije-5-os%C3%B3b/#findComment-342285
Udostępnij na innych stronach

  • 0

@xAxee

Jeśli się nie mylę przyjacielu, użycie %attacker% (po sprawdzeniu czy typ ostatnio atakującego to gracz) nie ma sensu, gdyż może zwrócić <none> przy chociażby śmierci od upadku z wysokości.
Zamiast tego należałoby zapisywać do zmiennej przypisanej do ofiary (atakowanego gracza) ostatnio atakującego gracza.

on join:
	{kills::%player%} is not set
	set {kills::%player%} to 0
		
on damage of player:
	attacker is a player
	set {lastAttacker::%victim%} to attacker
	
on quit:
	clear {lastAttacker::%player%}
		
on death of player:
	last attacker of victim is a player
	{lastAttacker::%victim%} is set
	add 1 to {kills::%{lastAttacker::%victim%}%}
	
on chat:
	{kills::%player%} < 5
	cancel event
	send "&cNie mozesz pisac na chacie, musisz zabic 5 osob" to player

 

Odnośnik do komentarza
https://skript.pl/temat/57482-pisanie-na-chacie-gdy-si%C4%99-zabije-5-os%C3%B3b/#findComment-342287
Udostępnij na innych stronach

  • 0
8 minut temu, Kormic napisał:

@xAxee

Jeśli się nie mylę przyjacielu, użycie %attacker% (po sprawdzeniu czy typ ostatnio atakującego to gracz) nie ma sensu, gdyż może zwrócić <none> przy chociażby śmierci od upadku z wysokości.
Zamiast tego należałoby zapisywać do zmiennej przypisanej do ofiary (atakowanego gracza) ostatnio atakującego gracza.

on join:
	{kills::%player%} is not set
	set {kills::%player%} to 0
		
on damage of player:
	attacker is a player
	set {lastAttacker::%victim%} to attacker
	
on quit:
	clear {lastAttacker::%player%}
		
on death of player:
	last attacker of victim is a player
	{lastAttacker::%victim%} is set
	add 1 to {kills::%{lastAttacker::%victim%}%}
	
on chat:
	{kills::%player%} < 5
	cancel event
	send "&cNie mozesz pisac na chacie, musisz zabic 5 osob" to player

 

Tak masz racje, nie zauważyłem.
Ale czy zamiast robić nową zmienną nie lepiej użyć już wykorzystywanej zmiennej last attacker?

on join:
	if {kills::%player%} is not set:
		set {kills::%player%} to 0
on death of player:
	last attacker of victim is a player
	add 1 to {kills::%last attacker of victim%}
on chat:
	if {kills::%player%} >= 5:
		stop
	cancel event
	send "&cNie mozesz pisac na chacie, musisz zabic 5 osob"

 

Odnośnik do komentarza
https://skript.pl/temat/57482-pisanie-na-chacie-gdy-si%C4%99-zabije-5-os%C3%B3b/#findComment-342289
Udostępnij na innych stronach

  • 0
7 minut temu, xAxee napisał:

Tak masz racje, nie zauważyłem.
Ale czy zamiast robić nową zmienną nie lepiej użyć już wykorzystywanej zmiennej last attacker?

Co prawda moje wytłumaczenie było powiązane z moim kodem, ale tak. Masz rację, dla najprostszego przypadku taka wersja jest optymalna.

Ja zdecydowałem stworzyć zmienną w celu sprawnego manipulowania tym kiedy informacja o ostatnim atakującym jest czyszczona, co widać w listenerze zdarzenia 'on quit'. Można ten skrypt dalej rozbudować o sprawdzanie różnicy czasu między czasem śmierci i czasem ostatniego uderzenia - jeśli jest dla przykładu większy niż 30 sekund, gracz, który ostatnio zaatakował, nie otrzymuje zabójstwa.

Odnośnik do komentarza
https://skript.pl/temat/57482-pisanie-na-chacie-gdy-si%C4%99-zabije-5-os%C3%B3b/#findComment-342290
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ę...