XML:BINA/OBJC/CONS: Difference between revisions

From OniGalore
< XML:BINA‎ | OBJC
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 13: Line 13:
* All consoles can be seen [http://ssg.oni2.net/subfold/consoles/ HERE.]
* All consoles can be seen [http://ssg.oni2.net/subfold/consoles/ HERE.]
* Activation tolerance: the player must have a distance of 10 world units or closer before he can use the console.
* Activation tolerance: the player must have a distance of 10 world units or closer before he can use the console.
* Activation tolerance: the player must have a facing of 1,22173 radians (ca. 70°) or less before he can use the console.





Revision as of 15:39, 4 October 2012

BINA/OBCJ/CONS: consols

Template:XMLModdingHints

The xml code on this page is based on onisplit v0.9.61.0

general information

  • Y value of "chr_debug_characters = 1" doesn't need to be changed.
  • Facing (Y rotation) needs to be changed by 180 degrees.
  • This console spawning doesn't include console geometry, see screenshot.
  • BINACJBOConsole.oni is level specific. (It can be found in edition/GameDataFolder/levelXX_... )
  • All consoles can be seen HERE.
  • Activation tolerance: the player must have a distance of 10 world units or closer before he can use the console.
  • Activation tolerance: the player must have a facing of 1,22173 radians (ca. 70°) or less before he can use the console.


XML structure

<?xml version="1.0" encoding="utf-8"?>
<Oni>
   <Objects>
       [...]
   </Objects>
</Oni>

[...] means at least one console. Paste all console data into there (this includes <CONS Id="..."> and </CONS> tag).


example

console_preview.png

       <CONS Id="8179">
           <Header>
               <Flags>Locked Gunk</Flags>
               <Position>-1354.927 45 860.053</Position>
               <Rotation>180.000015 0 180.000015</Rotation>
           </Header>
           <OSD>
               <Class>console0</Class>
               <ConsoleId>2</ConsoleId>
               <Flags>Active</Flags>
               <InactiveTexture>_con_INACTIVE</InactiveTexture>
               <ActiveTexture>_con_MTCOM_DISH</ActiveTexture>
               <TriggeredTexture>_con_MTC_DISHFLASH</TriggeredTexture>
               <Events>
                   <Script Function="fconsole_ok" />
               </Events>
           </OSD>
       </CONS>


tags

  • <Flags> :
Locked (means what in this case?) (hex: 1)
Gunk (means what?) (hex: 8)
  • <Position> : (console is spawned at this xyz-position)
  • <Rotation> : (console is spawned with this xyz-rotation (in degrees))
  • <Class>: console0 / console_alarm / console_data / ?
  • <ConsoleId> : (used by BSL commands like "console_deactivate ID")
  • <Flags> :
HEX=Dec/Flag
00 = (empty)(not active)
01 = 1 (unknown)
02 = 2 (unknown)
04 = 4 (unknown)
08 = InitialActive
09 = 9 (*)
10 = 16 (unknown)
20 = Punch (KONOKOconsole_punch.TRAM .. WTF O_o Seems to be a KONCOMcomb_p copy but slightly slower; I think it was used in a beta to crash the console via character-environment collision, shall we try to get it back?)
28 = InitialActive Punch
40 = IsAlarm
80 = 128 (unknown)
C0 = 192 (*)
EE = 238 (*)
* not tested, might screw everything, was only set to test the XML export
Multiple flags:
known flag and unknown flag are extracted as decimal number added together (see 9)
known flags are extracted as readable flags, separated by a space sign (see 28)
  • <InactiveTexture> : _con_ALARM_SLEEP / _con_USED / _con_used / _con_INACTIVE / (etc.)
  • <ActiveTexture> : _con_ALARM_SLEEP / _con_INFO / _con_MTC_2 / _con_mtc_stairs / _con_MTCOM_DISH / _con_MTCOM_DISH / (etc.)
  • <TriggeredTexture> : _con_ALARM_ON / _con_USED / _con_used / _con_MTC_DISHFLASH / (etc.) (custom textures should be possible)
  • <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" />
(You can use multiple events.)