개인 자료란 (JE)

  서버 커뮤니티

Profile 아플 대표칭호 없음
Profile

질문하기 스크립트

상점스크립트가 이상합니다.

2023.06.24 조회 수 89 추천 수 0
이해도 초보자 
게임버전 (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


이렇게 쓰는데 어떨때는 되고 어떨때는 안됩니다.

돈 변수는 똑같이 쓰는데 왜이런지 모르겠네요.

계속 돈이 충분하지 않다고 뜨네요..





4개의 댓글

유니당
2023.06.24

아마 if {money::%player%} >= 200:에서 {money::%player%}는 on inventory click:을 했을때 시점의 변수만 가져오는 것 같습니다. 저도 전에 같은 문제를 격은 적이 있어, 임시변수를 만들어 해결했던 기억이 있습니다.

아플
2023.06.24
@유니당

구체적으로 임시변수를 어떤식으로 만들어야 하나요?

유니당
2023.06.24
@아플

활용된 양상이 다르기도 하고 코드를 워낙 복잡하게 짰어서 뭐라 설명드리기가 어렵네요;; 질문자님이 질문하신 구문보면 딱히 오류 생길만한 구문도 없긴 한데 한번 subtract 대신에 remove 사용해보시는거 어때요?

qsef1256
2023.06.25

그런 종류의 버그는 대부분 생성 원인이 복잡합니다. 다른 스크립트의 부작용으로 생길 수도 있으므로 위 내용만으로는 원인을 알기 어렵습니다.