개인 자료란 (JE)

  서버 커뮤니티

Profile sw8744 대표칭호 없음

sw8744 1ea5f00ab5164c39bf71d43aad8cc551

Profile

질문하기 스크립트

pvp 스크립트 질문합니다...

2021.01.21 조회 수 576 추천 수 0
이해도 1.16 
게임버전 (JE) 페이퍼 
게임버전 (BE) skChoke, Skellett, SkQuery, SkUtilities 
스크립트 버전 중급자(필요한 애드온을 찾아서 만들 수 있어요) 
스크립트 애드온 2.5.2 

pvp.sk /pvp 명령어를 입력하면 pvp 경기가 시작되고, /pvptp를 입력하면 경기에 참가가 되며 실명에 걸립니다. 그리고 2명이 되면 채팅창에 5 4 3 2 1 시작이 뜨게 되고 게임이 시작하는 구상입니다.

그런데 처음에 들어온 사람이 5 4 3 2 1 뜬 다음에 다시 들어오는 오류가 있습니다. 어떻게 고치면 될까요?


command /pvp:
    trigger:
        if player is op:
            set {muchpp} to 0
            set {nameofps1} to "Steve"
            set {nameofps2} to "Alex"
            set {pvpTF} to true
            set {startTF} to false
            set {ready} to false
            broadcast "곧 PVP 경기가 시작됩니다. 참가하실 분들은 채팅창에 /pvptp를 입력하세요."


command /pvptp:
    trigger:
        if {pvpTF} is true:
            add 1 to {muchpp}
            if {muchpp} is 1:
                set {nameofps1} to "%player%"
                make player run cmd "/tp @s -200 4 341" as op
                make player run cmd "/effect give @s blindness 99999" as op
                while {startTF} is false:
                    message "&e상대를 찾고 있습니다..."
                    wait 5 second
                set {ready} to true
                if {startTF} is true:
                    message "&e5"
                    wait 1 second
                    message "&e4" 
                    wait 1 second
                    message "&e3" 
                    wait 1 second
                    message "&e2" 
                    wait 1 second
                    message "&e1"
                    wait 1 second
                    message "&e시작!"
                    make player run cmd "/effect clear @s blindness" as op


            if {muchpp} is 2:
                set {nameofps2} to "%player%"
                set {startTF} to true
                make player run cmd "/tp @s -200 4 328" as op
                make player run cmd "/effect give @s blindness 99999" as op
                while {ready} is false:
                    message "상대를 기다리는 중..."
                    wait 5 second
                if {ready} is true:
                    message "&e5"
                    wait 1 second
                    message "&e4"
                    wait 1 second
                    message "&e3"
                    wait 1 second
                    message "&e2"
                    wait 1 second
                    message "&e1"
                    wait 1 second
                    message "&e시작!"
                    make player run cmd "/effect clear @s blindness" as op
                
            if {muchpp} > 2:
                message "&4참가인원이 꽉 찼습니다!"


command /cancelpvp:
    trigger:
        if player is op:
            set {pvpTF} to false
            broadcast "이번 PVP 경기는 관리자에 의해 취소되었습니다."
            set {muchpp} to 0
            set {nameofps1} to "WOW"
            set {nameofps2} to "UNBELIEVABLE"

2개의 댓글

스크립터브혼
2021.01.22

[게임 시작 대기시간 구현하기] 참고해 보세요.

게임과 플레이어의 역할을 나누어 생각해보고

플레이어의 행동에 따라 게임이 어떤 일을하고 플레이어는 어떤 결과를 얻는지 생각하면서 읽어보시기 바랍니다.

sw8744
2021.01.22
@스크립터브혼

감사합니다!