-
Ilość zawartości
11014 -
Rejestracja
-
Ostatnia wizyta
-
Wygrane w rankingu
231
Treść opublikowana przez Kormic
-
W skrócie masz rację. Dokładniej to w natywnym Skript'cie tego nie zrobisz. Być może jednak istnieje jakiś specjalnie przystosowany do tego dodatek, poszukaj.
-
Zapewniam cię, że zapętlanie wszystkich bloków w świecie na pewno nie skończy się dobrze. Przecież jest ich co najmniej miliardy...
-
Musiałbyś kurczakowi zaimplementować AI jakiegoś wrogiego moba, np. zombie. Bez tego niewiele zrobisz. Możesz co prawda na wersjach 1.9+ zrobić tak, aby zombie ujeżdżał kurczaka i uczynić go niewidzialnym (spowoduje to, że kurczak będzie podążał za graczami i villagerami), ale i tak ten kurczak nie będzie bił.
-
U mnie na SkBee nie ma jakiegokolwiek błędu. Dodam, że SkBee jest następcą Sk-NBeeT.
-
Miałbym taki pomysł: --- Tabliczka (%location%, %world%) --- 1: Jakis 2: Tam 3: Przykladowy 4: Tekst # I tak dalej w kółko... Tak jak Pan Maruda powiedział, nie da się tego zrobić w jakikolwiek sposób. Niemożliwym jest w jakikolwiek sposób przechwycić kto kiedyś zrobił jakąś tam tabliczkę, gdyż najzwyczajniej w świecie Minecraft nie zapisuje tego typu informacji. Można zapisywać jedynie nowo postawione tabliczki.
-
Proszę, stworzyłem mały przykład. Wymagany dodatek wspierający używanie NBT w Skript (np. SkBee). command /test: trigger: open chest inventory with 3 rows named "&6&lTest" to player set slot (integers between 0 and 26) of player's current inventory to gray stained glass pane named " " set slot 13 of player's current inventory to player head with nbt "{display:{Name:""{\""text\"":\""Copper Ore\""}""},SkullOwner:{Id:[I;540197263,-85047891,-1440433843,2048457240],Properties:{textures:[{Value:""eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGU3OTNhOTIyYTk5MzdhMjhlMTQ5ZDU4MjEyYzAwZDc2MDViYjY4ZDZhYjFiMzQ1ODc3YjNlNGNmNzc0MGI0MCJ9fX0=""}]}}}" Przy podawaniu NBT główki należy pamiętać o podwojeniu wszystkich cudzysłowów w nim.
-
Jak ma to zadziałać? Skript bazuje głównie na eventach. Skąd ma wiedzieć kiedy ma sprawdzić ten warunek? Czy wiesz dodatkowo co oznacza {zmienna::*}? Jest to lista zmiennych, nie rozumiem, dlaczego ją zastosowałeś w tym przypadku.
-
Jak wszyscy wiedzą, tabliczka ma 4 linijki. W takim razie jak powinno być to zapisywane? Podałbyś jakiś format? Tutaj nie rozumiem co masz na myśli. Mógłbyś to wytłumaczyć?
-
Proszę. on load: set {listaKomend::*} to "schowek" and "spawn" on command: player doesn't have permission "admin.komendy" {listaKomend::*} doesn't contain command cancel event send "Nie ma komendy %command% przykro mi" to player
-
Nasłuchujesz do eventu 'on inventory click', sprawdzasz nazwę GUI, następnie sprawdzasz kliknięty slot i jeżeli jest nim ten konkretny slot, to anulujesz event.
-
Owszem, można. Mimo wszystko zalecam sprawdzić czy plugin w plikach konfiguracyjnych nie pozwala na wprowadzenie polskich aliasów komend (przy dzisiejszych pluginach jest to często spotykane).
-
Jedynym sposobem byłoby pokombinowanie z eventem 'on inventory click' i sprawdzanie czy typem inventory jest 'beacon inventory'. Jeżeli tak, to w zależności od akcji gracza tworzysz do tego kod i opcjonalnie anulujesz event.
-
Niestety taki skrypt będzie obciążał serwer i przy pierwszych sekundach działania niemalże na pewno spowoduje zatrzymanie pracy serwera. Mimo wszystko jeżeli jesteś na tyle odważny... Dodałem 3 przykładowe przedmioty, które mogą być dodane przy regeneracji shulker boxów, która odbywa się co 10 minut. on chunk load: loop blocks within event-chunk: loop-block is any shulker box or chest {lista::*} doesn't contain location of loop-block add location of loop-block to {lista::*} on break: event-block is any shulker box or chest {lista::*} contains location of event-block remove location of event-block from {lista::*} every 10 minutes: loop {lista::*}: inventory of block at loop-value is empty loop 27 times: set {_r} to random integer between 1 and 100 if {_r} is between 1 and 20: set slot (loop-number - 1) of (inventory of block at loop-value-1) to (random integer between 1 and 5) of diamonds else if {_r} is between 21 and 40: set slot (loop-number - 1) of (inventory of block at loop-value-1) to (random integer between 1 and 3) of golden apples else if {_r} is between 41 and 60: set slot (loop-number - 1) of (inventory of block at loop-value-1) to (random integer between 1 and 2) of emeralds
-
Gorąco zachęcam do zapoznania się z poradnikiem mojego drogiego przyjaciela, Pana Marudy. Poradnik wyczerpuje niemalże wszystko to, co dotyczy definiowania komend w Skript'cie.
-
W Skript'cie (tak samo jak w wielu innych językach programowania) kod wykonuje się od góry do dołu. Tak więc jeżeli ustawisz zmienną na true, to następny warunek się zgadza i od razu gracz przestaje być AFK. Po ustawianiu zmiennej na 'true' musisz dać w bloku warunku 'stop', aby następny warunek się nie wykonał. Mimo wszystko zamiast ustawiać zmienne na 'false' i 'true', lepiej jest po prostu sprawdzać czy jest ustawiona, czy też nie (za pomocą warunku 'if zmienna is set/not set:').
-
Proszę, powinno pomóc. W ostatniej linijce dałem przykładową zmienną zawierającą lokalizację spawnu. on right click on player: player has permission "kill.mc" if {cooldown::kill::%player%} is set: if difference between {cooldown::kill::%player%} and now is less than 20 seconds: send "&cNie możesz jeszcze zabić gracza!" to player stop set {cooldown::kill::%player%} to now set block at player's location to ("%clicked player%" parsed as offline player)'s skull teleport clicked player to {loc::spawn}
-
Jeżeli ten plugin nie ma jakiegoś API, będzie to cholernie ciężko zrobić. Mimo wszystko i tak robienie tego w Skrypcie samo w sobie jest upierdliwe i trudne.
-
W jaki sposób odbywa się logowanie?
-
Ograniczenie spawnu konkretnych mobów
Kormic odpowiedział(a) na MrWinex66 pytanie w Pytania i problemy
Proszę. Prosty skrypt na ograniczenie ilości villagerów o 50%. on spawn of villager: chance of 50%: "%spawn reason%" is "natural" or "mob spawner" cancel event -
Sprawdzasz rangę za pomocą wyrażenia 'player's group'. Wymagany Vault i plugin wspierający permisje oraz grupy. if player's group is "Admin": # Dalszy kod To sprawdza pierwszą grupę gracza. Jeżeli chcesz wszystkie grupy, używasz 'player's groups'.
-
Powinno być 'to nbt of {_ironpickaxe}', nie 'of nbt of {_ironpickaxe}'. Już pomijam fakt źle zrobionych wcięć w kodzie. Jeżeli to nie zadziała, możesz spróbować tak samo ze składnią do rejestrowania receptur w SkQuery (różni się tym jedynie, że na końcu nie ma 'with id %string%').
-
W jaki sposób ma odbywać się ta regeneracja?
-
Wpisz na serwerze /ver Skript i podaj wersję, której używasz.
-
Proszę. Wymagany Skript 2.5+. function newLineMaker(o: objects) :: text: set {_int} to 1 loop {_o::*}: if {_int} is 1: set {_e} to "&7%loop-value%" if size of {_o::*} is greater than 1: set {_e} to "%{_e}%%nl%" else: exit loop else if {_int} is between 2 and (size of {_o::*} - 1): set {_e} to "%{_e}%&7%loop-value%%nl%" else if {_int} is size of {_o::*}: set {_e} to "%{_e}%&7%loop-value%" add 1 to {_int} return {_e} on chat: message is "[eq]" or "[item]" cancel event player's tool is not air set {_t} to "%player's tool's type%" in strict proper case set {_n} to player's tool's name if {_n} is set: set {_msg} to "<tooltip:%{_n}%%nl%%newLineMaker(player's tool's enchantments)%%nl%%newLineMaker(player's tool's lore)%>&6%item amount of player's tool%x &b%{_t}%" if {_msg} contains "<none>": replace all "<none>" and nl with "" in {_msg} send formatted {_msg} else: set {_msg} to "<tooltip:%{_t}%%nl%%newLineMaker(player's tool's enchantments)%%nl%%newLineMaker(player's tool's lore)%>&6%item amount of player's tool%x &b%{_t}%" if {_msg} contains "<none>": replace all "<none>" and nl with "" in {_msg} send formatted {_msg}
-
W zły sposób to zrobiłeś... if player's tool's name is "cos":
