Skocz do zawartości

piratjsk

Użytkownik
  • Ilość zawartości

    600
  • Rejestracja

  • Wygrane w rankingu

    5

Odpowiedzi społeczności

  1. piratjsk odpowiedź w /PROBLEM Top np. rankingu danej grupy np. gildii został oznaczony jako odpowiedź   
    Jeśli wszystko dobrze zrozumiałem, czyli:
    {grupa::%nazwa grupy%:: *} przechowuje nicki graczy którzy są w grupie (dodawane w sposób: add player to {grupa::%nazwa grupy%:: *})
    {lvl::%nazwa gracza%} przechowuje pkt danego gracza
    to ten kod powinien być tym czego szukasz:
    # dodawanie pkt graczy w grupie do listy# {_lista::%nazwa grupy%} = pkt danej grupyloop {grupa::*}: set {_pkt.%loop-value%} to 0 loop {grupa::%loop-value%::*}: add {lvl::%loop-value-2%} to {_pkt.%loop-value-1%} set {_lista::%loop-value%} to {_pkt.%loop-value%}set {_num} to size of {_lista::*}# sortowanie listyloop {_num} 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 more than {_v.%loop-number%}: set {_v.%loop-number%} to loop-value set {_n.%loop-number%} to loop-index delete {_lista::%{_n.%loop-number%}%}# wyswietlanie wynikusend "Ranking grup:"loop {_num} times: send "%loop-number%. %{_n.%loop-number%}% (%{_v.%loop-number%}%)"(kod nietestowany)
  2. piratjsk odpowiedź w parsed as został oznaczony jako odpowiedź   
    command /sklep [<text&gt] [<text&gt] [<text&gt] [<text&gt]:Tam gdzie potrzebujesz tekst, używasz normalnie:
    arg 3Tam gdzie potrzebujesz gracza, używasz:
    set {_p} to arg 3 parsed as player# i teraz zamiast do arg 3 odwołujesz się do:{_p}Możesz też zrobić tak:
    set {_p} to arg 3 parsed as offline player# i teraz masz możliwość sprawdzenia czy gracz jest online czy nie:if {_p} is a player: send "gracz %{_p}% jest online"else: send "gracza %{_p}% nie ma na serwerze"
  3. piratjsk odpowiedź w Miejsce w topce został oznaczony jako odpowiedź   
    Aby wyświetlić miejsce w rankingu konkretnego gracza musisz zapisać do zmiennych wszystkie wartości z listy tak jak przy wyświetlaniu rankingu, następnie zapętlić te zmienne i sprawdzić czy ta przechowująca nick jest nickiem konkretnego gracza, jeśli tak wyświetlić przypisaną jej zmienną przechowującą pozycję w rankingu.
    set {_num} to size of {rank.r::*}loop {_num} times: loop {rank.r::*}: {_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 remove {_v.%loop-number%} from {rank.r::*}loop {_num} times: {_n.%loop-number%} is player: send "twoje miejsce w rankingu: %{_v.%loop-number%}%" stop
  4. piratjsk odpowiedź w Nie działa. został oznaczony jako odpowiedź   
    Edit: aj, @up był szybszy
     
    jeśli chcesz kliknąć na postawiony blok (np. tabliczke albo dirt):
    on click on <blok>: 
    jeśli chcesz kliknąć trzymając dany przedmiot (np. miecz albo mączkę kostną):
    on click holding <przedmiot>:
  5. piratjsk odpowiedź w Spawn moba nad blokiem został oznaczony jako odpowiedź   
    To powinno zadziałać:

    set {_loc} to location of block 7 meters horizontally behind loop-playerwhile block at {_loc} is not air: set {_loc} to location of block above block at {_loc}while block above block at {_sloc} is not air: set {_loc} to location of block above block at {_loc}spawn 1 Skeleton at {_loc}Ustawisz lokację początkową i za pomocą pętli while sprawdzasz czy blok jest powietrzem, jeśli nie powtarzasz to dla bloku wyżej itd, później to samo dla bloku powyżej. Gdy 2 bloki nad sobą są powietrzem potwór jest spawniony.
  6. piratjsk odpowiedź w Wyłączenie Wybuchu TNT na czas nocny został oznaczony jako odpowiedź   
    To powinno zadziałać:
    every 30 seconds: set {_s::*} to text from "http://nicc0.pl/skript/godzina.txt" split at ":" set {_s::1} to {_s::1} parsed as integer {_s::1} is between 0 and 7: set {tnt} to false stop set {tnt} to true
  7. piratjsk odpowiedź w On explode {warunek} został oznaczony jako odpowiedź   
    Spróbuj czegoś takiego:
    on explode : loop blocks in radius 5 of event-location: loop {stoniarka::*}: loop-value is location of loop-block remove loop-value from {stoniarka::*}(pisane na sucho, bez sprawdzania)
  8. piratjsk odpowiedź w Zapętlanie graczy. został oznaczony jako odpowiedź   
    Zanim odwołasz się do jakiegokolwiek gracza w zdarzeniu every musisz jakiegoś zapętlić, gdyż to zdarzenie nie jest z żadnym powiązane.
    every second: loop all players: {picie.%loop-player%} is 0 damage loop-player by 1 heartNie możesz umieścić jednego zdarzenia w innym, gdy zapętlisz graczy musisz odwoływać się do %loop-player% zamiast %player%.
    every 2 minutes: loop all players: remove 1 from {xxx.%loop-player%}
  9. piratjsk odpowiedź w Pętle został oznaczony jako odpowiedź   
    W linijce sprawdzającej wartość zmiennej użyłeś wyrażenia %player%, którego nie można używać w zdarzeniu every.
    Musisz najpierw zapętlić graczy i skorzystać z wyrażenia %loop-player%.
    every 5 seconds: loop all players: {vip.buty.%loop-player%} is true loop-player is wearing boots apply speed 2 to the loop-player for 5 seconds apply jump 2 to the loop-player for 5 seconds
  10. piratjsk odpowiedź w Nazwa potwora został oznaczony jako odpowiedź   
    command /jdz [<text>] [<integer=1>]: trigger: arg 1 is "setspawn": set {jdz.spawn} to location of player send "Ustawiles spawn jedzonka!" arg 1 is "spawn": loop arg 2 times: spawn pig at {jdz.spawn} set name of last spawned entity to "Jedzonko | %spawned pig's health%/%max health of last spawned entity%"on damage of pig: name of victim contains "Jedzonko | " wait 1 tick set name of victim to "Jedzonko | %health of victim%/%max health of victim%"/jdz setspawn - ustawia spawn /jdz spawn [liczba] - spawnuje świnki (domyślnie 1)
  11. piratjsk odpowiedź w Permission+MySQL został oznaczony jako odpowiedź   
    @up
    Autor poszukuje pluginu do zarządzania uprawnieniami, nie do autoryzowania kont graczy.
     
    @topic
    Pluginy, które udało mi się na szybko znaleźć:
    [*]rscPermissions: dev.bukkit.org/bukkit-plugins/rscpermissions/ [*]zPermissions: dev.bukkit.org/bukkit-plugins/zpermissions/

  12. piratjsk odpowiedź w Komenda na Vip'a został oznaczony jako odpowiedź   
    Komendy:
    [*]/vc <generuj/gen/g> <ilość użyć> - generuje losowy kod (vc.gen, vc.gen.*) [*]/vc <my/moj/m> <ilość użyć> <kod> - wprowadza do systemu nasz własny kod (vc.gen.my, vc.gen.*) [*]/vc <kup/k> <kod> - wykorzystuje kod (vc.kup) [*]/vc <lista/list/l> - wyświetla listę ostatnio zakupionych vipów (vc.list, vc.list.*) [*]/vc <lista/list/l> <kody/k> - wyświetla listę aktywnych kodów (vc.list.kody, vc.list.*)

    Musisz sobie tylko sam dopisać kod dający vipa (linia 49).

    Download!
  13. piratjsk odpowiedź w Akcja po zabiciu potworka/moba został oznaczony jako odpowiedź   
    Spróbuj czegoś takiego:
    on death of zombie: attacker is a player send "&7Zabiles Zombie! Ty brutalu" to attacker
  14. piratjsk odpowiedź w Generowanie kodów i ustawianie zmiennych został oznaczony jako odpowiedź   
    Jeśli komenda /cuse ma aktywować(wykorzystywać) dany kod, to tu jest rozwiązanie:
    options: tag: &3[Gamercraft]&2command /gcode: trigger: player has permission "code.generate": set {_k1} to random integer between 0 and 9 set {_k2} to random integer between 0 and 9 set {_k3} to random integer between 0 and 9 set {_k4} to random integer between 0 and 9 set {_k5} to random integer between 0 and 9 set {_k6} to random integer between 0 and 9 set {_k7} to random integer between 0 and 9 set {_k8} to random integer between 0 and 9 set {_k9} to random integer between 0 and 9 set {_kod} to "%{_k1}%%{_k2}%%{_k3}%%{_k4}%%{_k5}%%{_k6}%%{_k7}%%{_k8}%%{_k9}%" loop {codes::*}: {_kod} is loop-value make player execute command "gcode" stop send "{@tag} Kod &8- &b%{_kod}%" add {_kod} to {codes::*}command /gcodes: trigger: send "{@tag} Lista kodow &e(%size of {codes::*}%) &8- &b%{codes::*}%"command /cuse [<text&gt]: trigger: loop {codes::*}: arg is loop-value remove arg from {codes::*} send "{@tag} Kod aktywowany!" stop send "{@tag} Niepoprawny kod!"Wykorzystany kod jest usuwany z listy.Przy okazji usunąłem niepotrzebne linijki, zastosowałem zmienne lokalne, dodałem sprawdzanie czy przypadkiem generowany kod nie jest już na liście i wiadomość jeśli wpiszemy niepoprawny kod.
  15. piratjsk odpowiedź w Bar - wiadomosc na pasku zycia bossa i zablokowanie wybuchania diaxow przez TNT został oznaczony jako odpowiedź   
    Z tego co się orientuję to na obecnej wersji bukkita/spigota boss bar z SkriptPlus nie działa. (wypowiedź autora sk+ na ten temat)
  16. piratjsk odpowiedź w Lista logowań został oznaczony jako odpowiedź   
    on quit: set {obecnosci::%player%} to nowon join: delete {obecnosci::%player%} {nieobecni::%player%} is set: delete {nieobecni::%player%}every minute: loop {obecnosci::*}: set {_val} to loop-value difference between {_val} and now is greater than or equal to 7 days loop {nieobecni::*}: loop-value-2 is loop-index-1 stop add loop-index to {nieobecni::*}command /nieobecni: trigger: send "Gracze nieobecni od 7 (lub wiecej) dni:" send "%{nieobecni::*}%"
  17. piratjsk odpowiedź w addon do skryptu OX został oznaczony jako odpowiedź   
    on walking on bedrock: if {ox.play.%player%} is 1: execute console command "/warp oxs %player%" send "&b[OX]&4Gracz %player% odpadl!" to all players remove 1 from {ox.online} if {ox.online} = 1: set {zmienna.%player%} to true send "&b[OX]&9wejdz na biale pole aby wygrac"on walking on quartz block: {zmienna.%player%} is true delete {zmienna.%player%} send "&b[OX]&9%player% Wygral OX!!!" to all players execute console command "/warp oxwin %player%"W momencie gdy ostatni gracz będzie chodził po bedrocku możesz stworzyć zmienną, a następnie gdy wejdzie na białe pole sprawdzić czy ona istnieje - jeśli tak to ją usunąć.
  18. piratjsk odpowiedź w Enchant w nowej recepturze? został oznaczony jako odpowiedź   
    register new shaped recipe for tnt of sharpness 1 named "&6Bomba Nuklearna!" using none, diamond, none, diamond, tnt, diamond, none, diamond, noneOczywiście powyższy kod trzeba podpiąć do jakiegoś eventu/komendy, najlepiej do zdarzenia "on script load:".
  19. piratjsk odpowiedź w Skript money. został oznaczony jako odpowiedź   
    @upZanim odwołasz się do zapętlonego gracza, musisz go zapętlić.
    every 2 seconds: loop all players: add 20 to balance of loop-player send "&aOtrzymales &620$&a za przebywanie na serwerze!." to loop-player
  20. piratjsk odpowiedź w Problem z Variables został oznaczony jako odpowiedź   
    Te ostrzeżenia oznaczają, że jakieś zmienne mogą mieć taką samą nazwę (np. użyta w komendzie {chat::%arg%} może przyjąć taką samą nazwę jak zdefiniowana w innym miejscu w kodzie zmienna {chat::*}).
    Ogólnie nie należy się tymi ostrzeżeniami przejmować.
    Można je wyłączyć w konfiguracji Skripta, w tym celu trzeba ustawić opcję disable variable conflict warnings: na true.
  21. piratjsk odpowiedź w Przechodzenie parkoura tylko raz na 24h został oznaczony jako odpowiedź   
    Definiując zmienne nie możesz użyć %argument%, gdyż zmienne te są definiowane przy starcie skryptu, a nie przy pierwszym odwołaniu się do nich. Prościej: %arg% może być używany tylko w kodzie komendy, nigdzie indziej.

    Rozwiązanie problemu:
    dodaj w kodzie, przed pierwszym odwołaniem się do tej zmiennej linijkę:
    - jeśli używasz tego w komendzie (x - w zależności który argument przechowuje pożądaną wartość):
    {pkk.%arg x%.%player%} is not set: set {pkk.%arg x%.%player%} to false- jeśli używasz tego po kliknięciu w tabliczkę (x - w zależności w której linii przechowywana jest pożądana wartość):
    {pkk.%line x of clicked block%.%player%} is not set: set {pkk.%line x of clicked block%.%player%} to false- w kodzie który podałeś wyżej:
    on rightclick on sign: line 3 is "&lKoniec" {pkk.%line 1 of clicked block%.%player%} is not set: set {pkk.%line 1 of clicked block%.%player%} to false #dalszy kod
×
×
  • Dodaj nową pozycję...