XML:BINA/OBJC/NEUT: Difference between revisions

From OniGalore
< XML:BINA‎ | OBJC
(+ 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