개인 자료란 (JE)

  서버 커뮤니티

Profile 플러그인배우는중 대표칭호 없음
Profile

질문하기 스크립트

구문 질문입니다

2020.09.28 조회 수 109 추천 수 0
이해도 1.12 
게임버전 (JE) 스피곳 

구문 질문입니다

1그 블럭을 일직선으로 놓은것을 말이 지나가느 ㄴ것을 어떻게 인식하나요


2.플레이어가 있는 월드가 ~일때는 if player is at ""인가요?


3.말과 보트 속도를 조절하는 구문은 뭔가요




3개의 댓글

스크립터브혼
2020.09.29

1. 먼저, 엔티티의 위치를 반복적으로 확인할 수 있는 알고리즘이 필요하고 일직선으로 놓인 블록의 각각의 위치가 필요합니다.

반복 알고리즘은 [On Move On] 이벤트를 사용할수도 있고, 단일시행 반복문(if ~ while)를 사용할 수 수 있습니다.

반복문 안에서 플레이어의 위치와 블럭의 위치를 비교해서 플레이어의 위치가 넘어감(x 또는 z가 크거나 작음)을 판단하시면 됩니다.


2. 플레이어의 월드는 [World] 입니다.


3. 엔티티의 이동속도는 [Entity Attribute]으로 generic movement speed를 변경하시면 됩니다. attribute는 [Attribute Type]에서 확인 가능합니다.

@스크립터브혼

혹시 첫번째거 자세하게 알려주실수있나요

아니면 제가 그 마크 에서 줄을 사용해서 커맨드를 사용하는것도 생각중인데 혹시 커맨드랑 스크립트를 연동 가능 할까요

스크립터브혼
2020.10.01
@플러그인배우는중

[On Move On] 이벤트는 플레이어가 움직이면 동작하는 이벤트입니다. 좌표 이동뿐만 아니라 바라보는 방향 회전(마우스 회전)만 해도 동작하는 이벤트 이면서, 최대속도(1tick)로 반복 동작하는 이벤트여서 해당 이벤트에서 블록의 좌표를 확인 하는 방식으로 구성하면 됩니다.

단일시행 반복문은 단일시행을 위한 변수와 조건문, 그리고 해당 변수의 상태를 사용하여 while문을 컨트롤 하는 패턴으로 [게임 대기 시작 구현하기 (반복문 단일시행 패턴)] 참고해주세요.

블럭을 지나 쳤는지 확인하는 방법은 여러 방법으로 만들 수 있습니다.
가장 간단한 방법으로는 위에 언급한 반복문에서 플레이어의 위치가 블럭 좌표안에 들어있는지 확인하는 것입니다.
블럭 좌표는 [~.5], [~.5], [~.5]의 형태로 나타나므로 [~] 와 같거나 크고 [~ + 1] 보다 작은 좌표 성분을 가지고 있는지 확인하면 됩니다.

철사 덧 갈고리는 레드스톤이여서 [On  Redstone] 이벤트가 동작합니다.