개인 자료란 (JE)

  서버 커뮤니티

Profile HB 대표칭호 없음
Profile

질문하기 스크립트

발 밑에 블럭을 감지하여 비활성화되는 기능

2021.08.26 조회 수 195 추천 수 0
이해도 1.12 
게임버전 (JE) 페이퍼 
게임버전 (BE) ?? 
스크립트 버전 초보자(스크립트 구성요소, 기본문법은 알아요) 
스크립트 애드온 2.4.1 

/플라이 를 치면 플라이 활성화와 활성화변수가 true로 변경되고,

on flight toggle로 플레이어가 플라이 상태 + 활성화 변수 true일때

시간이 감소되게끔 작성했습니다.

만약 플라이 중, 플레이어 발 밑에 블럭이 있다면 시간이 감소되지 않도록

구성해보려하는데, 생각대로 잘 안되서 질문드립니다.

구문은 아래와 같이 작성하였고,

★ 있는 부분이 플레이어 발 밑에 블럭이 있을 경우, 시간이 흐르는 while문이 돌아가지 않게 

작성하였으나, 블럭이 있는지 인식하는 부분에서 에러가 발생합니다.

on flight toggle:

    if {fly.use.%player%} = true:

        if block 1 down player's location = false: ★

            while {fly.time.%player%} >= 1:

                subtract 1 from {fly.time.%player%}

                wait 1 seconds

            send "시간이 전부 소모되어 꺼집니다."

            disable flight to player

            exit★

        else if block 1 down player's location = true :

            exit



#한번 입력시 켜기, 한번 더 입력시 끄기


command /플라이:

    trigger:

        if {fly.use.%player%} = false:

            set {fly.use.%player%} to true

            enable flight to player

            send "켜짐"

            exit


        if {fly.use.%player%} = true:

            set {fly.use.%player%} to false

            disable flight to player

            send "꺼짐"

            exit




2개의 댓글

스크립터브혼
2021.08.26

https://skriptlang.github.io/Skript/conditions.html#CondIsOnGround

https://skriptlang.github.io/Skript/conditions.html#CondIsFlying

 

is on ground 컨디션으로 플레이어가 땅위에 서있는지 확인 할 수 있습니다.

반대로 is flying 컨디션으로 플레이어가 비행 중인지 확인 할 수 있습니다.

 

이 두 컨디션을 활용하시면 될것같습니다.

HB
2021.08.27
@스크립터브혼

답변 감사합니다. 방금 막 block below 관련 구문을 사용해 해결하였습니다.

해당 구문도 공부해보겠습니다.