Jump to content

OBD talk:BINA/OBJC/CHAR: Difference between revisions

m
oncc ? ups. however, I can't add more so it time to move on
No edit summary
m (oncc ? ups. however, I can't add more so it time to move on)
Line 1: Line 1:
==Talk==
Ok, I'm going to ask a few dumb questions
Ok, I'm going to ask a few dumb questions
*How are these teams treated: SecurityGuard, Switzerland, Who are there friends and enemies?  
*How are these teams treated: SecurityGuard, Switzerland, Who are there friends and enemies?  
Line 82: Line 83:


[[User:Gumby|Gumby]] 18:39, 31 August 2008 (CEST)
[[User:Gumby|Gumby]] 18:39, 31 August 2008 (CEST)
==XML==
'''general information'''
* '''BINACJBOCharacter.oni''' is level specific. (It can be found in edition/GameDataFolder/level''XX''_... )
* See [[XML basic tutorial|HERE]] if you don't know how to convert an oni file into XML and vice versa.
* See [[OBD_talk:BINA/OBJC|HERE]] if you are searching for more general information such as how to handle object coordinates.
* (An alternative is [[OBD:AISA|AISA]], import not tested.)
'''XML structure'''
<?xml version="1.0" encoding="utf-8"?>
<Oni Version="0.9.28.0">
    <ObjectCollection>
        '''''[...]'''''
    </ObjectCollection>
</Oni>
'''''[...]''''' means at least one character. Paste all character data into there (this includes '''<font color="#0A0"><Object ...></font>''' and '''<font color="#0A0"></Object></font>''' tag).
'''example'''
        '''<font color="#0A0"><Object Id="10067" Type="CHAR"></font>'''
            <Header>
                <Flags>0</Flags>
                <Position>347.216736 756 202.2008</Position>
                <Rotation>0 114.94648 0</Rotation>
            </Header>
            <OSD>
                <Flags>IsPlayer</Flags>
                <Class>barabus</Class>
                <Name>barabus</Name>
                <Weapon></Weapon>
                <Scripts>
                    <Spawn></Spawn>
                    <Die></Die>
                    <Combat></Combat>
                    <Alarm></Alarm>
                    <Hurt></Hurt>
                    <Defeated></Defeated>
                    <OutOfAmmo></OutOfAmmo>
                    <NoPath></NoPath>
                </Scripts>
                <AdditionalHealth>0</AdditionalHealth>
                <Job>
                    <Type>Idle</Type>
                    <PatrolPathId>0</PatrolPathId>
                </Job>
                <Behaviors>
                    <CombatId>9</CombatId>
                    <MeleeId>25</MeleeId>
                    <NeutralId>0</NeutralId>
                </Behaviors>
                <Inventory>
                    <Ammo>
                        <Use>0</Use>
                        <Drop>0</Drop>
                    </Ammo>
                    <EnergyCell>
                        <Use>0</Use>
                        <Drop>0</Drop>
                    </EnergyCell>
                    <Hypo>
                        <Use>0</Use>
                        <Drop>0</Drop>
                    </Hypo>
                    <Shield>
                        <Use>0</Use>
                        <Drop>0</Drop>
                    </Shield>
                    <Invisibility>
                        <Use>0</Use>
                        <Drop>0</Drop>
                    </Invisibility>
                </Inventory>
                <Team>Syndicate</Team>
                <InitialAmmo>100</InitialAmmo>
                <Alert>
                    <Initial>Combat</Initial>
                    <Minimal>Lull</Minimal>
                    <JobStarting>Low</JobStarting>
                    <Investigating>Medium</Investigating>
                </Alert>
                <AlarmGroups>0</AlarmGroups>
                <Pursuit>
                    <nowiki><Strong>4</Strong></nowiki>
                    <Weak>1</Weak>
                    <StrongSeen>4</StrongSeen>
                    <WeakSeen>4</WeakSeen>
                    <Lost>0</Lost>
                </Pursuit>
            </OSD>
        '''<font color="#0A0"></Object></font>'''
You can add another character data block beneath an </Object> tag. (Well, add as much characters as you want.)
{{Table}}
!XML tag
!description
!value type / flags plus description
|-
|<?xml version="1.0" encoding="utf-8"?>
|
|
|-
|valign=top|<Oni Version="...">
| If onisplit exe is newer then extracted file then file cannot be converted back to *.oni
|
|-
|valign=top|<ObjectCollection>
|
|
|-
|valign=top|<Object Id="3860" Type="CHAR">
|Id doesn't matter and CHAR shouldn't become changed so leave them as they are.
|
|-
|<Header>
|
|
|-
|<Flags>
|unknown; usually 0
|
|-
|<Position>
|character is spawned at this xyz-position
|
|-
|<Rotation>
|character is spawned with this rotation
|
|-
|<OSD>
|
|
|-
|valign=top|<Flags>
|valign=top|determines some special properties
|
<!--: "IsPlayer" makes first character (in this file) into the character which is controlled by the player. (Usually not used with other flags.)
:: Multiple characters with "IsPlayer" makes it possible to change the player controlled character by using BSL commands, for example: "chr_delete(Muro);ai2_spawn(barabus)"
::: A delay between spawning the new and deleting the old player character can kick off a camera glitch.
:::: However, this became outdate when Mac engine was patched to be able using chr_set_class.-->
: IsPlayer (if you have two of them then delete one and spawn the other one at same time)
: RandomCostume (flag belongs to [[OBD_talk:ONCV|ONCV]])
: NotInitiallyPresent
: NonCombatant
: CanSpawnMultiple (needs WasSpawned)
: WasSpwaned (...)
: Unkillable (character won't loss more life points if it reaches 1, same as BSL command "chr_unkillable")
: InfiniteAmmo (Raiden: "You got enough ?" Snake points to his head. "Infinite ammo...")
: Omniscient (can't be knocked down)
: HasLSI (this character drops an level specific item like truck keys in [[CHAPTER_14_._DAWN_OF_THE_CHRYSALIS|level 19]])
: Boss (used for boss mode fights. makes the AI ignore this character unless there is nobody else around)
: UpgradeDifficulty (spawns a stronger enemy if you play on medium or hard)
: NoAutoDrop (doesn't drop "used" shield, "used" invisibility and LSI when killed)
|-
|<Class>
|ONCC name without file pre- and suffix. Interesting for BSL command "chr_set_class"
|
|-
|<Name>
|used by various BSL commands
|
|-
|<Weapon>
|character is spawned with weapon specified in here; weapon looked up by name (makes also custom weapons available)
|
|-
|valign=top|<Scripts>
|valign=top|independent from BSL main function
|
: <Spawn> (called when character is spawned)
: <Die> (called when character dies (health reaches 0); can work multiple times)
: <Combat> (called when character notices an enemy; works only once)
: <Alarm> (called when character is alarmed)
: <Hurt> (called when character is hurt for the first time; works only once)
: <Defeated> (called when character is "defeated" (health reaches 1); works only once)
: <OutOfAmmo> (called when character runs out of ammo (reloads a weapon with the last clip/cell); works only once, and the character must have the ammo at spawn-time)
: <font style="color:#777"><NoPath> (should be called when a character has trouble pathfinding, but isn't</font>)
|-
|valign=top|<AdditionalHealth>
|''main'' health is stored in ONCC, "additional health" will be added to that ''main'' health
|
|-
|<Job>
|
|
|-
|valign=top|<Type>
|
|
: None
: Idle
: <font color="#777">Guard (never used in Oni)</font>
: Patrol
: <font color="#777">Teambattle (never used in Oni)</font>
|-
|valign=top|<Behaviors>
|specified by IDs linking to melee, combat and neutral profile collection file
|
|-
|valign=top|[[OBD_talk:BINA/OBJC/CMBT|<CombatId>]]
|
|
: 0 (Stand_and_Fire)
: 1 (Murder)
: 2 (Shoot_And_Fight)
: 3 (Take_my_Big_Black_Stuff)
: 4 (Assault)
: 5 (Civilian)
: 6 (Pursuit)
: 7 (Group_battle)
: 8 (Watchman)
: 9 (Barabbas_TCTF)
: 10 (COMGUY)
: 11 (SuperNinja)
: 12 (Griffin)
: 13 (Mutant_Muro)
: 14 (Alarm Guard)
: 15 (Non-Combatant)
: 16 (Griffin_Final)
: 207 (Sniper)
: 208 (Sniper For Joe)
: 17 (Average_striker; new profile for AE)
|-
|<MeleeId>
|[[OBD:BINA/OBJC/MELE#All_profiles_sorted_by_ID|here are all melee IDs sorted by ID]]
|
|-
|<NeutralId>
|[[OBD:BINA/OBJC/NEUT|...]] (no overview so far)
|
|-
|<Inventory>
|
|
|-
|valign=top|<Ammo>
|
|
:<Use> (characters can uses such items by given amount; AI cannot use hypos)
:<Drop> (AI characters drops such items when defeated)
|-
|valign=top|<EnergyCell>
|
|
:<Use>
:<Drop>
|-
|valign=top|<Hypo>
|
|
:<Use>
:<Drop>
|-
|valign=top|<Shield>
|
|
:<Use>
:<Drop>
|-
|valign=top|<Invisibility>
|
|
:<Use>
:<Drop>
|-
|valign=top|<Team>
|
|
: Konoko
: TCTF
: Syndicate
: Neutral
: SecurityGuard
: RogueKonoko
: Switzlerland (is melee-immune)
: SyndicateAccessory
|-
|<InitialAmmo>
|ammo in weapon, percent value: 0 - 100, ''overload'' not tested
|
|-
|<Alert>
|
|
|-
|valign=top|<Initial>
|valign=top|initial alert level
|
:lull
:low
:medium
:high
:combat
|-
|valign=top|<Minimal>
|valign=top|minimal alert level
|
:lull
:low
:medium
:high
:combat
|-
|valign=top|<JobStarting>
|valign=top|alert level when starting a job
|
:lull
:low
:medium
:high
:combat
|-
|valign=top|<Investigating>
|valign=top|alert level when investigating
|
:lull
:low
:medium
:high
:combat
|-
|valign=top|<AlarmGroups>
|character will be alarmed by script command ai2_tripalarm(N) or alarm console; N can be 0 up to 31
|
|-
|valign=top|<Pursuit>
|[[CHAR#Less_basic_setup_-_Inventory.2C_team.2C_jobs.2C_alert.2Fpursuit|HERE]] are information about "Alert" and "Pursuit".
|
|-
|valign=top|<nowiki><Strong></nowiki>
|
|
: 0
: 1
: 2
: 3
: 4
|-
|valign=top|<Weak>
|
|
: 0
: 1
: 2
: 3
: 4
|-
|valign=top|<StrongSeen>
|
|
: 0
: 1
: 2
: 3
: 4
|-
|valign=top|<WeakSeen>
|
|
: 0
: 1
: 2
: 3
: 4
|-
|valign=top|<Lost>
|
|
: 0
: 1
: 2
: 3
: 4
|}
8,452

edits