Skocz do zawartości

Szybki skrypt na zgłoszenie.


WHITEOXPL
 Udostępnij

Rekomendowane odpowiedzi

Widać, że w parę minut, bo się tak rozpędziłeś, że nawet nie sprawdziłeś czy skrypt aby na pewno nie posiada błędów.

1. W każdym '%arg 1%' i '%arg 2%' masz spację na końcu, która spowoduje błąd.

2. Do JSONa w Skript nie jest potrzebne SkQuery, sam Skript tutaj wystarczy. Zobacz sobie na forum poradnik Pana Marudy, w którym jest pokazane jak można to zrobić.

3. Zamiast zapętlać wszystkich graczy możesz ustawić ich do listy z pomocą 'filter input', aby móc następnie wysyłać wiadomości do tej listy.

set {_players::*} to all players where [input has permission "permisja.permisja"]
# Wysyłanie wiadomości

4. Zalecam unikać jak ognia zagnieżdżania w sobie warunków, gdyż przez nie kod traci na czytelności.

# Jak ty to robisz:

if arg-1 is set:
	if arg-2 is set:
		if arg-3 is set:
			# Dalszy kod
		else:
			send "Podaj argument nr 3!"
	else:
		send "Podaj argument nr 2!"
else:
	send "Podaj argument nr 1!"		

# Jak ja bym to zrobił:

if arg-1 is not set:
	send "Podaj argument nr 1!"
	stop
if arg-2 is not set:
	send "Podaj argument nr 2!"
	stop
if arg-3 is not set:
	send "Podaj argument nr 3!"
	stop
# Dalszy kod

Widać różnicę, nieprawdaż?

Odnośnik do komentarza
Udostępnij na innych stronach

W dniu 1.02.2021 o 20:41, Kormic napisał:

Widać, że w parę minut, bo się tak rozpędziłeś, że nawet nie sprawdziłeś czy skrypt aby na pewno nie posiada błędów.

1. W każdym '%arg 1%' i '%arg 2%' masz spację na końcu, która spowoduje błąd.

2. Do JSONa w Skript nie jest potrzebne SkQuery, sam Skript tutaj wystarczy. Zobacz sobie na forum poradnik Pana Marudy, w którym jest pokazane jak można to zrobić.

3. Zamiast zapętlać wszystkich graczy możesz ustawić ich do listy z pomocą 'filter input', aby móc następnie wysyłać wiadomości do tej listy.

set {_players::*} to all players where [input has permission "permisja.permisja"]
# Wysyłanie wiadomości

4. Zalecam unikać jak ognia zagnieżdżania w sobie warunków, gdyż przez nie kod traci na czytelności.

# Jak ty to robisz:

if arg-1 is set:
	if arg-2 is set:
		if arg-3 is set:
			# Dalszy kod
		else:
			send "Podaj argument nr 3!"
	else:
		send "Podaj argument nr 2!"
else:
	send "Podaj argument nr 1!"		

# Jak ja bym to zrobił:

if arg-1 is not set:
	send "Podaj argument nr 1!"
	stop
if arg-2 is not set:
	send "Podaj argument nr 2!"
	stop
if arg-3 is not set:
	send "Podaj argument nr 3!"
	stop
# Dalszy kod

Widać różnicę, nieprawdaż?

Co do nie wpisania argumentów zrobiłem to else gdyż gdy wpisywałem tak jak ty tutaj i gracz wpisał samo /zglos to wysyłało by mu dwie wiadomości za brak argumentu pierwszego oraz drugiego

Odnośnik do komentarza
Udostępnij na innych stronach

Teraz, WHITEOXPL napisał:

Co do nie wpisania argumentów zrobiłem to else gdyż gdy wpisywałem tak jak ty tutaj i gracz wpisał samo /zglos to wysyłało by mu dwie wiadomości za brak argumentu pierwszego oraz drugiego

Nie, nie wysyłałoby. Jeżeli argument pierwszy nie jest ustawiony (tym samym drugi nie jest ustawiony), to wykonuje się warunek wysyłający wiadomość oraz zatrzymujący skrypt. Dzięki temu będzie tylko jedna wiadomość.

Odnośnik do komentarza
Udostępnij na innych stronach

Teraz, Kormic napisał:

Nie, nie wysyłałoby. Jeżeli argument pierwszy nie jest ustawiony (tym samym drugi nie jest ustawiony), to wykonuje się warunek wysyłający wiadomość oraz zatrzymujący skrypt. Dzięki temu będzie tylko jedna wiadomość.

Testowałem to przed tym i jednak wysyłało dwie wiadomości, no dobrze ale jeżeli sądzisz że jest źle to nie będę wprowadzał innych w błąd, do zamknięcia

 

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...