Fandom

武装突袭 Wiki

Converting position to map grid

简体 | 繁體

4,827个页面创建
于此维基上
添加新页面
评论0 分享

您使用了广告屏蔽软件!


Wikia通过广告运营为用户提供免费的服务。我们对用户通过嵌入广告屏蔽软件访问网站进行了使用调整。

如果您使用了广告屏蔽软件,将无法使用我们的服务。请您移除广告屏蔽软件,以确保页面正常加载。

Problem 编辑

How to get map's grid from object's position? For example: how to get "Fe 26" from [10987.8, 15092.8, 0.0017395].

Solution 编辑

mapGridPosition

and before this command appeared, here is how it was found:


Simgle small grid has size of 200*200. Moreover position [0,0,0] is somewhere in the middle of second big grid on Y axis. Fraction parts of coordinates and Z axis are also useless. So at the begining we have to adjust our position.

_this = [floor ((_this select 0) / 200), floor (((_this select 1) + 520) / 200)]

The result is id of X and Y grids.

  • Getting X axis grid

Notice that for marking X grids engine uses letters from A to J (ten symbols). So to get string id from numeric id we can simply exchange 0 on A, 1 on B etc.

?_t == 0: _str = _str + "A"
?_t == 1: _str = _str + "B"
?_t == 2: _str = _str + "C"
?_t == 3: _str = _str + "D"
?_t == 4: _str = _str + "E"
?_t == 5: _str = _str + "F"
?_t == 6: _str = _str + "G"
?_t == 7: _str = _str + "H"
?_t == 8: _str = _str + "I"
?_t == 9: _str = _str + "J"

First number is exact division of X grid id by ten:

_t = floor ((this select 0) / 10)

Second number is then remainder of the division of X grid id by ten

_t = (this select 0) mod 10
  • Getting Y axis grind

Notice that the begining of coordinate system is in SE corner of map but counting Y grid begins from NE corner. So proper Y grid is substraction beetwen grinds count (100) and actual grid id.

_y = 100 - (_this select 1)

Implementations 编辑

  • SQS Script

Arguments: Position

_this = [floor ((_this select 0) / 200), floor (((_this select 1) - 280) / 200)]

_str = str _this + "\n"

;OX
_x = _this select 0
_t = floor (_x / 10)
?_t == 0: _str = _str + "A"
?_t == 1: _str = _str + "B"
?_t == 2: _str = _str + "C"
?_t == 3: _str = _str + "D"
?_t == 4: _str = _str + "E"
?_t == 5: _str = _str + "F"
?_t == 6: _str = _str + "G"
?_t == 7: _str = _str + "H"
?_t == 8: _str = _str + "I"
?_t == 9: _str = _str + "J"
_t = _x mod 10
?_t == 0: _str = _str + "a"
?_t == 1: _str = _str + "b"
?_t == 2: _str = _str + "c"
?_t == 3: _str = _str + "d"
?_t == 4: _str = _str + "e"
?_t == 5: _str = _str + "f"
?_t == 6: _str = _str + "g"
?_t == 7: _str = _str + "h"
?_t == 8: _str = _str + "i"
?_t == 9: _str = _str + "j"

_str = _str + " "

;OY
_str = _str + str (100 - (_this select 1))

Hint _str

更多维基

随机维基