개인 자료란 (JE)

  서버 커뮤니티

Profile 테크 대표칭호 없음
Profile

이해도 초보자(스크립트 구성요소나 기본문법은 알아요) 
게임버전 (JE) 1.12.2 
스크립트 버전 2.5.1 
스크립트 애드온 거의 다 있음 

on sneak toggle:

    if player is sneaking:

        if block below is not air:

            set {%player%.location} to location of player

            if {%player%.location} is set:

                set {%player%.블럭} to block below player

                message "당신은 현재 %{%player%.블럭}%으로 숨었습니다."

                if {%player%.블럭} is set:

                    set block at {%player%.location} to {%player%.블럭}

                        


위와 같은 구문에서 set block으로 설치한 블럭을 다른 사람이 왼클릭을 a번 하였을 때 저 블럭을 설치하게 한 사람이 죽게 하고 싶습니다. 어떻게 하면 좋을까요?

4개의 댓글

qsef1256
2021.09.02

on click: 이벤트를 활용해서 클릭했을때 그 블록이 변수에 등록된 블록인지 확인한 후 플레이어별 변수에 1을 증가시키고, 클릭할때 저장된 플레이어별 변수가 a를 넘으면 kill 하시면 됩니다.

스크립터브혼
2021.09.02

블록으로 플레이어와 좌표를 참조 할 수 있도록 구성하세요.

# 블록으로 참조 가능한 변수 생성
set {_loc} to loaction of block at player
set {click::%{_loc}%::count} to 0
set {click::%{_loc}%::player} to player


클릭 이벤트에서 클릭한 블록으로 생성된 변수를 참조하여 조건을 판단하시면 됩니다.

on click:
    clicked block is set
    clicked block is not air
    set {_loc} to location of clicked block
    {click::%{_loc}%::*} is set

    if {click::%{_loc}%::count} < 5:
        add 1 to {click::%{_loc}%::count}
    else:
        kill {click::%{_loc}%::player}
        delete {click::%{_loc}%::*}



테크
2021.09.02
@스크립터브혼
on sneak toggle:
    if player is sneaking:
        if block below is not air:
        set {%player%.location} to location of player
        if {%player%.location} is set:
            set {%player%.블럭} to block below player
            message "당신은 현재 %{%player%.블럭}%으로 숨었습니다."
            if {%player%.블럭} is set:
                set block at {%player%.location} to {%player%.블럭}
                set {_loc} to loaction of block at player
                set {click::%{_loc}%::count} to 0
                set {click::%{_loc}%::player} to player


on click:
    clicked block is set
    clicked block is not air
    set {_loc} to location of clicked block
    {click::%{_loc}%::*} is set
    if {click::%{_loc}%::count} < 5:
        add 1 to {click::%{_loc}%::count}
    else:
        kill {click::%{_loc}%::player}
        delete {click::%{_loc}%::*}

 

 

위와 같이 하였습니다 근데 저렇게 하더라도 실행이 안됩니다.. 뭐가 잘못된 걸까요? 그리고 저는 저 블럭을 설치하게 한 플레이어를 죽이고 싶습니다

스크립터브혼
2021.09.03
@테크
on sneak toggle:
    player is sneaking
    set {_block} to block 0.5 down player
    {_block} is not air
    set {_loc} to location of {_block}
    set {click::%{_loc}%::count} to 0
    set {click::%{_loc}%::player} to player
on click:
    clicked block is set
    clicked block is not air
    set {_loc} to location of clicked block
    {click::%{_loc}%::*} is set
    if {click::%{_loc}%::count} < 5:
        add 1 to {click::%{_loc}%::count}
    else:
        kill {click::%{_loc}%::player}
        delete {click::%{_loc}%::*}

코드 테스트 했습니다. 응용해서 쓰세요.