-
Ilość zawartości
11014 -
Rejestracja
-
Ostatnia wizyta
-
Wygrane w rankingu
231
Treść opublikowana przez Kormic
-
W takim razie pobierz najnowszego Skripta 2.5.3 i sprawdź czy zadziała bez wszystkich addonów. Nadal nie działa? Zrób tak: wyłączyć serwer zapisać skrypty i/lub zmienne w bezpiecznym miejscu usunąć folder Skript włączyć serwer już z tym nowym Skriptem 2.5.3 wrzucić z powrotem swoje wcześniej zapisane skrypty i/lub zmienne Jeżeli nadal nie będzie Skript działał, sprawdź czy możliwa jest aktualizacja silnika serwera.
-
Podaj proszę: wersję serwera silnik serwera listę dodatków do Skripta wraz z ich wersjami
-
Poszukaj sobie na forum, już pełno było takich skryptów.
-
Czyli używasz najnowszej. Sprawdzałeś czy aby przypadkiem nie należy ustawić czegoś, co teleportuje gracza przy zablokowaniu go w regionie? Jeżeli jesteś pewien, że nie ma nic takiego, możesz wejść na ich Discorda i zapytać jak rozwiązać ten problem (link na stronie pluginu).
-
Zdawało mi się, że ProtectionStones pozbywa się tego problemu. Którego ProtectionStones używasz? Pytam, gdyż jest kilka jego osobnych wersji.
-
Mógłbyś użyć w tym celu eventu 'on command' i zapętlałbyś wszystkich graczy. Następnie sprawdzałbyś czy zapętlany gracz jest w tym regionie. Jeżeli tak, dalej sprawdzasz czy lista 'members of [twój region]' zawiera tego gracza. Jeżeli nie zawiera, teleportujesz go na spawn. Będzie z tym niestety trochę roboty, gdyż będziesz musiał sprawdzać również argumenty podane w komendzie. command is "rg" or "region" # Sprawdzamy pierwsze słowo w komendzie set {_args::*} to arguments # Ustawiamy do listy argumenty podane w komendzie {_args::1} is "flag" # Sprawdzamy czy argument nr 1 to "flag" loop all regions in world "world": # Zapętlamy wszystkie regiony w świecie "world" (podejrzewam, że nie ma takiej listy, ale raczej rozumiesz co mam na myśli; można opcjonalnie zobaczyć dodatek SharpSK, który dodaje taką listę) set {_r::*} to ("%loop-value%") split at " " # loop-value zawiera "%nazwa regionu% in world %nazwa swiata%" i chcemy przechwycić jedynie pierwsze słowo, czyli nazwę regionu add {_r::1} to {_rgs::*} # Dodajemy pierwsze słowo do listy {_rgs::*} contains {_args::2} # Sprawdzamy czy lista zawierająca nazwy wszystkich regionów w tym świecie zawiera również nazwę regionu podaną w argumencie nr 2 # I dalsze sprawdzanie argumentów... Jak samemu widzisz, masa roboty, gdyż trzeba sprawdzać czy gracz w ogóle dobrze wykonał komendę. Najlepiej byłoby użyć pluginu na działki (PlotSquared, ProtectionStones), który eliminuje tego typu problemy.
-
Nie mów tylko, że nadpisałeś sobie komendę /ver...
-
Nie, ciągle mam na myśli wersję serwera.
-
Wpisz komendę /ver.
-
Miałem na myśli wersję serwera, a dokładniej wersję silnika.
-
Nie znaleziono pewnej klasy, to jest przyczyną. Podaj: wersję instalowanego Skripta wersję serwera silnik serwera listę dodatków do Skripta wraz z ich wersjami
-
Czy wypróbowałeś drugą podaną przeze mnie ścieżkę? Zgaduję, że nie. A dlaczego zwykły gracz może to zmieniać? Jakie znowu działki?
-
Jeszcze co do napisu na lewo, najlepiej ustawić protocol version na jakąś niewłaściwą wartość (np. -1), a następnie ustawiamy version string jako "Online: %ilość graczy%" i dodajemy dużo spacji, a po tym tekst powinien się pojawić na lewo od ikonki serwera. Wtedy możesz sobie umieścić tam inny napis (dalej w version string).
-
W tym dodatku nie ma żadnego YAMLa. Tam masz po prostu do podania flagę, przykład masz wyżej. EDIT: Uważam, że mimo wszystko nie rozwiązuje to problemu, gdyż pozwala to na sprawdzenie tylko jednej flagi. Lepiej jest użyć chociażby SkQuery w celu przechwycenia wszystkich flag. set {_flags::*} to yaml nodes "regions.twojRegion.flags" from "../../WorldGuard/worlds/twojSwiat/regions.yml" send "%{_flags::*}%" Zamień jedynie "twojRegion" na nazwę twojego regionu oraz "twojSwiat" na nazwę twojego świata. Jeżeli podana ścieżka do pliku nie zadziała, spróbuj: from "plugins/WorldGuard/worlds/twojSwiat/regions.yml"
-
W takim wypadku jeszcze są trzy dodatki do YAMLa w Skript. Mam tutaj na myśli: SkUtilities SkQuery Skellett Z tych trzech najlepszym wyborem będzie pierwszy. Teoretycznie powinien zadziałać.
-
To ja już nic nie rozumiem. Działa czy nie działa to, co podałem? Drugi raz już piszesz "Do zamkniecia!".
-
Skript nie udostępnia takiego wyrażenia. Jedyny sposób to odczyt z pliku .yml danego regionu w folderze plugins/WorldGuard/worlds/twój_świat. Mógłbyś to zrobić przykładowo poprzez dodatek skript-yaml.
-
Nie naliczają się zabite moby? Co takiego poza tworzeniem GUI zmieniłeś, że magicznie zaczął działać? Użycie SkQuery do formatowania GUI? Nie.
-
Miałem na myśli początkowy twój kod, w którym podmieniłeś fragment w evencie przy wchodzeniu na czerwoną wełnę.
-
Kombinujecie z jakimś głupim odejmowaniem, grzebiecie w całym kodzie, a wystarczyłoby skorzystać z tej samej zmiennej lokalnej i byłoby po problemie. Ale po co? Lepiej robić sobie pod górkę. Wystarczyłoby poprawić wcięcia. Niestety nie pokazałeś mi kodu, a bez niego nic nie zrobię.
-
Brzmi jak 5 błędów z wcięciami w kodzie. Niech zgadnę, były to "indentation error", tak?
-
I co ci się pokazywało?
-
Pokaż jak to wkleiłeś.
-
Podejrzewam, że to wynika z czasu zapisu zmiennej. # Zamiast tak: set {_s} to floor({parkourTicks::%player%} / 20) set {_ms} to mod({parkourTicks::%player%}, 20) set {parkourTime::%player%} to {parkourTicks::%player%} clear {parkourTicks::%player%} # Zrobiłbym to tak: set {_t} to {parkourTicks::%player%} clear {parkourTicks::%player%} set {_s} to floor({_t} / 20) set {_ms} to mod({_t}, 20) set {parkourTime::%player%} to {_t} Jest to fragment z eventu przy wchodzeniu na czerwoną wełnę.
-
Używasz w tym celu efektu 'execute %players/console% command %texts%'. execute console command "restart"
