-
Ilość zawartości
11014 -
Rejestracja
-
Ostatnia wizyta
-
Wygrane w rankingu
231
Treść opublikowana przez Kormic
-
Proszę.
-
Dobra, pomęczyłem się trochę z tym skryptem i już wszystko działa Co do wymaganych pluginów nic się nie zmieniło. Przy okazji możesz sobie dorzucić do skryptu taką komendę: command /daj <text>: trigger: if player is not op: stop if arg 1 is "miecz": give player 1 diamond sword named "&ePazurek" if arg 1 is "zbroja": give player 1 diamond chestplate named "&ePazurek" Dzięki niej będziesz mógł przywołać sobie itemy do testowania.
-
Mógłbym obejść się i bez tego, ale w tamtym temacie autor tematu (gnomq) poprosił, aby było powiadomienie gdy skończy się ochrona.
-
Zdałem sobie wcześniej z tego sprawę, że pętle 'while' nie reaktywują się po restarcie serwera. Dlatego też zastosowałem pętlę 'every 1 second:'. Dzięki temu nikt nic nie straci i wszyscy będą szczęśliwi. Też aby ograniczyć loopowanie wszystkich graczy co sekundę, dodałem tych chronionych do listy. Zresztą, zobacz poprawiony skrypt i sam zrozumiesz.
-
Nie zamykaj jeszcze tematu, nie ma sensu robić kolejnego jak się pojawi jakiś błąd. Jeśli nie chcesz tyle czekać to zmień czas w linijce nr 3 z '12 hours' na np. '1 minute'.
-
Spróbuj w ten sposób: every 1 second: loop {ochrona::itemow::gracze::*}: if difference between {ochrona::itemow::czas::%loop-value%} and now is less than 12 hours: continue clear {ochrona::itemow::czas::%loop-value%} remove loop-value from {ochrona::itemow::gracze::*} if loop-value is online: send " &8● &cOchrona twoich itemów skończyła się! Powodzenia!" to loop-value else: add loop-value to {ochrona::itemow::powiadomienie::*} on first join: add player to {ochrona::itemow::gracze::*} set {ochrona::itemow::czas::%player%} to now on join: if {ochrona::itemow::powiadomienie::*} doesn't contain player: stop remove player from {ochrona::itemow::powiadomienie::*} send " &8● &cOchrona twoich itemów skończyła się! Powodzenia!" to player on death of player: if {ochrona::itemow::czas::%victim%} is not set: stop keep items and xp cancel drops Proszę. EDIT: Mała poprawka.
-
Miałem ten sam problem, efekty typu smoke itp. jakoś dziwnie lecą zawsze w jednym kierunku. Niektóre efekty zachowują się poprawnie, niektóre nie.
-
Najwyżej możesz zrobić coś takiego. Najpierw przetestuj sobie samą komendę, jak ci się spodoba, to usuń pętlę z komentarzy. Pamiętaj tylko, że to zmienia nazwy wszystkich itemów. W drugiej linijce masz kolorki, kolejne dodajesz sobie po przecinku. function rainbowNapis(t: text) :: text: set {_k} to "3,4,5,6,9,a,b,c,d,e" set {_k::*} to {_k} split at "," set {_t::*} to {_t} split at "" set {_n} to "&%random element out of {_k::*}%" loop {_t::*}: add 1 to {_num} if {_num} is 1: set {_n} to "%{_n}%%loop-value%" else: set {_s} to "&%random element out of {_k::*}%" set {_n} to "%{_n}%%{_s}%%loop-value%" return colored "%{_n}%" command /test: trigger: if player is not op: stop set {_n} to uncoloured name of player's tool set name of player's tool to rainbowNapis("%{_n}%") #every 1 second: # loop all players: # if loop-player's tool is air: # continue # if loop-player's tool's name is not set: # continue # set {_n} to uncoloured name of loop-player's tool # set name of loop-player's tool to rainbowNapis("%{_n}%") EDIT: Poprawiłem skrypt, loop-player wkradł się do komendy
-
Spróbuj tak: every 1 second: loop all players: if {butyHermesa::particles::*} contains loop-player: remove loop-player from {butyHermesa::particles::*} if loop-player's boots is not diamond boots named "&atest": continue apply potion of speed 3 without any particles to loop-player for 1 second add loop-player to {butyHermesa::particles::*} every 5 ticks: loop {butyHermesa::particles::*}: loop 3 times: play mob spawner flames at loop-value-1 oraz tak: every 5 ticks: loop all players: if loop-player's boots is not netherite boots named "&atest": continue apply potion of speed 3 without any particles to loop-player for 1 second loop 3 times: play mob spawner flames at loop-player
-
Nie, potrzebny jest Skript 2.2-dev32 lub wyższy.
-
Sprawdź czy zadziała. Wymagany Vault oraz jakiś plugin wspierający ekonomię (np. Essentials). EDIT: Dodałem kilka poprawek.
-
every 1 second: loop all players: if loop-player's boots is not diamond boots named "&atest": continue apply potion of speed 3 without any particles to loop-player for 1 second play mob spawner flames at loop-player Dodaj sobie odpowiedni efekt (6 linijka) z tej listy: https://skriptlang.github.io/Skript/classes.html#visualeffect
-
every 1 second: loop all players: if loop-player's boots is not netherite boots named "&atest": continue apply potion of speed 3 without any particles to loop-player for 1 second Gdyby event 'on armor change' (w Skript'cie) był bardziej rozbudowany i mógł przechwytywać zdjętą zbroję, to bym go użył. A że pozwala przechwycić tylko nową zbroję, to trzeba to zrobić to w ten sposób.
-
Testowane, działa. every 1 second: loop all players: if {butyHermesa::lastLoc::%loop-player%} is not set: set {butyHermesa::lastLoc::%loop-player%} to location of the loop-player continue set {_dist} to distance between location of the loop-player and {butyHermesa::lastLoc::%loop-player%} if loop-player's boots is not netherite boots named "&atest": continue if loop-player has speed: if {_dist} is less than 0.1: remove speed from loop-player clear {butyHermesa::pokonaneBloki::%loop-player%} add round({_dist}) to {butyHermesa::pokonaneBloki::%loop-player%} set {butyHermesa::lastLoc::%loop-player%} to location of the loop-player if {butyHermesa::pokonaneBloki::%loop-player%} is less than 10: continue clear {butyHermesa::pokonaneBloki::%loop-player%} apply potion of speed 1 to loop-player for 3 minutes
-
Dobra, zrobiłem coś takiego. Należy stworzyć dwa regiony, pierwszy to "koniec_granicamapy", ma mieć rozmiary mapy i być rozszerzony poprzez //expand vert, drugi to "powiadomienie_granicamapy", ma być mniejszy o 30 kratek od pierwszego regionu i również przy nim używamy //expand vert. Jeśli chcesz odpychanie, to trzeba zrobić odpychanie w kierunku pewnej lokalizacji, np. środka mapy. W tym przypadku należy sobie ustawić punkt centralny mapy do zmiennej {loc::spawn}. Tutaj skrypt: on leaving of region "koniec_granicamapy": push player upwards wait 1 tick push player (vector from player to {loc::spawn}) cancel event send title "&cStop!" with subtitle "&6Dotarles do granicy mapy!" to player on command: if command is not "/zaloz" or "/powieksz": stop if "%region at player%" contains "powiadomienie_granicamapy": stop cancel event send "&cJestes zbyt blisko granicy mapy!" to player on teleport: if "%region at player%" doesn't contain "koniec_granicamapy": cancel event send "&cNie mozesz przekroczyc granicy mapy!" to player Jeśli coś nie będzie działało, daj znać, a poprawię.
-
Dla wszystkich w potrzebie załączam funkcję translateTimespan(): function translateTimespan(t: timespan) :: text: set {_t} to "%{_t}%" replace all "seconds" with "sekund" in {_t} replace all "second" with "sekunde" in {_t} replace all "minutes" with "minut" in {_t} replace all "minute" with "minute" in {_t} replace all "hours" with "godzin" in {_t} replace all "hour" with "godzine" in {_t} replace all "months" with "miesiecy" in {_t} replace all "month" with "miesiac" in {_t} replace all "years" with "lat" in {_t} replace all "year" with "rok" in {_t} return "%{_t}%" Wystarczy ją wkleić gdzieś do kodu (najlepiej na górze).
-
1. Przecież border sam w sobie blokuje przekraczanie granicy mapy (jeśli chcesz coś nowego, to sprecyzuj). 2. To można spokojnie zrobić. 3. To również jest łatwe do zrobienia. Odpowiedz na punkt nr 1, to będę w stanie pomóc.
-
on right click: if player's tool is not golden pickaxe named "&atest": stop if clicked block is not bedrock: stop if {superKilof::cooldown::%player%} is not set: set {superKilof::cooldown::%player%} to now subtract 1 minute from {superKilof::cooldown::%player%} if difference between {superKilof::cooldown::%player%} and now is less than 1 minute: set {_c} to {superKilof::cooldown::%player%} add 1 minute to {_c} set {_diff} to difference between {_c} and now set {_diff} to translateTimespan({_diff}) send "&cMozesz uzyc niszczenia bedrocka ponownie za &6%{_diff}%&c!" to player stop set {superKilof::cooldown::%player%} to now break clicked block naturally create a fake explosion at clicked block Wymagana tutaj jest funkcja translateTimespan (ta z moich poprzednich skryptów z chociażby cooldownem na czat).
-
Proszę. on consume: if event-item is not honey bottle named "&atest": stop if {honeyBottle::zachowanyEkwipunek::gracze::*} contains player: cancel event send "&cJuz raz wypiles butelke miodu, wiec przy najblizszej smierci twoj ekwipunek bedzie zachowany!" to player stop add player to {honeyBottle::zachowanyEkwipunek::gracze::*} send "&aPrzy najblizszej smierci twoj ekwipunek bedzie zachowany." to player on death: if {honeyBottle::zachowanyEkwipunek::gracze::*} doesn't contain victim: stop keep inventory and xp on respawn: if {honeyBottle::zachowanyEkwipunek::gracze::*} doesn't contain player: stop remove player from {honeyBottle::zachowanyEkwipunek::gracze::*} send "&aTwoj ekwipunek zostal zachowany dzieki mocy butelki!" to player
-
Proszę. on right click: if player's tool is not golden pickaxe named "&atest": stop if clicked block is not bedrock: stop if {superKilof::cooldown::%player%} is not set: set {superKilof::cooldown::%player%} to now subtract 1 minute from {superKilof::cooldown::%player%} if difference between {superKilof::cooldown::%player%} and now is less than 1 minute: stop set {superKilof::cooldown::%player%} to now break targeted block naturally create a fake explosion at clicked block
-
Dobra, przetestowałem i działa:
-
Dodałem nowy kod wyżej, sprawdzałem i działa.
-
add 1 golden apple named "&atest" to slot (player's current hotbar slot) of player's inventory EDIT: Ulepszona wersja: on consume: if event-item is not golden apple named "&atest": stop set {_s} to player's current hotbar slot wait 1 tick add 1 golden apple named "&atest" to slot {_s} of player's inventory Proszę.
-
1. Twoi gracze mają ciekawe nicki. 2. Ustawianie wiadomości odpada, chyba jedynie można zrobić &c&o*ignorujesz gracza &6%player%*. EDIT: Nie lepiej zrobić, że po prostu nic się nie pokazuje? Jeżeli jeden gracz będzie chciał coś od drugiego, to ten drugi dostanie np. 5x tę samą wiadomość.
