개인 자료란 (JE)

  서버 커뮤니티

Profile 바람의너를 대표칭호 없음

windwolf0 eb03c9f65da24c338ffbbc8703e369b8

Profile

질문하기 스크립트

플레이어 인벤토리 빈공간 인식

2022.12.29 조회 수 370 추천 수 0
이해도 초보자 
게임버전 (JE) 1.16.5 
게임버전 (BE) 관련없음 
스크립트 버전 최신일겁니다. 

on inventory click:

    if name of player's current inventory is "&l도감등록 보상":

        cancel event

    if name of click item is "{@접두사} &e도감등록&f :&a 20&f%%":

        if {도등보상20퍼::%player%} is not set:

            if getDexPercentage(player) >= 20:

                loop 36 times:

                    set {_loop} to loop-value + 1

                    if slot {_loop} of current inventory of player is not air:

                        add 1 to {_tmp} 


                if {_tmp} is 36:

                    cancel event

                    message "{@접두사} 인벤토리가 꽉찼습니다. 인벤토리를 비우고 다시 시도하세요."

                    exit

                else:

                    close player's inventory

                    give {도감보상.20::*} to player

                    set {도등보상20퍼::%player%} to true

                    send "{@접두사} 보상이 지급되었습니다."

                    stop

이런식으로 구문을 짜뒀는데 인벤토리의 공간이 텅 비어있음에도 인벤토리가 꽉차있다고 뜹니다.




5개의 댓글

qsef1256
2022.12.29

https://skripthub.net/docs/?id=1150 를 사용하세요.

바람의너를
2022.12.29
@qsef1256

그렇게 해도 똑같습니다..

qsef1256
2022.12.29
@바람의너를

코드 보여주세요

바람의너를
2022.12.29
@qsef1256

on inventory click:

if name of player's current inventory is "&l도감등록 보상":

cancel event

if name of click item is "{@접두사} &e도감등록&f :&a 20&f%%":

if {도등보상20퍼::%player%} is not set:

if getDexPercentage(player) >= 20:

player has enough space for 10 feathers

cancel event

message "{@접두사} 인벤토리가 꽉찼습니다. 인벤토리를 비우고 다시 시도하세요."

exit

else:

close player's inventory

give {도감보상.20::*} to player

set {도등보상20퍼::%player%} to true

send "{@접두사} 보상이 지급되었습니다."

stop

qsef1256
2022.12.29
@바람의너를

1. 댓글에도 에디터 기능을 쓸 수 있습니다. 코드의 들여쓰기를 뭉개면 해석 결과가 달라질 수 있으니 다음부터는 주의 바랍니다.

2. 영어를 모르면 개발에 큰 차질이 생깁니다. 해석만 해도 뭐가 잘못된 건지 바로 알 수 있습니다. 굳이 중요성을 더 강조하기는 싫으니, 조건을 반대로 썼다는 것만 전달해 드리겠습니다.