Zmiany

Przejdź do nawigacji Przejdź do wyszukiwania

GUI

Dodane 245 bajtów, 00:20, 31 paź 2019
poprawki stylistyczne, gramatyczne i interpunkcyjne
[[Category:Skript]]
'''GUI''' - graficzny interfejs użytkownika (ang. graphical user interface) , oparty na [[Ekwipunek|ekwipunku (ang. inventory) ]] gracza . Jest to osobne okienko, które można zaprogramować na swój sposóbutworzyć i dostosować wedle własnych upodobań. Aby stworzyć własne GUI , można pomóc sobie dodatkami np. takimi jak [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] albo , lecz można również skorzystać z samego [[Skript|Skripta]].
[[Plik:GUI.png|alt=|brak|ramka|Skript umożliwia tworzenie dowolnych GUI]]
==Tworzenie GUI==
W celu stworzenia GUI trzeba zapisać [[Zdarzenia|zdarzenie]], [[Pętle|pętlę]] lub [[Komendy|komendę]] która wywoła , które wywołają 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 X jednak musimy pamiętać że gui będzie sie zniekształcać przy większej ilości slotów),*<string> - nazwa GUI,*<player> - gracz, któremu ma się owe GUI wyświetlić.
W takim powyższym GUI gracz jest zdolny do manipulowania ma nad nimpełną kontrolę, oraz nie ma lecz - w nim nictakim zestawieniu - jest ono puste, ponieważ gdyż należy zdefiniować to, co ma się w nim znaleźć oraz później dodać odpowiednie [[Event|eventy]], które wykonują kod po kliknięciu slota w inventory[[Ekwipunek|ekwipunku]].
===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 <u>Pierwszym slotem w ekwipunkujest slot, o liczbie porządkowej 0, a nie 1''</u>*<player> - gracz, któremu ma się slot wyświetlić,*<integer-2> - liczba danego przedmiotu,*<item> - dany przedmiot/blokangielska nazwa danego [[Item|itemu]], 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 . Nie jest on bowiem rozbudowany oraz nie umożliwia wywołania wielu efektów na raznaraz, dlatego poleca sięskorzystanie z:
<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''', a 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>":
# kod 2</pre>
'''Skript''' sprawdza, czy [[ekwipunek ]] jest nazwany <string>. Jeżeli ten [[Warunki|warunek]] się spełnibędzie spełniony, to wtedy skrypt anuluje ten event, przez co poskutkuje tym, że gracz nie może będzie mógł wyjąć przedmiotu. Następnie sprawdzasprawdzane jest, czy gracz nacisnął slot numer o numerze <integer>. Jeżeli , jeśli tak, to zostaje wykonany kod 1. Aby skuteczniej zabezpieczać zabezpieczyć serwer od takich przykrości powinno się dopisywać należy dopisać <code>wait <timespan></code>pomiędzy otworzeniem GUI, a definiowaniem slotów.
51
edycji

Menu nawigacyjne