개인 자료란 (JE)

  서버 커뮤니티

Profile 뇽뇨뇽 대표칭호 없음

Sierra_24 9e02e0e56c084821b3ba3c02f36edb71

Profile

질문하기 스크립트

오류는 안뜨는데 정상작동이 안되네요...ㅠ

2020.08.28 조회 수 497 추천 수 0
이해도 1.12 
게임버전 (JE) 모드버킷 
게임버전 (BE) SK-Query-Lime, Skellett 
스크립트 애드온 skript 2.2 dev-37c 

모드 버킷은 catserver 사용 중입니다. 오류 뜨는건 다 수정 했는데 정상 작동을 안하네요...ㅠ
제 능력이 부족한 것 같습니다..
또한 강화 창에 아이템을 넣은 채로 강화창을 닫으면 아이템이 증발해 버리는 부분 수정 방법 알려주시면 정말 감사하겠습니다..!TEST.sk 

4개의 댓글

스크립터브혼
2020.08.28

1. 코드에 대해서 설명을 해주세요. 어떤 방식으로 기능을 구현했는지, 안되는 기능이 무엇인지, 그 부분에 해당하는 코드가 어느 부분인지 적어주시기 바랍니다.

2. 아이템이 증발하는 것이 아니라 닫은 인벤토리를 다시 열지 못하기 때문입니다.
인벤토리를 전역변수로 저장해 두었다가 요청 시 열어주면 됩니다.

스크립트에서 인벤토리는 variables.csv파일에 저장되지 않기 때문에 서버가 종료되면 모두 삭제됩니다. 종료 후에도 인벤토리를 유지하려면 인벤토리의 아이템을 리스트에 저장해두었다가 인벤토리를 요청할때 다시 세팅하는 방식으로 구현해야합니다.
질문주신 강화와 같은 GUI라면 인벤토리를 닫을때 해당 아이템을 플레이어 인벤토리에 넣어주던가, 월드에 드랍하는 방식(작업대 기본 알고리즘)으로 구현하는 것이 더 효율적인 방법입니다.

뇽뇨뇽
2020.08.28
@스크립터브혼

1.강화 확률을 인식을 못하는건지 100%로 해도 실패합니다.

2. 인벤토리에 저장 하고자 함이 아니라 창을 닫았을시 지정 슬롯의 아이템만 돌려주는것을 생각하고 있습니다.

스크립터브혼
2020.08.28
@뇽뇨뇽

chance에 사용된 변수가 올바른 값을 가지고 있는지 확인해보세요.

인벤토리를 닫을때 아이템을 드랍하려면 [On Inventory Close]이벤트에서 해당 슬롯의 아이템을 드랍하면 됩니다.

스크립터브혼
2020.08.28
@스크립터브혼

[애드온 없이 GUI 구현하기] 예제에서
[2] 가상인벤토리를 생성합니다 에서 인벤토리를 변수에 담습니다.
[3] 미리 생성한 GUI를 열어줍니다 에서 변수를 통해 인벤토리를 열어줍니다.

강화 GUI는 조합대 GUI와 같이플레이어 각각에게 얼여주어야 하기때문에
변수 이름에 플레이어를 특정할 수 있는 데이터(ex. 이름, UUID)를 사용해야합니다.