개인 자료란 (JE)

  서버 커뮤니티

Profile 탱글 정품인증자

__Sulhwa 145b4fdc4301451885bfd069badf01d1

Profile

질문하기 스크립트

tpa 스크립트

2022.10.24 조회 수 1282 추천 수 0
이해도 초보자 
게임버전 (JE) 1.19.2 
게임버전 (BE) 관련없음 
스크립트 버전 2.6.3 

TPA 스크립트를 만들었는데 오류는 안뜨는데 작동을 안하네요

뭐가 문제인가여..?


command /tpa [<offlineplayer>]:

    trigger:

        if arg is not set:

            send "&f해당 플레이어에게 텔레포트 요청을 보냅니다."

            send "&f/tpa <플레이어>"

            stop

        

        if arg is not "수락" or "거절" or "취소":

            if arg 1 is player:

                send "&c오류: &4자기 자신에게는 텔레포트 요청을 보낼 수 없습니다!"

                stop

        

        if {join::%arg 1%} is not set:

            send "&c오류: &4플레이어를 찾을 수 없습니다."

            stop

        

        if {join::%arg 1%} is set:

            if {tp::%arg 1%} is set:

                send "&c오류: &4그 플레이어는 이미 &f%{tp::%arg 1%}'s display name%님과 텔레포트 요청을 진행중입니다!"

                stop


            if {tp::%arg 1%} is not set:

                set {tp::%arg 1%} to player

                set {tp::%player%} to arg 1

                send "%arg 1's display name%&c님&6에게 텔레포트 요청을 보냈습니다."

                send "&6이 요청을 취소하시려면 &c/tpacancel&6, &c/티피 취소&6를 입력해주세요."

                send "&6이 요청은 &c15초 &6뒤에 자동으로 거절됩니다."

                send "%player's display name%&c님&6께서 텔레포트 요청을 보내셨습니다." to arg 1

                send "&6수락하시려면 &c/tpaccept&6, &c/티피 수락&6을" to arg 1

                send "&6거절하시려면 &c/tpdeny&6, &c/티피 거절&6을 입력해주세요." to arg 1

                send "&6이 요청은 &c15초 &6뒤에 자동으로 거절됩니다." to arg 1

                loop 150 times:

                    wait 0.1 seconds

                    if {tpdeny::%arg 1%} is set:

                        send "%arg 1's display name%&c님&6께서 텔레포트 요청을 거절하셨습니다."

                        send "%arg 1's display name%&c님&6이 보낸 텔레포트 요청을 거절했습니다." to arg 1

                        delete {tpdeny::%arg 1%}

                        delete {tpdeny::%player%}

                        delete {tp::%arg 1%}

                        delete {tp::%player%}

                        stop

                    

                    if {tpcancel::%player%} is set:

                        send "%arg 1's display name%&c님&6에게 보낸 텔레포트 요청을 취소했습니다."

                        send "%player's display name%&c님&6께서 보내신 텔레포트 요청을 취소하셨습니다." to arg 1

                        delete {tp::%arg 1%}

                        delete {tp::%player%}

                        delete {tpacancel::%player%}

                        

                    if {tpaccept::%arg 1%} is set:

                        teleport player to arg 1

                        send "%arg 1's display name%&c님&6께서 텔레포트 요청을 수락하셨습니다."

                        send "%arg 1's display name%&c님&6이 보낸 텔레포트 요청을 수락했습니다." to arg 1

                        delete {tpaccept::%arg 1%}

                        delete {tpaccept::%player%}

                        delete {tp::%arg 1%}

                        delete {tp::%player%}

                        stop

                

                if {tp::%player%} is set:

                    send "&c15초&6가 지나, &f%arg 1's display name%&c님&6에게 보낸 텔레포트 요청이 자동으로 거절되었습니다."

                    send "&c15초&6가 지나, &f%arg 1's display name%&c님&6께서 보내신 텔레포트 요청을 자동으로 거절했습니다." to arg 1

                    delete {tp::%arg 1%}

                    delete {tp::%player%}

                    stop

        

        if arg 1 is "수락":

            if {tp::%player%} is not set:

                send "&c오류: &4대기중인 요청이 없습니다."

                stop

                

            if {tp::%player%} is set:

                set {tpaccept::%player%} to 1

                stop

        

        if arg 1 is "거절":

            if {tp::%player%} is not set:

                send "&c오류: &4대기중인 요청이 없습니다."

                stop

            

            if {tp::%player%} is set:

                set {tpdeny::%player%} to 1

                stop

        

        if arg 1 is "취소":

            if {tp::%player%} is not set:

                send "&c오류: &4대기중인 요청이 없습니다."

            

            if {tp::%player%} is set:

                set {tpacancel::%player%} to 1

                stop

            

                    

                        

                        











3개의 댓글

코코냐
2022.10.24

tpa는 그냥 에센셜 쓰십시오.. 굳이 스크립트로 재구현할 이유가 없습니다..

탱글
2022.10.26
@코코냐

그냥 에센셜 써야겠네요 ㅠㅠ

qsef1256
2022.10.24

단순히 tpa 구현을 위해서 전역 변수를 이렇게 많이 할당할 필요가 없습니다. 저거 하나하나 다 관리하는 것도 비용입니다. 그 와중에 실수하면 이렇게 질문을 하게 됩니다.