Skocz do zawartości

Regiony. Z czym to się je?


Rekomendowane odpowiedzi

Hejka. Ten poradnik jest poświęcony regionom. Tutaj przedstawię wam wszystkie funkcje z nimi związane i w zasadzie potrzebne do stworzenia własnego regionu :f

 

Wydarzenia

Zacznijmy od wydarzeń, bo to one pozwolą nam na identyfikację regionu, jego członków, itp.

on region enter -> Aktywowane, gdy gracz wejdzie na teren jakiegoś regionu

on region leave/exit -> Aktywowane, gdy gracz wyjdzie z terenu jakiegoś regionu

Oba wydarzenia możemy również przemienić:

on entering of a region

on leaving of a region

 

Warunki:

Przejdźmy teraz do warunków. Jedne z ważniejszych części skryptów nt. regionów!

region is "nazwa" -> Sprawdza, czy regionem zawartym w wydarzeniu on region enter lub on region leave jest region o wpisanej przez nas nazwie

np.

on region enter:    region is "Spleef":        send "Watch out! You're at spleef arena!"

region contains %location% -> Sprawdza czy w regionie z wydarzenia znajduje się określona lokacja.

np.

on region exit:    region contains {home.%player%}:        send "Oddalasz sie od swojego domu!"

%location% is in region "nazwa" -> Sprawdza czy określona przez nas lokacja jest w określonym przez nas regionie

np.

command /sethome:    trigger:        set {_loc} to location of player        {_loc} is in region "spawn":            send "Nie mozesz ustawic home na spawnie!"            stop        set {home.%player%} to location of player

%location% is in any region -> Sprawdza czy określona przez nas lokacja jest w jakimkolwiek regionie

np.

on damage:    location of attacker is in any region:        set {_id} to Regions at location of attacker        {flags.%{_id}%::dmg} is false:            cancel event            send "Nie mozesz bic innych w tym regionie!" to attacker    location of victim is in any region:        set {_id} to regions at location of victim        {flags.%{_id}%::dmg} is false:            cancel event            send "Nie mozesz bic innych w tym regionie!" to attacker

region "nazwa" [is not/does not/doesn't/isn't] exists -> Sprawdza czy określony przez nas region [nie] istnieje 

np.

command /flag [<text>] [<text>] [<text>]:    trigger:        arg 1 is "dmg":            arg 2 is "true"                arg 3 is set:                    region "%arg 3%" exists:                    set {flags.%arg 3%::dmg} to true

Efekty

Nie ma efektów, nie ma skryptu, bo co bez takowych zrobimy? Tutaj jest podobnie, tylko lista efektów jest dość obszerna!

new Region "nazwa" -> Tworzy nowy region

np.

command /rg [<text>] [<text>] [<text>] [<text>]:  trigger:    arg 1 is "create":      arg 2 is set:        region "%arg 2%" is not exists:          new Region "%arg 2%"

"nazwa".Region.selectLS{%location%, %number%} -> Wyznacza region ze środka i podanego rozmiaru

np.

arg 1 is "define":  arg 2 is set:    region "%arg 2%" exists:      arg 3 is "centre":        arg 4 is number:          {loc.1.%player%} is set:            "%arg 2%".Region.selectLS{{loc.1.%player%}, arg 4}

 

 

"nazwa".Region.selectLL{%location%, %location%} -> Wyznacza region z dwóch podanych punktów

np.

    arg 1 is "define":      arg 2 is set:        region "%arg 2%" exists:          arg 3 is "centre":            arg 4 is number:              {loc.1.%player%} is set:                "%arg 2%".Region.selectLS{{loc.1.%player%}, arg 4}          else:            {loc.1.%player%} is set:              {loc.2.%player%} is set:                "%arg 2%".Region.selectLL{{loc.1.%player%}, {loc.2.%player%}}

"nazwa".Region.setSize{%number%} -> Zmienia rozmiar regionu

np.

arg 1 is "expand":  arg 2 is "size":    arg 3 is number:       arg 4 is set:         region "%arg 4%" exists:           "%arg 4%".Region.setSize{arg 3}

"nazwa".Region.setHeight{%number%} -> Zmienia wysokość regionu

np.

arg 1 is "expand":  arg 2 is "height":    arg 3 is number:      arg 4 is set:        region "%arg 4%" exists:          "%arg 4%".Region.setHeight{arg 3};

"nazwa".Region.setCenter{%location%} -> Zmienia centrum regionu

np.

arg 1 is "set":  arg 2 is "center":    arg 3 is set:      region "%arg 3%" exists:        "%arg 3%".Region.setCenter{location of player}

"nazwa".Region.setP{%location%} -> Zmienia jeden z punktów regionu

np.

arg 1 is "set":  arg 2 is "corner":    arg 3 is "p":      arg 4 is set:        region "%arg 4%" exists:          "%arg 4%".Region.setP{location of player}

"nazwa".Region.setL{%location%} -> Zmienia jeden z punktów regionu

np.

arg 1 is "set":  arg 2 is "corner":    arg 3 is "l":      arg 4 is set:        region "%arg 4%" exists:         "%arg 4%".Region.setL{location of player}
 
"nazwa".Region.setWorld{%world%} -> Zmienia świat lokacji(nie testowane i pewnie mało kto używa, ale prawdopodobnie punkty zostają te same, więc koordynaty regionu, itp. będą takie same, tylko w określonym świecie!)
np.
 
arg 1 is "set":  arg 2 is "world":    arg 3 is set:      arg 4 is set:        region "%arg 3%" exists:          "%arg 3%".Region.setWorld{arg 4};

"nazwa".Region.delete{} -> Usuwa region

np.

arg 1 is "undefine":  arg 2 is set:    region "%arg 2%" exists:      "%arg 2%".Region.delete{}

Wyrażenia

Część skripta która nie ma prawa samodzielnie funkcjonować, tak jest i tutaj. Wyrażenia dotyczące regionów, to dane regionu do pobrania.

 

members/owners of region -> Lista członków i właścicieli regionu

np.

on region enter:  set {_id} to region  {_id} contains "Clan":    send "&eLista czlonkow: %members of region%"    send "&eLista wlascicieli: %owners of region%"

Regions at %location% albo Region.at{%location%} -> Dwa wyrażenia ujawniające nam jakie regiony znajdują się na danej lokacji. To pierwsze wprowadzone jest przez czysty Skript, to drugie wprowadza dodatek WildSkript

np.

command /sethome:  trigger:    set {_loc} to location of player    set {_rg} to Region.at{{_loc}}    send "Regiony na terenie twojego home: %regions at {_loc}%"    set {home.%player%} to {_loc}

"nazwa".Region.getID{}; -> Wyrażenie zwracające nazwę regionu

"nazwa".Region.getSize{}; -> Wyrażenie zwracające rozmiar regionu

"nazwa".Region.getL{}; -> Wyrażenie zwracające 1 wierzchołek regionu

"nazwa".Region.getP{}; -> Wyrażenie zwracające 2 wierzchołek regionu

"nazwa".Region.getCenter{}; -> Wyrażenie zwracające środek region

"nazwa".Region.getWorld{}; -> Wyrażenie zwracające świat, w którym jest regiony

"nazwa".Region.getLower%coord%{}; -> Wyrażenie, które zwraca najmniejszy określony koordynat podany przez nas(X/Y/Z)

"nazwa".Region.getUpper%coord%{}; -> Przciwieństwo powyższego.

np.

command /rg info:  trigger:    set {_loc} to location of player    set {_rg} to Region.at{{_loc}}    set {_id} to {_rg}.Region.getID{};    send "ID regionu: %{_id}%"    set {_size} to {_rg}.Region.getSize{};    send "Rozmiar regionu: %{_size}%"    set {_L} to {_rg}.Region.getL{};    set {_P} to {_rg}.Region.getP{};    send "Punkty regionu: %{_L}%, %{_P}%"    set {_C} to {_rg}.Region.getCenter{};    send "Centrum regionu: %{_C}%"    set {_world} to {_rg}.Region.getWorld{};    send "Swiat, w ktorym znajduje sie region: %{_world}%"    set {_lx} to {_rg}.Region.getLowerZ{};    set {_ly} to {_rg}.Region.getLowerY{};    set {_lz} to {_rg}.Region.getLowerZ{};    set {_ux} to {_rg}.Region.getUpperX{};    set {_uy} to {_rg}.Region.getUpperY{};    set {_uz} to {_rg}.Region.getUpperZ{};    send "Koordynaty regionu: %{_lx}%, %{_ly}%, %{_lz}%:%{_ux}%, %{_uy}%, %{_uz}%"

Wymagania: Skript, WildSkript

Odnośnik do komentarza
https://skript.pl/temat/1643-regiony-z-czym-to-si%C4%99-je/
Udostępnij na innych stronach

Super teraz każdy może juz tworzyć regiony WildSk samodzielnie :) Like leci ;D

 

//Edit

on region enter:


region is "Spleef":
send "Watch out! You're at spleef arena!"

Da się to jakoś zmienić zeby było na byle jaki region?

Może {region.lista} zamiest "spleef"

??

 

//Edit/2

Sorka za te edity ale właśnie zauważyłem bląd taki malutki :D

set {_uy} to {_rg}.Region.getUpperY{};


set {_uz} to {_rg}.Region.getUpperZ{};
send "Koordynaty regionu: %{_lx}%, %{_ly}%, %{_lz}%:%{_ux}%, %{_uy}%, %{_uz}%

Ma końcu brakuje " 

xD

Edytowane przez MrxJoint
Odnośnik do komentarza
https://skript.pl/temat/1643-regiony-z-czym-to-si%C4%99-je/#findComment-13590
Udostępnij na innych stronach

Jak mieszam ;_: Po prostu wszystkie eventy, efekty, warunki, etc. wywaliłem w jeden temat ;_;

@Joint:

On region enter:    send "You're entering region %region%"

Poprawiam błąd :F

Odnośnik do komentarza
https://skript.pl/temat/1643-regiony-z-czym-to-si%C4%99-je/#findComment-13623
Udostępnij na innych stronach

  • 3 tygodnie później...
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ę...