-
Ilość zawartości
11015 -
Rejestracja
-
Ostatnia wizyta
-
Wygrane w rankingu
231
Treść opublikowana przez Kormic
-
Po tym jak spojrzałem w kod, jestem spokojnie w stanie stwierdzić, że nie testowałeś tego skryptu. Zawiera on również wiele kluczowych błędów i niepotrzebnych rzeczy. 1. Fragment z 'variables' jest całkowicie zbędny. Dwie pierwsze zmienne są do wywalenia, natomiast ostatnią, mianowicie {cz} o wiele lepiej byłoby zastąpić zmienną w 'options'. 2. Pętla 'every 1 second' zapętlająca wszystkich graczy nie jest dobrym pomysłem. Zmniejszanie zmiennej gracza powinieneś wrzucić do pętli, która zawiera wysyłanie action barów. 3. Nie twórz wielu tych samych eventów w jednym skrypcie. Zamiast tego połącz je w jedno dla schludności i czytelności kodu. 4. Niepotrzebnie tworzysz każdemu graczowi zmienne przy walce. Wystarczyłaby jedna z czasem i gdybyś chciał sprawdzić czy gracz jest w walce, wystarczyłoby sprawdzanie czy ta zmienna z czasem jest ustawiona lub mniejsza od zera. 5. W linijce nr 18 masz pętlę odtwarzającą się 200 razy. A co jeżeli ktoś sobie zażyczy, aby antylog trwał 5 minut (300 sekund)? Wtedy skrypt się wysypie. Albo zapętlaj x=(czas antyloga) razy, albo użyj pętli 'while' sprawdzającej czy czas u tych graczy jest ustawiony. 6. Niepotrzebnie ustawiasz zmienne na 'true' oraz 'false'. Ustawianie na 'false' zastąp czyszczeniem zmiennej, dzięki temu odchudzisz plik 'variables.csv'. Gdy to zamienisz, wystarczy sprawdzanie czy zmienna jest ustawiana czy też nie. Właściwie to będzie niepotrzebne, gdyż najlepiej byłoby, gdybyś po prostu sprawdzał czy czas antiloga u danego gracza jest ustawiony, czy też nie. 7. W linijce nr 28 powinien być w zmiennej %victim%, nie %attacker%. 8. W linijce 44 będzie błąd, gdyż w zmiennej powinien być %victim%, a nie %player%.
-
Użyj wyszukiwarki na forum, zapewniam cię, że to nie jest jedyny skrypt na aukcje.
-
Czy jesteś pewien, że zmienna {logout::%player%} jest ustawiona? Dla pewności zrób tak: on entering of region "spawn": if {logout.%player%} is greater than 0: cancel event else: send "%{logout.%player%}%" to player Jeżeli wyśle cokolwiek na czacie i będzie napisane "<none>", będzie to oznaczało, że zmienna nie jest ustawiona.
-
Nie wiem kto robił ten skrypt (tyle wiem, że się na tym forum nazywa "grzybeek"), ale jednego jestem pewien. Ten człowiek nie wiedział (lub w dalszym ciągu nie wie) czym są pętle. W dodatku masa tych warunków... To bardzo dziwne, że wiedział czym są funkcje, natomiast już nie wiedział czym są pętle. Skrypt jest na tyle stary i posiada tyle błędów oraz niepotrzebnych zmiennych, że poprawianie go jest nieopłacalne. Już lepiej napisać coś samemu od początku. Dodam, że powiedziałeś, iż masz 59 błędów. Nie podałeś ich, nie podałeś również konfiguracji twojego serwera oraz wersji Skripta.
-
"Nie działa" niewiele mi mówi. Podaj mi: wersję Skripta silnik serwera wersję serwera Czy utworzyłeś region o nazwie "spawn"?
-
W Skript'cie? Nie.
-
Tutaj nie ma żadnej filozofii, wystarczy spojrzeć do dokumentacji i już wiesz jak to zrobić. command /ukryj: trigger: loop all entities: if loop-entity's name is "&6Wojownik": add loop-entity to {_hide::*} Jeśli to jest NPC z Citizens, zamieniasz 'name' na 'display name'.
-
Tak jak napisałem w pierwszej odpowiedzi: Dorzucasz do tego potrzebne ci warunki i gotowe.
-
Nieważne czy ma nazwę, czy też nie.
-
Jak najbardziej można, ale entity to entity. Gdy zapiszesz je do listy, to po restarcie serwera wartość ta zostanie utracona. Jako zamiennik możesz spróbować zapętlać te entity.
-
Proszę, powinno pomóc. on player world change: if event-world is "Wyspa": if (amount of all players in world "Wyspa") is 51: send "&cNiestety, ale świat &6Wyspa &caktualnie jest pełny!" to player teleport player to location at 100, 100, 100 in world "world" on join: if player is in world "Wyspa": if (amount of all players in world "Wyspa") is 51: send "&cNiestety, ale świat &6Wyspa &caktualnie jest pełny!" to player teleport player to location at 100, 100, 100 in world "world" on teleport: world will be "Wyspa": if (amount of all players in world "Wyspa") is 51: send "&cNiestety, ale świat &6Wyspa &caktualnie jest pełny!" to player cancel event Podczas testowania sprawdź czy gracz w pierwszym event'cie już wlicza się w te 51. Jeśli nie, zmniejsz ilość w linijce nr 3 do 50.
-
Skrypt, pobieranie jeden linijki z opisu przedmiotu
Kormic odpowiedział(a) na masterekkkk pytanie w Pytania i problemy
Proszę. Na przyszłość naucz się korzystać z dokumentacji. set {_zmienna} to line 1 of lore of player's tool Takie coś na pewno nie zadziała, gdyż jedna zmienna może przechowywać jedną wartość. Lore jest listą, więc jeżeli chcesz go zapisać, robisz to w ten sposób: set {_lore::*} to lore of player's tool -
Usuń procenty z 'player' i zadziała. Upewnij się również, że zmienna mająca zawierać docelową lokalizację jest ustawiona. Procentów używa się jedynie w tekście i nazwach zmiennych.
-
Poprawiłem skrypt. Przyczyną okazały się niektóre wielkie litery w nazwach zmiennych, przez co nie zgadzały się. Testowałem ten pierwszy i nawet na serwer nie mogłem wejść, gdyż się wysypywał. Po poprawie działa bez zarzutu.
-
Dobra, zauważyłem błąd. Był on konkretnie w linijce nr 16, warunek zamiast sprawdzać czy zmienna jest ustawiona, sprawdzał czy zmienna nie jest ustawiona. Zedytowałem moją pierwszą odpowiedź (zawarty w niej skrypt).
-
1. Od kiedy wyskakuje ten błąd? Przypomnij sobie co zrobiłeś, że nagle tak się stało. 2. Kiedy dokładnie ten błąd wyskakuje? 3. Dlaczego masz TuSKe (fork TukeNuke'a)? Przecież to jest wersja jedynie na 1.12.2.
-
Tak dla pewności spytam. Czy zabrałeś sobie opa?
-
Skrypt na efekt regeneracji po zabiciu gracza.
Kormic odpowiedział(a) na FajtekMajtek pytanie w Zlecenia
W linijce nr 3 w cudzysłowie podajesz nazwę swojej permisji. on death of player: if attacker is a player: if attacker has permission "twoja.permisja": apply potion of regeneration 1 to attacker for 5 seconds- 9 odpowiedzi
-
- wampir
- regeneracja
-
(i 3 więcej)
Oznaczone tagami:
-
Skrypt na efekt regeneracji po zabiciu gracza.
Kormic odpowiedział(a) na FajtekMajtek pytanie w Zlecenia
1. Jeżeli coś zlecasz, zastanów się dokładnie co ma skrypt zawierać, bo wprowadzenie kilku poprawek jest ani tobie, ani mi na rękę. Prosiłbym, abyś na przyszłość o tym pamiętał. 2. Masz na myśli, że atakujący musi mieć permisję, aby mógł otrzymać ten efekt?- 9 odpowiedzi
-
- wampir
- regeneracja
-
(i 3 więcej)
Oznaczone tagami:
-
Użyj w tym celu gamerule'a. /gamerule doMobSpawning false Jeśli naprawdę musisz to zrobić poprzez skrypt... on spawn: if event-world is "world": cancel event
-
Skrypt na efekt regeneracji po zabiciu gracza.
Kormic odpowiedział(a) na FajtekMajtek pytanie w Zlecenia
Proszę. on death of player: if attacker is a player: apply potion of regeneration 1 to attacker for 5 seconds- 9 odpowiedzi
-
- wampir
- regeneracja
-
(i 3 więcej)
Oznaczone tagami:
-
W takim razie użyj Skripta do formatowania GUI.
-
Błąd leży w tej linijce: [ERROR] #!#! Current node: if discord id of event-channel is "{@id}": (enchant.sk, line 14) Spróbuj zamienić 'discord id' po prostu na 'id'.
-
Dobra, przerobiłem nieco skrypt, zobacz czy teraz zadziała. Zamieniłem również %id of event-user% na %{_arg-1}%, gdyż to tobie przypisywało w tym przypadku zmienną, nie argumentowi 1. discord command nagroda: prefixes: ! trigger: if discord id of event-channel is not "{@id}": reply with "Nie ten kanał!" stop set {_arg-1} to arg-1 if {_arg-1} is not set: reply with "Podaj nick!" stop if ({_arg-1} parsed as offline player) hasn't played before: reply with "Ten gracz nigdy wcześniej nie był na tym serwerze!" stop if {nagroda::%{_arg-1}%} is not set: reply with "Ten gracz już otrzymał nagrodę!" stop if ({_arg-1} parsed as offline player) is not online: reply with "Gracz jest offline!" stop reply with "Nadano nagrodę graczowi %{_arg-1}%!" broadcast "Gracz %{_arg-1}% otrzymał nagrodę!" give 1 diamond to {_arg-1} set {nagroda::%{_arg-1}%} to true Komenda się nie zmieniła, ciągle to jest '!nagroda'. Po spacji podajesz nick gracza, którego chcesz nagrodzić. Przetestuj cały skrypt poprzez: wpisywanie komendy na złym kanale nieuzupełnianie argumentu nr 1 podawanie nicku gracza, który nigdy wcześniej nie był na serwerze podawanie nicku gracza, który już wcześniej został nagrodzony podawanie gracza, który grał wcześniej na serwerze, ale obecnie jest offline Kiedy to wszystko zrobisz i skrypt będzie się odpowiednio zachowywał, to świetnie.
-
Testowałem przed chwilą twój skrypt i działa. Zrobiłem również jego skróconą i nieco ulepszoną wersję. command /test: trigger: set {_loc} to location of player set y-loc of {_loc} to 254 while block under {_loc} is not solid: remove 1 from y-loc of {_loc} set block above {_loc} to air set block at {_loc} to chest wait 1 tick Dzięki temu teraz skrzynka nie będzie się zatrzymywała na m.in. wodzie i na trawie.
