mrflay 4 Posted June 13, 2013 Is there a way to prevent an aircraft from exploading when it crashes into ground / obstacle? I have experimented with the following config entries, but not had any success so far. class DestructionEffects {}; explosionEffects = "NoExplosion"; CraterEffects = "NoCrater"; destrType = "DestructNo"; secondaryExplosion = -1; Another thing I would like to remove is the smoke effect that is applied when the aircraft is damaged. Is it possible? Thanks Share this post Link to post Share on other sites
Messiah 2 Posted June 13, 2013 It may have changed since A2 but if you remove all the fuel and ammunition from a vehicle, then it won't explode when it's destroyed Share this post Link to post Share on other sites
mrflay 4 Posted June 13, 2013 It may have changed since A2 but if you remove all the fuel and ammunition from a vehicle, then it won't explode when it's destroyed It still expload when impacting the ground, even if I remove all ammo and fuel from both config and editor. Is there anything in my config.cpp that perhaps cancels that? The complete config.cpp here class Air; class Plane: Air { class NewTurret; class ViewPilot; class AnimationSources; class Turrets; class Sounds; }; class FLAY_GliderBase: Plane { scope = 1; armor = 5; side = 4; Icon = "\flay\flay_hangglider\data\glider_ico_ca.paa"; picture = "\flay\flay_hangglider\data\glider_pic_ca.paa"; mapSize = 10; nameSound = "veh_parachute"; accuracy = 0.1; camouflage = 1; audible = 0; hasGunner = 0; fuelCapacity = 0; soundEngine[] = {}; //soundEnviron[] = {"\Ca\sounds\Air\Noises\padak_let",0.31622776,1,80}; //soundEnviron[] = {"\FLAY\FLAY_Hangglider\data\sfx\padak_let",0.31622776,1,80}; // A3 soundEnviron[] = {"c:\flay_hangglider\padak_let",0.31622776,1,80}; // A3 soundGetIn[] = {"\Ca\sounds\Air\Noises\padak_getIN",0.31622776,1,20}; soundGetOut[] = {"\Ca\sounds\Air\Noises\padak_getIN",0.31622776,1,20}; soundCrash[] = {"\Ca\sounds\Air\Noises\padak_dopad",0.031622775,0,0}; soundLandCrash[] = {"\Ca\sounds\Air\Noises\padak_dopad",0.031622775,0,0}; soundWaterCrash[] = {"\Ca\sounds\Air\Noises\padak_dopadvoda",3.1622777,0,0}; driverLeftHandAnimName = "pilot_lefthand"; driverRightHandAnimName = "pilot_righthand"; driverLeftLegAnimName = "pilot_leftfoot"; driverRightLegAnimName = "pilot_rightfoot"; simulation="airplane"; class DestructionEffects {}; explosionEffects = "NoExplosion"; CraterEffects = "NoCrater"; destrType = "DestructNo"; secondaryExplosion = -1; crewVulnerable = true; threat[] = {1,0.900000,0.100000}; htMin = 60; htMax = 1800; afMax = 100; mfMax = 80; mFact = 0; tBody = 0; turnCoef = 5;//TEST outsideSoundFilter = 0; wheelCircumference = 2.28; transportMaxMagazines = 0; transportMaxWeapons = 0; driverCanSee = "2"; extCameraPosition[] = {0,1,-3}; enableGPS = 0; class ViewPilot: ViewPilot { initFov = 1.3; minFov = 0.5; maxFov = 1.3; initAngleX = 0; minAngleX = -80; maxAngleX = 80; initAngleY = 30; minAngleY = -110; maxAngleY = 110; }; driverAction = "HangGlider_Pilot"; driverInAction = "HangGlider_Pilot"; getInAction = "GetInLow"; getOutAction = "GetOutLow"; cabinOpening = 1; occludeSoundsWhenIn = 1.0; obstructSoundsWhenIn = 1.0; class Sounds: Sounds {}; class Turrets {}; class Reflectors {}; class Armory { disabled = 1; }; gearRetracting = 0; flaps = 0; envelope[] = { 0.10, 0.20, 0.5, 0.9, 1.0, 1.5, 2.0, 2.5, 2.5, 3.0, 2.5, 2.5, 2.0, 1.75, 1.75, 1.75, 1.75, 1.5, 1.25, 1.0 }; maxSpeed = 200; aileronSensitivity = 0.5; elevatorSensitivity = 0.05; wheelSteeringSensitivity = 0.001; noseDownCoef = 0.1; ejectDeadDriver = false; ejectSpeed[] = {0,0,0}; }; class FLAY_HangGlider: FLAY_GliderBase { scope = 2; class EventHandlers: DefaultEventhandlers { init = "_scr = _this execVM ""\FLAY\FLAY_HangGlider\scripts\init_HangGlider.sqf"";"; }; displayName = "FLAY Hang Glider"; model = "FLAY\FLAY_HangGlider\FLAY_HangGlider"; //weapons[] = {}; //magazines[] = {}; weapons[] = {"HangGliderBombs"}; magazines[] = {"4Rnd_Bomb_HangGlider"}; armor = 5; accuracy = 0.5; camouflage = 2; //rightWaterEffect=; //leftWaterEffect=; //rightDustEffect= //leftWaterEffect= airFriction0[] = {25,12,2.500000}; airFriction1[] = {25,12,2.500000}; airFriction2[] = {25,12,2.500000}; canFloat = true; canBeShot = true; damageResistance = 0.000000000001; damperSize = 2; damperForce = 0.5; hideUnitInfo = true; hideWeaponsDriver = true; selectionFabric = "latka"; type = 0; unitInfoType = "UnitInfoSoldier"; extCameraPosition[] = {0,3.5,-9}; enableGPS = 1; driverAction = "HangGlider_Pilot"; driverInAction = "HangGlider_Pilot"; getInAction = "GetInLow"; getOutAction = "GetOutLow"; envelope[] = { 0.1, 0.2, 0.9, 1.5, 2.7, 3.0, 3.1, 3.2, 3.4, 3.5, 3.4, 3.3, 3.2, 3.1, 3.0, 2.8, 2.5, 2.0 }; maxSpeed = 180; aileronSensitivity = 2.5; elevatorSensitivity = 0.2; wheelSteeringSensitivity = 2.7; noseDownCoef = 0.0025; ejectDeadDriver = true; ejectSpeed[] = {0,-1,-5}; class AnimationSources: AnimationSources { class GliderPitch { source = "user"; animPeriod = 0.05; initPhase = 5; }; class HarnessAnchorHide { source = "user"; animPeriod = 0.000001; initPhase = 0; }; class HarnessStrapsHide { source = "user"; animPeriod = 0.000001; initPhase = 0; }; class LandingGear { source = "user"; animPeriod = 1.5; initPhase = 0.15; }; class HelperHide { source = "user"; animPeriod = 0.000001; initPhase = 1; }; class PilotPosX { source = "user"; animPeriod = 0.000001; initPhase = 0; }; class PilotPosY { source = "user"; animPeriod = 0.000001; initPhase = 0; }; class PilotPosZ { source = "user"; animPeriod = 0.000001; initPhase = 0; }; class Variometer { source = "vertSpeed"; animPeriod = 0.000001; initPhase = 0; }; class FireGeoPilotHide { source = "user"; animPeriod = 0.000001; initPhase = 0; }; }; class UserActions { class FLAY_Flytec3040_ON { displayNameDefault = "Flytec 3040 ON"; showWindow = 0; //hideOnUse = 1; displayName = "Flytec 3040 ON"; position = "action"; radius = 4.0; onlyForPlayer = 1; condition = "(alive player) and ('FLAY_Flytec3040_Variometer' in (weapons player) or 'FLAY_Flytec3040_Variometer' in (weapons (vehicle player))) and not (player getVariable ['FLAY.variometer.power.on',false])"; statement = "[player] execVM '\FLAY\FLAY_HangGlider\scripts\ui_variometer_show.sqf'"; }; class FLAY_Flytec3040_OFF { displayNameDefault = "Flytec 3040 OFF"; showWindow = 0; //hideOnUse = 1; displayName = "Flytec 3040 OFF"; position = "action"; radius = 4.0; onlyForPlayer = 1; condition = "(alive player) and ('FLAY_Flytec3040_Variometer' in (weapons player) or 'FLAY_Flytec3040_Variometer' in (weapons (vehicle player))) and (player getVariable ['FLAY.variometer.power.on',false])"; statement = "[player] execVM '\FLAY\FLAY_HangGlider\scripts\ui_variometer_hide.sqf'"; }; class FLAY_GetIn { displayNameDefault = "Get In"; showWindow = 0; //hideOnUse = 1; displayName = "Get In"; position = "action"; radius = 4.0000; onlyForPlayer = 1; condition = "(alive player) and isNull (driver this)"; statement = "[this,-1,player] execVM 'FLAY\FLAY_HangGlider\scripts\ev_getIn.sqf'"; }; class FLAY_GetOut { displayNameDefault = "Get Out"; showWindow = 0; //hideOnUse = 1; displayName = "Get Out"; position = "action"; radius = 4.0000; onlyForPlayer = 1; condition = "(alive player) and (driver this == player)"; statement = "[this,'DRIVER',player] execVM 'FLAY\FLAY_HangGlider\scripts\ev_getOut.sqf'"; }; }; class Sounds: Sounds { //class BeepIn //{ // sound[] = {"\ca\sounds_e\sfx\locking_target_1",0.17782794,1.0,50}; // frequency = "1"; // volume = "0.5"; //}; class CreakNoiseIn1 { sound[] = {"\FLAY\FLAY_HangGlider\data\sfx\squeak1.ogg",0.31622776,1,50}; frequency = "(randomizer*0.05+1.0)"; volume = "10*(speed factor[1, 80])*(1-camPos)"; }; class CreakNoiseIn2 { sound[] = {"\FLAY\FLAY_HangGlider\data\sfx\squeak1.ogg",0.31622776,1,50}; frequency = "(randomizer*0.5+0.5)"; volume = "10*(speed factor[70, 100])*(1-camPos)"; }; class CreakNoiseIn3 { sound[] = {"\FLAY\FLAY_HangGlider\data\sfx\squeak3.ogg",0.31622776,1,50}; frequency = "(randomizer*0.5+0.2)"; volume = "10*(speed factor[70, 100])*(1-camPos)"; }; class CreakNoiseOut { sound[] = {"\FLAY\FLAY_HangGlider\data\sfx\squeak1.ogg",0.31622776,1,50}; frequency = "(randomizer*0.05+1.0)"; volume = "10*camPos*(speed factor[1, 80])"; }; //class FootStepsIn //{ // sound[] = {"\FLAY\FLAY_HangGlider\data\sfx\squeak1.ogg",0.31622776,1,10}; // frequency = "(randomizer*0.05+1.0)"; // volume = "10*camPos*(speed factor[1, 80])"; //}; }; //class assembleInfo //{ // primary = 0; // base = ""; // assembleTo = ""; // dissasembleTo[] = {"FLAY_HangGlider_Bag","Tripod_Bag"}; // displayName = ""; //}; }; Share this post Link to post Share on other sites
sakura_chan 9 Posted June 15, 2013 The explosion is actually handled by an eventhandler. add class eventhandlers { Killed = ""; }; default is killed = "_this call (uinamespace getvariable 'BIS_fnc_effectKilled');"; Share this post Link to post Share on other sites
super-truite 54 Posted June 15, 2013 to remove the smoke effect, I guess redefining the damage effect to nothing would work: damageEffect = ""; Share this post Link to post Share on other sites
mrflay 4 Posted June 15, 2013 (edited) The explosion is actually handled by an eventhandler.add class eventhandlers { Killed = ""; }; default is killed = "_this call (uinamespace getvariable 'BIS_fnc_effectKilled');"; Yep, that fixed the problem. Many thanks! to remove the smoke effect, I guess redefining the damage effect to nothing would work:damageEffect = ""; Awesome! Yes it works great, thanks! Edited June 15, 2013 by mrflay ninjad Share this post Link to post Share on other sites