mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
59af3e1f6d
* medical_treatment * advanced_throwing * common, csw * Update fnc_replaceRegisteredItems.sqf * Sanitised numerous components * Update XEH_postInit.sqf * Update XEH_postInit.sqf * FUNC -> LINKFUNC * Changed tagging hashmap * Reverted some changes * Reverted some changes * Update XEH_clientInit.sqf * Tweaks and fixes * Fix number replacements * Minor cleanup * Update fnc_getMagazineName.sqf * Update fnc_getMagazineName.sqf * Minor improvement * Made factions case-sensitive and added `toLowerANSI` to be safe * Update fnc_getDetectedObject.sqf * Update addons/common/functions/fnc_actionKeysNamesConverted.sqf Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com> * Throw error if item doesn't exist --------- Co-authored-by: Salluci <69561145+Salluci@users.noreply.github.com> Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
58 lines
2.6 KiB
Plaintext
58 lines
2.6 KiB
Plaintext
#include "script_component.hpp"
|
|
#include "\a3\ui_f\hpp\defineDIKCodes.inc"
|
|
|
|
["CBA_settingsInitialized", {
|
|
// Hold on a little bit longer to ensure anims will work
|
|
[{
|
|
GVAR(captivityEnabled) = true;
|
|
}, [], 0.05] call CBA_fnc_waitAndExecute;
|
|
}] call CBA_fnc_addEventHandler;
|
|
|
|
//Handles when someone starts escorting and then disconnects, leaving the captive attached
|
|
//This is normaly handled by the PFEH in doEscortCaptive, but that won't be running if they DC
|
|
|
|
if (isServer) then {
|
|
addMissionEventHandler ["HandleDisconnect", {
|
|
params ["_disconnectedPlayer"];
|
|
private _escortedUnit = _disconnectedPlayer getVariable [QGVAR(escortedUnit), objNull];
|
|
if ((!isNull _escortedUnit) && {(attachedTo _escortedUnit) == _disconnectedPlayer}) then {
|
|
detach _escortedUnit;
|
|
};
|
|
if (_disconnectedPlayer getVariable [QGVAR(isEscorting), false]) then {
|
|
_disconnectedPlayer setVariable [QGVAR(isEscorting), false, true];
|
|
};
|
|
}];
|
|
};
|
|
|
|
["unit", LINKFUNC(handlePlayerChanged)] call CBA_fnc_addPlayerEventHandler;
|
|
[QGVAR(moveInCaptive), LINKFUNC(vehicleCaptiveMoveIn)] call CBA_fnc_addEventHandler;
|
|
[QGVAR(moveOutCaptive), LINKFUNC(vehicleCaptiveMoveOut)] call CBA_fnc_addEventHandler;
|
|
|
|
[QGVAR(setHandcuffed), LINKFUNC(setHandcuffed)] call CBA_fnc_addEventHandler;
|
|
[QGVAR(setSurrendered), LINKFUNC(setSurrendered)] call CBA_fnc_addEventHandler;
|
|
|
|
//Medical Integration Events
|
|
["ace_unconscious", LINKFUNC(handleOnUnconscious)] call CBA_fnc_addEventHandler;
|
|
|
|
if (!hasInterface) exitWith {};
|
|
|
|
["ACE3 Common", QGVAR(captives), [(localize LSTRING(SetCaptive)), (localize LSTRING(KeyComb_description))],
|
|
{
|
|
private _target = cursorObject;
|
|
if !([ACE_player, _target, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
|
if !(_target isKindOf "CAManBase") exitWith {false};
|
|
if ((_target distance ACE_player) > getNumber (configOf ACE_player >> "ACE_Actions" >> "ACE_ApplyHandcuffs" >> "distance")) exitWith {false};
|
|
|
|
if ([ACE_player, _target] call FUNC(canApplyHandcuffs)) exitWith {
|
|
[ACE_player, _target] call FUNC(doApplyHandcuffs);
|
|
true
|
|
};
|
|
false
|
|
},
|
|
{false},
|
|
[DIK_F1, [true, false, false]], true] call CBA_fnc_addKeybind; // Shift + F1
|
|
|
|
["isNotEscorting", {!GETVAR(_this select 0,GVAR(isEscorting),false)}] call EFUNC(common,addCanInteractWithCondition);
|
|
["isNotHandcuffed", {!GETVAR(_this select 0,GVAR(isHandcuffed),false)}] call EFUNC(common,addCanInteractWithCondition);
|
|
["isNotSurrendering", {!GETVAR(_this select 0,GVAR(isSurrendering),false)}] call EFUNC(common,addCanInteractWithCondition);
|