개인 자료란 (JE)

  서버 커뮤니티

Profile 프토름 대표칭호 없음

ZIGUN_ eac1f9126b9744eda6d1271357e68c17

Profile

질문하기 스크립트

location

2021.06.30 조회 수 819 추천 수 0

플레이어가 192 21 -12 에 있다면은 어떻게 쓰나요?




9개의 댓글

DDang_
2021.06.30

if "%location of player%" is location(192.5, 21.5, -12.5, world "world")

프토름
2021.06.30
@DDang_

추가 애드온이 필요한가요?

 

 

DDang_
2021.07.01
@프토름

no

프토름
2021.07.01
@DDang_

안돼는데요?

 

DDang_
2021.07.01
@프토름

오류 안나오죠

프토름
2021.07.01
@DDang_

흠... 나오는데요?

 

프토름
2021.07.01
@DDang_

[22:09:00 ERROR]: Can't compare a text with a location (f.sk, line 3: if "%location of player%" is location(192, 21, -12, world "world"):') 라고 오류가 나네요

 

DDang_
2021.07.02
@프토름

아 if "%location of player%" contain "x: 192.5, y: 21.5, z: -12.5" 로 하세요

스크립터브혼
2021.06.30

좌표 데이터는 X, Y, Z, Yaw, Pitch, World를 가지고 있습니다.

이런 값들 중에 하나라도 다르면 다른 좌표가 됩니다.

예를들어 X, Y, Z는 일치하지만 Pitch의 각도가 다르면 다른 좌표입니다.

A is B 컨디션으로 비교할 시 false를 반환하게 되는거죠.


그래서 좌표를 좌표와 비교하는것은 질문에 있어서 올바른 방법이 아닙니다.

모든 값이 일치해야 하는 경우에만 좌표와 좌표를 비교하는 것이 맞습니다.


좌표의 X, Y, Z 성분은 [Coordinate] 익스프레션으로 받을 수 있습니다.

x-coord of {_loc} is 192
y-coord of {_loc} is 21
z-coord of {_loc} is -12
send "[192, 21, -12]에 있습니다."


다만 유의하실 부분은 각각의 X, Y, Z는 유리수이기 때문에 소수점을 포함합니다.

[10]과 [10.0001]은 다른 수죠. 마찬가지로 좌표의 성분은 소수점 작은 부분까지 포함하므로

위와 같이 비교한다면 실제로 코드가 실행되는 경우(좌표가 일치하는 경우)는 거의 없을 것입니다.


그래서 좌표계를 비교하실 때는 범위의 수를 사용하는 것이 좋습니다.

x-corrd of {_loc} is between 191 and 193
y-coord of {_loc} is between 20 and 22
z-coord of {_loc} is between -13 and -11
send "[192, 21, -12]에 있습니다."