개인 자료란 (JE)

  서버 커뮤니티

Profile SulYa 일반인
Profile

질문하기 스크립트

1.16.2 스코어보드 스크립트 버그?

2020.09.09 조회 수 454 추천 수 0
이해도 1.16 
게임버전 (JE) 페이퍼 

every 1 seconds:

    loop all players:

        if {스코어보드::%loop-player%} is true:

            wipe loop-player's sidebar

            set name of sidebar of loop-player to "&b&l로갱서버"

            set score "&6>현재 시각 : %now%" in sidebar of loop-player to 9

            set score "    " in sidebar of loop-player to 8

            set score "&6>닉네임 : %loop-player%" in sidebar of loop-player to 7

            set score "   " in sidebar of loop-player to 6

            set score "&6>돈 : %{돈.%uuid of loop-player%}%" in sidebar of loop-player to 5

            set score "  " in sidebar of loop-player to 4

            set score "&6>접속자 수 : %number of all players%" in sidebar of loop-player to 3

            set score " " in sidebar of loop-player to 2

            set score "&6>죽은 횟수 : %{죽은수.%loop-player%}%" in sidebar of loop-player to 1

            

variables:

    {죽은수.%player%} = 0


on death:

    add 1 to {죽은수.%player%}

    

command /스코어보드 [<string>]:

    trigger:

        if arg 1 is "켜기":

            set {스코어보드.%uuid of player%} to true

            message "스코어보드가 활성화됨"

        

        if arg 1 is "끄기":

            set {스코어보드.%uuid of player%} to false

            message "스코어보드가 비활성화됨"


이렇게 적었을때 정상적으로 실행은 되는데 끄기가 안되네요 왜 그럴까요?

1개의 댓글

스크립터브혼
2020.09.09

스코어 보드를 갱신하는 every 이벤트에서, 스코어보드를 지우는 wipe sidebar이펙트가 조건문 아래에 있기 때문입니다.
wipe sidebar는 {스코어보드.%uuid of player%}가 true일때만 동작하기 때문이죠.


/스코어보드 끄기 명령을 해서 {스코어보드.%uuid of player%}가 false가 된다 하더라도 wipe sideber 이펙트가 동작하지 않기때문에 지워지지 않는겁니다. {스코어보드.%uuid of player%}가 false일때 wipe sidebar이펙트가 동작할 수 있도록 수정하세요.