-
Ilość zawartości
11014 -
Rejestracja
-
Ostatnia wizyta
-
Wygrane w rankingu
231
Treść opublikowana przez Kormic
-
Tylko pod to? Nic więcej? Trochę mnie dziwi dlaczego założyłaś wątek w dziale "Skript > Zlecenia".
-
Hmm... spróbuj ponownie pobrać Skripta i usuń folder Skript pamiętając o kopii zapasowej skryptów i/lub zmiennych. Nowy Skript na nowo utworzy folder Skript, do którego wrzucisz sobie skrypty i/lub zmienne.
-
Połącz to w jedno. Pamiętaj, aby przy title podawać odbiorcę. send title "" with subtitle "" to player for 5 seconds
-
Podaj: wersję serwera silnik serwera wersję Skripta listę dodatków (addonów) do Skripta wraz z wersjami błędy przy przeładowaniu skryptu i w konsoli (o ile takowe występują) Nic nie wysyła przy 'on inventory click'? Nawet tego "1"? Jeżeli nie, spróbuj usunąć linijkę 24 i sprawdź jeszcze raz.
-
'title' to jest linijka nr 1, 'subtitle' to jest linijka nr 2, nie możesz mieć więcej linijek. I bardzo dobrze, dzięki temu gracz nie otrzyma ściany tekstu na ekranie.
-
Masz jedynie do dyspozycji 'title' i 'subtitle', nic ponad to. Co do napisu, %nl% spowodowało, że się nagle przerwał.
-
Poszukaj w skryptach, raczej powinieneś móc to znaleźć. Jeżeli to nie to, zapewne masz jakiś plugin odpowiadający za to. W takim wypadku wyrzucaj pluginy jeden po drugim i za każdym razem sprawdzaj. Dla pewności tak samo możesz zrobić ze skryptami (możesz ich nazwy poprzedzić myślnikiem, spowoduje to ich wyłączenie; oczywiście nie zapomnij o przeładowaniu wszystkich skryptów w takiej sytuacji).
-
Wrzucasz skrypty do folderu plugins/Skript/scripts. Oczywiście wymaga to posiadania pluginu Skript.
-
To nie jest normalne działanie Minecrafta, odpowiada za to albo jakiś skrypt, albo plugin. Nie ma innej możliwości.
-
Po warunkach sprawdzających nazwę GUI dodaj jakieś wiadomości (np. numerki). Jeżeli nie zostaną wysłane, wyślij zamiast nich: send "%event.getView().getTitle()%" to player
-
Ale co nie działa? Nadal występuje ten błąd? W drugim warunku sprawdzającym nazwę GUI nie zmieniłeś podanej przeze mnie nazwy.
-
1. W pierwszej linijce zamiast 'player's guild' spróbuj użyć 'player'. 2. Dlaczego splitujesz całą lokalizację na pojedyncze znaki? Jeżeli już to powinieneś je splitować na spacji. split at " " 3. Skoro to jest lokalizacja, lepiej ustawić ją do zmiennej i wysłać koordynat X oraz koordynat Z tej zmiennej. %x-loc of {_loc}% %z-loc of {_loc}%
-
Cóż, w takim razie użyj drugiego sposobu ze skript-reflect. Co do samego kodu, co prawda pozbyłeś się zdecydowanej większości niepotrzebnych warunków, ale w dalszym ciągu sprawdzasz te same warunki. Pozbądź się linijek 37., 38. i 40. Nie, wystarczy jedynie zamienić linijki, w których sprawdzasz nazwę GUI.
-
1. Niepotrzebnie sprawdzasz wielokrotnie nazwę tego samego GUI. # Spójrz na to: if name of player's inventory is "zadania": if clicked inventory is not player's inventory: if clicked slot is 3: open chest with 3 rows named "Poziom 2" to player cancel event if name of player's inventory is "zadania": if clicked inventory is not player's inventory: if clicked slot is 4: open chest with 3 rows named "Poziom 3" to player cancel event # A teraz spójrz na to: if name of player's inventory is "zadania": if clicked inventory is not player's inventory: cancel event if clicked slot is 3: open chest with 3 rows named "Poziom 2" to player else if clicked slot is 4: open chest with 3 rows named "Poziom 3" to player Widać różnicę, nieprawdaż? 2. Po kija ci potrzebne takie wielkie przerwy w tym kodzie? 3. Przeczytaj ostatni podpunkt w mojej pierwszej wypowiedzi, nadal sprawdzasz nazwę ekwipunku gracza. Przed sprawdzaniem nazwy GUI dodaj taką linijkę: if type of event-inventory is set: Posiadasz SkQuery, prawda? Ten błąd właśnie pochodzi z SkQuery. Jeżeli mimo wszystko nie zadziała, zamień linijkę ze sprawdzaniem nazwy GUI na to: if event.getView().getTitle() is "nazwaGUI": # Dalszy kod Tutaj wymagany dodatek skript-reflect.
-
Marzenie ściętej głowy. Autor był ostatnio online 3 lata temu. Skrypt ten został stworzony na wersję 2.1.2 i nie był aktualizowany do nowszych wersji, więc możesz sobie darować z tym skryptem. Stałe pobieranie wartości z pliku YAML nie jest lekką operacją, a ten skrypt właśnie to robi. Jeżeli już miałbym to opierać na YAMLu, ustawiałbym wartości z tego pliku do zmiennych globalnych w Skript'cie, a najlepiej byłoby to po prostu zrobić na zwykłych zmiennych bez bawienia się w YAML.
-
1. Niepotrzebnie powtarzasz ten sam kod. Dodam, że nie musisz ustawiać przedmiotu do zmiennej lokalnej i nadawać mu ten sposób nazwy, a następnie ustawiać slocie. Zrób to w jednej linijce i po problemie: # Zamiast robić tak: set {_0} to white stained glass pane set name of {_0} to "zadania" set slot 0 of current inventory of player to {_0} set {_6} to white stained glass pane set name of {_6} to "zadania" set slot 1 of current inventory of player to {_6} # I tak dalej... # Możesz zrobić to o wiele prościej: set slot (0 and 1 and 7 and 8) of player's current inventory to white stained glass pane named "zadania" Tak samo sprawa wygląda z ustawianiem slotów od tych poziomów. 2. 'on inventory click' wygląda w twoim przypadku okropnie i nie działa z kilku powodów: najpierw sprawdzasz kliknięty slot, a dopiero później nazwę i typ klikniętego GUI; powinieneś sloty sprawdzać w kolejności 'nazwa -> typ GUI -> (opcjonalne) anulowanie eventu -> sprawdzanie klikniętego slotu'. niepotrzebnie używasz zmiennych lokalnych do ustawiania różnych slotów; tak jak w punkcie 1., zrób to w jednej linijce. sprawdzasz nazwę 'player's inventory', a przecież ekwipunek gracza nie posiada nazwy; sprawdzaj nazwę 'player's current inventory', reprezentuje to obecnie otwarte GUI gracza.
-
Najlepsze hostingi to Pukawka i LVLUP.
-
W takim razie proszę. Wystarczy to dorzucić do skryptu, dodałem komentarze dla zrozumienia kodu. Jak wszystko zrozumiesz, możesz je spokojnie usunąć. on inventory click: # Sprawdzamy nazwę GUI obecnie otwartego przez gracza name of player's current inventory is "&8{@a} &6Topka" # Sprawdzamy czy gracz nie kliknął swojego ekwipunku (dzięki temu może nadal w swoim ekwipunku przemieszczać przedmioty podczas otwierania GUI) clicked inventory is not player's inventory # Anulujemy event, aby gracz nie mógł wyciągać przedmiotów cancel event # Opcjonalny dalszy kod definiujący akcje w twoim GUI
-
Używasz eventu 'on right click on chest', anulujesz event, w kodzie tworzysz 2-sekundowy delay (wait 2 seconds) i po tym otwierasz skrzynię graczowi (open clicked block's inventory to player).
-
SkArmorEvent - event zakładania i zdejmowania zbroi w Skript
Kormic odpowiedział(a) na Kormic temat w Promowane skrypty
Update v. 1.2! Nowości: - naprawiono błąd z brakiem działania skryptu w przypadku zmiany zbroi za pomocą klawiszy numerycznych, - naprawiono błąd z wywoływaniem podczas gdy mając w ręce zbroję klikaliśmy prawym przyciskiem myszy na interaktywny blok (stół rzemieślniczy, piec itp.), - dodano wywoływanie eventu przy zakładaniu zbroi przez dozownik. Skrypt w wersji 1.2 obecnie jest dostępny jedynie dla serwerów na wersji 1.13.2+! Za niedługo planuję wypuścić wersję 1.2 dla serwerów w przedziale 1.9.4 - 1.13.1, więc zainteresowani niech czekają cierpliwie. Jak zwykle, zachęcam do testowania skryptu oraz poszukiwania błędów- 12 odpowiedzi
-
- własny event
- armor event
-
(i 2 więcej)
Oznaczone tagami:
-
No dobrze. Nadal nie działa? Nadal nie ma błędów w konsoli?
-
Proszę, oto skrypt. Mam nadzieję, że dobrze zrozumiałem zamysł skryptu. EDIT: Skrypt nie był testowany, aczkolwiek widzę, że pojawi się ostrzeżenie w linijce nr 3, gdyż zapomniałem zamiast ostatniego przecinka dać 'and'.
