XML:BINA/OBJC/TRGV: Difference between revisions
Script 10k (talk | contribs) m (typo) |
Paradox-01 (talk | contribs) (putting tags content into table) |
||
Line 4: | Line 4: | ||
* '''BINACJBOTrigger Volume.oni''' is level specific. (It can be found in AE/AEInstaller/vanilla/level'''X'''_Final.dat) | * '''BINACJBOTrigger Volume.oni''' is level specific. (It can be found in AE/AEInstaller/vanilla/level'''X'''_Final.dat) | ||
* The XML code on this page is based on onisplit '''v0.9.61.0''' | * The XML code on this page is based on onisplit '''v0.9.61.0''' | ||
===BSL support=== | |||
'''show trigger activity''' | |||
:'''debug_triggers = 1''' shows tv event and what character enters, stays inside or leaves | |||
'''Resetting the trigger volume''' | |||
:'''trigvolume_reset (string tv_name)''' resets the TV to its preset state. The primary use of this is to re-enable "entry", "inside" or "exit" calls once the TV has been triggered (only necessary if the respective trigger-only-once flags are set of course). Note that some or all the TV functions are disabled at level load, you'll have to enable them manually after resetting the TV. | |||
'''Removing corpses''' | |||
:'''trigvolume_corpse (integer tv_id)''' removes all corpses inside the specified trigger volume. | |||
===file structure=== | ===file structure=== | ||
Line 59: | Line 71: | ||
===tags=== | ===tags=== | ||
{| class="wikitable" width="100%" | |||
!width=280px| tag | |||
!width=60px| type | |||
! description | |||
|- | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| float, flag | |||
| Don't change this. | |||
|- | |||
| <Oni> | |||
| - | |||
| XML root node | |||
|- | |||
| <TRGV Id="..."> | |||
| integer | |||
| You can also use <TRGV> without the id parameter. | |||
|- | |||
| <Header> | |||
| - | |||
| | |||
|- | |||
| <Flags> | |||
| flag | |||
| Used in the past. | |||
|- | |||
| <Position> | |||
| float x3 | |||
| TV is spawned at this xyz-position | |||
|- | |||
| <Rotation> | |||
| float x3 | |||
| TV has this xyz-rotation (in degrees) | |||
|- | |||
| <OSD> | |||
| - | |||
| | |||
|- | |||
| <Name> | |||
| string | |||
| can have up to 63 characters | |||
|- | |||
| <Scripts> | |||
| - | |||
| BSL functions; each can have up to 32 characters | |||
|- | |||
| <Entry> | |||
| string | |||
| called up when character enters the TV | |||
|- | |||
|valign="top"| <Inside> | |||
|valign="top"| string | |||
| called while character is inside the TV | |||
This one is triggered at every frame (60 times per second) unless the trigger-only-once flag is set. Continuous triggering is typically needed for fire or gas damage. | |||
|- | |||
| <Exit> | |||
| string | |||
| called up when character leaves the TV | |||
|- | |||
|valign="top"| <Teams> | |||
|valign="top"| flags | |||
| | |||
: 1 - Konoko | |||
: 2 - TCTF | |||
: 4 - Syndicate | |||
: 8 - Neutral | |||
: 16 - SecurityGuard | |||
: 32 - RogueKonoko | |||
: 64 - Switzerland | |||
: 128 - SyndicateAccessory | |||
''' | Every combination is possible. E.g.: | ||
: | : 255 - all teams (1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255) | ||
|- | |||
| <Size> | |||
| float x3 | |||
| volume | |||
|- | |||
| <TriggerVolumeId> | |||
| integer | |||
| used by BSL command "trigvolume_corpse ''ID''" | |||
|- | |||
| <ParentId> | |||
| integer | |||
| not used ? | |||
|- | |||
| <Notes> | |||
| string | |||
| space for 128 characters | |||
|- | |||
|valign="top"| <Flags> | |||
|valign="top"| flags | |||
| | |||
: OneTimeEnter - entry function called only once (otherwise called every time character enters the TV) | |||
: OneTimeInside - inside function called only once (otherwise called at every frame while character is in the TV) | |||
: OneTimeExit - exit function called only once (otherwise called every time character leaves the TV) | |||
: EnterDisabled - entry function disabled (can be enabled with "trigvolume_enable ''tv_name'' entry 1") | |||
: InsideDisabled - inside function disabled (can be enabled with "trigvolume_enable ''tv_name'' inside 1") | |||
: ExitDisabled - exit function disabled (can be enabled with "trigvolume_enable ''tv_name'' exit 1") | |||
: Disabled - all 3 functions disabled (master switch, can be enabled with "trigvolume_enable ''tv_name'' all 1") | |||
: PlayerOnly - only player characters can fire off the TV | |||
|} | |||
Revision as of 13:21, 22 August 2016
TRGV : Trigger Volumes (TVs) | ||
---|---|---|
XML
AKEV << Other file types >> CONS TMBD << Other BINA >> ONIE TRIG << Other OBJC >> SNDG |
general information
- BINACJBOTrigger Volume.oni is level specific. (It can be found in AE/AEInstaller/vanilla/levelX_Final.dat)
- The XML code on this page is based on onisplit v0.9.61.0
BSL support
show trigger activity
- debug_triggers = 1 shows tv event and what character enters, stays inside or leaves
Resetting the trigger volume
- trigvolume_reset (string tv_name) resets the TV to its preset state. The primary use of this is to re-enable "entry", "inside" or "exit" calls once the TV has been triggered (only necessary if the respective trigger-only-once flags are set of course). Note that some or all the TV functions are disabled at level load, you'll have to enable them manually after resetting the TV.
Removing corpses
- trigvolume_corpse (integer tv_id) removes all corpses inside the specified trigger volume.
file structure
<?xml version="1.0" encoding="utf-8"?> <Oni> <Objects> [...] </Objects> </Oni>
[...] means at least one trigger volume. Paste all tv data into there (this includes <TRGV Id="..."> and </TRGV> tag).
example
<TRGV Id="7383"> <Header> <Flags>Locked</Flags> <Position>-651.5666 -298 -633.4166</Position> <Rotation>0 0 0</Rotation> </Header> <OSD> <Name>trigger_volume_46</Name> <Scripts> <Entry>train_block2</Entry> <Inside></Inside> <Exit>block_path</Exit> </Scripts> <Teams>255</Teams> <Size>46 31 46</Size> <TriggerVolumeId>46</TriggerVolumeId> <ParentId>0</ParentId> <Notes></Notes> <Flags>PlayerOnly</Flags> </OSD> </TRGV>
start + size = end - 651.5666 + 46 = -605.5666 = x_blue_line_end - 298 + 31 = -267 = y_blue_line_end - 633.4166 + 46 = -587.4166 = z_blue_line_end
tags
tag | type | description |
---|---|---|
<?xml version="1.0" encoding="utf-8"?> | float, flag | Don't change this. |
<Oni> | - | XML root node |
<TRGV Id="..."> | integer | You can also use <TRGV> without the id parameter. |
<Header> | - | |
<Flags> | flag | Used in the past. |
<Position> | float x3 | TV is spawned at this xyz-position |
<Rotation> | float x3 | TV has this xyz-rotation (in degrees) |
<OSD> | - | |
<Name> | string | can have up to 63 characters |
<Scripts> | - | BSL functions; each can have up to 32 characters |
<Entry> | string | called up when character enters the TV |
<Inside> | string | called while character is inside the TV
This one is triggered at every frame (60 times per second) unless the trigger-only-once flag is set. Continuous triggering is typically needed for fire or gas damage. |
<Exit> | string | called up when character leaves the TV |
<Teams> | flags |
Every combination is possible. E.g.:
|
<Size> | float x3 | volume |
<TriggerVolumeId> | integer | used by BSL command "trigvolume_corpse ID" |
<ParentId> | integer | not used ? |
<Notes> | string | space for 128 characters |
<Flags> | flags |
|
Mod Tool addon
With OniTools.xsiaddon you can drag'n'drop BINACJBOTrigger Volume.oni into the viewport.
Add or remove TVs, edit position and rotation as if they were real objects. Change size by moving the polygons.
When ready, export the data as BINACJBOTrigger Volume.xml to a folder of your choice.