Bardzo dobrze zacząłeś go pisać.
Proszę bardzo tutaj jest dokończony skrypt:
command /magazyn [<integer=0>]:
trigger:
magazynMenu(player, arg)
function magazynMenu(p: player, i: integer):
if {_i} is 0:
set {_gui} to chest inventory with 1 rows named "&eMagazyny"
set slot 2 of {_gui} to lime shulker box named "&aMagazyn 1"
set slot 3 of {_gui} to lime shulker box named "&aMagazyn 2"
if {_p} has permission "vip.magazyn":
set slot 4 of {_gui} to yellow shulker box named "&eMagazyn 3"
set slot 5 of {_gui} to yellow shulker box named "&eMagazyn 4"
set slot 6 of {_gui} to yellow shulker box named "&eMagazyn 5"
else:
set slot 4 of {_gui} to barrier named "&eMagazyn 3" with lore "&cWymagana ranga VIP!"
set slot 5 of {_gui} to barrier named "&eMagazyn 4" with lore "&cWymagana ranga VIP!"
set slot 6 of {_gui} to barrier named "&eMagazyn 5" with lore "&cWymagana ranga VIP!"
else if {_i} is between 1 and 5:
if {_i} is between 3 and 5:
if {_p} doesn't have permission "vip.magazyn":
stop
set {_gui} to chest inventory with 6 rows named "&aMagazyn %{_i}%"
loop {magazyn::%{_p}%::%{_i}%::*}:
set slot (loop-index parsed as integer) of {_gui} to loop-value
open {_gui} to {_p}
on inventory click:
name of event-inventory is "&eMagazyny"
cancel event
event-inventory is not player's inventory
if clicked slot is any shulker box:
set {_name} to uncoloured name of clicked slot
replace all "Magazyn " with "" in {_name}
set {_name} to {_name} parsed as integer
magazynMenu(player, {_name})
on inventory close:
if name of player's current inventory contains "&aMagazyn":
set {_name} to uncoloured name of player's current inventory
replace all "Magazyn " with "" in {_name}
clear {magazyn::%player%::%{_name}%::*}
loop 54 times:
if slot loop-number of player's current inventory is not air:
set {magazyn::%player%::%{_name}%::%loop-number%} to slot loop-number of player's current inventory