Skocz do zawartości
  • 0

Mam pytanie jak zrobić by gracz na sprawdzaniu nie mógł używać komędy spawn


Pytanie

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
  • 0

@Felif_PL

Najprostszym rozwiązaniem byłoby utworzenie jakiejś listy (na przykład HashSet), która przechowywałaby UUID graczy będących w trakcie sprawdzania. Dalej, należałoby utworzyć listener zdarzenia PlayerCommandPreprocessEvent, w którym sprawdzalibyśmy czy UUID wykonującego komendę jest obecne w tej liście. Jeśli tak, anulujemy wykonanie komendy, co zablokuje mu możliwość ucieczki z miejsca, w którym jest przetrzymywany.

Oczywiście, po zakończeniu sprawdzania należy usunąć UUID sprawdzanego z listy.

W przypadku gdy proces sprawdzania nie jest przerywany wyłączeniem lub restartem serwera, czyli informacja o sprawdzaniu jest gdzieś zapisywana na dysku (chociażby w bazie danych pluginu), należy również zapisać gdzieś zawartość tej listy, aby nie doszło do utraty informacji o tym kto jest sprawdzany.

Alternatywnie, jeśli plugin posiada jakąś metodę lub chociaż pole pozwalające na zweryfikowanie czy ktoś jest sprawdzany, wystarczy sam wyżej wspomniany listener.

Pozdrawiam.

  • 0

A dało by się dodać do tego skryptu coś co blokuje te komędy?

command /sprawdzanie [<text>] [<player>]:
    permission: sprawdzanie
    permission message: &cNie masz uprawnien do tej komendy!
    trigger:
        if argument 1 is not set:
            send "&aKomendy:"
            send "&a/sprawdzanie sprawdz gracz"
            send "&a/sprawdzanie czysty gracz"
            send "&a/sprawdzanie cheater gracz"
            send "&a/sprawdzanie miejsce"
        if argument 1 is "sprawdz":
            if argument 2 is set:
                set {%argument 2%.sprawdzanie.miejsce} to location of argument 2
                teleport argument 2 to {sprawdzanie.miejsce}
                set {%argument 2%.sprawdzanie} to 1
                send "" to all players
                send "" to all players
                send "&cGracz &6%argument 2%&c jest sprawdzany!" to all players
                send "" to all players
                send "" to all players
                send "&6jesteś sprawdzany Masz 5 minut na wejście na discord." to argument 2
                send "&cWyjscie z serwera = BAN" to argument 2
                send "" to argument 2
                send "" to argument 2
            else:
                send "&cPodaj gracza!"
        if argument 1 is "czysty":
            if argument 2 is set:
                set {%argument 2%.sprawdzanie} to 0
                teleport argument 2 to {%argument 2%.sprawdzanie.miejsce}
                send "" to all players
                send "&aGracz &6%argument 2%&a jest czysty!" to all players
                send "" to all players
            else:
                send "&cPodaj gracza!"
        if argument 1 is "cheater":
            if argument 2 is set:
                set {%argument 2%.sprawdzanie} to 0
                ban the argument 2 because "&ccheaty"
                kick the argument 2 due to "&ccheaty"
                send "" to all players
                send "&cGracz &6%argument 2%&c jest cheaterem!" to all players
                send "" to all players
            else:
                send "&cPodaj gracza!"
        if argument 1 is "miejsce":
            set {sprawdzanie.miejsce} to location of player
            send "&aMiejsce sprawdzania zostalo ustawione na %{sprawdzanie.miejsce}%"
on quit:
    if {%player%.sprawdzanie} is 1:
        ban the player because "&cWyszesleś podczas sprawdzania"

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ę...