diff --git a/cScripts/CfgFunctions.hpp b/cScripts/CfgFunctions.hpp index a4b146b0b..281b14db1 100644 --- a/cScripts/CfgFunctions.hpp +++ b/cScripts/CfgFunctions.hpp @@ -199,6 +199,7 @@ class cScripts { // Other class vehicle_reset {}; class vehicle_addFlagAction {}; + class vehicle_planeAutoEject {}; }; class civ { file = "cScripts\functions\civ"; diff --git a/cScripts/functions/vehicle/fn_vehicle_planeAutoEject.sqf b/cScripts/functions/vehicle/fn_vehicle_planeAutoEject.sqf new file mode 100644 index 000000000..4e5517bc9 --- /dev/null +++ b/cScripts/functions/vehicle/fn_vehicle_planeAutoEject.sqf @@ -0,0 +1,26 @@ +#include "..\script_component.hpp"; +/* + * Author: CPL.Brostrom.A + * This function adds a auto ejection system to a vehicle + * + * Arguments: + * 0: Vehicle + * + * Example: + * ["my_jetFighter"] call cScripts_fnc_vehicle_planeAutoEject + * + */ + +params [["_vehicle", objNull, [objNull]]]; + +// Check so the options arent added twice. +if (!isNil {_vehicle GETVAR(QEGVAR(VehicleFunc,AutoEject),nil)}) exitWith {SHOW_WARNING_1("AutoEject", "Aircraft AutoEject already applied for %1.", _vehicle)}; + +_vehicle addEventHandler ["Hit", { + params ["_vehicle"]; + if (damage _vehicle > 0.95) exitWith { + [driver _vehicle, _vehicle] call EFUNC(para,haloJump); + }; +}]; + +_vehicle SETVAR(QEGVAR(VehicleFunc,AutoEject),true);