XML:BINA/OBJC/NEUT: Difference between revisions

From OniGalore
< XML:BINA‎ | OBJC
Jump to navigation Jump to search
(+ temp + cat // incomplete table style update)
(finishing the table style update)
Line 7: Line 7:
* The xml code on this page is based on onisplit '''v0.9.61.0'''
* The xml code on this page is based on onisplit '''v0.9.61.0'''
* '''BINACJBONeutral.oni''' is level specific. (It can be found in edition/GameDataFolder/level''XX''_... )
* '''BINACJBONeutral.oni''' is level specific. (It can be found in edition/GameDataFolder/level''XX''_... )
* Press control to talk with a character (if possible). The interaction depends on what id that character has.




Line 71: Line 72:


===tags===
===tags===
(Caution: change of table style in progress)
{| class="wikitable" width="100%"
{| class="wikitable" width="100%"
!width=150px| XML tag
!width=150px| XML tag
Line 86: Line 86:
|-
|-
|valign=top| <ObjectCollection>
|valign=top| <ObjectCollection>
|
| -
|
|
|-
|-
|valign=top| <NEUT Id="1853">
|valign=top| <NEUT Id="1853">
|Id doesn't matter here.
| integer
|
| Id doesn't matter here.
|-
|-
|<Header>
| <Header>
|
| -
|
|
|-
|-
|<Flags>
|valign=top| <Flags>
|  
|valign=top| flag
|
|
: None
: Locked
: PlacedInGame
: Temporary
: Gunk
|-
|-
|<Position>
| <Position>
| float
| float x3
| useless here
| x y z position, useless here
|-
|-
|<Rotation>
| <Rotation>
| float  
| float x3
| useless here
| x y z rotation, useless here
|-
|-
|<OSD>
| <OSD>
| -
| -
|
|
|-
|-
|<Name>
| <Name>
|
| char[32]
|
| set a name here to remember later what this behavior does
|-
|-
|<NeutralId>
| <NeutralId>
|used by [[XML:ONCC|ONCC]] and [[XML:BINA/OBJC/MELE|BINA/CJBO/MELE]]
| integer
|
| used by [[XML:BINA/OBJC/CHAR|BINA/OBJC/CHAR]] and [[XML:BINA/OBJC/MELE|BINA/CJBO/MELE]]
|-
|-
|valign=top|<Flags>
|valign=top| <Flags>
|valign=top| flag
|
|
|valign=top|
: None
*None
: NoResume
*NoResume
: NoResumeAfterGive
*NoResumeAfterGive
: Uninterruptible
*Uninterruptible
|-
|-
|<Ranges>
| <Ranges>
|
| -
|
|
|-
|-
|<Trigger>
| <Trigger>
|second larges range, e.g. 100
| float
|
| second larges range, e.g. 100
|-
|-
|<Talk>
| <Talk>
|shortest range, e.g. 40
| float
|
| shortest range, e.g. 40
|-
|-
|<Follow>
| <Follow>
|larges range, e.g. 200
| float
|
| larges range, e.g. 200
|-
|-
|<Enemy>
| <Enemy>
|third larges range, e.g. 70
| float
|
| third larges range, e.g. 70
|-
|-
|<Speech>
| <Speech>
|
| -
|
|
|-
|-
|valign=top|<Trigger>
|valign=top| <Trigger>
|valign=top|The actual talk.
|valign=top| char[32]
|valign=top|
|valign=top| The actual talk. <font style="color:#777777">OSBD</font>file<font style="color:#777777">.amb.oni</font> (without file pre-/suffix)
for example:
examples of such OSBD amb files:
*civfem_trigger
: civfem_trigger
*hey_konoko
: hey_konoko
*civmale1_trigger
: civmale1_trigger
*civmale2_trigger
: civmale2_trigger
*civmale3_trigger
: civmale3_trigger
|-
|-
|valign=top|<Abort>
|valign=top| <Abort>
|
|valign=top| char[32]
|valign=top|
|valign=top| <font style="color:#777777">OSBD</font>file<font style="color:#777777">.amb.oni</font> (without file pre-/suffix)
for example:
examples of such OSBD amb files:
*civfem_abort
: civfem_abort
*see_you_later
: see_you_later
*civmale1_abort
: civmale1_abort
*civmale2_abort
: civmale2_abort
*civmale3_abort
: civmale3_abort
|-
|-
|valign=top|<Enemy>
|valign=top| <Enemy>
|valign=top|You will be notified about enemies by the person you are talking to.
|valign=top| char[32]
|valign=top|
|valign=top| You will be notified about enemies by the person you are talking to. <font style="color:#777777">OSBD</font>file<font style="color:#777777">.amb.oni</font> (without file pre-/suffix)
for exampel:
examples of such OSBD amb files:
*civfem_enemy
: civfem_enemy
*what_the
: what_the
*civmale1_enemy
: civmale1_enemy
*civmale2_enemy
: civmale2_enemy
*civmale3_enemy
: civmale3_enemy
|-
|-
|<Script>
| <Script>
|
| -
|
|
|-
|-
|<AfterTalk>
| <AfterTalk>
|BSL function name, e.g. set_objective_3
| char[32]
|
| name of BSL function (that will be executed after the talk), e.g. set_objective_3
|-
|-
|<Rewards>
| <Rewards>
|You can get rewards for saving people. A reward can be a weapon, ammo, cells, hypos, shield, phase cloak, and LSI.
| -
|
| You can get rewards for saving people. A reward can be a weapon, ammo, cells, hypos, shield, phase cloak, and LSI.
|-
|-
|<WeaponClass>
| <WeaponClass>
|any weapon, file name without prefix ONWC and suffix .oni; for exampel "w6_vdg"
| char[32]
|
| any weapon, file name without prefix ONWC and suffix .oni; for exampel "w6_vdg"
|-
|-
|<Ammo>
| <Ammo>
|number of ammo clips
| integer
|
| number of ammo clips
|-
|-
|<EnergyCell>
| <EnergyCell>
|number of energy cells
| integer
|
| number of energy cells
|-
|-
|<Hypo>
| <Hypo>
|number of hypo sprays
| integer
|
| number of hypo sprays
|-
|-
|valign=top|<Other>
|valign=top| <Other>
|valign=top|combination possible
|valign=top| flag
|valign=top|
|valign=top| combination possible
* Shield
: Shield
* Invisibility
: Invisibility
* LSI
: LSI
|-
|-
|<DialogLines>
| <DialogLines>
|
| -
|
|
|-
|-
|<DialogLine>
| <DialogLine>
|
| -
|
| There can be multiple dialog lines.
|-
|-
|valign=top|<Flags>
|valign=top| <Flags>
|valign=top| flag
|
|
|valign=top|
: None
*None
: IsPlayer
*IsPlayer
: GiveItems
*GiveItems
: AnimOnce
*AnimOnce
: OtherAnimOnce
*OtherAnimOnce
|-
|-
|valign=top|[[XML:StNA#animation_types|<Anim>]]
|valign=top| [[XML:StNA#animation_types|<Anim>]]
|
|valign=top| integer
|valign=top|
| any standing anim should be valid
*0 (None)
: 0 (None)
*200 (Act_No)
: 200 (Act_No)
*201 (Act_Yes)
: 201 (Act_Yes)
*202 (Act_Talk)
: 202 (Act_Talk)
*203 (Act_Shrug)
: 203 (Act_Shrug)
*204 (Act_Shout)
: 204 (Act_Shout)
|-
|-
|<OtherAnim>
| [[XML:StNA#animation_types|<OtherAnim>]]
|
| integer
|
|
|-
|-
|valign=top|<SpeechName>
|valign=top| <SpeechName>
|
|valign=top| char[32]
|valign=top|
| <font style="color:#777777">OSBD</font>file<font style="color:#777777">.amb.oni</font> (without file pre-/suffix)
for example:
for example:
*talking
: talking
*civfem_gift_weapon
: civfem_gift_weapon
*civfem_gift_hypo
: civfem_gift_hypo
*civfem_gift_force_field
: civfem_gift_force_field
*civmale1_gift_weaponS
: civmale1_gift_weaponS
*civmale2_gift_weapon
: civmale2_gift_weapon
*civmale1_gift_ammo
: civmale1_gift_ammo
*civmale2_gift_ammo
: civmale2_gift_ammo
*civmale3_gift_ammo
: civmale3_gift_ammo
*civmale1_gift_hypoS
: civmale1_gift_hypoS
*civmale2_gift_hypo
: civmale2_gift_hypo
*civmale3_gift_hypo
: civmale3_gift_hypo
*civmale1_gift_force_field
: civmale1_gift_force_field
*civmale2_gift_force_field
: civmale2_gift_force_field
*civmale3_gift_force_field
: civmale3_gift_force_field
*c03_12_06civ1
: c03_12_06civ1
*c03_12_07civ1
: c03_12_07civ1
*c03_12_08tctffag1
: c03_12_08tctffag1
*c03_12_09tctffag2
: c03_12_09tctffag2
|}
|}


{{XML}}
{{XML}}

Revision as of 16:17, 10 November 2012

NEUT : Neutral behavior collection
XML modding tips
  • See HERE to start learning about XML modding.
  • See HERE if you are searching for information on how to handle object coordinates.
  • See HERE for some typical modding errors and their causes.
XML.png
XML

AKEV << Other file types >> CONS

TMBD << Other BINA >> ONIE

MELE << Other OBJC >> PART

switch to OBD page


general information

  • The xml code on this page is based on onisplit v0.9.61.0
  • BINACJBONeutral.oni is level specific. (It can be found in edition/GameDataFolder/levelXX_... )
  • Press control to talk with a character (if possible). The interaction depends on what id that character has.


file structure

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

[...] means at least one neutral behavior block. Paste all a behavior data into there (this includes <NEUT Id="..."> and </NEUT> tag).

example

       <NEUT Id="1853">
           <Header>
               <Flags></Flags>
               <Position>146.41217 -48.8205528 1027.55249</Position>
               <Rotation>0 0 0</Rotation>
           </Header>
           <OSD>
               <Name>Give VDG Pistol (CivFem)</Name>
               <NeutralId>2</NeutralId>
               <Flags>NoResumeAfterGive</Flags>
               <Ranges>
                   <Trigger>100</Trigger>
                   <Talk>40</Talk>
                   <Follow>200</Follow>
                   <Enemy>70</Enemy>
               </Ranges>
               <Speech>
                   <Trigger>civfem_trigger</Trigger>
                   <Abort>civfem_abort</Abort>
                   <Enemy>civfem_enemy</Enemy>
               </Speech>
               <Script>
                   <AfterTalk></AfterTalk>
               </Script>
               <Rewards>
                   <WeaponClass>w6_vdg</WeaponClass>
                   <Ammo>0</Ammo>
                   <EnergyCell>0</EnergyCell>
                   <Hypo>0</Hypo>
                   <Other></Other>
               </Rewards>
               <DialogLines>
                   <DialogLine>
                       <Flags></Flags>
                       <Anim>0</Anim>
                       <OtherAnim>0</OtherAnim>
                       <SpeechName>civfem_gift_weapon</SpeechName>
                   </DialogLine>
                   <DialogLine>
                       <Flags>GiveItems</Flags>
                       <Anim>202</Anim>
                       <OtherAnim>0</OtherAnim>
                       <SpeechName></SpeechName>
                   </DialogLine>
               </DialogLines>
           </OSD>
       </NEUT>


tags

XML tag content type description
<?xml version="1.0" encoding="utf-8"?> flag, float Don't change this.
<Oni> -
<ObjectCollection> -
<NEUT Id="1853"> integer Id doesn't matter here.
<Header> -
<Flags> flag
None
Locked
PlacedInGame
Temporary
Gunk
<Position> float x3 x y z position, useless here
<Rotation> float x3 x y z rotation, useless here
<OSD> -
<Name> char[32] set a name here to remember later what this behavior does
<NeutralId> integer used by BINA/OBJC/CHAR and BINA/CJBO/MELE
<Flags> flag
None
NoResume
NoResumeAfterGive
Uninterruptible
<Ranges> -
<Trigger> float second larges range, e.g. 100
<Talk> float shortest range, e.g. 40
<Follow> float larges range, e.g. 200
<Enemy> float third larges range, e.g. 70
<Speech> -
<Trigger> char[32] The actual talk. OSBDfile.amb.oni (without file pre-/suffix)

examples of such OSBD amb files:

civfem_trigger
hey_konoko
civmale1_trigger
civmale2_trigger
civmale3_trigger
<Abort> char[32] OSBDfile.amb.oni (without file pre-/suffix)

examples of such OSBD amb files:

civfem_abort
see_you_later
civmale1_abort
civmale2_abort
civmale3_abort
<Enemy> char[32] You will be notified about enemies by the person you are talking to. OSBDfile.amb.oni (without file pre-/suffix)

examples of such OSBD amb files:

civfem_enemy
what_the
civmale1_enemy
civmale2_enemy
civmale3_enemy
<Script> -
<AfterTalk> char[32] name of BSL function (that will be executed after the talk), e.g. set_objective_3
<Rewards> - You can get rewards for saving people. A reward can be a weapon, ammo, cells, hypos, shield, phase cloak, and LSI.
<WeaponClass> char[32] any weapon, file name without prefix ONWC and suffix .oni; for exampel "w6_vdg"
<Ammo> integer number of ammo clips
<EnergyCell> integer number of energy cells
<Hypo> integer number of hypo sprays
<Other> flag combination possible
Shield
Invisibility
LSI
<DialogLines> -
<DialogLine> - There can be multiple dialog lines.
<Flags> flag
None
IsPlayer
GiveItems
AnimOnce
OtherAnimOnce
<Anim> integer any standing anim should be valid
0 (None)
200 (Act_No)
201 (Act_Yes)
202 (Act_Talk)
203 (Act_Shrug)
204 (Act_Shout)
<OtherAnim> integer
<SpeechName> char[32] OSBDfile.amb.oni (without file pre-/suffix)

for example:

talking
civfem_gift_weapon
civfem_gift_hypo
civfem_gift_force_field
civmale1_gift_weaponS
civmale2_gift_weapon
civmale1_gift_ammo
civmale2_gift_ammo
civmale3_gift_ammo
civmale1_gift_hypoS
civmale2_gift_hypo
civmale3_gift_hypo
civmale1_gift_force_field
civmale2_gift_force_field
civmale3_gift_force_field
c03_12_06civ1
c03_12_07civ1
c03_12_08tctffag1
c03_12_09tctffag2