options:
STitem: &7Mainpage
NSitem: &6nextpage
VSitem: &7previous page
GlobalPlayerGuiName: &cPlayers
pagetext: &6Page
command test:
trigger:
set {GlobalPlayer::*} to all players
Menu(player, 0)
function Menu(p: player, page: number):
set {_pageStart} to 45*{_page}
set {_s} to 0
open chest inventory with 6 rows named "Player" to {_p}
loop {GlobalPlayer::*}:
(loop-index parsed as integer) > {_pageStart}
set slot {_s} of {_p}'s current inventory to loop-value
add 1 to {_s}
if ({_s}) >= 45:
exit loop
set slot 49 of {_p}'s current inventory to {_p}'s skull named "{@STitem}" with lore "{@pagetext}: &7%{_page}%/%round(size of {GlobalPlayer::*}/(9*6))%"
if (size of {GlobalPlayer::*}) > {_pageStart} + 45:
set slot 50 of {_p}'s current inventory to ("MHF_ArrowRight" parsed as offline player)'s skull named "{@NSitem}" with lore "&7%{_page}%"
if {_page} > 0:
set slot 48 of {_p}'s current inventory to ("MHF_ArrowLeft" parsed as offline player)'s skull named "{@VSitem}" with lore "&7%{_page}%"
inventory click:
event-inventory != player' inventory:
name of player' current inventory = "{@GlobalPlayerGuiName}":
cancel event
event-slot != air:
if index of event-slot = 50:
set {_invname} to (uncoloured line 1 of lore of event-slot parsed as integer)+1
Menu(player, {_invname})
else if index of event-slot = 48:
set {_invname} to (uncoloured line 1 of lore of event-slot parsed as integer)-1
Menu(player, {_invname})
else if index of event-slot = 49:
Menu(player, 0)