XML:BINA/OBJC/TRGV
Jump to navigation
Jump to search
BINA/OBJC/TRGV: trigger volumes (TV)
general information
- BINACJBOTrigger Volume.oni is level specific. (It can be found in edition/GameDataFolder/levelXX_... )
XML structure
for onisplit v0.9.59.0
<?xml version="1.0" encoding="utf-8"?> <Oni> <Objects> [...] </Objects>
</Oni>
[...] means at least one trigger volumen. Paste all tv data into there (this includes <TRGV Id="..."> and </TRGV> tag).
example
used BSL commands in screen shot:
|
<TRGV Id="7383"> <Header> <Flags>1</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
- <Flags> : (unknown)
- <Position> : (a volume corner)
- <Rotation> : (xyz-rataion in degrees)
- <Name> : (can have up to 63 characters)
- <Scripts> : (BSL functions; each can have up to 32 characters)
- <Entry> : (called up when character enters the TV)
- <Inside> : (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> : (called up when character leaves the TV)
- <Teams>
- 1 - Konoko
- 2 - TCTF
- 4 - Syndicate
- 8 - Neutral
- 16 - SecurityGuard
- 32 - RogueKonoko
- 64 - Switzerland
- 128 - SyndicateAccessory
- (every combination is possible)
- 255 - all teams (1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255)
- <Size> : (volume)
- <TriggerVolumeId> : (used by BSL command "trigvolume_corpse ID")
- <ParentId> : ...
- <Notes> : (space for 128 characters)
- <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
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.