-
Notifications
You must be signed in to change notification settings - Fork 1
GUI
JunHyeong Lim edited this page Oct 8, 2018
·
8 revisions
bind(inventory_click, null, array('virtual': true), @e) {
@id = pinventory_holder()
if (@id != 'ch.gui1') {
die()
}
cancel()
@clickedSlot = @e[rawslot]
switch (@clickedSlot) {
case 12:
set_ploc(get_spawn())
msg('스폰으로 이동했습니다.')
break()
case 14:
close_pinv()
msg('GUI 를 종료했습니다.')
break()
}
}*:/gui = >>>
@id = 'ch.gui1'
if (array_contains(get_virtual_inventories(), @id)) {
delete_virtual_inventory(@id)
}
@items = array(
12: array(
type: 1,
data: 0,
qty: 1,
meta: array(
'display': '스폰으로 이동',
'lore': array(
'클릭 시',
'스폰으로 이동'
)
)
),
14: array(
type: 3,
data: 0,
qty: 1,
meta: array(
'display': 'GUI 종료',
'lore': array(
'클릭 시',
'GUI 종료'
)
)
)
)
create_virtual_inventory(@id, 27, '타이틀', @items)
popen_inventory(player(), @id)
<<<위 예제는 간결함을 위해 어쩔 수 없었으나 create_virtual_inventory() 는 커맨드헬퍼의 배열값을 버킷 인벤토리로 변환하기 때문에 오버헤드가 있는 함수입니다. 정도가 미미하긴 하지만 대형서버라면 한 번만 생성하여 재사용하는 것을 추천합니다.