mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
parent
bf4e95e750
commit
6142d99626
@ -10,35 +10,48 @@
|
|||||||
|
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
private ["_unit","_vehicle","_caller","_handle","_loaded"];
|
private ["_unit","_vehicle","_caller","_handle","_loaded","_slotsOpen"];
|
||||||
_unit = [_this, 0, ObjNull,[ObjNull]] call BIS_fnc_Param;
|
_unit = [_this, 0, ObjNull,[ObjNull]] call BIS_fnc_Param;
|
||||||
_vehicle = [_this, 1, ObjNull,[ObjNull]] call BIS_fnc_Param;
|
_vehicle = [_this, 1, ObjNull,[ObjNull]] call BIS_fnc_Param;
|
||||||
_caller = [_this, 2, ObjNull,[ObjNull]] call BIS_fnc_Param;
|
_caller = [_this, 2, ObjNull,[ObjNull]] call BIS_fnc_Param;
|
||||||
|
_slotsOpen = false;
|
||||||
|
|
||||||
if (!alive _unit) then {
|
if (!alive _unit) then {
|
||||||
_unit = [_unit,_caller] call FUNC(makeCopyOfBody);
|
_unit = [_unit,_caller] call FUNC(makeCopyOfBody);
|
||||||
};
|
};
|
||||||
|
|
||||||
_unit moveInCargo _vehicle;
|
|
||||||
_loaded = _vehicle getvariable [QGVAR(loaded_persons),[]];
|
|
||||||
_loaded pushback _unit;
|
|
||||||
_vehicle setvariable [QGVAR(loaded_persons),_loaded,true];
|
|
||||||
if (!([_unit] call FUNC(isAwake))) then {
|
|
||||||
_handle = [_unit,_vehicle] spawn {
|
|
||||||
private ["_unit","_vehicle"];
|
|
||||||
_unit = _this select 0;
|
|
||||||
_vehicle = _this select 1;
|
|
||||||
waituntil {vehicle _unit == _vehicle};
|
|
||||||
sleep 0.5;
|
|
||||||
|
|
||||||
//Save the "awake" animation before applying the death animation
|
if (_vehicle emptyPositions "cargo" > 0) then {
|
||||||
if (vehicle _unit == _vehicle) then {
|
_unit moveInCargo _vehicle;
|
||||||
_unit setVariable [QEGVAR(medical,vehicleAwakeAnim), [_vehicle, (animationState _unit)]];
|
_slotsOpen = true;
|
||||||
};
|
|
||||||
[_unit,([_unit] call FUNC(getDeathAnim)), 1, true] call FUNC(doAnimation);
|
|
||||||
};
|
|
||||||
} else {
|
} else {
|
||||||
if ([_unit] call FUNC(isArrested)) then {
|
if (_vehicle emptyPositions "gunner" > 0) then {
|
||||||
|
_unit moveInGunner _vehicle;
|
||||||
|
_slotsOpen = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
if (_slotsOpen) then {
|
||||||
|
_loaded = _vehicle getvariable [QGVAR(loaded_persons),[]];
|
||||||
|
_loaded pushback _unit;
|
||||||
|
_vehicle setvariable [QGVAR(loaded_persons),_loaded,true];
|
||||||
|
if (!([_unit] call FUNC(isAwake))) then {
|
||||||
|
_handle = [_unit,_vehicle] spawn {
|
||||||
|
private ["_unit","_vehicle"];
|
||||||
|
_unit = _this select 0;
|
||||||
|
_vehicle = _this select 1;
|
||||||
|
waituntil {vehicle _unit == _vehicle};
|
||||||
|
sleep 0.5;
|
||||||
|
|
||||||
|
//Save the "awake" animation before applying the death animation
|
||||||
|
if (vehicle _unit == _vehicle) then {
|
||||||
|
_unit setVariable [QEGVAR(medical,vehicleAwakeAnim), [_vehicle, (animationState _unit)]];
|
||||||
|
};
|
||||||
|
[_unit,([_unit] call FUNC(getDeathAnim)), 1, true] call FUNC(doAnimation);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
if ([_unit] call FUNC(isArrested)) then {
|
||||||
|
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
Loading…
Reference in New Issue
Block a user