Siema!
Napotykam się ostatnio często ze stwierdzeniem, że gui w skrypcie się buguje.
Jest to FAKE
Funkcja format slot jest zbugowana
Także można spotkać się z odpowiedziami "użyj sdGui"
Można zrobić gui bez bugów, dziś wam to pokaże.
Pierwszy krok
Przygotuj komendę i samo otworzenie inventory
command /komenda [<text>]
trigger:
open chest with 1 row named "&6Nasze inventory !" to player
Otwiera to nam inventory (czyli gui) ale bez żadnych slotów, teraz trzeba je dodać
set player's current inventory's slot 0 to diamond named "&6Nazwijcie to jak chcecie" with lore "&c» &7No dawaj nie zbugujesz mnie :D!"
A w kodzie będzie to wyglądać następująco:
command /komenda [<text>]:
trigger:
open chest with 1 row named "&6Nasze inventory !" to player
set player's current inventory's slot 0 to diamond named "&6Nazwijcie to jak chcecie" with lore "&c» &7No dawaj nie zbugujesz mnie :D!"
Nie trzeba dawać with lore
Mamy już inventory ale da się wyciągać przedmioty.
Drugi krok
Pozbędziemy się wyciągania itemów
Pierw dopiszmy event dzięki któremu nie będzie się dało bugować, a jest nim on inventory click: Po angielsku każdy będzie wiedzieć co to znaczy.
on inventory click:
Teraz musimy dodać pobieranie nazwy inventory w następujący sposób
on inventory click:
if inventory name of current inventory of player is "&6Nasze inventory !":
Wpisujemy tam nazwe naszego inventory
Teraz musimy pobrać item lub slot.
Są 2 sposoby
1 sposób - Pobieranie itemu:
if player's current inventory's slot slot is diamond:
Po sprawdzeniu inventory sprawdza item.
2 sposób - Pobieranie klikanego slota:
if clicked slot is 0:
Sprawdza tylko slot, nie item
W kodzie będzie to wyglądać tak:
on inventory click:
if inventory name of current inventory of player is "&6Nasze inventory !":
if player's current inventory's slot slot is diamond:
Lub tak
on inventory click:
if inventory name of current inventory of player is "&6Nasze inventory !":
if clicked slot is 0:
Teraz kolejna część ! Trzeba dodać jakąś akcję, ja dodam komendę wykonywaną przez gracza, wiadomość do niego, i blokowanie wyjmowania itemu
Pokaże wam tylko co zrobić aby nie bugowało się inventory. Komendę i wysyłanie wiadomości to podstawy skript, jeżeli ich nie znasz wróć do podstaw
A ten event to !!!!!!
cancel event
Tak cancel event, jak wiemy zatrzymuje on akcję, blokuje ją, a w kodzie wygląda to tak !
on inventory click:
if inventory name of current inventory of player is "&6Nasze inventory !":
if player's current inventory's slot slot is diamond:
send "Czy ty to chcesz wyjąc?"
execute console command "kick %player%"
execute player command "sudo"
cancel event
To w sumie tyle, będą aktualizacje tego. Więc trzymajcie się i powodzenia.
Oczekuję na hejty gdyż je kocham