Bridge Commander Central

BC Forums => BC Bridge Modding => Topic started by: hjenterprises on April 29, 2009, 06:53:29 AM

Title: Make them stand up?
Post by: hjenterprises on April 29, 2009, 06:53:29 AM
Well I am trying to put together a Future TNG Bridge that I saw on a episode, it wont be accurate but
I can get close. I have figured out how to delete or remove things off of bridges like chairs and what not.
but say if I remove  Safi's chair off of the Dbridge and I want her to stand in the same spot how would I go about doing that? Because right now it looks like she is sitting on an invisable chair.
Title: Re: Make them stand up?
Post by: JimmyB76 on April 29, 2009, 09:22:13 AM
have you tried looking through the character scripts?
all the animations and such would be located there...  there are a number of animations for Saffi being seated in Saffi.py - im not sure which animations to try in place of them, i guess it would be trial and error; but that's where i would begin...

in some character scripts (non-stock) there is (for example, Saffi on Defiant Bridge)
Code: [Select]
pDFSaffi.SetStanding(0) and i imagine changing that to 1 might work, but i havent tried it out myself so im not certain, im just guessing...
Title: Re: Make them stand up?
Post by: MLeo on April 29, 2009, 01:10:59 PM
SetStanding(1) would work, you may need to reposition the character to be a bit higher.
Title: Re: Make them stand up?
Post by: JimmyB76 on April 29, 2009, 02:46:07 PM
hmmm - looking through Saffi.py (for Gal and Sov bridges), i dont see the SetStanding configuration at all in the script...
all the other characters do contain that tho...
Title: Re: Make them stand up?
Post by: MLeo on April 29, 2009, 03:09:18 PM
Look in BoPSaffi (or something like that), she is standing there, or in Nebula standing.

Remember, standing is the default!
Title: Re: Make them stand up?
Post by: JimmyB76 on April 29, 2009, 04:13:19 PM
right - the SetStanding configuration is located in other Saffi scripts for other bridges, but not for Saffi.py itself (for Gal and Sov)...
perhaps adding it into that script would work?  i wouldnt know, tho; ive never tried...
Title: Re: Make them stand up?
Post by: MLeo on April 29, 2009, 07:03:04 PM
Best done in either the bridge specific character (and then in SetupCharacterForBridge, not CreateCharacter), or through the bridge plugin, where, normally, characters are turned off (or on), you can quite easily add the SetStanding code (and/or location) there.
Title: Re: Make them stand up?
Post by: hjenterprises on April 30, 2009, 12:03:04 AM
well heck, This is part of the galSafi.py that I edited and she was still sitting on an invisable chair? im in the right file am I?

# Hit animations
   pgalSaffi.AddAnimation("galCommanderHit", "Bridge.Characters.galMediumAnimations.galCHit")
   pgalSaffi.AddAnimation("galCommanderHitHard", "Bridge.Characters.galMediumAnimations.galCHitHard")
   #pgalSaffi.AddAnimation("EBCommanderHitStanding", "Bridge.Characters.CommonAnimations.HitStanding")
   #pgalSaffi.AddAnimation("EBCommanderHitHardStanding", "Bridge.Characters.CommonAnimations.HitHardStanding")
   pgalSaffi.AddAnimation("galCommanderReactLeft", "Bridge.Characters.CommonAnimations.ReactLeft")
   pgalSaffi.AddAnimation("galCommanderReactRight", "Bridge.Characters.CommonAnimations.ReactRight")

   # Add common animations.
   AddCommonAnimations(pgalSaffi)
   pgalSaffi.SetStanding(1)
   pgalSaffi.SetLocation("galCommander")
   pgalSaffi.AddPositionZoom("galCommander", 1.0)
#   debug("Finished configuring Saffi"

###############################################################################
#   AddCommonAnimations()
#
#   Since we can only clear out all animations when switching bridges (how
#   would we know which not to clear?), we can't really setup animations common
#   to all bridge configurations as we might like.  Because of this we have a
#   routine to add common animations (most of which are randoms) that both
#   configurations will call
#
#   Args:   pgalSaffi   - our Character object
#
#   Return:   none
###############################################################################
Title: Re: Make them stand up?
Post by: MLeo on April 30, 2009, 09:31:32 AM
You are testing this in the 3E Generations Galaxy bridge, right? And not the stock galaxy bridge? In that case, it's saffi.py


The easiest way to try this out is to start up BC, go to quick battle (no need to setup a battle), open the console and type the following sequence (confirm each line with Enter):
Code: [Select]
pBridge = App.g_kSetManager.GetSet("bridge')
pXO = App.CharacterClass_Cast(pBridge.GetObject("XO"))
pXO.SetStanding(1)

At this point, it's possible that animations will make it appear as if she is sitting, but you should see something happening after the SetStanding line. Perhaps only if you close the console.
Title: Re: Make them stand up?
Post by: hjenterprises on May 01, 2009, 08:38:20 AM
Well of course I have a Safi.pyc but no py? And yes I was modifing the stock Galaxy but I do have the BPCore installed.
Title: Re: Make them stand up?
Post by: JimmyB76 on May 01, 2009, 08:46:59 AM
if you have the SDK (which MPE is a part of), youll find Saffi.py within that...
it would be within the Build folder, with all of the stock pys...
Title: Re: Make them stand up?
Post by: hjenterprises on May 02, 2009, 03:04:18 AM
ok I found the Safi.py in SDK, so I add pgalSaffi.SetStanding(1)
to the common animations? then copy that file to the game?
Title: Re: Make them stand up?
Post by: MLeo on May 02, 2009, 07:46:34 AM
I really wouldn't recommend that (I strongly urge you not to), but you can.

The point is that you don't change those files, I mean, do you remember the floating crew bug? That happens because common animations got overwritten by an older/other version of the file.

Aside from that, look in scripts/Fixes20030217.py (yes, in the scripts directory, not Autoload).
Do you see the locations variable listing all those animations/locations?
Do you also see that some have a pCharacter.SetHidden(1)? You need to hook into that.

The best way to do this is to create a new bridge plugin for the Galaxy bridge (or alter the 3E/BPCore version of the stock Galaxy bridge) and add a pCharacter.SetStanding(1) to the XO location.