Skocz do zawartości
  • 0

antylogout


Glicz

Pytanie

Dzień dobry!
Napisałem sobie taki skrypt

on entering of region "spawn":
	if {walka::%player%} is 0:
		stop
	cancel event
	send "&6&lFoksi&2MC &8» &cJestes podczas walki! Nie mozesz wejsc na teren spawna!"

on join:
	if {walka::%player%} is not set:
		set {walka::%player%} to 0

on damage:
	if victim is player:
		set {walka::%attacker%} to 30
		set {walka::%victim%} to 30
		send action bar "&6&lFoksi&2MC &8» &cJestes podczas walki! Pozostalo %{walka::%player%}% sekund antylogouta!" to attacker
		send action bar "&6&lFoksi&2MC &8» &cJestes podczas walki! Pozostalo %{walka::%player%}% sekund antylogouta!" to victim

every second:
	loop all-player's between all worlds:
		if {walka::%loop-player%} is 0:
			remove loop-player from loop-player's
			stop
		set {walka::%loop-player%} to ({walka::%loop-player%} - 1)
		send action bar "&6&lFoksi&2MC &8» &cJestes podczas walki! Pozostalo %{walka::%loop-player%}% sekund antylogouta!" to loop-player
		

I nie wiem czy on zadziała, mógłby mi ktoś go sprawdzić?

Z góry dziękuję!

Edytowane przez Michix
Odnośnik do komentarza
https://skript.pl/temat/42557-antylogout/
Udostępnij na innych stronach

9 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
31 minut temu, Michix napisał:

nie wiem czy on zadziała, mógłby mi ktoś go sprawdzić?

Nie, nie zadziała. Spójrz na linijkę nr 21 (4 od końca). Jak to ma niby zadziałać?

Co do samego skryptu mam jeszcze dwie uwagi:

1. Uważam, że lepiej jest czyścić zmienną niż ją ustawiać na 0.

2. Zapętlanie co sekundę wszystkich graczy? Już sama pętla mi się nie podoba, co ma oznaczać "loop all-player's between all worlds"?

Już lepiej byłoby to zrobić w tym event'cie 'on damage' i 30 razy odtworzyć pętlę, w której co sekundę odejmujesz po 1 od dwóch zmiennych.

Odnośnik do komentarza
https://skript.pl/temat/42557-antylogout/#findComment-266735
Udostępnij na innych stronach

  • 0
3 minuty temu, Kormic napisał:

Nie, nie zadziała. Spójrz na linijkę nr 21 (4 od końca). Jak to ma niby zadziałać?

Co do samego skryptu mam jeszcze dwie uwagi:

1. Uważam, że lepiej jest czyścić zmienną niż ją ustawiać na 0.

2. Zapętlanie co sekundę wszystkich graczy? Już sama pętla mi się nie podoba, co ma oznaczać "loop all-player's between all worlds"?

Już lepiej byłoby to zrobić w tym event'cie 'on damage' i 30 razy odtworzyć pętlę, w której co sekundę odejmujesz po 1 od dwóch zmiennych.

mógłbyś mi napisać jak mam zrobić to drugie?

2 minuty temu, KrychaMC09 napisał:

1. Wiadomosc do ciebie nie na wszystkich wersjach dziala send actionbar,title ,subtitle na 1.8.8 Przykladowo trzeba miecz plugin do tego

2. Są 4 błędy dotyczące wchodzenia na spawna podczas walki 

wg ciebie na 1.8.8 nie zadziała i wymaga jakiegoś dodatku? A co jeżeli użyje Skript-1.8 który jest forkiem skripta od bensku? 

Odnośnik do komentarza
https://skript.pl/temat/42557-antylogout/#findComment-266738
Udostępnij na innych stronach

  • 0
Teraz, Michix napisał:

mógłbyś mi napisać jak mam zrobić to drugie?

wg ciebie na 1.8.8 nie zadziała i wymaga jakiegoś dodatku? A co jeżeli użyje Skript-1.8 który jest forkiem skripta od bensku? 

Te 2 jednak dobrze ale da sie zbugowac.

Wystarczy ze bedziesz stal w polowie na czerwonej lini i nie bedzie mogl cie bic przeciwnik wiec polecam do wejscia na spawna podczas walki dodac wypchniecie a nie samo wiadomosc i cancel event

 

Odnośnik do komentarza
https://skript.pl/temat/42557-antylogout/#findComment-266739
Udostępnij na innych stronach

  • 0
2 minuty temu, Michix napisał:

mógłbyś mi napisać jak mam zrobić to drugie?

Przy okazji zauważyłem błąd w postaci użycia %player% w event'cie 'on damage'. Dodatkowo dodałem warunek sprawdzający czy atakujący jest graczem.

on damage of player:
	if attacker is a player:
		set {walka::%attacker%} to 30
		set {walka::%victim%} to 30
		loop 30 times:
			send action bar "&6&lFoksi&2MC &8» &cJestes podczas walki! Pozostalo %{walka::%attacker%}% sekund antylogouta!" to attacker
			send action bar "&6&lFoksi&2MC &8» &cJestes podczas walki! Pozostalo %{walka::%victim%}% sekund antylogouta!" to victim
			remove 1 from {walka::%attacker%} and {walka::%victim%}
			wait 1 second
		clear {walka::%victim%} and {walka::%attacker%}

EDIT:

Zapomniałem o odejmowaniu zmiennych...

Edytowane przez Kormic
Odnośnik do komentarza
https://skript.pl/temat/42557-antylogout/#findComment-266740
Udostępnij na innych stronach

  • 0
Teraz, Kormic napisał:

Przy okazji zauważyłem błąd w postaci użycia %player% w event'cie 'on damage'. Dodatkowo dodałem warunek sprawdzający czy atakujący jest graczem.


on damage of player:
	if attacker is a player:
		set {walka::%attacker%} to 30
		set {walka::%victim%} to 30
		loop 30 times:
			send action bar "&6&lFoksi&2MC &8» &cJestes podczas walki! Pozostalo %{walka::%attacker%}% sekund antylogouta!" to attacker
			send action bar "&6&lFoksi&2MC &8» &cJestes podczas walki! Pozostalo %{walka::%victim%}% sekund antylogouta!" to victim
			wait 1 second
		clear {walka::%victim%} and {walka::%attacker%}

 

a usuwanie 1 z walka mam zrobic

set {walka::%victim%} to ({walka::%victim%} - 1)
set {walka::%attacker%} to ({walka::%attacker%} - 1)

 

Odnośnik do komentarza
https://skript.pl/temat/42557-antylogout/#findComment-266741
Udostępnij na innych stronach

  • 0

Kiedyś zrobiłem skrypt na antylogaut i raczej wszystko powinno działać

Spoiler

options:
	cmds: "helpop" or "msg" or "m" or "r" or "efekty" or "tell"
	time: 20
on damage of player:
	if {AntyLogaut::%victim%} is not set:
		set {AntyLogaut::%victim%} to {@time}
		send "&cJestes podczas walki!" to victim
		while {AntyLogaut::%victim%} is set:
			if {AntyLogaut::%victim%} > 0:
				send action bat "&7AntyLogaut: &c%{AntyLogaut::%victim%}%&cs" to victim
				wait 1 second
				remove 1 from {AntyLogaut::%victim%}
			else:
				send "&aSkonczyles Walczyc!" to victim
				send action bar "&7AntyLogaut: &aSkonczyles walczyc" to victim
				delete {AntyLogaut::%victim%}
				stop
	else:
		set {AntyLogaut::%victim%} to {@time}
		send action bar "&7AntyLogaut: &c%{AntyLogaut::%victim%}%&cs" to victim
on quit:
	if {AntyLogaut::%player%} is set:
		delete {AntyLogaut::%player%}
		set player's health to 0
		kill player
		send "&c%player% wylogowal sie podczas walki!" to all players
on join:
	delete {AntyLogaut::%player%}
on death of player:
	if {AntyLogaut::%victim%} is set:
		delete {AntyLogaut::%victim%}
on command:
	if {AntyLogaut::%player%} is set:
		if command is not {@cmds}:
			cancel event
			send "&cNie mozesz uzywac tej komendy podczas walki! &c(&6%command%&c)"

 

 

1 godzinę temu, Michix napisał:

a usuwanie 1 z walka mam zrobic

starczy remove 1 from {walka::%victim%}

Odnośnik do komentarza
https://skript.pl/temat/42557-antylogout/#findComment-266780
Udostępnij na innych stronach

  • 0
W dniu 5.11.2020 o 13:28, Michix napisał:

on damage of player: if attacker is a player: set {walka::%attacker%} to 30 set {walka::%victim%} to 30 loop 30 times: send action bar "&6&lFoksi&2MC &8» &cJestes podczas walki! Pozostalo %{walka::%attacker%}% sekund antylogouta!" to attacker send action bar "&6&lFoksi&2MC &8» &cJestes podczas walki! Pozostalo %{walka::%victim%}% sekund antylogouta!" to victim wait 1 second clear {walka::%victim%} and {walka::%attacker%}

Wszystko pieknie tylko jak walisz chlopa np walisz go 10 razy z lapki zaczyna szybciej leciec logout i w dodatku logout zamiast na 0 to robi sie na - i leca rozne liczby

Odnośnik do komentarza
https://skript.pl/temat/42557-antylogout/#findComment-269665
Udostępnij na innych stronach

  • 0
41 minut temu, Mr_AnTi napisał:

Wszystko pieknie tylko jak walisz chlopa np walisz go 10 razy z lapki zaczyna szybciej leciec logout i w dodatku logout zamiast na 0 to robi sie na - i leca rozne liczby

Już dawno naprawiłem to wszystko. 

Odnośnik do komentarza
https://skript.pl/temat/42557-antylogout/#findComment-269673
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ę...