better fix for CH53 and add toggle for #1198

This commit is contained in:
icomrade
2016-05-03 11:14:26 -04:00
parent ea8c14c5fb
commit c2ce8aaf8b
5 changed files with 42 additions and 113 deletions

View File

@@ -13,38 +13,47 @@ _KillEject = { //leave as local compile for a tiny bit more security
[player, "explosion"] spawn player_death;
};
};
if (_v iskindof "helicopter" || _v iskindof "plane") then {
if (player in (crew _v)) then {
[] spawn _KillEject;
if (!DZE_NoVehicleExplosions) then {
if (_v iskindof "helicopter" || _v iskindof "plane") then {
if (player in (crew _v)) then {
[] spawn _KillEject;
};
//_v setVehicleInit "[this] spawn BIS_Effects_AirDestruction";
//processInitCommands; //ClearvehicleInit done at end of burn script
["AirDestruction", _v] call BIS_Effects_globalEvent;
};
//_v setVehicleInit "[this] spawn BIS_Effects_AirDestruction";
//processInitCommands; //ClearvehicleInit done at end of burn script
["AirDestruction", _v] call BIS_Effects_globalEvent;
};
if (_v iskindof "tank") then {
if (player in (crew _v)) then {
[] spawn _KillEject;
if (_v iskindof "tank") then {
if (player in (crew _v)) then {
[] spawn _KillEject;
};
_int = (fuel _v)*(2+random 2);
_t = time;
//_v setVehicleInit format ["[this, %1, %2]spawn BIS_Effects_Burn",_int, _t]; - disabled to prepaire for move into engine
//processInitCommands; //ClearvehicleInit done at end of burn script
[_v,_int] spawn BIS_Effects_Secondaries;
};
_int = (fuel _v)*(2+random 2);
_t = time;
//_v setVehicleInit format ["[this, %1, %2]spawn BIS_Effects_Burn",_int, _t]; - disabled to prepaire for move into engine
//processInitCommands; //ClearvehicleInit done at end of burn script
[_v,_int] spawn BIS_Effects_Secondaries;
};
if (_v iskindof "car" || _v iskindof "ship")then {
if (player in (crew _v)) then {
[] spawn _KillEject;
};
_int = (fuel _v)*(2 + random 1);
_t = time;
if (_v iskindof "car" || _v iskindof "ship")then {
if (player in (crew _v)) then {
[] spawn _KillEject;
};
_int = (fuel _v)*(2 + random 1);
_t = time;
//_v setVehicleInit format ["[this, %1, %2]spawn BIS_Effects_Burn; ",_int, _t]; - disabled to prepaire for move into engine
//processInitCommands; //ClearvehicleInit done at end of burn script
[_v,_int] spawn BIS_Effects_Secondaries;
//_v setVehicleInit format ["[this, %1, %2]spawn BIS_Effects_Burn; ",_int, _t]; - disabled to prepaire for move into engine
//processInitCommands; //ClearvehicleInit done at end of burn script
[_v,_int] spawn BIS_Effects_Secondaries;
//Possible initial explosion
if ((random _int)>2.2) then
{
_b = createVehicle ["SmallSecondary", (getPosATL _v), [], 0, "CAN_COLLIDE"];
//Possible initial explosion
if ((random _int)>2.2) then
{
_b = createVehicle ["SmallSecondary", (getPosATL _v), [], 0, "CAN_COLLIDE"];
};
};
} else {
_isVeh = (_v iskindof "helicopter" || _v iskindof "plane" || _v iskindof "tank" || _v iskindof "car" || _v iskindof "ship");
if (_isVeh) then {
if (player in (crew _v)) then {
[] spawn _KillEject;
};
};
};

View File

@@ -1,82 +0,0 @@
_vehicle = _this select 0;
_wait = 0.5;
//Initiate Variables
_RampSound = false;
_gearDown = true;
_gearSound = false;
_vehicle setVariable ["HydraulicsFailure",false, false];
_vehicle setVariable ["EngineFailure",false, false];
_vehicle setVariable ["AvionicsFailure",false, false];
//Overall Event Handlers
_EHDamageIdx = _vehicle addEventHandler ["Dammaged",{
if ((_this select 2) > 0.8 ) then {
switch (_this select 1) do {
case "mala vrtule": {_this select 0 setVariable ["HydraulicsFailure",true, true];};
case "velka vrtule": {_this select 0 setVariable ["HydraulicsFailure",true, true];};
case "motor": {_this select 0 setVariable ["EngineFailure",true, true];};
case "elektronika": {_this select 0 setVariable ["AvionicsFailure",true, true];};
};
};
}];
while {(alive _vehicle)} do {
// SINGLE // Ramp Sound Effect
if((_vehicle animationPhase "ramp_bottom" > 0) && !(_RampSound)) then {
_vehicle say ["ch53_rampdown",5];
_RampSound = true;
sleep 3;
};
// SINGLE // Ramp Sound Effect
if((_vehicle animationPhase "ramp_bottom" < 1) && !(_vehicle animationPhase "ramp_bottom" == 0.56) && (_RampSound)) then {
_vehicle say ["ch53_rampup",5];
_RampSound = false;
sleep 3;
};
// SINGLE // Gear Sound Effect
if((_vehicle animationPhase "gear_nose_1" > 0) && !(_gearSound) && (_gearDown)) then {
_vehicle say ["ch53_gear",5];
_gearSound = true;
};
// SINGLE // Gear Sound Effect
if((_vehicle animationPhase "gear_nose_1" < 1) && (_gearSound) && !(_gearDown)) then {
_vehicle say ["ch53_gear",5];
_gearSound = false;
};
if (player in (crew _vehicle)) then {
// INFO // SINGLE // Gear Down
if((_vehicle animationPhase "gear_nose_1" == 0) && !(_gearDown)) then {
_vehicle vehicleRadio "dws_info_geardown";
_gearDown = true;
sleep 3;
};
// INFO // SINGLE // Gear Up
if((_vehicle animationPhase "gear_nose_1" == 1) && (_gearDown)) then {
_vehicle vehicleRadio "dws_info_gearup";
_gearDown = false;
sleep 3;
};
};
if(player in (crew _vehicle)) then {sleep _wait;} else {sleep (_wait * 4);};
};
if (player in (crew _vehicle) && (!alive _vehicle)) then {
_cancel = false;
{
_SZPos = _x select 0;
_radius = _x select 1;
if ((isInTraderCity || !canbuild) && {(player distance _SZPos) < _radius}) then {_cancel = true;};
} count DZE_SafeZonePosArray;
if (!_cancel) then {
player action ["Eject",vehicle player]; //eject player so I can get their gear
sleep 0.01; //don't use uisleep here
[player, "explosion"] spawn player_death;
};
};
_vehicle removeAllEventHandlers "Dammaged";