Skocz do zawartości

Kormic

Zasłużony
  • Ilość zawartości

    11012
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    230

Treść opublikowana przez Kormic

  1. Ponieważ nadal nie podałeś wszystkich informacji, to ponownie dopytam: 1. Co do punktu 2. mam kolejne pytanie... Co to ma być za skrzynia? To mają być case'y? 2. Co do punktu 3. również mam pytanie. Pytałem o sockety (gniazda) na ów kryształy i runy, odpowiedz czy ma być coś takiego, jeśli tak, to ile? 3. W jaki sposób ma być używana biżuteria? Sprecyzuj o co ci chodzi. Ma to się odbywać poprzez trzymanie biżuterii w ekwipunku czy w ręce lub w jakiś inny sposób? 4. W jaki sposób mają być używane specjalne moce broni zawierających runy?
  2. Kormic

    Portal

    Właśnie zdałem sobie z czegoś sprawę. Schematic jest wklejany poprzez względne koordynaty, więc głupio z mojej strony, że o to poprosiłem. No nic, w każdym bądź razie mam gotowy skrypt (prawie): on player portal: cancel event teleport player to {gbspawn} command /gbportal: trigger: if player is not op: stop if {gbpos1} is not set: send "&cMusisz ustawic punkt &6{gbpos1}&c!" to sender stop if {gbpos2} is not set: send "&cMusisz ustawic punkt &6{gbpos2}&c!" to sender stop loop 2 times: set {_pos%loop-number%} to {gbpos%loop-number%} loop blocks within {gbpos1} to {gbpos2}: set loop-block to obsidian remove 1 from y-coordinate of {_pos2} remove 1 from z-coordinate of {_pos2} add 1 to y-coordinate of {_pos1} add 1 to z-coordinate of {_pos1} loop blocks within {_pos1} and {_pos2}: set loop-block to nether portal Wymagane jest SkQuery. Również jest jeden problem... mianowicie działa ten skrypt tylko wtedy, gdy {gbpos1} i {gbpos2} są w tym samym koordynacie X (w osi X). Więc jeśli chcesz to usprawnić, to musisz zrobić wykrywanie jak są względem siebie ustalone obie te współrzędne poprzez porównywanie koordynatów X i Z czy aby się nie różnią. Myślę, że jest to w miarę jasne.
  3. Kormic

    Portal

    Najłatwiej byłoby gdybyś miał ten portal w schematicu. Co prawda można się obejść bez tego, ale wtedy ciężej będzie napisać skrypt.
  4. Dobrze by było gdybyś podał więcej informacji, bo tak to nie wiadomo na czym twój serwer polega, czego wymagasz od tego programisty.
  5. Nie trzeba. Rozumiem, że wszystko działa? Tabliczka również? Bo szczerze przyznam, że tutaj miałem pewne wątpliwości. Jak tak to się bardzo cieszę
  6. options: x-min: -3000 x-max: 3000 z-min: -3000 z-max: 3000 world: world on load: loop {loc::skrzynki::lista::*}: set block at loop-value to air clear {loc::skrzynki::lista::*} set {itemy::skrzynki::*} to 5 torch and 1 diamond sword and 4 obsidian and 7 iron ingot and 2 gold ingot and 1 emerald and potion of speed and 12 stick while true: set {_liczbaskrzynek} to 0 while {_liczbaskrzynek} is less than 5: set {_x} to random integer between {@x-min} and {@x-max} set {_z} to random integer between {@z-min} and {@z-max} set {_loc} to location at {_x}, 256, {_z} in world "{@world}" loop 256 times: if block under block at {_loc} is air: remove 1 from y-coordinate of {_loc} else: exit 1 loop set block at {_loc} to chest set {_znak} to block in front of block at {_loc} set {_znak} to wall sign set line 2 of {_znak} to "To jest skrzynka" set line 3 of {_znak} to "z eventu!" set {_skrzynka} to block at {_loc} add location of block at {_loc} to {loc::skrzynki::lista::*} loop 10 times: add random item out of {itemy::skrzynki::*} to {_skrzynka}'s inventory add 1 to {_liczbaskrzynek} wait 30 minutes command /resetskrzyn: trigger: loop {loc::skrzynki::lista::*}: set block at loop-value to air clear {loc::skrzynki::lista::*} send "&aPomyslnie zresetowano wszystkie skrzynie z eventu!" to sender Proszę. Teraz nie będzie regularnego usuwania, będzie tylko za pomocą komendy. Jeśli chcesz, aby była możliwość taka i taka, to użyj poprzedniego kodu i z tego weź ostatnie 6 linijek (tę komendę).
  7. Kormic

    Zamrażający łuk

    Tak, zapomniałem wspomnieć, że będzie taka wiadomość wyskakiwała. Co do dodawającego się czasu efektów jest dość prosty sposób, a mianowicie przed trzema ostatnimi linijkami dodać takie coś: remove blindness from player remove slowness from player remove weakness from player Mimo wszystko cieszę się, że wszystko działa
  8. Może to cię zainteresuje: https://www.spigotmc.org/resources/quests.3711/
  9. options: x-min: -3000 x-max: 3000 z-min: -3000 z-max: 3000 world: world on load: loop {loc::skrzynki::lista::*}: set block at loop-value to air clear {loc::skrzynki::lista::*} set {itemy::skrzynki::*} to 5 torch and 1 diamond sword and 4 obsidian and 7 iron ingot and 2 gold ingot and 1 emerald and potion of speed and 12 stick while true: set {_liczbaskrzynek} to 0 while {_liczbaskrzynek} is less than 5: set {_x} to random integer between {@x-min} and {@x-max} set {_z} to random integer between {@z-min} and {@z-max} set {_loc} to location at {_x}, 256, {_z} in world "{@world}" loop 256 times: if block under block at {_loc} is air: remove 1 from y-coordinate of {_loc} else: exit 1 loop set block at {_loc} to chest set {_znak} to block in front of block at {_loc} set {_znak} to wall sign set line 2 of {_znak} to "To jest skrzynka" set line 3 of {_znak} to "z eventu!" set {_skrzynka} to block at {_loc} add location of block at {_loc} to {loc::skrzynki::lista::*} loop 10 times: add random item out of {itemy::skrzynki::*} to {_skrzynka}'s inventory add 1 to {_liczbaskrzynek} wait 30 minutes while true: loop {loc::skrzynki::lista::*}: set block at loop-value to air clear {loc::skrzynki::lista::*} wait 1 hour Sprawdź czy to zadziała.
  10. Daj mi chwilę, już kończę. Muszę tylko dostawić jeden fragment kodu i za chwilę go tu wrzucę.
  11. Czyli Skript zapewne nie wyżej niż 2.2-dev36. Wybacz, ale nie wiem czy z taką wersją uda się coś zrobić. EDIT: Możesz ewentualnie próbować zamieniać 'clicked item' na 'event-item'.
  12. on inventory click: if clicked item is air: stop if item amount of clicked item is not 1: stop send "YAY!" to player Proszę.
  13. To zaraz dodam to do skryptu.
  14. Masz na myśli tabliczkę?
  15. on enchant prepare: set slot 1 of player's current inventory to 3 lapis lazuli Użyłem tego kodu i działa, ale nie działa. Już wyjaśniam dlaczego. Chodzi o to, że ustawia slot na 3 lapis lazuli, ale przy tym wywala kilkaset jak nie kilka tysięcy linijek błędów (co powoduje straszne spadki fps na localhost). Jeszcze potestuję chwilę i zobaczę czy uda mi się znaleźć coś działającego. EDIT: @21Shadow_ Dobra, napisałem coś takiego i działa, jedyny problem może być gdy wielu graczy korzysta, to jednemu może wyczyścić. W takim wypadku możesz spróbować zmienić 'on inventory close' i przy nim od razu usuwa 64 lapisu z ekwipunku gracza. on right click on enchanting table: wait 1 tick set slot 1 of player's current inventory to 64 lapis lazuli on enchant: set slot 1 of player's current inventory to 64 lapis lazuli on inventory click: if target block is not enchanting table: stop if clicked item is not lapis lazuli: stop if item amount of clicked item is not 64: stop if clicked inventory is player's inventory: stop cancel event on inventory close: set slot 1 of player's current inventory to air
  16. Już naprawiłem wszystko, dodałem do skryptu broadcast, abyś widział gdzie jest każda skrzynka: Wersja dla testu: options: x-min: -3000 x-max: 3000 z-min: -3000 z-max: 3000 world: world on load: set {itemy::skrzynki::*} to 5 torch and 1 diamond sword and 4 obsidian and 7 iron ingot and 2 gold ingot and 1 emerald and potion of speed and 12 stick command /dropskrzynek: trigger: set {_liczbaskrzynek} to 0 while {_liczbaskrzynek} is less than 5: set {_x} to random integer between {@x-min} and {@x-max} set {_z} to random integer between {@z-min} and {@z-max} set {_loc} to location at {_x}, 256, {_z} in world "{@world}" loop 256 times: if block under block at {_loc} is air: remove 1 from y-coordinate of {_loc} else: exit 1 loop set block at {_loc} to chest set {_skrzynka} to block at {_loc} broadcast "%{_loc}%" loop 10 times: add random item out of {itemy::skrzynki::*} to {_skrzynka}'s inventory add 1 to {_liczbaskrzynek} wait 1 tick Wersja pełna: options: x-min: -3000 x-max: 3000 z-min: -3000 z-max: 3000 world: world on load: set {itemy::skrzynki::*} to 5 torch and 1 diamond sword and 4 obsidian and 7 iron ingot and 2 gold ingot and 1 emerald and potion of speed and 12 stick every 30 minutes: set {_liczbaskrzynek} to 0 while {_liczbaskrzynek} is less than 50: set {_x} to random integer between {@x-min} and {@x-max} set {_z} to random integer between {@z-min} and {@z-max} set {_loc} to location at {_x}, 256, {_z} in world "{@world}" loop 256 times: if block under block at {_loc} is air: remove 1 from y-coordinate of {_loc} else: exit 1 loop set block at {_loc} to chest set {_skrzynka} to block at {_loc} loop 10 times: add random item out of {itemy::skrzynki::*} to {_skrzynka}'s inventory add 1 to {_liczbaskrzynek} wait 1 tick Proszę.
  17. Poprawiłem skrypt wyżej, sprawdź jeszcze raz.
  18. Czy ustawiłeś odpowiedni świat? Czy ustawiłeś odpowiednie koordynaty? Bo jeśli nie, to to jest zapewne powodem. Ustawiasz je na samej górze skryptu.
  19. options: x-min: -3000 x-max: 3000 z-min: -3000 z-max: 3000 world: world on load: set {itemy::skrzynki::*} to 5 torch and 1 diamond sword and 4 obsidian and 7 iron ingot and 2 gold ingot and 1 emerald and potion of speed and 12 stick every 30 minutes: set {_liczbaskrzynek} to 0 while {_liczbaskrzynek} is less than 50: set {_x} to random integer between {@x-min} and {@x-max} set {_z} to random integer between {@z-min} and {@z-max} set {_loc} to location at {_x}, 256, {_z} in world "{@world}" loop 256 times: if block under block at {_loc} is not air: remove 1 from y-coordinate of {_loc} else: exit 1 loop set block at {_loc} to chest set {_skrzynka} to block at {_loc} loop 10 times: add random item out of {itemy::skrzynki::*} to {_skrzynka}'s inventory add 1 to {_liczbaskrzynek} wait 1 tick Sprawdź czy wszystko poprawnie działa. Proszę.
  20. Ponieważ nie doprecyzowałeś wielu rzeczy, to zapytam o nie: 1. Skrypt ma być tylko na runy? 2. Z czego mają one dropić? 3. Kryształy? Objaśnij dokładniej co ty chcesz z tym zrobić. 4. Kolczyki? Naszyjnik? To też objaśnij dokładniej. 5. Wkładać? Rozumiem, że w tych itemach mają być sockety na te kryształy? Ile ich ma być (socketów) w każdym itemie?
  21. Kormic

    Zamrażający łuk

    options: zimowy-luk: bow of power 5, unbreaking 10 named "&9Zimowy Łuk" with lore "&7&oTo jest niezwykle potezny luk..." and "&7&oUwazaj jak sie z nim obchodzisz!" on left click: if player's held item is not bow: stop if {cooldown::reload::%player%} is not set: set {cooldown::reload::%player%} to now subtract 3 seconds from {cooldown::reload::%player%} if difference between {cooldown::reload::%player%} and now is less than 3 seconds: stop set {cooldown::reload::%player%} to now loop 3 times: if player's held item is not bow: stop play sound "block_anvil_fall" with volume 3 to player wait 1 tick if player's held item is not bow: stop repair player's held item give player 5 arrows named "&9Strzała" command /zimowyluk: trigger: give player 1 {@zimowy-luk} on shoot: if shooter's held item is not {@zimowy-luk}: stop add projectile to {zamrazajace::strzaly::*} on damage: if projectile is not set: stop if {zamrazajace::strzaly::*} doesn't contain projectile: stop remove projectile from {zamrazajace::strzaly::*} play sound "block_glass_break" with volume 3 at victim play snowball break on the victim apply potion of blindness 1 to victim for 3 seconds apply potion of slowness 2 to victim for 3 seconds apply potion of weakness 2 to victim for 3 seconds Proszę. Sprawdź czy wszystko poprawnie działa. EDIT: Poprawiłem mały błąd związany z cooldownem.
  22. Kormic

    /Event

    Mimo wszystko lepiej definiować odbiorcę wiadomości, gdyż zdarza się czasem, że coś jednak nie działa.
  23. Jeśli chcesz wysłać całą listę jednocześnie, to zrób to w ten sposób: send "%{zgloszenia::*}%" A jeśli chcesz mieć odpowiednią numerację, to zrób to w ten sposób: set {_int} to 1 loop {zgloszenia::*}: send "&6&8%{_int}%. &b%loop-value%" add 1 to {_int} Twój sposób z %loop-index% nie działał poprawnie, gdyż loop-index to nazwa "pudełka" zawierającego wartość. Jeśli dodajesz coś do listy i będzie to 5 element, to otrzyma na zawsze %loop-index% jako 5. Jeśli wyczyścisz {lista::1}, to będzie się wyświetlało nie 1, 2 ,3 itd. tylko 2, 3, 4 itd. Przykładowo, jeśli zrobisz taki prosty kod: on load: set {_lista::cos} to "Witaj!" loop {_lista::*}: send "%loop-index% - %loop-value%" to console To wyśle 'cos - Witaj!'.
  24. Mimo wszystko spróbuj z TuSKe. Zapewne nie użyjesz nawet 10% składni z tego dodatku, ludzie go głównie używają do dwóch wyżej wspomnianych przeze mnie rzeczy (tj. GUI oraz custom enchanty). EDIT: Przy okazji powiedz czy w ogóle lapis się ustawiał na początku (przy otwieraniu).
  25. Mówiłem, nie wiem czy zadziała. Sugerowałem się dokumentacją: https://olyno.github.io/VixioSite/#discord_command
×
×
  • Dodaj nową pozycję...