Multiple Hull Sections: Primary, Secondary, Etc. -1 reply

Please wait...

Guest

I didn't make it!

0 XP

 
#1 11 years ago

I looked through the modding and editing portions of the forum before asking this question. Has anyone ever been able to create multiple hulls that acted as in-game nested subsystems like the weapons and engines do, i.e. warp engines>port>starboard, disruptors>disruptor 1, 2, 3, etc.? As I'm sure we're all annoyingly aware, anytime an enemy ship fires on your ship's hull, the weapons fire is directed exclusively towards the X-Y center of the hull axis, regardless of the radius parameter you might set in the MPE (Model Property Editor). In Klingon Academy, when you choose to direct weapons fire to the hull, the weapons fire is randomly directed to different hull locations, not just one single location. So, I'm wondering if anyone knows if someone has come up with a similar multiple hull creation method. The only thing I've been able to do that comes close is by using the MPE this way: MPE Menu>Property>Show Template List>Clicked on Warp Engines>Clicked on Duplicate>Renamed to Hulls MPE Menu>Property>Show Template List>Clicked on Port Warp>Clicked on Duplicate 3 times>Renamed to Hull Section 1, 2, 3, etc. When I've tried this method, the above Hull Sections 1, 2, 3, etc. get nested under the Warp Engines button rather than under the Hulls button. Later, I tried duplicating and renaming the MPE hulls property accordingly to create Hulls and Hull Section 1, 2, 3 buttons. I did get un-nested Hulls 1 and 2 to display on the ship's menu. Even so, if there is a bridge that has been created using the hull property, it seems that only 4 hull properties will be displayed on the in-game ship menu. So, the 3rd usually goes missing, or more accurately, takes the place of the original Hull button. Selecting or deselecting "Primary" in the MPE for the hull property didn't make a difference either in terms of whether buttons became nested under a parent button. Each hull section was selectable, but there wasn't going to be any random selection effect by the enemy AI ship. It might be possible to create such a multiple hull section feature that works like the engines and weapons properties. I've noticed that when you select the enemy ship's parent button for engines or weapons multiple times, the subsection categories are selected at random. For instance, the first time you click on the Warp Engines button, the Port Engine might be targeted. The 2nd or 3rd time you click on the Warp Engines button, the Starboard Engine might be targeted. That's the kind of effect I'm looking for in terms of not having the AI enemy ship just home in on the current X-Y axis exclusively. Not having a background in programming, let alone Python, I've been futzing around with the App.py file that the MPE uses to see if I could create such a multiple hull section feature that nested under a "Hulls" button in-game. The drawback is in my lack of programming knowledge and the fact that the MPE seems to have a pre-defined syntax as to what it should be looking for in the App.py file as an acceptable parameter to display in the MPE GUI. So, I'm pretty much at a dead end. If you can, let me know where I might look to find a post if someone has been able to create something that allows the enemy AI ship to target between multiple hull sections. This maybe overkill, but here's the extent of what I was able to do using the Warp Engine and Engine properties in the App.py file as a "copy and paste" kind of guide. Hopefully, it gives you an idea of what I'm trying to find/create. The red fonts are parameters that the Warp Engines and Engines had, but that the Hull didn't have in the in the App.py file. class HullProperty(SubsystemProperty): def __init__(self,*args): self.this = apply(Appc.new_HullProperty,args) self.thisown = 1 def __del__(self,Appc=Appc): if self.thisown == 1 : Appc.delete_HullProperty(self) def __repr__(self): return "" % (self.this,) class HullPropertyPtr(HullProperty): def __init__(self,this): self.this = this self.thisown = 0 self.__class__ = HullProperty [COLOR=red]class HullsectProperty(SubsystemProperty):[/COLOR] [COLOR=red]HP_HULLSECT1 = Appc.HullsectProperty_HP_HULLSECT1[/COLOR] [COLOR=red]HP_HULLSECT2 = Appc.HullsectProperty_HP_HULLSECT2[/COLOR] [COLOR=red]def __init__(self,*args):[/COLOR] [COLOR=red]self.this = apply(Appc.new_HullsectProperty,args)[/COLOR] [COLOR=red]self.thisown = 1[/COLOR] [COLOR=red]def __del__(self,Appc=Appc):[/COLOR] [COLOR=red]if self.thisown == 1 :[/COLOR] [COLOR=red]Appc.delete_HullsectProperty(self)[/COLOR] [COLOR=red]def __repr__(self):[/COLOR] [COLOR=red]return "" % (self.this,)[/COLOR] [COLOR=red]class HullsectPropertyPtr(HullsectProperty):[/COLOR] [COLOR=red]def __init__(self,this):[/COLOR] [COLOR=red]self.this = this[/COLOR] [COLOR=red]self.thisown = 0[/COLOR] [COLOR=red]self.__class__ = HullsectProperty[/COLOR] [COLOR=red]HullsectProperty.GetHullType = new.instancemethod(Appc.HullsectProperty_GetHullType, None, HullsectProperty)[/COLOR] [COLOR=red]HullsectProperty.SetHullType = new.instancemethod(Appc.HullsectProperty_SetHullType, None, HullsectProperty)[/COLOR] def HullProperty_Cast(*args, **kwargs): val = apply(Appc.HullProperty_Cast,args,kwargs) if val: val = HullPropertyPtr(val) return val def HullProperty_Create(*args, **kwargs): val = apply(Appc.HullProperty_Create,args,kwargs) if val: val = HullPropertyPtr(val) return val [COLOR=red]def HullsectProperty_Cast(*args, **kwargs):[/COLOR] [COLOR=red]val = apply(Appc.HullsectProperty_Cast,args,kwargs)[/COLOR] [COLOR=red]if val: val = HullsectPropertyPtr(val)[/COLOR] [COLOR=red]return val[/COLOR] [COLOR=red]def HullsectProperty_Create(*args, **kwargs):[/COLOR] [COLOR=red]val = apply(Appc.HullsectProperty_Create,args,kwargs)[/COLOR] [COLOR=red]if val: val = HullsectPropertyPtr(val)[/COLOR] [COLOR=red]return val[/COLOR] CT_HULL_SUBSYSTEM = Appc.CT_HULL_SUBSYSTEM CT_HULL_PROPERTY = Appc.CT_HULL_PROPERTY [COLOR=red]CT_HULLSECT_PROPERTY = Appc.CT_HULLSECT_PROPERTY[/COLOR]




N1GH7H4WK

BC modder. So, what?

50 XP

27th April 2006

0 Uploads

580 Posts

0 Threads

#2 11 years ago

if i'm not wrong (just wondering, never tried) you can, in MPE, split the ship into the groups it was created while being modelled. if the modeller did it correctly, and assuming he had a bit of common sense, the best way to split it will be like: -saucer -hull -engines -bridge -nacelles ... and so on. then, instead of loading the hardpoints on Scene Root, load them in the propper subgroup (also known as "Patriot tecnique", named after the USS Patriot error), then edit the HP deletting all the lines of code that contain "Scene Root". if this works, then, when you destroy a part of the ship (slicing the pylons, for example) you destroy all the systems attached to it.




UssDonoghue

Uss_Donoghue - BC Exp Director

50 XP

31st May 2003

0 Uploads

124 Posts

0 Threads

#3 11 years ago

By doing this, wouldnt it be possible to cloak certian areas of the ship, or actually would cloaking coak one of the hull's layer sand would the other layers show?




*Daedalus

A Phoenix from the ashes

50 XP

18th April 2006

0 Uploads

3,091 Posts

0 Threads

#4 11 years ago

I assume so... And DBF, you're at about the same level as me as HPing goes, and I haven't had any luck with it either. I've tried everything you've said many-a-time, on many different shps, but to no success.... Can't really add anything more... sorry I wasn't of any help...




Guest

I didn't make it!

0 XP

 
#5 11 years ago

Not a problem Daedalus. Part of the reason I'm posting is because I've reached a dead end. Rather than give up, I figured I'd post here. I know there are people with far more modding knowledge and experience that might be able to help. I've been working on a port over of the D-7 for SFC2 by Moonraker to BC. Also, I've been using the Klingon Academy specs for both this D-7 and the Constitution class ship created by Rick Knox. I wanted to see how these ships would perform in BC with KA stats. So, I snagged the KA data.dat file, decompiled it, grabbed the .shp files for the D-7 and the Connie, organized them in MS Excel, and have been trying to stay true to the stats based on the info provided and some "best effort" interpreting. During the QB testing of these ships, I noticed that the Connie's torps were heading exclusively for the X-Y center hull point on the D-7, which usually means certain premature death. Although, part of the problem is that the AI in BC bites in that it can neither evade incoming torps or it's too polite. In KA, the AI of a D-7 could be an aggressive and vindictive PITA, including backing up into you to damage your hull and subsystems. N1GH7H4WK's suggestion is very intriguing. So, I'll have to give it a shot. If I find it works, I'll let you guys know. KA ships had primary and secondary hull damage determined by what weapons fire hit what predefined graphic location on the .lwo model. For instance: ResourceHitPoints Hull 209 ResourceHitPoints D01 42 ResourceHitPoints D03 15 ResourceHitPoints D04 10 ResourceHitPoints D10 10 ResourceHitPoints D12 42 ResourceHitPoints D13 25 ResourceHitPoints D14 20 ResourceHitPoints D18 25 ResourceHitPoints D19 15 ResourceHitPoints D20 10 ResourceHitPoints D23 20 ResourceHitPoints D24 15 ResourceHitPoints D25 15 ResourceHitPoints D26 10 ResourceHitPoints D29 10 ResourceHitPoints D30 209 ResourceHitPoints D31 209 So, maybe something similar can be created based on N1GH7H4WK's idea. Btw, if any of you or anyone you know is using the fixed TOS D-7 I submitted last month, have them check out post #6 on submission page. I didn't realize until after the fact that the rotational inertia stat doesn't do squat in terms of determining a ship's turning ability and agility. So, I posted some impulse engine specs that will make that D-7's handling much better. http://bridgecommander.filefront.com/file/D7_TOS__P81s_fixed;74387x#1142599




Guest

I didn't make it!

0 XP

 
#6 11 years ago

Ok N1GH7H4WK. That's an intriguing idea. I'll give it a shot. Thanks.