36 lines
998 B
Plaintext
36 lines
998 B
Plaintext
|
private ["_ctrl","_grid","_name","_spawn","_zoom"];
|
||
|
disableSerialization;
|
||
|
|
||
|
_zoom = 0.35;
|
||
|
_spawn = ["","","","",""];
|
||
|
_name = lbText [8888,(lbCurSel 8888)];
|
||
|
{
|
||
|
if (_name == (_x select 0)) exitWith {
|
||
|
_spawn = _x;
|
||
|
};
|
||
|
} forEach spawn_public;
|
||
|
|
||
|
_grid = switch true do {
|
||
|
case (_name == (localize "STR_ESS_GROUP")): {getPosATL leader group player};
|
||
|
case (_name == (localize "STR_ESS_PLOT")): {getPosATL spawn_plot};
|
||
|
case (count _spawn > 4): {_zoom = 4; getMarkerPos "center"}; //Random or nothing selected
|
||
|
default {_spawn select 1};
|
||
|
};
|
||
|
|
||
|
if (spawn_mapPos distance _grid > 0) then {
|
||
|
spawn_mapPos = _grid;
|
||
|
_ctrl = (findDisplay 88890) displayCtrl 8890;
|
||
|
|
||
|
// Zoom out first (avoids visible flashing)
|
||
|
if (_grid distance getMarkerPos "center" > 0) then {
|
||
|
ctrlMapAnimClear _ctrl;
|
||
|
_ctrl ctrlMapAnimAdd [1,.6,_grid];
|
||
|
ctrlMapAnimCommit _ctrl;
|
||
|
waitUntil {ctrlMapAnimDone _ctrl};
|
||
|
};
|
||
|
|
||
|
// Zoom in to location
|
||
|
ctrlMapAnimClear _ctrl;
|
||
|
_ctrl ctrlMapAnimAdd [2,_zoom,_grid];
|
||
|
ctrlMapAnimCommit _ctrl;
|
||
|
};
|