개인 자료란 (JE)

  서버 커뮤니티

Profile csfdfa 대표칭호 없음
Profile

질문하기 스크립트

스크립트 죽은 엔티티 가장 가까운 플레이어에게 포인트를 주려고 하는데

2021.06.05 조회 수 287 추천 수 0
게임버전 (JE) 스피곳 
스크립트 애드온 2.2 dev37c 

엔티티가 죽었을때 죽은 엔티티와 가장 가까운 플레이어에게 점수를 지급하는 형식의 스크립트를 제작하고 싶은데


"엔티티가 죽었을때 죽은 엔티티와 가장 가까운 플레이어" 를 어떻게 표현해낼 수 있는지 궁금합니다




1개의 댓글

스크립터브혼
2021.06.06

주변 엔티티는 [Entities] 익스프레션으로 받을 수 있습니다.

> [(all [[of] the]|the)] %*entity types% (within|[with]in radius) %number% [(block[s]|met(er|re)[s])] (of|around) %location%

> entities in radius 5 around location of victim


두 위치간의 거리는 [Difference]로 구할 수 있습니다.

> difference between victim and attacker


일정거리의 entities를 루프하여 각각의 엔티티와의 거리에서 가장 짧은 거리인 엔티티를 찾으면 됩니다.

대략적인 코드 흐름은 아래처럼 하시면 됩니다.

set {_minimum} to 5
loop entities in radius 5 around location of {_victim}:
    set {_difference} to difference {_victim} and loop-entity
    if {_difference} < {_minimum}:
        set {_minimum} to {_difference} 
        set {_entity} to loop-entity

이렇게하면 {_entity}가 가장 가까운 엔티티가 구해집니다.

{_entity}가 비어있으면 반경 5블록 이내에 엔티티가 없는거에요.