XML:BINA/OBJC/TRGV: Difference between revisions
Jump to navigation
Jump to search
Paradox-01 (talk | contribs) mNo edit summary |
Paradox-01 (talk | contribs) mNo edit summary |
||
Line 7: | Line 7: | ||
'''XML structure''' | '''XML structure'''<br>for onisplit v0.9.59.0 | ||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
<Oni | <Oni> | ||
< | <Objects> | ||
'''''[...]''''' | '''''[...]''''' | ||
</ | </Objects> | ||
</Oni> | |||
'''''[...]''''' means at least one trigger volumen. Paste all tv data into there (this includes '''<font color="#0A0">< | '''''[...]''''' means at least one trigger volumen. Paste all tv data into there (this includes '''<font color="#0A0"><TRGV Id="..."></font>''' and '''<font color="#0A0"></TRGV></font>''' tag). | ||
'''example''' | '''example''' | ||
Line 28: | Line 28: | ||
* chr_location 0 ''x y z''</small> | * chr_location 0 ''x y z''</small> | ||
|} | |} | ||
'''<font color="#0A0">< | '''<font color="#0A0"><TRGV Id="7383"></font>''' | ||
<Header> | <Header> | ||
<Flags>1</Flags> | <Flags>1</Flags> | ||
Line 46: | Line 46: | ||
<ParentId>0</ParentId> | <ParentId>0</ParentId> | ||
<Notes></Notes> | <Notes></Notes> | ||
<Flags> | <Flags>PlayerOnly</Flags> | ||
</OSD> | </OSD> | ||
'''<font color="#0A0"></ | '''<font color="#0A0"></TRGV></font>''' | ||
start + size = end | start + size = end | ||
Line 81: | Line 81: | ||
* <Notes> : (space for 128 characters) | * <Notes> : (space for 128 characters) | ||
* <Flags> | * <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''' | '''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. | :'''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. |
Revision as of 13:40, 27 August 2011
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.