Skocz do zawartości
  • 0

Problem ze skryptem na komendę /kick


Pytanie

8 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
4 minuty temu, igvier napisał:

Moglby ktos mi powiedziec jak zrobic zeby na ekranie gracza ktory zostal wyrzucony pisalo np &cZostales wyrzucony za %arg 2% 

Pan w prawidłowy sposób zapisał wywołanie wbudowanej w Minecrafta komendy /kick. Jeśli Pan poprawnie podaje argumenty do swojej komendy /kicka, a powód nie jest wyświetlany wyrzuconemu graczowi, jest to dziwne.

Mimo to chciałbym zwrócić uwagę na dwie rzeczy w Pana kodzie.

  1. Proszę zauważyć, że nawet jeśli argumenty komendy /kicka nie zostaną podane, skrypt wykona komendę 'kick'.  W dodatku Pan określił te argumenty jako opcjonalne, więc pole 'usage' jest całkowicie zbędne.
    Należy więc po linijce wysyłającej do gracza wykonującego komendę /kicka wiadomość "[...] Poprawne uzycie: /kick [...]" dodać instrukcję 'stop', aby skrypt już dalej się nie wykonywał. Dzięki temu unikniemy sytuacji, w której argumenty nie zostały podane, a więc konsola próbuje wykonać komendę "kick <none> <none>".
  2. Jeśli jakaś instrukcja jest wprowadzona w Skript, warto rozważyć jej użycie zamiast używania efektu 'command'. W tym przypadku zalecam użycie efektu 'kick', w którym można podać powód wyrzucenia.
Odnośnik do komentarza
https://skript.pl/temat/57425-problem-ze-skryptem-na-komend%C4%99-kick/#findComment-341963
Udostępnij na innych stronach

  • 0
26 minut temu, igvier napisał:

Moglbys mi prosze napisac to poprawnie?  

Jestem przeciwnikiem wręczania gotowego kodu, bo człowiek się niewiele uczy z niego. Sprecyzuję i opiszę dokładnie co należy zrobić.

1. Należy dodać instrukcję 'stop' do warunku.

if arg-1 or arg-2 isn't set:
	send "&c&lBETA&f&lTESTY &7Poprawne uzycie: /kicka [gracz] [powod]"
	stop
# Dalszy kod...

Tak powinien wyglądać Pana warunek.

2. Linijkę wykonującą komendę 'kick'

execute console command "kick %arg 1% %arg 2%"

powinien Pan zastąpić linijką

kick arg-1 due to arg-2

wykorzystującą efekt 'kick' wspomniany przeze mnie w moim poprzednim poście. Myślniki są opcjonalne, skrypt będzie działał i bez nich. W razie wątpliwości co do poprawnego zapisu argumentów, odsyłam do dokumentacji, w której nie brakuje przykładów wykorzystania wszelkiej maści instrukcji.

Odnośnik do komentarza
https://skript.pl/temat/57425-problem-ze-skryptem-na-komend%C4%99-kick/#findComment-341973
Udostępnij na innych stronach

  • 0

Bardziej mnie zastanawia, jak Ty chcesz wyświetlić coś na ekranie gracza, którego przed chwilą wyrzuciłeś, więc go fizycznie na serwerze nie ma. Zostaje jedynie opcja wyświetlenia wiadomości

send "&cZostales wyrzucony za %arg 2%" to arg-1

i odczekanie np. sekundy, zeby sobie przeczytał i wywołanie instrukcji kick.

Odnośnik do komentarza
https://skript.pl/temat/57425-problem-ze-skryptem-na-komend%C4%99-kick/#findComment-341974
Udostępnij na innych stronach

  • 0
2 godziny temu, makstale napisał:

Bardziej mnie zastanawia, jak Ty chcesz wyświetlić coś na ekranie gracza, którego przed chwilą wyrzuciłeś, więc go fizycznie na serwerze nie ma. Zostaje jedynie opcja wyświetlenia wiadomości

send "&cZostales wyrzucony za %arg 2%" to arg-1

i odczekanie np. sekundy, zeby sobie przeczytał i wywołanie instrukcji kick.

Widzę, że nie rozumie Pan działania komendy '/kick <target> [<reason>]'. Drugi argument (reason) to wiadomość, która wyświetla się na ekranie graczowi wyrzuconemu z serwera.
Co prawda nie jest to oficjalne źródło, jednakże polecam zapoznać się z tym artykułem.

Jeśli natomiast odnieść się do Pana propozycji, mało prawdopodobnym wydaje się scenariusz, w którym gracz w przeciągu kilku sekund (optymistyczny wariant względem Pana sugestii) przeczyta ze zrozumieniem cały powód wyrzucenia z serwera.
Zresztą, w ogólności dodawanie opóźnień do kodu nie jest wskazane, a w tym szczególnym przypadku zgodnie ze zdrowym rozsądkiem wyrzucenie powinno być natychmiastowe, a nie opóźnione.

Odnośnik do komentarza
https://skript.pl/temat/57425-problem-ze-skryptem-na-komend%C4%99-kick/#findComment-341976
Udostępnij na innych stronach

  • 0
2 godziny temu, Kormic napisał:

Widzę, że nie rozumie Pan działania komendy '/kick <target> [<reason>]'. Drugi argument (reason) to wiadomość, która wyświetla się na ekranie graczowi wyrzuconemu z serwera.
Co prawda nie jest to oficjalne źródło, jednakże polecam zapoznać się z tym artykułem.

Jeśli natomiast odnieść się do Pana propozycji, mało prawdopodobnym wydaje się scenariusz, w którym gracz w przeciągu kilku sekund (optymistyczny wariant względem Pana sugestii) przeczyta ze zrozumieniem cały powód wyrzucenia z serwera.
Zresztą, w ogólności dodawanie opóźnień do kodu nie jest wskazane, a w tym szczególnym przypadku zgodnie ze zdrowym rozsądkiem wyrzucenie powinno być natychmiastowe, a nie opóźnione.

Okej, fakt, zamotałem się.

Na tyle jest to oczywisty fakt, że nie bardzo zrozumiałem w czym OP ma problem.

execute console command "kick %arg 1% &cZostales wyrzucony za %arg 2%"
kick arg-1 due to "&cZostales wyrzucony za %arg 2%!"

 

Edytowane przez makstale
Odnośnik do komentarza
https://skript.pl/temat/57425-problem-ze-skryptem-na-komend%C4%99-kick/#findComment-341979
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ę...