8,189
edits
Paradox-01 (talk | contribs) m (decorative decals, I was missing their 'intuitive' facing rules) |
Paradox-01 (talk | contribs) 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 | |||
} | } |
edits