개인 자료란 (JE)

  서버 커뮤니티

Profile 느으너앍 대표칭호 없음

Soul_MC 394e8b058b494a24be42a0a304207c31

Profile

질문하기 스크립트

위치 변경 스크립트 질문 있습니다.

2021.03.05 조회 수 362 추천 수 0
이해도 1.16 
게임버전 (JE) 페이퍼 
게임버전 (BE) SkQuery / Skellett / Misk 
스크립트 애드온 2.5.3 

특정 아이템을 우클릭 하면 플레이어의 에임에 위치한 엔티티와 플레이어의 위치가 바뀌는 스크립트를 짰는데

몇가지 궁금한 점이 있어서 질문 드립니다.


<소스코드>

on rightclick: 
    if name of player's tool is "&e&lTEST" :
        if {SWAP::횟수::%uuid of player%} is not 0:
            set {_loc} to the location at targeted entity

            if targeted entity is not a player:
                message "{@s} 플레이어에게만 사용 가능합니다."

            #else if targeted entity is npc: # 이 부분은 오류
            #    message "{@s} npc는 타겟으로 지정할 수 없습니다."

            #else if targeted entity is block: # 이 부분은 미작동
            #    message "{@s} 플레이어를 찾을 수 없습니다."

            else:
                if the distance between the player and {_loc} is smaller than 10:
                    set {SWAP::횟수::%uuid of player%} to {SWAP::횟수::%uuid of player%} - 1
                    teleport the targeted entity to player
                    teleport the player to {_loc}
                else:
                    message "{@s} &e거리가 너무 멉니다!"

        else:
            message "{@s} &c사용 가능한 횟수가 없습니다."

Q1.위치 교환 시 상대 플레이어는 저를 바라보는데 저는 상대 플레이어가 바라보는 곳을 보게 됩니다.

혹시 특정 좌표값을 바라보게 할 수 있을까요??

        set {_loc} to the location at player

        if targeted entity is not a player:
            message "{@s} 플레이어에게만 사용 가능합니다."

        else:
            if the distance between the targeted entity and {_loc} is smaller than 10:
                play sound "entity.enderman.teleport" with volume 5 and pitch 1 for player
                teleport the player to targeted entity
                teleport the targeted entity to {_loc}
            else:
                broadcast "{@s} &e거리가 너무 멉니다!"

위와 같이 반대의 경우로도 해봤는데 타겟은 이동이 되지 않더라구요..


Q2. 시티즌 플러그인으로 생성한 NPC가 타겟이 되는 문제가 있습니다.

혹시 NPC의 이름 말고 플러그인으로 생성한 NPC 자체를 막는 방법은 없을까요??


Q3. 타겟 설정이 벽 뒤의 엔티티도 가능합니다.

불가능하게 하려면 어떻게 해야할까요?

2개의 댓글

스크립터브혼
2021.03.05

A1. Location의 성분은 x, y, z, world, pitch, yaw로 6개 입니다.

이 중 pitch, yaw가 바라보는 방향값입니다. pitch는 편각(좌우), yaw를 사각(상하)를 의미합니다.


명령자의 방향은 대상을 바라보고 있기 때문에 그대로 적용되나,

대상은 명령자를 바라보고 있지 않기 때문에 pitch, yaw를 조정해주어야 합니다.


힘과 방향을 가진 데이터로 벡터[Vector]가 있습니다.

> set {_v} to vector between {_loc1} and {_loc2} 

이렇게 두 좌표를 가지고 벡터를 생성 할 수 있습니다. 방향은 loc1에서 loc2를 가르킵니다.

이 벡터의 pitch와 yaw를 이동할 좌표의 성분에 적용하면됩니다.



A2. [skRayFall] 애드온의 [Citizen is]컨디션을 사용하세요.

가상의 플레이어도 어쨋든 플레이어 데이터이기 때문에 스크립트에서는 구분할 수 없어요.

시티즌을 지원하는 애드온을 사용해야합니다.



A3. [Targeted Block]익스프레션으로 블록을 받아 올 수 있습니다.

[Distance]익스프레션으로 엔티티와 플레이어의 거리, 블록과 플레이어의 거리를 구해서 비교해보세요.

블록이 더 짧으면 블록이 가리고 있는 것이고, 엔티티가 더 짧으면 가리지 않고 있는 거에요.


느으너앍
2021.03.05
@스크립터브혼

감사합니다. 1번은 조금 더 해본 뒤 아무리 봐도 모르겠다면 질문하겠습니다 ㅠㅠㅠ

뉴스 및 창작물
/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 5

KHC

2024-10-25

2

/files/thumbnails/578/899/003/262x150.crop.jpg?20241010142350

건축

경주 월정교 1

KHC

2024-10-10

2

/files/thumbnails/219/899/003/262x150.crop.jpg?20241009200950

건축

송전탑+도시 2

dbasd12

2024-10-09

2

/files/thumbnails/246/898/003/262x150.crop.jpg?20241008102328

레드스톤

단다단 - 오토노케(オトノケ) | 마인크래프트 노트블럭 커버

노트블럭전문가

2024-10-08

1

/files/thumbnails/348/896/003/262x150.crop.jpg?20241006103035

디도스/봇테러등등을 낚는 방법 4

물귀신

2024-10-06

3