Skocz do zawartości
  • 0

Skrypt na eventy


Ebrawscool

Pytanie

Cześć chciałbym skrypt na komendę /event <text>

1. Chodzi o to że gdy wpisze /event (np.) "Test" to na title wyświetli się ten tekst i jak można to żeby działało też z kolorowanie np. "&3test"

2. /event <tekst> <ON/OFF> tu gdzie jest ON OFF to chodzi o to żeby włączało (ON) i wyłączało (OFF) keepinventory. I jak można to żeby przez 10 sekund pisało na actionbar że "KeepInvetory - ON/OFF"

Wypisałem to tak jak najlepiej mogłem że zrozumieniem 

 

 

 

Edytowane przez Ebrawscool
Odnośnik do komentarza
https://skript.pl/temat/57870-skrypt-na-eventy/
Udostępnij na innych stronach

6 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
W dniu 15.07.2024 o 11:40, Ebrawscool napisał:

Cześć chciałbym skrypt na komendę /event <text>

1. Chodzi o to że gdy wpisze /event (np.) "Test" to na title wyświetli się ten tekst i jak można to żeby działało też z kolorowanie np. "&3test"

2. /event <tekst> <ON/OFF> tu gdzie jest ON OFF to chodzi o to żeby włączało (ON) i wyłączało (OFF) keepinventory. I jak można to żeby przez 10 sekund pisało na actionbar że "KeepInvetory - ON/OFF"

Wypisałem to tak jak najlepiej mogłem że zrozumieniem 

Proszę bardzo. Ograniczeniem skryptu jest to, że jako pierwszy argument można wpisać nie więcej niż jedno słowo. Gdyby była potrzeba dodania permisji, myślę, że Pan sam wie jak to zrobić (w końcu widział już Pan kilkadziesiąt skryptów).

options:
	event:
		correctUsage: &cPoprawne użycie: &6/event <tekst (1 słowo)> <ON/OFF>

local function sendActionBarForTimespan(ps: players, t: text, seconds: integer):
	loop {_seconds} times:
		send action bar {_t} to {_ps}
		wait 1 second
	send action bar "" to {_ps}

command /event <text> <text>:
	usage: {@event.correctUsage}
	trigger:
		send title (coloured arg-1) to all players
		if arg-2 is "ON":
			set {keepInventoryForAllPlayers} to true
			sendActionBarForTimespan(all players, "KeepInventory - ON", 10)
		else if arg-2 is "OFF":
			clear {keepInventoryForAllPlayers}
			sendActionBarForTimespan(all players, "KeepInventory - OFF", 10)
		else:
			send "{@event.correctUsage}" to sender
			
on death of player:
	{keepInventoryForAllPlayers} is set
	keep inventory

 

2 godziny temu, SkryptExpert napisał:

Liczę na najlepszą odpowiedź w razie błędów pisz

Skrypt zawiera błąd - w trzecim warunku powinien być sprawdzany drugi argument, nie pierwszy.

Jeszcze mam co do tego skryptu dwie uwagi:

  1. Dlaczego zamienia Pan tekst na tekst przy wysyłaniu title? Jest to zbędna operacja.
  2. Warto wspomnieć, że skrypt wymaga dodatku SkRayFall.
  3. Dlaczego argumenty są ustawione jako opcjonalne skoro są wymagane do poprawnego działania komendy?

Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/57870-skrypt-na-eventy/#findComment-343967
Udostępnij na innych stronach

  • 0
W dniu 16.07.2024 o 16:55, Kormic napisał:

Proszę bardzo. Ograniczeniem skryptu jest to, że jako pierwszy argument można wpisać nie więcej niż jedno słowo. Gdyby była potrzeba dodania permisji, myślę, że Pan sam wie jak to zrobić (w końcu widział już Pan kilkadziesiąt skryptów).

options:
	event:
		correctUsage: &cPoprawne użycie: &6/event <tekst (1 słowo)> <ON/OFF>

local function sendActionBarForTimespan(ps: players, t: text, seconds: integer):
	loop {_seconds} times:
		send action bar {_t} to {_ps}
		wait 1 second
	send action bar "" to {_ps}

command /event <text> <text>:
	usage: {@event.correctUsage}
	trigger:
		send title (coloured arg-1) to all players
		if arg-2 is "ON":
			set {keepInventoryForAllPlayers} to true
			sendActionBarForTimespan(all players, "KeepInventory - ON", 10)
		else if arg-2 is "OFF":
			clear {keepInventoryForAllPlayers}
			sendActionBarForTimespan(all players, "KeepInventory - OFF", 10)
		else:
			send "{@event.correctUsage}" to sender
			
on death of player:
	{keepInventoryForAllPlayers} is set
	keep inventory

 

Skrypt zawiera błąd - w trzecim warunku powinien być sprawdzany drugi argument, nie pierwszy.

Jeszcze mam co do tego skryptu dwie uwagi:

  1. Dlaczego zamienia Pan tekst na tekst przy wysyłaniu title? Jest to zbędna operacja.
  2. Warto wspomnieć, że skrypt wymaga dodatku SkRayFall.
  3. Dlaczego argumenty są ustawione jako opcjonalne skoro są wymagane do poprawnego działania komendy?

Pozdrawiam.

Jutro przetestuję skrypt

A tamten działał tak ŻW można tylko jedno słowo i to na dosłownie 0,1 sekundy

Odnośnik do komentarza
https://skript.pl/temat/57870-skrypt-na-eventy/#findComment-344061
Udostępnij na innych stronach

  • 0
52 minuty temu, Ebrawscool napisał:

Jutro przetestuję skrypt

A tamten działał tak ŻW można tylko jedno słowo i to na dosłownie 0,1 sekundy

A ja napisałem, że ograniczeniem tego skryptu jest możliwość wpisania tylko jednego słowa, które wyświetli się na ekranie gracza. Jeżeli Pan chce, aby można było tam wpisać nieskończenie wiele słów, a po tym podać jeszcze frazę 'ON'/'OFF', mogę to zmienić.

Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/57870-skrypt-na-eventy/#findComment-344063
Udostępnij na innych stronach

  • 0
4 godziny temu, Kormic napisał:

A ja napisałem, że ograniczeniem tego skryptu jest możliwość wpisania tylko jednego słowa, które wyświetli się na ekranie gracza. Jeżeli Pan chce, aby można było tam wpisać nieskończenie wiele słów, a po tym podać jeszcze frazę 'ON'/'OFF', mogę to zmienić.

Pozdrawiam.

Bardzo bym o to prosił i z góry dziękuje

Odnośnik do komentarza
https://skript.pl/temat/57870-skrypt-na-eventy/#findComment-344066
Udostępnij na innych stronach

  • 0
57 minut temu, Ebrawscool napisał:

Bardzo bym o to prosił i z góry dziękuje

Proszę. Dodałem możliwość zmiany czasu wyświetlania się 'title' na ekranie gracza na górze skryptu.

options:
	event:
		correctUsage: &cPoprawne użycie: &6/event <tekst do wysłania> <ON/OFF>
		titleTime: 5 seconds

local function sendActionBarForTimespan(ps: players, t: text, seconds: integer):
	loop {_seconds} times:
		send action bar {_t} to {_ps}
		wait 1 second
	send action bar "" to {_ps}

command /event <text>:
	usage: {@event.correctUsage}
	trigger:
		set {_split::*} to arg split at " "
		if size of {_split::*} <= 1:
			send "{@event.correctUsage}" to sender
			stop
		set {_titleSplit::*} to first ((size of {_split::*}) - 1) elements of {_split::*}
		set {_keepInvToggle} to last element of {_split::*}
		set {_title} to join {_titleSplit::*} with " "
		send title (coloured {_title}) to all players for {@event.titleTime}
		if {_keepInvToggle} is "ON":
			set {keepInventoryForAllPlayers} to true
			sendActionBarForTimespan(all players, "KeepInventory - ON", 10)
		else if {_keepInvToggle} is "OFF":
			clear {keepInventoryForAllPlayers}
			sendActionBarForTimespan(all players, "KeepInventory - OFF", 10)
		else:
			send "{@event.correctUsage}" to sender
			
on death of player:
	{keepInventoryForAllPlayers} is set
	keep inventory

Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/57870-skrypt-na-eventy/#findComment-344067
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ę...