XML:BINA/OBJC/DOOR: Difference between revisions

xml tags table
(+ temp + cat)
(xml tags table)
Line 5: Line 5:


===general information===
===general information===
* The xml code on this page is based on onisplit '''v0.9.61.0'''
* The xml code on this page was tested with onisplit version 0.9.61.0 and 0.9.82.0
* '''BINACJBODOOR.oni''' is level specific. (It can be found in edition/GameDataFolder/level''XX''_... )
* '''BINACJBODOOR.oni''' is level specific. (It can be found in edition/GameDataFolder/level''XX''_... )
* All original doors and their locklights can be seen [http://ssg.oni2.net/subfold/doors/doors.htm HERE.]
* All original doors and their locklights can be seen [http://ssg.oni2.net/subfold/doors/doors.htm HERE.]
Line 39: Line 39:
                 <Events>
                 <Events>
                     <ActivateTurret TargetId="1" />
                     <ActivateTurret TargetId="1" />
                    <Script Function="door_test" />
                 </Events>
                 </Events>
             </OSD>
             </OSD>
         '''<font color="#0A0"></DOOR></font>'''
         '''<font color="#0A0"></DOOR></font>'''


===script function example===
### in BSL file
func door_test
{
dmsg "[r.door test]"
dmsg "target turret is set active and BSL function is triggered"
dmsg "by any character which comes into specified radius"
}


===tags===
===tags===
: <Class> name of [[XML:DOOR|DOOR]] class file
{| class="wikitable" width=100%
: <Texture1> can be used to replace the texture of DOOR's embedded M3GM
!width=280px| tag
 
!width=60px| type
===OSD flags===
! description
None
|-
InitialLocked
| <?xml version="1.0" encoding="utf-8"?>
InDoorFrame
| float, flag
Manual
| Don't change this.
DoubleDoor
|-
Mirror
| <Oni>
  OneWay
| -
  Reverse
|
  Jammed
|-
  InitialOpen
| <Objects>
| -
|
|-
| <DOOR Id="...">
| int32
| Use any number. No need to be unique. -- For level import you can also use <Door>.
|-
| <Header>
| -
|
|-
| <Flags>
| flag
| Object flags. Used in the past, ignore them. -- Optional tag for level import.
|-
| <Position>
| float x3
| X Y Z position. For original doors use Y=0 if ground plane is 0. -- Optional tag for level import but should be used in any case.
|-
| <Rotation>
| float x3
| X Y Z rotation. chr_debug_characters = 1 shows the player's facing which can be used for door's Y value. X and Z should be 0. -- Optional tag for level import.
|-
| <OSD>
| -
|
|-
|valign="top"| <Class>
|valign="top"| char[63]
| <font color="#777777">DOOR</font>file<font color="#777777">.oni</font> <font color="#777777">(don't use file prefix/suffix)</font> For level import use absolute or relative file path, e.g. ''doors/TCdouble.oni''
|-
| <DoorId>
| int16
| Can be used with [http://ssg.oni2.net/commands.htm#door BSL commands]. -- Optional tag for level import but should be used in any case.
|-
| <KeyId>
| int16
| Ignore it. -- Optional tag for level import.
|-
|valign="top"| <Flags>
|valign="top"| flag
| Optional tag for level import.
: None
: InitialLocked
:: door is initially locked (at level load or after calling reset_mechanics)
: InDoorFrame
:: ? (no visible effect)
: Manual
:: require player to press '''action''' to open door
: DoubleDoor
:: a door with two parts
: Mirror
:: mirrors door along its Z axis
: OneWay
:: one side locked, other side unlocked
: Reverse
:: one side unlocked, other side locked
: Jammed
:: freeze door (can't open/close)
: InitialOpen
|-
|valign="top"| <nowiki><Center></nowiki>
|valign="top"| float x3
| X Y Z. <nowiki><Center></nowiki> Y is usually 15 units above door's <Position> Y. -- Optional tag for level import but should be used in any case.
|-
|valign="top"| <SquaredActivationRadius>
|valign="top"| float
| Optional tag for level import; default value is 900.
|-
|valign="top"| <Texture1>
|valign="top"| char[63]
| <font color="#777777">TXMP</font>file<font color="#777777">.oni</font> <font color="#777777">(don't use file prefix/suffix)</font> Used to replaces the doors default texture coming with the M3GM. -- Optional tag for level import.
|-
| <Texture2>
| char[63]
| <font color="#777777">TXMP</font>file<font color="#777777">.oni</font> <font color="#777777">(don't use file prefix/suffix)</font> Can be used with double doors. -- Optional tag for level import.
|-
| <Events>
| int16
| You can use multiple events. -- Optional tag for level import.
|-
|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
|
|}


===events===
<Script Function="''calling_this_BSL_function''" />
<ActivateTurret TargetId="''Id''" />
<DeactivateTurret TargetId="''Id''" />
<ActivateConsole TargetId="''Id''" />
<DeactivateConsole TargetId="''Id''" />
<ActivateAlarm TargetId="''Id''" />
<DeactivateAlaram TargetId="''Id''" />
<ActivateTrigger TargetId="''Id''" />
<DeactivateTrigger TargetId="''Id''" />
<LockDoor TargetId="''Id''" />
<UnlockDoor TargetId="''Id''" />


{{XML}}
{{XML}}
8,018

edits