Advertisement
Guest User

Untitled

a guest
Apr 25th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.14 KB | None | 0 0
  1. #include "script_macros.hpp"
  2. /*
  3. File: functions.sqf
  4. Author: Bryan "Tonic" Boardwine
  5.  
  6. Description: They are functions.
  7. */
  8.  
  9. publicVariable "TON_fnc_terrainSort";
  10.  
  11. TON_fnc_index =
  12. compileFinal "
  13. private [""_item"",""_stack""];
  14. _item = _this select 0;
  15. _stack = _this select 1;
  16. _return = -1;
  17.  
  18. {
  19. if (_item in _x) exitWith {
  20. _return = _forEachIndex;
  21. };
  22. } forEach _stack;
  23.  
  24. _return;
  25. ";
  26.  
  27. TON_fnc_player_query =
  28. compileFinal "
  29. private [""_ret""];
  30. _ret = _this select 0;
  31. if (isNull _ret) exitWith {};
  32. if (isNil ""_ret"") exitWith {};
  33.  
  34. [life_atmbank,life_cash,owner player,player,profileNameSteam,getPlayerUID player,playerSide] remoteExecCall [""life_fnc_adminInfo"",_ret];
  35. ";
  36. publicVariable "TON_fnc_player_query";
  37. publicVariable "TON_fnc_index";
  38.  
  39. TON_fnc_isnumber =
  40. compileFinal "
  41. private [""_valid"",""_array""];
  42. _valid = [""0"",""1"",""2"",""3"",""4"",""5"",""6"",""7"",""8"",""9""];
  43. _array = [_this select 0] call KRON_StrToArray;
  44. _return = true;
  45.  
  46. {
  47. if (!(_x in _valid)) exitWith {
  48. _return = false;
  49. };
  50. } forEach _array;
  51. _return;
  52. ";
  53.  
  54. publicVariable "TON_fnc_isnumber";
  55.  
  56. TON_fnc_clientGangKick =
  57. compileFinal "
  58. private [""_unit"",""_group""];
  59. _unit = _this select 0;
  60. _group = _this select 1;
  61. if (isNil ""_unit"" || isNil ""_group"") exitWith {};
  62. if (player isEqualTo _unit && (group player) == _group) then {
  63. life_my_gang = objNull;
  64. [player] joinSilent (createGroup civilian);
  65. hint localize ""STR_GNOTF_KickOutGang"";
  66. };
  67. ";
  68.  
  69. publicVariable "TON_fnc_clientGangKick";
  70.  
  71. TON_fnc_clientGetKey =
  72. compileFinal "
  73. private [""_vehicle"",""_unit"",""_giver""];
  74. _vehicle = _this select 0;
  75. _unit = _this select 1;
  76. _giver = _this select 2;
  77. if (isNil ""_unit"" || isNil ""_giver"") exitWith {};
  78. if (player isEqualTo _unit && !(_vehicle in life_vehicles)) then {
  79. _name = getText(configFile >> ""CfgVehicles"" >> (typeOf _vehicle) >> ""displayName"");
  80. hint format [localize ""STR_NOTF_gaveKeysFrom"",_giver,_name];
  81. life_vehicles pushBack _vehicle;
  82. [getPlayerUID player,playerSide,_vehicle,1] remoteExecCall [""TON_fnc_keyManagement"",2];
  83. };
  84. ";
  85.  
  86. publicVariable "TON_fnc_clientGetKey";
  87.  
  88. TON_fnc_clientGangLeader =
  89. compileFinal "
  90. private [""_unit"",""_group""];
  91. _unit = _this select 0;
  92. _group = _this select 1;
  93. if (isNil ""_unit"" || isNil ""_group"") exitWith {};
  94. if (player isEqualTo _unit && (group player) == _group) then {
  95. player setRank ""COLONEL"";
  96. _group selectLeader _unit;
  97. hint localize ""STR_GNOTF_GaveTransfer"";
  98. };
  99. ";
  100.  
  101. publicVariable "TON_fnc_clientGangLeader";
  102.  
  103. TON_fnc_clientGangLeft =
  104. compileFinal "
  105. private [""_unit"",""_group""];
  106. _unit = _this select 0;
  107. _group = _this select 1;
  108. if (isNil ""_unit"" || isNil ""_group"") exitWith {};
  109. if (player isEqualTo _unit && (group player) == _group) then {
  110. life_my_gang = objNull;
  111. [player] joinSilent (createGroup civilian);
  112. hint localize ""STR_GNOTF_LeaveGang"";
  113. };
  114. ";
  115.  
  116. publicVariable "TON_fnc_clientGangLeft";
  117.  
  118. //Cell Phone Messaging
  119. /*
  120. -fnc_cell_textmsg
  121. -fnc_cell_textcop
  122. -fnc_cell_textadmin
  123. -fnc_cell_adminmsg
  124. -fnc_cell_adminmsgall
  125. */
  126.  
  127. //To EMS
  128. TON_fnc_cell_emsrequest =
  129. compileFinal "
  130. private [""_msg"",""_to""];
  131. ctrlShow[3022,false];
  132. _msg = ctrlText 3003;
  133. _length = count (toArray(_msg));
  134. if (_length > 400) exitWith {hint localize ""STR_CELLMSG_LIMITEXCEEDED"";ctrlShow[3022,true];};
  135. _to = ""EMS Units"";
  136. if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3022,true];};
  137.  
  138. [_msg,name player,5,mapGridPosition player,player] remoteExecCall [""TON_fnc_clientMessage"",independent];
  139. life_med_notrufe pushBack [(name player),(position player),_msg,servertime,"""",player];
  140. publicVariable ""life_med_notrufe"";life_med_calls pushBack [(name player),(position player),_msg,servertime,"""",player];
  141. publicVariable ""life_med_calls"";[] call life_fnc_cellphone;
  142. hint format [localize ""STR_CELLMSG_ToEMS"",_to,_msg];
  143. ctrlShow[3022,true];
  144. ";
  145. //To One Person
  146. TON_fnc_cell_textmsg =
  147. compileFinal "
  148. private [""_msg"",""_to""];
  149. ctrlShow[3015,false];
  150. _msg = ctrlText 3003;
  151.  
  152. _length = count (toArray(_msg));
  153. if (_length > 400) exitWith {hint localize ""STR_CELLMSG_LIMITEXCEEDED"";ctrlShow[3015,true];};
  154. if (lbCurSel 3004 isEqualTo -1) exitWith {hint localize ""STR_CELLMSG_SelectPerson""; ctrlShow[3015,true];};
  155.  
  156. _to = call compile format [""%1"",(lbData[3004,(lbCurSel 3004)])];
  157. if (isNull _to) exitWith {ctrlShow[3015,true];};
  158. if (isNil ""_to"") exitWith {ctrlShow[3015,true];};
  159. if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3015,true];};
  160.  
  161. [_msg,name player,0] remoteExecCall [""TON_fnc_clientMessage"",_to];
  162. [] call life_fnc_cellphone;
  163. hint format [localize ""STR_CELLMSG_ToPerson"",name _to,_msg];
  164. ctrlShow[3015,true];
  165. ";
  166. //To All Cops
  167. TON_fnc_cell_textcop =
  168. compileFinal "
  169. private [""_msg"",""_to""];
  170. ctrlShow[3016,false];
  171. _msg = ctrlText 3003;
  172. _to = ""The Police"";
  173.  
  174. if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3016,true];};
  175. _length = count (toArray(_msg));
  176. if (_length > 400) exitWith {hint localize ""STR_CELLMSG_LIMITEXCEEDED"";ctrlShow[3016,true];};
  177.  
  178. [_msg,name player,1,mapGridPosition player,player] remoteExecCall [""TON_fnc_clientMessage"",-2];
  179. life_cop_notrufe pushBack [(name player),(position player),_msg,servertime,"""", player];
  180. publicVariable ""life_cop_notrufe"";life_cop_calls pushBack [(name player),(position player),_msg,servertime,"""", player];
  181. publicVariable ""life_cop_calls"";[] call life_fnc_cellphone;
  182. hint format [localize ""STR_CELLMSG_ToPerson"",_to,_msg];
  183. ctrlShow[3016,true];
  184. ";
  185. //To All Admins
  186. TON_fnc_cell_textadmin =
  187. compileFinal "
  188. private [""_msg"",""_to"",""_from""];
  189. ctrlShow[3017,false];
  190. _msg = ctrlText 3003;
  191. _to = ""The Admins"";
  192.  
  193. if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3017,true];};
  194. _length = count (toArray(_msg));
  195. if (_length > 400) exitWith {hint localize ""STR_CELLMSG_LIMITEXCEEDED"";ctrlShow[3017,true];};
  196.  
  197. [_msg,name player,2,mapGridPosition player,player] remoteExecCall [""TON_fnc_clientMessage"",-2];
  198. [] call life_fnc_cellphone;
  199. hint format [localize ""STR_CELLMSG_ToPerson"",_to,_msg];
  200. ctrlShow[3017,true];
  201. ";
  202. //Admin To One Person
  203. TON_fnc_cell_adminmsg =
  204. compileFinal "
  205. if (isServer) exitWith {};
  206. if ((call life_adminlevel) < 1) exitWith {hint localize ""STR_CELLMSG_NoAdmin"";};
  207. private [""_msg"",""_to""];
  208. ctrlShow[3020,false];
  209. _msg = ctrlText 3003;
  210. _to = call compile format [""%1"",(lbData[3004,(lbCurSel 3004)])];
  211. if (isNull _to) exitWith {ctrlShow[3020,true];};
  212. if (isNil ""_to"") exitWith {ctrlShow[3020,true];};
  213. if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3020,true];};
  214.  
  215. [_msg,name player,3] remoteExecCall [""TON_fnc_clientMessage"",_to];
  216. [] call life_fnc_cellphone;
  217. hint format [localize ""STR_CELLMSG_AdminToPerson"",name _to,_msg];
  218. ctrlShow[3020,true];
  219. ";
  220.  
  221. TON_fnc_cell_adminmsgall =
  222. compileFinal "
  223. if (isServer) exitWith {};
  224. if ((call life_adminlevel) < 1) exitWith {hint localize ""STR_CELLMSG_NoAdmin"";};
  225. private [""_msg"",""_from""];
  226. ctrlShow[3021,false];
  227. _msg = ctrlText 3003;
  228. if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3021,true];};
  229.  
  230. [_msg,name player,4] remoteExecCall [""TON_fnc_clientMessage"",-2];
  231. [] call life_fnc_cellphone;
  232. hint format [localize ""STR_CELLMSG_AdminToAll"",_msg];
  233. ctrlShow[3021,true];
  234. ";
  235.  
  236. TON_fnc_cell_polizeimsgall = //NEW
  237. compileFinal "
  238. if(isServer) exitWith {};
  239. if((call life_coplevel) < 2) exitWith {hint ""Du bist dazu nicht berechtigt!"";};
  240. private[""_msg"",""_from""];
  241. ctrlShow[3023,false];
  242. _msg = ctrlText 3003;
  243. if(_msg == """") exitWith {hint ""Du musst eine Nachricht eingeben!"";ctrlShow[3023,true];};
  244. [_msg,name player,6] remoteExecCall [""TON_fnc_clientMessage"",-2];
  245. [] call life_fnc_cellphone;
  246. hint format[""gesendete Rundfunknachricht: %1"",_msg];
  247. ctrlShow[3023,true];
  248. ";
  249. publicVariable "TON_fnc_cell_polizeimsgall";
  250. publicVariable "TON_fnc_cell_textmsg";
  251. publicVariable "TON_fnc_cell_textcop";
  252. publicVariable "TON_fnc_cell_textadmin";
  253. publicVariable "TON_fnc_cell_adminmsg";
  254. publicVariable "TON_fnc_cell_adminmsgall";
  255. publicVariable "TON_fnc_cell_emsrequest";
  256. //Client Message
  257. /*
  258. 0 = private message
  259. 1 = police message
  260. 2 = message to admin
  261. 3 = message from admin
  262. 4 = admin message to all
  263. */
  264. TON_fnc_clientMessage =
  265. compileFinal "
  266. if (isServer) exitWith {};
  267. private [""_msg"",""_from"", ""_type""];
  268. _msg = _this select 0;
  269. _from = _this select 1;
  270. _type = _this select 2;
  271. if (_from isEqualTo """") exitWith {};
  272. switch (_type) do {
  273. case 0 : {
  274. private [""_message""];
  275. _message = format ["">>>MESSAGE FROM %1: %2"",_from,_msg];
  276. hint parseText format [""<t color='#FFCC00'><t size='2'><t align='center'>New Message<br/><br/><t color='#33CC33'><t align='left'><t size='1'>To: <t color='#ffffff'>You<br/><t color='#33CC33'>From: <t color='#ffffff'>%1<br/><br/><t color='#33CC33'>Message:<br/><t color='#ffffff'>%2"",_from,_msg];
  277.  
  278. [""TextMessage"",[format [""You Received A New Private Message From %1"",_from]]] call bis_fnc_showNotification;
  279. systemChat _message;
  280. };
  281.  
  282. case 1 : {
  283. if (side player != west) exitWith {};
  284. private [""_message"",""_loc"",""_unit""];
  285. _loc = _this select 3;
  286. _unit = _this select 4;
  287. _message = format [""--- 911 DISPATCH FROM %1: %2"",_from,_msg];
  288. if (isNil ""_loc"") then {_loc = ""Unknown"";};
  289. hint parseText format [""<t color='#316dff'><t size='2'><t align='center'>New Dispatch<br/><br/><t color='#33CC33'><t align='left'><t size='1'>To: <t color='#ffffff'>All Officers<br/><t color='#33CC33'>From: <t color='#ffffff'>%1<br/><t color='#33CC33'>Coords: <t color='#ffffff'>%2<br/><br/><t color='#33CC33'>Message:<br/><t color='#ffffff'>%3"",_from,_loc,_msg];
  290.  
  291. [""PoliceDispatch"",[format [""A New Police Report From: %1"",_from]]] call bis_fnc_showNotification;
  292. systemChat _message;
  293. };
  294.  
  295. case 2 : {
  296. if ((call life_adminlevel) < 1) exitWith {};
  297. private [""_message"",""_loc"",""_unit""];
  298. _loc = _this select 3;
  299. _unit = _this select 4;
  300. _message = format [""!!! ADMIN REQUEST FROM %1: %2"",_from,_msg];
  301. if (isNil ""_loc"") then {_loc = ""Unknown"";};
  302. hint parseText format [""<t color='#ffcefe'><t size='2'><t align='center'>Admin Request<br/><br/><t color='#33CC33'><t align='left'><t size='1'>To: <t color='#ffffff'>Admins<br/><t color='#33CC33'>From: <t color='#ffffff'>%1<br/><t color='#33CC33'>Coords: <t color='#ffffff'>%2<br/><br/><t color='#33CC33'>Message:<br/><t color='#ffffff'>%3"",_from,_loc,_msg];
  303.  
  304. [""AdminDispatch"",[format [""%1 Has Requested An Admin!"",_from]]] call bis_fnc_showNotification;
  305. systemChat _message;
  306. };
  307.  
  308. case 3 : {
  309. private [""_message""];
  310. _message = format [""!!! ADMIN MESSAGE: %1"",_msg];
  311. _admin = format [""Sent by admin: %1"", _from];
  312. hint parseText format [""<t color='#FF0000'><t size='2'><t align='center'>Admin Message<br/><br/><t color='#33CC33'><t align='left'><t size='1'>To: <t color='#ffffff'>You<br/><t color='#33CC33'>From: <t color='#ffffff'>An Admin<br/><br/><t color='#33CC33'>Message:<br/><t color='#ffffff'>%1"",_msg];
  313.  
  314. [""AdminMessage"",[""You Have Received A Message From An Admin!""]] call bis_fnc_showNotification;
  315. systemChat _message;
  316. if ((call life_adminlevel) > 0) then {systemChat _admin;};
  317. };
  318.  
  319. case 4 : {
  320. private [""_message"",""_admin""];
  321. _message = format [""!!!ADMIN MESSAGE: %1"",_msg];
  322. _admin = format [""Sent by admin: %1"", _from];
  323. hint parseText format [""<t color='#FF0000'><t size='2'><t align='center'>Admin Message<br/><br/><t color='#33CC33'><t align='left'><t size='1'>To: <t color='#ffffff'>All Players<br/><t color='#33CC33'>From: <t color='#ffffff'>The Admins<br/><br/><t color='#33CC33'>Message:<br/><t color='#ffffff'>%1"",_msg];
  324.  
  325. [""AdminMessage"",[""You Have Received A Message From An Admin!""]] call bis_fnc_showNotification;
  326. systemChat _message;
  327. if ((call life_adminlevel) > 0) then {systemChat _admin;};
  328. };
  329.  
  330. case 5: {
  331. if (side player != independent) exitWith {};
  332. private [""_message"",""_loc"",""_unit""];
  333. _loc = _this select 3;
  334. _unit = _this select 4;
  335. _message = format [""!!! EMS REQUEST: %1"",_msg];
  336. hint parseText format [""<t color='#FFCC00'><t size='2'><t align='center'>EMS Request<br/><br/><t color='#33CC33'><t align='left'><t size='1'>To: <t color='#ffffff'>You<br/><t color='#33CC33'>From: <t color='#ffffff'>%1<br/><t color='#33CC33'>Coords: <t color='#ffffff'>%2<br/><br/><t color='#33CC33'>Message:<br/><t color='#ffffff'>%3"",_from,_loc,_msg];
  337.  
  338. [""TextMessage"",[format [""EMS Request from %1"",_from]]] call bis_fnc_showNotification;
  339.  
  340. case 6 :
  341. {
  342. private[""_message"",""_admin""];
  343. _message = format[""POLIZEI RUNDFUNK: %1"",_msg];
  344. hint parseText format [""<t color='#0000FF'><t size='2'><t align='center'>Polizei Rundfunk<br/><br/><t color='#33CC33'><t align='left'><t size='1'>An: <t color='#ffffff'>Alle Bürger<br/><t color='#33CC33'>Von: <t color='#ffffff'>Polizei Altis<br/><br/><t color='#33CC33'>Mitteilung:<br/><t color='#ffffff'>%1"",_msg];
  345. [""PolizeiRundfunk"",[""Neue Polizei Mitteilung""]] call bis_fnc_showNotification;
  346. systemChat _message;
  347. };
  348. };
  349. };
  350. ";
  351. publicVariable "TON_fnc_clientMessage";
  352.  
  353. TON_fnc_MapMarkersAdmin = compileFinal "
  354. life_markers_Vehicles = [];
  355. life_markers_Players = [];
  356. if (!life_markers) then {
  357. life_markers = true;
  358. hint localize ""STR_ANOTF_MEnabled"";
  359. } else {
  360. life_markers = false;
  361. hint localize ""STR_ANOTF_MDisabled"";
  362. };
  363. for ""_i"" from 0 to 1 step 0 do {
  364. if (!life_markers) exitWith {};
  365. {
  366. if ((vehicle _x isKindOf ""LandVehicle"") || (vehicle _x isKindOf ""Air"") || (vehicle _x isKindOf ""Ship"")) then {
  367. if (count(crew vehicle _x) > 0) then {
  368. {
  369. if (!(_x in life_markers_Vehicles) && (alive _x) && (getPlayerUID _x != """")) then {
  370. private [""_pos"", ""_Markers"", ""_Vehicle""];
  371. _Vehicle = vehicle _x;
  372. _pos = visiblePosition _x;
  373. _Markers = createMarkerLocal[format [""CRW%1%2"", _pos select 0, _pos select 1], [(_pos select 0) + 20, _pos select 1, 0]];
  374. _TypeVehicle = (getText(configFile >> 'CfgVehicles' >> (typeOf vehicle _x) >> 'displayName'));
  375. _Markers setMarkerTextLocal format ['%1---%2---%3m', name _x, _TypeVehicle, round(_x distance player)];
  376. _Markers setMarkerTypeLocal ""mil_dot"";
  377. if (side _x isEqualTo independent) then {
  378. _Markers setMarkerColorLocal (""ColorIndependent"");
  379. };
  380. if (side _x isEqualTo civilian) then {
  381. _Markers setMarkerColorLocal (""ColorCivilian"");
  382. };
  383. if (side _x isEqualTo west) then {
  384. _Markers setMarkerColorLocal (""ColorBLUFOR"");
  385. };
  386. _Markers setMarkerSizeLocal[1, 1];
  387. life_markers_Vehicles pushBack _x;
  388. [_x, _Markers, _Vehicle, _TypeVehicle] spawn {
  389. private [""_PlayersOrVehicles"", ""_Marker"", ""_CrewVehicle""];
  390. _PlayersOrVehicles = _this select 0;
  391. _Marker = _this select 1;
  392. _TypeVehicle = _this select 3;
  393. for ""_i"" from 0 to 1 step 0 do {
  394. if (!life_markers && !(alive _PlayersOrVehicles) && (vehicle _PlayersOrVehicles == _PlayersOrVehicles) && (getPlayerUID _PlayersOrVehicles != """")) exitWith {};
  395. _CrewVehicle = ((crew vehicle _PlayersOrVehicles) find _PlayersOrVehicles);
  396. _Marker setMarkerPosLocal([(visiblePosition _PlayersOrVehicles select 0) + 20, (visiblePosition _PlayersOrVehicles select 1) - (25 + _CrewVehicle * 20), 0]);
  397. _Marker setMarkerTextLocal format ['%1---%2---%3m', name _PlayersOrVehicles, _TypeVehicle, round(_PlayersOrVehicles distance player)];
  398. sleep 0.01;
  399. };
  400. deleteMarkerLocal _Marker;
  401. if (_PlayersOrVehicles in life_markers_Vehicles) then {
  402. life_markers_Vehicles deleteAt (life_markers_Vehicles find _PlayersOrVehicles);
  403. };
  404. true;
  405. };
  406. };
  407. } forEach crew vehicle _x;
  408. };
  409. } else {
  410. if (!(_x in life_markers_Players) && (vehicle _x == _x) && (getPlayerUID _x != """")) then {
  411. private [""_pos"", ""_Markers""];
  412. _pos = visiblePosition _x;
  413. _Markers = createMarkerLocal[format [""PLR%1%2"", _pos select 0, _pos select 1], [(_pos select 0) + 20, _pos select 1, 0]];
  414. _Markers setMarkerTypeLocal ""mil_dot"";
  415. _Markers setMarkerSizeLocal[1, 1];
  416. if (side _x isEqualTo independent) then {
  417. _Markers setMarkerColorLocal (""ColorIndependent"");
  418. };
  419. if (side _x isEqualTo civilian) then {
  420. _Markers setMarkerColorLocal (""ColorCivilian"");
  421. };
  422. if (side _x isEqualTo west) then {
  423. _Markers setMarkerColorLocal (""ColorBLUFOR"");
  424. };
  425. _Markers setMarkerTextLocal format [""%1---%2"", name _x, round(_x distance player)];
  426. if (_x == player) then {
  427. _Markers setMarkerColorLocal ""ColorGreen"";
  428. };
  429. life_markers_Players pushBack _x;
  430. [_x, _Markers] spawn {
  431. private [""_PlayersOrVehicles"", ""_Marker""];
  432. _PlayersOrVehicles = _this select 0;
  433. _Marker = _this select 1;
  434. for ""_i"" from 0 to 1 step 0 do {
  435. if (!life_markers && !(alive _PlayersOrVehicles) && (vehicle _PlayersOrVehicles != _PlayersOrVehicles) && (getPlayerUID _PlayersOrVehicles != """")) exitWith {};
  436. _Marker setMarkerPosLocal([visiblePosition _PlayersOrVehicles select 0, visiblePosition _PlayersOrVehicles select 1, 0]);
  437. _Marker setMarkerTextLocal format [""%1---%2"", name _PlayersOrVehicles, round(_PlayersOrVehicles distance player)];
  438. sleep 0.01;
  439. };
  440. deleteMarkerLocal _Marker;
  441. if (_PlayersOrVehicles in life_markers_Players) then {
  442. life_markers_Players deleteAt (life_markers_Players find _PlayersOrVehicles);
  443. };
  444. true;
  445. };
  446. };
  447. };
  448. } forEach playableUnits;
  449. sleep 0.3;
  450. };
  451. {
  452. _Markers = str _x;
  453. deleteMarkerLocal _Markers;
  454. } forEach playableUnits;
  455. ";
  456.  
  457. publicVariable "TON_fnc_MapMarkersAdmin";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement