#include "..\..\script_macros.hpp"
private ["_cop","_player","_vehicle"];
_cop = [_this,0,objNull,[objNull]] call BIS_fnc_param;
_player = player;
_vehicle = vehicle player;
if (isNull _cop) exitWith {};
[] spawn {
private "_time";
for "_i" from 0 to 1 step 0 do {
_time = time;
waitUntil {(time - _time) > (5 * 60)};
if (!(player getVariable ["restrained",false])) exitWith {};
if (!([west,getPos player,30] call life_fnc_nearUnits) && (player getVariable ["restrained",false]) && isNull objectParent player) exitWith {
player setVariable ["restrained",false,true];
player setVariable ["Escorting",false,true];
player setVariable ["transporting",false,true];
detach player;
titleText[localize "STR_Cop_ExcessiveRestrain","PLAIN"];
};
};
};
titleText[format [localize "STR_Cop_Restrained",_cop getVariable ["realname",name _cop]],"PLAIN"];
life_disable_getIn = true;
life_disable_getOut = false;
while {player getVariable "restrained"} do {
if (isNull objectParent player) then {
player playMove "AmovPercMstpSnonWnonDnon_Ease";
};
_state = vehicle player;
waitUntil {animationState player != "AmovPercMstpSnonWnonDnon_Ease" || !(player getVariable "restrained") || vehicle player != _state};
if (!alive player) exitWith {
player setVariable ["restrained",false,true];
player setVariable ["Escorting",false,true];
player setVariable ["transporting",false,true];
detach _player;
};
if (!alive _cop) then {
player setVariable ["Escorting",false,true];
detach player;
};
if (!(isNull objectParent player) && life_disable_getIn) then {
player action["eject",vehicle player];
};
if (!(isNull objectParent player) && !(vehicle player isEqualTo _vehicle)) then {
_vehicle = vehicle player;
};
if (isNull objectParent player && life_disable_getOut) then {
player moveInCargo _vehicle;
};
if (!(isNull objectParent player) && life_disable_getOut && (driver (vehicle player) isEqualTo player)) then {
player action["eject",vehicle player];
player moveInCargo _vehicle;
};
if (!(isNull objectParent player) && life_disable_getOut) then {
_turrets = [[-1]] + allTurrets _vehicle;
{
if (_vehicle turretUnit [_x select 0] isEqualTo player) then {
player action["eject",vehicle player];
sleep 1;
player moveInCargo _vehicle;
};
}forEach _turrets;
};
};
if (alive player) then {
player switchMove "AmovPercMstpSlowWrflDnon_SaluteIn";
player setVariable ["Escorting",false,true];
player setVariable ["transporting",false,true];
detach player;
};
Comments
0 B
|👍
/👎
0 B
|👍
/👎