Braf_Air2 atualizado
This commit is contained in:
83
braf_air2/braf_fnc/fn_remove_before_flight.sqf
Normal file
83
braf_air2/braf_fnc/fn_remove_before_flight.sqf
Normal file
@@ -0,0 +1,83 @@
|
||||
/*
|
||||
Author: Brazilian Armed Forces
|
||||
|
||||
- Rodrigo "Ogrinho" Arantes
|
||||
|
||||
Description:
|
||||
- This function is designed to implement semi-authenthic ejection system on fixed wing 2 seated aircrafts.
|
||||
|
||||
Exucution:
|
||||
- Call the function via user action added to the aircrfat itself.
|
||||
|
||||
class Plane_Eject_UserActionExample
|
||||
{
|
||||
priority = 0.05;
|
||||
shortcut = "Eject";
|
||||
displayName = "$STR_A3_action_eject";
|
||||
condition="player in this && {speed this > 1}";
|
||||
statement="[this] spawn BRAF_fnc_EjectPilot, [this] spawn BRAF_fnc_EjectCopilot";
|
||||
position = "pilotcontrol";
|
||||
radius = 10;
|
||||
onlyforplayer = 1;
|
||||
showWindow = 0;
|
||||
hideOnUse = 1;
|
||||
};
|
||||
|
||||
Requirments:
|
||||
Aircrfat model (in model cfg & class AnimationSources) must have a set of hide animations defined to hide the covers and wheel chocks when new seaparate vehicles are spawned.
|
||||
|
||||
In model.cfg
|
||||
|
||||
class RBFHide
|
||||
{
|
||||
type="hide";
|
||||
source="canopy_hide";
|
||||
selection="rbf";
|
||||
sourceAddress="clamp";
|
||||
minPhase=0;
|
||||
maxPhase=1;
|
||||
minValue=0;
|
||||
maxValue=1;
|
||||
memory=1;
|
||||
hideValue=0.001;
|
||||
};
|
||||
|
||||
In cfgVehicles >> class AnimationSources
|
||||
|
||||
class RBFHide
|
||||
{
|
||||
source = "user";
|
||||
animPeriod = 0.001;
|
||||
initPhase = 0;
|
||||
};
|
||||
|
||||
Parameter(s):
|
||||
_this select 0: mode (Scalar)
|
||||
0: plane/object
|
||||
|
||||
other parameters are gathered from configuration files.
|
||||
|
||||
Returns: nothing
|
||||
Result: Intake, Pitot tube and Propellers covers, wheel chock and another protections will show up. Aircraft will be locked.
|
||||
|
||||
*/
|
||||
|
||||
#define DISPOSE_ASSETS if (!isNil{_canopy} && {!isNull _canopy}) then {_canopy setDamage 1;addToRemainsCollector [_canopy]}; if (!isNil{_ejectionSeat} && {!isNull _ejectionSeat}) then {addToRemainsCollector [_ejectionSeat]}
|
||||
|
||||
private _plane = param [0,objNull];
|
||||
|
||||
if (isNull _plane || {!alive _plane || {unitIsUAV _plane || {speed _plane > 1}}}) exitWith {};
|
||||
|
||||
if (_plane getVariable ["braf_A29_locked",false]) exitWith {};
|
||||
_plane setVariable ["braf_A29_locked",true];
|
||||
|
||||
_plane spawn
|
||||
{
|
||||
private _plane = _this;
|
||||
//hide ejection seat on plane
|
||||
_plane animateSource [RBFHide, 1, true];
|
||||
_plane animateSource [rotor, 0, true];
|
||||
_plane lock 2;
|
||||
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user