OBD talk:BINA/PAR3: Difference between revisions

m
Karen looks into her foto album. "Oh that was me in wonderland."
m (decorative decals, I was missing their 'intuitive' facing rules)
m (Karen looks into her foto album. "Oh that was me in wonderland.")
Line 1,442: Line 1,442:
  particle '''<font color="#0000FF">decal_BSL_name</font>''' create
  particle '''<font color="#0000FF">decal_BSL_name</font>''' create
  fork kill_decal
  fork kill_decal
}
=how to set up decorative character items=
(Based on geyser's "silly world" experiment.)
Marks, bags, goggles, decorative LSI, flash lights and other equipment could individualize characters by using a (BSL-triggered) particle workaround.
==step 1: ONCC modifications==
First we need to create a connection to the character. For this, we use the Daodan particle system to some degree.
<HasDaodanPowers>'''1'''</HasDaodanPowers>
Now it's enabled for this character. Next we register our item (hold by particle) in the ONCP section.
<ONCPParticle>
  <Name>'''super'''_shades</Name>
  <Type>silly_shades</Type>
  [[OBD:TRIA#Bones|<BodyPart>]]10</BodyPart>
</ONCPParticle>
<Name> As long as '''super''' stands at beginning, the further naming is unimportant.<br><Type> This is a link to the particle file.<br><BodyPart> This is the body part where the particle is attached to. Position fine tuning can be done in M3GM's PNTA section, <Positions>.
==step 2: creating the item files==
* BINA3RAPsilly_glasses.xml
: Needed modifications:
<Lifetime>0</Lifetime>
<HasAttachmentMatrix>true</HasAttachmentMatrix>
<DisplayType>Geometry</DisplayType>
<TexGeom>'''silly_shades'''</TexGeom>
<Events>
  <Start>
  <Show />
  </Start>
  <Stop>
  <Hide />
  </Stop>
</Events>
* BINA3RAP'''silly_shades'''.xml
<Texture>TXMP'''silly_shades_tex'''</Texture>
* TXMP'''silly_shades_tex'''.xml
==step 3: preparing the BSL stuff==
* BINACJBOCharacter.xml
<Spawn>silly_setup</Spawn>
* shpadoinkle.bsl
#character spawn function
func silly_setup(string name) {
chr_lock_active(name)
chr_super(name, 1)
sleep 2
chr_super(name, 0)
}
{| border=0 cellspacing=20 cellpadding=0 align=right
|
[http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/XML_modding/silly_shades.png http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/XML_modding/silly_shades_TN.png]<br>Karen: "Ready for Matrix. HAR-HAR"
|}
: silly_setup will be triggered every time a character is spawned with this link in BINACJBOCharacter.xml
: Only AI would need chr_lock_active.
: chr_super becomes disabled again to prevent other Daodan effects (in case our character would had a chenille or other visuals). We don't have to worry about the item, its live time was set to 0 (infinity). (chr_super 0 only hides the particle, it doesn't kill it.)
:
func main {
# [...]
p3_callevent silly_glasses '''2'''
# [...]
}
'''2''' corresponds to <Start> tag and '''3''' corresponds to <Stop> tag in BINA3RAPsilly_shades.xml
This can ''switch on and off'' the item. Other effects could be triggered by the free remaining numbers. A collection of events and their numbers can be seen [[OBD_talk:BINA/OBJC/PART|HERE]].
==extra demo==
''For all Gundam Seed fans out there: Phase Shift shades.'' ^_^
Nah, the texture of such object cannot become replaced by another. But by using three different shades, we can create this illusion. There are blue shades. A ''pair'' that uses an animated texture. And a red pair. The animated pair is only temporary used. [http://www.youtube.com/watch?v=XbOb0i5StDk Here's a vid.]
func spawn_karen {
chr_super karen 1
### all three shades particle created
sleep 2
### now but we need to hide them
chr_super karen 0
### show only blue shades for the start
p3_callevent shades_blue 2
}
func phase_shift_shades {
p3_callevent shades_blue 3
p3_callevent shades_blue_red 2
sleep 20
p3_callevent shades_blue_red 3
p3_callevent shades_red 2
  }
  }
8,189

edits