Blackqkw
대표칭호 없음
이해도 | 1.16 |
---|---|
게임버전 (JE) | 페이퍼 |
스크립트 애드온 | 2.5-alpha6 |
여기서 GUI화면의 15번 슬롯을 클릭하면 "/home" 명령어가 실행되는데
GUI 화면을 연 상태에서 자신의 인벤토리의 15번 슬롯을 클릭해도 "/home" 명령어가 실행됩니다.
{inv.} 변수 때문에 그러는 건지..
도와주세요!
이해도 | 1.16 |
---|---|
게임버전 (JE) | 페이퍼 |
스크립트 애드온 | 2.5-alpha6 |
여기서 GUI화면의 15번 슬롯을 클릭하면 "/home" 명령어가 실행되는데
GUI 화면을 연 상태에서 자신의 인벤토리의 15번 슬롯을 클릭해도 "/home" 명령어가 실행됩니다.
{inv.} 변수 때문에 그러는 건지..
도와주세요!
스크립터브혼
2020.08.18current inventory
는 플레이어가 열어놓은 인벤토리입니다.클릭 위치에 상관없이 플레이어가 열어놓은 인벤토리를 반환합니다.
clicked slot
은 슬롯의 번호를 가져옵니다.클릭한 인벤토리에 상관없이 슬롯번호를 반환합니다.
즉,
어느 인벤토리를 클릭하든 열어놓은 인벤토리가 {inv.menu1}이고
어느 인벤토리를 클릭하든 슬롯이 11, 15인 경우 동작하게 됩니다.
첫번째 조건문에서
current inventory
대신clicked inventory
로 바꾸시면 해결될겁니다.clicked inventory
는 클릭한 인벤토리를 반환합니다.Blackqkw
2020.08.18[22:33:24 ERROR]: [Skript] the clicked inventory is not a types.attributetype (테스트.sk, line 19: if clicked inventory of player is {inv.menu1}:') 라는 오류가 떠요 ㅠ menu.sk
스크립터브혼
2020.08.19if clicked inventory is {inv.menu1}:
Blackqkw
2020.08.19도움을 주셔서 감사합니다 :) 그런데 하나만 더 질문드려도 될까요?
인벤토리에 있는 아이템을 '마우스 클릭'으로는 GUI화면에 아이템을 넣거나 가져와지지 않지만,
"쉬프트+우클릭" 으로는 GUI 화면에 아이템을 넣을 수 있던데 "쉬프트+우클릭" 으로도 GUI 화면에 아이템을 못 넣도록 할 수 있는
방법이 있나요?
스크립터브혼
2020.08.19먼저 작성하신 코드를 논리적으로 어떻게 동작하는지 이해를 하시기바랍니다.
cancel event
가on inventory click
이벤트를 취소시킵니다.그런데
cancel event
는if clicked inventory is {inv.menu1}
조건문을 통과해야 합니다.플레이어 인벤토리 클릭이 가능한 이유는
cancel event
가 플레이어 인벤토리를 클릭할때는 동작하지 않기 때문이죠.인벤토리 이벤트에 활용할 수 있는 익스프레션은
[Inventory], [Open Inventory], [Clicked Inventory]
[Inventory Action], [Inventory Slot] 등이 있습니다.
좌클릭, 우클릭, 쉬프트 좌클릭, 쉬프트 우클릭, 휠클릭 등의 클릭의 종류는 [Inventory Action]으로 확인할 수 있습니다.
이것들을 활용하여 논리적으로 어떻게 동작해야 하는지 생각해보시고 코드를 만들어보시기 바랍니다.
코드 작성이 어려우시다면 논리적으로 어떻게 동작하게 할지 구상해서 다시 질문주세요.