Skocz do zawartości

piratjsk

Użytkownik
  • Ilość zawartości

    600
  • Rejestracja

  • Wygrane w rankingu

    5

Treść opublikowana przez piratjsk

  1. Podaj treść błędu i kod skryptu to coś poradzimy.
  2. To już jest w czystym Skript: (kod wysyła wiadomość "Region: <nazwa regionu>" gdy wejdziemy na jakiś region) on region enter: send "Region: %region%"
  3. piratjsk

    LICZYMY DO MILIONA

  4. tak febbe?
  5. 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.
  6. 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.
  7. 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.
  8. 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::*}
  9. 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.
  10. 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}
  11. 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.
  12. piratjsk

    /msg

    Kodu nie testowałem. command /msg [<text&gt] [<text&gt]: 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&gt] [<offline player&gt]: 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&gt]: 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>"
  13. tak. Juraso
  14. nie. herhor
  15. tak. Juraso
  16. 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.
  17. 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.
  18. 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.
  19. 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
  20. 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&gt]: 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.
  21. piratjsk

    [1.8] WildSkript

    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.
  22. 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.
  23. 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.
  24. Na najnowszej wersji ST3 (build 3065) wszystko ładnie działa.
  25. Jeśli lista ma postać {rank.r::%nazwa gracza%} = pkt, to najłatwiej chyba tak: command /zreuj [<text&gt]: 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>"
×
×
  • Dodaj nową pozycję...