ACE3/addons/common/functions/fnc_headBugFix.sqf

50 lines
1.0 KiB
Plaintext
Raw Normal View History

2015-09-18 14:33:53 +00:00
/*
* Author: rocko
* Fixes animation issues that may get you stuck
*
2015-09-18 14:33:53 +00:00
* Arguments:
* None
*
* Return Value:
* None
*
* Public: Yes
*
* Note: Has to be spawned not called
*/
#include "script_component.hpp"
2015-09-18 14:33:53 +00:00
private ["_unit", "_anim", "_pos", "_dir", "_dummy"];
_unit = ACE_player;
_anim = animationState _unit;
["HeadbugFixUsed", [profileName, _anim]] call FUNC(serverEvent);
["HeadbugFixUsed", [profileName, _anim]] call FUNC(localEvent);
2015-09-18 14:33:53 +00:00
if (_unit != vehicle _unit || {!([_unit, objNull, ["isNotSitting"]] call FUNC(canInteractWith))}) exitWith {false};
2015-09-18 14:33:53 +00:00
_pos = getPosATL _unit;
_dir = getDir _unit;
titleCut ["", "BLACK"];
2015-09-18 14:33:53 +00:00
[_unit, "headBugFix"] call FUNC(hideUnit);
// create invisible headbug fix vehicle
2015-09-18 14:33:53 +00:00
_dummy = createVehicle ["ACE_Headbug_Fix", _pos, [], 0, "NONE"];
_dummy setDir _dir;
_unit moveInAny _dummy;
2015-09-19 20:27:23 +00:00
sleep 0.1; // @todo
2015-09-18 14:33:53 +00:00
unassignVehicle _unit;
_unit action ["Eject", vehicle _unit];
_unit setDir _dir;
_unit setPosATL _pos;
sleep 1.0;
2015-09-18 14:33:53 +00:00
deleteVehicle _dummy;
2015-09-18 14:33:53 +00:00
[_unit, "headBugFix"] call FUNC(unhideUnit);
titleCut ["", "PLAIN"];
true