Skocz do zawartości

Dragon warp - świetna opcja warpów dla vipów!


Rekomendowane odpowiedzi

Witam. W tym oto Mini-poradniczku pokażę wam jak łatwo i przyjemnie stworzyć system warpów, pozwalający przelecieć nam smokiem do określonej lokacji(np. Spawnu, Areny PVP, itp.). Wymagany Plugin to HookSk i SkriptPlus. Można to zrobić na dwa sposoby:

 

Sposób I:

 

Zaczniemy od wydarzenia. W tym wypadku:

 

1.

command /warp [<text>] [<text>]:

Ale to nic nowego...

    trigger:        argument 1 is "set":            argument 2 is set:                {warp.list::*} doesn't contain argument 2:                    set {%argument 2%} to location of player                    add argument 2 to {warp.list::*}

Raczej nic nie musimy tłumaczyć, ale na wszelki wypadek:

 

argument 1 is "set": - efekt wywoła się, gdy napiszemy /warp set

argument 2 is set: - efekt wywoła się, gdy napiszemy /warp set tekst(nazwa warpu)

{warp.list::*} doesn't contain argument 2: - sprawdzenie, czy dany warp już istnieje

set {%argument 2%} to location of player - ustawienie warpu

add argument 2 to {warp.list::*} - dodanie warpu do listy, aby nie mogl powstac drugi taki sam

 

2.      

    argument 1 is "del":        argument 2 is set:            {warp.list::*} contains argument 2:                clear {%argument 2%}                remove argument 2 from {warp.list::*}

argument 1 is "del": - efekt wywoła się, gdy napiszemy /warp del

argument 2 is set: - efekt wywoła się, gdy napiszemy /warp del tekst(nazwa warpu)

{warp.list::*} contains argument 2: - sprawdzenie, czy dany warp już istnieje

clear {%argument 2%} - usunięcie warpu

remove argument 2 from {warp.list::*} - usunięcie warpu z listy, aby mogl powstac inny o tej samej nazwie

 

3.

    argument 1 is not "del" or "set":        argument 1 is set:            {warp.list::*} contains argument 2:                make player travel to {%argument 2%}

argument 1 is not "del" or "set": - efekt wywoła się, gdy napiszemy /warp <coś innego niż set lub del>

argument 1 is set: - efekt wywoła się, gdy napiszemy /warp tekst(nazwa warpa)

{warp.list::*} contains argument 2: - Jest w pkt. 2

make player travel to {%argument 2%} - Spawnuje smoka, na którym gracz leci do określonej lokacji.

To już koniec naszych warpów!

 

Podsumowując:

command /warp [<text>] [<text>]:    trigger:        argument 1 is "set":            argument 2 is set:                {warp.list::*} doesn't contain argument 2:                    set {%argument 2%} to location of player                    add argument 2 to {warp.list::*}        argument 1 is "del":            argument 2 is set:                {warp.list::*} contains argument 2:                    clear {%argument 2%}                    remove argument 2 from {warp.list::*}        argument 1 is not "del" or "set":            argument 1 is set:                {warp.list::*} contains argument 2:                    make player travel to {%argument 2%}

W najbliższym czasie postaram się przedstawić znacznie ciekawszy sposób na zrobienie tych warpów, wymagający jednak większej ingerencji w skrypt

Sposób II:

W tym sposobie przedstawię efekt trochę inny, jednak spora część będzie taka sama jak w sposobie I...

command /warp [<text>] [<text>] [<text>]:    trigger:        arg 1 is "set":            arg 2 is not set:                add 1 to {warp.ilosc}                set {warp.%{warp.ilosc}%} to location of player                add {warp.%{warp.ilosc}%} to {warp.list::*}                send "&f&lZaznaczyles warp nr %{warp.ilosc}%!"            else:                arg 2 is number:                    {warp.%arg 2%} is not set:                        arg 2 is less than {warp.ilosc}:                            set {warp.%arg 2%} to location of player                            add {warp.%{warp.ilosc}%} to {warp.list::*}                                           send "&f&lZaznaczyles warp nr %{warp.ilosc}%!"                        else:                            send "&3&lNie mozesz miec wiecej warpow niz jest na liscie!"                    else:                        send "&c&lTaki warp juz istnieje!"        arg 1 is "del":            arg 2 is number:                {warp.list::*} contains {warp.%arg 2%}:                    remove {warp.%arg 2%} from {warp.list::*}                    clear {warp.%arg 2%}       

command /warp [<text&gt] [<text&gt] [<text&gt]: - efekt wywoła się po wpisaniu komendy, w której znajdować się mogą max. 3 argumenty

arg 1 is "set"/"del": - efekt wywoła się, gdy napiszemy /warp set/del

arg 2 is not set: - efekt wywoła się, gdy napiszemy /warp set (i nic więcej)

add 1 to {warp.ilosc} - dodaje 1 do zmiennej

set {warp.%{warp.ilosc}%} to location of player - ustawienie warpu

add {warp.%{warp.ilosc}%} to {warp.list::*} - dodanie warpu do listy, aby nie mogl powstac drugi taki sam

send "Wiadomosc" - wysyłanie wiadomosci do gracza

else: - zaprzeczenie do warunku

arg 2 is number: - efekt wywoła się, gdy napiszemy /warp set/del <numer>

{warp.%arg 2%} is not set: - efekt wywoła się gdy warp o wpisanym numerze nie istnieje

arg 2 is less than {warp.ilosc} - efekt wywoła się, gdy w argumencie drugim wpisana wartość jest mniejsza niż zmienna {warp.ilosc}

{warp.list::*} doesn't contains {warp.%arg 2%}: - sprawdzenie, czy dany warp już istnieje

remove {warp.%arg 2%} from {warp.list::*} - Usuwa warp z listy
clear {warp.%arg 2%} - Usuwa warp
 
2.
        arg 1 is "spawn":            spawn a bat at location of player            disguise spawned entity as ender dragon            set {disguised.%spawned entity%} to "Smok"            make player leash spawned entity

arg 1 is "spawn" - efekt wywoła się gdy wpiszemy /warp spawn

spawn a bat at location of player - sprawia, że obok nas pojawia się nietoperz

disguise spawned entity as ender dragon - nietoperz, który się pojawił, będzie wyglądał jak smok kresu

set {disguised.%spawned entity%} to "Smok" - zmienna do rozpoznawania, czy kliknięty byt to smok, czy zwykły nietoperz

make player leash spawned entity - przywiązuje nietoperza do nas, byśmy mogli go przywiązać np. do płotka

 

3.

on leftclick on bat:    {disguised.%clicked entity%} is "Smok":        cancel event        add 1 to {warp.%player%}        {warp.%player%} is greater than {warp.ilosc}            set {warp.%player%} to 1        send "&6&lTwoj warp docelowy to warp nr &9&l%{warp.%player%}%!"on rightclick on bat:    {disguised.%clicked entity%} is "Smok":        cancel event        make player travel to {warp.%{warp.%player%}%}

on left/rightclick on bat: - efekt wywoła się po kliknięciu L/RPM na nietoperza

{disguised.%clicked entity%} is "Smok" - Jak wcześniej pisałem, zmienna do rozpoznawania czy kliknięty smok to nietoperz, czy smok
cancel event - zamyka wydarzenie
add 1 to {warp.%player%} - dodaje jeden do zmiennej
{warp.%player%} is greater than {warp.ilosc} - sprawdza, czy gracz nie "przedobrzył" z dodawaniem do zmiennej
set {warp.%player%} to 1 - zmienia numer warpu gracza na 1
send "wiadomosc" - wysyła wiadomość do gracza
make player travel to {warp.%{warp.%player%}%} - sprawia, że gracz podróżuje na smoku do warpu
 
Podsumowując:
 
command /warp [<text>] [<text>] [<text>]:    trigger:        arg 1 is "set":            arg 2 is not set:                add 1 to {warp.ilosc}                set {warp.%{warp.ilosc}%} to location of player                add {warp.%{warp.ilosc}%} to {warp.list::*}                send "&f&lZaznaczyles warp nr %{warp.ilosc}%!"            else:                arg 2 is number:                    {warp.%arg 2%} is not set:                        arg 2 is less than {warp.ilosc}:                            set {warp.%arg 2%} to location of player                            add {warp.%{warp.ilosc}%} to {warp.list::*}                                           send "&f&lZaznaczyles warp nr %{warp.ilosc}%!"                        else:                            send "&3&lNie mozesz miec wiecej warpow niz jest na liscie!"                    else:                        send "&c&lTaki warp juz istnieje!"        arg 1 is "del":            arg 2 is number:                {warp.list::*} contains {warp.%arg 2%}:                    remove {warp.%arg 2%} from {warp.list::*}                    clear {warp.%arg 2%}        arg 1 is "spawn":            spawn a bat at location of player            disguise spawned entity as ender dragon            set {disguised.%spawned entity%} to "Smok"            make player leash spawned entityon leftclick on bat:    {disguised.%clicked entity%} is "Smok":        cancel event        add 1 to {warp.%player%}        {warp.%player%} is greater than {warp.ilosc}            set {warp.%player%} to 1        send "&6&lTwoj warp docelowy to warp nr &9&l%{warp.%player%}%!"on rightclick on bat:    {disguised.%clicked entity%} is "Smok":        cancel event        make player travel to {warp.%{warp.%player%}%}

DZIĘKUJĘ ZA UWAGĘ!

Odnośnik do komentarza
https://skript.pl/temat/501-dragon-warp-%C5%9Bwietna-opcja-warp%C3%B3w-dla-vip%C3%B3w/
Udostępnij na innych stronach

Uhm... Zapomniałeś wspomnieć o pluginie DragonTravel?

Poza tym, czepiając się szczegółów "{warp.list::*} doesn't contain argument 2:" to sprawdzanie, czy warp o podanej nazwie jeszcze nie istnieje :P, ale ogólnie spoko że ktoś wspomniał o możliwościach innych addonów niż skplus.

 

@down

Może dlatego że HookSk zapewnia wsparcie m.in. dla pluginu DragonTravel - wykorzystuje, a nie zastępuje go.

 

Albo dzisiaj już mój mózg się przegrzał, albo to poniżej równanie nie ma sensu. To tak jakbyś napisał że nie = tak.

Zresztą nawet w skripcie

{lista::*} contains "x"

chyba różni się nieco od

{lista::*} doesn't contain "x"

czyż nie?

Odnośnik do komentarza
https://skript.pl/temat/501-dragon-warp-%C5%9Bwietna-opcja-warp%C3%B3w-dla-vip%C3%B3w/#findComment-2817
Udostępnij na innych stronach

A czemu mam wspominać o pluginie DragonTravel, jak nigdy nawet o takim nie słyszałem? Poprostu przedstawiłem opcję HookSk :P

 

Czy jeszcze nie istnieje = Czy już istnieje

Edytowane przez PoweredDragon
Odnośnik do komentarza
https://skript.pl/temat/501-dragon-warp-%C5%9Bwietna-opcja-warp%C3%B3w-dla-vip%C3%B3w/#findComment-2819
Udostępnij na innych stronach

  • 2 tygodnie później...

Dobrze. Dodałem drugi sposób. Myślę, że póki co z kolejnym się wstrzymam(myślałem o sposobie z INV GUI, ale to z SK+ jest zbyt zbugowane. Poczekam na WildSkript!), więc narazie poradnik skończony :D

Odnośnik do komentarza
https://skript.pl/temat/501-dragon-warp-%C5%9Bwietna-opcja-warp%C3%B3w-dla-vip%C3%B3w/#findComment-3661
Udostępnij na innych stronach

  • Szifter zablokował(a) ten temat
Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...