Otwórz menu główne

Zmiany

GUI

Dodane 3006 bajtów, 17:02, 27 paź 2019
brak opisu edycji
[[Category:Skript]]
'''GUI, Inventory''' - w grze jest to ekwipunek gracza, lecz w nazewnictwie potocznym w skryptach jest to osobne okienko, które można zaprogramować na swój sposób. Aby stworzyć własny ekwipunek należy zainstalować dodatek [https://www.spigotmc.org/resources/skquery-1-9-1-14.36631/ SkQuery] lub [https://forums.skunity.com/resources/tuske-custom-enchantments-gui-manager-and-more.16/ TuSKe]. == Tworzenie GUI ==W celu stworzenia GUI trzeba zapisać [[event]], [[pętle|periodical]] lub [[komenda|komendę]] która wywoła otworzenie się GUI. Wyświetlanie ekwipunku:<br><code>open chest with <integer> rows named "<string>" to <player></code> * <integer> to liczba rzędów w GUI (może ona być liczbą od 1 do 6)* <string> - nazwa GUI* <player> - gracz, któremu ma się owe GUI wyświetlić W takim GUI gracz jest zdolny do manipulowania nim, oraz nie ma w nim nic, ponieważ należy zdefiniować to, co ma się w nim znaleźć oraz później dodać eventy, które wykonują kod po kliknięciu slota w inventory. === Definiowanie slota ===<code>format slot <integer-1> of <player> with <integer-2> of <item> to <effect></code> * <integer-1> definiuje, na jakim slocie ma zostać wstawiony podany później przedmiot. ''Uwaga: Slot '''0''' jest pierwszym slotem w ekwipunku, a nie 1''* <player> - gracz, któremu ma się slot wyświetlić* <integer-2> - liczba danego przedmiotu* <item> - dany przedmiot/blok, np. ''diamond'', ''barrier'', ''bone''.* <effect> - tutaj możliwe jest zdefiniowanie czterech efektów:** '''be unstealable''' zapobiega 'kradzieży' przedmiotu, czyli nie można go wyjąć z GUI** '''run "<command>" umożliwia wywołanie komendy** '''close''' zamyka GUI** '''close then run "<command>" zamyka i wywołuje komendę, która jest wykonywana przez konsolę. Sposób pierwszy jest niepolecany ze względu, że nie jest rozbudowany oraz nie umożliwia wywołania wielu efektów na raz, dlatego poleca się <pre>open chest with <integer> row named "<string>" to <player> set <player>'s current inventory's slot <integer> to <integer-2> of <item> named "<string>"</pre>, gdzie * <player> określa gracza* <integer> jest liczbą całkowitą. W pierwszym przypadku może to być liczba od '''1''' do '''6''', w drugim zależnie od liczby rzędów od '''0''' do '''9*int-1''', w ostatnim od '''0''' do '''64'''* <string> jest tekstem* <item> jest przedmiotem w grze Aby wywołać kod po kliknięciu przedmiotu należy napisać event <code>on inventory click:</code><pre>on inventory click: if inventory name of current inventory of <player> is "<string>": cancel event if clicked slot is <integer>: # kod 1 else if clicked slot is <integer>: # kod 2</pre> '''Skript''' sprawdza, czy ekwipunek jest nazwany <string>. Jeżeli ten [[Condition|warunek]] się spełni, to wtedy skrypt anuluje ten event, przez co gracz nie może wyjąć przedmiotu. Następnie sprawdza, czy gracz nacisnął slot numer <integer>. Jeżeli tak, to zostaje wykonany kod 1. Aby skuteczniej zabezpieczać serwer od takich przykrości powinno się dopisywać <code>wait <timespan></code>.
112
edycji