ACE3/addons/laserpointer/XEH_postInit.sqf

42 lines
1.5 KiB
Plaintext
Raw Normal View History

2015-01-17 22:38:13 +00:00
// by commy2
#include "script_component.hpp"
2015-06-13 08:41:19 +00:00
// fixes laser when being captured. Needed, because the selectionPosition of the right hand is used
2015-04-07 17:38:19 +00:00
["SetHandcuffed", {if (_this select 1) then {(_this select 0) action ["GunLightOff", _this select 0]};}] call EFUNC(common,addEventHandler);
//If user has ASDG JR without the compat patch, then ace's' laser pointers won't be compatible with anything
if ((isClass (configFile >> "CfgPatches" >> "asdg_jointrails")) && {!(isClass (configFile >> "CfgPatches" >> "ace_asdg_comp"))}) then {
diag_log text format ["[ACE_laserpointer] - ASDG Joint Rails but no ace_asdg_comp"];
};
if !(hasInterface) exitWith {};
2015-01-17 22:38:13 +00:00
GVAR(nearUnits) = [];
2015-04-14 11:24:17 +00:00
#include "initKeybinds.sqf"
["SettingsInitialized", {
//If not enabled, dont't add draw eventhandler or PFEH (for performance)
if (!GVAR(enabled)) exitWith {};
// @todo. Maybe move to common?
[{
private "_nearUnits";
_nearUnits = [];
{
_nearUnits append crew _x;
if (count _nearUnits > 10) exitWith {
_nearUnits resize 10;
};
} forEach nearestObjects [positionCameraToWorld [0,0,0], ["AllVehicles"], 50]; // when moving this, search also for units inside vehicles. currently breaks the laser in FFV
GVAR(nearUnits) = _nearUnits;
} , 5, []] call CBA_fnc_addPerFrameHandler;
addMissionEventHandler ["Draw3D", {
call FUNC(onDraw);
}];
}] call EFUNC(common,addEventHandler);