mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
58 lines
1.6 KiB
Plaintext
58 lines
1.6 KiB
Plaintext
/*
|
|
* Author: Nic547, commy2
|
|
*
|
|
* Makes a civilian unable to move.
|
|
*
|
|
* Argument:
|
|
* 0: Unit (Object)
|
|
* 1: True to take captive, false to release captive (Object)
|
|
*
|
|
* Return value:
|
|
* Nothing
|
|
*/
|
|
|
|
private ["_unit", "_state"];
|
|
|
|
_unit = _this select 0;
|
|
_state = _this select 1;
|
|
|
|
if (!local _unit) exitWith {[[_unit, _state, true], _fnc_scriptName, _unit] call AGM_Core_fnc_execRemoteFnc};
|
|
|
|
if (_state) then {
|
|
if (_unit getVariable ["AGM_isCaptive", false]) exitWith {};
|
|
|
|
_unit setVariable ["AGM_isCaptive", true, true];
|
|
|
|
// fix anim on mission start (should work on dedicated servers)
|
|
_unit spawn {
|
|
[_this, "AGM_Handcuffed", true] call AGM_Core_fnc_setCaptivityStatus;
|
|
|
|
if (_this getVariable ["AGM_isCaptive", false] && {vehicle _this == _this}) then {
|
|
[_this] call AGM_Core_fnc_fixLoweredRifleAnimation;
|
|
[_this, "AGM_AmovPercMstpScapWnonDnon", 0] spawn AGM_Core_fnc_doAnimation;
|
|
};
|
|
};
|
|
|
|
_unit setVariable ["AGM_Captives_CargoIndex", vehicle _unit getCargoIndex _unit, true];
|
|
|
|
if (_unit == AGM_player) then {
|
|
showHUD false;
|
|
};
|
|
} else {
|
|
if !(_unit getVariable ["AGM_isCaptive", false]) exitWith {};
|
|
|
|
_unit setVariable ["AGM_isCaptive", false, true];
|
|
[_unit, "AGM_Handcuffed", false] call AGM_Core_fnc_setCaptivityStatus;
|
|
if (vehicle _unit == _unit) then {
|
|
[_unit, "AGM_AmovPercMstpScapWnonDnon_AmovPercMstpSnonWnonDnon", 2] call AGM_Core_fnc_doAnimation;
|
|
};
|
|
|
|
if (_unit getVariable ["AGM_Captives_CargoIndex", -1] != -1) then {
|
|
_unit setVariable ["AGM_Captives_CargoIndex", -1, true];
|
|
};
|
|
|
|
if (_unit == AGM_player) then {
|
|
showHUD true;
|
|
};
|
|
};
|