|
Author
|
Topic: Engine Damage Code Example
|
Condor Pilot
|
posted 10-19- 01:50 PM
I am including the engine damage code I developed. It is specific for the p51 but can be easily modified for any plane, even the bombers. I am including it below as an fyi. It could be copied and pasted via openplane as is and work for any previous p51d.sm file. Please ask many questions. I will post an organized version in a second post below this one.Thanks, Condor out ============================================ (obProto 'CEngine) (engTarget 'prop) (engMaxHP 1720,3000) (engSFC 211) (engFuelSource 'P51D) (engGearRatio 2.1) (obFunc (Cooler (engSFC 211))) (obFunc (RadiatorDmg (obKillDelay 480))) (obFunc (NoFuel (engFuelSource 'none))) (obFunc (FuelLeak (obProb ( 15 (engSFC 300) 20 (engSFC 375) 30 (engSFC 450) 35 (engSFC 525) )))) (obFunc (FuelLeak2 (obProb ( 15 (engSFC 600) 20 (engSFC 675) 30 (engSFC 750) 35 (engSFC 825) )))) (obFunc (FuelLeak3 (obProb ( 15 (engSFC 900) 20 (engSFC 975) 30 (engSFC 1050) 35 (engSFC 1125) )))) (obFunc (SmallEngineFire (ObSmokeTrail (smkDiameter 1 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .5 smkColor 30, 35, 45 smkFire)))) (obHidden) (obFireResistant 25) (obDamage (obHits 40 obKillDelay 1 obExplodes 1 21 onDmg 1 (obProb ( 4 (obSmokeTrail (smkDiameter 1 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .4 smkColor 0, 0, 0) engMaxHP 1720, 2950 obUnhide 'String2) 4 (obSmokeTrail (smkDiameter 1.3 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .4 smkColor 0, 0, 0) engMaxHP 1720, 2900 obUnhide 'String2) 4 (obSmokeTrail (smkDiameter 1.6 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .4 smkColor 0, 0, 0) engMaxHP 1720, 2850 obUnhide 'String2) 4 (obSmokeTrail (smkDiameter 1.9 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .4 smkColor 0, 0, 0) engMaxHP 1720, 2800 obUnhide 'String2) 4 (obSmokeTrail (smkDiameter .7 smkLifetime 120 smkOrigin -1.7, -1, .7 smkDensity .2 smkColor 250, 235, 255) obExec (Name 'engine Func 'NoFuel) obUnhide 'String2) 4 (obSmokeTrail (smkDiameter .7 smkLifetime 360 smkOrigin 1.7, -1, .7 smkDensity .2 smkColor 250, 235, 255) obExec (Name 'engine Func 'FuelLeak) obUnhide 'String2) 4 (obSmokeTrail (smkDiameter 2.2 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .4 smkColor 0, 0, 0) engMaxHP 1720, 2750 obUnhide 'String2) 4 (obSmokeTrail (smkDiameter 2.5 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .4 smkColor 0, 0, 0) engMaxHP 1720, 2700 obUnhide 'String2) 4 (obSmokeTrail (smkDiameter 2.8 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .4 smkColor 0, 0, 0) engMaxHP 1720, 2650 obUnhide 'String2) )) onDmg 2 (obProb ( 5 (obSmokeTrail (smkDiameter 3 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .7 smkColor 0, 0, 0) engMaxHP 1720, 2600 obUnhide 'String2) 5 (obSmokeTrail (smkDiameter 3.3 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .7 smkColor 0, 0, 0) engMaxHP 1720, 2550 obUnhide 'String2) 5 (obSmokeTrail (smkDiameter 3.6 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .7 smkColor 0, 0, 0) engMaxHP 1720, 2500 obUnhide 'String2) 5 (obSmokeTrail (smkDiameter 3.9 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .7 smkColor 0, 0, 0) engMaxHP 1720, 2450 obUnhide 'String2) 5 (obSmokeTrail (smkDiameter .7 smkLifetime 120 smkOrigin -1.7, 0, .7 smkDensity .2 smkColor 250, 235, 255) obExec (Name 'engine Func 'NoFuel) obUnhide 'String2) 5 (obSmokeTrail (smkDiameter .7 smkLifetime 360 smkOrigin 1.7, 0, .7 smkDensity .2 smkColor 250, 235, 255) obExec (Name 'engine Func 'FuelLeak2) obUnhide 'String2) 5 (obSmokeTrail (smkDiameter 4.2 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .7 smkColor 0, 0, 0) engMaxHP 1720, 2400 obUnhide 'String2) 5 (obSmokeTrail (smkDiameter 4.5 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .7 smkColor 0, 0, 0) engMaxHP 1720, 2350 obUnhide 'String2) 5 (obSmokeTrail (smkDiameter 4.8 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .7 smkColor 0, 0, 0) engMaxHP 1720, 2300 obUnhide 'String2) )) onDmg 3 (obProb ( 6 (obSmokeTrail (smkDiameter 5 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity 1 smkColor 0, 0, 0) engMaxHP 1720, 2295 obUnhide 'String2) 6 (obSmokeTrail (smkDiameter 5.3 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity 1 smkColor 0, 0, 0) engMaxHP 1720, 2280 obUnhide 'String2) 6 (obSmokeTrail (smkDiameter 5.6 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity 1 smkColor 0, 0, 0) engMaxHP 1720, 2265 obUnhide 'String2) 6 (obSmokeTrail (smkDiameter 5.9 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity 1 smkColor 0, 0, 0) engMaxHP 1720, 2250 obUnhide 'String2) 6 (obSmokeTrail (smkDiameter .7 smkLifetime 120 smkOrigin -1.7, 1, .7 smkDensity .2 smkColor 250, 235, 255) obExec (Name 'engine Func 'NoFuel) obUnhide 'String2) 6 (obSmokeTrail (smkDiameter .7 smkLifetime 360 smkOrigin 1.7, 1, .7 smkDensity .2 smkColor 250, 235, 255) obExec (Name 'engine Func 'FuelLeak3) obUnhide 'String2) 6 (obSmokeTrail (smkDiameter 6.2 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity 1 smkColor 0, 0, 0) engMaxHP 1720, 2235 obUnhide 'String2) 6 (obSmokeTrail (smkDiameter 6.5 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity 1 smkColor 0, 0, 0) engMaxHP 1720, 2220 obUnhide 'String2) 6 (obSmokeTrail (smkDiameter 6.8 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity 1 smkColor 0, 0, 0) engMaxHP 1720, 2200 obUnhide 'String2) )) onDmg 10 (obNoCollide))) (plus ( phyBoxInertia 1.526300,4.832780,2.615110 phyCG 0.000000,0.000000,0.000000 )) (phyLBS 1650) ============================================ [This message has been edited by Condor (edited 10-19-2000).] [This message has been edited by Condor (edited 10-25-2000).] IP: Logged |
Whirlwind Pilot
|
posted 10-19- 02:11 PM
Does all of that code cause a frame rate hit?IP: Logged |
Condor Pilot
|
posted 10-19- 02:14 PM
Hi Whirlwind!,Damn you beat me to my second post!  I have not noticed any frame rate decrease at all. I will double check and get back to you. Condor out ------------------
[This message has been edited by Condor (edited 10-20-2000).] IP: Logged |
Condor Pilot
|
posted 10-19- 02:38 PM
Here is a organized into code blocks view:============================================ (obProto 'CEngine) (engTarget 'prop) (engMaxHP 1720,3000) (engSFC 211) (engFuelSource 'P51D) (engGearRatio 2.1) (obFunc (Cooler (engSFC 211))) (obFunc (RadiatorDmg (obKillDelay 480))) (obFunc (NoFuel (engFuelSource 'none))) (obFunc (FuelLeak (obProb ( 15 (engSFC 300) 20 (engSFC 375) 30 (engSFC 450) 35 (engSFC 525) )))) (obFunc (FuelLeak2 (obProb ( 15 (engSFC 600) 20 (engSFC 675) 30 (engSFC 750) 35 (engSFC 825) )))) (obFunc (FuelLeak3 (obProb ( 15 (engSFC 900) 20 (engSFC 975) 30 (engSFC 1050) 35 (engSFC 1125) )))) (obFunc (SmallEngineFire (ObSmokeTrail (smkDiameter 1 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .5 smkColor 30, 35, 45 smkFire)))) (obHidden) (obFireResistant 25) (obDamage (obHits 40 obKillDelay 1 obExplodes 1 21 onDmg 1 (obProb ( 4 (obSmokeTrail (smkDiameter 1 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .4 smkColor 0, 0, 0) engMaxHP 1720, 2950 obUnhide 'String2) 4 (obSmokeTrail (smkDiameter 1.3 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .4 smkColor 0, 0, 0) engMaxHP 1720, 2900 obUnhide 'String2) 4 (obSmokeTrail (smkDiameter 1.6 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .4 smkColor 0, 0, 0) engMaxHP 1720, 2850 obUnhide 'String2) 4 (obSmokeTrail (smkDiameter 1.9 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .4 smkColor 0, 0, 0) engMaxHP 1720, 2800 obUnhide 'String2) 4 (obSmokeTrail (smkDiameter .7 smkLifetime 120 smkOrigin -1.7, -1, .7 smkDensity .2 smkColor 250, 235, 255) obExec (Name 'engine Func 'NoFuel) obUnhide 'String2) 4 (obSmokeTrail (smkDiameter .7 smkLifetime 360 smkOrigin 1.7, -1, .7 smkDensity .2 smkColor 250, 235, 255) obExec (Name 'engine Func 'FuelLeak) obUnhide 'String2) 4 (obSmokeTrail (smkDiameter 2.2 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .4 smkColor 0, 0, 0) engMaxHP 1720, 2750 obUnhide 'String2) 4 (obSmokeTrail (smkDiameter 2.5 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .4 smkColor 0, 0, 0) engMaxHP 1720, 2700 obUnhide 'String2) 4 (obSmokeTrail (smkDiameter 2.8 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .4 smkColor 0, 0, 0) engMaxHP 1720, 2650 obUnhide 'String2) )) onDmg 2 (obProb (
5 (obSmokeTrail (smkDiameter 3 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .7 smkColor 0, 0, 0) engMaxHP 1720, 2600 obUnhide 'String2) 5 (obSmokeTrail (smkDiameter 3.3 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .7 smkColor 0, 0, 0) engMaxHP 1720, 2550 obUnhide 'String2) 5 (obSmokeTrail (smkDiameter 3.6 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .7 smkColor 0, 0, 0) engMaxHP 1720, 2500 obUnhide 'String2) 5 (obSmokeTrail (smkDiameter 3.9 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .7 smkColor 0, 0, 0) engMaxHP 1720, 2450 obUnhide 'String2) 5 (obSmokeTrail (smkDiameter .7 smkLifetime 120 smkOrigin -1.7, 0, .7 smkDensity .2 smkColor 250, 235, 255) obExec (Name 'engine Func 'NoFuel) obUnhide 'String2) 5 (obSmokeTrail (smkDiameter .7 smkLifetime 360 smkOrigin 1.7, 0, .7 smkDensity .2 smkColor 250, 235, 255) obExec (Name 'engine Func 'FuelLeak2) obUnhide 'String2) 5 (obSmokeTrail (smkDiameter 4.2 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .7 smkColor 0, 0, 0) engMaxHP 1720, 2400 obUnhide 'String2) 5 (obSmokeTrail (smkDiameter 4.5 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .7 smkColor 0, 0, 0) engMaxHP 1720, 2350 obUnhide 'String2) 5 (obSmokeTrail (smkDiameter 4.8 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity .7 smkColor 0, 0, 0) engMaxHP 1720, 2300 obUnhide 'String2) )) onDmg 3 (obProb (
6 (obSmokeTrail (smkDiameter 5 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity 1 smkColor 0, 0, 0) engMaxHP 1720, 2295 obUnhide 'String2) 6 (obSmokeTrail (smkDiameter 5.3 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity 1 smkColor 0, 0, 0) engMaxHP 1720, 2280 obUnhide 'String2) 6 (obSmokeTrail (smkDiameter 5.6 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity 1 smkColor 0, 0, 0) engMaxHP 1720, 2265 obUnhide 'String2) 6 (obSmokeTrail (smkDiameter 5.9 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity 1 smkColor 0, 0, 0) engMaxHP 1720, 2250 obUnhide 'String2) 6 (obSmokeTrail (smkDiameter .7 smkLifetime 120 smkOrigin -1.7, 1, .7 smkDensity .2 smkColor 250, 235, 255) obExec (Name 'engine Func 'NoFuel) obUnhide 'String2) 6 (obSmokeTrail (smkDiameter .7 smkLifetime 360 smkOrigin 1.7, 1, .7 smkDensity .2 smkColor 250, 235, 255) obExec (Name 'engine Func 'FuelLeak3) obUnhide 'String2) 6 (obSmokeTrail (smkDiameter 6.2 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity 1 smkColor 0, 0, 0) engMaxHP 1720, 2235 obUnhide 'String2) 6 (obSmokeTrail (smkDiameter 6.5 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity 1 smkColor 0, 0, 0) engMaxHP 1720, 2220 obUnhide 'String2) 6 (obSmokeTrail (smkDiameter 6.8 smkLifetime 0 smkOrigin 0, -1, 1 smkDensity 1 smkColor 0, 0, 0) engMaxHP 1720, 2200 obUnhide 'String2) )) onDmg 10 (obNoCollide))) (plus ( phyBoxInertia 1.526300,4.832780,2.615110 phyCG 0.000000,0.000000,0.000000 )) (phyLBS 1650) ============================================
[This message has been edited by Condor (edited 10-23-2000).]
[This message has been edited by Condor (edited 10-25-2000).] IP: Logged |
jedi Pilot
|
posted 10-19- 04:26 PM
Hehe I can't believe OPS doesn't projectile vomit that mess back into your CPU cooling fan  But I'll certainly steal it! Any special modifications made to the instrument DOFs to support any of this? ------------------ --jedi-- IP: Logged |
Condor Pilot
|
posted 10-19- 08:29 PM
Hi Jedi,Make sure you steal from my first post in this thread. Errant spaces or unbalanced parenthesis cause real bad flight model behavior. I will try to email you the p51d.sm file I have been using. No link to the cockpit yet as I am still new to this dm stuff, but the fuel leak does register on the fuel gauge. This sm file is mostly Raiders great work. It includes his control surface damage to the airlerons, gun damage, radiator damage which also shows up on the engine temp dial(press y to cool the engine a bit), landing gear damage, and ofcourse bullet hole visual effects. He really did an outstanding job. The engine piece is a small part that won't even be in the plane pack. We all have to agree on a standard first.  Please give me all the questions you may have. Condor out ------------------
IP: Logged |
Condor Pilot
|
posted 10-20- 11:11 AM
Hi Whirlwind,The only frame rate hit I can see is a slight one when the smoke trail is showing which makes sense to me. As far as affecting frame rates during normal flight, I have not seen any decrease in the frame rate. Condor out ------------------
IP: Logged |
Razer Pilot
|
posted 10-21- 12:35 PM
so, we just select the engine in OPS then past that code?IP: Logged |
Condor Pilot
|
posted 10-21- 08:04 PM
Yes that is all Razer as long as you put it in the p51d.sm file.Let me know how it goes and if you have any questions. Condor out ------------------
[This message has been edited by Condor (edited 10-23-2000).] IP: Logged |
Snickers Pilot
|
posted 10-21- 11:33 PM
Does it make a difference if its a radial or regular? (Did radials have a glycol tank? Is that addressed in this model?) Thanks! This has got to be one of the best snippets to be posted yet!------------------ Snickers =FC= [This message has been edited by Snickers (edited 10-21-2000).] IP: Logged |
wakeup tailgunner Pilot
|
posted 10-22- 03:14 AM
wow...One little question though... What is 'String2' that you are unhiding? All the rest seems very logical. With radials you don't want radiator damage. What you could perhaps do is to change the smoke colour to a more blue/grey colour, and call it 'oil cooler' damage. That would have a similar effect on engine heating, though if you're dumping black stuff from a fractured oil cooler, engine reliability ....suffers! IP: Logged |
Razer Pilot
|
posted 10-22- 11:44 AM
Condor, i added the engine code to the Ki61 and it pretty much screwed the plane. The CoG has been moved and not it's completely unflyable.idea's? **UPDATE** I edited the code a bit and just added the damage stuff and left all the other stuff the orig Ki61. It flys a lot better now but i'll have to check the damage stuff in combat later.. [This message has been edited by Razer (edited 10-22-2000).] IP: Logged |
Raider Pilot
|
posted 10-22- 09:31 PM
Hey guys, (been out of town) a couple of answers for you. The unhide String2 is from the P-51 to unhide a bullet hit string on the engine.Razer, I think what messed up your planes flight model is that these numbers used one plane as a base. The weight, engine hp / rpm, fuel consumption is different for all planes....so we may not be able to just copy a file over into other planes. But if Condor can come up with a script that standardizes engine damage that lets each plane builder add their relative numbers, this could still work. Condor, I know you have put a lot of work into this, and I think a flexible standard would be great, and if a builder develops something new, maybe it can be added to the standard for all planes. I have a few ideas for you and will email you the specifics, basically use bjorns engine damage model. Write a script of different types of damage that can occur to an engine, such as fuel line hit, oil pan hit, minor damage - one cylinder not firing, medium damage - .25 cylinders not working, major damage - .5 cylinders not working. Make each event a separate function, like Fuel line hit. What would happen if a fuel line was hit by a bullet? It would leak fuel, could reduce engine rpm because at least one cylinder isn't getting enough fuel, may cause a fire, etc. put each of these in an obProb for that function. Once all the events were put into functions, call them from obProbs on each onDmg call. This is an example, not code. onDmg 1 obProb 50 (Func(FuelLineHit)) obProb 50 (Func(GlycolTankHit) obProb 50 (Func(OilLineHit)) obProb 50 (Func(MinorEngDmg) obProb 50 (Func(MediumEngDmg) obProb 50 (Func(MajorEngDmg) By the time you are hit 10 times, there is the probability for a lot of things to be damaged on this engine. This way as bjorn explained, one shot could cause damage to more than one thing, it could be big or small damage. Each event has a 50/50 chance of happening on every hit. Of course you would have to play around with the percentages to make it feel right, but a script like this would help all plane builders, and allow them to plug in their own numbers. Condor, keep going on this, There will always be a few setbacks, I know I have had more setbacks, than successes 
[This message has been edited by Raider (edited 10-22-2000).] IP: Logged |
Condor Pilot
|
posted 10-23- 11:34 AM
Hi Razer,Sorry about that! I thought you were going to past that code into a p51d.sm file you had already. Yea that code is setup for the p51 only. If you want the code in another plane you have to copy just the damage pieces out and paste them in very carefully, as you did with ki61. Anyone who would like assistance you can email me. Shortly, I will be trying to put everything into much cleaner functions as Raider has outlined above. Snickers,
Thanks and yes it does matter. Each engine is different so the cooling system damage is different as well. WT, See Raider's post above.  Raider, Thanks, did you get my last email? I consider my progress so far very successful. I hoped to raise interest in this subject and that seems to be happening. My ultimate goal is to simply have all engine damage possibilites modeled in each plane and working in such a way as that any bullet hit has an appropriate probability of triggering engine damage. I look forward to getting your email you mentined above and coverting the engine damage into generic functions. Condor out
[This message has been edited by Condor (edited 10-23-2000).] IP: Logged |
Laika 801 Pilot
|
posted 10-24- 04:49 AM
He he he ! IP: Logged |
Raider Pilot
|
posted 10-24- 07:53 AM
LOL, Laika, where have I seen that before... couldn't be the Pe2. That plane does have one of the best Damage Models I have ever seen in any sim. I hope your work is going well for IL 2.IP: Logged |
jedi Pilot
|
posted 10-24- 04:20 PM
From trying to adapt this damage "standard" to the Corsair, I find that in fact you cannot just paste it in and change the file references  For example, the P-51 DM has a "radiator damage" function that is invoked with damage to the tail section. The P-51 had a radiator in the tail section (at least the FS model's tail section is where the real radiator would reside). However, the Corsair not only has no radiator in the tail section, it has no radiator period! But what it DID have was oil coolers in the wings. So it's a matter of changing the wing damage model to invoke the radiator damage functions. And of course in the Mustang you can "fix" your problem by opening the belly scoop vent (sometimes). The Hog has no scoop, but what it DID have was cowl flaps (gee thanks for making me model THOSE btw!) They do look kinda cool opening and closing, tho, and a sharp eye will note that the engine temps go up and down when you move the cowl flaps. So, anyway, it's not a simple cut and paste job, but the work of building all those obProb statements is the meat of the model anyway, and can definitely qualify as a "standard" IMO. It's just that the different planes have their components in different areas, so the specific part that creates the damage effect will vary from plane to plane. ------------------ --jedi-- IP: Logged |
Condor Pilot
|
posted 10-25- 12:47 PM
Hi Jedi,I think you make an excellent point here. How the damage is modeled for each plane is different. ie not all planes have radiators and the F4u cooling comes from the wings etc. I hope no one is taking my coding example as a standard to be just cut and pasted into any planes engine. I am hoping to move towards a "standard" over time... My goal is to have each planes engine allow for all the damage possibilities(with appropriate probabilities of occurance as well as progressive severity of damage as the damage level increases. My general standard would include the following: Each engine should have damage possibities for fuel leaks (minor to major), cooling system malfunction, fire, explosion, loss of power as damage gets worse, and fuel line being cut(did I miss any ). With power loss I am using ranges of decreased rpm's at damage level 1, 2 and 3. For damage level 2, the rpm range is lower than in damage level 1 and higher than the range in damage level 3. For playabibilty reasons, the lowest rpm setting in damage level 3 still allows you to maintain level flight, but just barely. Most engine damage routines model the rpms lower than that. All the above effects should register on the cockpit instruments, when appropriate. Visual effects should include smoke and fire. Smoke should impair a pilots view and fire should cause an explosion after an appropriate amount of time. The explosion could be linked to a probability function to allow a range of time before it happens. Again, the important thing to me is that over time we can get all planes to model these types of damage. The exact way to implement this damage will differ from plane to plane and the damage levels and probalities for each type of damage will differ between planes as well. I got to say though, this is really a lot of fun to work with this stuff and to then see it actually work in the game! Also, it is important to say several of the planes out there already have extensive engine damage models which are fantastic and from which I have learned alot. Condor out ------------------
IP: Logged |
Snickers Pilot
|
posted 10-26- 12:01 AM
Did someone say cowl flaps? Like what you would find on a 14 cylinder twin row PBY engine? If you have already done cowl flaps, how easy would the be for me to swipe.....  ------------------ Snickers =FC= IP: Logged |
wakeup tailgunner Pilot
|
posted 10-26- 07:23 AM
Already on the case Snickers!Have cut the engines back to a flat surface behind where the cowl would sit. Have a new engine nacelle front, 2 sided, plus a set of 12 flaps (don't know it is the right number, but the cowl cylinder has 12 sides....) Plus, a rough radial engine model. It is really there for damage modelling, since I though that engine damage could remove flaps or the cowl itself, leaving the engine visible! When i say rough, its a lump with 14 smaller cylinders..... check your mail later today, and you'll see what I mean. It's just one engine, in a seperate .AC file, so just copy and paste a pair of these onto the base .AC I sent you yesterday with the loadouts etc. We gotta have this DM stuff now! IP: Logged |
Snickers Pilot
|
posted 10-26- 07:28 AM
I *knew* there was r reason we hired you.... Great!Snick IP: Logged |
wakeup tailgunner Pilot
|
posted 10-26- 10:12 AM
It's a pleasure to work for Consolidated Aircraft Inc!P.S. Engine is now mailed, and should be with you. May need to tweak the cylinders a little, but that is easy enough to do. ------------------ IP: Logged |
charmstar Pilot
|
posted 10-26- 05:56 PM
You know what might be interesting to do would be to adapt Condor's damage function by making a small VB app that accepts inputs, and then spits out the appropriate string which could then be copied into your plane. That would make it easier to use in other planes. On the other hand, there aren't too many planes, and it only needs to be done once, so it might not be worthwhile.I wonder if Bryan is considering adding any UI to handle damage/probability in OPS2000. charm IP: Logged |
Snickers Pilot
|
posted 10-26- 08:46 PM
quote: Originally posted by charmstar: On the other hand, there aren't too many planes...
What is the latest plane count? There are enough out there that I don't fly them all (like I did when it first came out). In addition there are more coming all the time! Dont look at what we have now, look what we may have a year from now. (A year ago who would have thought we (the community) would have done this much! If you know VB, go for it....
------------------ Snickers =FC= IP: Logged |
Condor Pilot
|
posted 10-27- 10:40 AM
Hi guys,I am making good progress with "cleaning" up the engine damage code by putting it into neat functions. I hope to be done within two weeks. I will start a new post when it is ready. With the number of planes we have now, and then thinking of the staggering number we probably will have 1 year from now, I think a method (Visual Basic app or Bryan's OPS program) has to be created to more easily work with adding/deleting/modifying the open plane functions and commands. I guess it doesn't have to done but it sure would be a great thing to have. Condor out ------------------
IP: Logged | |