Files
CTI34-KPLIB-Ruha/scripts/client/markers/hostile_groups.sqf

53 lines
2.5 KiB
Plaintext

private ["_kp_markers_array","_kp_markers_start","_kp_markers_change","_kp_markers_pos","_kp_markers_posx","_kp_markers_posy","_kp_markers_name","_kp_markers_color"];
waitUntil {sleep 0.1; !isNil "save_is_loaded" && {save_is_loaded}};
_kp_markers_array = [];
_kp_markers_start = 0.2;
_kp_markers_change = 0.05;
while {true} do {
{deleteMarkerLocal _x;} forEach _kp_markers_array;
_kp_markers_array = [];
{
if ((side _x == GRLIB_side_enemy) && (({!captive _x} count (units _x) ) > 0) && ([(getpos leader _x), GRLIB_side_friendly, GRLIB_radiotower_size] call KPLIB_fnc_getNearestTower != "")) then {
_kp_markers_pos = getPosATL leader _x;
_kp_markers_posx = floor (_kp_markers_pos select 0);
_kp_markers_posx = _kp_markers_posx - (_kp_markers_posx mod 500);
_kp_markers_posy = floor (_kp_markers_pos select 1);
_kp_markers_posy = _kp_markers_posy - (_kp_markers_posy mod 500);
// Chernarus Grid Fix
if (worldName == "Chernarus") then {
_kp_markers_posy = _kp_markers_posy - 140;
if ((_kp_markers_posy + 500) < (_kp_markers_pos select 1)) then {
_kp_markers_posy = _kp_markers_posy + 500;
};
};
// Sahrani Grid Fix
if (worldName == "Sara") then {
_kp_markers_posy = _kp_markers_posy - 20;
if ((_kp_markers_posy + 500) < (_kp_markers_pos select 1)) then {
_kp_markers_posy = _kp_markers_posy + 500;
};
};
_kp_markers_name = format["kp_marker_grid_%1_%2", _kp_markers_posx, _kp_markers_posy];
_kp_markers_color = format["Color%1", side _x];
if ((markerShape _kp_markers_name) isEqualTo "RECTANGLE") then {
_kp_markers_name setMarkerAlphaLocal ((markerAlpha _kp_markers_name) + _kp_markers_change);
} else {
createMarkerLocal[_kp_markers_name, [_kp_markers_posx + 250, _kp_markers_posy + 250, 0]];
_kp_markers_name setMarkerShapeLocal "RECTANGLE";
_kp_markers_name setMarkerSizeLocal [250,250];
_kp_markers_name setMarkerColorLocal _kp_markers_color;
_kp_markers_name setMarkerAlphaLocal (_kp_markers_start + _kp_markers_change);
_kp_markers_array pushBack _kp_markers_name;
};
};
} forEach allGroups;
uiSleep (60 + (random 60));
};