-
Ilość zawartości
11014 -
Rejestracja
-
Ostatnia wizyta
-
Wygrane w rankingu
231
Treść opublikowana przez Kormic
-
1. Próbowałeś bez 'location' w tej linijce? 2. Którą masz wersję Skripta?
-
Żaden dodatek nie odpowiada za komendy. Rejestrowanie własnych komend jest częścią Skripta. Dlaczego "nie czyta" u ciebie komend? Sprawdź czy coś się pokazuje w konsoli przy przeładowywaniu skryptu oraz przy próbie wykonywania tej komendy.
-
Proszę. Jeżeli nie będzie działało, w linijce nr 2 zamieniasz 'set block at' na 'set block at location'. every 5 minutes: set block at (random element out of {randomStones::*}) to stone command /saves: trigger: add location of block at player to {randomStones::*} send "&aPomyślnie dodano lokalizację bloku na koordynatach &6%location of the player%&a." to player
-
Nie możesz po prostu zrobić zwykłego conditionala czy cooldown jest większy od bądź równy 2? Do tego dajesz 'else if' sprawdzający czy cooldown jest większy od 0.
-
Nie zrobisz tego ładnie ani poprzez skrypt, ani poprzez plugin. Mam na myśli, że nie da się poprzez kod ustawić szybkości hoppera. Najprostszym sposobem byłoby przypisanie każdemu hopperowi cooldownu. Jeżeli transfer itemu poprzez hopper odbył się, a cooldown nadal trwa, to wycofujesz event. Sam widzisz, że roboty z tym tyle, co nie miara. Ustaw wartości hopper-amount oraz hopper-transfer tak jak ci Helios powiedział.
-
Wbrew pozorom ten skrypt nie jest taki prosty jak mógłby się wydawać. W jaki sposób chcesz przechwycić obrażenia w event'cie 'on block damage'? Czy mam zrobić to na zasadzie, że jedynie poziom sharpnessa decyduje o obrażeniach, czy najlepiej po prostu damage? Odchodząc od tematu przechwytywania obrażeń, czy ma być jakiś cooldown przy biciu bossa (np. 1 tick). Może to być niewielkie zabezpieczenie przed ludźmi, którzy włączą sobie macro, a HP bossa dosłownie się stopi.
-
Proszę. Różdżkę możesz otrzymać przy pomocy komendy /rozdzka. W linijce nr 3 zmieniasz moc wystrzału, może to być również liczba dziesiętna (np. 0.9, 1.7 itd.). on right click: if player's tool is blaze rod named "&aMagiczna Różdżka": shoot an armor stand from player with speed 3 command /rozdzka: trigger: give player 1 blaze rod named "&aMagiczna Różdżka"
-
Proszę. Wymagany Skript 2.5 oraz skript-reflect. on item spawn: if item amount of event-item is 1: set display name of event-entity to "%type of event-item%" in proper case else: set {_t} to "%type of event-item%" in proper case set display name of event-entity to "x%item amount of event-item% %{_t}%" on item merge: set {_t} to "%type of event-item%" in proper case set display name of event.getTarget() to "x%(item amount of event-item) + 1% %{_t}%"
-
Z tego co mi wiadomo, to zmiennych %hour%, %minute% itp. używało się jedynie w starszych wersjach Skripta. Obecnie robi się to w inny sposób, mianowicie zmienia się format zmiennej %now%. command /test: trigger: set {_t} to now formatted as "HH:mm" send "&bObecnie jest godzina&7: &6%{_t}%" Lista jednostek czasu: EDIT: Próbujesz wykonać komendę o danej godzinie czasu rzeczywistego czy Minecraftowego?
-
Cóż, skrypt zrobiłem, aczkolwiek trafiłem na ograniczenia skript-reflecta (castowanie do 'byte' niestety nie działa). Mimo wszystko masz kod, być może przyda ci się w innym celu. import: org.bukkit.material.MaterialData org.bukkit.Bukkit on left click: if player's tool is pumpkin named "&6&lDynietnica": player's location.getWorld().spawnFallingBlock(player's location, new MaterialData(Material.PUMPKIN, (byte)0)) push last spawned entity in the direction of player
-
Po prostu sprawdź czy args[0] jest nullem. Jeśli jest ustawiony, to wykonujesz dalszy kod i tyle.
-
Na co ci w takim razie ta skrzynia, skoro od razu się ma zamykać?
-
Wystarczy chwilę poszukać na forum...
-
Dobra, znalazłem o wiele prostszy sposób, bez zmiennych, bez wszelkich problemów. Użyj tego skryptu: command /zg: trigger: open inventory of block at location (-1869.5, 76.5, 352.5) in world "world" to player Ustaw gdzieś w niewidocznym miejscu dla graczy tę skrzynkę i tyle (możesz nawet zakopać głęboko pod ziemią). Następnie kopiujesz jej dokładne koordynaty. Jeśli nie wiesz jakie to są, użyj tego kodu: command /test: trigger: send "%location of targeted block%" to sender Wklejasz te koordynaty do skryptu i gotowe.
-
Zapewne przyczyną jest spawn-protection w pliku server.properties. Ustaw wartość spawn-protection na 0, powinno pomóc. Mimo wszystko to dziwne, żeby mimo posiadania operatora to w ten sposób działało.
-
Skript: wersja 2.5 (fork Matocolotoe) Dodatki: skript-reflect, SkQuery, Skellett oraz opcjonalnie SkBee Tyle powinno spokojnie wystarczyć.
-
Faktycznie, moje niedopatrzenie. W takim razie: on chat: if event-world is "Poczekalnia": set recipients to all players in world "Poczekalnia" else: remove all players in world "Poczekalnia" from recipients
-
Użyj eventu: on right click with compass: # Dalszy kod W miejscu '# Dalszy kod' wstawiasz tworzenie GUI (zaprezentowałem ci przykład wyżej) i przypisujesz do niego akcje przy pomocy 'on inventory click'. Do teleportacji wykorzystujesz komendę i wykonujesz poprzez gracza komendę za pomocą efektu: execute player command "server bedwars" I tyle.
-
Przydałby się jakiś skan pliku.
-
Niestety drogi przyjacielu, w ostatnich wersjach (a i być może już wcześniejszych) efekt 'join %texts% with %text%' się wysypał i ostatnio przekonałem się o tym na własnej skórze, przez co musiałem utworzyć własną funkcję spełniającą (przynajmniej po części) rolę wcześniej wspomnianego efektu. Możesz nawet dla testu sprawdzić wyżej wysłaną przez ciebie linijkę. Co do tej funkcji, oto ona: function joinListWith(list: objects, color: text, separator: text) :: text: set {_n} to 1 loop {_list::*}: if {_n} is 1: set {_t} to "%{_color}%%loop-value%%{_separator}%" else if {_n} is (size of {_list::*}): set {_t} to "%{_t}%%{_color}%%loop-value%" else: set {_t} to "%{_t}%%{_color}%%loop-value%%{_separator}%" add 1 to {_n} return "%{_t}%" Przykład: send "%joinListWith(all players, ""&a"", ""&8, "")%" Może ci się kiedyś przyda.
-
W takim razie po cholerę było to tłumaczenie ci robienia GUI w Skript? Na początku chciałeś dołączanie przez GUI, a teraz wymyślasz z kompasem. Ehh... Dobra, jak ma dostać ten kompas? Przy dołączeniu?
-
Niestety, ale zmienne muszą być, aby serwer wiedział do kogo użytkownik ostatnio napisał wiadomość i tego nie przeskoczysz. Była tutaj mowa o używaniu YAML w celu przechowywania zmiennych. A więc, YAML we wszystkich dodatkach (poza skript-yaml i kilkoma perełkami) wspierających go w Skript'cie został dosłownie spaprany. Tworzenie większych configów już może powodować problemy, a co dopiero przy tworzeniu baz danych. W Skript'cie najlepszym sposobem na przechowywanie danych są wbudowane w niego zmienne. Co do samego dodatku skript-yaml, jeżeli chcesz z nim tworzyć bazy danych, również tego odradzam. YAML jest językiem stworzonym do bycia czytelnym dla człowieka, dzięki czemu znajduje głównie zastosowanie w tworzeniu plików konfiguracyjnych i raczej nic ponad to. Tak więc podsumowując, używanie YAML jako baz danych w Skript'cie jest co najmniej okropnym pomysłem i jeżeli w dodatku zrobisz to poprzez jakiś dodatek, który spaprał u siebie wsparcie YAML, to zobaczysz ile ten dodatek będzie przechwytywał zmienne z wcześniej wspomnianej bazy danych. Użyj po prostu zmiennych w Skript i nie będzie problemu. PS. Nie martw się wielkością pliku 'variables', mówiłeś, iż urósł do niebezpiecznych rozmiarów. Zapewne urósł ci do rozmiarów rzędu 100 MB lub i nawet mniejszych. No cóż, rekordzistom nawet nie sięgasz do pięt. U niektórych ten plik ważył 4-5 GB i nie zauważyli prawie jakiejkolwiek różnicy w działaniu serwera. Mam jednego znajomego, u którego również plik 'variables.csv' waży grubo ponad 1 GB i z tego co mi mówił, to nie ma ogromnej różnicy w wydajności. To pokazuje, że zmienne w Skript są najlepszym sposobem na zapisywanie danych.
-
Proszę. on chat: if event-world is "Poczekalnia": set recipients to all players in world "Poczekalnia"
-
Musisz ustawić tę listę jako tekst, a następnie w tym tekście zamieniasz słówko 'and' na przecinek. Ot cała filozofia. command /gracze: trigger: set {_var} to "%all players%" replace all " and " with ", " in {_var} send "&2Gracze: &1%{_var}%" to sender
-
Używasz w komendzie 'usage', dajesz je nad 'trigger'. usage: &cArgumentem nr &41 &cmusi byc jakiś enchant, &e(np. &6sharpness 1&e) trigger: # Dalszy kod
