XML:BINA/OBJC/TRIG: Difference between revisions

From OniGalore
< XML:BINA‎ | OBJC
Jump to navigation Jump to search
m (on further thought, we should be consistent in directing modders to the AE .dats)
mNo edit summary
Line 118: Line 118:
* <LaserColor> : ([[wikipedia:RGB_color_model#The_24-bit_RGB_representation|RGB]] range, e.g. <LaserColor>255 0 77</LaserColor>)
* <LaserColor> : ([[wikipedia:RGB_color_model#The_24-bit_RGB_representation|RGB]] range, e.g. <LaserColor>255 0 77</LaserColor>)
* <StartPosition> : (float value; start position of the trigger in the rail; range from 0 (bottom) to 1 (top) in connection to the spawn point of the trigger (spawn point = bottom))
* <StartPosition> : (float value; start position of the trigger in the rail; range from 0 (bottom) to 1 (top) in connection to the spawn point of the trigger (spawn point = bottom))
* <Speed> : (float value; ''reference'': 0 means no movement, 1 is slow, and 2 is fast)
* <Speed> : (multiplicator, float value; e.g. 0 = no speed; 1.5 = 150% OBAN speed)
* <EmitterCount> : (number of laser emitters in one trigger rail)
* <EmitterCount> : (number of laser emitters in one trigger rail)
* <Offset_0075> : (laser is on for a number of frames you set here)
* <Offset_0075> : (laser is on for a number of frames you set here)

Revision as of 17:51, 30 December 2013

TRIG : Trigger spawn collection
XML modding tips
  • See HERE to start learning about XML modding.
  • See HERE if you are searching for information on how to handle object coordinates.
  • See HERE for some typical modding errors and their causes.
XML.png
XML

AKEV << Other file types >> CONS

TMBD << Other BINA >> ONIE

TRGV << Other OBJC >> TURR

switch to OBD page

general information

  • The xml code on this page is based on onisplit v0.9.61.0
  • BINACJBOTrigger.oni is level specific. (It can be found in AE/AEInstaller/vanilla/levelX_Final.dat)
  • Extract this file if an update on xml tags is needed.


BSL support

command description example
marketing_line_off turns the laser line off marketing_line_off = 1
trig_activate trigger_id:int activates a trigger trig_activate 2
trig_deactivate trigger_id:int deactivates a trigger trig_deactivate 2
trig_hide trigger_id:int hides a trigger, disables also laser trig_hide 91
trig_show trigger_id:int shows a trigger trig_show 91
trig_speed trigger_id:int volume:float sets a triggers speed trig_speed 514 .15
trig_reset trigger_id:int resets a trigger to non-triggered state trig_reset 91


file structure

<?xml version="1.0" encoding="utf-8"?>
<Oni>
   <Objects>
       [...]
   </Objects>
</Oni>

[...] means at least one trigger. Paste all trigger data into there (this includes <TRIG Id="..."> and </TRIG> tag).

example

trigger_preview.jpg

       <TRIG Id="8136">
           <Header>
               <Flags></Flags>
               <Position>-445 68 -1362</Position>
               <Rotation>270 8.65141646E-06 180.000015</Rotation>
           </Header>
           <OSD>
               <Class>trigger_long</Class>
               <TriggerId>1</TriggerId>
               <Flags>44</Flags>
               <LaserColor>0 0 255</LaserColor>
               <StartPosition>0</StartPosition>
               <Speed>0</Speed>
               <EmitterCount>3</EmitterCount>
               <Offset_0075>0</Offset_0075>
               <Offset_0077>0</Offset_0077>
               <Events>
                   <Script Function="calling_this_BSL_function" />
                   <ActivateTurret TargetId="1" />
                   <DeactivateTurret TargetId="2" />
                   <ActivateConsole TargetId="3" />
                   <DeactivateConsole TargetId="4" />
                   <ActivateAlarm TargetId="5" />
                   <DeactivateAlaram TargetId="6" />
                   <ActivateTrigger TargetId="7" />
                   <DeactivateTrigger TargetId="8" />
                   <LockDoor TargetId="9" />
                   <UnlockDoor TargetId="10" />
               </Events>
           </OSD>
       </TRIG>

tags

  • <Flags> : unknown
  • <Position> : (trigger is spawned at this xyz-position)
  • <Rotation> : (trigger has xyz-rotation (in degrees))
  • <Class>
trigger_arc
trigger_circle
trigger_evilbrain
trigger_long
trigger_long4x
trigger_long4xzag
trigger_rectangle
trigger_sb3A
trigger_sb3B
trigger_short
(link by name to the TRIG instance (trigger class), which holds the M3GM of the rail and links to TREG (laser emitter class) and OBAN (animation of the emitters))
(Screenshot of each would be good.)
  • <TriggerId> : (used by BSL commands)
  • <Flags>
4 (active?, hex: 4)
InitialActive (hex: 8)
ReverseAnim (hex: 10)
PingPong (hex: 20)
64 (unknown, hex: 40)
128 (unknown, hex: 80)
  • <LaserColor> : (RGB range, e.g. <LaserColor>255 0 77</LaserColor>)
  • <StartPosition> : (float value; start position of the trigger in the rail; range from 0 (bottom) to 1 (top) in connection to the spawn point of the trigger (spawn point = bottom))
  • <Speed> : (multiplicator, float value; e.g. 0 = no speed; 1.5 = 150% OBAN speed)
  • <EmitterCount> : (number of laser emitters in one trigger rail)
  • <Offset_0075> : (laser is on for a number of frames you set here)
  • <Offset_0077> : (laser is off for a nubmer of frames you set here)
(example: when you set 360 (at offset 0x75) and 120 (at offset 0x77) then the laser gets disabled after 6 seconds for 2 seconds, then loops; note that the laser will be off all if you set 0x75 to 0 and 0x77 to a number bigger than 0)
  • <Events>
  • <Script Function="calling_this_BSL_function" />
  • <ActivateTurret TargetId="Id" />
  • <DeactivateTurret TargetId="Id" />
  • <ActivateConsole TargetId="Id" />
  • <DeactivateConsole TargetId="Id" />
  • <ActivateAlarm TargetId="Id" />
  • <DeactivateAlaram TargetId="Id" />
  • <ActivateTrigger TargetId="Id" />
  • <DeactivateTrigger TargetId="Id" />
  • <LockDoor TargetId="Id" />
  • <UnlockDoor TargetId="Id" />
(You can have more than one and different event types at same time.)


laser movements

The hardest part in setting up triggers was pointing them in the correct direction. After much testing here are the Rotation numbers for each direction. - EdT

Triggerface0.jpg


Laser Direction 0
<Rotation>0 90 0</Rotation> Moves left of position
<Rotation>180 90 0</Rotation> Moves right of position
<Rotation>270 90 0</Rotation>Moves above position
<Rotation>90 90 0</Rotation> Moves below position


Laser Direction 90
<Rotation>0 180 0</Rotation> Moves left of position
<Rotation>180 180 0</Rotation> Moves right of position
<Rotation>270 180 0</Rotation>Moves above position
<Rotation>90 180 0</Rotation> Moves below position


Laser Direction 180
<Rotation>0 270 0</Rotation> Moves left of position
<Rotation>180 270 0</Rotation> Moves right of position
<Rotation>270 270 0</Rotation>Moves above position
<Rotation>90 270 0</Rotation> Moves below position


Laser Direction 270
<Rotation>0 0 0</Rotation> Moves left of position
<Rotation>180 0 0</Rotation> Moves right of position
<Rotation>270 0 0</Rotation>Moves above position
<Rotation>90 0 0</Rotation> Moves below position