mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Only attach some triggers
This commit is contained in:
parent
7cc2628c53
commit
1f4488253d
@ -1,5 +1,5 @@
|
||||
class ACE_Triggers {
|
||||
/* onPlace parameters:
|
||||
/* onPlace parameters:
|
||||
0: OBJECT - unit placing
|
||||
1: OBJECT - Placed explosive
|
||||
2: STRING - Magazine classname
|
||||
@ -7,46 +7,54 @@ class ACE_Triggers {
|
||||
Last Index: ACE_Triggers config of trigger type.
|
||||
onSetup parameters:
|
||||
0: STRING - Magazine Classname
|
||||
*/
|
||||
*/
|
||||
class Command {
|
||||
isAttachable = 1;
|
||||
displayName = CSTRING(clacker_displayName);
|
||||
picture = PATHTOF(Data\UI\Clacker.paa);
|
||||
onPlace = QUOTE(_this call FUNC(AddClacker);false);
|
||||
requires[] = {"ACE_Clacker"};
|
||||
};
|
||||
class MK16_Transmitter:Command {
|
||||
isAttachable = 1;
|
||||
displayName = CSTRING(MK16_displayName);
|
||||
picture = PATHTOF(Data\UI\MK16_Reciever_ca.paa);
|
||||
requires[] = {"ACE_M26_Clacker"};
|
||||
};
|
||||
class DeadManSwitch:Command {
|
||||
isAttachable = 1;
|
||||
displayName = CSTRING(DeadManSwitch_displayName);
|
||||
picture = PATHTOF(Data\UI\DeadmanSwitch.paa);
|
||||
requires[] = {"ACE_DeadManSwitch"};
|
||||
};
|
||||
class Cellphone:Command {
|
||||
isAttachable = 1;
|
||||
displayName = CSTRING(cellphone_displayName);
|
||||
picture = PATHTOF(Data\UI\Cellphone_UI.paa);
|
||||
onPlace = QUOTE(_this call FUNC(addCellphoneIED);false);
|
||||
requires[] = {"ACE_Cellphone"};
|
||||
};
|
||||
class PressurePlate {
|
||||
isAttachable = 0;
|
||||
displayName = CSTRING(PressurePlate);
|
||||
picture = PATHTOF(Data\UI\PressurePlate.paa);
|
||||
onPlace = "_dist=GetNumber(ConfigFile >> 'CfgMagazines' >> (_this select 2) >> 'ACE_Triggers' >> 'PressurePlate' >> 'digDistance');_ex=_this select 1;_ex setPosATL ((getPosATL _ex) vectorDiff ((VectorUp _ex) vectorCrossProduct [0,0,_dist]));false";
|
||||
};
|
||||
class IRSensor {
|
||||
isAttachable = 0;
|
||||
displayName = CSTRING(IRSensor);
|
||||
picture = PATHTOF(Data\UI\PressurePlate.paa);
|
||||
onPlace = "false";
|
||||
};
|
||||
class Timer {
|
||||
isAttachable = 1;
|
||||
displayName = CSTRING(timerName);
|
||||
picture = PATHTOF(data\UI\Timer.paa);
|
||||
onPlace = QUOTE([ARR_2(_this select 1,(_this select 3) select 0)] call FUNC(startTimer);false);
|
||||
onSetup = QUOTE(_this call FUNC(openTimerSetUI);true);
|
||||
};
|
||||
class Tripwire {
|
||||
isAttachable = 0;
|
||||
displayName = CSTRING(TripWire);
|
||||
picture = PATHTOF(Data\UI\Tripwire.paa);
|
||||
onPlace = "false";
|
||||
|
@ -37,6 +37,13 @@ _unit setVariable [QGVAR(cancelActionEH), [_unit, "zoomtemp", {true}, {GVAR(plac
|
||||
(QGVAR(virtualAmmo) call BIS_fnc_rscLayer) cutRsc [QGVAR(virtualAmmo), "PLAIN", 0, false];
|
||||
((uiNamespace getVariable [QGVAR(virtualAmmoDisplay), displayNull]) displayCtrl 800851) ctrlSetModel _p3dModel;
|
||||
|
||||
_isAttachable = false;
|
||||
_supportedTriggers = getArray (configFile >> "CfgMagazines" >> _magClassname >> "ACE_Triggers" >> "SupportedTriggers");
|
||||
{
|
||||
if ((getNumber (configFile >> "ACE_Triggers" >> _x >> "isAttachable")) == 1) exitWith {_isAttachable = true;};
|
||||
} forEach _supportedTriggers;
|
||||
|
||||
|
||||
GVAR(pfeh_running) = true;
|
||||
GVAR(placeAction) = PLACE_WAITING;
|
||||
GVAR(TweakedAngle) = 0;
|
||||
@ -46,7 +53,7 @@ GVAR(TweakedAngle) = 0;
|
||||
BEGIN_COUNTER(pfeh);
|
||||
|
||||
PARAMS_2(_args,_pfID);
|
||||
EXPLODE_3_PVT(_args,_unit,_magClassname,_setupObjectClass);
|
||||
EXPLODE_4_PVT(_args,_unit,_magClassname,_setupObjectClass,_isAttachable);
|
||||
|
||||
_lookDirVector = (positionCameraToWorld [0,0,0]) vectorFromTo (positionCameraToWorld [0,0,1]);
|
||||
_cameraAngle = (_lookDirVector select 0) atan2 (_lookDirVector select 1);
|
||||
@ -73,7 +80,7 @@ GVAR(TweakedAngle) = 0;
|
||||
_attachVehicle = objNull;
|
||||
|
||||
|
||||
if (_badPosition && {!isNull cursorTarget} && {(cursorTarget isKindOf "Car")}) then {
|
||||
if (_isAttachable && _badPosition && {!isNull cursorTarget} && {(cursorTarget isKindOf "Car")}) then {
|
||||
_attachVehicle = cursorTarget;
|
||||
if ([0.05] call _testPositionIsValid) then {
|
||||
_min = 0.05;
|
||||
@ -173,4 +180,4 @@ GVAR(TweakedAngle) = 0;
|
||||
|
||||
|
||||
END_COUNTER(pfeh);
|
||||
}, 0, [_unit, _magClassname, _setupObjectClass]] call CBA_fnc_addPerFrameHandler;
|
||||
}, 0, [_unit, _magClassname, _setupObjectClass, _isAttachable]] call CBA_fnc_addPerFrameHandler;
|
||||
|
Loading…
Reference in New Issue
Block a user