Oni Central Forum

A Community-driven Forum discussing Bungie's Oni

You are not logged in.

#1 12/9/08 18:40

VitalFlame
Member

Characters

How do I Put Muro into another level to fight? But Just muro No one else.

Thanks,
-Vital

Offline

#2 12/9/08 20:34

Iritscen
Moderator

Re: Characters

We should have a tutorial for this on the wiki.  I don't see that we do, but I could be wrong.  Certainly this comes up often enough that it should be documented permanently.

Sorry, I can't answer your question, VF, but I know you can find the answer if you search the forum for this topic.


byproducts are fine, but where's the beef?

Offline

#3 12/9/08 21:39

EdT
Moderator

Re: Characters

Note these instructions are for Mac users.

Get the AE Tools Beta:
http://oni.bungie.org/community/forum/v … php?id=674

Put the app AETools and the folder AETools_Data, in your Oni folder.

Start AETools, click on the Export Tab, select the checkbox "Export as .xml file", then click on the button "Export .oni file".  Browse to the level19_Final folder and select the file BINACJBOCharacter.oni.

You will see in the Message Center box: "The file can be found at Oni/AETools_Data/XMLfiles" Go to that folder in the Finder and first rename it to BINACJBOCharacterLevel19.xml, now open the file in a text editor.

Search for muro_generic, you will see something like this:

<Object Id="8733" Type="CHAR">
            <Header>
                <Flags>0</Flags>
                <Position>-112.0837 1486 -2619.775</Position>
                <Rotation>0 171.3265 0</Rotation>
            </Header>
            <OSD>
                <Flags>NotInitiallyPresent Omniscient Boss</Flags>
                <Class>muro_generic</Class>
                <Name>Muro</Name>
                <Weapon />
                <Scripts>
                    <Spawn />
                    <Die>check_death2</Die>
                    <Combat />
                    <Alarm />
                    <Hurt />
                    <Defeated />
                    <OutOfAmmo />
                    <NoPath />
                </Scripts>
                <AdditionalHealth>0</AdditionalHealth>
                <Job>
                    <Type>None</Type>
                    <PatrolPathId>0</PatrolPathId>
                </Job>
                <Behaviors>
                    <CombatId>0</CombatId>
                    <MeleeId>30</MeleeId>
                    <NeutralId>0</NeutralId>
                </Behaviors>
                <Inventory>
                    <Ammo>
                        <Use>1</Use>
                        <Drop>0</Drop>
                    </Ammo>
                    <EnergyCell>
                        <Use>1</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>Low</Initial>
                    <Minimal>Low</Minimal>
                    <JobStarting>Low</JobStarting>
                    <Investigating>Low</Investigating>
                </Alert>
                <AlarmGroups>0</AlarmGroups>
                <Pursuit>
                    <Strong>4</Strong>
                    <Weak>1</Weak>
                    <StrongSeen>4</StrongSeen>
                    <WeakSeen>4</WeakSeen>
                    <Lost>0</Lost>
                </Pursuit>
            </OSD>
        </Object>

You will need to copy all this info to spawn Muro in another level.

Now go back to AETools, do the same process, this time for the level you want  to add Muro. Go back to the XMLfiles folder and open BINACJBOCharacter.xml in the text editor.

Go to the end of the file, the last 2 lines are:

</ObjectCollection>
</Oni>

Paste all the info about Muro right before the line "</ObjectCollection>" and save.

Go to the levelx_Final folder where you want to add Muro and backup the file "BINACJBOCharacter.oni" somewhere safe, be sure to note which level that file belongs to.

Go to AETools and select the Import tab.  There is a drop down menu with the words "Select the level in which you want to install the .oni file" next to it. So select that level.

Click the "Import source file" button and browse to the XMLfiles folder and select the file "BINACJBOCharacter.xml".

You should see the in the Message Center "Please rebuild levelx_Final. Now use the drop down menu right above the Message Center and "Select Level to rebuild"

Once that is done, you will have to deal with BSL scripting and that's another story...

Note to Iritscen, there is a tutorial on the wiki, but its using hex editing to add more characters. http://wiki.oni2.net/AE:Adding_spawnable_characters

Last edited by EdT (12/9/08 21:42)

Offline

#4 12/9/08 23:13

Gumby
Moderator

Re: Characters

If you are on Windows, I can help you, if you need me to...


Iritscen: roll
Iritscen: it's amazing this program even works
Gumby: i know
Iritscen: and that statement applies to my code, not just yours

Offline

#5 13/9/08 12:19

Iritscen
Moderator

Re: Characters

EdT wrote:

Note to Iritscen, there is a tutorial on the wiki, but its using hex editing to add more characters. http://wiki.oni2.net/AE:Adding_spawnable_characters

Ah, I see.  Some people may even prefer to do it by hex... but for those of us who want to use this method, the XML method, maybe we can make another tutorial.  You could just copy your post pretty much verbatim to a new page like AE:Adding_spawnable_characters_by_XML (and then technically the current page should be moved to AE:Adding _spawnable_characters_by_hex).  Except make the parts in your instructions where the user uses AETools optional so we are accommodating Windows users; those parts can say something like "use OniSplit to [yada yada], or if you are on a Mac, use AETools to [yada yada] more easily by clicking [yada yada]".  If I had the time, I would do it myself, but maybe if you have a few minutes at some point, you can do that, EdT.  Otherwise I will eventually get to it, so no worries.


byproducts are fine, but where's the beef?

Offline

#6 13/9/08 13:05

Gumby
Moderator

Re: Characters

"Some people may even prefer to do it by hex"

Haha, yeah right. I gave instructions to someone (loveOni maybe) in another topic using XML.

Really, if it doesn't make it too big, there should be one page with two sections. Otherwise one might get lost. tongue


Iritscen: roll
Iritscen: it's amazing this program even works
Gumby: i know
Iritscen: and that statement applies to my code, not just yours

Offline

#7 13/9/08 13:11

s10k
Member

Re: Characters

It's amazing how oni is now customizable! We can do now very interesting scripts with this XML files..  Maybe I could finish one that I began making in level II. wink

Offline

#8 13/9/08 14:13

Iritscen
Moderator

Re: Characters

Gumby wrote:

Really, if it doesn't make it too big, there should be one page with two sections. Otherwise one might get lost. tongue

Yeah, you're totally right.  Scratch what I said before and we'll just make one page with subheaders dividing the two methods from each other.


byproducts are fine, but where's the beef?

Offline

#9 13/9/08 16:37

VitalFlame
Member

Re: Characters

EdT wrote:

Note these instructions are for Mac users.

Get the AE Tools Beta:
http://oni.bungie.org/community/forum/v … php?id=674

Put the app AETools and the folder AETools_Data, in your Oni folder.

Start AETools, click on the Export Tab, select the checkbox "Export as .xml file", then click on the button "Export .oni file".  Browse to the level19_Final folder and select the file BINACJBOCharacter.oni.

You will see in the Message Center box: "The file can be found at Oni/AETools_Data/XMLfiles" Go to that folder in the Finder and first rename it to BINACJBOCharacterLevel19.xml, now open the file in a text editor.

I got lost after That Part.

Offline

#10 13/9/08 17:20

Iritscen
Moderator

Re: Characters

Were you able to find the text "muro_generic" in the XML file?  Which part was confusing, exactly?


byproducts are fine, but where's the beef?

Offline

#11 13/9/08 17:39

VitalFlame
Member

Re: Characters

No because there is so many texts. And I don't understand what to do from there.

Offline

#12 13/9/08 19:24

Iritscen
Moderator

Re: Characters

What you are doing is literally copying the part of level19_Final's data that adds Muro to that level, and pasting it into another level.  Each level has its own BINACBJOCharacter.oni file and you are just adding data from one of them to another.  You have to use the search function in your text editor to find "muro_generic", and that's the section that you want to copy (starting from the "Object Id" part).


byproducts are fine, but where's the beef?

Offline

#13 13/9/08 19:53

VitalFlame
Member

Re: Characters

Click the "Import source file" button and browse to the XMLfiles folder and select the file "BINACJBOCharacter.xml".

Click the "Import source file" button and browse to the XMLfiles folder and select the file "BINACJBOCharacter.xml".

when i do this part it sais in "Apple Script Error" Then "System.Xml.XmlException: Child element is not expected in this operation. file:///Applications/Oni ?/AETools_Data/XMLfiles/BINACJBOCharacter.xml Line 19, position 22.
  at System.Xml.XmlReader.ReadContentString (Boolean isText) [0x00000]
  at System.Xml.XmlReader.ReadElementContentAsString () [0x00000]
  at Oni.Xml.RawXmlImporter.Oni.Metadata.IMetaTypeVisitor.VisitString (Oni.Metadata.MetaString type) [0x00000]
  at Oni.Metadata.MetaString.Accept (IMetaTypeVisitor visitor) [0x00000]
  at Oni.Xml.RawXmlImporter.ReadFields (Oni.Metadata.Field[] fields) [0x00000]
  at Oni.Xml.RawXmlImporter.Oni.Metadata.IMetaTypeVisitor.VisitStruct (Oni.Metadata.MetaStruct type) [0x00000]
  at Oni.Metadata.MetaStruct.Accept (IMetaTypeVisitor visitor) [0x00000]
  at Oni.Xml.RawXmlImporter.ReadFields (Oni.Metadata.Field[] fields) [0x00000]
  at Oni.Xml.RawXmlImporter.Oni.Metadata.IMetaTypeVisitor.VisitStruct (Oni.Metadata.MetaStruct type) [0x00000]
  at Oni.Metadata.MetaStruct.Accept (IMetaTypeVisitor visitor) [0x00000]
  at Oni.Xml.ObjcXmlImporter.ReadCharacter () [0x00000]
  at (wrapper delegate-invoke) System.MulticastDelegate:invoke_void ()
  at Oni.Xml.ObjcXmlImporter.ReadObject () [0x00000]
  at Oni.Xml.ObjcXmlImporter.Import () [0x00000]
  at Oni.Xml.ObjcXmlImporter.Import (System.Xml.XmlReader reader, Oni.FileWriter writer) [0x00000]
  at Oni.Xml.XmlImporter.ReadObjectCollection () [0x00000]
  at Oni.Xml.XmlImporter.Import (System.String filePath, System.String outputDirPath) [0x00000]
  at Oni.Program.CreateFromXml (System.String[] args) [0x00000]
  at Oni.Program.Main (System.String[] args) [0x00000]  (1)"

Offline

#14 13/9/08 20:23

Gumby
Moderator

Re: Characters

Count down 19 lines and look for an error there. It looks like you tried to add an XML tag where there shouldn't be one.


Iritscen: roll
Iritscen: it's amazing this program even works
Gumby: i know
Iritscen: and that statement applies to my code, not just yours

Offline

#15 13/9/08 20:30

Iritscen
Moderator

Re: Characters

In other words, he didn't close a tag, I'm guessing.

VitalFlame, make sure that the text you copied starts with "<Object Id="8733" Type="CHAR">" and ends with the text "</Object>" that comes right before the line "<Object Id="8734" Type="CHAR">" in the first BINACJBOCharacter.oni file.


byproducts are fine, but where's the beef?

Offline

#16 13/9/08 20:50

VitalFlame
Member

Re: Characters

on wich one? Sorry Im stupid with these things. :l

Offline

#17 13/9/08 21:28

EdT
Moderator

Re: Characters

VF: Why don't you post the code that you pasted into the file and include a few lines before and after, so we can see what you did.

Offline

#18 13/9/08 22:39

VitalFlame
Member

Re: Characters

</Header>
            <OSD>
                <Flags>NotInitiallyPresent Omniscient</Flags>
                <Class>elite_hard_1</Class>
                <Name>GrifElite05</Name>
                <Weapon />
                <Scripts>
                    <Spawn />
                    <Die>final_round</Die>
                    <Combat />
                    <Alarm />
                    <Hurt />
                    <Defeated />
                    <OutOfAmmo />
                    <NoPath />
                </Scripts>
                <AdditionalHealth>0</AdditionalHealth>
                <Job>
                    <Type>None</Type>
                    <PatrolPathId>0</PatrolPathId>
                </Job>
                <Behaviors>
                    <CombatId>6</CombatId>
                    <MeleeId>21</MeleeId>
                    <NeutralId>0</NeutralId>
                </Behaviors>
                <Inventory>
                    <Ammo>
                        <Use>1</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>Low</Minimal>
                    <JobStarting>Low</JobStarting>
                    <Investigating>Medium</Investigating>
                </Alert>
                <AlarmGroups>0</AlarmGroups>
                <Pursuit>
                    <Strong>4</Strong>
                    <Weak>1</Weak>
                    <StrongSeen>4</StrongSeen>
                    <WeakSeen>4</WeakSeen>
                    <Lost>0</Lost>
                </Pursuit>
            </OSD>
        </Object>
    </ObjectCollection>
</Oni>

Offline

#19 13/9/08 22:42

Gumby
Moderator

Re: Characters

Where is the <Object> tag?


Iritscen: roll
Iritscen: it's amazing this program even works
Gumby: i know
Iritscen: and that statement applies to my code, not just yours

Offline

#20 14/9/08 13:58

VitalFlame
Member

Re: Characters

I dont know.

Offline

#21 14/9/08 15:39

paradox-01
Member

Re: Characters

You just missed a few lines.

<Object Id="11316" Type="CHAR">
            <Header>
                <Flags>0</Flags>
                <Position>-182.735886 1485 -2075.24</Position>
                <Rotation>180.001 173.673 180.001</Rotation>

            </Header>
            <OSD>
                <Flags>NotInitiallyPresent Omniscient</Flags>
                <Class>elite_hard_1</Class>
                <Name>GrifElite05</Name>
                <Weapon></Weapon>
                <Scripts>
                    <Spawn></Spawn>
                    <Die>final_round</Die>
                    <Combat></Combat>
                    <Alarm></Alarm>
                    <Hurt></Hurt>
                    <Defeated></Defeated>
                    <OutOfAmmo></OutOfAmmo>
                    <NoPath></NoPath>
                </Scripts>
                <AdditionalHealth>0</AdditionalHealth>
                <Job>
                    <Type>None</Type>
                    <PatrolPathId>0</PatrolPathId>
                </Job>
                <Behaviors>
                    <CombatId>6</CombatId>
                    <MeleeId>21</MeleeId>
                    <NeutralId>0</NeutralId>
                </Behaviors>
                <Inventory>
                    <Ammo>
                        <Use>1</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>Low</Minimal>
                    <JobStarting>Low</JobStarting>
                    <Investigating>Medium</Investigating>
                </Alert>
                <AlarmGroups>0</AlarmGroups>
                <Pursuit>
                    <Strong>4</Strong>
                    <Weak>1</Weak>
                    <StrongSeen>4</StrongSeen>
                    <WeakSeen>4</WeakSeen>
                    <Lost>0</Lost>
                </Pursuit>
            </OSD>
        </Object>

These tags marks the file end.

</ObjectCollection>
</Oni>

Last edited by paradox-01 (14/9/08 15:46)


Muffin button !

Offline

#22 11/10/08 6:55

RuthgerMiles
Member

Re: Characters

What do you mean? You instantely play muro instead of konoko?

Maybe with player models?


You play to much oni if: You paint your hair purple, call your little brother Muro and beats him up 3 times a day like this...

crazydolfightom4lk0.gif

Offline

Board footer

Powered by FluxBB