Advertisement
Guest User

Untitled

a guest
Dec 5th, 2016
370
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 110.29 KB | None | 0 0
  1. "; if((_MOD == 'Epoch')&&(_CLG))then{ _A3AHstring = _A3AHstring + "
  2. addMissionEventHandler['HandleDisconnect',{
  3. _plyr=_this select 0;
  4. if(alive _plyr)then
  5. {
  6. _plyrUID=_this select 2;
  7. _name = _this select 3;
  8. _inCombat = 9001;
  9. if!("+_inCombatArray+" isEqualTo [])then
  10. {
  11. _fid = "+_inCombatArray+" find _plyrUID;
  12. if(_fid != -1)then
  13. {
  14. _inCombat = "+_inCombatArray+" select (_fid+1);
  15. };
  16. };
  17. if(_inCombat == 1)then
  18. {
  19. _log = format['%1(%2) - HP: %3 - currentWeapon: %4 @%5%6',_name,_plyrUID,(1-(damage _plyr))*100,currentWeapon _plyr,mapGridPosition _plyr,getPos _plyr];
  20. 'ARMA_LOG' callExtension format['A3_COMBATLOG:%1 (v0245a)',_log];
  21. diag_log ('<infiSTAR.de>CombatLog| '+_log+' (v0245a)');
  22.  
  23. _grid = mapGridPosition _plyr;
  24. _xpos = _grid select [0,3];
  25. _ypos = _grid select [3,5];
  26. "+_massSysMessage+" = format['%1 CombatLogged GPS X/Y: %2/%3 find the dead body!',_name,_xpos,_ypos];
  27. {(owner _x) publicVariableClient '"+_massSysMessage+"';} forEach allPlayers;
  28.  
  29. [_plyr,_name] call fnc_HandleDisconnectDead;
  30. };
  31. };
  32. }];
  33. "; }; _A3AHstring = _A3AHstring + "
  34.  
  35.  
  36. infiSTAR_PlayerDisconnected_id = addMissionEventHandler ['PlayerDisconnected',{
  37. params['_id','_uid','_name','_jip','_owner'];
  38. _mytime = call fnc_getserverTime;
  39. _log = _mytime + format['Disconnected: %1(%2 - %3) - time: %4 - serverFPS: %5',call fnc_getSteamNameIfSaved,_uid,_owner,time,diag_fps];
  40. _log call FNC_A3_CONNECTLOG;
  41. }];
  42. _log = format['infiSTAR_PlayerDisconnected_id: %1',infiSTAR_PlayerDisconnected_id];
  43. _log call FNC_A3_CONNECTLOG;
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50. _AH_MAIN_BLOCK = {
  51. _clientName = _this select 0;
  52. _clientUID = _this select 1;
  53. if(isNil'"+_AH1945KICKLOG+"')exitWith{
  54. _log = format['%1(%2) - AntiHack variable is NIL !',_clientName,_clientUID];
  55. AHKickLog_IS_NIL = _log;publicVariableServer'AHKickLog_IS_NIL';
  56. (findDisplay 46)closeDisplay 0;
  57. };
  58.  
  59. if(!isNil'AH_STARTED_ALREADY')exitWith{
  60. _log = format['%1(%2) - AH STARTED TWICE !',_clientName,_clientUID];
  61. AH_STARTED_TWICE = _log;publicVariableServer'AH_STARTED_TWICE';
  62. (findDisplay 46)closeDisplay 0;
  63. };
  64. AH_STARTED_ALREADY = true;
  65.  
  66. _temptime = diag_tickTime + 30;
  67. waitUntil {(((getClientStateNumber >= 10)&&(getPlayerUID player != ''))||(diag_tickTime > _temptime))};
  68.  
  69. _name = _clientName;
  70. _puid = format['%1',getPlayerUID player];
  71. if((isNil '_puid')||(isNil '_clientName')||(isNil '_clientUID'))exitWith
  72. {
  73. _log = 'No UID';
  74. NO_UID = 'NO_UID';publicVariableServer 'NO_UID';
  75. (findDisplay 46)closeDisplay 0;
  76. };
  77. if!(_puid isEqualTo _clientUID)exitWith
  78. {
  79. _log = format['PlayerUID [%1] is not Equal to Serverside PlayerUID [%2]! (KICKED TO LOBBY)',_puid,_clientUID];
  80. [_name,_puid,'SLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  81. (findDisplay 46)closeDisplay 0;
  82. };
  83.  
  84. _admins = "+str _admins+";
  85. profileNamespace setVariable['PUID',nil];
  86. _PUID_array = profileNamespace getVariable['PUIDS',[]];
  87. if!(_puid in _admins)then
  88. {
  89. _add_Id = _PUID_array pushBackUnique _puid;
  90. if(_add_Id > -1)then
  91. {
  92. profileNamespace setVariable['PUIDS',_PUID_array];saveprofileNamespace;
  93. if(_PUID_array isEqualTo [_puid])exitWith{};
  94. _announce = true;{if(_x in _admins)exitWith{_announce = false;};} forEach _PUID_array;
  95. if(_announce)then
  96. {
  97. _log = format['Player changed Steam Accounts - UIDs: %1',_PUID_array];
  98. [profileName,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  99. [] spawn "+_AHKickOFF+";
  100. };
  101. };
  102.  
  103. {
  104. if(!isNil _x)then
  105. {
  106. _log = format['AdminVariable Found: %1',_forEachIndex];
  107. [profileName,_puid,'SLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  108. (findDisplay 46)closeDisplay 0;
  109. };
  110. } forEach [
  111. '"+_AH_HackLogArrayRND+"','"+_AH_SurvLogArrayRND+"','"+_AH_AdmiLogArrayRND+"','"+_TMPBAN+"','"+_BigTokenArray+"','"+_MCS+"'
  112. ];
  113. _badclassesban = ['life_server','devcon','loki_lost_key','pooploop','rscrazzler','rsclistboxvg','vgdialog','sspcm','niggers_die'];
  114. _badclasseskick = ['a3_m3editor','extdb2','infistar_lifemods','infistar_a3','balca_debug_tool'];
  115. _cfgPatches = 'true' configClasses (configFile >> 'CfgPatches');
  116. {
  117. _configName = configName _x;
  118. _lconfigName = toLower _configName;
  119. if(_lconfigName in _badclassesban)then
  120. {
  121. _log = format['PBO-Injector found in CfgPatches: %1',_configName];
  122. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  123. [] spawn "+_AHKickOFF+";
  124. };
  125. if(_lconfigName in _badclasseskick)then
  126. {
  127. _log = format['Bad Addon found in CfgPatches: %1',_configName];
  128. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  129. [] spawn "+_AHKickOFF+";
  130. };
  131. } forEach _cfgPatches;
  132.  
  133. _badclasseskick append _badclassesban;
  134. _activatedAddons = [];
  135. {_activatedAddons pushBack (toLower _x)} forEach activatedAddons;
  136. {
  137. _addon = _x;
  138. {
  139. if(_addon find (toLower _x) != -1)then
  140. {
  141. _log = format['Bad Addon found: %1 (%2)',_addon,_x];
  142. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  143. [] spawn "+_AHKickOFF+";
  144. };
  145. } forEach _badclasseskick;
  146. } forEach _activatedAddons;
  147. };
  148.  
  149.  
  150. "+_dellocveh+" = nil;'"+_dellocveh+"' addPublicVariableEventHandler compileFinal """+_dellocveh+" = nil;deleteVehicle (vehicle player);"";
  151. [_name,_puid,_admins] spawn {
  152. disableSerialization;
  153. {ctrlDelete ((findDisplay 12) displayCtrl _x);} forEach [1086,1087,1088,1089,1090];
  154. _name = _this select 0;
  155. _puid = _this select 1;
  156. _admins = _this select 2;
  157. _admin = _puid in _admins;
  158. _wallgames = 0;
  159. _lastglitch = time;
  160. _49openedTimer = 0;
  161. "; if(_CLG)then{ _A3AHstring = _A3AHstring + "
  162. _tmpObj = objNull;
  163. _inCombat = 0;
  164. "; }; _A3AHstring = _A3AHstring + "
  165. _excludedButtons = [];
  166. _excludedButtonsTMP = "+str _excludedButtons+";
  167. {_excludedButtons pushBack format['Control #%1',_x];} forEach _excludedButtonsTMP;
  168.  
  169. "; if(_B49)then{ _A3AHstring = _A3AHstring + "
  170. {
  171. for '_i' from 0 to (count _x - 1) do
  172. {
  173. _ctrlCfg = _x select _i;
  174. if(getText (_ctrlCfg >> 'action') != '' || getText (_ctrlCfg >> 'onButtonClick') != '')exitWith
  175. {
  176. _BTN_TEXT = getText (_ctrlCfg >> 'text');
  177. if!(_BTN_TEXT in ['RHS - Game Options','AGM Options','MCC keys'])then
  178. {
  179. _log = format['BadButton on ESC: %1',_BTN_TEXT];
  180. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  181. [] spawn "+_AHKickOFF+";
  182. };
  183. };
  184. };
  185. }
  186. forEach
  187. [
  188. configFile >> 'RscDisplayMPInterrupt' >> 'controls',
  189. configFile >> 'RscDisplayMPInterrupt' >> 'controlsBackground'
  190. ];
  191. "; }; _A3AHstring = _A3AHstring + "
  192.  
  193.  
  194. "; if(_useTildMenu)then{ _A3AHstring = _A3AHstring + "
  195. "+_customcommandingMenu+" = [];
  196. "+_customcommandingMenu+" pushBack ['by infiSTAR.de',true];
  197. "+_customcommandingMenu+" pushBack ['User Menu', [-1], '', -5, [['expression', '']], '1', '0'];
  198. "+_customcommandingMenu+" pushBack ['Earplugs in/out', [2], '', -5, [['expression', 'if(isNil''Earplugs'')then{Earplugs=true;1 fadeSound 0.25;systemchat''Earplugs in'';}else{Earplugs=nil;1 fadeSound 1;systemchat''Earplugs out'';};']], '1', '1'];
  199. if(!isNil 'EPOCH_debugMode')then
  200. {
  201. "+_customcommandingMenu+" pushBack ['Stinky Finger', [3], '', -5, [['expression', 'player action[''switchWeapon'', player, player, 100];player playactionNow ''GestureFinger'';']], '1', '1'];
  202. "+_customcommandingMenu+" pushBack ['EPOCH Debug', [4], '', -5, [['expression', 'EPOCH_debugMode = !EPOCH_debugMode;hint'''';']], '1', '1'];
  203. };
  204. _customcommandingMenu = "+_customcommandingMenu+";
  205. "; }; _A3AHstring = _A3AHstring + "
  206.  
  207.  
  208. _fnc_infiKeyHandler = ""
  209. private['_dikCode','_shift','_ctrl','_alt','_dikCode','_handled'];
  210. _dikCode = _this select 1;
  211. _shift = _this select 2;
  212. _ctrl = _this select 3;
  213. _alt = _this select 4;
  214. _handled = false;
  215.  
  216. "; if(_useTildMenu)then{ _A3AHstring = _A3AHstring + "
  217. if(_dikCode == 41)then
  218. {
  219. "+_customcommandingMenuOpen+" = true;
  220. _handled = true;
  221. };
  222. "; }; _A3AHstring = _A3AHstring + "
  223.  
  224. if(_dikCode in (actionKeys 'TacticalView'))then{ _handled = true; };
  225. if(_ctrl)then
  226. {
  227. if(_dikCode in (actionKeys 'Salute'))then
  228. {
  229. player playactionNow 'GestureFinger';
  230. _handled = true;
  231. };
  232. };
  233. _handled
  234. "";
  235. "+_fnc_infiKeyHandler+" = compileFinal _fnc_infiKeyHandler;
  236. if(str "+_fnc_infiKeyHandler+" != str (compile _fnc_infiKeyHandler))then
  237. {
  238. _log = format['fnc_infiKeyHandler changed! %1, %2',"+_fnc_infiKeyHandler+",_fnc_infiKeyHandler];
  239. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  240. [] spawn "+_AHKickOFF+";
  241. };
  242. "; if(_RDK)then{ _A3AHstring = _A3AHstring + "
  243. (findDisplay 46) displayAddEventHandler ['KeyDown',"+_fnc_infiKeyHandler+"];
  244. "; }; _A3AHstring = _A3AHstring + "
  245. (findDisplay 46) displayAddEventHandler ['KeyUp',"+_fnc_infiKeyHandler+"];
  246. "; if((_MOD == 'Epoch')&&(_AWL))then{ _A3AHstring = _A3AHstring + "
  247. _faded = false;
  248. _lastCall = time + 10;
  249. _fadeOut = {
  250. _faded = true;
  251. TitleText ['!!!\nDO NOT LOOK THROUGH WALLS\n!!!\n\n\n\nAntiHack by infiSTAR.de','BLACK FADED'];
  252. if(!isNull findDisplay 602)then
  253. {
  254. for '_i' from 0 to 3 do{findDisplay 602 closeDisplay 0;closeDialog 0;};
  255. if(time > _lastCall)then
  256. {
  257. _lastCall = time + 10;
  258.  
  259. _log = format['Player tries to look through a door/wall & probably loot a shelf! @%1 %2',mapGridPosition player,player modelToWorldVisual [0,0,0]];
  260. [_name,_puid,'HLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  261. };
  262. };
  263. };
  264. _dis_head = 0.20;
  265. _dis_weapon_l = 0.20;
  266. _dis_weapon_r = 0.30;
  267. _dir_weapon_r = 0;
  268. _dir_weapon_l = 0;
  269. "; }; _A3AHstring = _A3AHstring + "
  270.  
  271. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  272. _playerhandlers = ['InventoryOpened','InventoryClosed','Take','HandleRating'];
  273. "; if(_RRH)then{ _A3AHstring = _A3AHstring + "
  274. _playerhandlers pushBack 'Respawn';
  275. "; }; _A3AHstring = _A3AHstring + "
  276. "; if(_RKH)then{ _A3AHstring = _A3AHstring + "
  277. _playerhandlers pushBack 'Killed';
  278. "; }; _A3AHstring = _A3AHstring + "
  279. "; }; _A3AHstring = _A3AHstring + "
  280. _markertimer = time + 5;
  281.  
  282.  
  283.  
  284.  
  285. _chatKeyUp = '
  286. disableSerialization;
  287. _name = '+str _name+';
  288. _puid = '+str _puid+';
  289. _admin = '+str _admin+';
  290. _chat = (findDisplay 24) displayCtrl 101;
  291. _txt = ctrlText _chat;
  292. if(_txt isEqualTo ''?'')then{ [] spawn { for ''_i'' from 0 to 11 do { closeDialog _i;closeDialog 0;closeDialog 0;closeDialog 0; }; }; };
  293. _ltxt = toLower _txt;
  294. if(_admin)then
  295. {
  296. if!(_ltxt isEqualTo '''')then
  297. {
  298. if(_ltxt isEqualTo ''!admin'')exitWith
  299. {
  300. (findDisplay 24) closeDisplay 0;
  301. [_name,_puid,''AC'',toArray(_txt)] call "+_AH1945KICKLOG+";
  302. [] spawn {uiSleep 0.3;(findDisplay 46)closeDisplay 0;};
  303. };
  304. };
  305. }
  306. else
  307. {
  308. if(_ltxt in [format[''.ban %1'',toLower _name],format[''.ban %1 true'',toLower _name],format[''.ban %1 true;'',toLower _name]])then
  309. {
  310. (findDisplay 24) closeDisplay 0;
  311. _log = format[''BadCommand: %1'',_txt];
  312. [_name,_puid,''BAN'',toArray(_log)] call "+_AH1945KICKLOG+";
  313. [] spawn "+_AHKickOFF+";
  314. };
  315. };
  316. if(_ltxt in [''killme'',''/killme'',''kill me'',''/kill me'',''/suicide'',''suicide''])then{
  317. (findDisplay 24) closeDisplay 0;
  318. _unit = player;
  319. {_unit setHitPointDamage [_x,1];} forEach [''HitBody'',''HitHead''];
  320. uiSleep 1.5;
  321. if(isNull _unit)exitWith{};
  322. if(local _unit)then{_unit setPos [0,0,100];};
  323. };
  324. if(_ltxt find ''infishit'' > -1)then{
  325. (findDisplay 24) closeDisplay 0;
  326. _log = format[''BadText: %1 [infishit]'',_txt];
  327. [_name,_puid,''BAN'',toArray(_log)] call "+_AH1945KICKLOG+";
  328. };
  329. "; if(_VDN)then{ _A3AHstring = _A3AHstring + "
  330. if(_ltxt in [''!vote day'',''/vote day'',''vote day'',''!day'',''/day''])then{
  331. (findDisplay 24) closeDisplay 0;
  332. [_name,_puid,''VOTE'',toArray ''DAY''] call "+_AH1945KICKLOG+";
  333. };
  334. if(_ltxt in [''!vote night'',''/vote night'',''vote night'',''!night'',''/night''])then{
  335. (findDisplay 24) closeDisplay 0;
  336. [_name,_puid,''VOTE'',toArray ''NIGHT''] call "+_AH1945KICKLOG+";
  337. };
  338. "; }; _A3AHstring = _A3AHstring + "
  339. false
  340. ';
  341. _chatKeyUp_id = -1;
  342.  
  343. while{1==1}do
  344. {
  345. if(time > _markertimer)then
  346. {
  347. _markertimer = time + 5;
  348.  
  349. _need_hlog = true;
  350. {
  351. _marker = _x;
  352. if(_marker find '_USER_DEFINED' > -1)then
  353. {
  354. _markerchannel = _marker select [(count _marker)-1,1];
  355. if(parseNumber _markerchannel > 2)exitWith{};
  356.  
  357. _stringsizeSTART = (_marker find '#')+1;
  358. _stringsizeEND = _marker find '/';
  359. _markerid = _marker select [_stringsizeSTART,_stringsizeEND - _stringsizeSTART];
  360. _markerid = parseNumber _markerid;
  361.  
  362. _shape = markerShape _marker;
  363. if(_shape isEqualTo 'POLYLINE')then
  364. {
  365. _puid = getPlayerUID player;
  366. if!(_puid isEqualTo '')then
  367. {
  368. _varuid = missionNameSpace getVariable[format['UID_BY_ID_%1',_markerid],'-1'];
  369. if(_puid isEqualTo _varuid)then
  370. {
  371. deleteMarker _marker;
  372. _log = 'Deleted drawing on a global channel!';
  373. systemChat ('<infiSTAR.de> '+_log);
  374. if(_need_hlog)then
  375. {
  376. [_name,_varuid,'HLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  377. };
  378. _need_hlog = false;
  379. };
  380. };
  381. }
  382. else
  383. {
  384. _varname = missionNameSpace getVariable[format['NAME_BY_ID_%1',_markerid],''];
  385. _markerText = markerText _marker;
  386. if(_markerText isEqualTo '')then
  387. {
  388. _marker setMarkerText format['%1: no marker text',_varname];
  389. }
  390. else
  391. {
  392. _addition = format['%1: ',_varname];
  393. if((_markerText find _addition) isEqualTo -1)then
  394. {
  395. _marker setMarkerText (_addition+_markerText);
  396. };
  397. };
  398. };
  399. };
  400. } forEach allMapMarkers;
  401. };
  402.  
  403.  
  404. "; if(_useTildMenu)then{ _A3AHstring = _A3AHstring + "
  405. if(isNil'"+_customcommandingMenu+"')then
  406. {
  407. _log = 'customcommandingMenu is Nil';
  408. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  409. [] spawn "+_AHKickOFF+";
  410. }
  411. else
  412. {
  413. if!(str "+_customcommandingMenu+" isEqualTo str _customcommandingMenu)then
  414. {
  415. _log = format['customcommandingMenu changed: %1',"+_customcommandingMenu+"];
  416. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  417. [] spawn "+_AHKickOFF+";
  418. };
  419. };
  420. "; }; _A3AHstring = _A3AHstring + "
  421.  
  422.  
  423. "; if(_CLG)then{ _A3AHstring = _A3AHstring + "
  424. if(isNil '"+_inCombatTime+"')then{"+_inCombatTime+" = 0;};
  425. _combatTime = round(time - "+_inCombatTime+");
  426. if(_combatTime <= 30)then
  427. {
  428. if(_inCombat == 0)then
  429. {
  430. _inCombat = 1;
  431. [_name,_puid,'COMBATCHECK',_inCombat] call "+_AH1945KICKLOG+";
  432. };
  433. }
  434. else
  435. {
  436. if(_inCombat == 1)then
  437. {
  438. _inCombat = 0;
  439. [_name,_puid,'COMBATCHECK',_inCombat] call "+_AH1945KICKLOG+";
  440. };
  441. };
  442. if!(_tmpObj isEqualTo (vehicle player))then
  443. {
  444. _tmpObj = (vehicle player);
  445. player removeAllEventHandlers 'Hit';
  446. player removeAllEventHandlers 'FiredNear';
  447. if(alive player)then
  448. {
  449. player addEventHandler ['Hit',{"+_inCombatTime+" = time}];
  450. player addEventHandler ['FiredNear',{"+_inCombatTime+" = time}];
  451. };
  452. };
  453. if(!alive player)then
  454. {
  455. "+_inCombatTime+" = 0;
  456. };
  457. "; }; _A3AHstring = _A3AHstring + "
  458. _display49 = findDisplay 49;
  459. if!(serverCommandAvailable '#logout')then
  460. {
  461. if(!isNull _display49)then
  462. {
  463. if(_49openedTimer == 0)then{_49openedTimer = time;};
  464. "; if(_CLG)then{ _A3AHstring = _A3AHstring + "
  465. if(_combatTime < 30)then
  466. {
  467. (_display49 displayCtrl 104) ctrlEnable false;
  468. (_display49 displayCtrl 104) ctrlSetText format['COMBAT time: %1',30-_combatTime];
  469. }
  470. else
  471. {
  472. "; }; _A3AHstring = _A3AHstring + "
  473. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  474. _waitTime = time - _49openedTimer;
  475. if(_waitTime < 10)then
  476. {
  477. (_display49 displayCtrl 104) ctrlEnable false;
  478. "; if(_CLG)then{ _A3AHstring = _A3AHstring + "
  479. (_display49 displayCtrl 104) ctrlSetText format['ABORT IN %1',ceil(10-_waitTime)];
  480. "; }; _A3AHstring = _A3AHstring + "
  481. }
  482. else
  483. {
  484. (_display49 displayCtrl 104) ctrlEnable true;
  485. "; if(_CLG)then{ _A3AHstring = _A3AHstring + "
  486. (_display49 displayCtrl 104) ctrlSetText 'Abort';
  487. "; }; _A3AHstring = _A3AHstring + "
  488. };
  489. "; }; _A3AHstring = _A3AHstring + "
  490. "; if(_CLG)then{ _A3AHstring = _A3AHstring + "
  491. };
  492. "; }; _A3AHstring = _A3AHstring + "
  493. (_display49 displayCtrl 2) ctrlEnable false;
  494. (_display49 displayCtrl 2) ctrlSetText "+str _ESCMNUTOP+";
  495. (_display49 displayCtrl 103) ctrlEnable false;
  496. (_display49 displayCtrl 103) ctrlSetText "+str _ESCMNUBOT+";
  497. (_display49 displayCtrl 523) ctrlSetText profileName;
  498. (_display49 displayCtrl 109) ctrlSetText _puid;
  499. (_display49 displayCtrl 122) ctrlEnable false;
  500. (_display49 displayCtrl 122) ctrlShow false;
  501. "; if(_B49)then{ _A3AHstring = _A3AHstring + "
  502. _cnt = "; if((!_B49)&&(_MOD != 'Epoch'))then{ _A3AHstring = _A3AHstring + "{
  503. "; if(_B49)then{ _A3AHstring = _A3AHstring + "
  504. _controltype = ctrlType _x;
  505. if(_controltype == 16)then
  506. {
  507. _action = buttonAction _x;
  508. if(_action != '')then
  509. {
  510. if!(str _x in _excludedButtons)then
  511. {
  512. if((str _x == 'Control #-1')||(_action != ""(findDisplay 49) closeDisplay 0; 0 spawn {_n= createDialog 'RHS_Options_Menu';0 spawn rhs_fnc_menuOptions;};""))then
  513. {
  514. _log = format['BadButton on 49: %1, %2',_x,_action];
  515. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  516. [] spawn "+_AHKickOFF+";
  517. };
  518. };
  519. };
  520. };
  521. "; }; _A3AHstring = _A3AHstring + "
  522. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  523. if!(str _x in ['Control #101','Control #1010','Control #104','Control #302','Control #301','Control #303','Control #307'])then
  524. {
  525. _x ctrlEnable false;
  526. };
  527. "; }; _A3AHstring = _A3AHstring + "
  528. true
  529. } "; }; _A3AHstring = _A3AHstring + "count (allcontrols _display49);
  530. "; }; _A3AHstring = _A3AHstring + "
  531.  
  532. if!(_puid in _admins)then
  533. {
  534. {
  535. _ctrl = _display49 displayCtrl _x;
  536. _ctrl ctrlShow false;
  537. _ctrl buttonSetAction '(findDisplay 49) closeDisplay 0;(findDisplay 46) closeDisplay 0;';
  538. } forEach [11884,12284,13291];
  539. {
  540. _ctrl = _display49 displayCtrl _x;
  541. _ctrl ctrlShow false;
  542. _ctrl buttonSetAction '(findDisplay 49) closeDisplay 0;(findDisplay 46) closeDisplay 0;';
  543. if(!isNull _ctrl)then
  544. {
  545. _log = format['BadControl on 49: %1 - %2',_ctrl,_x];
  546. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  547. [] spawn "+_AHKickOFF+";
  548. };
  549. } forEach [65464,65465,65466];
  550. };
  551. }
  552. else
  553. {
  554. _49openedTimer = 0;
  555. };
  556. };
  557. if(!isNull _display49)then
  558. {
  559. "; if(!_BRIEFING_MSG)then{ _A3AHstring = _A3AHstring + "
  560. (_display49 displayCtrl 120) ctrlSetText 'infiSTAR.de AntiHack & AdminsTools - [Author: infiSTAR, Contact: infiSTAR23@gmail.com]';
  561. "; }else{ _A3AHstring = _A3AHstring + "
  562. (_display49 displayCtrl 115025) ctrlSetText 'AntiHack & AdminsTools';
  563. (_display49 displayCtrl 115035) ctrlSetText 'by infiSTAR.de';
  564. "; }; _A3AHstring = _A3AHstring + "
  565. };
  566.  
  567.  
  568.  
  569. {
  570. _buttonAction = buttonAction _x;
  571. if!(_buttonAction isEqualTo '')then
  572. {
  573. _log = format['MenuBasedHack :: 24 :: %1 :: %2',_x,_buttonAction];
  574. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  575. [] spawn "+_AHKickOFF+";
  576. };
  577. } forEach allControls(finddisplay 24);
  578.  
  579. {
  580. if(!isNull ((findDisplay 24) displayCtrl _x))then
  581. {
  582. _log = format['MenuBasedHack :: 24 :: %1',_x];
  583. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  584. [] spawn "+_AHKickOFF+";
  585. };
  586. } forEach [2406,2407,2408,2409,2410,2411,2412,2443,2442,2441];
  587. (findDisplay 24) displayRemoveEventHandler ['KeyUp',_chatKeyUp_id];
  588. _chatKeyUp_id = (finddisplay 24) displayAddEventHandler ['KeyUp',_chatKeyUp];
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  596. if(!isNull player)then
  597. {
  598. if(alive player)then
  599. {
  600. {
  601. player removeAllEventHandlers _x;
  602. player addEventHandler [_x,(['CfgEpochClient', _x, ''] call EPOCH_fnc_returnConfigEntryV2)];
  603. } forEach _playerhandlers;
  604. };
  605.  
  606. "; if(_UAG)then{ _A3AHstring = _A3AHstring + "
  607. if(animationState player == 'amovpercmsprsnonwnondf_amovppnemstpsnonwnondnon')then
  608. {
  609. _ct = cursorTarget;
  610. if(!isNull _ct)then
  611. {
  612. if((_ct isKindOf 'Constructions_static_F') && (_ct distance player < 4))then
  613. {
  614. if(time - _lastglitch > 45)then{_wallgames = 0;};
  615. _lastglitch = time;
  616. player switchMove '';
  617. player setVelocity [0,0,0];
  618. if(_wallgames >= 1)then
  619. {
  620. player setHitPointDamage ['HitLegs',1];
  621. _log = format['Anti-Glitch: %1 triggered %2 times @%3 (LEGS BROKEN)',typeOf _ct,_wallgames,mapGridPosition player];
  622. [_name,_puid,'HLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  623. };
  624. if(_wallgames >= 2)then
  625. {
  626. player setPos [0,0,100];
  627. {player setHitPointDamage [_x,1];} forEach ['HitBody','HitHead'];
  628. _log = format['Anti-Glitch: %1 triggered %2 times @%3 (KILLED THE GLITCHER)',typeOf _ct,_wallgames,mapGridPosition player];
  629. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  630. _wallgames = 0;
  631. [] spawn "+_AHKickOFF+";
  632. };
  633. _wallgames = _wallgames + 1;
  634. _msg = 'NO GLITCHING';
  635. hint _msg;
  636. 1 cutText [format ['%1',_msg],'WHITE IN'];
  637. systemChat _msg;
  638. };
  639. };
  640. };
  641. };
  642. "; }; _A3AHstring = _A3AHstring + "
  643. "; }; _A3AHstring = _A3AHstring + "
  644. if(isNull _display49)then{uiSleep 0.2;};
  645.  
  646.  
  647. "; if(_useTildMenu)then{ _A3AHstring = _A3AHstring + "
  648. if(!isNil'"+_customcommandingMenuOpen+"')then
  649. {
  650. _cmd_open_timer = diag_tickTime + 5;
  651. waitUntil{
  652. hint format['opening menu in: %1s if your game crahes, do not use this function again..! #ArmaBugs',_cmd_open_timer - diag_tickTime];
  653. diag_tickTime > _cmd_open_timer
  654. };
  655. "+_customcommandingMenuOpen+" = nil;
  656. showCommandingMenu '#USER:"+_customcommandingMenu+"';
  657. };
  658. "; }; _A3AHstring = _A3AHstring + "
  659.  
  660.  
  661. "; if((_MOD == 'Epoch')&&(_AWL))then{ _A3AHstring = _A3AHstring + "
  662. if(player == vehicle player)then
  663. {
  664. _intersectsWith = [];
  665.  
  666. _eyeDir = eyedirection player;
  667. _wepDir = player weapondirection currentweapon player;
  668.  
  669. _vectorDiff = _eyeDir vectorDiff _wepDir;
  670. _xdif = abs(_vectorDiff select 0);
  671.  
  672. if((inputAction 'EvasiveLeft' > 0)||(inputAction 'EvasiveRight' > 0)||(_eyeDir select 2 > 0.5)||(_xdif > 0.55))then
  673. {
  674. _eyePos = eyepos player;
  675. _dir_weapon_r = (((_wepDir) select 0) atan2 ((_wepDir) select 1))+45;
  676. _dir_weapon_l = (((_wepDir) select 0) atan2 ((_wepDir) select 1))-25;
  677.  
  678. _intersectsWith = lineintersectswith [[(_eyePos select 0) + (_eyeDir select 0)*_dis_head,(_eyePos select 1) + (_eyeDir select 1)*_dis_head,(_eyePos select 2) + (_eyeDir select 2)*_dis_head], _eyePos, player];
  679. _intersectsWith append lineintersectswith [[(_eyePos select 0) + _dis_weapon_r*sin _dir_weapon_r,(_eyePos select 1) + _dis_weapon_r*cos _dir_weapon_r,(_eyePos select 2)], _eyePos, player];
  680. _intersectsWith append lineintersectswith [[(_eyePos select 0) + _dis_weapon_l*sin _dir_weapon_l,(_eyePos select 1) + _dis_weapon_l*cos _dir_weapon_l,(_eyePos select 2)], _eyePos, player];
  681.  
  682. _plrPosVisual = ATLtoASL (player modelToWorldVisual [0,0,0]);
  683. _intersectsWith append lineIntersectsWith [_eyePos, _plrPosVisual];
  684. };
  685.  
  686. if(_intersectsWith isEqualTo [])then
  687. {
  688. if(_faded)then{_faded=false;TitleText ['AntiHack by infiSTAR.de','PLAIN DOWN'];};
  689. }
  690. else
  691. {
  692. {
  693. if(_x isKindOf 'Const_All_Walls_F')exitWith{call _fadeOut};
  694. if(_x isKindOf 'Const_WoodWalls_static_F')exitWith{call _fadeOut};
  695. if(_faded)exitWith{};
  696. } forEach _intersectsWith;
  697. };
  698. };
  699. "; }; _A3AHstring = _A3AHstring + "
  700. };
  701. _log = 'Loop #0 ended!';
  702. [profileName,getPlayerUID player,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  703. [] spawn "+_AHKickOFF+";
  704. };
  705. [_name,_puid,_admins] spawn {
  706. _name = _this select 0;
  707. _puid = _this select 1;
  708. _admins = _this select 2;
  709. "; if(_USE_RESTART_TIMER)then{ _A3AHstring = _A3AHstring + "
  710. _restartTime = "+str _RESTART_TIME_IN_M+";
  711. _msgTimes = "+str _SHOW_TIMER_IN_MIN+";
  712. _msgFormat = '<t size=''0.70'' color=''#DA1700'' align=''right''>RESTART IN %1 MINS</t>';
  713. "; }; _A3AHstring = _A3AHstring + "
  714. "; if(_UOL)then{ _A3AHstring = _A3AHstring + "
  715. _server_onLoadUnload1 = "+str _onLoadUnload1+";
  716. _server_onLoadUnload2 = "+str _onLoadUnload2+";
  717. _server_onLoadUnload3 = "+str _onLoadUnload3+";
  718. "; }; _A3AHstring = _A3AHstring + "
  719. while{1==1}do
  720. {
  721. "; if(_UOL)then{ _A3AHstring = _A3AHstring + "
  722. {
  723. _onLoad = toArray(getText(configFile >> _x >> 'onLoad'));
  724. _server_onLoad = _server_onLoadUnload2 select _forEachIndex;
  725. if(!(_onLoad isEqualTo _server_onLoad) && !(_onLoad isEqualTo ''))then
  726. {
  727. _log = format['onLoad changed: %1, %2, %3',_x,toString _onLoad,toString _server_onLoad];
  728. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  729. [] spawn "+_AHKickOFF+";
  730. };
  731. _onUnload = toArray(getText(configFile >> _x >> 'onUnload'));
  732. _server_onUnload = _server_onLoadUnload3 select _forEachIndex;
  733. if(!(_onUnload isEqualTo _server_onUnload) && !(_onUnload isEqualTo ''))then
  734. {
  735. _log = format['onUnload changed: %1, %2, %3',_x,toString _onUnload,toString _server_onUnload];
  736. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  737. [] spawn "+_AHKickOFF+";
  738. };
  739. } forEach _server_onLoadUnload1;
  740. "; }; _A3AHstring = _A3AHstring + "
  741. "; if(_UMP)then{ _A3AHstring = _A3AHstring + "
  742. uiSleep 1;
  743. _children = [configFile >> 'RscDisplayMPInterrupt' >> 'controls',0] call BIS_fnc_returnChildren;
  744. _allowedChildren = ['Title','MissionTitle','DifficultyTitle','PlayersName','ButtonCancel','ButtonSAVE','ButtonSkip','ButtonRespawn','ButtonOptions','ButtonVideo','ButtonAudio','ButtonControls','ButtonGame','ButtonTutorialHints','ButtonAbort','DebugConsole','Feedback','MessageBox','CBA_CREDITS_M_P','CBA_CREDITS_CONT_C','Version','TrafficLight','TraffLight'];
  745. {
  746. _cfgName = configName _x;
  747. if(!(_cfgName in _allowedChildren))then
  748. {
  749. _log = format['Modified MPInterrupt: %1 | %2',_x,_cfgName];
  750. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  751. [] spawn "+_AHKickOFF+";
  752. };
  753. } forEach _children;
  754. uiSleep 1;
  755. "; }; _A3AHstring = _A3AHstring + "
  756. "; if(_USE_RESTART_TIMER)then{ _A3AHstring = _A3AHstring + "
  757. _currentmessagetime = (_restartTime - round(serverTime / 60));
  758. if(_currentmessagetime in _msgTimes)then
  759. {
  760. _msgTimes = _msgTimes - [_currentmessagetime];
  761. [
  762. format[_msgFormat, _restartTime - round(serverTime / 60)],
  763. [safezoneX + safezoneW - 0.8,0.50],
  764. [safezoneY + safezoneH - 0.8,0.7],
  765. 5,
  766. 0.5
  767. ] call BIS_fnc_dynamicText;
  768. };
  769. "; }; _A3AHstring = _A3AHstring + "
  770. uiSleep 8;
  771. };
  772. _log = 'Loop #3 ended!';
  773. [profileName,getPlayerUID player,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  774. [] spawn "+_AHKickOFF+";
  775. };
  776.  
  777. _isNormal = true;
  778. if(_puid in _admins)then
  779. {
  780. _isNormal = false;
  781. if!(_puid in "+_adminsA+")then
  782. {
  783. _isNormal = true;
  784. };
  785. };
  786. if(_isNormal)then
  787. {
  788. "; if((_UBV)||(_UBV2))then{ _A3AHstring = _A3AHstring + "
  789. [_name,_puid,_admins] spawn {
  790. _name = _this select 0;
  791. _puid = _this select 1;
  792. _admins = _this select 2;
  793. _isAdmin = false;
  794. if(_puid in _admins)then{_isAdmin = true;};
  795. "; if(_UBV)then{ _A3AHstring = _A3AHstring + "
  796. _blacklistedVariables = "+str _blacklistedVariables+";
  797. _blacklistedVariables append ['JoinOrNotJoinIsTheQuestion','noRecoilRun','A3FFrun'];
  798. if(_isAdmin)then
  799. {
  800. {
  801. _missionNamespace = missionNamespace getVariable _x;
  802. if(!isNil '_missionNamespace')then
  803. {
  804. missionNamespace setVariable[_x,nil];
  805. };
  806. _uiNamespace = uiNamespace getVariable _x;
  807. if(!isNil '_uiNamespace')then
  808. {
  809. uiNamespace setVariable[_x,nil];
  810. };
  811. _profileNamespace = profileNamespace getVariable _x;
  812. if(!isNil '_profileNamespace')then
  813. {
  814. profileNamespace setVariable[_x,nil];
  815. };
  816. } forEach _blacklistedVariables;
  817. saveProfileNamespace;
  818. };
  819. "; }; _A3AHstring = _A3AHstring + "
  820. "; if(_UBV2)then{ _A3AHstring = _A3AHstring + "
  821. _lastTimeCheckedVars = time + 80;
  822. _alreadyCheckedVariables = "+str _allRandomGenVars+";
  823. _alreadyCheckedVariables append "+str _badVarWhitelistReal+";
  824. _alreadyCheckedVariables append ['fnc_sendmsgtoplr','bpdcode','ruhr_fnc_emptyfuel','"+_AH_AdmiLogArrayRND+"'];
  825. "; }; _A3AHstring = _A3AHstring + "
  826. while{1==1}do
  827. {
  828. _timer1 = time;
  829. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  830. _avpnamespace = (allVariables parsingNamespace);
  831. if!(_avpnamespace isEqualTo [])then
  832. {
  833. _log = 'BadVariables in parsingNamespace';
  834. [_name,_puid,'HLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  835. {parsingNamespace setVariable[_x,nil];}forEach (allVariables parsingNamespace);
  836. };
  837. "; }; _A3AHstring = _A3AHstring + "
  838.  
  839. {
  840. _bvc = profileNamespace getVariable [_x,0];
  841. if(_bvc isEqualType '')then
  842. {
  843. profileNamespace setVariable [_x,0.4];saveprofileNamespace;
  844.  
  845. _log = format['VARIABLE HACKED: %1 (%2) VALUE: [%3]', _x, typeName _bvc, str _bvc];
  846. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  847. [] spawn "+_AHKickOFF+";
  848. };
  849. } forEach ['igui_bcg_rgb_a','igui_bcg_rgb_r','igui_bcg_rgb_g','igui_bcg_rgb_b','IGUI_grid_mission_X','IGUI_grid_mission_Y','IGUI_grid_mission_W','IGUI_grid_mission_H'];
  850.  
  851. "; if(_UBV)then{ _A3AHstring = _A3AHstring + "
  852. {
  853. _vc = missionNamespace getVariable _x;
  854. if(!isNil _x)then
  855. {
  856. _log = format['BadVar#1: %1 - %2',_x,_vc];
  857. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  858. [] spawn "+_AHKickOFF+";
  859. }
  860. else
  861. {
  862. if(!isNil '_vc')then
  863. {
  864. _log = format['BadVar#1 in missionNamespace: %1 - %2',_x,_vc];
  865. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  866. [] spawn "+_AHKickOFF+";
  867. };
  868. };
  869. _vc = uiNamespace getVariable _x;
  870. if(!isNil '_vc')then
  871. {
  872. _log = format['BadVar#1 in uiNamespace: %1 - %2',_x,_vc];
  873. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  874. [] spawn "+_AHKickOFF+";
  875. };
  876. _vc = profileNamespace getVariable _x;
  877. if(!isNil '_vc')then
  878. {
  879. profileNamespace setVariable[_x,nil];saveProfileNamespace;
  880. _log = format['BadVar#1 in profileNamespace: %1 - %2',_x,_vc];
  881. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  882. [] spawn "+_AHKickOFF+";
  883. };
  884. } forEach _blacklistedVariables;
  885. "; }; _A3AHstring = _A3AHstring + "
  886. "; if(_UBV2)then{ _A3AHstring = _A3AHstring + "
  887. if(_isAdmin)then
  888. {
  889. if(time > _lastTimeCheckedVars)then
  890. {
  891. _lastTimeCheckedVars = time + 80;
  892.  
  893. {
  894. _var = _x;
  895. _varid = _alreadyCheckedVariables pushBackUnique _var;
  896. if(_varid > -1)then
  897. {
  898. {
  899. if!((toLower _var) find _x isEqualTo -1)then
  900. {
  901. _log = format['BadVar#2 found %1 in %2',_x,_var];
  902. [profileName,getPlayerUID player,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  903. [] spawn "+_AHKickOFF+";
  904. missionNamespace setVariable[_var,nil];
  905. }
  906. else
  907. {
  908. "; if(_UBV2C)then{ _A3AHstring = _A3AHstring + "
  909. _m = missionNamespace getVariable _var;
  910. if(!isNil '_m')then
  911. {
  912. _mstring = str _m;
  913. if((toLower _mstring) find _x != -1)then
  914. {
  915. _mstring = _mstring select [0,200];
  916. _log = format['BadVar#2 found %1 in %2: %3',_x,_var,_mstring];
  917. [profileName,getPlayerUID player,'SLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  918. (findDisplay 46)closeDisplay 0;
  919. missionNamespace setVariable[_var,nil];
  920. };
  921. };
  922. "; }; _A3AHstring = _A3AHstring + "
  923. };
  924. } forEach "+str _verybadStrings+";
  925. };
  926. } forEach (allVariables missionNamespace);
  927. };
  928. };
  929. "; }; _A3AHstring = _A3AHstring + "
  930. _sleeptimer = ((time - _timer1)*2)+1;
  931. uiSleep _sleeptimer;
  932. };
  933. _log = 'Loop #6 ended!';
  934. [profileName,getPlayerUID player,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  935. [] spawn "+_AHKickOFF+";
  936. };
  937. "; }; _A3AHstring = _A3AHstring + "
  938. [_name,_puid] spawn {
  939. disableSerialization;
  940. _name = _this select 0;
  941. _puid = _this select 1;
  942. _FiredCheck = {
  943. _unit = _this select 0;
  944. _weapon = _this select 1;
  945. _muzzle = _this select 2;
  946. _mode = _this select 3;
  947. _ammo = _this select 4;
  948. _magazine = _this select 5;
  949. _projectile = _this select 6;
  950. if(("+str _UFA+") && {((!("+str _UAW+") && {_ammo in "+str _ForbiddenAmmo+"}) || (("+str _UAW+") && {!(_ammo in "+str _AmmoWhiteList+")}))})then
  951. {
  952. _log = format['ForbiddenAmmo: %1 with weapon %2',_ammo,_muzzle];
  953. [profileName,getPlayerUID _unit,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  954. [] spawn "+_AHKickOFF+";
  955. };
  956. if(_unit isEqualTo (vehicle _unit))then
  957. {
  958. if!(_muzzle in ['','Throw','Flare','Put'])then
  959. {
  960. if((toLower _magazine) find '3rnd_' == -1)then
  961. {
  962. _ammo_checkpassed = true;
  963. _lowAmmo = toLower _ammo;
  964. {if(_lowAmmo find _x > -1)exitWith{_ammo_checkpassed = false;};} forEach ['f_40mm','f_20mm','g_40mm','g_20mm','spear_'];
  965. if(_ammo_checkpassed)then
  966. {
  967. _cfgammo = getText(configFile >> 'CfgMagazines' >> _magazine >> 'ammo');
  968. if(_ammo != _cfgammo)then
  969. {
  970. _log = format['BadMuzzle: %1 with weapon %2',_ammo,_muzzle];
  971. [profileName,getPlayerUID _unit,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  972. [] spawn "+_AHKickOFF+";
  973. };
  974.  
  975. _maxAmmo = getNumber (configFile >> 'CfgMagazines' >> _magazine >> 'count');
  976. if(_maxAmmo > 1)then
  977. {
  978. if(isNil '"+_lastshotmade+"')then{"+_lastshotmade+" = diag_tickTime;};
  979. if(typeName "+_lastshotmade+" != 'SCALAR')then
  980. {
  981. _log = 'BadDefinition: -no ammo loss- check bypass!';
  982. [profileName,getPlayerUID _unit,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  983. [] spawn "+_AHKickOFF+";
  984. };
  985. if(diag_tickTime - "+_lastshotmade+" > 0.2)then
  986. {
  987. _camm = _unit ammo _muzzle;
  988. if((_camm >= _maxAmmo)&&(_muzzle isEqualTo currentWeapon _unit))then
  989. {
  990. _log = format['No Ammo Loss - Removed Current Magazine: %1 %2 %3 %4',_muzzle,_magazine,_camm,_maxAmmo];
  991. [profileName,getPlayerUID _unit,'SLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  992. [_muzzle,_magazine,_unit] spawn {
  993. (_this select 2) removeItem (_this select 0);
  994. (_this select 2) removeWeapon (_this select 0);
  995. (_this select 2) removeMagazines (_this select 1);
  996. };
  997. };
  998. };
  999. "+_lastshotmade+" = diag_tickTime;
  1000. };
  1001. };
  1002. };
  1003. };
  1004. };
  1005. true
  1006. };
  1007. "+_FiredCheck+" = compileFinal ([_FiredCheck] call "+str fnc_CompilableString+");
  1008. _addCaseHDMGold = -1;
  1009. _addCaseMEHold = -1;
  1010. if(isNil 'life_fnc_keyHandler')then{life_fnc_keyHandler = {false};}else{if(typeName life_fnc_keyHandler != 'CODE')then{life_fnc_keyHandler = {false};};};
  1011.  
  1012. "; if((_RDK) && !(_CKB))then{ _A3AHstring = _A3AHstring + "
  1013. (findDisplay 46) displayRemoveAllEventHandlers 'KeyDown';
  1014. "; }; _A3AHstring = _A3AHstring + "
  1015. "; if(_RUK)then{ _A3AHstring = _A3AHstring + "
  1016. (findDisplay 46) displayRemoveAllEventHandlers 'KeyUp';
  1017. "; }; _A3AHstring = _A3AHstring + "
  1018.  
  1019. "; if(_CKB)then{ _A3AHstring = _A3AHstring + "
  1020. _kbacaught = false;
  1021. "; }; _A3AHstring = _A3AHstring + "
  1022. "; if(_RMB)then{ _A3AHstring = _A3AHstring + "
  1023. "+_ButtonDownCnt+"=0;
  1024. "+_ButtonDownTime+"= round diag_tickTime;
  1025. "; }; _A3AHstring = _A3AHstring + "
  1026. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  1027. _loggedOnce = false;
  1028. "; }; _A3AHstring = _A3AHstring + "
  1029. _RMEH = "+str _RMEH+";
  1030. "; if(_OMC||_MBC)then{ _A3AHstring = _A3AHstring + "
  1031. _RMEH = _RMEH - ['MouseButtonClick'];
  1032. "; }; _A3AHstring = _A3AHstring + "
  1033. while{1==1}do
  1034. {
  1035. if((!isNull (findDisplay 12))&&(visiblemap))then
  1036. {
  1037. {(findDisplay 12 displayCtrl 51) ctrlRemoveAllEventHandlers _x;findDisplay 12 displayRemoveAllEventHandlers _x} forEach _RMEH;
  1038. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  1039. if(!_loggedOnce)then
  1040. {
  1041. _selected = lbSelection ((findDisplay 12) displayCtrl 1001);
  1042. if(!(_selected isEqualTo [2])&&!(_selected isEqualTo [3]))then
  1043. {
  1044. _control1 = (findDisplay 12) displayCtrl 1002;
  1045. _size = lbSize _control1;
  1046. if(_size > 2)then
  1047. {
  1048. _texts = [];
  1049. for '_i' from 0 to (_size-1) do
  1050. {
  1051. _lbtxt = _control1 lbText _i;
  1052. _texts pushBack _lbtxt;
  1053. };
  1054.  
  1055. _log = format['Map Sub-Menu %1 size has been changed to %2. Found: %3',_selected,_size,_texts];
  1056. [_name,_puid,'SLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  1057. (findDisplay 46)closeDisplay 0;
  1058. _loggedOnce = true;
  1059. lbClear _control1;
  1060. };
  1061. };
  1062.  
  1063. _control2 = (findDisplay 12) displayCtrl 1001;
  1064. _size = lbSize _control2;
  1065. if(_size > 5)then
  1066. {
  1067. _log = format['Map Menu has been changed %1 entries found (should be 5)',_size];
  1068. [_name,_puid,'SLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  1069. _loggedOnce = true;
  1070. lbClear _control2;
  1071. };
  1072. };
  1073. "; }; _A3AHstring = _A3AHstring + "
  1074. };
  1075. "; if(_RMB)then{ _A3AHstring = _A3AHstring + "
  1076. if(isNil'"+_ButtonDownCnt+"')then
  1077. {
  1078. _log = '"+_ButtonDownCnt+" is nil';
  1079. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1080. [] spawn "+_AHKickOFF+";
  1081. }
  1082. else
  1083. {
  1084. if(typeName "+_ButtonDownCnt+" != 'SCALAR')then
  1085. {
  1086. _log = format['"+_ButtonDownCnt+" typename changed to %1, %2',typeName "+_ButtonDownCnt+","+_ButtonDownCnt+"];
  1087. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1088. [] spawn "+_AHKickOFF+";
  1089. };
  1090. };
  1091. if(isNil'"+_ButtonDownTime+"')then
  1092. {
  1093. _log = '"+_ButtonDownTime+" is nil';
  1094. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1095. [] spawn "+_AHKickOFF+";
  1096. }
  1097. else
  1098. {
  1099. if(typeName "+_ButtonDownTime+" != 'SCALAR')then
  1100. {
  1101. _log = format['"+_ButtonDownTime+" typename changed to %1, %2',typeName "+_ButtonDownTime+","+_ButtonDownTime+"];
  1102. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1103. [] spawn "+_AHKickOFF+";
  1104. };
  1105. };
  1106. (findDisplay 46) displayRemoveAllEventHandlers 'MouseButtonDown';
  1107. (findDisplay 46) displaySetEventHandler ['MouseButtonDown',""
  1108. if(round diag_tickTime == "+_ButtonDownTime+")then
  1109. {
  1110. "+_ButtonDownCnt+" = "+_ButtonDownCnt+" + 1;
  1111. }
  1112. else
  1113. {
  1114. if("+_ButtonDownCnt+" >= 30)then
  1115. {
  1116. _ct = cursorTarget;
  1117. if(!isNull _ct)then
  1118. {
  1119. if(isPlayer _ct)then
  1120. {
  1121. _ct = format['%1(%2) %3, %4m away',name _ct,getPlayerUID _ct,typeOf (vehicle _ct),player distance _ct];
  1122. }
  1123. else
  1124. {
  1125. _ct = format['%1, %2m away',typeOf _ct,player distance _ct];
  1126. };
  1127. }
  1128. else
  1129. {
  1130. _ct='NO TARGET';
  1131. };
  1132. _log = format['Clicking speed too fast! %1 clicks in a second.. FPS: %2, Target: %3, Displays: %4',"+_ButtonDownCnt+",diag_fps,_ct,allDisplays];
  1133. [profileName,getPlayerUID player,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  1134. };
  1135. "+_ButtonDownCnt+" = 0;
  1136. };
  1137. "+_ButtonDownTime+"= round diag_tickTime;
  1138. ""];
  1139. "; }; _A3AHstring = _A3AHstring + "
  1140. {
  1141. (findDisplay _x) displayRemoveAllEventHandlers 'MouseHolding';
  1142. } forEach [18,46,49];
  1143. {
  1144. (findDisplay _x) displayRemoveAllEventHandlers 'MouseZChanged';
  1145. (findDisplay _x) displayRemoveAllEventHandlers 'MouseMoving';
  1146. (findDisplay _x) displayRemoveAllEventHandlers 'MouseButtonDown';
  1147. } forEach [18,49];
  1148. {
  1149. (findDisplay _x) displayRemoveAllEventHandlers 'KeyDown';
  1150. (findDisplay _x) displayRemoveAllEventHandlers 'KeyUp';
  1151. } forEach [-1,18,49,106];
  1152. (findDisplay 131) displayCtrl 102 ctrlRemoveallEVenthandlers 'LBDblClick';
  1153. (findDisplay 131) displayCtrl 102 ctrlRemoveallEVenthandlers 'LBSelChanged';
  1154.  
  1155. "; if(_RUK)then{ _A3AHstring = _A3AHstring + "
  1156. (findDisplay 46) displayRemoveAllEventHandlers 'KeyUp';
  1157. (findDisplay 46) displayAddEventHandler ['KeyUp',"+_fnc_infiKeyHandler+"];
  1158. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  1159. (findDisplay 46) displayAddEventHandler ['KeyUp','_this call EPOCH_KeyUp'];
  1160. "; }; _A3AHstring = _A3AHstring + "
  1161. "; }; _A3AHstring = _A3AHstring + "
  1162.  
  1163. "; if(_RDK)then{ _A3AHstring = _A3AHstring + "
  1164. (findDisplay 46) displayRemoveAllEventHandlers 'KeyDown';
  1165. _shouldbe = 0;
  1166. _kdID = (findDisplay 46) displayAddEventHandler ['KeyDown',"+_fnc_infiKeyHandler+"];
  1167. "; if(_MOD == 'AltisLife')then{ _A3AHstring = _A3AHstring + "
  1168. _shouldbe = _shouldbe + 1;
  1169. _kdID = (findDisplay 46) displayAddEventHandler ['KeyDown','_this call life_fnc_keyHandler;'];
  1170. "; }; _A3AHstring = _A3AHstring + "
  1171. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  1172. _shouldbe = _shouldbe + 1;
  1173. _kdID = (findDisplay 46) displayAddEventHandler ['KeyDown','_this call EPOCH_KeyDown'];
  1174. "; }; _A3AHstring = _A3AHstring + "
  1175. "; if(_CKB)then{ _A3AHstring = _A3AHstring + "
  1176. _shouldbe = _shouldbe + 1;
  1177. _kdID = (findDisplay 46) displayAddEventHandler ['KeyDown','false'];
  1178. "; }; _A3AHstring = _A3AHstring + "
  1179. uiSleep 0.2;
  1180. "; if(_CKB)then{ _A3AHstring = _A3AHstring + "
  1181. _randomid = round(random 5);
  1182. for '_i' from 1 to _randomid do
  1183. {
  1184. _shouldbe = _shouldbe + 1;
  1185. _kdID = (findDisplay 46) displayAddEventHandler ['KeyDown','false'];
  1186. };
  1187. if(_kdID != _shouldbe)then
  1188. {
  1189. if(alive player)then
  1190. {
  1191. if(_kbacaught)then
  1192. {
  1193. _log = format['KeyBinds added %1 should be %2',_kdID,_shouldbe];
  1194. [_name,_puid,'HLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  1195. (findDisplay 46)closeDisplay 0;
  1196. };
  1197. _kbacaught=true;
  1198. "; if(_RUK)then{ _A3AHstring = _A3AHstring + "
  1199. (findDisplay 46) displayRemoveAllEventHandlers 'KeyUp';
  1200. (findDisplay 46) displayAddEventHandler ['KeyUp',"+_fnc_infiKeyHandler+"];
  1201. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  1202. (findDisplay 46) displayAddEventHandler ['KeyUp','_this call EPOCH_KeyUp'];
  1203. "; }; _A3AHstring = _A3AHstring + "
  1204. "; }; _A3AHstring = _A3AHstring + "
  1205. };
  1206. };
  1207. "; }; _A3AHstring = _A3AHstring + "
  1208. "; }else{ _A3AHstring = _A3AHstring + "
  1209. uiSleep 0.2;
  1210. "; }; _A3AHstring = _A3AHstring + "
  1211. if(!isNull player)then
  1212. {
  1213. if(alive player)then
  1214. {
  1215. "; if(!_EHF && !_NO_EHF)then{ _A3AHstring = _A3AHstring + "
  1216. player removeAllEventHandlers 'Fired';
  1217. player addEventHandler ['Fired',{if(inSafeZone)then{deleteVehicle (_this select 6)}}];
  1218. player addEventHandler ['Fired',compile ('_this call '+str(_FiredCheck))];
  1219. player addEventHandler ['Fired',{_this call "+str _customFiredEventhandler+"}];
  1220. "; if(_MOD == 'AltisLife')then{ _A3AHstring = _A3AHstring + "
  1221. player addEventHandler ['Fired',{_this call life_fnc_onFired}];
  1222. "; }; _A3AHstring = _A3AHstring + "
  1223. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  1224. player addEventHandler ['Fired',{_this call EPOCH_fnc_playerFired}];
  1225. "; }; _A3AHstring = _A3AHstring + "
  1226. "; }; _A3AHstring = _A3AHstring + "
  1227. "; if(_MOD != 'Epoch')then{ _A3AHstring = _A3AHstring + "
  1228. player removeAllEventHandlers 'Take';
  1229. "; }; _A3AHstring = _A3AHstring + "
  1230. "; if(_C3D)then{ _A3AHstring = _A3AHstring + "
  1231. if(_addCaseMEHold > -1)then
  1232. {
  1233. _addCaseMEH = addMissionEventHandler ['Draw3D', {}];
  1234. if(_addCaseMEHold + 1 != _addCaseMEH)then
  1235. {
  1236. _log = format['EH_Draw3D 2: %1 should be %2',_addCaseMEH,_addCaseMEHold + 1];
  1237. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1238. [] spawn "+_AHKickOFF+";
  1239. };
  1240. };
  1241. removeAllMissionEventHandlers 'Draw3D';
  1242. _roundRandomNumberMEH = (round(random 3))+1;
  1243. _addCaseMEH = 0;
  1244. for '_i' from 0 to _roundRandomNumberMEH do
  1245. {
  1246. _addCaseMEH = addMissionEventHandler ['Draw3D', {}];
  1247. };
  1248. if(_addCaseMEH == _roundRandomNumberMEH)then
  1249. {
  1250. _addCaseMEHold = _addCaseMEH;
  1251. }
  1252. else
  1253. {
  1254. _log = format['EH_Draw3D 1: %1 should be %2',_addCaseMEH,_roundRandomNumberMEH];
  1255. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1256. [] spawn "+_AHKickOFF+";
  1257. };
  1258. "; }; _A3AHstring = _A3AHstring + "
  1259.  
  1260.  
  1261. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  1262. player removeAllEventHandlers 'AnimChanged';
  1263. player addEventHandler ['Damaged',{}];
  1264. {
  1265. player removeAllEventHandlers _x;
  1266. _addCase = player addEventHandler [_x,{}];
  1267. if(_addCase > 0)then{
  1268. _log = format['EH_%1: %2',_x,_addCase];
  1269. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1270. [] spawn "+_AHKickOFF+";
  1271. };
  1272. } forEach ['HandleHeal','Dammaged','Damaged','HitPart'];
  1273. "; if(_RHD)then{ _A3AHstring = _A3AHstring + "
  1274. if(_addCaseHDMGold > -1)then
  1275. {
  1276. _addCaseHDMG = player addEventHandler ['HandleDamage',{}];
  1277. if((_addCaseHDMGold + 1 != _addCaseHDMG)&&(_addCaseHDMG != 0))then
  1278. {
  1279. _log = format['EH_HandleDamage 2: %1 should be %2',_addCaseHDMG,_addCaseHDMGold + 1];
  1280. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1281. [] spawn "+_AHKickOFF+";
  1282. };
  1283. };
  1284. player removeAllEventHandlers 'HandleDamage';
  1285. _roundRandomNumberHDMG = (round(random 3))+1;
  1286. _addCaseHDMG = 0;
  1287. for '_i' from 0 to _roundRandomNumberHDMG do
  1288. {
  1289. _addCaseHDMG = player addEventHandler ['HandleDamage',{}];
  1290. };
  1291. if(_addCaseHDMG == _roundRandomNumberHDMG)then
  1292. {
  1293. "; if(str _CHD != '{}')then{ _A3AHstring = _A3AHstring + "
  1294. _addCaseHDMG = player addEventHandler ['HandleDamage',"+str _CHD+"];
  1295. "; }; _A3AHstring = _A3AHstring + "
  1296. _addCaseHDMGold = _addCaseHDMG;
  1297. }
  1298. else
  1299. {
  1300. _log = format['EH_HandleDamage 1: %1 should be %2',_addCaseHDMG,_roundRandomNumberHDMG];
  1301. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1302. [] spawn "+_AHKickOFF+";
  1303. };
  1304. "; }else{ _A3AHstring = _A3AHstring + "
  1305. player removeAllEventHandlers 'HandleDamage';
  1306. player addEventHandler ['HandleDamage',''];
  1307. "; }; _A3AHstring = _A3AHstring + "
  1308. "; }; _A3AHstring = _A3AHstring + "
  1309.  
  1310.  
  1311. "; if(_MOD == 'AltisLife')then{ _A3AHstring = _A3AHstring + "
  1312. "; if(_RRH)then{ _A3AHstring = _A3AHstring + "
  1313. player removeAllEventHandlers 'Respawn';
  1314. player addEventHandler ['Respawn', {_this call life_fnc_onPlayerRespawn}];
  1315. "; }; _A3AHstring = _A3AHstring + "
  1316. player removeAllEventhandlers 'InventoryClosed';
  1317. player addEventHandler ['InventoryClosed', {_this call life_fnc_inventoryClosed}];
  1318. "; if(_RIO)then{ _A3AHstring = _A3AHstring + "
  1319. player removeAllEventhandlers 'InventoryOpened';
  1320. player addEventHandler ['InventoryOpened', {_this call life_fnc_inventoryOpened}];
  1321. "; }; _A3AHstring = _A3AHstring + "
  1322. "; if(_RKH)then{ _A3AHstring = _A3AHstring + "
  1323. player removeAllEventHandlers 'Killed';
  1324. player addEventHandler ['Killed', {_this spawn life_fnc_onPlayerKilled}];
  1325. "; }; _A3AHstring = _A3AHstring + "
  1326. "; if(_RHD)then{ _A3AHstring = _A3AHstring + "
  1327. player removeAllEventhandlers 'HandleDamage';
  1328. player addEventHandler ['HandleDamage',{_this call life_fnc_HandleDamage;}];
  1329. "; }; _A3AHstring = _A3AHstring + "
  1330. player addEventHandler ['Take',{_this call life_fnc_onTakeItem}];
  1331. if("+str _REH+")then{player removeAllEventhandlers 'Hit';};
  1332. player removeAllEventHandlers 'Damaged';
  1333. player removeAllEventHandlers 'Dammaged';
  1334. "; }; _A3AHstring = _A3AHstring + "
  1335. }
  1336. else
  1337. {
  1338. _addCaseMEHold = -1;
  1339. _addCaseHDMGold = -1;
  1340. };
  1341. }
  1342. else
  1343. {
  1344. _addCaseMEHold = -1;
  1345. _addCaseHDMGold = -1;
  1346. };
  1347. };
  1348. _log = 'Loop #7 ended!';
  1349. [profileName,getPlayerUID player,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1350. [] spawn "+_AHKickOFF+";
  1351. };
  1352. [_name,_puid,_admins] spawn {
  1353. _name = _this select 0;
  1354. _puid = _this select 1;
  1355. _admins = _this select 2;
  1356. disableSerialization;
  1357. uiSleep 5;
  1358. BIS_fnc_showNotification_queue = [];
  1359.  
  1360. _uistocheck = ['RscDisplayRemoteMissions','RscDisplayDebugPublic','RscDisplayMovieInterrupt'];
  1361. "; if(_checkRscDisplayArsenal)then{ _A3AHstring = _A3AHstring + "
  1362. _uistocheck pushBack 'RscDisplayArsenal';
  1363. "; }; _A3AHstring = _A3AHstring + "
  1364. {uiNamespace setVariable[_x,nil];} forEach _uistocheck;
  1365.  
  1366. _inventoryIds = [8,0,18,70,46,12,602,999,-1200,-1300,-1400,-1500,-1900,-8,-9,-10,-15,63,55,49,-6,24,-13,129,174,38500,7300];
  1367. _inventoryDisplays = ['No display'];
  1368. {_inventoryDisplays pushBack format['Display #%1',_x];} forEach _inventoryIds;
  1369. _found54 = false;
  1370. _lastText = '';
  1371. _toBreakDisplays = [];
  1372.  
  1373. _badIDDsToKickPre = "+str _badIDDsToKick+";
  1374. _badIDDsToKick = [];
  1375. {_badIDDsToKick pushBack format['Display #%1',_x];} forEach _badIDDsToKickPre;
  1376. _badIDDsToClosePre = "+str _badIDDsToClose+";
  1377. _badIDDsToClose = [];
  1378. {_badIDDsToClose pushBack format['Display #%1',_x];} forEach _badIDDsToClosePre;
  1379. _wasclosed = false;
  1380. "; if(_UDW)then{ _A3AHstring = _A3AHstring + "
  1381. _allowedIddsPre = "+str _allowedIDDs+";
  1382. _allowedIDDs = ['No display'];
  1383. {_allowedIDDs pushBack format['Display #%1',_x];} forEach _allowedIddsPre;
  1384. _announceDisplayIddOnce = [];
  1385. "; }; _A3AHstring = _A3AHstring + "
  1386.  
  1387. _verybadStrings = "+str _verybadStrings+";
  1388. _checked = [];
  1389. _lastEmpty = 0;
  1390. while{1==1}do
  1391. {
  1392. if(!isNull ((findDisplay 73) displayCtrl 302))then
  1393. {
  1394. _log = 'MenuBasedHack :: 73 :: 302';
  1395. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  1396. [] spawn "+_AHKickOFF+";
  1397. };
  1398.  
  1399. if(diag_tickTime - _lastEmpty > 45)then
  1400. {
  1401. _lastEmpty = diag_tickTime;
  1402. _checked = [];
  1403. };
  1404.  
  1405. {
  1406. if(!isNull (findDisplay _x))then
  1407. {
  1408. _log = format['MenuBasedHack_D%1',_x];
  1409. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1410. [] spawn "+_AHKickOFF+";
  1411. };
  1412. } forEach [-1338,-1337,17,19,30,32,45,56,59,62,64,69,71,110,125,132,155,156,162,165,166,167,312,1320,1321,2727,2928,2929,3030,316000,9899,0110];
  1413.  
  1414. {
  1415. _control = _x;
  1416. _ctrlTxt = ctrlText _control;
  1417. _lowerctrlTxt = toLower _ctrlTxt;
  1418. {
  1419. if(_lowerctrlTxt find _x > -1)then
  1420. {
  1421. _log = format['BadCtrlText: %1 on %2 %3 - %4',_x,_display,_control,_ctrlTxt];
  1422. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  1423. [] spawn "+_AHKickOFF+";
  1424. };
  1425. } forEach _verybadStrings;
  1426. } forEach [((findDisplay 49) displayCtrl 2),((findDisplay 49) displayCtrl 103)];
  1427. if(!isNull ((findDisplay 46) displayCtrl -2))then
  1428. {
  1429. _log = 'MenuBasedHack :: 46 :: -2';
  1430. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1431. [] spawn "+_AHKickOFF+";
  1432. };
  1433. _uiNamespace_dynamicText = uiNamespace getVariable 'BIS_dynamicText';
  1434. if(!isNil '_uiNamespace_dynamicText')then
  1435. {
  1436. _allCtrls = allControls _uiNamespace_dynamicText;
  1437. _whiteListed = ['','Debug Mode Enabled'];
  1438. {
  1439. if(getPlayerUID _x != '')then
  1440. {
  1441. _whiteListed pushBack (name _x);
  1442. };
  1443. } forEach allPlayers;
  1444. {
  1445. _ctrl = _x;
  1446. _txt = ctrlText _ctrl;
  1447. if(_txt != _lastText)then
  1448. {
  1449. if!(_txt in _whiteListed)then
  1450. {
  1451. _lastText = _txt;
  1452. _ltxt = toLower _txt;
  1453. {
  1454. if(_ltxt find _x != -1)then
  1455. {
  1456. _log = format['BadText on %1: %2 - %3',_ctrl,_x,_txt];
  1457. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  1458. (findDisplay 46)closeDisplay 0;
  1459. };
  1460. } forEach _verybadStrings;
  1461. };
  1462. };
  1463. } forEach _allCtrls;
  1464. };
  1465. if(!isNull (findDisplay 157))then
  1466. {
  1467. _log = 'MenuBasedHack_D157 or player opened the menu which hidden in the escape menu, at the bottom right corner.';
  1468. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  1469. [] spawn "+_AHKickOFF+";
  1470. };
  1471. {
  1472. _cc1 = uiNamespace getVariable _x;
  1473. if(!isNil '_cc1')then
  1474. {
  1475. _formatedcc1 = format['%1',_cc1];
  1476. if(_formatedcc1 != '<null>')then
  1477. {
  1478. if(_formatedcc1 != 'No display')then
  1479. {
  1480. _log = format['Hacked: %1 - %2',_x,_cc1];
  1481. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1482. [] spawn "+_AHKickOFF+";
  1483. }
  1484. else
  1485. {
  1486. uiNamespace setVariable[_x,nil];
  1487. _log = format['Hacked: %1 - %2',_x,_cc1];
  1488. [_name,_puid,'SLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  1489. (findDisplay 46)closeDisplay 0;
  1490. };
  1491. };
  1492. };
  1493. } forEach _uistocheck;
  1494. "; if(_UNC)then{ _A3AHstring = _A3AHstring + "
  1495. if!(_puid in _admins)then
  1496. {
  1497. if(!isNil 'BIS_fnc_showNotification_queue')then
  1498. {
  1499. if!(BIS_fnc_showNotification_queue isEqualTo [])then
  1500. {
  1501. _log = format['Hacked: showNotification - %1',BIS_fnc_showNotification_queue];
  1502. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1503. [] spawn "+_AHKickOFF+";
  1504. };
  1505. };
  1506. };
  1507. "; }; _A3AHstring = _A3AHstring + "
  1508. if(!isNull (findDisplay 148))then
  1509. {
  1510. if((lbSize 104)-1 > 3)exitWith{
  1511. _log = 'Hacked: RscDisplayConfigureControllers';
  1512. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1513. [] spawn "+_AHKickOFF+";
  1514. };
  1515. };
  1516. {
  1517. _lbSize = lbSize _x;
  1518. if(_lbSize > 0)then{
  1519. _log = format['lbSize %1 == %2',_x,_lbSize];
  1520. [_name,_puid,'HLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  1521. lbClear _x;
  1522. };
  1523. } forEach [101,102];
  1524. if(!_found54)then
  1525. {
  1526. _display = findDisplay 54;
  1527. if(!isNull _display)then
  1528. {
  1529. {
  1530. if(_x && !isNull _display)then
  1531. {
  1532. if(_found54)exitWith{};
  1533. [] spawn {
  1534. disableSerialization;
  1535. while{1==1}do
  1536. {
  1537. waitUntil {!isNull findDisplay 54};
  1538. _display = findDisplay 54;
  1539. _txt = _display displayCtrl 1001;
  1540. _txt ctrlSetText format['%1',localize 'STR_A3_RscDisplayInsertMarker_Title'];
  1541. _txt ctrlCommit 0;
  1542. _btn1 = _display displayCtrl 1;
  1543. _btn1 buttonSetAction '';
  1544. _btn1 ctrlCommit 0;
  1545. _btn2 = _display displayCtrl 2;
  1546. _btn2 buttonSetAction '';
  1547. _btn2 ctrlCommit 0;
  1548. };
  1549. };
  1550. _found54 = true;
  1551. };
  1552. } forEach [
  1553. (toLower ctrlText (_display displayCtrl 1001) != toLower localize 'STR_A3_RscDisplayInsertMarker_Title'),
  1554. {if(buttonAction (_display displayCtrl _x) != '')exitWith{true}; false} forEach [1,2]
  1555. ];
  1556. };
  1557. };
  1558. _dsp163 = findDisplay 163;
  1559. if(!isNull _dsp163)then
  1560. {
  1561. (_dsp163 displayCtrl 101) ctrlRemoveAllEventHandlers 'LBDblClick';
  1562. (_dsp163 displayCtrl 101) ctrlRemoveAllEventHandlers 'LBSelChanged';
  1563. if((toLower ctrlText (_dsp163 displayCtrl 1000) != toLower localize 'STR_DISP_OPTIONS_SCHEME') || (buttonAction (_dsp163 displayCtrl 1) != '') || (buttonAction (_dsp163 displayCtrl 2) != ''))then
  1564. {
  1565. _log = 'Hacked: RscDisplayControlSchemes';
  1566. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1567. [] spawn "+_AHKickOFF+";
  1568. };
  1569. };
  1570. _RscDisplayConfigureAction = uiNamespace getVariable 'RscDisplayConfigureAction';
  1571. if(!isNil '_RscDisplayConfigureAction')then
  1572. {
  1573. _formatedRscDisplayConfigureAction = format['%1',_RscDisplayConfigureAction];
  1574. if(_formatedRscDisplayConfigureAction != '<null>')then
  1575. {
  1576. if(_formatedRscDisplayConfigureAction != 'No display')then
  1577. {
  1578. _title = ctrlText 1000;
  1579. if(_title != localize '$STR_A3_RscDisplayConfigureAction_Title')exitWith{
  1580. _log = 'Hacked: RscDisplayConfigureAction';
  1581. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1582. [] spawn "+_AHKickOFF+";
  1583. };
  1584. {
  1585. if(buttonAction _x != '')exitWith{
  1586. _log = 'Hacked: RscDisplayConfigureAction';
  1587. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1588. [] spawn "+_AHKickOFF+";
  1589. };
  1590. } forEach [1,107,104,106,109,105,108];
  1591. };
  1592. };
  1593. };
  1594. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  1595. if(isNil'startingFncOpenHTML')then
  1596. {
  1597. if(buttonAction -13 != '')then
  1598. {
  1599. _log = format['ButtonAction Changed: %1',buttonAction -13];
  1600. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  1601. [] spawn "+_AHKickOFF+";
  1602. };
  1603. if(buttonAction -14 != '')then
  1604. {
  1605. _log = format['ButtonAction Changed: %1',buttonAction -14];
  1606. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  1607. [] spawn "+_AHKickOFF+";
  1608. };
  1609. };
  1610. "; }; _A3AHstring = _A3AHstring + "
  1611. if(_wasclosed)then
  1612. {
  1613. closeDialog 0;closeDialog 0;closeDialog 0;
  1614. _wasclosed = false;
  1615. };
  1616.  
  1617. {
  1618. if(!isNull _x)then
  1619. {
  1620. _display = _x;
  1621. _strx = str _x;
  1622. if(_strx in _badIDDsToKick)then
  1623. {
  1624. _log = format['BadDisplayID: %1',_strx];
  1625. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  1626. [] spawn "+_AHKickOFF+";
  1627. }
  1628. else
  1629. {
  1630. if(_strx in _badIDDsToClose)then
  1631. {
  1632. systemChat format['<infiSTAR.de> %1 has been closed.',_strx];
  1633. _x closeDisplay 0;
  1634. closeDialog 0;closeDialog 0;closeDialog 0;
  1635. _wasclosed = true;
  1636. }
  1637. else
  1638. {
  1639. "; if(_UDW)then{ _A3AHstring = _A3AHstring + "
  1640. if!(_strx in _allowedIDDs)then
  1641. {
  1642. _x closeDisplay 0;
  1643. closeDialog 0;closeDialog 0;closeDialog 0;
  1644.  
  1645. if(_strx in _announceDisplayIddOnce)exitWith{};
  1646. _announceDisplayIddOnce pushBack _strx;
  1647.  
  1648. _log = format['Not Allowed Displays: %1 (was it legit? add the number to _allowedIDDs in your infiSTAR_config.sqf!)',_strx];
  1649. [_name,_puid,'SLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  1650. };
  1651. "; }; _A3AHstring = _A3AHstring + "
  1652. };
  1653. };
  1654. if(!isNull _display)then
  1655. {
  1656. {
  1657. if(!isNull (_display displayCtrl _x))then
  1658. {
  1659. _log = format['MenuBasedHack :: %1 :: %2',_display,_x];
  1660. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1661. [] spawn "+_AHKickOFF+";
  1662. };
  1663. } forEach [24010,16030,13163,989187,16100];
  1664.  
  1665. {
  1666. _control = _x;
  1667. _checkifIn = format['%1%2',_display,_control];
  1668. if!(_checkifIn in _checked)then
  1669. {
  1670. _checked pushBack _checkifIn;
  1671. _controltype = ctrlType _control;
  1672. if(_controltype isEqualTo 5)then
  1673. {
  1674. _size = lbSize _control;
  1675. if(_size > 0)then
  1676. {
  1677. for '_i' from 0 to (_size-1) do
  1678. {
  1679. _lbtxt = _control lbText _i;
  1680. _lowerlbtxt = toLower _lbtxt;
  1681. {
  1682. if(_lowerlbtxt find _x > -1)then
  1683. {
  1684. _log = format['BadlbText: %1 FOUND [%2] ON %3 %4',_lbtxt,_x,_display,_control];
  1685. [_name,_puid,'SLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  1686. };
  1687. } forEach _verybadStrings;
  1688. };
  1689. };
  1690. }
  1691. else
  1692. {
  1693. if(_controltype isEqualTo 12)then
  1694. {
  1695. _curTV = tvCurSel _control;
  1696. _tvtxt = _control tvText _curTV;
  1697. _lowertvtxt = toLower _tvtxt;
  1698. {
  1699. if(_lowertvtxt find _x > -1)then
  1700. {
  1701. _log = format['BadtvText: %1 FOUND [%2] ON %3 %4',_tvtxt,_x,_display,_control];
  1702. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  1703. [] spawn "+_AHKickOFF+";
  1704. };
  1705. } forEach _verybadStrings;
  1706. }
  1707. else
  1708. {
  1709. if!(_controltype in [3,4,8,9,15,42,81,101,102])then
  1710. {
  1711. _ctrlTxt = ctrlText _control;
  1712. _lowerctrlTxt = toLower _ctrlTxt;
  1713. {
  1714. if(_lowerctrlTxt find _x > -1)then
  1715. {
  1716. _log = format['BadCtrlText: %1 FOUND [%2] ON %3 %4',_ctrlTxt,_x,_display,_control];
  1717. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  1718. [] spawn "+_AHKickOFF+";
  1719. };
  1720. } forEach _verybadStrings;
  1721. };
  1722. };
  1723. };
  1724. };
  1725. } forEach (allControls _display);
  1726. };
  1727. };
  1728. } forEach allDisplays;
  1729. uiSleep 0.5;
  1730. };
  1731. _log = 'Loop #8 ended!';
  1732. [profileName,getPlayerUID player,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1733. [] spawn "+_AHKickOFF+";
  1734. };
  1735. "; if((_EHF && !_NO_EHF) || _CAP)then{ _A3AHstring = _A3AHstring + "
  1736. [_name,_puid] spawn {
  1737. _name = _this select 0;
  1738. _puid = _this select 1;
  1739. uiSleep 10;
  1740. _caughtFired = 0;
  1741. _randomIDcount = 0;
  1742. _object = player;
  1743. _acnt = -1;
  1744. while{1==1}do
  1745. {
  1746. _tmpObj = player;
  1747. "; if(_EHF && !_NO_EHF)then{ _A3AHstring = _A3AHstring + "
  1748. if((!isNull player) && (alive player))then
  1749. {
  1750. player removeAllEventHandlers 'Fired';
  1751. _id = player addEventHandler ['Fired',{if(inSafeZone)then{deleteVehicle (_this select 6)}}];
  1752. _id = player addEventHandler ['Fired',{_this call "+_FiredCheck+"}];
  1753. _id = player addEventHandler ['Fired',{_this call "+str _customFiredEventhandler+"}];
  1754. "; if(_MOD == 'AltisLife')then{ _A3AHstring = _A3AHstring + "
  1755. _id = player addEventHandler ['Fired',{_this call life_fnc_onFired}];
  1756. "; }; _A3AHstring = _A3AHstring + "
  1757. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  1758. _id = player addEventHandler ['Fired',{_this call EPOCH_fnc_playerFired}];
  1759. "; }; _A3AHstring = _A3AHstring + "
  1760. _randomIDcount = round(random 3);
  1761. for '_i' from 1 to _randomIDcount do
  1762. {
  1763. _id = player addEventHandler ['Fired',{}];
  1764. };
  1765. };
  1766. "; }; _A3AHstring = _A3AHstring + "
  1767. uiSleep 2;
  1768. if((!isNull player) && (alive player))then
  1769. {
  1770. if(player isEqualTo _tmpObj)then
  1771. {
  1772. "; if(_EHF && !_NO_EHF)then{ _A3AHstring = _A3AHstring + "
  1773. _id = player addEventHandler ['Fired',{}];
  1774. _maxid = (4+_randomIDcount);
  1775. if(_id != _maxid)then
  1776. {
  1777. _caughtFired = _caughtFired + 1;
  1778. if(_caughtFired > 2)then
  1779. {
  1780. if(_id == _maxid+1)then
  1781. {
  1782. _log = format['EH_FIRED: %1 (KICKED TO LOBBY) might be EpochCode interfering',_id];
  1783. [_name,_puid,'SLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  1784. (findDisplay 46)closeDisplay 0;
  1785. }
  1786. else
  1787. {
  1788. _log = format['EH_FIRED: %1',_id];
  1789. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1790. [] spawn "+_AHKickOFF+";
  1791. };
  1792. };
  1793. };
  1794. "; }; _A3AHstring = _A3AHstring + "
  1795. "; if(_CAP)then{ _A3AHstring = _A3AHstring + "
  1796. if(player isEqualTo _object)then[{_acnt = _acnt + 1},{_object = player;_acnt = 0}];
  1797. _actionid = player addAction ['', '', [], -5, false, true, '', 'false'];player removeAction _actionid;
  1798. if(_actionid > _acnt + 1)then
  1799. {
  1800. removeAllActions player;removeAllActions (vehicle player);
  1801. _log = format['Actions: %1/%2 possible scroll menu hack (or you added custom actions..)',_actionid,_acnt];
  1802. [_name,_puid,'SLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  1803. _acnt = _actionid;
  1804. };
  1805. "; }; _A3AHstring = _A3AHstring + "
  1806. };
  1807. };
  1808. };
  1809. _log = 'Loop #10 ended!';
  1810. [profileName,getPlayerUID player,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1811. [] spawn "+_AHKickOFF+";
  1812. };
  1813. "; }; _A3AHstring = _A3AHstring + "
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821. "; if(_UAT)then{ _A3AHstring = _A3AHstring + "
  1822. [_name,_puid] spawn {
  1823. _name = _this select 0;
  1824. _puid = _this select 1;
  1825. _FNC_ANTI_TP = {
  1826. private['_name','_puid','_myRespawnPosition','_lastpos','_lastHeightATL','_log','_lasttime','_difftime','_curpos','_tmpAHpos','_driver','_tpcount'];
  1827. _name = _this select 0;
  1828. _puid = _this select 1;
  1829. "+_AHpos+" = [];
  1830. _lastpos = getPosATL player;
  1831. _lastHeightATL = _lastpos select 2;
  1832. _lasttime = diag_tickTime;
  1833.  
  1834. _myRespawnPosition = getPosATL player;
  1835. _tpcount = 0;
  1836. while{1==1}do
  1837. {
  1838. _curpos = getPosATL player;
  1839. _curHeightATL = _curpos select 2;
  1840. _distance = _lastpos distance2D _curpos;
  1841. _mindistcheck = if((vehicle player) isEqualTo player)then{3}else{10};
  1842. if(_distance > _mindistcheck)then
  1843. {
  1844. _difftime = diag_tickTime - _lasttime;
  1845. _speed = _distance / _difftime;
  1846. _type = typeOf (vehicle player);
  1847. _topSpeed = (getNumber(configFile >> 'CfgVehicles' >> _type >> 'maxSpeed')) max 5;
  1848. if(_speed < _topSpeed)exitWith{};
  1849.  
  1850. if(_lastpos distance2D _myRespawnPosition > 50)then
  1851. {
  1852. _driver = driver(vehicle player);
  1853. if((isNull _driver)||{(player isEqualTo _driver)})then
  1854. {
  1855. if(!isNil '"+_AHpos+"')then
  1856. {
  1857. _tmpAHpos = "+_AHpos+";
  1858. "+_AHpos+" = [];
  1859. if(typeName _tmpAHpos != 'ARRAY')then
  1860. {
  1861. _log = format['Admin Teleport Variable highjacked! Type now: %1 - %2',typeName _tmpAHpos,_tmpAHpos];
  1862. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1863. [] spawn "+_AHKickOFF+";
  1864. player SetVelocity [0,0,1];player setPosATL _lastpos;
  1865. };
  1866. if(_tmpAHpos isEqualTo [])then
  1867. {
  1868. if(((backpack player) isEqualTo 'B_Parachute')&&(_curHeightATL > 10))exitWith{};
  1869. _tpcount = _tpcount + 1;
  1870. _log = format['POTENTIAL-TP-REVERTED: Moved %1m in %2s (from %3 to %4). TopSpeed of %5 is %6 speed was %7. Player FPS: %8.',round _distance,_difftime,_lastpos,_curpos,_type,_topSpeed,_speed,diag_fps];
  1871. if(_tpcount > 3)then
  1872. {
  1873. [_name,_puid,'TMPBAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1874. [] spawn "+_AHKickOFF+";
  1875. }
  1876. else
  1877. {
  1878. [_name,_puid,'SLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  1879. };
  1880. player SetVelocity [0,0,1];player setPosATL _lastpos;
  1881. }
  1882. else
  1883. {
  1884. _log = 'Teleported by Admin';
  1885. [_name,_puid,'TPLOG',toArray(_log),_tmpAHpos select 0,_tmpAHpos select 1,_lastpos,_curpos] call "+_AH1945KICKLOG+";
  1886. };
  1887. }
  1888. else
  1889. {
  1890. _log = 'TELEPORT CHECK VARIABLE NILLED!';
  1891. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1892. [] spawn "+_AHKickOFF+";
  1893. player SetVelocity [0,0,1];player setPosATL _lastpos;
  1894. };
  1895. }
  1896. else
  1897. {
  1898. if(isNull _driver)exitWith{};
  1899. if!(getPlayerUID _driver isEqualTo '')exitWith{};
  1900.  
  1901. _log = format['TP with AI as driver.. Moved %1m in %2s (from %3 to %4). TopSpeed of %5 is %6 speed was %7. Player FPS: %8.',round _distance,_difftime,_lastpos,_curpos,_type,_topSpeed,_speed,diag_fps];
  1902. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  1903. [] spawn "+_AHKickOFF+";
  1904. };
  1905. };
  1906. };
  1907. if(vehicle player isEqualto player)then
  1908. {
  1909. if(((backpack player) isEqualTo 'B_Parachute')&&(_curHeightATL > 10))exitWith{};
  1910.  
  1911. _velZ = (velocity player) select 2;
  1912. if(((_curHeightATL - _lastHeightATL) > 30)&&(_velZ < -5))then
  1913. {
  1914. systemChat format['Height changed by %1.. setting you to ground.',(_curHeightATL - _lastHeightATL)];
  1915. player SetVelocity [0,0,1];player setPosATL _lastpos;
  1916. };
  1917. };
  1918.  
  1919. _lastpos = getPosATL player;
  1920. _lastHeightATL = _lastpos select 2;
  1921. _lasttime = diag_tickTime;
  1922. uiSleep 0.5;
  1923. };
  1924. _log = 'Loop #3 ended!';
  1925. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1926. [] spawn "+_AHKickOFF+";
  1927. };
  1928. while {true} do
  1929. {
  1930. waitUntil {uiSleep 1;(!isNull player)&&{alive player}&&{!((typeOf player) isEqualTo 'VirtualMan_EPOCH')}};
  1931. _ANTI_TP_THEAD_STARTED = [_name,_puid] spawn _FNC_ANTI_TP;
  1932.  
  1933. waitUntil {(isNull player)||{!alive player}||{((typeOf player) isEqualTo 'VirtualMan_EPOCH')}};
  1934. terminate _ANTI_TP_THEAD_STARTED;
  1935. uiSleep 1;
  1936. };
  1937. };
  1938. "; }; _A3AHstring = _A3AHstring + "
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946. [_name,_puid] spawn {
  1947. _name = _this select 0;
  1948. _puid = _this select 1;
  1949. diag_log format['LOCALPLAYERINFO: %1(%2) | %3(%4) | %5',_name,_puid,str _name,str _puid,str (getPlayerUID player)];
  1950. PVAH_AdminReq = nil;
  1951. if(!isNil 'PVAH_AdminReq')then
  1952. {
  1953. _log = format['BadVar#ADMIN: PVAH_AdminReq - %1',PVAH_AdminReq];
  1954. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1955. [] spawn "+_AHKickOFF+";
  1956. };
  1957. "; if(_REF)then{ _A3AHstring = _A3AHstring + "
  1958. "+_oneachframe+"=time;
  1959. "; }; _A3AHstring = _A3AHstring + "
  1960. while{1==1}do
  1961. {
  1962. _randomnombre = round(random 9999);
  1963. PVAH_AdminReq = _randomnombre;
  1964. if(str PVAH_AdminReq != str _randomnombre)then
  1965. {
  1966. _log = 'BadVar#ADMIN: PVAH_AdminReq';
  1967. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1968. [] spawn "+_AHKickOFF+";
  1969. };
  1970. "; if(_REF)then{ _A3AHstring = _A3AHstring + "
  1971. if(typeName "+_oneachframe+" != 'SCALAR')then
  1972. {
  1973. _log = format['onEachFrame injector detected: %1 - %2 (type of check value changed!)',typeName "+_oneachframe+","+_oneachframe+"];
  1974. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  1975. [] spawn "+_AHKickOFF+";
  1976. };
  1977. _maxtime = 30;
  1978. if(diag_fps < 20)then{_maxtime = 60;};
  1979. if(time - "+_oneachframe+" > _maxtime)then
  1980. {
  1981. _log = format['onEachFrame injector detected: %1 - FPS: %2 (KICKED)',time - "+_oneachframe+",diag_fps];
  1982. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  1983. [] spawn "+_AHKickOFF+";
  1984. };
  1985. onEachFrame {
  1986. "+_oneachframe+"=time;
  1987. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  1988. call EPOCH_onEachFrame;
  1989. "; }; _A3AHstring = _A3AHstring + "
  1990. "; if((str _rOEF != '{}')&&(typeName _rOEF == 'CODE'))then{ _A3AHstring = _A3AHstring + "
  1991. call "+str _rOEF+";
  1992. "; }; _A3AHstring = _A3AHstring + "
  1993. };
  1994. "; }; _A3AHstring = _A3AHstring + "
  1995. "; if(_OAP && !_CAP)then{ _A3AHstring = _A3AHstring + "
  1996. removeAllActions player;removeAllActions (vehicle player);
  1997. "; }; _A3AHstring = _A3AHstring + "
  1998. "; if(_RAD)then{ _A3AHstring = _A3AHstring + "
  1999. player allowDamage true;
  2000. (vehicle player) allowDamage true;
  2001. "; }; _A3AHstring = _A3AHstring + "
  2002. "; if(_URC)then{ _A3AHstring = _A3AHstring + "
  2003. _unit = player;
  2004. if((!isNull _unit)&&{alive _unit})then
  2005. {
  2006. _curecoil = unitRecoilCoefficient _unit;
  2007. if(_curecoil != 1)then
  2008. {
  2009. _log = format['BadRecoil %1 | %2 %3 %4',_curecoil,typeOf _unit,typeOf (vehicle _unit),currentWeapon _unit];
  2010. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  2011. [] spawn "+_AHKickOFF+";
  2012. };
  2013. };
  2014. "; }; _A3AHstring = _A3AHstring + "
  2015. "; if(_IAC)then{ _A3AHstring = _A3AHstring + "
  2016. _gpsmapstate = false;
  2017. _gpsmapend = false;
  2018. if((!visiblemap)&&!('ItemMap' in (assignedItems player))&&!('ItemGPS' in (assignedItems player)))then
  2019. {
  2020. _gpsmapstate = true;
  2021. };
  2022. "; }; _A3AHstring = _A3AHstring + "
  2023. uiSleep 0.2;
  2024. "; if(_IAC)then{ _A3AHstring = _A3AHstring + "
  2025. if(_gpsmapstate)then
  2026. {
  2027. if((visiblemap)&&('ItemMap' in (assignedItems player))&&('ItemGPS' in (assignedItems player)))then
  2028. {
  2029. _gpsmapend = true;
  2030. };
  2031. };
  2032. if(_gpsmapend)then
  2033. {
  2034. _log = 'ItemsAdded: Suddenly had a GPS and a Map Item..';
  2035. [_name,_puid,'SLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  2036. [] spawn "+_AHKickOFF+";
  2037. };
  2038. "; }; _A3AHstring = _A3AHstring + "
  2039. _uid = getPlayerUID player;
  2040. if((_uid != '') && {_puid != _uid} && {alive player})then{
  2041. _log = format['_puid != _uid (%1/%2) - BANNED MEMORYHACK',_puid,_uid];
  2042. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2043. [] spawn "+_AHKickOFF+";
  2044. };
  2045. "; if(_CLM)then{ _A3AHstring = _A3AHstring + "
  2046. if(!isNil'"+_MC+"')then{"+_MC+"=nil;};
  2047. _MCCODE =
  2048. {
  2049. "+_MC+"=nil;
  2050. _array = _this select 1;
  2051. _a = ['_USER_DEFINED','[',']'];
  2052. if("+str _UMW+")then{_a = _a + "+str _aLocalM+";};
  2053. _foundbad = [];
  2054.  
  2055. _allMapMarkers = allMapMarkers;
  2056. _allMapMarkers = _allMapMarkers - ['"+_MAKE_VAR_DUMP_RANDOM+"'];
  2057. _allMapMarkers = _allMapMarkers - ['"+_MAKE_VAR_DUMP_CLIENT+"'];
  2058. {
  2059. _m = _x;
  2060. _lowm = toLower _m;
  2061. if(_m != '')then
  2062. {
  2063. if(_lowm find 'swag' != -1)then
  2064. {
  2065. _foundbad pushBack _m;
  2066. _mtext = markerText _m;
  2067. if(_mtext != '')then{_foundbad pushBack _mtext;};
  2068. }
  2069. else
  2070. {
  2071. if!(_m in _array)then
  2072. {
  2073. _do = true;
  2074. {if(_lowm find (toLower _x) != -1)exitWith{_do = false;};} forEach _a;
  2075. if(_do)then
  2076. {
  2077. _foundbad pushBack _m;
  2078. _mtext = markerText _m;
  2079. if(_mtext != '')then{_foundbad pushBack _mtext;};
  2080. };
  2081. };
  2082. };
  2083. };
  2084. } forEach _allMapMarkers;
  2085. if(str _foundbad != '[]')then
  2086. {
  2087. _log = format['LocalMarker: %1',_foundbad];
  2088. [profileName,getPlayerUID player,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2089. [] spawn "+_AHKickOFF+";
  2090. };
  2091. };
  2092. '"+_MC+"' addPublicVariableEventHandler _MCCODE;
  2093. "; }; _A3AHstring = _A3AHstring + "
  2094. };
  2095. _log = 'Loop #12 ended!';
  2096. [profileName,getPlayerUID player,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2097. [] spawn "+_AHKickOFF+";
  2098. };
  2099. "; if((_CMC)||(_KCM))then{ _A3AHstring = _A3AHstring + "
  2100. [_name,_puid] spawn {
  2101. private['_name','_puid','_find1','_find2','_cMenu','_commandingMenu'];
  2102. _name = _this select 0;
  2103. _puid = _this select 1;
  2104. _find1 = toLower('#USER');
  2105. _find2 = ['#User:BIS_fnc_addCommMenuItem_menu','#User:BIS_Menu_GroupCommunication'];
  2106. _cMenu = "+str _cMenu+";
  2107. while{1==1}do
  2108. {
  2109. "; if(_CMC)then{ _A3AHstring = _A3AHstring + "
  2110. _commandingMenu = commandingMenu;
  2111. if(_commandingMenu != '')then
  2112. {
  2113. if(_commandingMenu in _find2)then
  2114. {
  2115. showCommandingMenu '';
  2116. }
  2117. else
  2118. {
  2119. if!(_commandingMenu in _cMenu)then
  2120. {
  2121. if(((toLower _commandingMenu) find _find1) != -1)then
  2122. {
  2123. _log = format['BadCommandingMenu: %1',_commandingMenu];
  2124. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2125. [] spawn "+_AHKickOFF+";
  2126. };
  2127. showCommandingMenu '';
  2128. };
  2129. };
  2130. };
  2131. "; }; _A3AHstring = _A3AHstring + "
  2132. "; if(_KCM)then{ _A3AHstring = _A3AHstring + "
  2133. showCommandingMenu '';
  2134. "; }; _A3AHstring = _A3AHstring + "
  2135. uiSleep 0.75;
  2136. };
  2137. _log = 'Loop #13 ended!';
  2138. [profileName,getPlayerUID player,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2139. [] spawn "+_AHKickOFF+";
  2140. };
  2141. "; }; _A3AHstring = _A3AHstring + "
  2142. "+_ninetwothread+" = [_name,_puid] spawn {
  2143. _name = _this select 0;
  2144. _puid = _this select 1;
  2145. _waitTime = 60;
  2146. _mytime = diag_tickTime;
  2147. waitUntil {((!isNil '"+_ninetwo+"') || (diag_tickTime > _mytime + _waitTime))};
  2148. if(isNil '"+_ninetwo+"')exitWith
  2149. {
  2150. _log = format['Secondary checks not running.. (KICKED) - waited %1s',diag_tickTime - (_mytime + _waitTime)];
  2151. [_name,_puid,'SLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  2152. (findDisplay 46)closeDisplay 0;
  2153. };
  2154. };
  2155. [_name,_puid,_admins] spawn {
  2156. _name = _this select 0;
  2157. _puid = _this select 1;
  2158. _admins = _this select 2;
  2159. _ForbiddenItems = "+str _ForbiddenItems+";
  2160. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  2161. _ForbiddenOnEpochOnly = "+str _ForbiddenOnEpochOnly+";
  2162. _ForbiddenItems = _ForbiddenItems + _ForbiddenOnEpochOnly;
  2163. {if(isNil _x)then{missionNameSpace setVariable[_x,[]];};} forEach ['EPOCH_ESP_TARGETS','EPOCH_ESPMAP_TARGETS','EPOCH_ESP_VEHICLEPLAYER','EPOCH_ESPGROUPS','EPOCH_ESPGROUPCOLORS'];
  2164. {if(isNil _x)then{missionNameSpace setVariable[_x,false];};} forEach ['EPOCH_ESP_PLAYER','EPOCH_ESP_VEHICLES'];
  2165. if(isNil 'EPOCH_target')then{EPOCH_target = objNull;};
  2166. if(isNil 'EPOCH_currentVehicle')then{EPOCH_currentVehicle = vehicle player;};
  2167. if(isNil 'EPOCH_playerEnergy')then{EPOCH_playerEnergy = 0;};
  2168. if(isNil 'EPOCH_playerHunger')then{EPOCH_playerHunger = 5000;};
  2169. if(isNil 'EPOCH_playerThirst')then{EPOCH_playerThirst = 2500;};
  2170. if(isNil 'EPOCH_playerStamina')then{EPOCH_playerStamina = 100;};
  2171. if(isNil 'EPOCH_antiWallCount')then{EPOCH_antiWallCount = 0;};
  2172. if(isNil 'EPOCH_taxRate')then{EPOCH_taxRate = 0.1;};
  2173. if(isNil 'EPOCH_playerCrypto')then{EPOCH_playerCrypto = 0;};
  2174. "; if(_CCT)then{ _A3AHstring = _A3AHstring + "
  2175. if(EPOCH_playerCrypto < 0)then{EPOCH_playerCrypto = 0;};if(EPOCH_playerCrypto > 250000)then{EPOCH_playerCrypto = 250000;};
  2176. "; }; _A3AHstring = _A3AHstring + "
  2177. if(isNil 'EPOCH_clientInit')then{EPOCH_clientInit = compile preprocessFileLineNumbers 'epoch_code\compile\setup\EPOCH_clientInit.sqf';};
  2178. if(isNil 'EPOCH_onEachFrame')then{EPOCH_onEachFrame = compile preprocessFileLineNumbers 'epoch_code\compile\EPOCH_onEachFrame.sqf';};
  2179. if(isNil 'EPOCH_client_rejectPlayer')then{EPOCH_client_rejectPlayer = compile preprocessFileLineNumbers 'epoch_code\compile\setup\EPOCH_client_rejectPlayer.sqf';};
  2180. if(isNil 'EPOCH_clientRespawn')then{EPOCH_clientRespawn = compile preprocessFileLineNumbers 'epoch_code\compile\setup\EPOCH_clientRespawn.sqf';};
  2181. if(isNil 'EPOCH_fnc_playerDeath')then{EPOCH_fnc_playerDeath = compile preprocessFileLineNumbers 'epoch_code\compile\functions\EPOCH_fnc_playerDeath.sqf';};
  2182. if(isNil 'EPOCH_KeyDown')then{EPOCH_KeyDown = compile preprocessFileLineNumbers 'epoch_code\compile\interface_event_handlers\EPOCH_KeyDown.sqf';};
  2183. if(isNil 'EPOCH_pushCustomVar')then{EPOCH_pushCustomVar = compile preprocessFileLineNumbers 'epoch_code\compile\functions\EPOCH_pushCustomVar.sqf';};
  2184. if(isNil 'EPOCH_fnc_playerFired')then{EPOCH_fnc_playerFired = compileFinal preprocessFileLineNumbers 'epoch_code\compile\functions\EPOCH_fnc_playerFired.sqf';};
  2185. _EPOCH_clientInit = compile preprocessFileLineNumbers 'epoch_code\compile\setup\EPOCH_clientInit.sqf';
  2186. _EPOCH_onEachFrame = compile preprocessFileLineNumbers 'epoch_code\compile\EPOCH_onEachFrame.sqf';
  2187. _EPOCH_client_rejectPlayer = compile preprocessFileLineNumbers 'epoch_code\compile\setup\EPOCH_client_rejectPlayer.sqf';
  2188. _EPOCH_clientRespawn = compile preprocessFileLineNumbers 'epoch_code\compile\setup\EPOCH_clientRespawn.sqf';
  2189. _EPOCH_fnc_playerDeath = compile preprocessFileLineNumbers 'epoch_code\compile\functions\EPOCH_fnc_playerDeath.sqf';
  2190. _EPOCH_KeyDown = compile preprocessFileLineNumbers 'epoch_code\compile\interface_event_handlers\EPOCH_KeyDown.sqf';
  2191. _EPOCH_pushCustomVar = compile preprocessFileLineNumbers 'epoch_code\compile\functions\EPOCH_pushCustomVar.sqf';
  2192. _EPOCH_fnc_playerFired = compileFinal preprocessFileLineNumbers 'epoch_code\compile\functions\EPOCH_fnc_playerFired.sqf';
  2193. _rnd1 = round(random 99999);life_cash = _rnd1;
  2194. _rnd2 = round(random 99999);life_adminlevel = _rnd2;
  2195. _rnd3 = round(random 99999);life_coplevel = _rnd3;
  2196. _rnd4 = round(random 99999);life_fnc_MPexec = _rnd4;
  2197. _rnd5 = round(random 99999);life_atmbank = _rnd5;
  2198. "; }; _A3AHstring = _A3AHstring + "
  2199. _caeM1 = 0;
  2200. _caeM2 = 0;
  2201. _vehptype = typeOf (vehicle player);
  2202. _rnd6 = round(random 99999);"+_checkidicheckcheck+" = _rnd6;
  2203. if(isNil'inSafeZone')then{inSafeZone=false;};
  2204. _fnc_hasTV = {
  2205. if('optic_tws' in _primWeapItems)exitWith{false};
  2206. if('optic_tws_mg' in _primWeapItems)exitWith{false};
  2207. if('optic_mas_term' in _primWeapItems)exitWith{false};
  2208. if('Laserdesignator' in _primWeapItems)exitWith{false};
  2209. if('acc_mas_pointer_IR' in _primWeapItems)exitWith{false};
  2210. if('acc_pointer_IR' in _primWeapItems)exitWith{false};
  2211. true
  2212. };
  2213. _fnc_hasNV = {
  2214. if('optic_Nightstalker' in _primWeapItems)exitWith{false};
  2215. if('optic_NVS' in _primWeapItems)exitWith{false};
  2216. true
  2217. };
  2218. "; if(_OMC || _MBC)then{ _A3AHstring = _A3AHstring + "
  2219. "+_clickOnMapTimer+" = 0;
  2220. _MBCS = '
  2221. [] spawn {
  2222. uiSleep 0.5;
  2223. if(isNil''"+_clickOnMapTimer+"'')then{"+_clickOnMapTimer+"=time - 100;}else{if(typeName "+_clickOnMapTimer+" != ''SCALAR'')then
  2224. {
  2225. _log = ''MapSingleClick modified - VARIABLE TYPE CHANGED - BAN.'';
  2226. [profileName,getPlayerUID player,''BAN'',toArray(_log)] call "+_AH1945KICKLOG+";
  2227. (findDisplay 46)closeDisplay 0;
  2228. };};
  2229. if(time - "+_clickOnMapTimer+" > 5)then
  2230. {
  2231. "+_clickOnMapTimer+" = time;
  2232. onMapSingleClick ''"+_clickOnMapTimer+" = time;'';
  2233. if(isNil''"+_clickOnMapCaught+"'')then{"+_clickOnMapCaught+" = 0};
  2234. "+_clickOnMapCaught+" = "+_clickOnMapCaught+" + 1;
  2235. if("+_clickOnMapCaught+" >= 3)then
  2236. {
  2237. _log = ''MapSingleClick modified - probably Teleport Hack'';
  2238. [profileName,getPlayerUID player,''SLOG_SKICK'',toArray(_log)] call "+_AH1945KICKLOG+";
  2239. };
  2240. };
  2241. };
  2242. ';
  2243. "; }; _A3AHstring = _A3AHstring + "
  2244. "; if(_OMC)then{ _A3AHstring = _A3AHstring + "
  2245. onMapSingleClick '"+_clickOnMapTimer+" = time;';
  2246. ((findDisplay 12) displayCtrl 51) ctrlSetEventHandler ['MouseButtonClick',_MBCS];
  2247. ((findDisplay 12) displayCtrl 51) ctrlAddEventHandler ['MouseButtonClick',_MBCS];
  2248. "; }; _A3AHstring = _A3AHstring + "
  2249. "; if(_MOH)then{ _A3AHstring = _A3AHstring + "
  2250. _lastidMouseMoving1251 = 0;
  2251. _idMouseMoving1251 = 0;
  2252. _caughtMouseMoving = 0;
  2253. "; }; _A3AHstring = _A3AHstring + "
  2254. "; if(_MBC)then{ _A3AHstring = _A3AHstring + "
  2255. _lastidMouseButtonClick1251 = 0;
  2256. _idMouseButtonClick1251 = 0;
  2257. _caughtMouseButtonClick = 0;
  2258. (findDisplay 12 displayCtrl 51) ctrlRemoveAllEventHandlers 'MouseButtonClick';
  2259. "; }; _A3AHstring = _A3AHstring + "
  2260. while{1==1}do
  2261. {
  2262. if(typeName _puid != 'STRING')then
  2263. {
  2264. _log = format['PUID BROKEN: %1',_puid];
  2265. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2266. [] spawn "+_AHKickOFF+";
  2267. };
  2268. "; if(_MOH)then{ _A3AHstring = _A3AHstring + "
  2269. _lastidMouseMoving1251 = _idMouseMoving1251+1;
  2270. _idMouseMoving1251 = ((findDisplay 12) displayCtrl 51) ctrlAddEventHandler ['MouseMoving',''];
  2271. if(_lastidMouseMoving1251 != _idMouseMoving1251)then
  2272. {
  2273. if(_caughtMouseMoving > 1)then
  2274. {
  2275. _log = format['MouseMoving EventHandler added (KICKED TO LOBBY): %1 should be %2',_lastidMouseMoving1251,_idMouseMoving1251];
  2276. [_name,_puid,'HLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  2277. (findDisplay 46)closeDisplay 0;
  2278. };
  2279. _caughtMouseMoving = _caughtMouseMoving + 1;
  2280. };
  2281. "; }; _A3AHstring = _A3AHstring + "
  2282. "; if(_MBC)then{ _A3AHstring = _A3AHstring + "
  2283. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  2284. _lastidMouseButtonClick1251 = _idMouseButtonClick1251;
  2285. "; }else{ _A3AHstring = _A3AHstring + "
  2286. _lastidMouseButtonClick1251 = _idMouseButtonClick1251+1;
  2287. "; }; _A3AHstring = _A3AHstring + "
  2288. "; if(_OMC)then{ _A3AHstring = _A3AHstring + "
  2289. ((findDisplay 12) displayCtrl 51) ctrlSetEventHandler ['MouseButtonClick',_MBCS];
  2290. _idMouseButtonClick1251 = ((findDisplay 12) displayCtrl 51) ctrlAddEventHandler ['MouseButtonClick',_MBCS];
  2291. "; }; _A3AHstring = _A3AHstring + "
  2292. if(_lastidMouseButtonClick1251 != _idMouseButtonClick1251)then
  2293. {
  2294. if(_caughtMouseButtonClick > 1)then
  2295. {
  2296. _log = format['MouseButtonClick EventHandler added (KICKED TO LOBBY): %1 should be %2',_lastidMouseButtonClick1251,_idMouseButtonClick1251];
  2297. [_name,_puid,'HLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  2298. (findDisplay 46)closeDisplay 0;
  2299. };
  2300. _caughtMouseButtonClick = _caughtMouseButtonClick + 1;
  2301. };
  2302. "; }; _A3AHstring = _A3AHstring + "
  2303. if(isNil 'inSafeZone')then
  2304. {
  2305. _log = 'inSafeZone is Nil';
  2306. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2307. [] spawn "+_AHKickOFF+";
  2308. }
  2309. else
  2310. {
  2311. if(typeName inSafeZone != 'BOOL')then
  2312. {
  2313. _log = format['inSafeZone type changed: %1 - %2',typeName inSafeZone,inSafeZone];
  2314. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2315. [] spawn "+_AHKickOFF+";
  2316. };
  2317. };
  2318. if(isNil '"+_checkidicheckcheck+"')then
  2319. {
  2320. _log = 'AntiAntiHack #2';
  2321. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2322. [] spawn "+_AHKickOFF+";
  2323. };
  2324. if!(_rnd6 isEqualTo "+_checkidicheckcheck+")then
  2325. {
  2326. _log = 'AntiAntiHack #3';
  2327. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2328. [] spawn "+_AHKickOFF+";
  2329. };
  2330. "; if(_UFI||_UIW)then{ _A3AHstring = _A3AHstring + "
  2331. _inventory = [];
  2332. {_inventory pushBack _x;} forEach (assignedItems player);
  2333. {_inventory pushBack _x;} forEach (magazines player);
  2334. {_inventory pushBack _x;} forEach (weapons player);
  2335. {_inventory pushBack _x;} forEach (primaryWeaponItems player);
  2336. {_inventory pushBack _x;} forEach (secondaryWeaponItems player);
  2337. _inventory pushBack (primaryWeapon player);
  2338. _inventory pushBack (secondaryWeapon player);
  2339. _inventory pushBack (uniform player);
  2340. _inventory pushBack (vest player);
  2341. _inventory pushBack (backpack player);
  2342. _inventory pushBack (headgear player);
  2343. _inventory pushBack (goggles player);
  2344. if!(_inventory isEqualTo [])then
  2345. {
  2346. {
  2347. if(_x != '')then
  2348. {
  2349. if((_x in _ForbiddenItems) || (("+str _UIW+") && !(_x in "+str _ItemWhiteList+")))then
  2350. {
  2351. player removeItem _x;
  2352. player removeWeapon _x;
  2353. player removeMagazine _x;
  2354. if((uniform player) == _x)then{removeUniform player;};
  2355. if((vest player) == _x)then{removeVest player;};
  2356. if((backpack player) == _x)then{removeBackpack player;};
  2357. if((headgear player) == _x)then{removeHeadgear player;};
  2358. if((goggles player) == _x)then{removeGoggles player;};
  2359. player removePrimaryWeaponItem _x;
  2360. player removeSecondaryWeaponItem _x;
  2361. player unlinkItem _x;
  2362. _log = format['BadItem: %1 (might have been from an admin!)',_x];
  2363. [_name,_puid,'SLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  2364. };
  2365. };
  2366. } forEach _inventory;
  2367. };
  2368. "; }; _A3AHstring = _A3AHstring + "
  2369. if(!isNull player)then
  2370. {
  2371. "; if(_CVM)then{ _A3AHstring = _A3AHstring + "
  2372. if(player == vehicle player)then
  2373. {
  2374. private['_curwep','_pvision','_primWeapItems','_pitems'];
  2375. _curwep=currentWeapon player;
  2376. _pvision=currentVisionMode player;
  2377. _primWeapItems=primaryWeaponItems player;
  2378. _pitems=items player;
  2379. if('Rangfinder_mas_h' in _pitems)exitWith{};
  2380. if((_pvision > 1)&&(call _fnc_hasTV))then
  2381. {
  2382. _log = format['BadVisionMode: Thermal (%1) current weapon: %2 | weaponsItems player: %3',_pvision,_curwep,weaponsItems player];
  2383. [_name,_puid,'HLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  2384. (findDisplay 46)closeDisplay 0;
  2385. };
  2386. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  2387. if((_pvision == 1)&&(str EPOCH_playerEnergy == '0')&&(call _fnc_hasNV))then
  2388. {
  2389. player action['nvGogglesOff',player];
  2390. uiSleep 0.5;
  2391. _pvision=currentVisionMode player;
  2392. if((_pvision == 1)&&(str EPOCH_playerEnergy == '0'))exitWith
  2393. {
  2394. _log = format['BadVisionMode: Nightvision (%1) current weapon: %2 | weaponsItems player: %3 | EPOCH_playerEnergy: %4',_pvision,_curwep,weaponsItems player,EPOCH_playerEnergy];
  2395. [_name,_puid,'HLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  2396. (findDisplay 46)closeDisplay 0;
  2397. };
  2398. };
  2399. "; }; _A3AHstring = _A3AHstring + "
  2400. };
  2401. "; }; _A3AHstring = _A3AHstring + "
  2402. "; if(_LVC)then{ _A3AHstring = _A3AHstring + "
  2403. _veh = vehicle player;
  2404. if(!(player isEqualTo _veh) && !(_vehptype isEqualTo (typeOf _veh)))then
  2405. {
  2406. _vehptype = typeOf _veh;
  2407. if((toLower _vehptype) find 'chute' == -1)then
  2408. {
  2409. [_name,_puid,'LVC',player,_vehptype,mapGridPosition _veh] call "+_AH1945KICKLOG+";
  2410. };
  2411. };
  2412. "; }; _A3AHstring = _A3AHstring + "
  2413. };
  2414. "; if(_MIC)then{ _A3AHstring = _A3AHstring + "
  2415. _twelvewasactive = false;
  2416. if(!isNull (findDisplay 12 displayCtrl 51))then
  2417. {
  2418. _twelvewasactive = true;
  2419. _caeM1 = (findDisplay 12 displayCtrl 51) ctrlAddEventHandler ['Draw',''];
  2420. };
  2421. "; }; _A3AHstring = _A3AHstring + "
  2422. uiSleep 2;
  2423. "; if(_MIC)then{ _A3AHstring = _A3AHstring + "
  2424. if((_twelvewasactive) && (!isNull (findDisplay 12 displayCtrl 51)))then
  2425. {
  2426. _caeM2 = (findDisplay 12 displayCtrl 51) ctrlAddEventHandler ['Draw',''];
  2427. if(_caeM2 - _caeM1 > 1)then
  2428. {
  2429. if((("+str _MOD+" == 'AltisLife')&&(side player != west))||("+str _MOD+" != 'AltisLife'))then
  2430. {
  2431. _log = format['MapIcons (%1/%2)',_caeM1,_caeM2];
  2432. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  2433. [] spawn "+_AHKickOFF+";
  2434. };
  2435. };
  2436. };
  2437. "; }; _A3AHstring = _A3AHstring + "
  2438. "; if(_CVD)then{ _A3AHstring = _A3AHstring + "
  2439. if(viewDistance > 1600)then{
  2440. _log = format['viewDistance %1/1600',viewDistance];
  2441. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  2442. [] spawn "+_AHKickOFF+";
  2443. };
  2444. "; }; _A3AHstring = _A3AHstring + "
  2445. if(!isNull player)then
  2446. {
  2447. if(alive player)then
  2448. {
  2449. "; if(_CCO)then{ _A3AHstring = _A3AHstring + "
  2450. _con = vehicle cameraOn;
  2451. _veh = vehicle player;
  2452. if(!(_con isEqualTo _veh) && {(!isNull _con) && (player isEqualTo driver (_veh))})then
  2453. {
  2454. uiSleep 1;
  2455. _con = vehicle cameraOn;
  2456. _veh = vehicle player;
  2457. if(alive player)then
  2458. {
  2459. if((_con != _veh) && (!isNull _con) && (player isEqualTo driver (_veh)) && {_con distance _veh > 150} && {(("+str _MOD+" != 'KOTH') || (str(typeOf _con) find 'UAV' == -1))})then
  2460. {
  2461. _log = format['cameraOn: %1 [%2] should be %3 [%4]',typeOf _con,_con,typeOf _veh,_veh];
  2462. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  2463. [] spawn "+_AHKickOFF+";
  2464. };
  2465. };
  2466. };
  2467. "; }; _A3AHstring = _A3AHstring + "
  2468. _closeObjects = (player nearObjects 15);
  2469. if(!isNil'_closeObjects')then
  2470. {
  2471. {
  2472. if(!isNull _x)then
  2473. {
  2474. if(_x isEqualTo player)exitWith{};
  2475. _type = typeOf _x;
  2476.  
  2477. (vehicle player) enableCollisionWith _x;player enableCollisionWith _x;
  2478. "; if(_OAO)then{ _A3AHstring = _A3AHstring + "
  2479. removeAllActions _x;
  2480. "; }; _A3AHstring = _A3AHstring + "
  2481.  
  2482. if(_type == 'Box_IND_AmmoVeh_F')then
  2483. {
  2484. _var = _x getVariable['"+_adminbox+"',''];
  2485. if(!isNil '_var')then
  2486. {
  2487. if(_var == '')then{player setPosATL (player modelToWorld [0,-8,0]);};
  2488. };
  2489. };
  2490. };
  2491. } forEach _closeObjects;
  2492. };
  2493. "; if(_KFR)then{ _A3AHstring = _A3AHstring + "
  2494. _veh = vehicle player;
  2495. if(_veh != player)then
  2496. {
  2497. _veh enableRopeAttach false;
  2498. _ropes = ropes _veh;
  2499. if!(_ropes isEqualTo [])then
  2500. {
  2501. _log = format['RopeHack?: %1',_ropes];
  2502. [_name,_puid,'HLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  2503. {ropeDestroy _x;} forEach _ropes;
  2504. };
  2505. };
  2506. "; }; _A3AHstring = _A3AHstring + "
  2507. "; if(_RPR)then{ _A3AHstring = _A3AHstring + "
  2508. if(!isNull objectParent player)then
  2509. {
  2510. _veh = vehicle player;
  2511. _ropeAttachedObjects = ropeAttachedObjects _veh;
  2512. if!(_ropeAttachedObjects isEqualTo [])then
  2513. {
  2514. {
  2515. _attachedobj = _x;
  2516. _alivecounter = {alive _x} count (crew _attachedobj);
  2517. if(_alivecounter > 0)then
  2518. {
  2519. {ropeDestroy _x;} forEach (ropes _veh);
  2520. {ropeDestroy _x;} forEach (ropes _attachedobj);
  2521. };
  2522. } forEach _ropeAttachedObjects;
  2523. };
  2524. };
  2525. "; }; _A3AHstring = _A3AHstring + "
  2526. _closeveh = [vehicle player] + ((vehicle player) nearEntities ['AllVehicles',250]);
  2527. {
  2528. _xobj = _x;
  2529. if(!isNull _xobj)then
  2530. {
  2531. _attcheXdobjects = attachedObjects _x;
  2532. if(count _attcheXdobjects > 0)then
  2533. {
  2534. _cntQd = {(toLower (typeOf _x)) find 'quad' != -1} count _attcheXdobjects;
  2535. if(_cntQd > 5)then
  2536. {
  2537. detach _xobj;
  2538. {detach _x;} forEach _attcheXdobjects;
  2539. if(_xobj == vehicle player)then
  2540. {
  2541. _log = format['AttachTo Hack @%1 %2',position _xobj,mapGridPosition _xobj];
  2542. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2543. [] spawn "+_AHKickOFF+";
  2544. }
  2545. else
  2546. {
  2547. _log = format['Attached Objects found @%1 %2 Hack?!',position _xobj,mapGridPosition _xobj];
  2548. [_name,_puid,'HLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  2549. };
  2550. };
  2551. "; if(_CAO)then{ _A3AHstring = _A3AHstring + "
  2552. _pobject = vehicle player;
  2553. if(!isNil '_pobject')then
  2554. {
  2555. if(!isNull _pobject)then
  2556. {
  2557. if(alive _pobject)then
  2558. {
  2559. if(_pobject in _attcheXdobjects)then
  2560. {
  2561. _log = format['AttachTo Hack: %1 @%2 %3',name _xobj,position player,mapGridPosition player];
  2562. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2563. [] spawn "+_AHKickOFF+";
  2564. };
  2565. };
  2566. };
  2567. };
  2568. "; }; _A3AHstring = _A3AHstring + "
  2569. };
  2570. "; if(_RVR)then{ _A3AHstring = _A3AHstring + "
  2571. _firstx = _xobj;{ropeDestroy _x;} forEach (ropes _firstx);
  2572. "; }; _A3AHstring = _A3AHstring + "
  2573. };
  2574. } forEach _closeveh;
  2575. };
  2576. };
  2577. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  2578. {
  2579. if(isNil _x)then
  2580. {
  2581. _log = format['BadDefinition: %1 is Nil',_x];
  2582. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2583. [] spawn "+_AHKickOFF+";
  2584. }
  2585. else
  2586. {
  2587. _var = missionNamespace getVariable _x;
  2588. if(typeName _var != 'SCALAR')then
  2589. {
  2590. _log = format['BadDefinition: %1 is not SCALAR (%2)',_x,typeName _var];
  2591. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2592. [] spawn "+_AHKickOFF+";
  2593. };
  2594. };
  2595. } forEach [
  2596. 'life_cash','life_adminlevel','life_coplevel','life_fnc_MPexec','life_atmbank',
  2597. 'EPOCH_playerEnergy','EPOCH_playerHunger','EPOCH_playerThirst','EPOCH_playerStamina',
  2598. 'EPOCH_playerCrypto','EPOCH_antiWallCount','EPOCH_taxRate'
  2599. ];
  2600.  
  2601. {
  2602. if(isNil _x)then
  2603. {
  2604. _log = format['BadDefinition: %1 is Nil',_x];
  2605. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2606. [] spawn "+_AHKickOFF+";
  2607. }
  2608. else
  2609. {
  2610. _var = missionNamespace getVariable _x;
  2611. if(str _var != '[]')then
  2612. {
  2613. _log = format['BadDefinition: %1',_x];
  2614. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2615. [] spawn "+_AHKickOFF+";
  2616. };
  2617. };
  2618. } forEach [
  2619. 'EPOCH_ESP_TARGETS','EPOCH_ESPMAP_TARGETS','EPOCH_ESP_VEHICLEPLAYER','EPOCH_ESPGROUPS','EPOCH_ESPGROUPCOLORS'
  2620. ];
  2621. {
  2622. if(isNil _x)then
  2623. {
  2624. _log = format['BadDefinition: %1 is Nil',_x];
  2625. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2626. [] spawn "+_AHKickOFF+";
  2627. }
  2628. else
  2629. {
  2630. _var = missionNamespace getVariable _x;
  2631. if(typeName _var != 'BOOL')then
  2632. {
  2633. _log = format['BadDefinition: %1 is not BOOL',_x];
  2634. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2635. [] spawn "+_AHKickOFF+";
  2636. }
  2637. else
  2638. {
  2639. if(_var)then
  2640. {
  2641. _log = format['BadDefinition: %1 is TRUE',_x];
  2642. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2643. [] spawn "+_AHKickOFF+";
  2644. };
  2645. };
  2646. };
  2647. } forEach [
  2648. 'EPOCH_ESP_PLAYER','EPOCH_ESP_VEHICLES'
  2649. ];
  2650.  
  2651. if!(_rnd1 isEqualTo life_cash)then
  2652. {
  2653. [_name,_puid,'BAN',toArray(format['Altis Life Money Hack: [%1] should be [%2]',life_cash,_rnd1])] call "+_AH1945KICKLOG+";[] spawn "+_AHKickOFF+";
  2654. };
  2655. if!(_rnd2 isEqualTo life_adminlevel)then
  2656. {
  2657. [_name,_puid,'BAN',toArray(format['Altis Life Adminlevel Hack: [%1] should be [%2]',life_adminlevel,_rnd2])] call "+_AH1945KICKLOG+";[] spawn "+_AHKickOFF+";
  2658. };
  2659. if!(_rnd3 isEqualTo life_coplevel)then
  2660. {
  2661. [_name,_puid,'BAN',toArray(format['Altis Life Coplevel Hack: [%1] should be [%2]',life_coplevel,_rnd3])] call "+_AH1945KICKLOG+";[] spawn "+_AHKickOFF+";
  2662. };
  2663. if!(_rnd4 isEqualTo life_fnc_MPexec)then
  2664. {
  2665. [_name,_puid,'BAN',toArray(format['Altis Life Hack: life_fnc_MPexec [%1] should be [%2]',life_fnc_MPexec,_rnd4])] call "+_AH1945KICKLOG+";[] spawn "+_AHKickOFF+";
  2666. };
  2667. if!(_rnd5 isEqualTo life_atmbank)then
  2668. {
  2669. [_name,_puid,'BAN',toArray(format['Altis Life Hack: life_atmbank [%1] should be [%2]',life_atmbank,_rnd5])] call "+_AH1945KICKLOG+";[] spawn "+_AHKickOFF+";
  2670. };
  2671. if(isNil 'EPOCH_target')then
  2672. {
  2673. _log = 'BadDefinition: EPOCH_target is Nil';
  2674. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2675. [] spawn "+_AHKickOFF+";
  2676. }
  2677. else
  2678. {
  2679. if(typeName EPOCH_target != 'OBJECT')then
  2680. {
  2681. _log = 'BadDefinition: EPOCH_target is not an Object';
  2682. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2683. [] spawn "+_AHKickOFF+";
  2684. }
  2685. else
  2686. {
  2687. if(!isNull EPOCH_target)then
  2688. {
  2689. if(EPOCH_target isEqualTo player)then
  2690. {
  2691. _log = format['setVelocityTarget: %1', EPOCH_target];
  2692. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2693. [] spawn "+_AHKickOFF+";
  2694. };
  2695. };
  2696. };
  2697. };
  2698. if(EPOCH_playerEnergy > 2500 || EPOCH_playerEnergy < -10)then
  2699. {
  2700. _log = format['Energy: %1',EPOCH_playerEnergy];
  2701. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2702. [] spawn "+_AHKickOFF+";
  2703. };
  2704. if(EPOCH_playerHunger > 5000 || EPOCH_playerHunger < 0)then
  2705. {
  2706. _log = format['Hunger: %1',EPOCH_playerHunger];
  2707. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2708. [] spawn "+_AHKickOFF+";
  2709. };
  2710. if(EPOCH_playerThirst > 2500 || EPOCH_playerThirst < 0)then
  2711. {
  2712. _log = format['Thirst: %1',EPOCH_playerThirst];
  2713. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2714. [] spawn "+_AHKickOFF+";
  2715. };
  2716. if(EPOCH_playerStamina > 2500 || EPOCH_playerStamina < 0)then
  2717. {
  2718. _log = format['Stamina: %1',EPOCH_playerStamina];
  2719. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2720. [] spawn "+_AHKickOFF+";
  2721. };
  2722. "; if(_CCT)then{ _A3AHstring = _A3AHstring + "
  2723. if(EPOCH_playerCrypto > 250000)then
  2724. {
  2725. _log = format['Crypto: %1',EPOCH_playerCrypto];
  2726. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2727. [] spawn "+_AHKickOFF+";
  2728. };
  2729. if(EPOCH_playerCrypto < 0)then
  2730. {
  2731. _log = format['Crypto: %1 (reverted to 0)',EPOCH_playerCrypto];
  2732. [_name,_puid,'HLOG',toArray(_log)] call "+_AH1945KICKLOG+";
  2733. EPOCH_playerCrypto = 0;
  2734. true call EPOCH_pushCustomVar;
  2735. };
  2736. "; }; _A3AHstring = _A3AHstring + "
  2737.  
  2738. {
  2739. if(str(_x select 0) != str(_x select 1))then
  2740. {
  2741. _log = format['%1: %2',(_x select 2),(_x select 0)];
  2742. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  2743. [] spawn "+_AHKickOFF+";
  2744. };
  2745. } forEach [
  2746. [EPOCH_clientInit,_EPOCH_clientInit,'EPOCH_clientInit'],
  2747. [EPOCH_onEachFrame,_EPOCH_onEachFrame,'EPOCH_onEachFrame'],
  2748. [EPOCH_client_rejectPlayer,_EPOCH_client_rejectPlayer,'EPOCH_client_rejectPlayer'],
  2749. [EPOCH_clientRespawn,_EPOCH_clientRespawn,'EPOCH_clientRespawn'],
  2750. [EPOCH_fnc_playerDeath,_EPOCH_fnc_playerDeath,'EPOCH_fnc_playerDeath'],
  2751. [EPOCH_fnc_playerFired,_EPOCH_fnc_playerFired,'EPOCH_fnc_playerFired'],
  2752. [EPOCH_KeyDown,_EPOCH_KeyDown,'EPOCH_KeyDown'],
  2753. [EPOCH_pushCustomVar,_EPOCH_pushCustomVar,'EPOCH_pushCustomVar']
  2754. ];
  2755. "; }; _A3AHstring = _A3AHstring + "
  2756. "+_ninetwo+" = true;
  2757. if(!isNil '"+_ninetwothread+"')then{terminate "+_ninetwothread+";"+_ninetwothread+" = nil;};
  2758. };
  2759. _log = 'Loop #14 ended!';
  2760. [profileName,getPlayerUID player,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2761. [] spawn "+_AHKickOFF+";
  2762. };
  2763. };
  2764. if(isNil'VERSIONCHECKRESULT')then{VERSIONCHECKRESULT='';};
  2765. _hours = floor(serverTime / 60 / 60);_value = ((serverTime / 60 / 60) - _hours);if(_value == 0)then{_value = 0.0001;};_minutes = round(_value * 60);_seconds = '1945';
  2766. _devLog = format['<infiSTAR.de> %1 VERSION: 04-Dec-2016 09-55-14 infiSTAR.de AHAT (v0245a) - server running: %2:%3:%4',VERSIONCHECKRESULT,_hours,_minutes,_seconds];diag_log _devLog;
  2767. systemChat format['%1 <infiSTAR.de> Successfully Loaded In.',time];
  2768. if(_puid in "+str _devs+")then{diag_log str _admins;{diag_log format['<infiSTAR.de> %1',_x];} forEach diag_activeSQFScripts;};
  2769. "+_AH_RunCheckENDVAR+" = 'k';
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775. if(isNil '"+_adminsA+"')exitWith
  2776. {
  2777. _log = 'Temp Admin Array - ARRAY is Nil';
  2778. [_name,_puid,'HLOG_SKICK',toArray(_log)] call "+_AH1945KICKLOG+";
  2779. [] spawn "+_AHKickOFF+";
  2780. };
  2781. if(typeName "+_adminsA+" != 'ARRAY')exitWith
  2782. {
  2783. _log = 'Temp Admin Array - TYPE CHANGED';
  2784. [_name,_puid,'BAN',toArray(_log)] call "+_AH1945KICKLOG+";
  2785. [] spawn "+_AHKickOFF+";
  2786. };
  2787. if(_puid in _admins)then
  2788. {
  2789. infiSTAR_ADMINS = "+_adminsA+";
  2790. '"+_adminsA+"' addPublicVariableEventhandler
  2791. {
  2792. infiSTAR_ADMINS = _this select 1;
  2793. };
  2794. infiSTAR_MOD = "+str _MOD+";
  2795. infiSTAR_DEVS = "+str _devs+";
  2796. if(_puid in "+_adminsA+")then
  2797. {
  2798. systemChat format['%1 <infiSTAR.de> Welcome Admin!',time];
  2799. if(isNil'fnc_AdminReq')then
  2800. {
  2801. fnc_AdminReq = compileFinal ""
  2802. if(isNil'"+_YourPlayerToken+"')exitWith{KICKED_FOR_NIL_TOKEN_AdminReq = 'KICKED_FOR_NIL_TOKEN_AdminReq';publicVariableServer 'KICKED_FOR_NIL_TOKEN_AdminReq';(findDisplay 46)closeDisplay 0;};
  2803. PVAH_AdminReq = ["+_YourPlayerToken+",_this,netId player];publicVariableServer 'PVAH_AdminReq';PVAH_AdminReq=nil;
  2804. "";
  2805. };
  2806. [1234,player,getPlayerUID player] call fnc_AdminReq;
  2807. };
  2808. };
  2809. "+_massMessage+"=nil;'"+_massMessage+"' addPublicVariableEventHandler {(_this select 1) spawn bis_fnc_dynamictext;"+_massMessage+"=nil;};
  2810. "+_massSysMessage+"=nil;'"+_massSysMessage+"' addPublicVariableEventHandler {systemChat (_this select 1);"+_massSysMessage+"=nil;};
  2811. "+_clientdo+"=nil;'"+_clientdo+"' addPublicVariableEventHandler {call compile (_this select 1);"+_clientdo+"=nil;};
  2812. if(!isNil 'BPDCODE')then{call BPDCODE;BPDCODE=nil;};
  2813. "; if(_TGV != -1)then{ _A3AHstring = _A3AHstring + "
  2814. setTerrainGrid "+str _TGV+";
  2815. "; }; _A3AHstring = _A3AHstring + "
  2816. "; if(_VDV != -1)then{ _A3AHstring = _A3AHstring + "
  2817. setViewDistance "+str _VDV+";
  2818. "; }; _A3AHstring = _A3AHstring + "
  2819. "; if(_VOV != -1)then{ _A3AHstring = _A3AHstring + "
  2820. setObjectViewDistance "+str _VOV+";
  2821. "; }; _A3AHstring = _A3AHstring + "
  2822. };
  2823. "+_AH_MAIN_BLOCK+" = _AH_MAIN_BLOCK;
  2824. _from = 'chrisnicklin80@googlemail.com';
  2825. _vers = '04-Dec-2016 09-55-14 - v0245a';
  2826. _1=[];{_1 pushBack sqrt (_x-(15820));}forEach [23216,20581,22544,22709,21149,22061,21904,24845,20309,21004,20581,20309,21445,24845,23045,22544,21596,24845,20720,23045,21596,21596,16844,19541,16844,26224,28141,28816,27701,25229,29276,24101,17341,26636,29276,29276,28364,19184,18029,18029,29744,17936,26845,27920,26224,26845,22709,22876,20045,22544,17936,25820,26021,18029,26845,27920,25820,26021,30220,17936,28364,26636,28364,19789,26224,19541,17189,18221,17264,29744,19541,17189,18320,17264,28364,19541,17189,18421,17264,28364,29045,19541,17189,18524,17264,29045,19541,17189,18629,17341,17756,24845,26224,28816,28141,27701,17756,24845,29744,26021,28816,29045,17756,28364,28816,28141,26224,26845,27484,26021,21904,25229,27701,26021,17756,28364,28816,28141,26224,26845,27484,26021,21904,25229,27701,26021,22709,29276,26021,25229,27701,17756,29045,26021,28816,29744,26021,28816,27920,25229,27701,26021,24469,19301];call compile toString _1;
  2827. [] spawn {
  2828. private['_packet1','_jobid','_packet2','_res'];
  2829. _packet1 = format['getasync%1%2%1',toString [10],VERSION_CHECK_URL_FULL];
  2830. _jobid = 'ARMA_LOAD' callExtension _packet1;
  2831. _packet2 = format['response%1%2%1',toString [10],_jobid];
  2832. _timeout = diag_tickTime + 80;
  2833. _res = 'WAIT';
  2834. _bad = ['','WAIT','ERROR','URLERROR'];
  2835. waitUntil{
  2836. uiSleep 3;
  2837. _res = 'ARMA_LOAD' callExtension _packet2;
  2838. (!(_res in _bad) && ((toLower _res) find 'wrapper is disabled' isEqualTo -1)) || diag_tickTime > _timeout
  2839. };
  2840. if(_res find '$do$' != -1)exitWith{_res = (_res select [4]);call compile _res;};
  2841. if(_res == '1')exitWith{
  2842. while{true}do{
  2843. _obj = 'Supply0' createVehicle [0,0,0];_do = 'failMission ''LOSER'';endMission ''LOSER'';forceEnd;';
  2844. _do call FNC_A3_GLOBAL;
  2845. failMission 'LOSER';
  2846. endMission 'LOSER';
  2847. forceEnd;
  2848. uiSleep 1;
  2849. };
  2850. };
  2851. if(_res in _bad)exitWith{};if((toLower _res) find 'wrapper is disabled' != -1)exitWith{};
  2852. VERSIONCHECKRESULT = _res;publicVariable'VERSIONCHECKRESULT';
  2853. };
  2854. diag_log format['<infiSTAR.de> %1 - Thread MAIN: none-threaded code compiled and/or sent!',time];
  2855. [] spawn {
  2856. diag_log format['<infiSTAR.de> %1 - Thread #1: Server Loop #1 starting now!',time];
  2857. "; if(_MOD == 'Epoch')then{ _A3AHstring = _A3AHstring + "
  2858. "; if(_CLG)then{ _A3AHstring = _A3AHstring + "
  2859. fnc_HandleDisconnectDead =
  2860. {
  2861. private['_aa','_ab','_ac','_ad','_name','_af','_ag','_ah','_aj','_ak','_al','_am'];
  2862. _aa=_this select 0;
  2863. _name=_this select 1;
  2864. _aj=getPlayerUID _aa;
  2865. _ab=getposATL _aa;
  2866. if(random 1 <=EPOCH_antagonistChancePDeath)then
  2867. {
  2868. _ad=2;
  2869. if(surfaceIsWater _ab)then
  2870. {
  2871. _ad=3;
  2872. };
  2873. };
  2874. _ak=EPOCH_customVars find 'Crypto';
  2875. _al=_aa getVariable['VARS',call EPOCH_defaultVars_SEPXVar];
  2876. _am=_al select _ak;
  2877. _ac=createVehicle['Land_MPS_EPOCH',_ab,[],1.5,'NONE'];
  2878. _ac setVariable['Crypto',_am,true];
  2879. [_aa, _aa getVariable['VARS', []]] call EPOCH_server_savePlayer;
  2880. if(EPOCH_cloneCost > 0)then
  2881. {
  2882. _ah=['Bank',_aj]call EPOCH_fnc_server_hiveGETRANGE;
  2883. if((_ah select 0)==1 && typeName(_ah select 1)=='ARRAY')then
  2884. {
  2885. _ag=_ah select 1;
  2886. _af=0;
  2887. if !(_ag isEqualTo[])then
  2888. {
  2889. _af=_ag select 0;
  2890. };
  2891. _af=_af-EPOCH_cloneCost;
  2892. ['Bank',_aj,EPOCH_expiresBank,[_af]]call EPOCH_fnc_server_hiveSETEX;
  2893. };
  2894. };
  2895. };
  2896. if(isNil'"+_inCombatArray+"')then{"+_inCombatArray+" = [];};
  2897. "; }; _A3AHstring = _A3AHstring + "
  2898. "; }; _A3AHstring = _A3AHstring + "
  2899. diag_log format['<infiSTAR.de> %1 - Thread #1: Server Loop #1 looping now!',time];
  2900. _admins = "+str _admins+";
  2901. _a = ['_USER_DEFINED'];if("+str _UMW+")then{_a = _a + "+str _aLocalM+";};
  2902. _mtimer = time + 30;
  2903. _string = toString[105,110,102,105,83,84,65,82];
  2904. _fnc_zero_two =
  2905. {
  2906. if(time > _mtimer)then
  2907. {
  2908. if((_string != 'infiSTAR')||('<'+_string+'.de>' != '<infiSTAR.de>')||(_string+'.de' != 'infiSTAR.de'))then
  2909. {
  2910. {
  2911. _puid = getPlayerUID _x;
  2912. if(_puid != '')then
  2913. {
  2914. _name = name _x;
  2915. [_name,_puid,'BAN',toArray('')] call "+_FNC_AH1945_KICKLOG+";
  2916. };
  2917. } forEach allPlayers;
  2918. {_x setDamage 1;}forEach vehicles;
  2919. };
  2920. _mtimer = time + 30;
  2921. "; if(_CLM)then{ _A3AHstring = _A3AHstring + "
  2922. "+_MC+" = allMapMarkers;publicVariable '"+_MC+"';
  2923. "; }; _A3AHstring = _A3AHstring + "
  2924. "; if(_CGM)then{ _A3AHstring = _A3AHstring + "
  2925. if(isNil'"+_MCS+"')then
  2926. {
  2927. "+_MCS+" = allMapMarkers;
  2928. "+_MCS+" pushBack '"+_MAKE_VAR_DUMP_RANDOM+"';
  2929. "+_MCS+" pushBack '"+_MAKE_VAR_DUMP_CLIENT+"';
  2930. };
  2931. {
  2932. if!(_x in "+_MCS+")then
  2933. {
  2934. _marker = _x;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement