Skocz do zawartości

PoweredDragon

Użytkownik
  • Ilość zawartości

    3064
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    4

Treść opublikowana przez PoweredDragon

  1. WildSkript koliduje ze SkriptPlus. Jeśli go masz, to raczej to jest powodem :P
  2. O_O Teraz z tego samego linka, bo wiem w czym był problem :D
  3. PoweredDragon

    On death

    on death of zombie: attacker is player: victim is in world "MobArena": add 1 to {zombie1.%attacker%} {zombie1.%attacker%} is 4: send "TEST" to attacker
  4. PoweredDragon

    Custom NPC

    Bardzo dziękuję za te oceny :D
  5. PoweredDragon

    Skrypty

    @UP NA CZYSTO W SKRYPCIE. Widzisz. Musisz użyć komendy... A jednak nie jestem kimś, kto interesował się komendami domyślnymi MC takimi jak setblock... 2. W takim razie ściągnij HookSK command /zmienwmoba [<entity&gt]: trigger: disguise player as entity-argument
  6. OMG... Nie potrafisz wytabować?... https://code.skript.pl/8LTSJENu
  7. Ehhh... on rightclick: player's tool is lava bucket: loop all players: distance between player and loop-player is less than 5: add loop-player to {loop.%player%::*} size of {loop.%player%::*} is greater than 0: cancel event send "&c&lWykryto probe zabicia innego gracza na wyspie!" to player execute console command "/burn %player% 60" remove 1 bucket from the player remove 1 lava bucket from the player
  8. ... Zamień tak jak w kodzie -> Zamiast Rightclick, to Leftclick :D
  9. @Parrot W Wild Skript będzie to możliwe. Na chwilę obecną sam pracuję nad systemem bez żadnych pluginów i nie widzę lepszego sposobu :P
  10. PoweredDragon

    [Dyskusja] Propozycje

    @Dzikoysk Ja nie znam się na javie, ale przekształcenie kodu z Gotowego pluginu, na rzecz stworzenia jedynie polecenia chyba nie jest trudne :_;
  11. on leftclick: player's tool is lava bucket: loop all players: distance between player and loop-player is less than 5: send "&c&lWykryto probe zabicia innego gracza na wyspie!" to player execute console command "/burn %player% 60" remove 1 bucket from the player remove 1 lava bucket from the playerO ja ciebie. To mój poradnik xD
  12. Hapaj to: http://pastebin.com/raw.php?i=ufmpZADC
  13. Masz poprostu źle wyspacjowane: on rightclick holding a lava bucket: loop all players distance between player and loop-player is 10 kill loop-player
  14. loop all players: distance between player and loop-player is...
  15. PoweredDragon

    Skrypty

    1. Nie możliwe na czysto w skrypcie, bo zmiana ID Spawnerów nic nie daje 2. command /zmien [<text&gt]: trigger: set targeted entity to argument 1Musisz wpisac cow, chicken, itd.
  16. Nie ma ograniczenia... Dziwnie to wygląda. Postaram się coś wykombinować, ale nie obiecuję...
  17. PoweredDragon

    [Dyskusja] Propozycje

    To też jest użyteczne. Zakładałoby się pocztę E-Mail serwerową i wtedy send "tresc" from [e]mail "[email protected]" of password "password" to [e]mail "[email protected]" with title "tytul" :P Wtedy Admini mogliby wysyłać powiadomienia do graczy, gdy tacy rejestrowali się przez register z E-Mailem :P
  18. Tak, ale jeśli nagle wywali serwer, to gracz wciąż będzie miał permisje, a wtedy może napsuć krwi :P Niestety wyświetla "cuboid jest zbyt blisko" Jak to niestety. Chyba chodziło o to, że gracz nie może założyć cuba obok innego. Ew. Podaj błędy z logów :d
  19. @UP Tylko, że ja to umieściłem w kodzie, który on miał, a ty nie... on death: if victim is player: if attacker is a player: add {stone::%attacker%}*0.10 to {stone::%attacker%} add 10 to attacker's account send "&cOtrzymujesz 10$ za zabicie &6%victim%" to attacker remove {stone::%victim%}*0.10 from {stone::%victim%} victim doesn't have permission "nietrac.vip": remove 5 from victim's account clear drops add {stone::%attacker%}*0.10 to {punkty} broadcast " &6%victim% &7zostal zabity przez &6%attacker% &8[&6+%{punkty}%&8]&7." set {punkty} to 0 add 1 to {kill.%attacker%} add 1 to {dead.%victim%} give the victim's skull to attacker strike lightning effect at the player stop
  20. PoweredDragon

    Custom NPC

    Kolejna część jest. Wiele rzeczy oprócz samego kodu(Raz wywala błedy, raz nie. Jadę na tym samym silniku...) w tym strona się bugują więc różnie widać to co w kodzie jest ujęte :P
  21. PoweredDragon

    Custom NPC

    Namęczyć? To 1/5 całego poradnika :P Jeszcze będzie: Customizacja stworzonych NPC(zmiana nazwy, Movepoolu, DMG, śmiertelności), pomoc do komendy oraz dodawanie funkcji NPC :P
  22. Nie opłacalne jest dawanie permisji. Polecam WildSkript i Opcję "run player cmd "komenda" as op" - zresztą tak ci to przerobię. Optymalniej i bezpieczniej :D EDIT: http://pastebin.com/raw.php?i=ufmpZADC Jeśli dalej nie działa, to zrobię to na zasadzie zmiennej :D
  23. PoweredDragon

    Custom NPC

    Witam. W tym poradniku przedstawię po kolei jak zrobić naszego własnego NPC od podstaw. W kolejnych częściach będziemy dodawać mu zastosowania :p Na starcie tworzymy naszą komendę! Poradnik będzie składał się z kilku części: 1. Jak w ogóle mam stworzyć NPC?!2. Mój NPC może zostać przeunięty przez gracza i nie atakuje! 3. Ten NPC tylko stoi. Niech on w końcu zacznie coś robić!a ) Handlarz[sprzedaje różne rzeczy...] - Rzeczy ustalane dla każdego NPC o tym samym imieniu - Rzeczy ustalane dla każdego NPC z osobna b ) Rozmówca[Np. Podpowiada o różnych rzeczach] c ) Najemnik[Podróżuje za nami za opłatą] 4. Pomyliłem się! Chciałbym coś zmienić... Prawdopodobnie będę skakał po częściach poradnika(Tj. Podpunkt 2 poradnika 3a może się nie pojawić, a część 4 już będzie :p... Część pierwsza -> Jak w ogóle mam stworzyć NPC?! command /npc [<text>] [<text>] [<text>] [<text>] [<text>] [<text>]: permission: npc.* permission message: Nie masz uprawnien do tworzenia NPC! trigger:Standardową komendę mamy... command /npc [<text&gt] [<text&gt] [<text&gt] [<text&gt] [<text&gt] [<text&gt]: -> Trzeba wpisać komendę, w której moze znaleźć się do sześciu argumentów permission: -> permisja wymagana do wyegzekwowania komendy permission message: -> wiadomoćć, którą otrzyma gracz bez permisji trigger: -> Otwarcie części podrzędnej komendy argument 1 is "create": argument 2 is set: spawn villager at location of player set the name of spawned entity to "%coloured argument 2%"argument 1 is "create" -> Komenda zostanie wyegzekwowana tylko, gdy napiszemy /npc create argument 2 is set: -> Komenda zostanie wyegzekwowana tylko, gdy napiszemy /npc create spawn villager at location of player -> Spawnuje przy nas osadnika set the name of spawned entity to "%coloured argument 2%" - Zmienia nazwe zespawnowanego osadnika na pokolorowany argument drugi. argument 3 is not number: set {movepool.length.%spawned entity%} to 0 apply slowness 100 to spawned entity else if argument 3 is "0": set {movepool.length.%spawned entity%} to 0 apply slowness 100 to spawned entity else: set {movepool.length.%spawned entity%} to argument 3 set {movepool.center.%spawned entity%} to location of spawned entity set {movepool.owner.%{movepool.center.%spawned entity%}%} to spawned entity argument 4 is not set: apply ressistance 100 to spawned entity for 1000000000 days argument 4 is "true" or "tak" or "-": apply ressistance 100 to spawned entity for 1000000000 days argument 5 is not set: set {damaging.%spawned entity%} to true set {damage.%spawned entity%} to 1 stop argument 5 is "true" or "tak" or "-": set {damaging.%spawned entity%} to true argument 6 is set: set {damage.%spawned entity%} to argument 6 else: set {damage.%spawned entity%} to 1 else: set {damaging.%spawned entity%} to falseargument 3 is not number -> Sprawdza, czy argument trzeci jest numerem, czy nie set {movepool.length.%spawned entity%} to 0 -> Ustawia zmienną na domyślną wartość - 0. jest to zakres ruchów naszego NPC else if argument 3 is "0": -> Sprwadza, czy argument 3 nie jest zerem else: - przeciwieństwo powyższego warunku set {movepool.length.%spawned entity%} to argument 3 -> Ustawia zmienną na wartość wpisaną w argumencie trzecim set {movepool.center.%spawned entity%} to location of spawned entity -> Ustawia centrum zakresu ruchow naszego NPC w miejscu jego zespawnowania set {movepool.owner.%{movepool.center.%spawned entity%}%} to spawned entity -> Zmienia wlasciciela centrum movepoolu na NPC przypisanego do centrum movepoolu(Wymagane w pozniejszym etapie!) argument 4/5 is not set: -> sprawdza czy argument 4 lub 5 są ustawione czy nie. Jeśli nie -> Ustawia na domyślną wartość argument 4/5 is "true" or "tak" or "-": -> sprawdza czy argument 4 lub 5 są określone jako true, tak lub -. Zmienia wtedy poniższą zmienną. set {damaging.%spawned entity%} to true/false -> Ustawia możliwość zadawania obrażeń dla naszego npc apply effect to spawned entity for x seconds/minutes/days -> Ustawia efekt na naszego NPC(Domyślnie, po napisaniu /npc create <nazwa> jest to spowolnienie 100 i odpornosc 100 set {damage.%spawned entity%} to argument 6 -> Ustawia wartość obrażeń naszego NPC(1 - jedno serce) argument 6 is set: - Sprawdza czy argument 6 jest ustawiony Tyle w pierwszej części. Nasz NPC egzystuje. Na chwilę obecną nie możemy w niego ingerować Część druga -> Mój NPC może zostać przesunięty przez gracza i nie atakuje! every minute: loop all entities: loop-entity is villager:every minute -> Efekt wywoła się co minutę, przy spełnieniu warunków loop all entities -> Zapętli wszystkie byty loop-entity is villager -> Sprawdza, czy zapętlone byty to osadnicy {movepool.length.%loop-entity%} is 0: {movepool.center.%loop-entity%} is set: location of loop-entity is not {movepool.center.%loop-entity%}: teleport loop-entity to {movepool.center.%loop-entity%}{movepool.length.%loop-entity%} is 0: -> sprawdza, czy nasz NPC może się poruszać {movepool.center.%loop-entity%} is set: -> sprawdza, czy nasz NPC ma zaznaczony swój spawnpoint location of loop-entity is not {movepool.center.%loop-entity%}: -> sprawdza, czy nasz NPC stoi gdzie powinien teleport loop-entity to {movepool.center.%loop-entity%} -> teleportuje NPC na miejsce jego Spawnu else: {movepool.center.%loop-entity-1%} is set: loop entities in radius {movepool.length.%loop-entity-1%} of {movepool.center.%loop-entity-1%} {movepool.owner.%{movepool.center.%loop-entity-1%}%} is loop-entity-2: stop teleport loop-entity-1 to {movepool.center.%loop-entity-1%}else: -> Zaprzeczamy poprzedniemu warunkowi {movepool.center.%loop-entity%} is set: -> sprawdza, czy nasz NPC ma zaznaczony swój spawnpoint loop entities in radius {movepool.length.%loop-entity%} of {movepool.center.%loop-entity%}-> Zapętla byty wokół spawnpointu bytu pierwszego {movepool.owner.%{movepool.center.%loop-entity-1%}%} is loop-entity-2: -> Sprawdza, czy zapętlony byt jest właścicielem spawnpointu bytu pierwszego. Jeśli nie, oznacza to iż nasz byt wyszedł poza granicę swojego movepoolu stop -> Wstrzymuje dalszy kod teleport loop-entity-1 to {movepool.center.%loop-entity-1%} -> Teleportuje naszego NPC do jego spawnpointu, gdyż wyszedł poza swój movepool Teraz sprawa zadawania DMG... on damage: victim is villager: {damaging.%victim%} is true: make victim damage attacker by {damage.%victim%}on damage -> Efekt wywoła się, gdy ktoś otrzyma obrażenia victim is villager -> Efekt wywoła się, gdy tym kimś jest osadnik {damaging.%victim%} is true -> Efekt wywoła się, gdy ta zmienna, którą można przypisać tylko do naszego NPC jest prawdziwa make victim damage attacker by {damage.%victim%} -> Sprawia, że nasz NPC atakuje Atakującego za {damage.%victim%}(zmienna przechowująca numer) serc Część trzecia -> Ten NPC tylko stoi. Niech on wkońcu zacznie coś robić! To już kolejna część poradnika. Ta jedna zostanie podzielona na trzy części: a ) Handlarz[sprzedaje różne rzeczy...] b ) Rozmówca[Np. Podpowiada o różnych rzeczach] c ) Najemnik[Podróżuje za nami za opłatą] a) Handlarz, czyli jak zrobić NPC, który coś sprzedaje! - Rzeczy, które można ustalić dla każdego NPC o tym samym imieniu Zaczniemy od tego, że mamy już naszego NPC. Jak więc wywołać efekt? Na początku skryptu dodajemy: on load: file "plugins/Skript/scripts/NPC/config.yml" is not exists: create file "plugins/Skript/scripts/NPC/config.yml"Otwieramy utworzony po załadowaniu skryptu config i wpisujemy do niego: NPC: nazwaNPC: numeroferty: waluta: przedmiot, ktorym placimy(miedzy apostrofami) towar: przedmiot, za ktory placimy(miedzy apostrofami) numeroferty: waluta: przedmioty, ktorymi placimy(miedzy apostrofami, oddzielone 'AND') towar: przedmiot, za ktory placimy(miedzy apostrofami)np. NPC: Handlarz: 1: waluta: 1 'diamond' towar: 1 'emerald' 2: waluta: 1 'coal and charcoal' towar: 15 'charcoal'Teraz musimy jakoś załadować ową ofertę dla określonego NPC :p on load: set {npc::*} to configuration section "NPC" get of "plugins/Skript/scripts/NPC/config.yml" loop {npc::*} set {_NPC} to "%loop-value%" set {npc.%loop-number%} to {_NPC} set {oferty.%{_NPC}%::*} to configuration section "NPC.%{_NPC}%" get of "plugins/Skript/scripts/NPC/config.yml" set {_ilosc} to size of {oferty.%{_NPC}%::*} loop {_ilosc} times: set {waluta.%{_NPC}%::%loop-number%} to value "NPC.%{_NPC}%.%loop-number%.waluta" get of "plugins/Skript/scripts/NPC/config.yml" set {towar.%{_NPC}%::%loop-number%} to value "NPC.%{_NPC}%.%loop-number%.towar" get of "plugins/Skript/scripts/NPC/config.yml"Ogółem: Pobieramy z configu listę NPC, podpisujemy każdemu z osobna ofertę, walutę dla przypisanej oferty i towar dla przypisanej oferty on rightclick on villager: set {_size} to size of {npc::*} loop {npc::*}: name of clicked entity is {npc.%loop-number%}: stop loop loop-number is {_size}: stop wait 1 second set {_oferta} to size of {oferty.%name of clicked entity%::*} loop {_oferta} times: clear trade of clicked entity add trade {waluta.%name of clicked entity%::%loop-number%} for {towar.%name of clicked entity%::%loop-number%} to clicked entity with 999999999 max uses on rightclick on villager: -> Efekt wywoła się po naciśnięciu PPM na Osadnika set {_size} to size of {npc::*} -> Zamienia zmienną tymczasową {_size} na rozmiar(ilość pozycji w) zmiennej {npc::*} loop {npc::*} -> Zapętla wszystkich NPC utworzonych w configu name of clicked entity is {npc.%loop-number%::*} -> Sprawdza czy dla klikniętego villagera jest przypisane miejsce w configu stop loop -> Jeśli tak, to kończy pętlę i przechodzi do ustawiania mu ofert loop-number is {_size}: -> Sprawdza, czy zapętlono ostatniego NPC(bez znalezienia tego, na którego kliknęliśmy) stop -> Jeśli tak, to zatrzymuje kolejne efekty set {_oferta} to size of {oferty.%name of clicked entity%::*} -> Jeśli nasz NPC znajduje się w configu, to zmienna {_oferta} zmienia się na ilość ofert, które ma on posiadać loop {_oferta} times: -> Tworzy pętlę, aby wyznaczyć do każdej oferty walutę i towar clear trade of clicked entity -> Usuwa oferty naszego NPC add trade {waluta.%name of clicked entity%::%loop-number%} for {towar.%name of clicked entity%::%loop-number%} with 999999999 uses -> Dodaje nieskończoną(W zasadzie to skończoną, ale miliard użyć jest raczej nieosiągalny...) wymianę przedmiotu ustawionego jako walutę pod numerem pętli(czyli za pierwszym razem jeden, za drugim dwa, za trzecim trzy, itd.) za towar pod numerem pętli. Wymagane dodatki: Sk+ RandomSk WildSkript Notatka od autora: Nie wiem jak szybko uda mi się dodać 3b, ale powiem, że to będzie trochę bardziej innowacyjne :p I skomplikowane
  24. O co chodzi w zakładce "DZISIEJSI TOP UŻYTKOWNICY"

    1. LeviBoyPL

      LeviBoyPL

      Kto najwiecej w danym dniu nabije postow.

    2. herhor67

      herhor67

      to mi sie podoba! :)

    3. LeviBoyPL

      LeviBoyPL

      No... Teraz nie nabijamy postow bez celu!

×
×
  • Dodaj nową pozycję...