개인 자료란 (JE)

  서버 커뮤니티

Profile 웅앵웅 대표칭호 없음
Profile

질문하기 스크립트

부활 스크립트 질문

20 일 전 조회 수 51 추천 수 0
이해도 초보자 
게임버전 (JE) 1.20.1 
게임버전 (BE) 관련없음 


안녕하세요.

하드코어 서버를 하려고 하는데 스크립트로 부활 커맨드를 만드려고 했습니다.

코드는


on death:

    set {death.location.%victim%} to victim's location

    add victim to {death.players::*}


command /revive:

    trigger:

        if size of {death.players::*} is 0:

            send "죽은 플레이어가 없습니다." to player

            stop


        open chest with 3 rows named "&b부활" to player

        

        set {_slot} to 0

        loop {death.players::*}:

            set {_player} to loop-value


            set {_head} to skull of {_player} named "&b%loop-value%" with lore "&r&f클릭하여 부활시키기 (다이아몬드 %{diamond}%개 필요)"

            set slot {_slot} of player's current inventory to {_head}

            

            add 1 to {_slot}

            if {_slot} is 27:

                stop


on inventory click:

    if name of event-inventory is "&b부활":

        set {_slot} to clicked slot

        set {_player} to {death.players::%{_slot}%}

        if {_player} is online:

            if player has {diamond} of diamond:

                remove {diamond} of diamond from player

                teleport {_player} to {death.location.%player%}

                delete {death.location.%player%}

                remove {_player} from {death.players::*}

                broadcast "{@sys} %player%님이 %{_player}%님을 부활시켰습니다."

                close player's inventory

            else:

                send "{@sys} 다이아몬드가 부족합니다." to player

        else:

            send "{@sys} %{_player}%님이 온라인 상태가 아닙니다." to player

        cancel event


이렇게 썼습니다.

그런데 작동시켜서 gui안에 플레이어 머리를 누르니 계속 플레이어가 온라인이 아니라고 뜹니다.

해결방법이 있을까요?


사용 애드온은 SkQuery와 SKBee 입니다




1개의 댓글

windy_wind
19 일 전

그거 아시나요? inventory에서 slot은 0번부터 시작합니다. 님이 생각하는 첫번째 슬롯은 clicked slot에서는 0이죠. 따라서 +1를 해보시죠