Example Code: Convert Position To Map Grid: Difference between revisions
Jump to navigation
Jump to search
m (added category) |
Lou Montana (talk | contribs) (Format to Example Code) |
||
Line 1: | Line 1: | ||
__NOTOC__ | |||
{{ArgTitle|{{arma3}}|2|{{GVI|arma3|1.00}} {{GVI|arma2|1.04}}}} | |||
{{Informative | | |||
* [[mapGridPosition]] has been introduced in {{GVI|arma2|1.04}} | |||
}} | |||
[[private]] _pos = [[getPosATL]] [[player]]; | |||
[[private]] _mapGridPosition = [[mapGridPosition]] _pos; | |||
{{ArgTitle|{{arma2}}|2|{{GVI|arma2|1.00}}}} | |||
{{Informative | | |||
* [[BIS_fnc_PosToGrid]] has been introduced in {{GVI|arma2|1.00}} | |||
}} | |||
[[private]] _mapGridPosition = [[player]] [[call]] [[BIS_fnc_PosToGrid]]; | |||
{{ArgTitle|{{arma}}|2|{{GVI|arma|1.00}}}} | |||
{{Informative| | |||
* [[floor]] has been introduced in {{GVI|arma|1.00}} | |||
}} | |||
[[private]] _gridSize = 200; {{cc|given grid squares are 200 × 200}} | |||
[[private]] _yOffset = -280; {{cc|position [0,0,0] is somewhere in the middle of second big grid on Y axis}} | |||
[[private]] _xPos = [[floor]] (([[_this]] [[select]] 0) / _gridSize); | |||
[[private]] _yPos = [[floor]] ((([[_this]] [[select]] 1) + _yOffset) / _gridSize); | |||
[[private]] _letter1Index = [[floor]] (_xPos / 10); | |||
[[private]] _letter2Index = [[floor]] (_xPos % 10); | |||
[[private]] _letter1Choice = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"]; | |||
[[private]] _letter2Choice = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]; | |||
[[private]] _letter1 = _letter1Choice [[select]] _letter1Index; | |||
[[private]] _letter2 = _letter2Choice [[select]] _letter2Index; | |||
[[private]] _numbers = 100 - _yPos; {{cc|coordinate numbers start from top-left of the map}} | |||
[[private]] _mapGridPosition = [[format]] ["%1%2%3", _letter1, _letter2, _numbers]; | |||
{{ArgTitle|{{ofp}}|2|{{GVI|ofp|1.00}}}} | |||
{{Informative | This is an [[SQS syntax]] example.}} | |||
{{codecomment|; given grid squares are 200 × 200}} | |||
[[private]] _gridSize = 200 | |||
{{codecomment|; position [0,0,0] is somewhere in the middle of second big grid on Y axis}} | |||
[[private]] _yOffset = -280 | |||
[[private]] _xPos = ([[_this]] [[select]] 0) / _gridSize | |||
[[private]] _yPos = (([[_this]] [[select]] 1) + _yOffset) / _gridSize | |||
_xPos = _xPos - (_xPos [[mod]] 1) | |||
_yPos = _yPos - (_yPos [[mod]] 1) | |||
[[private]] _letter1Index = _xPos / 10 | |||
[[private]] _letter2Index = _xPos % 10 | |||
_letter1Index = _letter1Index - (_letter1Index [[mod]] 1) | |||
_letter2Index = _letter2Index - (_letter2Index [[mod]] 1) | |||
[[private]] _letter1Choice = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"] | |||
[[private]] _letter2Choice = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"] | |||
[[private]] _letter1 = _letter1Choice [[select]] _letter1Index | |||
[[private]] _letter2 = _letter2Choice [[select]] _letter2Index | |||
{{codecomment|coordinate numbers start from top-left of the map}} | |||
[[private]] _numbers = 100 - _yPos | |||
[[private]] _mapGridPosition = [[format]] ["%1%2%3", _letter1, _letter2, _numbers] | |||
[[Category:Example Code]] | |||
[[Category: |
Revision as of 12:38, 5 September 2019
private _pos = getPosATL player; private _mapGridPosition = mapGridPosition _pos;
2
private _mapGridPosition = player call BIS_fnc_PosToGrid;
private _gridSize = 200; // given grid squares are 200 × 200 private _yOffset = -280; // position [0,0,0] is somewhere in the middle of second big grid on Y axis private _xPos = floor ((_this select 0) / _gridSize); private _yPos = floor (((_this select 1) + _yOffset) / _gridSize); private _letter1Index = floor (_xPos / 10); private _letter2Index = floor (_xPos % 10); private _letter1Choice = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"]; private _letter2Choice = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]; private _letter1 = _letter1Choice select _letter1Index; private _letter2 = _letter2Choice select _letter2Index; private _numbers = 100 - _yPos; // coordinate numbers start from top-left of the map private _mapGridPosition = format ["%1%2%3", _letter1, _letter2, _numbers];
2
; given grid squares are 200 × 200 private _gridSize = 200 ; position [0,0,0] is somewhere in the middle of second big grid on Y axis private _yOffset = -280 private _xPos = (_this select 0) / _gridSize private _yPos = ((_this select 1) + _yOffset) / _gridSize _xPos = _xPos - (_xPos mod 1) _yPos = _yPos - (_yPos mod 1) private _letter1Index = _xPos / 10 private _letter2Index = _xPos % 10 _letter1Index = _letter1Index - (_letter1Index mod 1) _letter2Index = _letter2Index - (_letter2Index mod 1) private _letter1Choice = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"] private _letter2Choice = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"] private _letter1 = _letter1Choice select _letter1Index private _letter2 = _letter2Choice select _letter2Index coordinate numbers start from top-left of the map private _numbers = 100 - _yPos private _mapGridPosition = format ["%1%2%3", _letter1, _letter2, _numbers]