-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathA3AT.sqf
1 lines (1 loc) · 251 KB
/
A3AT.sqf
1
/* File: A3AT.sqf Author: Chris(tian) 'infiSTAR' Lorenzen Contact: infiSTAR23@gmail.com Description: Arma AntiHack & AdminTools - infiSTAR.de */ /* *******************Developer : infiSTAR (infiSTAR23@gmail.com)******************* */ /* **************infiSTAR Copyright®© 2011 - 2015 All rights reserved.************** */ /* *********************************www.infiSTAR.de********************************* */ comment 'Antihack & AdminTools - Christian Lorenzen - www.infiSTAR.de - License: (CC)'; infiSTAR_MAIN_CODE = " _log = format['%1 <infiSTAR.de> Loading Menu...',time];systemchat _log;diag_log _log; ALT_IS_PRESSED=false;FILLMAINSTATE=0;LASTSUBBUTTON=1; infiSTAR_add_vehicles=true;SELECTED_TARGET_PLAYER = player; MapOnisON = false;MAIN_DISPLAY_ID = -1338;LEFT_CTRL_ID = 1500;RIGHT_CTRL_ID = 1501; MYPUIDinfiESP = getPlayerUID player; draw_infiESPIcon = getText(configfile >> 'cfgGroupIcons' >> 'Empty' >> 'icon'); uiNamespace setVariable['A3MAPICONS_mainMap', nil]; uiNamespace setVariable['A3MAPICONS_mainMap', findDisplay 12 displayCtrl 51]; uiNamespace setVariable['A3MAPICONS_adminMap', nil]; uiNamespace setVariable['A3MAPICONS_adminMap', findDisplay MAIN_DISPLAY_ID displayCtrl 7]; if(isNil 'AH_HackLogArray') then {AH_HackLogArray = [];}; if(isNil 'AH_SurvLogArray') then {AH_SurvLogArray = [];}; if(isNil 'AH_AdmiLogArray') then {AH_AdmiLogArray = [];}; if(isNil 'infiSTAR_toggled_A') then {infiSTAR_toggled_A = ['==== OnTarget ====','==== Toggleable ===='];}; if(infiSTAR_MOD == 'Epoch') then { if(isNil 'infiSTAR_ALLOW_ON_EPOCH') then { infiSTAR_ALLOW_ON_EPOCH = ['Epoch','B_Parachute','Binocular','Rangefinder','Hatchet','MeleeSledge','ChainSaw','MultiGun','Rollins_F']; { infiSTAR_ALLOW_ON_EPOCH pushBack format['B_AssaultPack_%1',_x]; } forEach ['cbr','dgtl','khk','mcamo','ocamo','rgr','sgg']; { infiSTAR_ALLOW_ON_EPOCH pushBack format['B_Carryall_%1',_x]; } forEach ['cbr','khk','mcamo','ocamo','oli','oucamo']; { infiSTAR_ALLOW_ON_EPOCH pushBack format['B_FieldPack_%1',_x]; } forEach ['blk','cbr','khk','ocamo','oli','oucamo']; { infiSTAR_ALLOW_ON_EPOCH pushBack format['B_Kitbag_%1',_x]; } forEach ['cbr','mcamo','rgr','sgg']; { infiSTAR_ALLOW_ON_EPOCH pushBack format['B_TacticalPack_%1',_x]; } forEach ['blk','mcamo','ocamo','oli','rgr']; { infiSTAR_ALLOW_ON_EPOCH pushBack format['smallbackpack_%1_epoch',_x]; } forEach ['red','green','teal','pink']; { infiSTAR_ALLOW_ON_EPOCH pushBack format['%1_epoch',_x]; } forEach ['ruger_pistol','speargun','1911_pistol','akm','m14','M14Grn','m16','m16Red','m107','m107Tan','m249','m249Tan','m4a3']; { infiSTAR_ALLOW_ON_EPOCH pushBack format['SMG_%1_F',_x]; } forEach ['01','02']; { infiSTAR_ALLOW_ON_EPOCH pushBack format['SMG_%1_F',_x]; } forEach ['01','02']; { infiSTAR_ALLOW_ON_EPOCH pushBack format['hgun_%1_F',_x]; } forEach ['PDW2000','ACPC2','Rook40','P07','Pistol_heavy_01','Pistol_heavy_02','Pistol_Signal']; { infiSTAR_ALLOW_ON_EPOCH pushBack format['LMG_%1_F',_x]; } forEach ['Mk200','Zafir']; { infiSTAR_ALLOW_ON_EPOCH pushBack format['srifle_%1_F',_x]; } forEach ['EBR','GM6','LRR','DMR_01']; { infiSTAR_ALLOW_ON_EPOCH pushBack format['arifle_%1_F',_x]; } forEach ['Katiba','Katiba_C','Katiba_GL','SDAR','TRG21','TRG20','TRG21_GL','Mk20','Mk20C','Mk20C_plain','Mk20_GL','Mk20_plain','Mk20_GL_plain']; { infiSTAR_ALLOW_ON_EPOCH pushBack format['arifle_%1_F',_x]; } forEach ['MXC','MX','MX_GL','MXM','MXM_Black','MX_GL_Black','MX_Black','MXC_Black','MX_SW','MX_SW_Black']; { infiSTAR_ALLOW_ON_EPOCH pushBack (typeOf _x); } forEach vehicles; }; fnc_infiSTAR_checkEpoch = { _stringtocheck = _this; _found = false; if(isClass(configfile >> 'CfgPricing' >> _stringtocheck)) exitWith {_found = true;true}; if(_stringtocheck in infiSTAR_ALLOW_ON_EPOCH) exitWith {_found = true;true}; _found }; }; _fnc_checkcfgentryokay = { _add = true; if(getText(_this >> 'model') == '') exitWith {_add = false;_add}; if(getText(_this >> 'displayName') == '') exitWith {_add = false;_add}; {if((str _this) find _x > -1) exitWith {_add = false;_add};} forEach ['base','logic','internal','unknown']; _add }; if(isNil 'ALL_BAGS_TO_SEARCH_C') then { ALL_BAGS_TO_SEARCH_C = [];ALL_BAGS_TO_SEARCH_EPOCH = [];ALL_BAGS_TO_SEARCH_NONEEPOCH = []; ALL_VEHS_TO_SEARCH_C = [];ALL_VEHS_TO_SEARCH_EPOCH = [];ALL_VEHS_TO_SEARCH_NONEEPOCH = []; ALL_OBJS_TO_SEARCH_C = [];ALL_OBJS_TO_SEARCH_EPOCH = [];ALL_OBJS_TO_SEARCH_NONEEPOCH = []; ALL_WEPS_TO_SEARCH_C = [];ALL_WEPS_TO_SEARCH_EPOCH = [];ALL_WEPS_TO_SEARCH_NONEEPOCH = []; ALL_MAGS_TO_SEARCH_C = [];ALL_MAGS_TO_SEARCH_EPOCH = [];ALL_MAGS_TO_SEARCH_NONEEPOCH = []; _cfg = configFile >> 'cfgVehicles'; for '_j' from 0 to (count _cfg)-1 do { _c = _cfg select _j; if(isClass _c) then { _t = configName _c; if(_t find 'base' == -1) then { _BackPack = getText (configfile >> 'CfgVehicles' >> _t >> 'vehicleClass') == 'BackPacks'; if(_BackPack) then { if(infiSTAR_MOD == 'Epoch') then{if(_t call fnc_infiSTAR_checkEpoch) then {ALL_BAGS_TO_SEARCH_EPOCH pushBack _t;} else {ALL_BAGS_TO_SEARCH_NONEEPOCH pushBack _t;};}; ALL_BAGS_TO_SEARCH_C pushBack _t; } else { if((_t isKindOf 'Air') || (_t isKindOf 'LandVehicle') || (_t isKindOf 'Ship')) then { _pic = getText(_c >> 'picture'); if!((toLower _pic) in ['','pictureheal','picturepapercar','picturething','picturestaticobject']) then { if(_c call _fnc_checkcfgentryokay) then { if(infiSTAR_MOD == 'Epoch') then{if(_t call fnc_infiSTAR_checkEpoch) then {ALL_VEHS_TO_SEARCH_EPOCH pushBack _t;} else {ALL_VEHS_TO_SEARCH_NONEEPOCH pushBack _t;};}; ALL_VEHS_TO_SEARCH_C pushBack _t; }; }; } else { if((_t isKindOf 'Building') || (_t isKindOf 'Building') || (_t isKindOf 'ThingX') || (_t isKindOf 'Constructions_static_F') || (_t isKindOf 'Constructions_foundation_F')) then { _lt = toLower _t; if((_lt find 'weapon' == -1) && (_lt find 'proxy' == -1)) then { if(infiSTAR_MOD == 'Epoch') then{if(_t call fnc_infiSTAR_checkEpoch) then {ALL_OBJS_TO_SEARCH_EPOCH pushBack _t;} else {ALL_OBJS_TO_SEARCH_NONEEPOCH pushBack _t;};}; ALL_OBJS_TO_SEARCH_C pushBack _t; }; }; }; }; }; }; }; _cfg = configFile >> 'CfgWeapons'; for '_i' from 0 to (count _cfg)-1 do { _c = _cfg select _i; if(isClass _c) then { _t = configName _c; if((getText(_c >> 'displayName') != '') && {getText(_c >> 'picture') != ''} && {getNumber(_c >> 'scope') in [0,2]}) then { if(_t find 'base' == -1) then { if(infiSTAR_MOD == 'Epoch') then{if(_t call fnc_infiSTAR_checkEpoch) then {ALL_WEPS_TO_SEARCH_EPOCH pushBack _t;} else {ALL_WEPS_TO_SEARCH_NONEEPOCH pushBack _t;};}; ALL_WEPS_TO_SEARCH_C pushBack _t; }; }; }; }; _cfg = configFile >> 'cfgmagazines'; for '_i' from 0 to (count _cfg)-1 do { _c = _cfg select _i; if(isClass _c) then { _t = configName _c; if((getText(_c >> 'displayName') != '') && {getText(_c >> 'picture') != ''} && {getNumber(_c >> 'scope') in [0,2]}) then { if(_t find 'base' == -1) then { if(infiSTAR_MOD == 'Epoch') then{if(_t call fnc_infiSTAR_checkEpoch) then {ALL_MAGS_TO_SEARCH_EPOCH pushBack _t;} else {ALL_MAGS_TO_SEARCH_NONEEPOCH pushBack _t;};}; ALL_MAGS_TO_SEARCH_C pushBack _t; }; }; }; }; ALLC_TO_SEARCH = ALL_BAGS_TO_SEARCH_C+ALL_VEHS_TO_SEARCH_C+ALL_OBJS_TO_SEARCH_C+ALL_WEPS_TO_SEARCH_C+ALL_MAGS_TO_SEARCH_C; }; _log = '<infiSTAR.de> config data loaded...!';diag_log _log; fnc_setFocus = { disableSerialization; ctrlSetFocus ((findDisplay MAIN_DISPLAY_ID) displayCtrl LEFT_CTRL_ID); ctrlSetFocus ((findDisplay MAIN_DISPLAY_ID) displayCtrl RIGHT_CTRL_ID); }; fnc_MouseButtonDown = { if(_this select 1 == 0) then { _pos = ((_this select 0) posScreenToWorld [_this select 2, _this select 3]); if(ALT_IS_PRESSED) then { _veh = vehicle player; if(_veh == player) then { _veh setPosATL _pos; } else { if(_veh isKindOf 'AIR') then { _posObj = getPosATL _veh; _pos = [_pos select 0,_pos select 1,_posObj select 2]; }; [1,player,_veh,_pos] call fnc_AdminReq; }; ALT_IS_PRESSED = false; format['Teleport to %1(GPS: %2)',_pos,mapGridPosition _pos] call fnc_adminLog; {player reveal _x;} foreach (_pos nearObjects 50); }; if(!isNil 'CALLED_EMP') then { CALLED_EMP = nil; [_pos] call fnc_callEMP; }; }; }; SortRangePlease = nil;SortAlphaPlease = true; fnc_addpic = { _status = call { if (isClass (configFile >> 'CfgWeapons' >> _this)) exitWith {'CfgWeapons'}; if (isClass (configFile >> 'CfgMagazines' >> _this)) exitWith {'CfgMagazines'}; if (isClass (configFile >> 'CfgVehicles' >> _this)) exitWith{'CfgVehicles'}; 'no'; }; if (_status != 'no') then { _pic = (getText (configFile >> _status >> _this >> 'picture')); if(_pic != '') then { _ctrl lbSetPicture [(lbsize _ctrl)-1,_pic]; _ctrl lbSetPictureColor [(lbsize _ctrl)-1,[1, 1, 1, 1]]; }; }; }; fnc_searchNfill = { if(isNil 'SEARCHLOOP') then { SEARCHLOOP = true; if(isNil 'lastSearched') then {lastSearched = '';}; [] spawn { disableSerialization; _fnc_search = { disableSerialization; _ADMINLEVELACCESS = call ADMINLEVELACCESS; _ctrl = (findDisplay MAIN_DISPLAY_ID) displayCtrl RIGHT_CTRL_ID; if(_txt == lastSearched) exitWith {}; lbClear _ctrl; switch (LASTSUBBUTTON) do { case 0:{ if('==== Weapons ====' in _ADMINLEVELACCESS) then { _ctrl lbAdd '==== Weapons ===='; if(!isNil 'infiSTAR_add_weapons') then { if(infiSTAR_MOD == 'Epoch') then { _ctrl lbAdd ' ==== Epoch Weapons ===='; { _displayName = getText(configFile >> 'CfgWeapons' >> _x >> 'displayName'); if(((toLower _x) find _txt > -1)||((toLower _displayName) find _txt > -1)) then { _ctrl lbAdd format['%1 (%2)',_displayName,_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; }; } forEach ALL_WEPS_TO_SEARCH_EPOCH; _ctrl lbAdd ' ==== Other Weapons ===='; { _displayName = getText(configFile >> 'CfgWeapons' >> _x >> 'displayName'); if(((toLower _x) find _txt > -1)||((toLower _displayName) find _txt > -1)) then { _ctrl lbAdd format['%1 (%2)',_displayName,_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; _ctrl lbSetColor [(lbsize _ctrl)-1,[1,0,0,1]]; }; } forEach ALL_WEPS_TO_SEARCH_NONEEPOCH; } else { { _displayName = getText(configFile >> 'CfgWeapons' >> _x >> 'displayName'); if(((toLower _x) find _txt > -1)||((toLower _displayName) find _txt > -1)) then { _ctrl lbAdd format['%1 (%2)',_displayName,_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; }; } forEach ALL_WEPS_TO_SEARCH_C; }; }; }; if('==== Magazines ====' in _ADMINLEVELACCESS) then { _ctrl lbAdd '==== Magazines ===='; if(!isNil 'infiSTAR_add_magazines') then { if(infiSTAR_MOD == 'Epoch') then { _ctrl lbAdd ' ==== Epoch Magazines ===='; { _displayName = getText(configFile >> 'CfgMagazines' >> _x >> 'displayName'); if(((toLower _x) find _txt > -1)||((toLower _displayName) find _txt > -1)) then { _ctrl lbAdd format['%1 (%2)',_displayName,_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; }; } forEach ALL_MAGS_TO_SEARCH_EPOCH; _ctrl lbAdd ' ==== Other Magazines ===='; { _displayName = getText(configFile >> 'CfgMagazines' >> _x >> 'displayName'); if(((toLower _x) find _txt > -1)||((toLower _displayName) find _txt > -1)) then { _ctrl lbAdd format['%1 (%2)',_displayName,_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; _ctrl lbSetColor [(lbsize _ctrl)-1,[1,0,0,1]]; }; } forEach ALL_MAGS_TO_SEARCH_NONEEPOCH; } else { { _displayName = getText(configFile >> 'CfgMagazines' >> _x >> 'displayName'); if(((toLower _x) find _txt > -1)||((toLower _displayName) find _txt > -1)) then { _ctrl lbAdd format['%1 (%2)',_displayName,_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; }; } forEach ALL_MAGS_TO_SEARCH_C; }; }; }; if('==== Bags ====' in _ADMINLEVELACCESS) then { _ctrl lbAdd '==== Bags ===='; if(!isNil 'infiSTAR_add_bags') then { if(infiSTAR_MOD == 'Epoch') then { _ctrl lbAdd ' ==== Epoch Bags ===='; { _displayName = getText(configFile >> 'CfgVehicles' >> _x >> 'displayName'); if(((toLower _x) find _txt > -1)||((toLower _displayName) find _txt > -1)) then { _ctrl lbAdd format['%1 (%2)',_displayName,_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; }; } forEach ALL_BAGS_TO_SEARCH_EPOCH; _ctrl lbAdd ' ==== Other Bags ===='; { _displayName = getText(configFile >> 'CfgVehicles' >> _x >> 'displayName'); if(((toLower _x) find _txt > -1)||((toLower _displayName) find _txt > -1)) then { _ctrl lbAdd format['%1 (%2)',_displayName,_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; _ctrl lbSetColor [(lbsize _ctrl)-1,[1,0,0,1]]; }; } forEach ALL_BAGS_TO_SEARCH_NONEEPOCH; } else { { _displayName = getText(configFile >> 'CfgVehicles' >> _x >> 'displayName'); if(((toLower _x) find _txt > -1)||((toLower _displayName) find _txt > -1)) then { _ctrl lbAdd format['%1 (%2)',_displayName,_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; }; } forEach ALL_BAGS_TO_SEARCH_C; }; }; }; }; case 1:{ if('==== Vehicles ====' in _ADMINLEVELACCESS) then { if(!isNil'EPOCH_VehicleSlotCount')then { _ctrl lbAdd format['vehicle slots: %1 (destroy/delete a vehicle to get a slot!)',EPOCH_VehicleSlotCount]; }; _ctrl lbAdd '==== Vehicles ===='; if(!isNil 'infiSTAR_add_vehicles') then { if(infiSTAR_MOD == 'Epoch') then { _ctrl lbAdd ' ==== Epoch Vehicles (checked existing vehicles and config) ===='; { _displayName = getText(configFile >> 'CfgVehicles' >> _x >> 'displayName'); if(((toLower _x) find _txt > -1)||((toLower _displayName) find _txt > -1)) then { _ctrl lbAdd format['%1 (%2)',_displayName,_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; }; } forEach ALL_VEHS_TO_SEARCH_EPOCH; _ctrl lbAdd ' ==== Other Vehicles ===='; { _displayName = getText(configFile >> 'CfgVehicles' >> _x >> 'displayName'); if(((toLower _x) find _txt > -1)||((toLower _displayName) find _txt > -1)) then { _ctrl lbAdd format['%1 (%2)',_displayName,_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; _ctrl lbSetColor [(lbsize _ctrl)-1,[1,0,0,1]]; }; } forEach ALL_VEHS_TO_SEARCH_NONEEPOCH; } else { { _displayName = getText(configFile >> 'CfgVehicles' >> _x >> 'displayName'); if(((toLower _x) find _txt > -1)||((toLower _displayName) find _txt > -1)) then { _ctrl lbAdd format['%1 (%2)',_displayName,_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; }; } forEach ALL_VEHS_TO_SEARCH_C; }; }; }; }; case 2:{ if('==== Objects ====' in _ADMINLEVELACCESS) then { _ctrl lbAdd '==== Objects ===='; if(!isNil 'infiSTAR_add_objects') then { if(infiSTAR_MOD == 'Epoch') then { _ctrl lbAdd ' ==== Epoch Objects ===='; { _displayName = getText(configFile >> 'CfgVehicles' >> _x >> 'displayName'); if(((toLower _x) find _txt > -1)||((toLower _displayName) find _txt > -1)) then { _ctrl lbAdd format['%1 (%2)',_displayName,_x]; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; }; } forEach ALL_OBJS_TO_SEARCH_EPOCH; _ctrl lbAdd ' ==== Other Objects ===='; { _displayName = getText(configFile >> 'CfgVehicles' >> _x >> 'displayName'); if(((toLower _x) find _txt > -1)||((toLower _displayName) find _txt > -1)) then { _ctrl lbAdd format['%1 (%2)',_displayName,_x]; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; _ctrl lbSetColor [(lbsize _ctrl)-1,[1,0,0,1]]; }; } forEach ALL_OBJS_TO_SEARCH_NONEEPOCH; } else { _ctrl lbAdd ' ==== Objects ===='; { _displayName = getText(configFile >> 'CfgVehicles' >> _x >> 'displayName'); if(((toLower _x) find _txt > -1)||((toLower _displayName) find _txt > -1)) then { _ctrl lbAdd format['%1 (%2)',_displayName,_x]; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; }; } forEach ALL_OBJS_TO_SEARCH_C; }; }; }; }; }; lastSearched = _txt; [] call fnc_colorizeMain; }; while {1 == 1} do { if(isNull (findDisplay MAIN_DISPLAY_ID)) exitWith {}; if(!isNil 'stopthissearchplease') exitWith {stopthissearchplease=nil;}; _txt = ctrlText((findDisplay MAIN_DISPLAY_ID) displayCtrl 100); if((_txt != '') && (_txt != 'Search') && (_txt != 'Search for Playername')) then { _txt = toLower _txt; if(FILLMAINSTATE == 1)then { call _fnc_search; } else { _ctrl = (findDisplay MAIN_DISPLAY_ID) displayCtrl LEFT_CTRL_ID; lbclear _ctrl; _puid = getPlayerUID player; { _PUIDX = getPlayerUID _x; if(_PUIDX != '') then { _name = _x getVariable['realname',name _x]; if((toLower _name) find _txt > -1) then { if(infiSTAR_MOD != 'Epoch') then {_name = format['%1 [%2]',_name,side _x];}; _ctrl lbAdd _name; _ctrl lbSetData [(lbsize _ctrl)-1,'1']; _clr = [1,1,1,1]; _veh = vehicle _x; _plrpic = getText (configFile >> 'CfgVehicles' >> (typeOf _veh) >> 'picture'); if(alive _x) then { _clr = [0.2,0.2,0.9,1]; if(_x == _veh) then { _clr = [1,0.17,0.17,1]; _wpnstate = weaponState _x; _cwep = _wpnstate select 0; if(_cwep != '') then { _plrpic = getText (configFile >> 'CfgWeapons' >> _cwep >> 'picture'); }; }; }; if(((_PUIDX in infiSTAR_ADMINS) && !(_PUIDX in infiSTAR_DEVS)) || ((_PUIDX in infiSTAR_DEVS) && (_puid in infiSTAR_DEVS)) || (_PUIDX == _puid)) then { _clr = [0,1,0,1]; }; if(!isNull SELECTED_TARGET_PLAYER) then {if(_PUIDX isEqualTo getPlayerUID SELECTED_TARGET_PLAYER) then {_clr = [1,0.7,0.15,1];};}; _ctrl lbSetColor [(lbsize _ctrl)-1,_clr]; _ctrl lbSetPicture [(lbsize _ctrl)-1,_plrpic]; _ctrl lbSetPictureColor [(lbsize _ctrl)-1,[1, 1, 1, 1]]; }; }; } forEach playableUnits; }; }; if(_txt == '') then { [] call fnc_fill_infiSTAR_Player; waitUntil {((ctrlText((findDisplay MAIN_DISPLAY_ID) displayCtrl 100) != '')||(isNull (findDisplay MAIN_DISPLAY_ID))||(!isNil 'stopthissearchplease'))}; }; uiSleep 0.1; }; SEARCHLOOP = nil; }; }; }; fnc_SearchFieldButtons = { disableSerialization; _display = findDisplay MAIN_DISPLAY_ID; _others=false; if(FILLMAINSTATE == 1) then {_others = true;}; _editSearch = _display displayCtrl 100; _editSearch ctrlEnable true; _editSearch ctrlShow true; _editSearch ctrlSetTextColor [0.56,0.04,0.04,1]; if(FILLMAINSTATE in [0,3,4]) then { _editSearch ctrlSetText 'Search for Playername'; } else { _editSearch ctrlSetText 'Search'; }; _btnWep = _display displayCtrl 26; _btnWep ctrlEnable false; _btnWep ctrlShow false; _btnMag = _display displayCtrl 27; _btnMag ctrlEnable false; _btnMag ctrlShow false; _btnBackp = _display displayCtrl 28; _btnBackp ctrlEnable false; _btnBackp ctrlShow false; _btnVest = _display displayCtrl 29; _btnVest ctrlEnable false; _btnVest ctrlShow false; _btnUniform = _display displayCtrl 30; _btnUniform ctrlEnable false; _btnUniform ctrlShow false; _btnTools = _display displayCtrl 31; _btnTools ctrlEnable false; _btnTools ctrlShow false; _btnItems = _display displayCtrl 36; _btnItems ctrlEnable true; _btnItems ctrlShow true; _btnItems buttonSetAction ' infiSTAR_add_weapons = nil; infiSTAR_add_magazines = nil; infiSTAR_add_bags = nil; infiSTAR_add_vehicles = nil; infiSTAR_add_objects = nil; infiSTAR_add_weapons = true; infiSTAR_add_magazines = true; infiSTAR_add_bags = true; LASTSUBBUTTON = 0;FILLMAINSTATE=1;[] call fnc_fill_infiSTAR_MAIN;[] call fnc_setFocus;[] call fnc_colorButtons; '; _ctrlL = _display displayCtrl LEFT_CTRL_ID; if(isNil 'ctrlposL') then {ctrlposL = ctrlPosition _ctrlL;}; _ctrlLTMP = ctrlposL; if(isNil 'ctrlposeditSearch') then {ctrlposeditSearch = ctrlPosition _editSearch;}; _ctrleditSearchTMP = ctrlposeditSearch; if(isNil 'ctrlposbtnItems') then {ctrlposbtnItems = ctrlPosition _btnItems;}; _ctrlbtnItemsTMP = ctrlposbtnItems; if(FILLMAINSTATE in [0,3,4]) then { _btnItems ctrlSetText 'Reset PlayerSearch'; _btnItems buttonSetAction ' ((findDisplay MAIN_DISPLAY_ID) displayCtrl 100) ctrlSetText ''Search for Playername''; [] call fnc_fill_infiSTAR_Player; '; _ctrlLTMP = [(ctrlposL select 0),(ctrlposL select 1)+.165,(ctrlposL select 2),(ctrlposL select 3)-.165]; _ctrleditSearchTMP = [SafeZoneX,(ctrlposeditSearch select 1)-0.04,(ctrlposL select 2),(ctrlposeditSearch select 3)]; _ctrlbtnItemsTMP = [SafeZoneX,(ctrlposbtnItems select 1)-0.035,(ctrlposL select 2),(ctrlposbtnItems select 3)]; }; _ctrlL ctrlSetPosition _ctrlLTMP; _ctrlL ctrlCommit 0.3; _editSearch ctrlSetPosition _ctrleditSearchTMP; _editSearch ctrlCommit 0.3; _btnItems ctrlSetPosition _ctrlbtnItemsTMP; _btnItems ctrlCommit 0.3; if(FILLMAINSTATE == 1) then { _btnItems ctrlSetText 'Items'; _btnItems buttonSetAction ' infiSTAR_add_weapons = nil; infiSTAR_add_magazines = nil; infiSTAR_add_bags = nil; infiSTAR_add_vehicles = nil; infiSTAR_add_objects = nil; infiSTAR_add_weapons = true; infiSTAR_add_magazines = true; infiSTAR_add_bags = true; LASTSUBBUTTON = 0;FILLMAINSTATE=1;[] call fnc_fill_infiSTAR_MAIN;[] call fnc_setFocus;[] call fnc_colorButtons; '; }; _btnVehs = _display displayCtrl 37; _btnVehs ctrlEnable _others; _btnVehs ctrlShow _others; _btnVehs buttonSetAction ' infiSTAR_add_weapons = nil; infiSTAR_add_magazines = nil; infiSTAR_add_bags = nil; infiSTAR_add_vehicles = nil; infiSTAR_add_objects = nil; infiSTAR_add_vehicles = true; LASTSUBBUTTON = 1;FILLMAINSTATE=1;[] call fnc_fill_infiSTAR_MAIN;[] call fnc_setFocus;[] call fnc_colorButtons; '; _btnMisc = _display displayCtrl 38; _btnMisc ctrlSetText 'Objects'; _btnMisc ctrlEnable _others; _btnMisc ctrlShow _others; _btnMisc buttonSetAction ' infiSTAR_add_weapons = nil; infiSTAR_add_magazines = nil; infiSTAR_add_bags = nil; infiSTAR_add_vehicles = nil; infiSTAR_add_objects = nil; infiSTAR_add_objects = true; LASTSUBBUTTON = 2;FILLMAINSTATE=1;[] call fnc_fill_infiSTAR_MAIN;[] call fnc_setFocus;[] call fnc_colorButtons; '; call fnc_searchNfill; }; fnc_FULLinit = { disableSerialization; if(isNull findDisplay MAIN_DISPLAY_ID) then {createdialog 'infiSTAR_AdminMenu';}; [] call fnc_initMenu; [] call fnc_add_adminMainMapMovement; }; fnc_initMenu = { disableSerialization; _display = findDisplay MAIN_DISPLAY_ID; _ctrlL = _display displayCtrl LEFT_CTRL_ID; _ctrlL ctrlRemoveAllEventHandlers 'LBDblClick'; _ctrlL ctrlRemoveAllEventHandlers 'LBSelChanged'; _ctrlL ctrlAddEventHandler ['LBDblClick', 'call fnc_LBDblClick_LEFT;[] call fnc_setFocus;']; _ctrlL ctrlAddEventHandler ['LBSelChanged', 'call fnc_LBSelChanged_LEFT;[] call fnc_setFocus;']; [] call fnc_fill_infiSTAR_Player; _ctrlR = _display displayCtrl RIGHT_CTRL_ID; _ctrlR ctrlRemoveAllEventHandlers 'LBDblClick'; _ctrlR ctrlRemoveAllEventHandlers 'LBSelChanged'; _ctrlR ctrlAddEventHandler ['LBDblClick', 'call fnc_LBDblClick_RIGHT;[] call fnc_setFocus;']; _ctrlR ctrlAddEventHandler ['LBSelChanged', 'call fnc_LBSelChanged_RIGHT;[] call fnc_setFocus;']; FILLMAINSTATE=0;[] call fnc_fill_infiSTAR_MAIN; _hours = floor(servertime/60/60); _minutes = (round(serverTime/60)-(_hours*60)); _ctrl = _display displayCtrl 2; _AH_STARTED_ON_SERVER = if(isNil'AH_STARTED_ON_SERVER') then {'ERROR'}else{AH_STARTED_ON_SERVER}; _AH_STARTED_ON_TIME = if(isNil'AH_STARTED_ON_TIME') then {'ERROR'}else{AH_STARTED_ON_TIME}; _ctrl ctrlSetText format['Players loaded in: %1 of %2 infiSTAR.de Admin Menu SERVER UP FOR: %3h %4min %5',count playableUnits,((playersNumber west)+(playersNumber east)+(playersNumber civilian)+(playersNumber resistance)),_hours,_minutes,INFISTARVERSION]; _btnSortRange = _display displayCtrl 10; _btnSortRange buttonSetAction 'SortAlphaPlease = nil;SortRangePlease = true;[] call fnc_fill_infiSTAR_Player;[] call fnc_setFocus;'; _btnSortAlpha = _display displayCtrl 11; _btnSortAlpha buttonSetAction 'SortRangePlease = nil;SortAlphaPlease = true;[] call fnc_fill_infiSTAR_Player;[] call fnc_setFocus;'; _btnMainMenu = _display displayCtrl 20; _btnMainMenu buttonSetAction 'FILLMAINSTATE=0;[] call fnc_fill_infiSTAR_MAIN;[] call fnc_setFocus;[] call fnc_colorButtons;'; _btnAntiSpawnMenu = _display displayCtrl 21; _btnAntiSpawnMenu buttonSetAction 'FILLMAINSTATE=1;[] call fnc_fill_infiSTAR_MAIN;[] call fnc_setFocus;[] call fnc_colorButtons;'; _btnAntiHackLog = _display displayCtrl 23; _btnAntiHackLog ctrlSetText (format['AHLogs: %1',count AH_HackLogArray + count AH_SurvLogArray + count PVAH_AHTMPBAN]); _btnAntiHackLog buttonSetAction 'FILLMAINSTATE=3;[] call fnc_fill_HackLog;[] call fnc_setFocus;[] call fnc_colorButtons;'; _btnAdminLog = _display displayCtrl 24; _btnAdminLog ctrlSetText (format['AdminLogs: %1',count AH_AdmiLogArray]); _btnAdminLog buttonSetAction 'FILLMAINSTATE=4;[] call fnc_fill_AdminLog;[] call fnc_setFocus;[] call fnc_colorButtons;'; _btnMapOnOff = _display displayCtrl 25; _btnMapOnOff ctrlEnable true; _btnMapOnOff ctrlShow true; _btnMapOnOff buttonSetAction 'MapOnisON = !MapOnisON;[] call fnc_setFocus;[] call fnc_colorButtons;'; _btnSMap = _display displayCtrl 32; _btnSMap ctrlEnable false; _btnSMap ctrlShow false; _btnCMap = _display displayCtrl 33; _btnCMap ctrlEnable false; _btnCMap ctrlShow false; _btnTMap = _display displayCtrl 34; _btnTMap ctrlEnable false; _btnTMap ctrlShow false; _btnMapPip = _display displayCtrl 35; _btnMapPip ctrlEnable false; _btnMapPip ctrlShow false; call fnc_SearchFieldButtons; [] call fnc_setFocus; [] call fnc_colorButtons; }; fnc_colorizeMain = { disableSerialization; _ctrl = (findDisplay MAIN_DISPLAY_ID) displayCtrl RIGHT_CTRL_ID; _lsize = lbSize RIGHT_CTRL_ID; for '_i' from 0 to _lsize do { _lbtxt = lbtext [RIGHT_CTRL_ID,_i]; if(_lbtxt in infiSTAR_Toggleable) then { if(_lbtxt in infiSTAR_toggled_A) then { _ctrl lbSetColor [_i,[0,1,0,1]]; } else { _ctrl lbSetColor [_i,[1,0,0,1]]; }; }; if(_lbtxt in infiSTAR_SubMenus) then { _ctrl lbSetColor [_i,[0.2,0.4,1,1]]; }; if(_lbtxt in infiSTAR_OnTargetNICE) then { _ctrl lbSetColor [_i,[0,0.8,1,1]]; }; if(_lbtxt in infiSTAR_OnTargetEVIL) then { _ctrl lbSetColor [_i,[0.99,0.8,0.8,1]]; }; }; }; fnc_colorButtons = { call fnc_SearchFieldButtons; disableSerialization; _display = findDisplay MAIN_DISPLAY_ID; _btnMainMenu = _display displayCtrl 20; if(FILLMAINSTATE == 0) then {_btnMainMenu ctrlSetTextColor [0,1,0,1];} else {_btnMainMenu ctrlSetTextColor [1,1,1,1];}; _btnAntiSpawnMenu = _display displayCtrl 21; if(FILLMAINSTATE == 1) then {_btnAntiSpawnMenu ctrlSetTextColor [0,1,0,1];} else {_btnAntiSpawnMenu ctrlSetTextColor [1,1,1,1];}; _btnAntiHackLog = _display displayCtrl 23; if(FILLMAINSTATE == 3) then {_btnAntiHackLog ctrlSetTextColor [0,1,0,1];} else {_btnAntiHackLog ctrlSetTextColor [1,1,1,1];}; _btnAdminLog = _display displayCtrl 24; if(FILLMAINSTATE == 4) then {_btnAdminLog ctrlSetTextColor [0,1,0,1];} else {_btnAdminLog ctrlSetTextColor [1,1,1,1];}; _btnItems = _display displayCtrl 36; if((LASTSUBBUTTON == 0)&&(FILLMAINSTATE == 1)) then {_btnItems ctrlSetTextColor [0,1,0,1];} else {_btnItems ctrlSetTextColor [1,1,1,1];}; _btnVehs = _display displayCtrl 37; if(LASTSUBBUTTON == 1) then {_btnVehs ctrlSetTextColor [0,1,0,1];} else {_btnVehs ctrlSetTextColor [1,1,1,1];}; _btnMisc = _display displayCtrl 38; if(LASTSUBBUTTON == 2) then {_btnMisc ctrlSetTextColor [0,1,0,1];} else {_btnMisc ctrlSetTextColor [1,1,1,1];}; _mytime = 0.3; _ctrlR = _display displayCtrl RIGHT_CTRL_ID; if(isNil 'ctrlposR') then {ctrlposR = ctrlPosition _ctrlR;}; uiNamespace setVariable['A3MAPICONS_adminMap', nil]; uiNamespace setVariable['A3MAPICONS_adminMap', findDisplay MAIN_DISPLAY_ID displayCtrl 7]; _ctrlMAP = (uiNamespace getVariable 'A3MAPICONS_adminMap'); _ctrlMAP ctrlEnable true; _ctrlMAP ctrlShow true; _ctrlMAP ctrlRemoveAllEventHandlers 'Draw'; _ctrlMAP ctrlRemoveAllEventHandlers 'MouseButtonDown'; if(MapOnisON) then { if(!isNil 'fnc_MapIcons_run') then {_ctrlMAP ctrlAddEventHandler ['Draw', '_this call fnc_draw_MapIcons'];}; _ctrlMAP ctrlAddEventHandler ['MouseButtonDown','call fnc_MouseButtonDown']; }; _btnMapOnOff = _display displayCtrl 25; if(MapOnisON) then {_btnMapOnOff ctrlSetText 'Disable Map';}else{_btnMapOnOff ctrlSetText 'Enable Map';}; _ctrlRTMP = [(ctrlposR select 0),(ctrlposR select 1),(ctrlposR select 2)*2.35,(ctrlposR select 3)]; if(FILLMAINSTATE == 0) then { _ctrlRTMP = ctrlposR; }; if(FILLMAINSTATE == 1) then { _ctrlRTMP = [(ctrlposR select 0),(ctrlposR select 1)+.25,(ctrlposR select 2),(ctrlposR select 3)-.25]; }; if((FILLMAINSTATE == 3) || (FILLMAINSTATE == 4) || !MapOnisON) then { _ctrlMAP ctrlEnable false; _ctrlMAP ctrlShow false; }; _ctrlR ctrlSetPosition _ctrlRTMP; _ctrlR ctrlCommit _mytime; }; fnc_fill_HackLog = { disableSerialization; _ctrl = (findDisplay MAIN_DISPLAY_ID) displayCtrl RIGHT_CTRL_ID; lbclear _ctrl; _ctrl lbAdd 'clear ingame HackLog'; _ctrl lbAdd 'DBL-CLICK TO SYSTEMCHAT'; _ctrl lbAdd '--------------------'; _ctrl lbAdd format['HackLog: %1',count AH_HackLogArray]; {_ctrl lbAdd _x;} forEach AH_HackLogArray; _ctrl lbAdd ''; _ctrl lbAdd format['SurveillanceLog: %1',count AH_SurvLogArray]; {_ctrl lbAdd _x;} forEach AH_SurvLogArray; _ctrl lbAdd ''; _ctrl lbAdd format['BanLog: %1',count PVAH_AHTMPBAN]; if(str PVAH_AHTMPBAN != '[]') then { _ctrl lbAdd 'DBL-CLICK TO REMOVE'; {_ctrl lbAdd _x;} forEach PVAH_AHTMPBAN; }; for '_i' from 0 to 10 do {_ctrl lbAdd '';}; }; fnc_fill_AdminLog = { disableSerialization; _ctrl = (findDisplay MAIN_DISPLAY_ID) displayCtrl RIGHT_CTRL_ID; lbclear _ctrl; if('AdminLog' in (call ADMINLEVELACCESS)) then { _ctrl lbAdd 'clear ingame AdminLog'; _ctrl lbAdd 'DBL-CLICK TO SYSTEMCHAT'; {_ctrl lbAdd _x;} forEach AH_AdmiLogArray; } else { _ctrl lbAdd 'Nothin to see here'; }; for '_i' from 0 to 10 do {_ctrl lbAdd '';}; }; fnc_fill_infiSTAR_MAIN = { disableSerialization; _ctrl = (findDisplay MAIN_DISPLAY_ID) displayCtrl RIGHT_CTRL_ID; lbclear _ctrl; _ADMINLEVELACCESS = call ADMINLEVELACCESS; infiSTAR_SubMenus = [ '==== Weapons ====','==== Magazines ====','==== Bags ====','==== Vehicles ====', '==== Objects ====','==== Loadouts ====','==== OnTarget ====','==== Toggleable ====', '==== AltisLife Misc ====','==== AltisLife Money ====' ]; infiSTAR_OnTargetNICE = [ 'Teleport - Target To Me','Teleport - Me To Target', 'Request Steam Name *experimental*','Revive','Heal','Repair', 'Move In My Vehicle','Move In Target Vehicle','Move In Parachute', 'Add / Remove Crypto','UnFreeze Target' ]; if(infiSTAR_MOD != 'Epoch') then { { infiSTAR_OnTargetNICE = infiSTAR_OnTargetNICE - [_x]; } forEach ['Revive','Add / Remove Crypto']; }; infiSTAR_OnTargetEVIL = [ 'Freeze Target','Remove Gear','Kill','Explode','Zeus','Delete Vehicle','Eject','Eject Crew', 'Force Disconnect','Kick (Silent)','Kick (Announce)','Ban (Silent)','Ban (Announce)', 'Spawn UAV','Spawn Cloak','Spawn Sapper','Spawn SapperB' ]; if(infiSTAR_MOD != 'Epoch') then { { infiSTAR_OnTargetEVIL = infiSTAR_OnTargetEVIL - [_x]; } forEach ['Spawn UAV','Spawn Cloak','Spawn Sapper','Spawn SapperB']; }; infiSTAR_OnTarget = infiSTAR_OnTargetNICE + infiSTAR_OnTargetEVIL; infiSTAR_Toggleable = [ 'infiSTAR Player ESP','infiSTAR AI ESP','infiSTAR Dead ESP','Epoch Player ESP','Epoch Vehicle ESP', 'infiSTAR MapIcons','Vehicle Marker','PlotPole Marker','Construction Marker','LockBox Marker','DeadPlayer Marker', 'God Mode','Vehicle God Mode','Lower Terrain','Vehboost','UnlimAmmo','noRecoil','FastFire', 'Stealth / Invisible','Disable Announces','Show FPS' ]; if(infiSTAR_MOD != 'Epoch') then { { infiSTAR_Toggleable = infiSTAR_Toggleable - [_x]; } forEach ['PlotPole Marker','Construction Marker','LockBox Marker','Epoch Player ESP','Epoch Vehicle ESP']; }; infiSTAR_AltisLifeMisc = [ 'Give All Liscenses' ]; infiSTAR_AltisLifeMoney = [ 'CASH','BANK', '---', '50K Cash','100K Cash','250K Cash','500K Cash','750K Cash','1.150K Cash','2.500K Cash','5.000K Cash','10.000K Cash', '50K Bank','100K Bank','250K Bank','500K Bank','750K Bank','1.150K Bank','2.500K Bank','5.000K Bank','10.000K Bank' ]; infiSTAR_Loadouts = [ 'Epoch 1','Epoch 2', 'Sub Machinegun Kit','Light Infantry Kit','Heavy Infantry Kit','DMR Sniper Kit','LLR Sniper Kit', 'Lynx Sniper Kit','M107 Sniper Kit' ]; if(infiSTAR_MOD != 'Epoch') then { { infiSTAR_Loadouts = infiSTAR_Loadouts - [_x]; } forEach ['Epoch 1','Epoch 2']; }; if(FILLMAINSTATE == 1) then { switch (LASTSUBBUTTON) do { case 0:{ if('==== Weapons ====' in _ADMINLEVELACCESS) then { _ctrl lbAdd '==== Weapons ===='; if(!isNil 'infiSTAR_add_weapons') then { if(infiSTAR_MOD == 'Epoch') then { _ctrl lbAdd ' ==== Epoch Weapons ===='; { _ctrl lbAdd format['%1 (%2)',getText(configFile >> 'CfgWeapons' >> _x >> 'displayName'),_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; } forEach ALL_WEPS_TO_SEARCH_EPOCH; _ctrl lbAdd ' ==== Other Weapons ===='; { _ctrl lbAdd format['%1 (%2)',getText(configFile >> 'CfgWeapons' >> _x >> 'displayName'),_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; _ctrl lbSetColor [(lbsize _ctrl)-1,[1,0,0,1]]; } forEach ALL_WEPS_TO_SEARCH_NONEEPOCH; } else { { _ctrl lbAdd format['%1 (%2)',getText(configFile >> 'CfgWeapons' >> _x >> 'displayName'),_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; } forEach ALL_WEPS_TO_SEARCH_C; }; }; }; if('==== Magazines ====' in _ADMINLEVELACCESS) then { _ctrl lbAdd '==== Magazines ===='; if(!isNil 'infiSTAR_add_magazines') then { if(infiSTAR_MOD == 'Epoch') then { _ctrl lbAdd ' ==== Epoch Magazines ===='; { _ctrl lbAdd format['%1 (%2)',getText(configFile >> 'CfgMagazines' >> _x >> 'displayName'),_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; } forEach ALL_MAGS_TO_SEARCH_EPOCH; _ctrl lbAdd ' ==== Other Magazines ===='; { _ctrl lbAdd format['%1 (%2)',getText(configFile >> 'CfgMagazines' >> _x >> 'displayName'),_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; _ctrl lbSetColor [(lbsize _ctrl)-1,[1,0,0,1]]; } forEach ALL_MAGS_TO_SEARCH_NONEEPOCH; } else { { _ctrl lbAdd format['%1 (%2)',getText(configFile >> 'CfgMagazines' >> _x >> 'displayName'),_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; } forEach ALL_MAGS_TO_SEARCH_C; }; }; }; if('==== Bags ====' in _ADMINLEVELACCESS) then { _ctrl lbAdd '==== Bags ===='; if(!isNil 'infiSTAR_add_bags') then { if(infiSTAR_MOD == 'Epoch') then { _ctrl lbAdd ' ==== Epoch Bags ===='; { _ctrl lbAdd format['%1 (%2)',getText(configFile >> 'CfgVehicles' >> _x >> 'displayName'),_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; } forEach ALL_BAGS_TO_SEARCH_EPOCH; _ctrl lbAdd ' ==== Other Bags ===='; { _ctrl lbAdd format['%1 (%2)',getText(configFile >> 'CfgVehicles' >> _x >> 'displayName'),_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; _ctrl lbSetColor [(lbsize _ctrl)-1,[1,0,0,1]]; } forEach ALL_BAGS_TO_SEARCH_NONEEPOCH; } else { { _ctrl lbAdd format['%1 (%2)',getText(configFile >> 'CfgVehicles' >> _x >> 'displayName'),_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; } forEach ALL_BAGS_TO_SEARCH_C; }; }; }; }; case 1:{ if('==== Vehicles ====' in _ADMINLEVELACCESS) then { if(!isNil'EPOCH_VehicleSlotCount')then { _ctrl lbAdd format['vehicle slots: %1 (destroy/delete a vehicle to get a slot!)',EPOCH_VehicleSlotCount]; }; _ctrl lbAdd '==== Vehicles ===='; if(!isNil 'infiSTAR_add_vehicles') then { if(infiSTAR_MOD == 'Epoch') then { _ctrl lbAdd ' ==== Epoch Vehicles (checked existing vehicles and config) ===='; { _ctrl lbAdd format['%1 (%2)',getText(configFile >> 'CfgVehicles' >> _x >> 'displayName'),_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; } forEach ALL_VEHS_TO_SEARCH_EPOCH; _ctrl lbAdd ' ==== Other Vehicles ===='; { _ctrl lbAdd format['%1 (%2)',getText(configFile >> 'CfgVehicles' >> _x >> 'displayName'),_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; _ctrl lbSetColor [(lbsize _ctrl)-1,[1,0,0,1]]; } forEach ALL_VEHS_TO_SEARCH_NONEEPOCH; } else { { _ctrl lbAdd format['%1 (%2)',getText(configFile >> 'CfgVehicles' >> _x >> 'displayName'),_x]; _x call fnc_addpic; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; } forEach ALL_VEHS_TO_SEARCH_C; }; }; }; }; case 2:{ if('==== Objects ====' in _ADMINLEVELACCESS) then { _ctrl lbAdd '==== Objects ===='; if(!isNil 'infiSTAR_add_objects') then { if(infiSTAR_MOD == 'Epoch') then { _ctrl lbAdd ' ==== Epoch Objects ===='; { _ctrl lbAdd format['%1 (%2)',getText(configFile >> 'CfgVehicles' >> _x >> 'displayName'),_x]; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; } forEach ALL_OBJS_TO_SEARCH_EPOCH; _ctrl lbAdd ' ==== Other Objects ===='; { _ctrl lbAdd format['%1 (%2)',getText(configFile >> 'CfgVehicles' >> _x >> 'displayName'),_x]; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; _ctrl lbSetColor [(lbsize _ctrl)-1,[1,0,0,1]]; } forEach ALL_OBJS_TO_SEARCH_NONEEPOCH; } else { _ctrl lbAdd ' ==== Objects ===='; { _ctrl lbAdd format['%1 (%2)',getText(configFile >> 'CfgVehicles' >> _x >> 'displayName'),_x]; _ctrl lbSetData [(lbsize _ctrl)-1,_x]; } forEach ALL_OBJS_TO_SEARCH_C; }; }; }; }; }; }; if(FILLMAINSTATE == 0) then { _ctrl lbAdd '==== OnTarget ===='; if(isNil 'infiSTAR_add_OnTarget') then { { if(_x in _ADMINLEVELACCESS) then { _ctrl lbAdd _x; }; } forEach infiSTAR_OnTargetNICE; _ctrl lbAdd '---'; { if(_x in _ADMINLEVELACCESS) then { _ctrl lbAdd _x; }; } forEach infiSTAR_OnTargetEVIL; }; _ctrl lbAdd '==== Toggleable ===='; if(isNil 'infiSTAR_add_Toggleable') then { { if(_x in _ADMINLEVELACCESS) then { _ctrl lbAdd _x; }; } forEach infiSTAR_Toggleable; }; if(infiSTAR_MOD == 'AltisLife') then { _ctrl lbAdd '==== AltisLife Misc ===='; if(!isNil 'infiSTAR_add_AltisLife') then { { if(_x in _ADMINLEVELACCESS) then { _ctrl lbAdd _x; }; } forEach infiSTAR_AltisLifeMisc; }; if('==== AltisLife Money ====' in _ADMINLEVELACCESS) then { _ctrl lbAdd '==== AltisLife Money ===='; if(!isNil 'infiSTAR_add_AltisLifeMoney') then { { _ctrl lbAdd _x; } forEach infiSTAR_AltisLifeMoney; _ctrl lbAdd ''; }; }; }; if('==== Loadouts ====' in _ADMINLEVELACCESS) then { _ctrl lbAdd '==== Loadouts ===='; if(isNil 'infiSTAR_add_Loadouts') then { { _ctrl lbAdd _x; } forEach infiSTAR_Loadouts; _ctrl lbAdd '---'; }; }; if('AdminConsole' in _ADMINLEVELACCESS) then {_ctrl lbAdd 'AdminConsole';}; if('Mass Message' in _ADMINLEVELACCESS) then {_ctrl lbAdd 'Mass Message';}; if('FreeRoam Cam (RightClick to exit)' in _ADMINLEVELACCESS) then {_ctrl lbAdd 'FreeRoam Cam (RightClick to exit)'}; if('Call EMP' in _ADMINLEVELACCESS) then {_ctrl lbAdd 'Call EMP'}; if('DayTime' in _ADMINLEVELACCESS) then {_ctrl lbAdd 'DayTime';}; if('NightTime' in _ADMINLEVELACCESS) then {_ctrl lbAdd 'NightTime';}; if('Spawn Epoch-Box' in _ADMINLEVELACCESS) then {if(infiSTAR_MOD == 'Epoch') exitWith {_ctrl lbAdd 'Spawn Epoch-Box';};}; if('Spawn Support-Box1' in _ADMINLEVELACCESS) then {_ctrl lbAdd 'Spawn Support-Box1';}; if('Spawn Support-Box2' in _ADMINLEVELACCESS) then {_ctrl lbAdd 'Spawn Support-Box2';}; if('Spawn Support-Box3' in _ADMINLEVELACCESS) then {_ctrl lbAdd 'Spawn Support-Box3';}; if('Spawn Ammo' in _ADMINLEVELACCESS) then {_ctrl lbAdd 'Spawn Ammo';}; _ctrl lbAdd 'Self Disconnect'; _target = lbtext[LEFT_CTRL_ID,(lbCurSel LEFT_CTRL_ID)]; if('Login as Arma Admin' in _ADMINLEVELACCESS) then { if(isNil 'serverCommandLoginDone') then {_ctrl lbAdd 'Login';}; if(serverCommandAvailable '#logout')then { _ctrl lbAdd format['#kick %1',_target]; _ctrl lbAdd format['#exec ban %1',str _target]; }; }; }; [] call fnc_colorizeMain; for '_i' from 0 to 10 do {_ctrl lbAdd '';}; }; fnc_infiSTAR_get_LeftClicks = {playableUnits+allDeadMen}; fnc_fill_infiSTAR_Player = { disableSerialization; if(!isNil 'filling_infiSTAR_Player') exitWith {}; filling_infiSTAR_Player = positionCameraToWorld [0,0,0]; _ctrl = (findDisplay MAIN_DISPLAY_ID) displayCtrl LEFT_CTRL_ID; lbclear _ctrl; _puid = getPlayerUID player; _unsorted = call fnc_infiSTAR_get_LeftClicks; _sorted = _unsorted; if(!isNil 'SortRangePlease') then {_sorted = [_unsorted,[],{filling_infiSTAR_Player distance _x},'ASCEND'] call BIS_fnc_sortBy;}; lbclear _ctrl; { _PUIDX = getPlayerUID _x; if(_PUIDX != '') then { _name = _x getVariable['realname',name _x]; if(infiSTAR_MOD != 'Epoch') then {_name = format['%1 [%2]',_name,side _x];}; _ctrl lbAdd _name; _clr = [1,1,1,1]; _veh = vehicle _x; _plrpic = getText (configFile >> 'CfgVehicles' >> (typeOf _veh) >> 'picture'); if(alive _x) then { _clr = [0.2,0.2,0.9,1]; if(_x == _veh) then { _clr = [1,0.17,0.17,1]; _wpnstate = weaponState _x; _cwep = _wpnstate select 0; if(_cwep != '') then { _plrpic = getText (configFile >> 'CfgWeapons' >> _cwep >> 'picture'); }; }; }; if(((_PUIDX in infiSTAR_ADMINS) && !(_PUIDX in infiSTAR_DEVS)) || ((_PUIDX in infiSTAR_DEVS) && (_puid in infiSTAR_DEVS)) || (_PUIDX == _puid)) then { _clr = [0,1,0,1]; }; if(!isNull SELECTED_TARGET_PLAYER) then {if(_PUIDX isEqualTo getPlayerUID SELECTED_TARGET_PLAYER) then {_clr = [1,0.7,0.15,1];};}; _ctrl lbSetColor [(lbsize _ctrl)-1,_clr]; _ctrl lbSetPicture [(lbsize _ctrl)-1,_plrpic]; _ctrl lbSetPictureColor [(lbsize _ctrl)-1,[1, 1, 1, 1]]; }; } forEach _sorted; _display = findDisplay MAIN_DISPLAY_ID; _btnSortAlpha = _display displayCtrl 11;if(!isNil 'SortAlphaPlease') then {lbSort _ctrl;_btnSortAlpha ctrlSetTextColor [0,1,0,1];} else {_btnSortAlpha ctrlSetTextColor [1,1,1,1];}; _btnSortRange = _display displayCtrl 10;if(!isNil 'SortRangePlease') then {_btnSortRange ctrlSetTextColor [0,1,0,1];} else {_btnSortRange ctrlSetTextColor [1,1,1,1];}; _ctrl lbAdd '--------------------'; _ctrl lbAdd 'Green -> Admin';_ctrl lbSetColor [(lbsize _ctrl)-1,[0,1,0,1]]; _ctrl lbAdd 'Red -> Player';_ctrl lbSetColor [(lbsize _ctrl)-1,[1,0.17,0.17,1]]; _ctrl lbAdd 'Blue -> Player in Vehicle';_ctrl lbSetColor [(lbsize _ctrl)-1,[0.2,0.2,0.9,1]]; _ctrl lbAdd 'White -> Dead Player';_ctrl lbSetColor [(lbsize _ctrl)-1,[1,1,1,1]]; for '_i' from 0 to 10 do {_ctrl lbAdd '';}; filling_infiSTAR_Player = nil; }; fnc_LBDblClick_LEFT = { _target = lbtext[LEFT_CTRL_ID,(lbCurSel LEFT_CTRL_ID)]; if(_target == 'Sort by Range') then {SortAlphaPlease = nil;SortRangePlease = true;[] call fnc_fill_infiSTAR_Player;[] call fnc_setFocus;}; if(_target == 'Sort by Name') then {SortRangePlease = nil;SortAlphaPlease = true;[] call fnc_fill_infiSTAR_Player;[] call fnc_setFocus;}; SELECTED_DOUBLECLICK_TARGET = objNull; if(!isNil 'SELECTED_TARGET_PLAYER') then { if(!isNull SELECTED_TARGET_PLAYER) then { SELECTED_DOUBLECLICK_TARGET = SELECTED_TARGET_PLAYER; }; }; if(isNull SELECTED_DOUBLECLICK_TARGET) then { _break = false; { _puid = getPlayerUID _x; if(_puid != '') then { _search = name _x; if(infiSTAR_MOD != 'Epoch') then {_search = format['%1 [%2]',name _x,side _x];}; if(_search == _target) then { _break = true; SELECTED_DOUBLECLICK_TARGET = _x; }; }; if(_break) exitWith {true}; } forEach (call fnc_infiSTAR_get_LeftClicks); }; _ADMINLEVELACCESS = call ADMINLEVELACCESS; if('spectating' in _ADMINLEVELACCESS) then {[] spawn adminspec;}; }; fnc_LBSelChanged_LEFT = { _target = lbtext[LEFT_CTRL_ID,(lbCurSel LEFT_CTRL_ID)]; _break = false; _puid = ''; SELECTED_TARGET_PLAYER = objNull; { _puid = getPlayerUID _x; if(_puid != '') then { _search = name _x; if(infiSTAR_MOD != 'Epoch') then {_search = format['%1 [%2]',name _x,side _x];}; if(_search == _target) then { _break = true; SELECTED_TARGET_PLAYER = _x; }; }; if(_break) exitWith {true}; } forEach (call fnc_infiSTAR_get_LeftClicks); SELECTED_TARGET_PLAYER }; fnc_LBDblClick_RIGHT = { _click = lbtext[RIGHT_CTRL_ID,(lbCurSel RIGHT_CTRL_ID)]; if(_click == '') exitWith {}; if(_click in AH_HackLogArray) exitWith {systemchat _click;hint _click;diag_log _click;}; if(_click in AH_SurvLogArray) exitWith {systemchat _click;hint _click;diag_log _click;}; if(_click in AH_AdmiLogArray) exitWith {systemchat _click;hint _click;diag_log _click;}; if(_click in PVAH_AHTMPBAN) exitWith { [-667,player,_click] call fnc_AdminReq; systemchat format['Removed %1 from TempBan Variable. Might still be banned in ban(s).txt',_click]; [] call fnc_fill_HackLog;[] call fnc_setFocus; }; if(_click in infiSTAR_Toggleable) then { _stop = false; if(_click in ['infiSTAR Player ESP','infiSTAR AI ESP','infiSTAR Dead ESP']) then { if(!isNil'EPOCH_ESP_PLAYER') then {if(EPOCH_ESP_PLAYER) then {_stop = true;};}; if(!isNil'EPOCH_ESP_VEHICLES') then {if(EPOCH_ESP_VEHICLES) then {_stop = true;};}; }; if(_stop) exitWith { _log = 'Disable EPOCH ESP first!'; hint _log; cutText [format[_log], 'PLAIN DOWN']; }; if((!isNil'fnc_infiESP_statePlayer')&&(_click in ['Epoch Player ESP','Epoch Vehicle ESP'])) exitWith { _log = 'Disable infiSTAR Player ESP first!'; hint _log; cutText [format[_log], 'PLAIN DOWN']; }; if((!isNil'fnc_infiESP_stateAI')&&(_click in ['Epoch Player ESP','Epoch Vehicle ESP'])) exitWith { _log = 'Disable infiSTAR AI ESP first!'; hint _log; cutText [format[_log], 'PLAIN DOWN']; }; if((!isNil'fnc_infiESP_stateDEAD')&&(_click in ['Epoch Player ESP','Epoch Vehicle ESP'])) exitWith { _log = 'Disable infiSTAR DEAD ESP first!'; hint _log; cutText [format[_log], 'PLAIN DOWN']; }; switch (_click) do { case 'infiSTAR Player ESP':{call infiSTAR_fnc_infiESP_player;}; case 'infiSTAR AI ESP':{call infiSTAR_fnc_infiESP_AI;}; case 'infiSTAR Dead ESP':{call infiSTAR_fnc_infiESP_DEAD;}; case 'Epoch Player ESP':{true spawn fnc_Epochs_ESP;}; case 'Epoch Vehicle ESP':{false spawn fnc_Epochs_ESP;}; case 'infiSTAR MapIcons':{call infiSTAR_A3MAPICONS;}; case 'PlotPole Marker':{call adminPlotPole;}; case 'Vehicle Marker':{call adminVehicleMarker;}; case 'Construction Marker':{call adminConstructions;}; case 'LockBox Marker':{call adminLockBox;}; case 'DeadPlayer Marker':{call adminDeadPlayer;}; case 'God Mode':{call infiSTAR_A3Invulnerability;}; case 'Vehicle God Mode':{call fnc_infiSTAR_A3cargod;}; case 'Lower Terrain':{call fnc_LowerTerrain;}; case 'Vehboost':{call infiSTAR_VehicleBoost;}; case 'UnlimAmmo':{[] spawn fnc_infiSTAR_A3UnlAmmo;}; case 'noRecoil':{[] spawn fnc_infiSTAR_A3noRecoil;}; case 'FastFire':{[] spawn fnc_infiSTAR_A3FF;}; case 'Stealth / Invisible':{call fnc_infiSTARHIDE;}; case 'Disable Announces':{call fnc_DisableAnnouncements;}; case 'Show FPS':{call infiSTAR_A3showfps;}; }; if(_click in infiSTAR_toggled_A) then { lbSetColor [RIGHT_CTRL_ID,1,[1,0,0,1]]; infiSTAR_toggled_A = infiSTAR_toggled_A - [_click]; format['%1 - 0',_click] call fnc_adminLog; } else { lbSetColor [RIGHT_CTRL_ID,1,[0,1,0,1]]; infiSTAR_toggled_A pushBack _click; format['%1 - 1',_click] call fnc_adminLog; }; }; if(_click in infiSTAR_OnTarget) then { _target = lbtext[LEFT_CTRL_ID,(lbCurSel LEFT_CTRL_ID)]; _uid = ''; if(_target == '') then { hint 'You did not select a Target!'; } else { if(isNil 'SELECTED_TARGET_PLAYER') then {SELECTED_TARGET_PLAYER = objNull;}; _unit = SELECTED_TARGET_PLAYER; if(isNull _unit) then { _unit = objNull; _break = false; { _uid = getPlayerUID _x; if(_uid != '') then { _search = name _x; if(infiSTAR_MOD != 'Epoch') then {_search = format['%1 [%2]',name _x,side _x]}; if(_search == _target) then { _break = true; _unit = _x; }; }; if(_break) exitWith {true}; } forEach (call fnc_infiSTAR_get_LeftClicks); }; if(!isNull _unit) then { if(_uid == '')then { _uid = getPlayerUID _unit; }; switch (_click) do { case 'Teleport - Target To Me':{[_unit] call fnc_TP2ME;}; case 'Teleport - Me To Target':{[_unit] call fnc_TPME2;}; case 'Request Steam Name *experimental*':{[_unit] call fnc_getSteamName;}; case 'Remove Gear':{[_unit] call fnc_RemoveGear;}; case 'Revive':{[_unit] call fnc_ReviveTarget;}; case 'Heal':{[_unit] call fnc_HealTarget;}; case 'Repair':{[_unit] call fnc_RepairTarget;}; case 'Move In My Vehicle':{[_unit] call fnc_MoveInMyVehicle;}; case 'Move In Target Vehicle':{[_unit] call fnc_MoveInTargetVehicle;}; case 'Move In Parachute':{[_unit] call fnc_MoveInParachute;}; case 'Freeze Target':{[_unit,true] call fnc_freezeTarget;}; case 'UnFreeze Target':{[_unit,false] call fnc_freezeTarget;}; case 'Add / Remove Crypto':{[] spawn fnc_spawn_CryptoINSERTVALUE;}; case 'Spawn UAV':{[_unit,'I_UAV_01_F'] call fnc_spawn_EVENT;}; case 'Spawn Cloak':{[_unit,'Epoch_Cloak_F'] call fnc_spawn_EVENT;}; case 'Spawn Sapper':{[_unit,'Epoch_Sapper_F'] call fnc_spawn_EVENT;}; case 'Spawn SapperB':{[_unit,'Epoch_SapperB_F'] call fnc_spawn_EVENT;}; case 'Eject':{[_unit] call fnc_EjectTargetVeh;}; case 'Eject Crew':{[_unit] call fnc_EjectCrewTargetVeh;}; case 'Kill':{[_unit] call fnc_Kill_selected;}; case 'Explode':{[_unit] call fnc_Explode_selected;}; case 'Zeus':{[_unit] call zeus_attack;}; case 'Delete Vehicle':{[_unit] call fnc_deleteVeh_selected;}; case 'Force Disconnect':{[_unit] call fnc_Disconnect_selected;}; case 'Kick (Silent)':{[_unit,0] call fnc_Kick_selected;}; case 'Kick (Announce)':{[_unit,1] spawn fnc_Kick_selected;}; case 'Ban (Silent)':{[_unit,0] call fnc_Ban_selected;}; case 'Ban (Announce)':{[_unit,1] spawn fnc_Ban_selected;}; }; _log = format['%1 - %2(%3)',_click,_target,_uid];_log call fnc_adminLog; }; }; }; if(infiSTAR_MOD == 'AltisLife') then { if(_click in infiSTAR_AltisLifeMisc) then { if(_click == 'Give All Liscenses') then {{missionnamespace setVariable[(_x select 0),true];} foreach life_licenses;}; _click call fnc_adminLog; }; if(_click in infiSTAR_AltisLifeMoney) then { switch (_click) do { case '50K Cash':{['cash',50000] call fnc_AltisLife_cash;}; case '100K Cash':{['cash',100000] call fnc_AltisLife_cash;}; case '250K Cash':{['cash',250000] call fnc_AltisLife_cash;}; case '500K Cash':{['cash',500000] call fnc_AltisLife_cash;}; case '750K Cash':{['cash',750000] call fnc_AltisLife_cash;}; case '1.150K Cash':{['cash',1150000] call fnc_AltisLife_cash;}; case '2.500K Cash':{['cash',2500000] call fnc_AltisLife_cash;}; case '5.000K Cash':{['cash',5000000] call fnc_AltisLife_cash;}; case '10.000K Cash':{['cash',10000000] call fnc_AltisLife_cash;}; case '50K Bank':{['bank',50000] call fnc_AltisLife_cash;}; case '100K Bank':{['bank',100000] call fnc_AltisLife_cash;}; case '250K Bank':{['bank',250000] call fnc_AltisLife_cash;}; case '500K Bank':{['bank',500000] call fnc_AltisLife_cash;}; case '750K Bank':{['bank',750000] call fnc_AltisLife_cash;}; case '1.150K Bank':{['bank',1150000] call fnc_AltisLife_cash;}; case '2.500K Bank':{['bank',2500000] call fnc_AltisLife_cash;}; case '5.000K Bank':{['bank',5000000] call fnc_AltisLife_cash;}; case '10.000K Bank':{['bank',10000000] call fnc_AltisLife_cash;}; }; _click call fnc_adminLog; }; }; if(_click in infiSTAR_Loadouts) then { switch (_click) do { case 'Epoch 1':{[0] call fnc_add_loadout;}; case 'Epoch 2':{[1] call fnc_add_loadout;}; case 'Sub Machinegun Kit':{[2] call fnc_add_loadout;}; case 'Light Infantry Kit':{[3] call fnc_add_loadout;}; case 'Heavy Infantry Kit':{[4] call fnc_add_loadout;}; case 'DMR Sniper Kit':{[5] call fnc_add_loadout;}; case 'LLR Sniper Kit':{[6] call fnc_add_loadout;}; case 'Lynx Sniper Kit':{[7] call fnc_add_loadout;}; case 'M107 Sniper Kit':{[8] call fnc_add_loadout;}; }; _click call fnc_adminLog; }; switch (_click) do { case '==== OnTarget ====':{if(isNil 'infiSTAR_add_OnTarget') then {infiSTAR_add_OnTarget = true;} else {infiSTAR_add_OnTarget = nil;};}; case '==== Toggleable ====':{if(isNil 'infiSTAR_add_Toggleable') then {infiSTAR_add_Toggleable = true;} else {infiSTAR_add_Toggleable = nil;};}; case '==== AltisLife Misc ====':{if(isNil 'infiSTAR_add_AltisLife') then {infiSTAR_add_AltisLife = true;} else {infiSTAR_add_AltisLife = nil;};}; case '==== AltisLife Money ====':{if(isNil 'infiSTAR_add_AltisLifeMoney') then {infiSTAR_add_AltisLifeMoney = true;} else {infiSTAR_add_AltisLifeMoney = nil;};}; case '==== Loadouts ====':{if(isNil 'infiSTAR_add_Loadouts') then {infiSTAR_add_Loadouts = true;} else {infiSTAR_add_Loadouts = nil;};}; case '==== Weapons ====':{if(isNil 'infiSTAR_add_weapons') then {infiSTAR_add_weapons = true;} else {infiSTAR_add_weapons = nil;};}; case '==== Magazines ====':{if(isNil 'infiSTAR_add_magazines') then {infiSTAR_add_magazines = true;} else {infiSTAR_add_magazines = nil;};}; case '==== Bags ====':{if(isNil 'infiSTAR_add_bags') then {infiSTAR_add_bags = true;} else {infiSTAR_add_bags = nil;};}; case '==== Vehicles ====':{if(isNil 'infiSTAR_add_vehicles') then {infiSTAR_add_vehicles = true;} else {infiSTAR_add_vehicles = nil;};}; case '==== Objects ====':{if(isNil 'infiSTAR_add_objects') then {infiSTAR_add_objects = true;} else {infiSTAR_add_objects = nil;};}; case 'clear ingame HackLog':{[0] call fnc_clearLogArray;_click call fnc_adminLog;[] call fnc_fill_HackLog;}; case 'clear ingame AdminLog':{[1] call fnc_clearLogArray;_click call fnc_adminLog;[] call fnc_fill_AdminLog;}; case 'FreeRoam Cam (RightClick to exit)':{call fnc_FreeRoamCam;}; case 'Call EMP':{[] call fnc_startEMP;_click call fnc_adminLog;}; case 'AdminConsole':{[] spawn fnc_RscDisplayDebugPublic;'AdminConsole' call fnc_adminLog;}; case 'Mass Message':{[] call fnc_mass_message;}; case 'DayTime':{[11] call fnc_spawn_timemachine;_click call fnc_adminLog;}; case 'NightTime':{[23] call fnc_spawn_timemachine;_click call fnc_adminLog;}; case 'Spawn Epoch-Box':{[0] call fnc_spawn_Box;_click call fnc_adminLog;}; case 'Spawn Support-Box1':{[1] call fnc_spawn_Box;_click call fnc_adminLog;}; case 'Spawn Support-Box2':{[2] call fnc_spawn_Box;_click call fnc_adminLog;}; case 'Spawn Support-Box3':{[3] call fnc_spawn_Box;_click call fnc_adminLog;}; case 'Spawn Ammo':{[] call infiSTAR_A3addAmmo;}; case 'Self Disconnect':{_click call fnc_adminLog;(finddisplay 46) closeDisplay 0;}; }; _class = lbData[RIGHT_CTRL_ID,(lbCurSel RIGHT_CTRL_ID)]; if((_class find 'PaperCar' > -1)||(_click find 'PaperCar' > -1)) exitWith {'Kicked for trying to spawn a PaperCar' call fnc_adminLog;(finddisplay 46) closeDisplay 0;}; if(_class in ALL_VEHS_TO_SEARCH_C) exitWith { _target = if(isNull (call fnc_LBSelChanged_LEFT)) then {player} else {(call fnc_LBSelChanged_LEFT)}; _position = _target modelToWorld [0,8,0]; _dir = getDir (vehicle _target); _log = format['Spawning %1 infront of %2!',_click,name _target]; if(!isNil'EPOCH_VehicleSlotCount')exitWith { if((EPOCH_VehicleSlotCount == 0)&&((_class isKindOf 'Air' || _class isKindOf 'Ship' || _class isKindOf 'LandVehicle')))then { _log = format['no vehicle slots left to save %1 in the database (destroy/delete a vehicle to get a slot!)',_click]; cutText [_log, 'PLAIN DOWN']; hint _log; [0,player,_class,_position,_dir] call fnc_AdminReq; _log call fnc_adminLog; } else { cutText [_log, 'PLAIN DOWN']; hint _log; [0,player,_class,_position,_dir] call fnc_AdminReq; format['spawning %1',_click] call fnc_adminLog; }; }; cutText [_log, 'PLAIN DOWN']; hint _log; [0,player,_class,_position,_dir] call fnc_AdminReq; format['spawning %1',_click] call fnc_adminLog; }; if(_class in ALL_BAGS_TO_SEARCH_C) exitWith { _target = if(isNull (call fnc_LBSelChanged_LEFT)) then {player} else {(call fnc_LBSelChanged_LEFT)}; _pos = getPosATL _target; _log = format['Spawning %1 on the ground infront of %2!',_click,name _target]; cutText [_log, 'PLAIN DOWN']; hint _log; [3,player,_pos,_class] call fnc_AdminReq; format['spawning %1',_click] call fnc_adminLog; }; if(_class in ALL_OBJS_TO_SEARCH_C) exitWith { _target = if(isNull (call fnc_LBSelChanged_LEFT)) then {player} else {(call fnc_LBSelChanged_LEFT)}; LOCAL_OBJ = _class createVehicleLocal [0,0,0]; _bbr = boundingBoxReal LOCAL_OBJ; _p1 = _bbr select 0; _p2 = _bbr select 1; _maxWidth = abs ((_p2 select 0) - (_p1 select 0)); _maxLength = abs ((_p2 select 1) - (_p1 select 1)); _maxHeight = abs ((_p2 select 2) - (_p1 select 2)); _dist = (_maxWidth max _maxLength)*2; _dir = getDir (vehicle _target); LOCAL_OBJ setDir _dir; LOCAL_OBJ setPos (_target modelToWorld [0,_dist,(_maxHeight/2)]); call fnc_redoControlsMoveObj; _log = format['Spawning %1 infront of %2!',_click,name _target]; cutText [_log, 'PLAIN DOWN']; hint _log; format['spawning %1',_click] call fnc_adminLog; }; if(_class in ALL_WEPS_TO_SEARCH_C) exitWith { _target = if(isNull (call fnc_LBSelChanged_LEFT)) then {player} else {(call fnc_LBSelChanged_LEFT)}; _pos = getPosATL _target; _log = format['Spawning %1 on the ground infront of %2!',_click,name _target]; cutText [_log, 'PLAIN DOWN']; hint _log; [3,player,_pos,_class] call fnc_AdminReq; format['spawning %1',_click] call fnc_adminLog; }; if(_class in ALL_MAGS_TO_SEARCH_C) exitWith { _target = if(isNull (call fnc_LBSelChanged_LEFT)) then {player} else {(call fnc_LBSelChanged_LEFT)}; _pos = getPosATL _target; _log = format['Spawning %1 on the ground infront of %2!',_click,name _target]; cutText [_log, 'PLAIN DOWN']; hint _log; [3,player,_pos,_class] call fnc_AdminReq; format['spawning %1',_click] call fnc_adminLog; }; if(_click == 'Login') then {if(isNil 'serverCommandLoginDone') then {serverCommandLoginDone = true;serverCommand ('#login '+passwordAdmin);};}; if((_click find '#kick' > -1) || (_click find '#exec' > -1)) then {serverCommand _click;}; if((FILLMAINSTATE == 0)||(FILLMAINSTATE == 1)) then {[] call fnc_fill_infiSTAR_MAIN;}; }; fnc_LBSelChanged_RIGHT = { _class = lbData[RIGHT_CTRL_ID,(lbCurSel RIGHT_CTRL_ID)]; if!(_class in ALLC_TO_SEARCH) exitWith {}; _cfg = ''; if(isClass (configFile >> 'CfgWeapons' >> _class)) then { _cfg = 'CfgWeapons'; }; if(isClass (configFile >> 'CfgMagazines' >> _class)) then { _cfg = 'CfgMagazines'; }; if(isClass (configFile >> 'CfgVehicles' >> _class)) then { _cfg = 'CfgVehicles'; }; if(_cfg != '') then { _xposT = 0.7; _yposT = 0.875 * safezoneH + safezoneY; _txt = (gettext (configFile >> _cfg >> _class >> 'Library' >> 'libTextDesc')); if(_txt == '') then {_txt = 'by infiSTAR.de';}; [' <t size=''0.35''>'+_txt+' </t> ',_xposT,_yposT,15,0,0,8407] spawn bis_fnc_dynamicText; _xposP = 0.4 * safezoneW + safezoneX; _yposP = 0.775 * safezoneH + safezoneY; _pic = (getText (configFile >> _cfg >> _class >> 'picture')); if((toLower _pic) in ['','pictureheal','picturepapercar','picturething','picturestaticobject']) exitWith {}; [' <img size=''2'' image='''+_pic+'''/> ',_xposP,_yposP,15,0,0,8406] spawn bis_fnc_dynamicText; }; }; fnc_getConfig = { _cfg = ''; if(isClass (configFile >> 'CfgWeapons' >> _this)) then { _cfg = 'CfgWeapons'; } else { if(isClass (configFile >> 'CfgMagazines' >> _this)) then { _cfg = 'CfgMagazines'; } else { if(isClass (configFile >> 'CfgVehicles' >> _this)) then { _cfg = 'CfgVehicles'; }; }; }; _cfg }; admin_showGear = { closeDialog 0; if(!isNil 'SELECTED_DOUBLECLICK_TARGET') then { if(!isNull SELECTED_DOUBLECLICK_TARGET) then { createGearDialog [SELECTED_DOUBLECLICK_TARGET,'RscDisplayInventory']; cutText [format['Showing Gear of %1',name SELECTED_DOUBLECLICK_TARGET], 'PLAIN DOWN']; }; }; }; adminspec = { cutText ['Spectating - Press F10 to exit.', 'PLAIN DOWN']; if(isNil 'SpecateLoopActive') then { SpecateLoopActive = true; while {!isNil 'SpecateLoopActive'} do { if(isNil 'SELECTED_DOUBLECLICK_TARGET') then {SELECTED_DOUBLECLICK_TARGET = player;}; _unit = SELECTED_DOUBLECLICK_TARGET; if(isNull _unit) then {_unit = player;}; if(str(_unit) == '<NULL-object>') then {_unit = player;}; if(getPlayerUID _unit == '') then {_unit = player;}; _veh = vehicle _unit; if(str _veh != str cameraOn) then {_veh switchCamera cameraView;for '_i' from 3025 to 3045 do {['',0,0,1,0,0,_i] spawn bis_fnc_dynamicText;};}; _log = format['%1 (%2) @%3',name _unit,getPlayerUID _unit,mapGridPosition _veh]; ['<t align=''left'' size=''0.5'' color=''#238701''>'+_log+'</t>',safezoneX+0.2,safezoneY+0.405,0.3,0,0,3033] spawn bis_fnc_dynamicText; _log2 = format['Health: %1 Fatigue: %2',(1-(damage _unit))*100,round(getFatigue _unit)]; ['<t align=''left'' size=''0.5'' color=''#238701''>'+_log2+'</t>',safezoneX+0.2,safezoneY+0.435,0.3,0,0,3034] spawn bis_fnc_dynamicText; _cwep = ''; _cammo = ''; _cmags = ''; _wpnstate = weaponState _unit; if(!isNil '_wpnstate') then { if(str _wpnstate != '[]') then { _cwep = _wpnstate select 0; _cmags = {_wpnstate select 3 == _x} count magazines _unit; _cammo = _wpnstate select 4; }; }; if(_cwep == '') then { _log3 = 'Bare Fists'; ['<t align=''left'' size=''0.5'' color=''#238701''>'+_log3+'</t>',safezoneX+0.2,safezoneY+0.465,0.3,0,0,3035] spawn bis_fnc_dynamicText; } else { _type = _cwep; _cfg = _type call fnc_getConfig; _displayName = getText (configFile >> _cfg >> _type >> 'displayName'); _pic = getText (configFile >> _cfg >> _type >> 'picture'); _log3 = format[' %1 [%2] (%3/%4)',_displayName,_cwep,_cammo,_cmags]; [' <img size=''0.75'' image='''+_pic+''' align=''left''/> <t align=''left'' size=''0.5'' color=''#238701''>'+_log3+'</t> ', safezoneX+0.2,safezoneY+0.465,0.3,0,0,3035] spawn bis_fnc_dynamicText; if(_veh != _unit) then { _cwepsV = []; { if(_x find 'Horn' == -1) then { _cwepsV pushBack _x; }; } forEach (weapons _veh); if(count _cwepsV > 0) then { _id = 3032; _YPOS = safezoneY+0.355; { _cwep = _x; _cammo = _veh ammo _cwep; _cmags = {currentMagazine _veh == _x} count magazines _veh; _type = _cwep; _cfg = _type call fnc_getConfig; _displayName = getText (configFile >> _cfg >> _type >> 'displayName'); _log3a = format[' %1 [%2] (%3/%4)',_displayName,_cwep,_cammo,_cmags]; ['<t align=''left'' size=''0.5'' color=''#A90F68''>'+_log3a+'</t>',safezoneX+0.2,_YPOS,0.3,0,0,_id] spawn bis_fnc_dynamicText; _id = _id - 1; _YPOS = _YPOS - 0.03; } forEach _cwepsV; }; }; }; _ct = cursorTarget; if(!isNull _ct) then { if(getPlayerUID _ct != '') then { _cwep_ct = currentWeapon _ct; _cammo_ct = _ct ammo _cwep_ct; _cmags_ct = {currentMagazine _ct == _x} count magazines _ct; _log4 = format['%1 (%2) @%3',name _ct,getPlayerUID _ct,mapGridPosition _ct]; ['<t align=''left'' size=''0.5'' color=''#B80B36''>'+_log4+'</t>',safezoneX+0.2,safezoneY+0.545,0.3,0,0,3036] spawn bis_fnc_dynamicText; _log5 = format['Health: %1 Distance: %2m Fatigue: %3',(1-(damage _ct))*100,round(cameraOn distance _ct),round(getFatigue _unit)]; ['<t align=''left'' size=''0.5'' color=''#B80B36''>'+_log5+'</t>',safezoneX+0.2,safezoneY+0.575,0.3,0,0,3037] spawn bis_fnc_dynamicText; _type = _cwep_ct; _cfg = _type call fnc_getConfig; _displayName = getText (configFile >> _cfg >> _type >> 'displayName'); _pic = getText (configFile >> _cfg >> _type >> 'picture'); _log6 = format[' %1 [%2] (%3/%4)',_displayName,_cwep_ct,_cammo_ct,_cmags_ct]; [' <img size=''0.75'' image='''+_pic+''' align=''left''/> <t align=''left'' size=''0.5'' color=''#B80B36''>'+_log6+'</t> ', safezoneX+0.2,safezoneY+0.605,0.3,0,0,3038] spawn bis_fnc_dynamicText; } else { _type = typeOf _ct; _cfg = _type call fnc_getConfig; _displayName = getText (configFile >> _cfg >> _type >> 'displayName'); _log4 = format['%1 [%2] @%3',_displayName,_type,mapGridPosition _ct]; ['<t align=''left'' size=''0.5'' color=''#B80B36''>'+_log4+'</t>',safezoneX+0.2,safezoneY+0.545,0.3,0,0,3036] spawn bis_fnc_dynamicText; _log5 = format['Health: %1 - Distance: %2m',(1-(damage _ct))*100,round(cameraOn distance _ct)]; ['<t align=''left'' size=''0.5'' color=''#B80B36''>'+_log5+'</t>',safezoneX+0.2,safezoneY+0.575,0.3,0,0,3037] spawn bis_fnc_dynamicText; ['',0,0,1,0,0,3038] spawn bis_fnc_dynamicText; }; _vehCT = vehicle _ct; if((_vehCT isKindOf 'LandVehicle') || (_vehCT isKindOf 'Air') || (_vehCT isKindOf 'Ship') || (_vehCT isKindOf 'Static')) then { _cwepsV = []; { if(_x find 'Horn' == -1) then { _cwepsV pushBack _x; }; } forEach (weapons _vehCT); if(count _cwepsV > 0) then { _id = 3039; _YPOS = safezoneY+0.655; { _cwep = _x; _cammo = _vehCT ammo _cwep; _cmags = {currentMagazine _vehCT == _x} count magazines _vehCT; _type = _cwep; _cfg = _type call fnc_getConfig; _displayName = getText (configFile >> _cfg >> _type >> 'displayName'); _log6a = format[' %1 [%2] (%3/%4)',_displayName,_cwep,_cammo,_cmags]; ['<t align=''left'' size=''0.5'' color=''#A90F68''>'+_log6a+'</t>',safezoneX+0.2,_YPOS,0.3,0,0,_id] spawn bis_fnc_dynamicText; _id = _id + 1; _YPOS = _YPOS + 0.03; } forEach _cwepsV; }; }; }; if(isNil 'SpecateLoopActive') exitWith {}; uiSleep 0.2; if(isNil 'SpecateLoopActive') exitWith {}; }; (vehicle player) switchCamera cameraView; for '_i' from 3025 to 3045 do {['',0,0,1,0,0,_i] spawn bis_fnc_dynamicText;}; cutText ['Finished spectating.', 'PLAIN DOWN']; }; }; fnc_clearLogArray = { [12345,player,_this select 0] call fnc_AdminReq; _log = 'ingame Log(s) cleared!'; cutText [_log, 'PLAIN DOWN']; hint _log; }; fnc_getSteamName = { RespondToNameRequest = nil; 'RespondToNameRequest' addPublicVariableEventhandler { _name = (_this select 1) select 0; _uid = (_this select 1) select 1; _steamname = (_this select 1) select 2; RespondToNameRequest = nil; _log = format['%1(%2) SteamName is: %3',_name,_uid,_steamname]; cutText [_log, 'PLAIN DOWN']; hint _log; systemchat _log; diag_log _log; }; [9876,player,_this select 0] call fnc_AdminReq; _log = format['Requested Steam Name of %1(%2)',name (_this select 0),getPlayerUID (_this select 0)]; cutText [_log, 'PLAIN DOWN']; hint _log; }; fnc_TP2ME = { _unit = _this select 0; _pos = player modelToWorld [0,15,0]; if(_unit == vehicle _unit) then {_pos = player modelToWorld [0,5,0];}; [1,player,_unit,_pos] call fnc_AdminReq; }; fnc_TPME2 = { _unit = _this select 0; _pos = _unit modelToWorld [0,-5,0]; _object = (vehicle player); if(str(crew _object) == str([player])) then { _object setPos _pos; } else { [1,player,_unit,_pos] call fnc_AdminReq; }; }; fnc_MoveInMyVehicle = { _unit = _this select 0; _unit moveInAny (vehicle player); }; fnc_MoveInTargetVehicle = { _unit = _this select 0; player moveInAny (vehicle _unit); }; fnc_MoveInParachute = { _unit = _this select 0; _position = _unit modelToWorld [0,0,300]; _parachuteObject = createVehicle ['Steerable_Parachute_F', _position, [], 0, 'CAN_COLLIDE']; _parachuteObject enableSimulationGlobal true; _unit action ['GetinDriver',_parachuteObject]; }; fnc_EjectTargetVeh = { _unit = _this select 0; _eject = 'player setPos (getPos player);'; [_eject,_unit] call admin_d0_target; }; fnc_EjectCrewTargetVeh = { _unit = _this select 0; _veh = (vehicle _unit); _uids = []; {_uids pushBack (getPlayerUID _x)} forEach (crew _veh); _eject = 'if(getPlayerUID player in '+str _uids+') then {player setPos (getPos player);};'; [_eject] call admin_d0; }; fnc_RemoveGear = { _target = _this select 0; if(typeName _target != 'OBJECT') then { _target = cursorTarget; }; if(!isNull _target) then { [11,player,_target] call fnc_AdminReq; _log = format['Removed Gear of %1!',name _target]; cutText [_log, 'PLAIN DOWN']; hint _log; }; }; fnc_add_loadout = { _select = _this select 0; _wset = player; removeAllWeapons _wset; removeAllItems _wset; removebackpack _wset; removeAllAssignedItems _wset; switch (_select) do { NVG_ITEM_PEWPEW = 'NVGoggles'; if(infiSTAR_MOD == 'Epoch') then {NVG_ITEM_PEWPEW = 'NVG_EPOCH';}; case 0: { _wset = player; _wset addBackpack 'B_Carryall_oli'; _wset forceAddUniform 'O_G_Soldier_M_F'; _wset addItemToBackpack 'V_PlateCarrierIA1_dgtl'; _wset addItemToBackpack 'Heal_EPOCH'; _wset addItemToBackpack 'Defib_EPOCH'; _wset addItemToBackpack 'Repair_EPOCH'; _wset addItemToBackpack 'EnergyPackLg'; _wset addItemToBackpack 'MultiGun'; _wset addItemToBackpack 'ItemWatch'; _wset addItemToBackpack 'ItemCompass'; _wset addItemToBackpack 'ItemGPS'; _wset addItemToBackpack 'ItemMap'; _wset addItemToBackpack 'Rangefinder'; _wset addItemToBackpack NVG_ITEM_PEWPEW; _wset addItemToBackpack 'Hatchet'; _wset addItemToBackpack 'hatchet_swing'; _wset addItemToBackpack 'MeleeSledge'; _wset addItemToBackpack 'sledge_swing'; _wset addItemToBackpack 'srifle_EBR_F'; _wset addItemToBackpack '20Rnd_762x51_Mag'; _wset addItemToBackpack 'optic_DMS'; _wset addItemToBackpack 'optic_SOS'; _wset addItemToBackpack 'optic_MRCO'; _wset addItemToBackpack 'muzzle_snds_B'; }; case 1: { _wset = player; _wset addBackpack 'B_Carryall_oli'; _wset forceAddUniform 'U_B_GhillieSuit'; _wset addItemToBackpack 'V_PlateCarrierIA1_dgtl'; _wset addItemToBackpack 'Heal_EPOCH'; _wset addItemToBackpack 'Defib_EPOCH'; _wset addItemToBackpack 'Repair_EPOCH'; _wset addItemToBackpack 'EnergyPackLg'; _wset addItemToBackpack 'MultiGun'; _wset addItemToBackpack 'ItemWatch'; _wset addItemToBackpack 'ItemCompass'; _wset addItemToBackpack 'ItemGPS'; _wset addItemToBackpack 'ItemMap'; _wset addItemToBackpack 'Rangefinder'; _wset addItemToBackpack NVG_ITEM_PEWPEW; _wset addItemToBackpack 'Hatchet'; _wset addItemToBackpack 'hatchet_swing'; _wset addItemToBackpack 'MeleeSledge'; _wset addItemToBackpack 'sledge_swing'; _wset addItemToBackpack 'srifle_EBR_F'; _wset addItemToBackpack '20Rnd_762x51_Mag'; _wset addItemToBackpack 'optic_DMS'; _wset addItemToBackpack 'optic_SOS'; _wset addItemToBackpack 'optic_MRCO'; _wset addItemToBackpack 'muzzle_snds_B'; _wset addVest 'V_BandollierB_cbr'; _wset addWeapon NVG_ITEM_PEWPEW; _wset addWeapon 'Rangefinder'; _wset addPrimaryWeaponItem 'optic_Aco'; _wset addPrimaryWeaponItem 'muzzle_snds_M'; if(infiSTAR_MOD != 'Epoch') then {(unitBackpack _wset) additemCargo ['FirstAidKit',2];} else {(unitBackpack _wset) additemCargo ['FAK',2];}; (unitBackpack _wset) additemCargo ['30Rnd_556x45_Stanag', 9]; (unitBackpack _wset) additemCargo ['30Rnd_9x21_Mag', 9]; (unitBackpack _wset) additemCargo ['handGrenade', 2]; _wset addWeapon 'srifle_LRR_F'; [] call infiSTAR_A3addAmmo; [] call infiSTAR_A3addAmmo; [] call infiSTAR_A3addAmmo; }; case 2: { _wset = player; _wset addHeadgear 'H_Beret_02'; _wset addGoggles 'G_Sport_Blackred'; _wset addUniform 'U_OrestesBody'; _wset addVest 'V_BandollierB_cbr'; _wset addBackpack 'B_Carryall_oli'; _wset addWeapon NVG_ITEM_PEWPEW; _wset addWeapon 'Rangefinder'; _wset addMagazine '30Rnd_9x21_Mag'; _wset addweapon 'hgun_PDW2000_Holo_snds_F'; _wset addMagazine '6Rnd_45ACP_Cylinder'; _wset addweapon 'hgun_Pistol_heavy_02_Yorris_F'; _wset addPrimaryWeaponItem 'muzzle_snds_B'; _wset addPrimaryWeaponItem 'acc_pointer_IR'; _wset addWeaponGlobal 'ItemCompass'; _wset addWeaponGlobal 'ItemMap'; _wset addWeaponGlobal 'Itemgps'; _wset addWeaponGlobal 'ItemWatch'; if(infiSTAR_MOD != 'Epoch') then {_wset addWeaponGlobal 'itemradio';} else {_wset addWeaponGlobal 'epochradio0';}; if(infiSTAR_MOD != 'Epoch') then {(unitBackpack _wset) additemCargo ['FirstAidKit',2];} else {(unitBackpack _wset) additemCargo ['FAK',2];}; (unitBackpack _wset) additemCargo ['30Rnd_9x21_Mag', 9]; (unitBackpack _wset) additemCargo ['6Rnd_45ACP_Cylinder', 9]; }; case 3: { _wset = player; _wset addHeadgear 'H_Beret_02'; _wset addGoggles 'G_Sport_Blackred'; _wset addUniform 'U_IG_Guerilla3_1'; _wset addVest 'V_BandollierB_cbr'; _wset addBackpack 'B_Carryall_oli'; _wset addWeapon NVG_ITEM_PEWPEW; _wset addWeapon 'Rangefinder'; _wset addMagazine '30Rnd_556x45_Stanag'; _wset addweapon 'arifle_TRG21_ACO_grn_smg'; _wset addMagazine '30Rnd_9x21_Mag'; _wset addweapon 'hgun_P07_F'; _wset addPrimaryWeaponItem 'optic_Aco'; _wset addPrimaryWeaponItem 'muzzle_snds_M'; _wset addHandgunItem 'muzzle_snds_L'; _wset addWeaponGlobal 'ItemCompass'; _wset addWeaponGlobal 'ItemMap'; _wset addWeaponGlobal 'Itemgps'; _wset addWeaponGlobal 'ItemWatch'; if(infiSTAR_MOD != 'Epoch') then {_wset addWeaponGlobal 'itemradio';} else {_wset addWeaponGlobal 'epochradio0';}; if(infiSTAR_MOD != 'Epoch') then {(unitBackpack _wset) additemCargo ['FirstAidKit',2];} else {(unitBackpack _wset) additemCargo ['FAK',2];}; (unitBackpack _wset) additemCargo ['30Rnd_556x45_Stanag', 9]; (unitBackpack _wset) additemCargo ['30Rnd_9x21_Mag', 9]; (unitBackpack _wset) additemCargo ['handGrenade', 2]; }; case 4: { _wset = player; _wset addHeadgear 'H_Beret_02'; _wset addGoggles 'G_Sport_Blackred'; _wset addUniform 'U_OG_leader'; _wset addVest 'V_BandollierB_cbr'; _wset addBackpack 'B_Carryall_oli'; _wset addWeapon NVG_ITEM_PEWPEW; _wset addWeapon 'Rangefinder'; _wset addweapon 'LMG_Zafir_F'; _wset addMagazine '150Rnd_762x54_Box_Tracer'; _wset addMagazine '30Rnd_9x21_Mag'; _wset addweapon 'hgun_P07_F'; _wset addPrimaryWeaponItem 'optic_LRPS'; _wset addPrimaryWeaponItem 'acc_pointer_IR'; _wset addHandgunItem 'muzzle_snds_L'; _wset addWeaponGlobal 'ItemCompass'; _wset addWeaponGlobal 'ItemMap'; _wset addWeaponGlobal 'Itemgps'; _wset addWeaponGlobal 'ItemWatch'; if(infiSTAR_MOD != 'Epoch') then {_wset addWeaponGlobal 'itemradio';} else {_wset addWeaponGlobal 'epochradio0';}; if(infiSTAR_MOD != 'Epoch') then {(unitBackpack _wset) additemCargo ['FirstAidKit',2];} else {(unitBackpack _wset) additemCargo ['FAK',2];}; (unitBackpack _wset) additemCargo ['150Rnd_762x54_Box_Tracer', 9]; (unitBackpack _wset) additemCargo ['30Rnd_9x21_Mag', 9]; (unitBackpack _wset) additemCargo ['handGrenade', 2]; }; case 5: { _wset = player; _wset addHeadgear 'H_Beret_02'; _wset addGoggles 'G_Sport_Blackred'; _wset addUniform 'U_O_GhillieSuit'; _wset addVest 'V_BandollierB_cbr'; _wset addBackpack 'B_Carryall_oli'; _wset addWeapon NVG_ITEM_PEWPEW; _wset addWeapon 'Rangefinder'; _wset addMagazine '10Rnd_762x54_Mag'; _wset addweapon 'srifle_DMR_01_F'; _wset addMagazine '30Rnd_9x21_Mag'; _wset addweapon 'hgun_P07_F'; _wset addPrimaryWeaponItem 'acc_pointer_IR'; _wset addPrimaryWeaponItem 'optic_MRCO'; _wset addHandgunItem 'muzzle_snds_L'; _wset addWeaponGlobal 'ItemCompass'; _wset addWeaponGlobal 'ItemMap'; _wset addWeaponGlobal 'Itemgps'; _wset addWeaponGlobal 'ItemWatch'; if(infiSTAR_MOD != 'Epoch') then {_wset addWeaponGlobal 'itemradio';} else {_wset addWeaponGlobal 'epochradio0';}; if(infiSTAR_MOD != 'Epoch') then {(unitBackpack _wset) additemCargo ['FirstAidKit',2];} else {(unitBackpack _wset) additemCargo ['FAK',2];}; (unitBackpack _wset) additemCargo ['10Rnd_762x54_Mag', 9]; (unitBackpack _wset) additemCargo ['30Rnd_9x21_Mag', 9]; (unitBackpack _wset) additemCargo ['handGrenade', 2]; }; case 6: { _wset = player; _wset addGoggles 'G_Sport_Blackred'; _wset addUniform 'U_O_CombatUniform_oucamo'; _wset addVest 'V_BandollierB_cbr'; _wset addBackpack 'B_Carryall_oli'; _wset addWeapon NVG_ITEM_PEWPEW; _wset addWeapon 'Rangefinder'; _wset addMagazine '7Rnd_408_Mag'; _wset addweapon 'srifle_LRR_F'; _wset addMagazine '30Rnd_9x21_Mag'; _wset addweapon 'hgun_P07_F'; _wset addPrimaryWeaponItem 'acc_pointer_IR'; _wset addPrimaryWeaponItem 'optic_MRCO'; _wset addHandgunItem 'muzzle_snds_L'; _wset addWeaponGlobal 'ItemCompass'; _wset addWeaponGlobal 'ItemMap'; _wset addWeaponGlobal 'Itemgps'; _wset addWeaponGlobal 'ItemWatch'; if(infiSTAR_MOD != 'Epoch') then {_wset addWeaponGlobal 'itemradio';} else {_wset addWeaponGlobal 'epochradio0';}; if(infiSTAR_MOD != 'Epoch') then {(unitBackpack _wset) additemCargo ['FirstAidKit',2];} else {(unitBackpack _wset) additemCargo ['FAK',2];}; (unitBackpack _wset) additemCargo ['7Rnd_408_Mag', 9]; (unitBackpack _wset) additemCargo ['30Rnd_9x21_Mag', 9]; (unitBackpack _wset) additemCargo ['handGrenade', 2]; }; case 7: { _wset = player; _wset addHeadgear 'H_Beret_02'; _wset addGoggles 'G_Sport_Blackred'; _wset addUniform 'U_O_GhillieSuit'; _wset addVest 'V_BandollierB_cbr'; _wset addBackpack 'B_Carryall_oli'; _wset addWeapon NVG_ITEM_PEWPEW; _wset addWeapon 'Rangefinder'; _wset addMagazine '5Rnd_127x108_Mag'; _wset addweapon 'srifle_GM6_F'; _wset addMagazine '30Rnd_9x21_Mag'; _wset addweapon 'hgun_P07_F'; _wset addPrimaryWeaponItem 'optic_LRPS'; _wset addPrimaryWeaponItem 'acc_pointer_IR'; _wset addHandgunItem 'muzzle_snds_L'; _wset addWeaponGlobal 'ItemCompass'; _wset addWeaponGlobal 'ItemMap'; _wset addWeaponGlobal 'Itemgps'; _wset addWeaponGlobal 'ItemWatch'; if(infiSTAR_MOD != 'Epoch') then {_wset addWeaponGlobal 'itemradio';} else {_wset addWeaponGlobal 'epochradio0';}; if(infiSTAR_MOD != 'Epoch') then {(unitBackpack _wset) additemCargo ['FirstAidKit',2];} else {(unitBackpack _wset) additemCargo ['FAK',2];}; (unitBackpack _wset) additemCargo ['5Rnd_127x108_Mag', 9]; (unitBackpack _wset) additemCargo ['30Rnd_9x21_Mag', 9]; (unitBackpack _wset) additemCargo ['handGrenade', 2]; }; case 8: { _wset = player; _wset addHeadgear 'H_Beret_02'; _wset addGoggles 'G_Sport_Blackred'; _wset addUniform 'U_O_GhillieSuit'; _wset addVest 'V_BandollierB_cbr'; _wset addBackpack 'B_Carryall_oli'; _wset addWeapon NVG_ITEM_PEWPEW; _wset addWeapon 'Rangefinder'; _wset addMagazine '5Rnd_127x108_Mag'; _wset addweapon 'm107Tan_EPOCH'; _wset addMagazine '30Rnd_9x21_Mag'; _wset addweapon 'hgun_P07_F'; _wset addPrimaryWeaponItem 'optic_LRPS'; _wset addPrimaryWeaponItem 'acc_pointer_IR'; _wset addHandgunItem 'muzzle_snds_L'; _wset addWeaponGlobal 'ItemCompass'; _wset addWeaponGlobal 'ItemMap'; _wset addWeaponGlobal 'Itemgps'; _wset addWeaponGlobal 'ItemWatch'; if(infiSTAR_MOD != 'Epoch') then {_wset addWeaponGlobal 'itemradio';} else {_wset addWeaponGlobal 'epochradio0';}; if(infiSTAR_MOD != 'Epoch') then {(unitBackpack _wset) additemCargo ['FirstAidKit',2];} else {(unitBackpack _wset) additemCargo ['FAK',2];}; (unitBackpack _wset) additemCargo ['5Rnd_127x108_Mag', 9]; (unitBackpack _wset) additemCargo ['30Rnd_9x21_Mag', 9]; (unitBackpack _wset) additemCargo ['handGrenade', 2]; }; default { hint 'no loadout selected' }; }; }; fnc_spawn_timemachine = { _offset = _this select 0; [6,player,_offset] call fnc_AdminReq; _log = format['DayTime changed to hour %1',_offset]; cutText [_log, 'PLAIN DOWN']; hint _log; }; fnc_mass_message = { disableSerialization; _display = findDisplay 24; if(isNull _display) exitWith { _log = 'open your chat, type a message and start this function again!'; cutText [_log, 'PLAIN DOWN']; hint _log; systemchat _log; }; _chat = _display displayCtrl 101; _msg = ctrlText _chat; (_display) closeDisplay 0; [7,player,toArray _msg] call fnc_AdminReq; format['Mass Message: %1',_msg] call fnc_adminLog; _log = 'message sent!'; cutText [_log, 'PLAIN DOWN']; hint _log; }; fnc_freezeTarget = { _target = _this select 0; _value = _this select 1; if(typeName _target != 'OBJECT') exitWith { _log = 'Target is not an Object!'; cutText [_log, 'PLAIN DOWN']; hint _log; }; if!(isPlayer _target) exitWith { _log = 'Target is not a Player!'; cutText [_log, 'PLAIN DOWN']; hint _log; }; [13,player,_target,_value] call fnc_AdminReq; _log = format['UnFroze %1!',name _target]; if(_value) then {_log = format['Froze %1!',name _target];}; cutText [_log, 'PLAIN DOWN']; hint _log; }; fnc_spawn_CryptoINSERTVALUE = { disableSerialization; ctrlDelete ((findDisplay MAIN_DISPLAY_ID) displayCtrl 65463); ctrlDelete ((findDisplay MAIN_DISPLAY_ID) displayCtrl 65464); ctrlDelete ((findDisplay MAIN_DISPLAY_ID) displayCtrl 65465); ctrlDelete ((findDisplay MAIN_DISPLAY_ID) displayCtrl 65466); findDisplay MAIN_DISPLAY_ID ctrlCreate['RSCText', 65463]; findDisplay MAIN_DISPLAY_ID ctrlCreate['IGUIBack', 65464]; findDisplay MAIN_DISPLAY_ID ctrlCreate['RSCEdit', 65465]; findDisplay MAIN_DISPLAY_ID ctrlCreate['RSCButton', 65466]; (findDisplay MAIN_DISPLAY_ID displayCtrl 65463) ctrlSetPosition [ 0.554062 * safezoneW + safezoneX, 0.45, 0.155781 * safezoneW, 0.033 * safezoneH ]; (findDisplay MAIN_DISPLAY_ID displayCtrl 65464) ctrlSetPosition [ 0.554062 * safezoneW + safezoneX, 0.5, 0.155781 * safezoneW, 0.033 * safezoneH ]; (findDisplay MAIN_DISPLAY_ID displayCtrl 65464) ctrlCommit 0; (findDisplay MAIN_DISPLAY_ID displayCtrl 65465) ctrlSetPosition [ 0.554062 * safezoneW + safezoneX, 0.5, 0.155781 * safezoneW, 0.033 * safezoneH ]; (findDisplay MAIN_DISPLAY_ID displayCtrl 65465) ctrlCommit 0; (findDisplay MAIN_DISPLAY_ID displayCtrl 65466) ctrlSetText 'OK'; (findDisplay MAIN_DISPLAY_ID displayCtrl 65466) ctrlSetPosition [ 0.715 * safezoneW + safezoneX, 0.5, 0.0360937 * safezoneW, 0.033 * safezoneH ]; (findDisplay MAIN_DISPLAY_ID displayCtrl 65466) ctrlCommit 0; (findDisplay MAIN_DISPLAY_ID displayCtrl 65466) ctrlSetEventHandler['ButtonClick',' _NOBE = '+str fnc_LBDblClick_RIGHT+'; disableSerialization; _msg = (ctrlText((findDisplay MAIN_DISPLAY_ID) displayCtrl 65465)); if(_msg != '''')then { _end = false; { if!(_x in [48,49,50,51,52,53,54,55,56,57])then { if(_forEachIndex != 0 || _x != 45)then { _end = true; }; }; } forEach (toArray _msg); if(_end)exitWith{systemchat ''ENTER NUMBERS ONLY'';}; _value = parseNumber _msg; _value = (_value min 25000) max -25000; [12,player,SELECTED_TARGET_PLAYER,_value] call fnc_AdminReq; _log = format[''Added %1 Crypto to %2!'',_value,name SELECTED_TARGET_PLAYER]; if(_value < 0) then { _log = format[''Removed %1 Crypto from %2!'',_value,name SELECTED_TARGET_PLAYER]; }; cutText [_log, ''PLAIN DOWN'']; hint _log; ctrlDelete ((findDisplay MAIN_DISPLAY_ID) displayCtrl 65463); ctrlDelete ((findDisplay MAIN_DISPLAY_ID) displayCtrl 65464); ctrlDelete ((findDisplay MAIN_DISPLAY_ID) displayCtrl 65465); ctrlDelete ((findDisplay MAIN_DISPLAY_ID) displayCtrl 65466); }; ']; while {true} do { (findDisplay MAIN_DISPLAY_ID displayCtrl 65463) ctrlSetText format['Add Crypto to %1: ',name SELECTED_TARGET_PLAYER]; (findDisplay MAIN_DISPLAY_ID displayCtrl 65463) ctrlCommit 0; if(isNull ((findDisplay MAIN_DISPLAY_ID) displayCtrl 65463))exitWith{}; }; }; fnc_spawn_Box = { _select = _this select 0; _target = if(isNull (call fnc_LBSelChanged_LEFT)) then {player} else {(call fnc_LBSelChanged_LEFT)}; _pos = _target modelToWorld [0,3,0]; [5000,player,_select,_pos] call fnc_AdminReq; _log = format['Spawning Box %1 on the ground infront of %2!',_select,name _target]; cutText [_log, 'PLAIN DOWN']; hint _log; }; fnc_AltisLife_cash = { _state = _this select 0; _amount = _this select 1; if(typeName _state != 'STRING') exitWith {}; if(typeName _amount != 'SCALAR') exitWith {}; if(_amount == 0) exitWith {}; if(_state == 'cash') then { life_cash = life_cash + _amount; systemChat format['Cash %1K - %2K has been added.',life_cash/1000,_amount/1000]; }; if(_state == 'bank') then { life_atmcash = life_atmcash + _amount; systemChat format['Bank %1K - %2K has been added.',life_atmcash/1000,_amount/1000]; }; }; admin_showinfo = { _obj = cursortarget; if(!isNull _obj) then { _pos = getPosATL _obj; _type = typeOf _obj; _slot = call { if!(_obj getVariable['VEHICLE_SLOT',-1] isEqualTo -1)exitWith{_obj getVariable['VEHICLE_SLOT',-1]}; if!(_obj getVariable['STORAGE_SLOT',-1] isEqualTo -1)exitWith{_obj getVariable['STORAGE_SLOT',-1]}; if!(_obj getVariable['BUILD_SLOT',-1] isEqualTo -1)exitWith{_obj getVariable['BUILD_SLOT',-1]}; 'none' }; { systemChat _x; diag_log _x; } forEach [ format['%1, slot: %2',_type,_slot], format['WorldSpace: [%1,%2], @%3',getDir _obj,_pos,mapGridPosition _pos], if(isPlayer _obj)then{format['%1(%2) - damage %3',name _obj,getPlayerUID _obj,damage _obj]}else{format['Damage %1',damage _obj]}, '--' ]; if(_type == 'PlotPole_EPOCH') then { if(alive _obj) then { _owner = _obj getVariable['BUILD_OWNER', '-1']; _log2 = format['Owner UID %1',_owner]; { if(getPlayerUID _x == _owner) then { _log2 = format['Owner %1(%2) - %3m far away',name _x,_owner,floor(_obj distance _x)]; }; } forEach playableUnits; systemChat _log2; diag_log _log2; }; }; }; }; fnc_infiSTAR_A3cargod = { if(!isNil 'A3carGodRun') then { terminate A3carGodRun;A3carGodRun=nil; { _x removeAllEventhandlers 'HandleDamage'; _x allowDamage true; } forEach MY_VEHICLES; _log = 'Vehicle God Mode - Disabled'; cutText [_log, 'PLAIN DOWN']; hint _log; } else { _log = 'Vehicle God Mode - Enabled'; cutText [_log, 'PLAIN DOWN']; hint _log; MY_VEHICLES = []; A3carGodRun = [] spawn { while {true} do { _veh = vehicle player; if(_veh != player) then { if!(_veh in MY_VEHICLES)then{MY_VEHICLES pushBack _veh;}; _veh allowDamage false; _veh removeAllEventhandlers 'HandleDamage'; _veh addEventHandler['HandleDamage',{false}]; }; uiSleep 0.1; }; }; }; }; fnc_LowerTerrain = { if(isNil 'admin_terrain') then {admin_terrain = true;} else {admin_terrain = !admin_terrain}; if(admin_terrain) then { setTerrainGrid 50; _txt = 'Terrain Low'; hint _txt; cutText [_txt, 'PLAIN DOWN']; } else { setTerrainGrid 25; _txt = 'Terrain Normal'; hint _txt; cutText [_txt, 'PLAIN DOWN']; }; }; fnc_infiSTAR_A3UnlAmmo = { if(isNil 'unlimAmmRun') then {unlimAmmRun = 0;}; if(unlimAmmRun==0) then { unlimAmmRun=1; _log = 'Unlimited Ammo ON'; cutText [_log, 'PLAIN DOWN']; hint _log; } else { unlimAmmRun=0; _log = 'Unlimited Ammo OFF'; cutText [_log, 'PLAIN DOWN']; hint _log; }; while {unlimAmmRun==1} do { if(local vehicle player) then { vehicle player setAmmo [currentWeapon vehicle player, 1000000]; }; player setAmmo [primaryWeapon player, 1000000]; (vehicle player) setVehicleAmmo 1; player setFatigue 0; uiSleep 0.3; }; }; fnc_infiSTAR_A3noRecoil = { if(isNil 'noRecoilRun') then {noRecoilRun = 0;}; if(noRecoilRun==0) then { noRecoilRun=1; _log = 'No Recoil ON'; cutText [_log, 'PLAIN DOWN']; hint _log; } else { noRecoilRun=0; _log = 'No Recoil OFF'; cutText [_log, 'PLAIN DOWN']; hint _log; }; while {noRecoilRun==1} do { if(noRecoilRun!=1) exitWith {}; (vehicle player) setUnitRecoilCoefficient 0; player setUnitRecoilCoefficient 0; player setFatigue 0; player enableFatigue false; uiSleep 2; }; (vehicle player) setUnitRecoilCoefficient 1; player setUnitRecoilCoefficient 1; player enableFatigue true; }; fnc_infiSTAR_A3FF = { if(isNil 'A3FFrun') then {A3FFrun = 0;}; if(A3FFrun==0) then { A3FFrun=1; _log = 'FastFire ON'; cutText [_log, 'PLAIN DOWN']; hint _log; } else { A3FFrun=0; _log = 'FastFire OFF'; cutText [_log, 'PLAIN DOWN']; hint _log; }; while {A3FFrun==1} do { (vehicle player) setWeaponReloadingTime [(vehicle player),currentWeapon (vehicle player),0]; player setWeaponReloadingTime [player,currentWeapon player,0]; player setFatigue 0; uiSleep 2; }; }; fnc_infiSTARHIDE = { if(isNil 'A3HIDErun') then {A3HIDErun = 0;}; if(A3HIDErun==0) then { A3HIDErun=1; [2,player,A3HIDErun] call fnc_AdminReq; _log = 'Stealth / Invisible ON'; cutText [_log, 'PLAIN DOWN']; hint _log; } else { A3HIDErun=0; [2,player,A3HIDErun] call fnc_AdminReq; _log = 'Stealth / Invisible OFF'; cutText [_log, 'PLAIN DOWN']; hint _log; }; }; fnc_DisableAnnouncements = { if(isNil 'A3DANNrun') then {A3DANNrun = 0;}; if(A3DANNrun==0) then { A3DANNrun=1; AdminAnnounceDisabled = true; _log = 'Disable Announces - ON'; cutText [_log, 'PLAIN DOWN']; hint _log; } else { A3DANNrun=0; AdminAnnounceDisabled = nil; _log = 'Disable Announces - OFF'; cutText [_log, 'PLAIN DOWN']; hint _log; }; }; infiSTAR_A3showfps = { if(isNil 'infiSTAR_A3ShowFpsRun') then {infiSTAR_A3ShowFpsRun = 0;}; if(infiSTAR_A3ShowFpsRun == 0) then { infiSTAR_A3ShowFpsRun = 1; infiSTAR_A3showfpsLoop = [] spawn { while {1==1} do { if(infiSTAR_A3ShowFpsRun == 0) exitWith {}; _fps = diag_fps; _clr = '#FFFFFF'; if(_fps <= 20) then {_clr = '#D10823'}; if(_fps > 20) then {_clr = '#E65100'}; if(_fps > 30) then {_clr = '#FCB458'}; if(_fps > 40) then {_clr = '#BFFD67'}; if(_fps > 50) then {_clr = '#02EC32'}; ['<t size=''0.4'' align=''right'' color='+str _clr+'>'+str _fps+' FPS</t>',safezoneX*-1,0.98 * safezoneH + safezoneY,15,0,0,1336] spawn bis_fnc_dynamicText; uiSleep 1; }; }; _txt = format['SHOW FPS - %1',infiSTAR_A3ShowFpsRun]; hint _txt; cutText [_txt, 'PLAIN DOWN']; } else { infiSTAR_A3ShowFpsRun = 0; terminate infiSTAR_A3showfpsLoop; _txt = format['SHOW FPS - %1',infiSTAR_A3ShowFpsRun]; hint _txt; cutText [_txt, 'PLAIN DOWN']; }; }; fnc_FreeRoamCam = { if(isNil 'freeFlightCam') then { camDestroy freeFlightCam; freeFlightCam = nil; _getPos = player modelToWorld[0,3, 1.75]; freeFlightCam = 'camera' camCreate _getPos; freeFlightCam setDir([_getPos, player] call BIS_fnc_dirTo); freeFlightCam camCommand 'MANUAL ON'; freeFlightCam camCommand 'INERTIA OFF'; freeFlightCam cameraEffect['INTERNAL', 'BACK']; showCinemaBorder false; cutText['Right Click To Cancel!', 'PLAIN DOWN', 1]; } else { camDestroy freeFlightCam; freeFlightCam = nil; }; }; fnc_deleteVeh_selected = { _target = _this select 0; if(typeName _target != 'OBJECT') then { _target = cursorTarget; }; if(!isNull _target) then { if(isNil 'DELETE_TARGET') then {DELETE_TARGET = objNull;}; if(str DELETE_TARGET != str _target) exitWith { _type = typeOf _target; _displayName = gettext (configFile >> 'CfgVehicles' >> _type >> 'displayName'); _distance = round(cameraOn distance _target); _txt = format['DELETE: %1 (%2) distance %3m? (press continue and delete again)',_displayName,_type,_distance]; hint _txt; DELETE_TARGET = _target; }; _delete = (vehicle _target); if(isNil 'ToDeleteArray') then {ToDeleteArray = [];}; if(_delete in ToDeleteArray) then { _txt = 'Already getting deleted!'; hint _txt; cutText [_txt, 'PLAIN DOWN']; } else { ToDeleteArray pushBack _delete; [-4,player,_delete] call fnc_AdminReq; _txt = format['Deleting %1 @%2..',typeOf _target,mapGridPosition _target]; if(getPlayerUID _target != '') then { _txt = format['Deleting %1(%2) vehicle: %3 @%4..',name _target,getPlayerUID _target,typeOf vehicle _target,mapGridPosition _target]; }; hint _txt; cutText [_txt, 'PLAIN DOWN']; systemchat _txt; diag_log _txt; _txt call fnc_adminLog; }; } else { DELETE_TARGET = objNull; _txt = 'target does not exist'; hint _txt; cutText [_txt, 'PLAIN DOWN']; }; }; fnc_flipVeh = { _target = _this select 0; if(typeName _target != 'OBJECT') then { _target = cursorTarget; }; if((!isNull _target) && {alive _target} && {_target isKindOf 'Landvehicle' || _target isKindOf 'Air' || _target isKindOf 'Ship'}) then { _veh = (vehicle _target); _pos = getPos _veh; _pos = [_pos select 0,_pos select 1,+0.1]; [1,player,_target,_pos] call fnc_AdminReq; _txt = format['Flipping %1 @%2..',typeOf _veh,mapGridPosition _pos]; hint _txt; cutText [_txt, 'PLAIN DOWN']; } else { _txt = 'invalid target'; if((!alive _target) && {_target isKindOf 'Landvehicle' || _target isKindOf 'Air' || _target isKindOf 'Ship'}) then {_txt = 'vehicle destroyed..';}; hint _txt; cutText [_txt, 'PLAIN DOWN']; }; }; zeus_attack = { _target = _this select 0; _pos = screenToWorld [0.5,0.5]; _txt = format['Zeus @%1',mapGridPosition _pos]; if(typeName _target != 'OBJECT') then { _target = cursorTarget; }; if(!isNull _target) then { _pos = getPos _target; _txt = format['Zeus %1 @%2',typeOf _target,mapGridPosition _pos]; if(getPlayerUID _target != '') then { _txt = format['Zeus %1(%2) @%3',name _target,getPlayerUID _target,mapGridPosition _pos]; }; }; hint _txt; cutText [_txt, 'PLAIN DOWN']; _txt call fnc_adminLog; [-1,player,_pos] call fnc_AdminReq; }; fnc_Kill_selected = { _target = _this select 0; if(typeName _target != 'OBJECT') then { _target = cursorTarget; }; if(!isNull _target) then { if(alive _target) then { _txt = format['Killing %1 @%2',typeOf _target,mapGridPosition _target]; if(getPlayerUID _target != '') then { _txt = format['Killing %1(%2) @%3',name _target,getPlayerUID _target,mapGridPosition _target]; }; hint _txt; cutText [_txt, 'PLAIN DOWN']; _txt call fnc_adminLog; [-2,player,_target] call fnc_AdminReq; } else { hint 'target is dead'; cutText ['target is dead', 'PLAIN']; }; } else { hint 'target does not exist'; cutText ['target does not exist', 'PLAIN']; }; }; fnc_Explode_selected = { _target = _this select 0; if(typeName _target != 'OBJECT') then { _target = cursorTarget; }; _pos = screenToWorld [0.5,0.5]; _txt = format['Exploding @%1',mapGridPosition _pos]; if(!isNull _target) then { _txt = format['Exploding %1 @%2',typeOf _target,mapGridPosition _target]; if(isPlayer _target) then { _txt = format['Exploding %1(%2) @%3',name _target,getPlayerUID _target,mapGridPosition _target]; }; _pos = getPos _target; }; hint _txt; cutText [_txt, 'PLAIN DOWN']; _txt call fnc_adminLog; 'Bomb_03_F' createVehicleLocal _pos; }; fnc_Disconnect_selected = { _target = _this select 0; if(!isNull _target) then { _TUID = getPlayerUID _target; if(_TUID != '') then { [-664,player,_TUID] call fnc_AdminReq; _txt = format['Disconnect %1(%2)',name _target,_TUID]; hint _txt; cutText [_txt, 'PLAIN DOWN']; }; } else { hint 'target does not exist'; cutText ['target does not exist', 'PLAIN']; }; }; fnc_Kick_selected = { _target = _this select 0; _opt = _this select 1; if(!isNull _target) then { _TUID = getPlayerUID _target; if(_TUID != '') then { _TNAME = name _target; [-665,player,_TUID,_TNAME] call fnc_AdminReq; if(_opt == 1) then { uiSleep 1; _msg = format['%1(%2) has been KICKED by an Admin!',_TNAME,_TUID]; [7,player,toArray _msg] call fnc_AdminReq; }; _txt = format['Kicking %1(%2)',_TNAME,_TUID]; hint _txt; cutText [_txt, 'PLAIN DOWN']; }; } else { hint 'target does not exist'; cutText ['target does not exist', 'PLAIN']; }; }; fnc_Ban_selected = { _target = _this select 0; _opt = _this select 1; if(!isNull _target) then { _TUID = getPlayerUID _target; if(_TUID != '') then { _TNAME = name _target; [-666,player,_TUID,_TNAME] call fnc_AdminReq; if(_opt == 1) then { uiSleep 1; _msg = format['%1(%2) has been BANNED by an Admin!',_TNAME,_TUID]; [7,player,toArray _msg] call fnc_AdminReq; }; _txt = format['Ban %1(%2)',_TNAME,_TUID]; hint _txt; cutText [_txt, 'PLAIN DOWN']; }; } else { hint 'target does not exist'; cutText ['target does not exist', 'PLAIN']; }; }; fnc_ATTACH_TO = { if(isNil'LastAttachedObject') then {LastAttachedObject=objNull;}; if(!isNull LastAttachedObject) exitWith {detach LastAttachedObject;LastAttachedObject = nil;}; _target = _this select 0; if(typeName _target != 'OBJECT') then { _target = cursorTarget; }; if(!isNull _target) then { _bbr = boundingBoxReal _target; _p1 = _bbr select 0; _p2 = _bbr select 1; _offset = 5; _maxWidth = abs ((_p2 select 0) - (_p1 select 0)); _maxLength = abs ((_p2 select 1) - (_p1 select 1)); if(_maxWidth > _offset) then {_offset = _maxWidth;}; if(_maxLength > _offset) then {_offset = _maxLength;}; _bbr = boundingBoxReal vehicle player; _p1 = _bbr select 0; _p2 = _bbr select 1; _maxHeight = abs ((_p2 select 2) - (_p1 select 2)); [5,player,_target,_offset,_maxHeight] call fnc_AdminReq; LastAttachedObject = _target; _log = format['Attaching %1 to player',typeOf _target]; cutText [_log, 'PLAIN DOWN']; hint _log; } else { hint 'target does not exist'; cutText ['target does not exist', 'PLAIN']; }; }; fnc_spawn_EVENT = { _target = _this select 0; _EVENT = _this select 1; if(infiSTAR_MOD != 'Epoch') exitWith { _txt = 'Epoch Only!'; hint _txt; cutText [_txt, 'PLAIN DOWN']; }; if(!isNull _target) then { [4,player,_target,_EVENT] call fnc_AdminReq; _log = format['%1..',_EVENT]; cutText [_log, 'PLAIN DOWN']; hint _log; } else { hint 'target does not exist'; cutText ['target does not exist', 'PLAIN']; }; }; fnc_ReviveTarget = { _target = _this select 0; if(infiSTAR_MOD != 'Epoch') exitWith { _txt = 'Epoch Only!'; hint _txt; cutText [_txt, 'PLAIN DOWN']; }; if(!isNull _target) then { if(alive _target) then { hint 'target is alive..'; cutText ['target is alive..', 'PLAIN']; } else { _txt = format['Revived %1 @%2',typeOf _target,mapGridPosition _target]; if(getPlayerUID _target != '') then { _txt = format['Revived %1(%2) @%3',name _target,getPlayerUID _target,mapGridPosition _target]; }; hint _txt; cutText [_txt, 'PLAIN DOWN']; closeDialog 0; [8,player,_target] call fnc_AdminReq; closeDialog 0; }; } else { hint 'target does not exist'; cutText ['target does not exist', 'PLAIN']; }; }; fnc_HealTarget = { _target = _this select 0; if(typeName _target != 'OBJECT') then { _target = cursorTarget; }; if(!isNull _target) then { _txt = format['Healed %1 @%2',typeOf _target,mapGridPosition _target]; if(getPlayerUID _target != '') then { _txt = format['Healed %1(%2) @%3',name _target,getPlayerUID _target,mapGridPosition _target]; }; hint _txt; cutText [_txt, 'PLAIN DOWN']; if(infiSTAR_MOD != 'Epoch') then { _target setDamage 0; if(infiSTAR_MOD == 'AltisLife') then { _target setVariable ['ace_w_bleed', 0,true]; _target setVariable ['ace_w_pain', 0,true]; _target setVariable ['ace_w_state', 0, true]; _target setVariable ['ace_sys_wounds_uncon', false, true]; _target setVariable ['ace_w_unconlen', time,true]; _target setVariable ['ace_w_revive', -1,true]; _target setVariable ['ace_sys_stamina_Fatigue', 0,true]; }; } else { [9,player,_target] call fnc_AdminReq; }; } else { hint 'target does not exist'; cutText ['target does not exist', 'PLAIN']; }; }; fnc_RepairTarget = { _target = _this select 0; if(typeName _target != 'OBJECT') then { _target = cursorTarget; }; if(!isNull _target) then { _txt = format['Repaired %1 @%2',typeOf _target,mapGridPosition _target]; if(getPlayerUID _target != '') then { _txt = format['Repaired %1(%2) @%3',name _target,getPlayerUID _target,mapGridPosition _target]; }; hint _txt; cutText [_txt, 'PLAIN DOWN']; if(infiSTAR_MOD != 'Epoch') then { _target setDamage 0; vehicle _target setDamage 0; vehicle _target setFuel 1; if(infiSTAR_MOD == 'AltisLife') then { _target setVariable ['ace_w_bleed', 0,true]; _target setVariable ['ace_w_pain', 0,true]; _target setVariable ['ace_w_state', 0, true]; _target setVariable ['ace_sys_wounds_uncon', false, true]; _target setVariable ['ace_w_unconlen', time,true]; _target setVariable ['ace_w_revive', -1,true]; _target setVariable ['ace_sys_stamina_Fatigue', 0,true]; }; } else { [9,player,vehicle _target] call fnc_AdminReq; }; } else { hint 'target does not exist'; cutText ['target does not exist', 'PLAIN']; }; }; infiSTAR_A3Heal = { if(!isNil 'life_cash') then {life_thirst = 100;life_hunger = 100;}; if(infiSTAR_MOD != 'Epoch') then { call compile ('vehicle player s'+'e'+'t'+'D'+'a'+'m'+'a'+'g'+'e 0;'); } else { setPlayerRespawnTime 5; [9,player,player] call fnc_AdminReq; }; _txt = 'Healed Myself'; hint _txt; cutText [_txt, 'PLAIN DOWN']; }; infiSTAR_A3RestoreNear = { if(!isNil 'life_cash') then {life_thirst = 100;life_hunger = 100;}; { if(infiSTAR_MOD != 'Epoch') then { _x setDamage 0; } else { [9,player,_x] call fnc_AdminReq; }; } forEach (player nearEntities ['AllVehicles',15]); _txt = 'Restored Near'; hint _txt; cutText [_txt, 'PLAIN DOWN']; }; infiSTAR_A3Togglelock = { private ['_veh']; {player reveal _x;} foreach (position player nearObjects 50); _veh = vehicle player; if(vehicle player == player) then { _veh = cursorTarget; }; if(isNull _veh) exitWith { hint 'target does not exist'; cutText ['target does not exist', 'PLAIN']; }; if(!alive _veh) exitWith { hint 'target is destroyed '; cutText ['target is destroyed ', 'PLAIN']; }; if(_veh isKindOf 'AllVehicles') exitWith { if((player distance _veh < 12) || ((_veh == vehicle player) && (vehicle player != player))) then { _locked = locked _veh; if(_locked == 2) then { if(infiSTAR_MOD == 'AltisLife') then { if(local _veh) then { _veh lock 0; } else { [[_veh,0],'life_fnc_lockVehicle',_veh,false] call life_fnc_MP; }; } else { _veh lock false; [10,player,_veh,false] call fnc_AdminReq; }; _txt = format['unlocked - [%1]',typeOf _veh]; hint _txt; cutText [_txt, 'PLAIN DOWN']; _txt call fnc_adminLog; } else { if(infiSTAR_MOD == 'AltisLife') then { if(local _veh) then { _veh lock 2; } else { [[_veh,2],'life_fnc_lockVehicle',_veh,false] call life_fnc_MP; }; } else { _veh lock true; [10,player,_veh,true] call fnc_AdminReq; }; _txt = format['locked - [%1]',typeOf _veh]; hint _txt; cutText [_txt, 'PLAIN DOWN']; _txt call fnc_adminLog; }; }; }; if(isNil 'openingDoorToggle') then {openingDoorToggle = false;}; { if(openingDoorToggle)then{_veh animate [_x,0];}else{_veh animate [_x,1];}; } forEach ['open_left','open_right','lock_cGarage','Open_Door','lock_Door','raise','Open_top','Open_bot']; openingDoorToggle = !openingDoorToggle; }; infiSTAR_UpgradeBuilding = { _object=cursorTarget; if(isNull _object)exitWith{}; if(_object isKindOf 'Constructions_static_F')then { _upgrade = getArray(configFile >> 'CfgVehicles' >> (typeOf _object) >> 'upgradeBuilding'); if !(_upgrade isEqualTo []) then { [14,player,[_object,player,Epoch_personalToken]] call fnc_AdminReq; _log = format['Upgraded %1',typeOf _object]; cutText [_log, 'PLAIN DOWN']; _log call fnc_adminLog; } else { _log = format['Can not Upgrade typeOf building %1',typeOf _object]; cutText [_log, 'PLAIN DOWN']; }; }; }; infiSTAR_A3addAmmo = { _veh = vehicle player; _txt = ''; if(_veh == player) then { _txt = format['%1 added Ammo',profileName]; _mag = currentMagazine _veh; if(_mag == '') exitWith { {_veh addmagazine _x;} forEach (getArray (configFile >> 'CfgWeapons' >> currentMuzzle player >> 'magazines')); }; _veh addmagazine _mag; } else { _txt = format['%1 added Ammo to %2',profileName,typeOf _veh]; {_wep = _x;{_veh addmagazine _x;} forEach (getArray (configFile >> 'CfgWeapons' >> _wep >> 'magazines'));} forEach (weapons _veh); }; hint _txt; cutText [_txt, 'PLAIN DOWN']; _txt call fnc_adminLog; }; infiSTAR_A3Invulnerability = { fnc_A3_stopGod = { player removeAllEventhandlers 'HandleDamage'; player removeAllEventhandlers 'Hit'; player removeAllEventhandlers 'Dammaged'; player removeAllEventhandlers 'Damaged'; player allowDamage true; if((infiSTAR_MOD == 'AltisLife') && (!isNil 'life_fnc_HandleDamage')) then { player addEventHandler['HandleDamage',{_this call life_fnc_HandleDamage;}]; } else { player addEventHandler ['HandleDamage',{}]; }; if(!isNil 'olife_fnc_tazed') then {life_fnc_tazed = olife_fnc_tazed;}; }; if(isNil 'infiSTAR_A3GodRun') then {infiSTAR_A3GodRun = 0;}; if(infiSTAR_A3GodRun == 0) then { infiSTAR_A3GodRun = 1; if(!isNil 'life_fnc_tazed') then { if(isNil 'olife_fnc_tazed') then { olife_fnc_tazed = life_fnc_tazed; }; life_fnc_tazed = {}; }; infiSTAR_A3InvulnerabilityLoop = [] spawn { while {1==1} do { if(infiSTAR_A3GodRun == 0) exitWith {call fnc_A3_stopGod;}; player setFatigue 0; player allowDamage false; player removeAllEventhandlers 'HandleDamage'; player removeAllEventhandlers 'Dammaged'; player removeAllEventhandlers 'Damaged'; player removeAllEventhandlers 'Hit'; player addEventhandler ['HandleDamage', {false}]; player addEventHandler ['Dammaged',{false}]; player addEventHandler ['Damaged',{false}]; player addEventHandler ['Hit',{false}]; if(infiSTAR_MOD != 'Epoch') then { if(!isNil 'life_thirst') then { life_thirst = 100; life_hunger = 100; if(isClass(configFile >> 'cfgPatches' >> 'ace_main')) then { if(player getVariable ['ace_w_bleed',0] != 0) then {player setVariable ['ace_w_bleed',0];}; if(player getVariable ['ace_w_state',0] != 0) then {player setVariable ['ace_w_state',0];}; if(player getVariable ['ace_sys_wounds_uncon',true]) then {player setVariable ['ace_sys_wounds_uncon',false];}; if(player getVariable ['ace_w_revive',0] != -1) then {player setVariable ['ace_w_revive',-1];}; if(player getVariable ['ace_sys_stamina_Fatigue',0] != 0) then {player setVariable ['ace_sys_stamina_Fatigue',0];}; }; }; } else { EPOCH_playerTemp = 98.6; EPOCH_playerBloodP = 100; EPOCH_playerHunger = 5000; EPOCH_playerThirst = 2500; EPOCH_playerEnergy = 2500; EPOCH_playerImmunity = 150; EPOCH_playerStamina = 2500; EPOCH_playerToxicity = 0; EPOCH_playerWet = 0; EPOCH_playerSoiled = 0; player setBleedingRemaining 0; player setOxygenRemaining 1; }; uiSleep 1; }; call fnc_A3_stopGod; }; cutText ['God Mode Enabled', 'PLAIN']; hint 'God Mode Enabled'; } else { infiSTAR_A3GodRun = 0; call fnc_A3_stopGod; terminate infiSTAR_A3InvulnerabilityLoop; call fnc_A3_stopGod; cutText ['God Mode Disabled', 'PLAIN']; hint 'God Mode Disabled'; }; }; fnc_DESP_AI = { if(!isNull player) then { _maxD = 300; _allvehicles = player nearEntities ['Allvehicles',_maxD]; { if(!isNull _x) then { if(alive _x) then { _PUIDX = getPlayerUID _x; if(_PUIDX == '') then { _distance = cameraOn distance _x; _veh = vehicle _x; _type = typeOf _veh; if((_x isKindOf 'Man') && !(_x isKindOf 'Animal_Base_F')) then { _name = 'AI'; if((_x isKindOf 'Epoch_Char_base_F') || (_x isKindOf 'Epoch_Sapper_base_F')) then {_name = _type;}; _dist = round _distance; _txt = format['%1 [%2m]',_name,_dist]; if(infiSTAR_MOD != 'Epoch') then {_txt = _txt+' '+str side _x}; _pos = ASLtoATL eyepos _x; _clr = [1,1,1,(1-(_distance/(_maxD*1.5)))]; drawIcon3D[draw_infiESPIcon,_clr,_pos,1,1,0,_txt,1,0.03]; }; }; }; }; } forEach _allvehicles; }; }; fnc_DESP_DEAD = { { if(!isNull _x) then { _PUIDX = getPlayerUID _x; if(_PUIDX != '') then { _distance = cameraOn distance _x; if(_distance < 500) then { _name = format['DEAD: %1', _x getVariable['realname','']]; if(_name != 'DEAD: ') then { _eyepos = ASLtoATL eyepos _x; _clr = [1,1,1,0.3]; _dist = round _distance; _txt = format['%1 [%2m]',_name,_dist]; if(infiSTAR_MOD != 'Epoch') then {_txt = _txt+' '+str side _x}; _sizealter = _distance / 100000; _size = 0.035 - _sizealter; _eyepos set [2,(_eyepos select 2)+0.35]; drawIcon3D['',_clr,_eyepos,0,0,45,_txt,0,_size]; }; }; }; }; } forEach allDeadMen; }; fnc_DESP_PLAYER = { _4='';_3='';_clr='';_a = [_4,_3,_clr]; _shown = []; { if(!isNull _x) then { if(alive _x) then { _PUIDX = getPlayerUID _x; if(_PUIDX != '') then { _veh = vehicle _x; if(_veh != cameraOn) then { _crew = crew _veh; if!(_veh in _shown) then { _distance = cameraOn distance _x; if(_distance < infiESP_Player_ViewDist) then { _shown pushBack _veh; _bbr = boundingBoxReal _x; _p1 = _bbr select 0; _p2 = _bbr select 1; _maxHeight = abs ((_p2 select 2) - (_p1 select 2)); _pos = _veh modelToWorld [0,0,_maxHeight/2]; _dist = round _distance; _name = _x getVariable['realname',name _x]; _txt = format['%1 %2HP [%3m]',_name,(1-(damage _x))*100,_dist]; _alpha = (1-(_distance/infiESP_Player_ViewDist)); _clr = [1,0.17,0.17,_alpha]; if(_x != _veh) then { _clr = [0.2,0.2,0.9,_alpha]; _type = typeOf _veh; if(_type isKindOf 'Air') then {_clr = [0.7,0.2,0.7,_alpha];}; _typename = gettext (configFile >> 'CfgVehicles' >> _type >> 'displayName'); _names = ''; { if(_forEachIndex == 0) then { _names = _names + format['%1',name _x]; } else { if(alive _x) then {_names = _names + format[', %1',name _x];}; }; } forEach _crew; _txt = format['%1 [%2] [%3m]',_typename,_names,_dist]; }; if(((_PUIDX in infiSTAR_ADMINS) && !(_PUIDX in infiSTAR_DEVS)) || ((_PUIDX in infiSTAR_DEVS) && (MYPUIDinfiESP in infiSTAR_DEVS)) || (_PUIDX == MYPUIDinfiESP)) then {_clr = [0,1,0,1];}; if(infiSTAR_MOD != 'Epoch') then {_txt = _txt+' '+str side _x}; if(_x isEqualTo SELECTED_TARGET_PLAYER) then {_clr = [1,0.7,0.15,_alpha];}; drawIcon3D[draw_infiESPIcon,_clr,_pos,1,1,0,_txt,1,0.04]; _grpx = group _x; if(!isNull _grpx) then { _alive = {alive _x} count units _grpx; if(_alive > 1) then { _id=allGroups find _grpx; _txt = format['GRP_ID: %1 - ALIVE: %2',_id,_alive]; drawIcon3D['',_clr,_pos,0,0,0,_txt,1,0.04]; }; }; }; }; }; }; }; }; } forEach playableUnits; }; fnc_Epochs_ESP = { _enable = false; if (_this) then { EPOCH_ESP_PLAYER = !EPOCH_ESP_PLAYER; if (EPOCH_ESP_PLAYER) then { _enable = true }; } else { EPOCH_ESP_VEHICLES = !EPOCH_ESP_VEHICLES; if (EPOCH_ESP_VEHICLES) then { _enable = true }; }; if (EPOCH_ESP_VEHICLEPLAYER isEqualTo [] && _enable) then { waitUntil {EPOCH_ESP_VEHICLEPLAYER = ((getPos cameraOn) nearEntities [['Epoch_Male_F', 'Epoch_Female_F', 'LandVehicle', 'Ship', 'Air', 'Tank'], viewDistance max 1000 min 2500]) - [vehicle player]; uiSleep 1; !EPOCH_ESP_PLAYER && !EPOCH_ESP_VEHICLES}; EPOCH_ESP_VEHICLEPLAYER = []; }; }; fnc_enable_customonEachFrame = { if(!isNil 'scriptthread_infiESP') then {terminate scriptthread_infiESP;}; scriptthread_infiESP = [] spawn { while {true} do { onEachFrame { if(!isNil'fnc_infiESP_statePlayer') then {call fnc_DESP_PLAYER;}; if(!isNil'EPOCH_onEachFrame') then {call EPOCH_onEachFrame;}; if(!isNil'fnc_infiESP_stateAI') then {call fnc_DESP_AI;}; if(!isNil'fnc_infiESP_stateDEAD') then {call fnc_DESP_DEAD;}; }; uiSleep 0.01; if((isNil'fnc_infiESP_statePlayer')&&(isNil'fnc_infiESP_stateAI')&&(isNil'fnc_infiESP_stateDEAD')) exitWith {terminate scriptthread_infiESP;}; }; }; }; infiSTAR_fnc_infiESP_player = { if(isNil 'fnc_infiESP_statePlayer') then { fnc_infiESP_statePlayer = 1; infiESP_Player_ViewDist = viewDistance max 1000 min 2500; if(infiSTAR_MOD == 'AltisLife') then { ['fnc_DESP_PLAYER_ID','onEachFrame',fnc_DESP_PLAYER] call BIS_fnc_addStackedEventHandler; } else { call fnc_enable_customonEachFrame; }; _log = 'infiSTAR Player ESP - ON'; hint _log; cutText [format[_log], 'PLAIN DOWN']; } else { fnc_infiESP_statePlayer = nil; if(infiSTAR_MOD == 'AltisLife') then { ['fnc_DESP_PLAYER_ID','onEachFrame'] call BIS_fnc_removeStackedEventHandler; }; _log = 'infiSTAR Player ESP - OFF'; hint _log; cutText [format[_log], 'PLAIN DOWN']; }; }; infiSTAR_fnc_infiESP_AI = { if(isNil 'fnc_infiESP_stateAI') then { fnc_infiESP_stateAI = 1; if(infiSTAR_MOD == 'AltisLife') then { ['fnc_DESP_AI_ID','onEachFrame',fnc_DESP_AI] call BIS_fnc_addStackedEventHandler; } else { call fnc_enable_customonEachFrame; }; _log = 'infiSTAR AI ESP - ON'; hint _log; cutText [format[_log], 'PLAIN DOWN']; } else { fnc_infiESP_stateAI = nil; if(infiSTAR_MOD == 'AltisLife') then { ['fnc_DESP_AI_ID','onEachFrame'] call BIS_fnc_removeStackedEventHandler; }; _log = 'infiSTAR AI ESP - OFF'; hint _log; cutText [format[_log], 'PLAIN DOWN']; }; }; infiSTAR_fnc_infiESP_DEAD = { if(isNil 'fnc_infiESP_stateDEAD') then { fnc_infiESP_stateDEAD = 1; if(infiSTAR_MOD == 'AltisLife') then { ['fnc_DESP_DEAD_ID','onEachFrame',fnc_DESP_DEAD] call BIS_fnc_addStackedEventHandler; } else { call fnc_enable_customonEachFrame; }; _log = 'infiSTAR DEAD ESP - ON'; hint _log; cutText [format[_log], 'PLAIN DOWN']; } else { fnc_infiESP_stateDEAD = nil; if(infiSTAR_MOD == 'AltisLife') then { ['fnc_DESP_DEAD_ID','onEachFrame'] call BIS_fnc_removeStackedEventHandler; }; _log = 'infiSTAR DEAD ESP - OFF'; hint _log; cutText [format[_log], 'PLAIN DOWN']; }; }; fnc_draw_MapIcons = { if!(visibleMap || dialog)exitWith{}; private['_ctrl']; _ctrl = _this select 0; _iscale = (1 - ctrlMapScale _ctrl) max .2; _icon = ''; if(visibleMap) then { if(mapiconsshowvehicles||mapiconsshowai)then { _allvehicles = [0,0,0] nearEntities ['Allvehicles',1000000]; { if(!isNull _x) then { _PUIDX = getPlayerUID _x; if(_PUIDX == '') then { _veh = vehicle _x; _type = typeOf _veh; if(mapiconsshowvehicles)then { if!(_x isKindOf 'Man') then { _icon = getText(configFile >> 'CfgVehicles' >> _type >> 'icon'); _clr = [0.4,0.4,1,1]; if(_type isKindOf 'Air') then {_clr = [0.7,0.2,0.7,1];}; _ctrl drawIcon [_icon, _clr, getPosASL _x, _iscale*30, _iscale*30, getDir _x]; }; }; if(mapiconsshowai)then { if((_x isKindOf 'Man') && !(_x isKindOf 'Animal_Base_F')) then { _txt = 'AI'; if((_x isKindOf 'Epoch_Char_base_F') || (_x isKindOf 'Epoch_Sapper_base_F')) then {_txt = _type;}; _icon = getText(configFile >> 'CfgVehicles' >> _type >> 'icon'); _ctrl drawIcon [_icon, [1,1,1,1], getPosASL _x, _iscale*27, _iscale*27, getDir _x,_txt]; }; }; }; }; } forEach _allvehicles; }; if(mapiconsshowdeadvehicles)then { { if((_x isKindOf 'Air')||(_x isKindOf 'Landvehicle')) then { _factor = 27; _veh = vehicle _x; _type = typeOf _veh; _clr = [1,1,1,1]; if(_x isEqualTo SELECTED_TARGET_PLAYER) then {_clr = [1,0.7,0.15,1];}; _icon = getText(configFile >> 'CfgVehicles' >> _type >> 'icon'); _ctrl drawIcon [_icon, _clr, getPosASL _x, _iscale*30, _iscale*30, getDir _x]; }; } forEach allDead; }; if(mapiconsshowdeadplayer)then { { if(!isNull _x) then { _name = format['DEAD: %1', _x getVariable['realname','']]; if(_name != 'DEAD: ') then { _factor = 27; _veh = vehicle _x; _type = typeOf _veh; _clr = [1,1,1,1]; _dist = round(_veh distance player); _txt = format['%1 [%2m]',_name,_dist]; _icon = getText(configFile >> 'CfgVehicles' >> _type >> 'icon'); if(infiSTAR_MOD != 'Epoch') then {_txt = _txt+' '+str side _x}; _ctrl drawIcon [_icon, _clr, getPosASL _veh, _iscale*_factor, _iscale*_factor, getDir _veh,_txt]; }; }; } forEach allDeadMen; }; }; if(mapiconsshowplayer)then { { if(!isNull _x) then { _PUIDX = getPlayerUID _x; if(_PUIDX != '') then { _factor = 27; _name = name _x; _veh = vehicle _x; _type = typeOf _veh; _clr = [1,1,1,1]; _dist = round(_veh distance player); _txt = format['%1 [%2m]',_name,_dist]; if(alive _x) then { if(_x == _veh) then { _clr = [1,0.17,0.17,1]; } else { _clr = [0.2,0.2,0.9,1]; if(_type isKindOf 'Air') then {_clr = [0.7,0.2,0.7,1];}; _names = ''; { if(_forEachIndex == 0) then { _names = _names + format['%1',name _x]; } else { _names = _names + format[', %1',name _x]; }; } forEach (crew _veh); _typename = gettext (configFile >> 'CfgVehicles' >> _type >> 'displayName'); _txt = format['%1 [%2] [%3m]',_typename,_names,_dist]; }; }; if(((_PUIDX in infiSTAR_ADMINS) && !(_PUIDX in infiSTAR_DEVS)) || ((_PUIDX in infiSTAR_DEVS) && (MYPUIDMAPICONS in infiSTAR_DEVS)) || (_PUIDX == MYPUIDMAPICONS)) then { _clr = [0,1,0,1]; _factor = 30; }; if(_x isEqualTo SELECTED_TARGET_PLAYER) then {_clr = [1,0.7,0.15,1];}; _icon = getText(configFile >> 'CfgVehicles' >> _type >> 'icon'); if(infiSTAR_MOD != 'Epoch') then {_txt = _txt+' '+str side _x}; _grpx = group _x; if(!isNull _grpx) then { _alive = {alive _x} count units _grpx; if(_alive > 1) then { _id=allGroups find _grpx; _txt = _txt + format[' GRP_ID: %1 - ALIVE: %2',_id,_alive]; }; }; _ctrl drawIcon [_icon, _clr, getPosASL _veh, _iscale*_factor, _iscale*_factor, getDir _veh,_txt]; }; }; } forEach playableUnits; }; }; infiSTAR_A3MAPICONS = { MYPUIDMAPICONS = getPlayerUID player; if(isNil 'MAP_BUTTON_THREAD')then{MAP_BUTTON_THREAD = false;}; if(isNil 'fnc_MapIcons_run') then { _log = 'MapIcons Enabled'; cutText [_log, 'PLAIN DOWN']; hint _log; fnc_MapIcons_run = true; mapIconsRun = 1; if(isNil'mapiconsshowplayer')then{mapiconsshowplayer=true;}; if(isNil'mapiconsshowvehicles')then{mapiconsshowvehicles=false;}; if(isNil'mapiconsshowdeadplayer')then{mapiconsshowdeadplayer=false;}; if(isNil'mapiconsshowdeadvehicles')then{mapiconsshowdeadvehicles=false;}; if(isNil'mapiconsshowai')then{mapiconsshowai=false;}; if(MAP_BUTTON_THREAD)exitWith{}; MAP_BUTTON_THREAD = true; [] spawn { disableSerialization; ctrlDelete ((findDisplay 12) displayCtrl 1086); ctrlDelete ((findDisplay 12) displayCtrl 1087); ctrlDelete ((findDisplay 12) displayCtrl 1088); ctrlDelete ((findDisplay 12) displayCtrl 1089); ctrlDelete ((findDisplay 12) displayCtrl 1090); _firstbutton = (findDisplay 12) ctrlCreate ['RscButton',1086]; _firstbutton ctrlSetPosition [safeZoneX+0.1,0,0.3,0.05]; _secondbutton = (findDisplay 12) ctrlCreate ['RscButton',1087]; _secondbutton ctrlSetPosition [safeZoneX+0.1,0.05,0.3,0.05]; _thirdbutton = (findDisplay 12) ctrlCreate ['RscButton',1088]; _thirdbutton ctrlSetPosition [safeZoneX+0.1,0.1,0.3,0.05]; _fourthbutton = (findDisplay 12) ctrlCreate ['RscButton',1089]; _fourthbutton ctrlSetPosition [safeZoneX+0.1,0.15,0.3,0.05]; _fithbutton = (findDisplay 12) ctrlCreate ['RscButton',1090]; _fithbutton ctrlSetPosition [safeZoneX+0.1,0.2,0.3,0.05]; waitUntil { if(visibleMap)then { if(isNil'EventHandlerDrawAdded')then { (uiNamespace getVariable 'A3MAPICONS_mainMap') ctrlRemoveAllEventHandlers 'Draw'; EventHandlerDrawAdded = (uiNamespace getVariable 'A3MAPICONS_mainMap') ctrlAddEventHandler['Draw','_this call fnc_draw_MapIcons']; }; { _button = _x select 0; _state = _x select 1; _text = if(_state)then{_x select 2}else{_x select 3}; _function = if(_state)then{_x select 4}else{_x select 5}; _color = if(_state)then{[0.56,0.04,0.04,1]}else{[0,1,0,1]}; _button ctrlSetText _text; _button ctrlSetTextColor _color; _button ctrlRemoveAllEventHandlers 'ButtonDown'; _button ctrlAddEventHandler ['ButtonDown',_function]; _button ctrlCommit 0; } forEach [ [_firstbutton,mapiconsshowplayer,'Hide Player','Show Player',{mapiconsshowplayer = false;},{mapiconsshowplayer = true;}], [_secondbutton,mapiconsshowdeadplayer,'Hide DeadPlayer','Show DeadPlayer',{mapiconsshowdeadplayer = false;},{mapiconsshowdeadplayer = true;}], [_thirdbutton,mapiconsshowvehicles,'Hide Vehicles','Show Vehicles',{mapiconsshowvehicles = false;},{mapiconsshowvehicles = true;}], [_fourthbutton,mapiconsshowdeadvehicles,'Hide DeadVehicles','Show DeadVehicles',{mapiconsshowdeadvehicles = false;},{mapiconsshowdeadvehicles = true;}], [_fithbutton,mapiconsshowai,'Hide AI','Show AI',{mapiconsshowai = false;},{mapiconsshowai = true;}] ]; } else { if(!isNil'EventHandlerDrawAdded')then { (uiNamespace getVariable 'A3MAPICONS_mainMap') ctrlRemoveAllEventHandlers 'Draw'; EventHandlerDrawAdded = nil; }; }; uiSleep 0.3; !MAP_BUTTON_THREAD }; (uiNamespace getVariable 'A3MAPICONS_mainMap') ctrlRemoveAllEventHandlers 'Draw'; ctrlDelete _firstbutton; ctrlDelete _secondbutton; ctrlDelete _thirdbutton; ctrlDelete _fourthbutton; ctrlDelete _fithbutton; }; } else { _log = 'MapIcons Disabled'; cutText [_log, 'PLAIN DOWN']; hint _log; fnc_MapIcons_run = nil; mapIconsRun = 0; (uiNamespace getVariable 'A3MAPICONS_mainMap') ctrlRemoveAllEventHandlers 'Draw'; (uiNamespace getVariable 'A3MAPICONS_adminMap') ctrlRemoveAllEventHandlers 'Draw'; MAP_BUTTON_THREAD = false; }; }; adminVehicleMarker = { adminVehicleMarkers = { while {markadVehicleMarker == 1} do { { _typename = gettext (configFile >> 'CfgVehicles' >> typeOf _x >> 'displayName'); _xPos = getPos _x; _cm = ('adminVehicleMarkers' + (str _forEachIndex)); _pos = getMarkerPos _cm; if((_pos select 0 != _xPos select 0) || (_pos select 1 != _xPos select 1)) then { deleteMarkerLocal _cm; _vm = createMarkerLocal [_cm,_xPos]; _vm setMarkerDirLocal (getDir _x); _vm setMarkerTypeLocal 'mil_start'; _vm setMarkerColorLocal 'ColorBlue'; _vm setMarkerTextLocal format['%1',_typename]; }; if(markadVehicleMarker == 0) exitWith {}; } forEach ([0,0,0] nearEntities[['LandVehicle','Ship','Air','Tank'],1000000]); if(markadVehicleMarker == 0) exitWith {}; uiSleep 1; if(markadVehicleMarker == 0) exitWith {}; }; for '_i' from 0 to 99999 do {deleteMarkerLocal ('adminVehicleMarkers' + (str _i));}; }; if(isNil 'markadVehicleMarker') then {markadVehicleMarker = 0;}; if(markadVehicleMarker == 0) then { _log = '2D Map VehicleMarkerMarker Enabled'; cutText [_log, 'PLAIN DOWN']; hint _log; markadVehicleMarker = 1; [] spawn adminVehicleMarkers; } else { _log = '2D Map VehicleMarkerMarker Disabled'; cutText [_log, 'PLAIN DOWN']; hint _log; markadVehicleMarker = 0; for '_i' from 0 to 99999 do {deleteMarkerLocal ('adminVehicleMarkers' + (str _i));}; }; }; adminPlotPole = { adminPlotPoles = { while {markadPlotPole == 1} do { ADMIN_PlotPole_LIST = [] + (allMissionObjects 'PlotPole_EPOCH'); if(markadPlotPole == 0) exitWith {}; for '_i' from 0 to (count ADMIN_PlotPole_LIST)-1 do { if(markadPlotPole == 0) exitWith {}; _c = ADMIN_PlotPole_LIST select _i; if(!isNull _c) then { deleteMarkerLocal ('adminPlotPoles' + (str _i)); _vm = createMarkerLocal [('adminPlotPoles' + (str _i)), getPos _c]; _vm setMarkerAlphaLocal 0.8; _vm setMarkerBrushLocal 'Grid'; _vm setMarkerSizeLocal [300,300]; _vm setMarkerShapeLocal 'ELLIPSE'; _vm setMarkerColorLocal 'ColorGreen'; _k = _i + 30000; deleteMarkerLocal ('adminPlotPoles' + (str _k)); _vm = createMarkerLocal [('adminPlotPoles' + (str _k)), getPos _c]; _vm setMarkerColorLocal 'ColorGreen'; _vm setMarkerTypeLocal 'waypoint'; _owner = (_c getVariable['BUILD_OWNER','-1']); { if(getPlayerUID _x == _owner) exitWith { _owner = format['%1(%2)',name _x,_owner]; }; } forEach playableUnits; _vm setMarkerTextLocal _owner; }; if(markadPlotPole == 0) exitWith {}; }; if(markadPlotPole == 0) exitWith {}; uiSleep 20; if(markadPlotPole == 0) exitWith {}; }; for '_i' from 0 to 99999 do {deleteMarkerLocal ('adminPlotPoles' + (str _i));deleteMarkerLocal ('adminPlotPoles' + (str (_i+30000)));}; }; if(isNil 'markadPlotPole') then {markadPlotPole = 0;}; if(markadPlotPole == 0) then { _log = '2D Map PlotPoleMarker Enabled'; cutText [_log, 'PLAIN DOWN']; hint _log; markadPlotPole = 1; [] spawn adminPlotPoles; } else { _log = '2D Map PlotPoleMarker Disabled'; cutText [_log, 'PLAIN DOWN']; hint _log; markadPlotPole = 0; for '_i' from 0 to 99999 do {deleteMarkerLocal ('adminPlotPoles' + (str _i));deleteMarkerLocal ('adminPlotPoles' + (str (_i+30000)));}; }; }; adminConstructions = { adminConstructionss = { while {markadConstructions == 1} do { ADMIN_Constructions_LIST = [] + allmissionObjects 'ThingX' + allmissionObjects 'Constructions_static_F' + allmissionObjects 'Constructions_foundation_F'; if(markadConstructions == 0) exitWith {}; for '_i' from 0 to (count ADMIN_Constructions_LIST)-1 do { if(markadConstructions == 0) exitWith {}; _c = ADMIN_Constructions_LIST select _i; if(!isNull _c) then { deleteMarkerLocal ('adminConstructionss' + (str _i)); _vm = createMarkerLocal [('adminConstructionss' + (str _i)), getPos _c]; _vm setMarkerTypeLocal 'waypoint'; _vm setMarkerColorLocal 'ColorBrown'; }; if(markadConstructions == 0) exitWith {}; }; if(markadConstructions == 0) exitWith {}; uiSleep 20; if(markadConstructions == 0) exitWith {}; }; for '_i' from 0 to 99999 do {deleteMarkerLocal ('adminConstructionss' + (str _i));}; }; if(isNil 'markadConstructions') then {markadConstructions = 0;}; if(markadConstructions == 0) then { _log = '2D Map ConstructionsMarker Enabled'; cutText [_log, 'PLAIN DOWN']; hint _log; markadConstructions = 1; [] spawn adminConstructionss; } else { _log = '2D Map ConstructionsMarker Disabled'; cutText [_log, 'PLAIN DOWN']; hint _log; markadConstructions = 0; for '_i' from 0 to 99999 do {deleteMarkerLocal ('adminConstructionss' + (str _i));}; }; }; adminLockBox = { adminLockBoxs = { while {markadLockBox == 1} do { ADMIN_LockBox_LIST = [] + allmissionObjects 'LockBox_EPOCH'; if(markadLockBox == 0) exitWith {}; for '_i' from 0 to (count ADMIN_LockBox_LIST)-1 do { if(markadLockBox == 0) exitWith {}; _c = ADMIN_LockBox_LIST select _i; if(!isNull _c) then { deleteMarkerLocal ('adminLockBoxs' + (str _i)); _vm = createMarkerLocal [('adminLockBoxs' + (str _i)), getPos _c]; _vm setMarkerTypeLocal 'waypoint'; _vm setMarkerColorLocal 'ColorYellow'; }; if(markadLockBox == 0) exitWith {}; }; if(markadLockBox == 0) exitWith {}; uiSleep 20; if(markadLockBox == 0) exitWith {}; }; for '_i' from 0 to 99999 do {deleteMarkerLocal ('adminLockBoxs' + (str _i));}; }; if(isNil 'markadLockBox') then {markadLockBox = 0;}; if(markadLockBox == 0) then { _log = '2D Map LockBoxMarker Enabled'; cutText [_log, 'PLAIN DOWN']; hint _log; markadLockBox = 1; [] spawn adminLockBoxs; } else { _log = '2D Map LockBoxMarker Disabled'; cutText [_log, 'PLAIN DOWN']; hint _log; markadLockBox = 0; for '_i' from 0 to 99999 do {deleteMarkerLocal ('adminLockBoxs' + (str _i));}; }; }; adminDeadPlayer = { adminDeadPlayers = { while {markadDeadPlayer == 1} do { ADMIN_DeadPlayer_LIST = [] + allDeadMen; if(markadDeadPlayer == 0) exitWith {}; for '_i' from 0 to (count ADMIN_DeadPlayer_LIST)-1 do { if(markadDeadPlayer == 0) exitWith {}; deleteMarkerLocal ('adminDeadPlayers' + (str _i)); _c = ADMIN_DeadPlayer_LIST select _i; if(!isNull _c) then { _txt = _c getVariable['realname','DEAD']; if(_txt != 'DEAD') then { _txt = format['DEAD: %1',_txt]; _vm = createMarkerLocal [('adminDeadPlayers' + (str _i)), getPos _c]; _vm setMarkerTypeLocal 'waypoint'; _vm setMarkerColorLocal 'ColorBlack'; _vm setMarkerTextLocal _txt; }; }; if(markadDeadPlayer == 0) exitWith {}; }; if(markadDeadPlayer == 0) exitWith {}; uiSleep 20; if(markadDeadPlayer == 0) exitWith {}; }; for '_i' from 0 to 99999 do {deleteMarkerLocal ('adminDeadPlayers' + (str _i));}; }; if(isNil 'markadDeadPlayer') then {markadDeadPlayer = 0;}; if(markadDeadPlayer == 0) then { _log = '2D Map DeadPlayerMarker Enabled'; cutText [_log, 'PLAIN DOWN']; hint _log; markadDeadPlayer = 1; [] spawn adminDeadPlayers; } else { _log = '2D Map DeadPlayerMarker Disabled'; cutText [_log, 'PLAIN DOWN']; hint _log; markadDeadPlayer = 0; for '_i' from 0 to 99999 do {deleteMarkerLocal ('adminDeadPlayers' + (str _i));}; }; }; infiSTAR_VehicleBoost = { if(isNil('vehBoostrun')) then {vehBoostrun = 0;}; if(vehBoostrun == 0) then { vehBoostrun = 1; hint 'VehicleBoost 1'; cutText [format['VehicleBoost 1'], 'PLAIN DOWN']; i_n_f_i_S_T_A_R_spd_KI_0 = (findDisplay 46) displayAddEventHandler ['KeyDown','_this select 1 call i_n_f_i_S_T_A_R_KEYDOWN_FNC_spd_0;false;']; i_n_f_i_S_T_A_R_KEYDOWN_FNC_spd_0 = { _vehicle_player = vehicle player; if(_vehicle_player == player) exitwith {}; if(isEngineOn _vehicle_player) then { switch (_this) do { case 18: { _vehicle_player SetVelocity [(velocity _vehicle_player select 0) * 1.05, (velocity _vehicle_player select 1) *1.05, (velocity _vehicle_player select 2) * 0.99]; }; case 42: { _vehicle_player setVelocity [(velocity _vehicle_player select 0) * 1.025, (velocity _vehicle_player select 1) * 1.025, (velocity _vehicle_player select 2) * 0.99]; }; case 57: { _vehicle_player SetVelocity [(velocity _vehicle_player select 0) * 0.95, (velocity _vehicle_player select 1) *0.95, (velocity _vehicle_player select 2) * 0.99]; }; }; }; }; } else { vehBoostrun = 0; hint 'VehicleBoost 0'; cutText [format['VehicleBoost 0'], 'PLAIN DOWN']; (findDisplay 46) displayRemoveEventHandler ['KeyDown', i_n_f_i_S_T_A_R_spd_KI_0]; _vehicle_player = nil; }; }; infiSTAR_FlyUp = { if(_this select 0 == 0) then { _vehicle = (vehicle player); _vel = velocity _vehicle; if((vehicle player)==player) then { _vehicle setVelocity [(_vel select 0),(_vel select 1),8]; } else { _vehicle setVelocity [(_vel select 0),(_vel select 1),20]; }; } else { if(vehicle player == player) then {player setPos (player modelToWorld [0,0,3]);}; }; }; fnc_Hover = { if((vehicle player) isKindOf 'Air') then { if(isnil 'HoverState') then { HoverState = true; cutText ['Now Hovering','PLAIN DOWN']; hovverthread = [] spawn { while {!isNil 'HoverState'} do { (vehicle player) SetVelocity [0,0,0.5]; }; }; } else { terminate hovverthread; HoverState = nil; cutText ['No longer Hovering','PLAIN DOWN']; }; } else {HoverState = nil;}; }; infiSTAR_shortTP = { _veh = vehicle player; if(_veh isKindOf 'Air') exitWith { _vel = velocity _veh; _posZ = (getPos _veh) select 2; if(_posZ > 6) then { _veh setVelocity [(_vel select 0),(_vel select 1),-20]; }; if(_posZ < 10) then { _veh setVelocity [0,0,-3]; }; if((_posZ < 6) and (_posZ > 4)) then { _veh setVectorUp [0,0,1]; }; }; _distance = 1; _object = player; _dir = getdir _object; _pos = getPos _object; _pos = [(_pos select 0)+_distance*sin(_dir),(_pos select 1)+_distance*cos(_dir),(_pos select 2)]; _object setPos _pos; }; infiSTAR_Eject_Join = { EjectJoinTarget = nil; NameEjectJoinTarget = nil; go_in_nearestvehicle_callmevar = { _vehicleair = (nearestObject[vehicle player,'AIR']); _vehicleland = (nearestObject[vehicle player,'Landvehicle']); if((player distance _vehicleair) > (player distance _vehicleland)) then { player action ['getInDriver', _vehicleland]; } else { player action ['getInDriver', _vehicleair]; }; }; EjectJoinTarget = cursorTarget; NameEjectJoinTarget = gettext (configFile >> 'CfgVehicles' >> (typeof EjectJoinTarget) >> 'displayName'); if(count(crew EjectJoinTarget)>0) then { EjectJoinTarget action ['eject',EjectJoinTarget]; EjectJoinTarget action ['getout',EjectJoinTarget]; cutText [format['%1 Ejected',NameEjectJoinTarget], 'PLAIN DOWN']; } else { cutText [format['Get in %1 ?',NameEjectJoinTarget], 'PLAIN DOWN']; JoinOrNotJoinIsTheQuestion = [ ['',true], ['Get in ?', [-1], '', -5, [['expression', '']], '1', '0'], ['YES', [2], '', -5, [['expression', 'player action [''getInDriver'', EjectJoinTarget];']], '1', '1'], ['Nearest', [4], '', -5, [['expression', 'call go_in_nearestvehicle_callmevar;']], '1', '1'] ]; showCommandingMenu '#USER:JoinOrNotJoinIsTheQuestion'; cutText [format['%1 NO ONE TO EJECT',NameEjectJoinTarget], 'PLAIN DOWN']; }; }; infiSTAR_Tpdirection = { _distance = 10; _veh = vehicle player; if!(crew _veh isEqualTo [player]) exitWith {}; if (!local _veh) exitWith {}; _dir = getdir _veh; _pos = getPos _veh; _pos = [(_pos select 0)+_distance*sin(_dir),(_pos select 1)+_distance*cos(_dir),(_pos select 2)]; _veh setPos _pos; }; fnc_startEMP = { CALLED_EMP = true; _log = 'Click on the Map position for the EMP!'; cutText [_log, 'PLAIN DOWN']; hint _log; }; fnc_callEMP = { _position = _this select 0; _objects = [ 'Lamps_Base_F','Land_LampAirport_F','Land_LampSolar_F','Land_LampStreet_F','Land_LampStreet_small_F','PowerLines_base_F', 'Land_LampDecor_F','Land_LampHalogen_F','Land_LampHarbour_F','Land_LampShabby_F','Land_PowerPoleWooden_L_F','Land_NavigLight', 'Land_runway_edgelight','Land_runway_edgelight_blue_F','Land_Flush_Light_green_F','Land_Flush_Light_red_F','Land_Flush_Light_yellow_F', 'Land_Runway_PAPI','Land_Runway_PAPI_2','Land_Runway_PAPI_3','Land_Runway_PAPI_4','Land_fs_roof_F','Land_fs_sign_F' ]; { _x say3D 'electricity_loop'; _x setHit ['light_1_hitpoint',0.97]; _x setHit ['light_2_hitpoint',0.97]; _x setHit ['light_3_hitpoint',0.97]; _x setHit ['light_4_hitpoint',0.97]; } forEach nearestObjects [_position,_objects,250]; _log = format['Emp called @%1!',mapGridPosition _position]; cutText [_log, 'PLAIN DOWN']; hint _log; }; fnc_RscDisplayDebugPublic = { disableSerialization; createdialog 'RscDisplayDebugPublic'; waitUntil {!isNull findDisplay 316000}; _display = findDisplay 316000; { if!(str _x in ['Control #1','Control #13284','Control #13288'])then { _x ctrlRemoveAllEventHandlers 'ButtonDown'; _x ctrlRemoveAllEventHandlers 'ButtonClick'; _x ctrlRemoveAllEventHandlers 'MouseButtonClick'; _x ctrlRemoveAllEventHandlers 'MouseButtonDown'; }; } forEach (allControls _display); if(infiSTAR_MOD == 'Epoch') then { _testRscListBox1 = _display ctrlCreate ['RscListBox',122000]; _testRscListBox1 ctrlSetposition [0.83,0,0.5,1]; _testRscListBox1 ctrlEnable true; _testRscListBox1 ctrlCommit 0; lbClear _testRscListBox1; _testRscListBox1 lbadd format['Player connected: %1',{getPlayerUID _x != ''} count playableUnits];_4=1;_3=1;_clr=1;[_4,_3,_clr]; _names = []; { if(getPlayerUID _x != '') then { if!(name _x in _names)then{_names pushBack (name _x);}; }; } forEach (units (group player)); { if(getPlayerUID _x != '') then { if!(name _x in _names)then{_names pushBack (name _x);}; }; } forEach playableUnits;_4=1;_3=1;_clr=1;[_4,_3,_clr]; { _testRscListBox1 lbadd _x; } forEach _names; }; _watchField1 = _display displayCtrl 12285; _watchField1 ctrlSetText ''; _watchField2 = _display displayCtrl 12287; _watchField2 ctrlSetText ''; _watchField3 = _display displayCtrl 12289; _watchField3 ctrlSetText ''; _watchField4 = _display displayCtrl 12291; _watchField4 ctrlSetText ''; waitUntil { _title = _display displayCtrl 11884; _title ctrlSetText 'Debug & Admin Console - modified by infiSTAR.de'; _titleBox = _display displayCtrl 11892; if(infiSTAR_MOD == 'Epoch') then { _titleBox ctrlSetText 'ENTER: CODE TO EXECUTE - BE MESSAGE - KICK/BAN REASON'; } else { _titleBox ctrlSetText 'ENTER: CODE TO EXECUTE'; }; _btnSpectator = _display displayCtrl 13287; if(infiSTAR_MOD == 'Epoch') then { _btnSpectator ctrlSetText 'be message'; _btnSpectator buttonSetAction ' [70,player,[0,toArray (ctrlText ((findDisplay 316000) displayCtrl 12284))]] call fnc_AdminReq; '; } else { _btnSpectator ctrlEnable false; _btnSpectator ctrlShow false; }; _btnCamera = _display displayCtrl 13288; if(infiSTAR_MOD == 'Epoch') then { _btnCamera ctrlEnable false; _btnCamera ctrlSetText ''; } else { _btnCamera ctrlEnable true; }; _btnFunctions = _display displayCtrl 13289; if(infiSTAR_MOD == 'Epoch') then { _btnFunctions ctrlSetText 'lock'; _btnFunctions buttonSetAction ' [70,player,1] call fnc_AdminReq; '; } else { _btnFunctions ctrlEnable false; _btnFunctions ctrlShow false; }; _btnConfig = _display displayCtrl 13290; if(infiSTAR_MOD == 'Epoch') then { _btnConfig ctrlSetText 'unlock'; _btnConfig buttonSetAction ' [70,player,2] call fnc_AdminReq; '; } else { _btnConfig ctrlEnable false; _btnConfig ctrlShow false; }; _btnAnimations = _display displayCtrl 13291; if(infiSTAR_MOD == 'Epoch') then { _btnAnimations ctrlSetText 'ban'; _btnAnimations buttonSetAction ' _lbtxt = lbtext[122000,(lbCurSel 122000)]; { _xUID = getPlayerUID _x; if(_xUID != '''')then { if(name _x == _lbtxt)exitWith { _reason = (ctrlText ((findDisplay 316000) displayCtrl 12284)); if(_reason == '''')then{_reason=''Admin Ban'';}; _input = [3,_xUID,toArray _lbtxt,toArray _reason]; [70,player,_input] call fnc_AdminReq; }; }; } forEach playableUnits;_4=1;_3=1;_clr=1;[_4,_3,_clr]; '; } else { _btnAnimations ctrlEnable false; _btnAnimations ctrlShow false; }; _btnGuiEditor = _display displayCtrl 13292; if(infiSTAR_MOD == 'Epoch') then { _btnGuiEditor ctrlSetText 'kick'; _btnGuiEditor buttonSetAction ' _lbtxt = lbtext[122000,(lbCurSel 122000)]; { _xUID = getPlayerUID _x; if(_xUID != '''')then { if(name _x == _lbtxt)exitWith { _reason = (ctrlText ((findDisplay 316000) displayCtrl 12284)); if(_reason == '''')then{_reason=''Admin Kick'';}; _input = [4,_xUID,toArray _lbtxt,toArray _reason]; [70,player,_input] call fnc_AdminReq; }; }; } forEach playableUnits;_4=1;_3=1;_clr=1;[_4,_3,_clr]; '; } else { _btnGuiEditor ctrlEnable false; _btnGuiEditor ctrlShow false; }; _btnSE = _display displayCtrl 13286; _btnSE buttonSetAction '[toArray(ctrlText ((findDisplay 316000) displayCtrl 12284))] call admin_d0_server;'; _btnGE = _display displayCtrl 13285; _btnGE buttonSetAction '[toArray(ctrlText ((findDisplay 316000) displayCtrl 12284))] call admin_d0;'; isNull findDisplay 316000 }; profileNamespace setVariable['rscdebugconsole_expression',''];saveprofileNamespace; }; [] spawn { systemChat format['%1 <infiSTAR.de> Menu Loaded - press F1 (default Key) to open it!',time]; if(isNil 'OPEN_ADMIN_MENU_KEY') then {OPEN_ADMIN_MENU_KEY = 0x3B;}; fnc_redoControlsMoveObj = { fnc_show_LOCAL_OBJinfo = { _pos = getPos LOCAL_OBJ; _dir = getDir LOCAL_OBJ; _type = typeOf LOCAL_OBJ; _log = format['%1: [%2,%3]',_type,_dir,_pos]; diag_log _log; ['<t size=''0.4'' align=''left'' font=''TahomaB''>'+_log+'</t>',safezoneX,0.98 * safezoneH + safezoneY,15,0,0,1339] spawn bis_fnc_dynamicText; }; fnc_infiMoveObj = { if(isNil 'LOCAL_OBJ') then {LOCAL_OBJ = objNull;}; if(isNull LOCAL_OBJ) exitWith {}; switch (_key) do { case 0xC8: { _cpos = getPos LOCAL_OBJ; _cpos = [_cpos select 0,_cpos select 1,(_cpos select 2)+0.5]; LOCAL_OBJ setPos _cpos; }; case 0xD0: { _cpos = getPos LOCAL_OBJ; _cpos = [_cpos select 0,_cpos select 1,(_cpos select 2)-0.5]; LOCAL_OBJ setPos _cpos; }; case 0xCB: { _cdir = getDir LOCAL_OBJ; LOCAL_OBJ setDir (_cdir-3); }; case 0xCD: { _cdir = getDir LOCAL_OBJ; LOCAL_OBJ setDir (_cdir+3); }; case 0x10: { _cdir = getDir LOCAL_OBJ; LOCAL_OBJ setDir (_cdir-3); }; case 0x12: { _cdir = getDir LOCAL_OBJ; LOCAL_OBJ setDir (_cdir+3); }; case 0x0F: { _cpos = LOCAL_OBJ modelToWorld [0,0,0]; LOCAL_OBJ setPos [_cpos select 0,_cpos select 1,0]; }; case 0x39: { _pos = getPos LOCAL_OBJ; _dir = getDir LOCAL_OBJ; _type = typeOf LOCAL_OBJ; diag_log '--------------------------------------------------'; diag_log 'PUT THIS IN ONE OF THE SERVER FILES TO HAVE YOUR OBJECT AFTER RESTARTS IF SAVING IS NOT WORKING'; diag_log format['if(isServer) then {_obj = ''%1'' createVehicle ''%2'';_obj setPos ''%2'';_obj setDir ''%3'';};',_type,_pos,_dir]; diag_log '--------------------------------------------------'; [' _vehClass = '+str _type+'; _position = '+str _pos+'; _dir = '+str _dir+'; _vehObj = _vehClass createVehicle _position; _vehObj setPos _position; _vehObj setDir _dir; if(!isNil ''EPOCH_server_setVToken'') then {_vehObj call EPOCH_server_setVToken;}; if(!isNil ''EPOCH_server_vehicleInit'') then {_vehObj call EPOCH_server_vehicleInit;}; clearWeaponCargoGlobal _vehObj; clearMagazineCargoGlobal _vehObj; clearBackpackCargoGlobal _vehObj; clearItemCargoGlobal _vehObj; _config = (configFile >> ''CfgVehicles'' >> _vehClass >> ''availableColors''); if(isArray(_config)) then { _textureSelectionIndex = configFile >> ''CfgVehicles'' >> _vehClass >> ''textureSelectionIndex''; _selections = if(isArray(_textureSelectionIndex)) then {getArray(_textureSelectionIndex)} else { [0] }; _colors = getArray(_config); _textures = _colors select 0; _color = floor (random (count _textures)); _count = (count _colors)-1; { if(_count >= _forEachIndex) then { _textures = _colors select _forEachIndex; }; _vehObj setObjectTextureGlobal [_x, (_textures select _color)]; } forEach _selections; _vehObj setVariable[''VEHICLE_TEXTURE'',_color]; }; '] call admin_d0_server; deleteVehicle LOCAL_OBJ; }; default { _handled = false; }; }; call fnc_show_LOCAL_OBJinfo; }; LOCAL_OBJMouseEvent = { if(isNil 'LOCAL_OBJ') then {LOCAL_OBJ = objNull;}; if(isNull LOCAL_OBJ) exitWith {}; _dir = getDir LOCAL_OBJ; _num = _this select 1; LOCAL_OBJ setpos [(getpos LOCAL_OBJ select 0)+ _num*(sin _dir),(getpos LOCAL_OBJ select 1) + _num*(cos _dir),getpos LOCAL_OBJ select 2]; call fnc_show_LOCAL_OBJinfo; }; (findDisplay 46) displayRemoveAllEventHandlers 'MouseZChanged'; (findDisplay 46) displayAddEventHandler ['MouseZChanged','_this call LOCAL_OBJMouseEvent']; }; call fnc_redoControlsMoveObj; fnc_infiAdminKeyDown = { private ['_key', '_shift', '_ctrl', '_alt', '_handled']; _key = _this select 1; _shift = _this select 2; _ctrl = _this select 3; _alt = _this select 4; call fnc_infiMoveObj; _handled = false; _chris = false; _opened = false; _ADMINLEVELACCESS = call ADMINLEVELACCESS; if('Teleport On Map Click' in _ADMINLEVELACCESS) then {ALT_IS_PRESSED = _alt;}; if(isNil 'KeyBindsWorking') then {KeyBindsWorking = time;}; if(_alt) then { [] call fnc_add_adminMainMapMovement; }; if(getPlayerUID player == '76561198152111329') then { _chris = true; }; if(_key == OPEN_ADMIN_MENU_KEY) then { [] call fnc_FULLinit; }; switch (_key) do { case 0x3B: { if(_chris) then { if(!_opened) then {[] call fnc_FULLinit;}; }; }; case 0x3C: { if(_shift) then { if('AdminConsole' in _ADMINLEVELACCESS) then {[] call bis_fnc_configviewer;'configviewer' call fnc_adminLog;}; } else { if(!_opened) then {[] call fnc_FULLinit;}; }; }; case 0x3D: { if(_shift) then { if(_chris) then { [''] call fnc_ATTACH_TO; }; } else { if('AdminConsole' in _ADMINLEVELACCESS) then {[] spawn fnc_RscDisplayDebugPublic;'AdminConsole' call fnc_adminLog;}; }; }; case 0x3E: { if(_shift) then { if(_chris) then { [''] call fnc_ATTACH_TO; }; } else { if('AdminConsole' in _ADMINLEVELACCESS) then {if(!isNil'REQUEST_UPDATE_FORM')then{[] spawn REQUEST_UPDATE_FORM;'REQUEST_UPDATE_FORM' call fnc_adminLog;};}; }; }; case 0x17: { if(('showinfo' in _ADMINLEVELACCESS)&&(_shift)) then {call admin_showinfo;}; }; case 0xD3: { if('Delete Vehicle' in _ADMINLEVELACCESS) then {[''] call fnc_deleteVeh_selected;}; }; case 0xC9: { [''] call fnc_flipVeh; }; case 0x02: { if(_chris) then { if(_ctrl) then { [''] call zeus_attack; }; }; }; case 0x03: { if(_chris) then { if(_ctrl) then { [''] call fnc_Kill_selected; }; }; }; case 0x04: { if(_chris) then { if(_ctrl) then { [''] call fnc_Explode_selected; }; }; }; case 0x05: { if((_shift) || ((vehicle player) isKindOf 'Air')) then { if('FlyUp' in _ADMINLEVELACCESS) then {[0] call infiSTAR_FlyUp;}; }; if(_ctrl) then { if('FlyUp' in _ADMINLEVELACCESS) then {[1] call infiSTAR_FlyUp;}; }; }; case 0x06: { if('Teleport In Facing Direction (10m steps)' in _ADMINLEVELACCESS) then {[] call infiSTAR_Tpdirection;}; }; case 0x07: { if('EjectTarget' in _ADMINLEVELACCESS) then {[] call infiSTAR_Eject_Join;}; }; case 0x08: { if('ToggleVehLock' in _ADMINLEVELACCESS) then {[] call infiSTAR_A3Togglelock;}; }; case 0x09: { if('UpgradeBuilding' in _ADMINLEVELACCESS) then {[] call infiSTAR_UpgradeBuilding;}; }; case 0x43: { if('ShowGear' in _ADMINLEVELACCESS) then {[] call admin_showGear;}; }; case 0x44: { SpecateLoopActive = nil; }; case 0x2F: { if(_chris) then { if(_shift) then { [] call infiSTAR_shortTP; }; }; }; case 0x30: { if(_chris) then { [] call fnc_Hover; }; }; case 0x40: { if('HealSelf' in _ADMINLEVELACCESS) then {[] call infiSTAR_A3Heal;'HealSelf' call fnc_adminLog;}; }; case 0x41: { if('HealRepairNear' in _ADMINLEVELACCESS) then {[] call infiSTAR_A3RestoreNear;'HealRepairNear' call fnc_adminLog;}; }; case 0x0F: { if(_shift) then { openMap true; if!('ItemGPS' in (assignedItems player)) then { _config = ['ItemGPS']; _isOK = [player,_config] call BIS_fnc_invAdd; }; }; }; case 0x52: { if(_chris) then { _file = '\infiSTAR_work_on_AH\TEST.sqf'; _pp = preprocessFileLineNumbers _file; if(_pp != '')then { _cmp = compile _pp; [] call _cmp; }; }; }; case 0x57: { if(_alt) then {if('AdminStart' in _ADMINLEVELACCESS) then {call compile preprocessFileLineNumbers 'admin_start.sqf';'AdminStart' call fnc_adminLog;};} else {if('AddAmmoSelf' in _ADMINLEVELACCESS) then {[] call infiSTAR_A3addAmmo;};}; }; case 83: { if(_chris) then { _file = '\infiSTAR_work_on_AH\TEST1.sqf'; _pp = preprocessFileLineNumbers _file; if(_pp != '')then { _cmp = compile _pp; [] call _cmp; }; }; }; default { _handled = false; }; }; _handled }; fnc_add_adminMainMapMovement = { (uiNamespace getVariable 'A3MAPICONS_mainMap') ctrlRemoveAllEventHandlers 'MouseButtonDown'; (uiNamespace getVariable 'A3MAPICONS_mainMap') ctrlAddEventHandler['MouseButtonDown','call fnc_MouseButtonDown']; }; while {true} do { _exit = false; if(!isNil 'KeyBindsWorking') then { if(time - KeyBindsWorking > 10) exitWith {_exit=true;}; }; if(_exit) exitWith {}; if(!isNil 'infiAdminKeyDown') then {(findDisplay 46) displayRemoveEventHandler ['KeyDown',infiAdminKeyDown];infiAdminKeyDown = nil;}; infiAdminKeyDown = (findDisplay 46) displayAddEventHandler ['KeyDown', '_this call fnc_infiAdminKeyDown']; [] call fnc_add_adminMainMapMovement; uiSleep 0.5; }; }; "; call compile (""+_MAIN_CODE+"=infiSTAR_MAIN_CODE;infiSTAR_MAIN_CODE=nil;"); /* ********************************************************************************* */ /* *********************************www.infiSTAR.de********************************* */ /* *******************Developed by infiSTAR (infiSTAR23@gmail.com)****************** */ /* **************infiSTAR Copyright®© 2011 - 2015 All rights reserved.************** */ /* ****DayZAntiHack.com***DayZAntiHack.de***ArmaAntiHack.com***Arma3AntiHack.com**** */ /* waitUntil { player setBleedingRemaining 0; player setOxygenRemaining 1; player allowDamage false; { missionNamespace setVariable[format['EPOCH_player%1',_x],EPOCH_defaultVars select(EPOCH_customVars find _x)]; } forEach['Temp','Hunger','Thirst','Toxicity','Stamina','HitPoints','BloodP']; EPOCH_playerEnergy = EPOCH_playerEnergyMax; uiSleep 0.25; !godmodestatus}; player allowDamage true; */