Jump to content

XML:BINA/OBJC/TRIG: Difference between revisions

style update
m (trigger speed = OBAN * factor in file * factor via BSL)
(style update)
Line 92: Line 92:


===tags===
===tags===
* <Flags> : unknown
 
* <Position> : (trigger is spawned at this xyz-position)
{| class="wikitable" width="100%"
* <Rotation> : (trigger has xyz-rotation (in degrees))
!width=280px| tag
* <Class>
!width=60px| type
:: trigger_arc
! description
:: trigger_circle
|-
:: trigger_evilbrain
| <?xml version="1.0" encoding="utf-8"?>
:: trigger_long
| float, flag
:: trigger_long4x
| Don't change this.
:: trigger_long4xzag
|-
:: trigger_rectangle
| <Oni>
:: trigger_sb3A
| -
:: trigger_sb3B
|
:: trigger_short
|-
:: (link by name to the [[XML:TRIG|TRIG]] instance (trigger class), which holds the [[XML:M3GM|M3GM]] of the rail and links to [[XML:TRGE|TREG]] (laser emitter class) and [[XML:OBAN|OBAN]] (animation of the emitters))
| <TRIG Id="...">
:: (Screenshot of each would be good.)
| integer
* <TriggerId> : (used by BSL commands)
| You can also use <TRIG> without the id parameter.
* <Flags>
|-
:: 4 (active?, hex: 4)
| <Header>
:: '''InitialActive''' (hex: 8)
| -
:: '''ReverseAnim''' (hex: 10)
|
:: '''PingPong''' (hex: 20)
|-
:: 64 (unknown, hex: 40)
| <Flags>
:: 128 (unknown, hex: 80)
|
* <LaserColor> : ([[wikipedia:RGB_color_model#The_24-bit_RGB_representation|RGB]] range, e.g. <LaserColor>255 0 77</LaserColor>)
| Used in the past.
* <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)
| <Position>
: ''trig_speed id speed'' is another multiplicator it doesn't override the fist one
| float x3
: if one of these two muliplicators is 0 the trigger will not move
| trigger is spawned at this xyz-position
* <EmitterCount> : (number of laser emitters in one trigger rail)
|-
* <Offset_0075> : (laser is on for a number of frames you set here)
| float x3
* <Offset_0077> : (laser is off for a nubmer of frames you set here)
| <Rotation>
::(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)
| trigger has this xyz-rotation (in degrees)
* <Events>
|-
:*    <Script Function="calling_this_BSL_function" />
| <OSD>
:*    <ActivateTurret TargetId="Id" />
| -
:*    <DeactivateTurret TargetId="Id" />
|
:*    <ActivateConsole TargetId="Id" />
|-
:*    <DeactivateConsole TargetId="Id" />
|valign="top"| <Class>
:*    <ActivateAlarm TargetId="Id" />
|valign="top"| char[63]
:*    <DeactivateAlaram TargetId="Id" />
| <font color="#777777">TRIG</font>file<font color="#777777">.oni</font>
:*    <ActivateTrigger TargetId="Id" />
 
:*    <DeactivateTrigger TargetId="Id" />
This is a link to [[XML:TRIG|TRIG]] (trigger class), which holds the [[XML:M3GM|M3GM]] of the rail and links to [[XML:TRGE|TREG]] (laser emitter class) and [[XML:OBAN|OBAN]] (animation of the emitters)).
:*    <LockDoor TargetId="Id" />
 
:*    <UnlockDoor TargetId="Id" />
original classes:
:: (You can have more than one and different event types at same time.)
: trigger_arc
: trigger_circle
: trigger_evilbrain
: trigger_long
: trigger_long4x
: trigger_long4xzag
: trigger_rectangle
: trigger_sb3A
: trigger_sb3B
: trigger_short
|-
| <TriggerId>
| int16
| Used by BSL commands. Is it possible to use the same id for different triggers?
|-
|valign="top"| <Flags>
|valign="top"| flags
|
: InitialActive
: ReverseAnim
: PingPong
|-
|valign="top"| <LaserColor>
|valign="top"| color
| [[wikipedia:RGB_color_model#The_24-bit_RGB_representation|R G B]] range, e.g. <LaserColor>255 0 77</LaserColor>
|-
| <StartPosition>
| float
| 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)  
|-
|valign="top"| <Speed>
|valign="top"| float
| This is one for two multiplier. The second multiplier can be accessed via BSL command ''trig_speed id speed''.
 
total_speed = OBAN_speed * multiplier_in_file * multiplier_BSL
 
So if one of the multiplier is set to 0, the trigger will stop moving.
|-
| <EmitterCount>
| int16
| Number of emitter to spawn on the rail?
|-
| <TimeOn>
| int16
| laser is emitting its beam for X frames
|-
| <TimeOff>
| int16
| laser is not emitting its beam for X frames
|-
| <Events>
| -
| in16 array. You can use multiple events.
|-
|valign="top"| <Script Function="call_this_BSL_function" />
|valign="top"| char[32]
| Name of BSL function. For example if you use "call_this_BSL_function" here then write in BSL file:
''func call_this_BSL_function
{
      dmsg "hi"
}''
|-
| <ActivateTurret TargetId="''Id''" />
| int16
|
|-
| <DeactivateTurret TargetId="''Id''" />
| int16
|
|-
| <ActivateConsole TargetId="''Id''" />
| int16
|
|-
| <DeactivateConsole TargetId="''Id''" />
| int16
|
|-
| <ActivateAlarm TargetId="''Id''" />
| int16
|
|-
| <DeactivateAlaram TargetId="''Id''" />
| int16
|
|-
| <ActivateTrigger TargetId="''Id''" />
| int16
|
|-
| <DeactivateTrigger TargetId="''Id''" />
| int16
|
|-
| <LockDoor TargetId="''Id''" />
| int16
|
|-
| <UnlockDoor TargetId="''Id''" />
| int16
|
|}




8,018

edits