-
Ilość zawartości
600 -
Rejestracja
-
Wygrane w rankingu
5
Treść opublikowana przez piratjsk
-
W jaki sposób mogę zrobić listę regionów,
piratjsk odpowiedział(a) na jakubgross pytanie w Pytania i problemy
Podaj treść błędu i kod skryptu to coś poradzimy. -
dodatek PirateSK - piracki dodatek dla Skript
piratjsk odpowiedział(a) na piratjsk temat w Dodatki i narzędzia
To już jest w czystym Skript: (kod wysyła wiadomość "Region: <nazwa regionu>" gdy wejdziemy na jakiś region) on region enter: send "Region: %region%" -
tak febbe?
-
Tworzysz granicę świata: /wb set <ilość kratek> Generujesz wszystkie chunki w obrębie granicy: /wb fill, /wb fill confirm Chunki są generowane i usuwane z pamięci (lub w ogóle do niej nie ładowane, nie wiem jak to dokładnie jest) więc po wygenerowaniu mapy nie powinno być żadnych lagów, a wręcz przeciwnie: gracze nie będą generować mapy więc nie będzie to powodować lagów.
-
Dzieje się tak tylko wtedy gdy gracz zostanie teleportowany na teren, który nie został jeszcze wygenerowany. Nie mam pomysłu jak temu zaradzić w Skript. Wyjściem może być wcześniejsze wygenerowanie mapy, np. za pomocą pluginu WorldBorder.
-
W jaki sposób mogę zrobić listę regionów,
piratjsk odpowiedział(a) na jakubgross pytanie w Pytania i problemy
Jest to dodatek do Skript taki jak WildSkript, skQuery czy RandomSK. PirateSK na razie udostępnia kilka efektów, za pomocą których można zarządzać regionami z WG. -
W jaki sposób mogę zrobić listę regionów,
piratjsk odpowiedział(a) na jakubgross pytanie w Pytania i problemy
Przy każdym przeładowaniu skryptu ponownie dodajesz nazwy do listy więc w zależności ile reloadów tego skryptu zrobiłeś tyle razy wykonuje komendę dla każdego z tych regionów. Żeby temu zapobiec możesz skorzystać z takiego kodu: on load: {cuby::*} is not set: add "serwerpvp" to {cuby::*} add "pvp_vip" to {cuby::*} add "pvp_gracz" to {cuby::*} # dalsza czesc nie jest konieczna ale moze sie przydac {cuby::*} do not contain "serwerpvp": add "serwerpvp" to {cuby::*} {cuby::*} do not contain "pvp_vip": add "pvp_vip" to {cuby::*} {cuby::*} do not contain "pvp_gracz": add "pvp_gracz" to {cuby::*}Oczywiście najpierw musisz usunąć listę którą już utworzyłeś: delete {cuby::*} -
Dałoby się: loop {punkty.gildia::*}: set {_lista::%loop-index%} to loop-value loop 16 times: loop {_lista::*}: {_v.%loop-number%} is not set: set {_v.%loop-number%} to loop-value set {_n.%loop-number%} to loop-index loop-value is greater than {_v.%loop-number%}: set {_v.%loop-number%} to loop-value set {_n.%loop-number%} to loop-index {_v.%loop-number%} is not 0: set {mg.%loop-number%} to {_n.%loop-number%} delete {_lista::%{_n.%loop-number%}%}Ten kod powinien zapisywać do zmiennych {mg.%miejsce%} tylko gildie, które mają więcej niż 0 pkt.
-
Dałoby się: options: world: world x-max: 100 x-min: -100 z-max: 100 z-min: -100 on rightclick on button: if block behind target block is sponge: set {_loc} to location at random integer between {@x-min} and {@x-max}, 256, random integer between {@z-min} and {@z-max} in "{@world}" while block under {_loc} is air or lava: remove 1 from y-coords of {_loc} block under {_loc} is lava: set {_loc} to location at random integer between {@x-min} and {@x-max}, 256, random integer between {@z-min} and {@z-max} in "{@world}" loop players in radius 5 around block behind block: teleport loop-player to {_loc} teleport player to {_loc}
-
Kod, który podałem sprawdzałem i działa poprawnie. Błąd musisz mieć gdzieś w kodzie na wyświetlanie tab. Jak go podasz to coś poradzimy.
-
Kodu nie testowałem. command /msg [<text>] [<text>]: trigger: player has permission "msg.admin": arg 1 is "on" or "off": arg 2 is set: set {_p} to arg 2 parsed as offline player {_p} is a player: arg 1 is "on": delete {msg.off.%arg 2%} send "Wlaczyles mozliwosc pisania /msg dla gracza %arg 2%." stop arg 1 is "off": set {msg.off.%arg 2%} to true send "Wylaczyles mozliwosc pisania /msg dla gracza %arg 2%." stop send "Nie znaleziono gracza %arg 2%." stop send "Uzycie: /msg %arg 1% <nick>" stop {msg.off.%player%} is true: send "Masz zablokowana mozliwosc pisania pw." stop arg 1 is set: set {_p} to arg 1 parsed as offline player {_p} is a player: arg 2 is set: {msg.ignore.%arg 1%::%player%} is true: send "Gracz %arg 1% ignoruje pw od Ciebie." stop send "[pw] %player%: %arg 2%" to {_p} send "[pw] %player%: %arg 2%" loop all players: {msg.spy.%loop-player%::%player%} is true: send "[pw] %player% -> %arg 1%: %arg 2%" to loop-player stop {msg.spy.%loop-player%::%arg 1%} is true: send "[pw] %arg 1% -> %player%: %arg 2%" to loop-player stop stop send "Uzycie: /msg %arg 1% <wiadomosc>" stop send "Nie znaleziono gracza %arg 2%." stop send "Uzycie: /msg <nick> <wiadomosc>"command /social [<text>] [<offline player>]: trigger: player has permission "msg.admin": arg 1 is "on" or "off": arg 2 is set: arg 2 is a player: arg 1 is "on": set {msg.spy.%player%::%arg 2%} to true send "Wlaczyles podglad pw wyslanych przez/do gracza %arg 2%." stop arg 1 is "off": delete {msg.spy.%player%::%arg 2%} send "Wylaczyles podglad pw wyslanych przez/do gracza %arg 2%." stop send "Nie znaleziono gracza %arg 2%." stop send "Uzycie: /social %arg 1% <nick>" stop stop send "Uzycie: /social <no/off> <nick>"command /ignoremsg [<offline player>]: trigger: arg is set: {msg.ignore.%player%::%arg%} is true: delete {msg.ignore.%player%::%arg%} send "Przestales ignorowac pw od gracza %arg%." stop set {msg.ignore.%player%::%arg%} to true send "Ignorujesz pw od gracza %arg%." stop send "Uzycie: /ignoremsg <nick>"
-
tak. Juraso
-
nie. herhor
-
tak. Juraso
-
Na początek: Gratuluję Ci @TeseuS ponad 6 miesięcznego odkopu. Ess jest be. Skrypt był pisany około 8 miesięcy temu. Aktualizacji raczej żadnej nie będzie.
-
Dodanie wartości do zmiennej w variables
piratjsk odpowiedział(a) na Invictus pytanie w Pytania i problemy
Nie możesz dodać tekstu do zmiennej przechowującej liczbę. Możesz ten problem rozwiązać w dwa sposoby. sposób nr 1: command /test [<text>] [<integer>]:Definiujesz typ 2 argumentu jako integer (liczba całkowita) lub number (każda liczba). sposób nr 2: set {_i} to arg 2 parsed as integeradd {_i} to {test.%player%}Przed linijką dodającą argument do zmiennej dodajesz linijkę prasującą ten argument jako integer lub number do zmiennej tymczasowej, po czym dodajesz tą zmienną do Twojej zmiennej. -
options: world: world x-max: 100 x-min: -100 z-max: 100 z-min: -100on rightclick on button: if block behind target block is sponge: set {_loc} to location at random integer between {@x-min} and {@x-max}, 256, random integer between {@z-min} and {@z-max} in "{@world}" while block under {_loc} is air or lava: remove 1 from y-coords of {_loc} block under {_loc} is lava: set {_loc} to location at random integer between {@x-min} and {@x-max}, 256, random integer between {@z-min} and {@z-max} in "{@world}" {rtpg.%player%::*} is set: loop {rtpg.%player%::*}: loop-value is true set {_p} to loop-index parsed as player teleport {_p} to {_loc} delete {rtpg.%loop-index%::*} delete {rtpg.%player%::*} teleport player to {_loc}on right click on player: {rtpg.%clicked player%::%player%} is false: set {rtpg.%clicked player%::%player%} to true send "Zaakceptowales zaproszenie gracza %clicked player%." send "Gracz %player% zaakceptowal twoje zaproszenie." to clicked player stop set {rtpg.%player%::%clicked player%} to false send "Wyslales zaproszenie do gracza %clicked player%." send "Kliknij ppm na gracza %player% aby przyjac jego zaproszenie do grupy." to clicked playerSkrypt nie testowany ale powinien działać. Żeby się z kimś teleportować trzeba kliknąć na tego kogoś ppm i ten ktoś musi kliknąć w ciebie. Gdy przeklikasz się już z wszystkimi graczami, z którymi chcesz się przenieść musisz kliknąć w przycisk leżący na gąbce.
-
W jaki sposób mogę zrobić listę regionów,
piratjsk odpowiedział(a) na jakubgross pytanie w Pytania i problemy
Da się. Dodajesz nazwy regionów do listy: add "nazwa regionu" to {cuby::*}Zapętlasz ją i wykonujesz np. komendy odwołując się do zapętlonej wartości (loop-value): loop {cuby::*}: execute player command "/rg select %loop-value%" execute player command "//set 35:14" Do wypełniania blokiem regionów z wg możesz skorzystać z addonu PirateSK: set blokcs in wg region "serwerpvp" in "nazwa swiata z cubem" to red woolset blokcs in wg region "pvp_vip" in "nazwa swiata z cubem" to red woolset blokcs in wg region "pvp_gracz" in "nazwa swiata z cubem" to red woolloop {cuby::*}: set blocks in wg region "%loop-value%" in "nazwa swiata z cubami" to red wool -
Trochę poprawiłem i skróciłem Twój kod na pobranie pierwszych 15 miejsc: loop {punkty.gildia::*}: set {_lista::%loop-index%} to loop-valueloop 15 times: loop {_lista::*}: {_v.%loop-number%} is not set: set {_v.%loop-number%} to loop-value set {_n.%loop-number%} to loop-index loop-value is greater than {_v.%loop-number%}: set {_v.%loop-number%} to loop-value set {_n.%loop-number%} to loop-index set {mg.%loop-number%} to {_n.%loop-number%} delete {_lista::%{_n.%loop-number%}%}Jeśli chcesz wyzerować pkt jakiejś gildii to możesz skorzystać np. z takiego skryptu: command /usunpunkty [<text>]: trigger: if arg is not set: send "Podaj nazwe gildii: /usunpunkty <nazwa>" else: if {punkty.gildia::%arg%} is not set: send "Nie znaleziono gildii %arg%." else: set {punkty.gildia::%arg%} to 0Pkt danej gildii zostaną wtedy wyzerowane, oczywiście aby zmienne {mg.%miejsce%}, do których zapisujesz nazwy graczy zostały zaktualizowane musisz ponownie użyć pierwszego kodu.
-
W ogólnym opisie obiektów w doc pisze: Czyli [Object] w doc poszczególnych obiektów odnosi się do [id].[nazwa obiektu]. W przypadku ekwipunków [Object] będzie miało postać [id].Inventory.
- 96 odpowiedzi
-
- wildskript
- dzikoysk
-
(i 1 więcej)
Oznaczone tagami:
-
dodatek PirateSK - piracki dodatek dla Skript
piratjsk odpowiedział(a) na piratjsk temat w Dodatki i narzędzia
Aktualizacja. Trochę porządków w kodzie. Każdy element można teraz użyć tylko w jeden sposób. Dodany efekt pozwalający na wypełnienie regionu danym blokiem. -
narzędzie Kolorowanie składni Skript dla Sublime Text 3
piratjsk odpowiedział(a) na piratjsk temat w Dodatki i narzędzia
Zdarzenia są dodane już chyba wszystkie, jest też trochę efektów i innych rzeczy, za jakiś czas (mam nadzieję, że krótszy niż dłuższy) wezmę się za to i skończę ten dodatek.- 76 odpowiedzi
-
- sublime text 3
- sublime
-
(i 2 więcej)
Oznaczone tagami:
-
narzędzie Kolorowanie składni Skript dla Sublime Text 3
piratjsk odpowiedział(a) na piratjsk temat w Dodatki i narzędzia
Na najnowszej wersji ST3 (build 3065) wszystko ładnie działa.- 76 odpowiedzi
-
- sublime text 3
- sublime
-
(i 2 więcej)
Oznaczone tagami:
-
Jeśli lista ma postać {rank.r::%nazwa gracza%} = pkt, to najłatwiej chyba tak: command /zreuj [<text>]: trigger: arg is set: {rank.r::%arg%} is set: delete {rank.r::%arg%} send "wyzerowales pkt gracza %arg%" stop send "nie znaleziono gracza %arg%" stop send "kogo pkt chcesz wyzerowac? /zeruj <nick>"
