아플
대표칭호 없음
이해도 | 초보자 |
---|---|
게임버전 (JE) | 1.19.4 |
게임버전 (BE) | 관련없음 |
스크립트 버전 | 2.6.4 |
on inventory click:
if name of current inventory of player is "&d가문비 상점 무기류":
cancel event
if clicked raw slot is 9:
if {money::%player%} >= 200:
subtract 200 from {money::%player%}
give player 1 of stone sword named "&7돌검" with lore "&6두번째 단계의 검 딱딱해보인다."
message "&7돌검&e을 구매하셨습니다. &c-200원" to player
else:
message "&c돈이 충분하지 않습니다!" to player
이렇게 쓰는데 어떨때는 되고 어떨때는 안됩니다.
돈 변수는 똑같이 쓰는데 왜이런지 모르겠네요.
계속 돈이 충분하지 않다고 뜨네요..
유니당
2023.06.24아마 if {money::%player%} >= 200:에서 {money::%player%}는 on inventory click:을 했을때 시점의 변수만 가져오는 것 같습니다. 저도 전에 같은 문제를 격은 적이 있어, 임시변수를 만들어 해결했던 기억이 있습니다.
아플
2023.06.24구체적으로 임시변수를 어떤식으로 만들어야 하나요?
유니당
2023.06.24활용된 양상이 다르기도 하고 코드를 워낙 복잡하게 짰어서 뭐라 설명드리기가 어렵네요;; 질문자님이 질문하신 구문보면 딱히 오류 생길만한 구문도 없긴 한데 한번 subtract 대신에 remove 사용해보시는거 어때요?
qsef1256
2023.06.25그런 종류의 버그는 대부분 생성 원인이 복잡합니다. 다른 스크립트의 부작용으로 생길 수도 있으므로 위 내용만으로는 원인을 알기 어렵습니다.