늘솜보름
정품인증자
JIMIN2457 69b92cf6d9194ba7a57a668b093cb822
이해도 | 1.12 |
---|---|
게임버전 (JE) | 스피곳 |
스크립트 버전 | 중급자(필요한 애드온을 찾아서 만들 수 있어요) |
스크립트 애드온 | 2.5.3 |
* 분명 모두 정상적으로 작동하는 것을 확인했습니다.
1. 서버를 재시작하면 화강암, 섬록암, 안산암, 청금석이 다른 아이템의 모양으로 변합니다.
- 아이템 모양만 변했고 해당 아이템을 정상적으로 인식하긴 합니다.
2. 서버를 재시작하면 정상적으로 작동하던 "amount of {test} in inventory of player" 부분이 작동하지 않습니다.
- 분명히 잘 작동하던 스크립트였는데 서버를 재시작 하고나면 먹통이됩니다.
- {test}를 아이템으로 파싱도 해봤지만 해결하지 못했습니다. 근데 {test} 부분을 dirt 같이 직접 입력하면 또 정상적으로 작동합니다.
- 추가로 {test} 부분에는 스크립트로 저장된 아이템 id 가 불러와지고, {test} 자체를 send 하면 정상적으로 출력됩니다.
- 제가 아무리 해결해볼려고 했지만 도무지 어떤 문제인지 파악하기 힘들어서 도움 요청해봅니다.
- 그래서 변수 부분이 문제가 있는거 같은데 조언부탁드립니다.
스크립터브혼
2021.01.28안산암, 화강암과 같은 아이템은 돌과 같은 ID를 가지고 DATA가 다른걸로 알고 있습니다.
아이템을 저장할 때 ID만 저장했다면 DATA는 0이 되어서 돌이 나올것입니다. 아마도 단단한 흙도 그냥 일반 흙으로 나오겠죠.
서버를 종료하지 않았을 때 정상적으로 나오는 것은 아마도 인벤토리를 변수에 담아 재활용했기 때문일겁니다.
인벤토리를 재활용하기 때문에 한번 세팅된 아이템이 다시 세팅 될 일 없으니 DATA가 누락될 일도 없죠.
{test}변수는 이 변수에 아이템 데이터가 들어있는지 확인하세요.
늘솜보름
2021.01.28답변 감사합니다. 추가로 2번 문제인데 정말 아무리봐도 이해가 안됩니다.
1. send "%{%arg 2%::id}%" to player
2. send "%amount of {%arg 2%::id} in inventory of player%" to player
이 두 구문에서 {%arg 2%::id} 변수를 사용하여 출력하는데 변수값이 dirt라고 치면 1번은 dirt가 나옵니다.
그럼 2번은 dirt가 인벤토리에 몇개 있는지 나와야하는데 몇개가있든 무조건 0을 출력합니다.
이 경우에는 어떤식으로 접근해야 해결할 수 있는지 궁금합니다.
스크립터브혼
2021.01.28아이템은 [Item Amount]익스프레션을 사용합니다.
> item amount of %item%
늘솜보름
2021.01.29{test} 에 아이템 저장할때 set {test} to dirt 이런식으로 했었는데 set {test} to "dirt" parsed as item 으로 하니까 두문제 모두 해결됬습니다.
답변해주셔서 감사합니다.