이해도 | 1.12 |
---|---|
게임버전 (JE) | 페이퍼 |
스크립트 애드온 | 2.4 |
on inventory click:
if iname contains "&0&l * 제 작 대 *":
if click type is left mouse button with shift or right mouse button with shift or right mouse button:
cancel event
else:
if clicked raw slot is 9:
close player's inventory
open chest with 5 rows named "&6&l * 목 제 *" to player
set {_int1} to 0
set {_int2} to 18
set {_int3} to 36
loop 9 times:
format slot {_int1} of player with gray stained glass pane named "&f" to run ""
format slot {_int2} of player with gray stained glass pane named "&f" to run ""
format slot {_int3} of player with gray stained glass pane named "&f" to run ""
add 1 to {_int1}
add 1 to {_int2}
add 1 to {_int3}
format slot 44 of player with Barrier named "&c닫기" to close
set slot 9 of current inventory of player to stone named "{@접} 판자" with lore "" and "&7판자를 제작합니다"
if clicked raw slot is 9:
close player's inventory
send "제작중"
이렇게 코드를 적었는데 *제작대* gui에서 9번슬롯을 클릭해도 "제작중" 이라는 메세지가 나오네요 들여쓰기를 잘해야하나요?.. 도와주세용
스크립터브혼
2020.10.12이벤트에 대한 이해가 필요합니다.
작성하신 코드의 흐름을 보면 제작대 인벤토리에서9번 슬롯을 클릭하면 새로운 인벤토리를 열고, 제작중이라는 메세지를 띄우게 되어있습니다.
이벤트의 첫부분에
if iname contains "&0&l * 제 작 대 *":
조건을 넣어 제작대 인벤토리의 클릭이벤트를 처리한 것 처럼, 새로 연 목제 인벤토리의 클릭 이벤트를 따로 처리해야합니다.이벤트는 한번 실행되면 코드 마지막까지 실행됩니다.
해당 이벤트가 언제 동작하고 언제 끝나야 하는지, 이벤트가 어느 조건에서 동작하는지 다시 점검해보시기 바랍니다.