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 2: | Line 2: | ||
{{Template:XMLModdingHints}} | {{Template:XMLModdingHints}} | ||
{| border=0 cellspacing=20 cellpadding=0 align=center | |||
| The xml code on this page is based on onisplit '''v0.9.61.0''' | |||
|} | |||
'''general information''' | '''general information''' | ||
Line 7: | Line 10: | ||
'''XML structure''' | '''XML structure''' | ||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
<Oni> | <Oni> | ||
Line 30: | Line 33: | ||
'''<font color="#0A0"><TRGV Id="7383"></font>''' | '''<font color="#0A0"><TRGV Id="7383"></font>''' | ||
<Header> | <Header> | ||
<Flags> | <Flags>Locked</Flags> | ||
<Position>-651.5666 -298 -633.4166</Position> | <Position>-651.5666 -298 -633.4166</Position> | ||
<Rotation>0 0 0</Rotation> | <Rotation>0 0 0</Rotation> | ||
Line 56: | Line 59: | ||
'''tags''' | '''tags''' | ||
* <Flags> : | * <Flags> | ||
:: Locked | |||
* <Position> : (a volume corner) | * <Position> : (a volume corner) | ||
* <Rotation> : (xyz-rataion in degrees) | * <Rotation> : (xyz-rataion in degrees) |
Revision as of 12:37, 6 April 2012
BINA/OBJC/TRGV: trigger volumes (TV)
The xml code on this page is based on onisplit v0.9.61.0 |
general information
- BINACJBOTrigger Volume.oni is level specific. (It can be found in edition/GameDataFolder/levelXX_... )
XML structure
<?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>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
- <Flags>
- Locked
- <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.