Skocz do zawartości
  • 0

Skrypt na chat


f4varis

Pytanie

Witam, ostatnio starałem się nauczyć pisać skrypty, lecz przy mojej pierwszej takiej samodzielnej pracy, wyświetliły się problemy.

Jeżeli ktoś mógłby nałożyć korektę na kod, i przy okazji wyjaśnić co zrobiłem źle, to byłbym bardzo wdzięczny.

command /chat [<text>]:
	trigger:
		if arg 1 is set:
			if player has permission "command.chat" or "command.chat.use":
				if arg 1 is "clear":
					loop 120 times:
						broadcast " " 
					broadcast "&aChat zostal wyczyszczony przez &f%player%"
					stop
		else:
			send "&aPoprawne uzycie: &f/chat clear/on/off"
		if arg 1 is set:
			if player has permission "command.chat" or "command.chat.use":
				if arg 1 is {on}:
					if {off} is true:
						set {off} to false
						broadcast "&aChat zostal wlaczony przez &f%player%"
						stop
					else:
						send "&cChat nie jest wylaczony!"
		if arg 1 is set:
			if player has permission "command.chat" or "command.chat.use":
				if arg 1 is {off}:
				broadcast "&cChat zostal wylaczony przez &f%player%"
				stop
on chat:				
	if player doesn't have permission "chat.off.use" or "chat.off":
		cancel event
		send "&cChat jest obecnie wylaczony."
		stop

EDIT: Przepraszam najmocniej, zapomniałem dodać komunikat z /sk reload.


[11:03:34] [main/INFO]: [CHAT] [Skript] Reloading chatskrypt.sk...
[11:03:34] [main/INFO]: [CHAT] Empty configuration section! You might want to indent one or more of the subsequent lines to make them belong to this section or remove the colon at the end of the line if you don't want this line to start a section. (chatskrypt.sk, line 23: if arg 1 is {off}:')
[11:03:34] [main/INFO]: [CHAT] [Skript] Successfully reloaded chatskrypt.sk.

Edytowane przez f4varis
Odnośnik do komentarza
https://skript.pl/temat/40901-skrypt-na-chat/
Udostępnij na innych stronach

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Witaj, to może na początek:

command /chat [<text>]:
	trigger:
		if player has permission "chat.off.use" or "chat.off":

To sprawi, że nie musisz sprawdzać za każdym razem czy gracz ma uprawnienie

I teraz sprawdzasz czy podany argument to np "clear" i wewnątrz niego piszesz co ma się stać. Nie trzeba już sprawdzać czy argument jest ustawiony 

if arg 1 is "clear":
	loop 120 times:
		broadcast " " 
		broadcast "&aChat zostal wyczyszczony przez &f%player%"
		stop

I dalej leci tak samo:

Sprawdzasz czy 1 argument to "on" i ustawiasz swoją zmienną (w tym przypadku na false) Przy argumencie off ustawiasz na true

if arg 1 is "on":
		set {off} to false
		broadcast "&aChat zostal wlaczony przez &f%player%"
		stop

Na koniec możesz sprawdzić czy użytkownik podał argument:

if arg 1 is not set:
		send "&aPoprawne uzycie: &f/chat clear/on/off" to player
		stop

I przy evencie on chat: sprawdzasz czy gracz ma to Twoje uprawnienie i czy zmienna jest ustawiona na true (Jeżeli tak to gracz nie może pisać, a jeżeli ma uprawnienie to które podałeś to może)

on chat:
	if player doesn't have permission "chat.off.use" or "chat.off":
		if {off} is true:
			cancel event
			send "&cChat jest obecnie wylaczony."
			stop

Cały kod:

 

 

Odnośnik do komentarza
https://skript.pl/temat/40901-skrypt-na-chat/#findComment-254931
Udostępnij na innych stronach

  • 0

Kolega powyżej niemalże wyczerpał temat, lecz dodam, że ani jedno 'stop' nie jest tutaj potrzebne. 'stop' zatrzymuje triggera w którym się znajduje (trigger to eventy, periodicale). To się właściwie przydaje tylko w dwóch przypadkach:

1. załóżmy, że masz długi skrypt i sprawdzasz czy jakaś zmienna potrzebna do skryptu jest ustawiona, jeśli nie, to wtedy możesz dać 'stop'.

2. 'stop' się również używa w pętlach, aby je nagle zatrzymać. Załóżmy że masz GUI i chcesz, aby elementy jakiejś listy były fragmentami GUI. Ale chcesz, żeby niecałe GUI było zawalone elementami tej listy. Wtedy używasz 'exit/stop loop', gdy np. pętla wykonuje się po raz 36, dzięki czemu masz ładne 4 rządki zrobione, a 2 pozostałe na dole wolne.

Zresztą, odsyłam do dokumentacji: https://skriptlang.github.io/Skript/effects.html#EffExit

Edytowane przez Kormic
Odnośnik do komentarza
https://skript.pl/temat/40901-skrypt-na-chat/#findComment-254932
Udostępnij na innych stronach

  • 0
Teraz, f4varis napisał:

Dziękuje Wam obu za pomoc oraz tipy. Na pewno je wykorzystam.

 

Nie ma sprawy. I ostatnia porada ode mnie: na początku zawsze dobrze się trzymać dokumentacji, aby "wyrobić" sobie wprawę oraz wiedzę nt. Skripta.

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