recursal/Fanatic-Fandom huggingface dataset:
Sora

**Sora** (ソラ, *Sora*) is the main protagonist of the Kingdom Keymasters series. He is an upbeat youth, who may seem simple-minded at times, but is very aware of the importance of his quest. He possesses a strong sense of justice and an unrelenting heart. At times, he is impulsive and quick to anger when defending his friends, but he is always sincere about what he says and does. He has been best friends with Riku and Kairi since their early childhood.

He lives on Destiny Islands with his best friends Kairi and Riku, and all three of them dream to venture from Destiny Islands to find out what lies beyond. Sora is also the original persona of his own Heartless and Roxas, the source of Xion's memories, and the carrier of Ventus's heart. Sora's name is derived from the Japanese word for "sky".

"*I know the Keyblade didn't choose me, and I don't care. I'm proud to be a small part of something bigger - the people it did choose. My friends. They are my power!*"

—Sora to Xigbar.

## Appearance & Biography

*Voice Actor*: Haley Osment (English), Miyu Irino (Japanese), Not Known (Italian), Not Known (Spanish), Not Known (German), Not Known (Finnish), Not Known (Korean), Not Known (French), Not Known (Latin American Spanish)
*Voice Actor (Young)*: Luke Manriquez (English), Takuto Yoshinaga (Japanese), Not Known (Italian), Not Known (Spanish), Not Known (German), Not Known (Finnish), Not Known (Korean), Not Known (French), Not Known (Latin American Spanish)

### Appearance

* Hair Color: Dark Brown
* Skin Color: Not Known
* Eye Color: Blue
* Age: Not Known
* Height: Not Known
* Weight: Not Known

## External links

* Sora *Wikipedia*
* Sora *Kingdom Hearts Wiki*
Osiris Nexus

The **Osiris Nexus** is a raid instance in the game.

## Achievements

* Looking into the Eyes of Evil: Destroy fifteen of Sadralus the Tainted's Tainted Eyes before they despawn in its interlude on Standard or higher.
* An Edge Ahead: Succeed in disarming Lo'kash the Arch Blade then defeat him on Standard or higher.
* She Speaks Solemnly: Hear the final song of the Divine Priestess during the Will of the All-Fallen and defeat it on Standard or higher.
	+ Malus No Malice: Defeat the Council of Malus after the members form a "Osiris Paragon" on Standard or higher.
	+ Closing the Door: Defeat Portal Augur Volstix after witnessing at least ten different worlds on Standard or higher.
	+ Staggering Presence: Defeat Xeidrar the Awakened without anyone losing their Knights' Bulwark on Standard or higher.
		- Father and Son: Force Vlaadsin to unleash the Wrath of Vlaadtu, then defeat him on Standard or higher.
		- Unspeakable: Force Vlaadsin to unleash Unspeakable Echoes, the Wrath of Vlaadtu, and the Mark of Evil on Standard or higher in a single fight.
Navmesh Generator for Python 3

These are the DICE Navmesh Generator scripts ported to Python 3:

https://drive.google.com/file/d/1ApnQ9bhlxGONiejKN3Ar4cK7JWbZ2HS0/view?usp=sharing

Why? Because the DICE Navmesh scripts were written for Python 2, which is no longer supported.

Note: This is for experienced navmeshes.

Changes:

+ Does not autorun the BF2editor. It is better to run the BF2Editor manually and run the commands to generate the the GTSdata and AI pathfinding commands manually in case there are any errors.

Before running the script, set up the map for AI and generate the GTSdata in the BF2 editor.

After running the script, modify the infantry and vehicle obj files as necessary and then run the fixnameshe.bat file.

Then start up the BF2editor and run the commands to create the Aipathfinding files.

Set up: install Python 3 into c:\Python30\

Unzip the Navmesh Generator files into BF2editor\navmesh folder

To start,

Edit CreateNavmesh3.bat and edit the following files to your mod and map names"

set mod\_name=edit\_bf2142

set level\_name=backstab

Other options are as follows:

rem True skips the automated process of starting up the editor.  I have not tested setting this to False with Python 3

set skipEditor=True

rem Cleans up the old data.  This is an advanced option. Change to False if you are rerun the navmesh generator and don't want to delete the GTSdata.

set cleanOldData=True

rem Default should be set to False.  Change to True if you need to rerun this without recopying the GTSdata

set restart=False

Then run CreateNavmesh3.bat
Create a Navmesh

Navmeshing Part 2

(Creating the navmesh)

Note: In this navmesh method, we are not going to use saveQuadNoP4.con and exportGTS.con. These are scripts that run some routines from the editor automatically. We are going to take care of this manually from the editor. This is because, if there are problems with the navmesh when we get to this step, the editor will display error messages in the command window that we won't be aware of if we did this automatically.

Now we're ready to make a navmesh.

Create Navmesh obj

Yes it's time to make the actual navmeshes! This process takes many hours depending on the size of the level and the complexity of the terrain and objects within it.

Note: If using a laptop, turn off the sleep mode! You don’t want to wake up the next morning and find that the process died during the night because the laptop went to sleep.

This process will create wavefront obj infantry and/or vehicle meshes that can be edited in any 3d modeling program that can import the obj format and handle up to 3 different materials for ground, shallow water, deep water.

There are two standard navmeshes: Infantry and vehicle. Infantry navmeshes are for whenever bots are not in a vehicle. Vehicle navmeshes are for non-air vehicles. Air vehicles use a non 3d pathmap called an aerialheightmap that is created by the editor and will be explained later.

Maya and 3dsmax have obj importers, but are expensive. Gmax is free but does not have an obj importer, but there are workarounds on the net to get Gmax to work with obj files. Blender is also free, but the obj importer does not handle the different materials correctly and therefore is only useful for editing ground only navmeshes.

Using the BFSPnavmesher.bat script. Make sure that the map/mod is correctly selected and displayed at the top of the screen and that the type of navmesh to create is correct (Infantry, Vehicle or both).

Note: It’s best to start with the infantry navmesh. It’s faster to create just one navmesh at a time. The infantry navmesh should be verified first before working on the vehicle navmesh. If you have sudden CTD problems during gameplay, that usually means a navmesh issue. It’s easier to track down the problem if you work on one navmesh at a time.

This process eats up a lot of your pc's resources for quite some time, so unless your are doing a small combat area, you may want to do this part over night while you sleep.

Brace yourselves, because after this it starts getting time consuming and tricky as we work with a 3dmodeling tool to get a vehicle and infantry navmesh fully working in-game.

Keep an eye on the output window. If you have notice that the numbers are not incrementing, then you will need to restart the proces..

Once you have a sucessfully completed navmesh created, now is the time to check it and make any edits to it that are needed before you t'fix' it.
How to make maps vanish in the map list

I found a trick to make all the standard BF42 maps vanish from the map list in a mod or just the maps that are not supported. The trick is to edit the lexicon.dat file using the editing tool included as one of the command line tools with the MDT and create a custom entry for each map BF42 name with no entry for each langauge variant like this example:

```
\*\*
Battleaxe
##

##

##

##

##

##

##

##

##

```
AImesh Export 3dsmax

Exporting the AImesh in 3dsmax

by Dnamro

## Tools Needed

* AImesh Import 3dsmax
* Create AI Meshes with 3dsmax9
* AIMesh Hierarchy Editing
* **AImesh Export 3dsmax**
* How to set up 3dsmax collision mesh schematic
* Understanding the AImesh (COL3)
* Troubleshooting the Aimesh
* Creating an AImesh from a multi-part object
* Creating an AImesh for a Multi-Story Building
* AImesh\_Trick\_for\_Problem\_Stairways
* BF2142 AImesh Creation Project

Finally, now we are going to export the AImesh! From the main 3dsmax window, select the BF2 tab and then BF2 export. You will have a window similar to this one below:

The first time you export, you need to setup the export location, so click the 'Run Setup' button in the upper right corner of this window. For exporting AImeshes, you only need to setup part 1, the output location. I use a work area to put all my exported Aimeshes. Since I do a lot of work in the navmesh folder, I just created an export subfolder there. So my export folder is set to:

C:/Program Files (x86)/Origin Games/Battlefield 2 Complete Collection/navmesh/export/

Set yours up to where it's convenient for you.

Now click the 'finish setup' button and your back to the BF2 export window.

I use the object's sub-folder path to keep the exported AImeshes into separate folders for the different mods that I work with. For medieval house tutorial, use BFH for Battlefield Hero. This will create a BFH subfolder in my export folder if it's not already there when the model is exported.

Uncheck all check boxes. There are no checkboxes that need to be checked for exporting. Click on the 'export object' button to export the object.

Now go to your export location to verify. For the medieval house tutorial, look for the export\object\BFH\medievalhouse\_02 folder. In there, open up the meshes folder where you will see the collision mesh and static mesh for the medieval house as shown below:

If not, go back and check the hierarchy. If you missed something in the hierarchy setup, it won't export.

Once you have the AImesh exported, your ready to get it into the editor. This is another tutorial.
Understanding the Obj format of a Navmesh

Understanding the Obj format of a Navmesh

This can be important if your having problems with importing or exporting with your 3dsmax software. You may need to be able to check that the obj file is in the correct format.

Navmeshes use the wavefront obj format, which can be ready by a text editor such as notepad.

The navmeshes are either Infantry.obj or Vehicle.obj files. These .obj files are a list of text entries.

> They will look something like this:
>
>
>
>
>
>
>
> mtllib materials.mtl
>
> v -980.250000 156.614441 -676.459412
>
> ...(etc)
>
> ...(etc)
>
> ...(etc)
>
> v 24.359142 25.200001 -26.198456
>
> g ground
>
> usemtl ground
>
> f 58729 60969 58731
>
> ...(etc)
>
> ...(etc)
>
> ...(etc)
>
> f 78595 78594 78596
>
> g ladder
>
> usemtl ladder
>
> g water
>
> usemtl water
>
> f 18410 8453 48225
>
> ...(etc)
>
> ...(etc)
>
> ...(etc)
>
> f 78586 78585 78587
>
> g deepwater
>
> usemtl deepwater
>
> f 70415 68484 47032
>
> ...(etc)
>
> ...(etc)
>
> ...(etc)
>
> f 78532 78531 78533
>
>
>
>
>
>
> **Note:**  There are lots of lines to define the vertices "v" and the faces "f".    Just a few entries are listed to show the syntax.  The "...(etc)" are to show there are lots more lines in the file.
>
>
>
>

>
>
>
>
> An .obj file defines several things:
>
>
>
> - the materials library and the file it uses to define the materials
>
> mtllib materials.mtl
>
>
>
> - All of the Vertices of the navmesh
>
> (a vertex is a point in space specified by the 3 coordinates)
>
> v # # #
>
>
>
> - All of the faces that make up the navmesh
>
> (a face is a triangle "made" from a material)
>
> f # # #
>
>
>
> - All of the Material Groups
>
> g ground
>
> g ladder
>
> g water
>
> g deepwater
>
>
>
> - All of the materials Used to make a "Face"
>
> usemtl ground
>
> usemtl ladder
>
> usemtl water
>
> usemtl deepwater
>
>
>
>
>
> An .obj file from BF2Editor will have each Material Group with the material directly below it because BF2Editor "gathers" all the entries of the same material together.
>
> i.e.
>
> g ground
>
> usemtl ground
>
>
>
>
>
> Every Face entry under a "usemtl" line all use the material at the top of the list.
>
> i.e.
>
> g ground
>
> usemtl ground
>
> f # # #
>
> ... (etc)
>
> f # # #
>
>
>
>
>
> [ A navmesh created by BF2Editor will never have any faces under the "ladder" material.
>
> [ DICE tried to get the bots to use ladders but ran into problems.
>
> [ Since the ladder material already existed in BF2Editor the Material Group for ladder (g ladder)
>
> [ and the "use material" entries for ladder (usemtl ladder) will always be created.
>
> [ But, to keep the bots from getting "stuck" DICE changed BF2Editor so that it would never create
>
> [ any faces with ladder material when it made a navmesh.
>
> [ Also, the bot AI code was changed so that if a bot touched a "ladder" it would "jump off" and go somewhere else.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
Mounting Custom Content in a Map

How to Mount Custom Content in a Map

By ImTheHeadHunder

Got a map you want to put some custom objects, or skins into? Well here's an easy way to do it!

First, package your custom stuff into an "objects.zip", or if you've got stuff that'd go into the common, or menu.zip, make a common, or menu.zip and put that stuff in those.

Then, make a "clientarchives.con", and "serverarchives.con", both with the line(/s) *"fileManager.mountArchive Levels/(name-of-map)/(name-of-.zip-file).zip Objects(or Common, or Menu if needed)"*, and put these 2 .con files into the server.zip. There ya go, now your map will have your custom stuff in it....

... But! My custom skins don't work! You'll have to add a custom texture suffix to the skin's name. So you'd have, for example, "ahe\_ah1z\_C\_(name-of-suffix-goes-here).DDS". Then go to the init.con of the map, and find the 2 lines, "LevelSettings.CustomTextureSuffix "(name-of-suffix-goes-here)"", and "texturemanager.customTextureSuffix "(name-of-suffix-goes-here)"", and put your custom texture suffix in them. The reason you need to do this, is because textures loaded by the map will not override textures loaded by the mod.

...hey wait a min, shouldn't the objects.zip be split up into a Objects\_server, and Objects\_client.zip? Well, no, they don't *need* to be. I just find it's easier to package everything into 1 .zip file, instead of 2....and it does work this way.
Setting Navmesh Materials in 3dsmax

**Setting Navmesh Materials in 3dsmax**

For minor edits to a Navmesh, the materials will normally not need to be edited. But, for major editing, it is easier to import a navmesh with the needed materials, then use the 'get material' eyedropper on it. set the colors as shown to make it easier to understand which material is which. A setting of 50% transparency is useful so that overlaps etc. are easier to spot.

(The image above shows the material editor in 3ds Max v 7)A useful tip for major editing in 3dsMax, is to add two special materials to your max materials library, called Default and Default2, The Default2 material is identical except for the colour-shift; to use for preopt and manifold objects, in order to have these and the navmesh both visible at the same time and still tell which object is which. Every time you import a new navmesh, get these materials from the library and apply Default to both the Infantry/Vehicle meshes and go on from there.To set this in 3ds Max,Open the Material Editor, and select any empty material slot. Name this material 'Default'   Change its type to Multi/Sub-Object. Change 'Set Number' to 3.

You should now see the three sub-materials we will use; one for each material type that navmeshes use - ground, water, and deep water.

Name these materials in that order so that their material IDs match the names:

1 is 'ground' - give this material a green colour.

2 is 'water' - make this material yellow.

3 is 'deepwater' - make this one blue.

One thing i find helpful is to make each of these materials 50% transparent - it has no effect whatsoever on the mesh itself, but makes it easier to make out when one piece of mesh is above another, like you may find with bridges, multi-story buildings etc.

Now clone the entire 'Default' material you just made, and call it 'Default2' Make the color of ID1 'ground' magenta.\*\* Make the color of ID2 'water' purple. Make the color of ID3 'deep water' cyan.

This second material is for applying to the preopt object if you need to import it, or for adding to a cloned piece of navmesh where it is important to tell the clone from the original on-screen. The colors for Default2 were chosen because they sit well with the colors in the Default material - sometimes they will each be on overlapping objects, and you will want to be able to discern which object has which material.

Now add both Default and Default2 to your Max material library.

You can use any colors you like, but to avoid confusion in this tutorial it would be better to use those colors suggested.
3dsMax Navmesh Import

>
>
>
>
>
>
> **3dsmax Navmesh Import**
>
>
> Edited by Dnamro
>
>
>
>
> These are the import settings as shown in these pics for 3dsmax7 supplied by [Clivewil].   3dsMax9 will be very similar.
>
>
>
>
>
>
>
>
>
>
>
>

> **Importing:**
>
>

> To start, open 3ds Max and once loaded, go to File>Import. Navigate to your map's output folder. The import directory can be configured so you don't have to browse through half your HDD to get to your files.
>
>

>
>
>

> Don't forget to select the file type to be .obj, otherwise you won't see your files.
>
>

> When you open the file, 3ds max will ask your for import settings.    Set them according to the settings below.
>
>

> Important - Materials Library's string needs to be typed in as 'materials.mtl
>
>

> Note:  The navmesh will appear as mirrored from the ground layout as in the BF2Editor.   This is because most 3d modeling systems use a different coordinate system.
>
>

>
> >
> > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
>
>
> >
> >
> >
> >
> >
> >
>
>

>
>
>
>
>
>
How to Make Custom Loadscreen Background for 2142

Add custom
loadscreen backgrounds for 2142 maps.

This
issue has come up before from people who have made custom bf2142 levels, so
after some research, I found out how to add custom loadscreen backgrounds for
2142 levels without effecting anything else in the mod. Normally the
briefing.png files (the loadscreen background) are stored in the
mods/bf2142/Menu\_Client.zip\External\FlashMenu\images\eor\#LevelNameHere#\briefing.png.
The blue is the file structure inside the zip btw.
Well, to add your screen without changing anything in the mod, create a
Menu\_Client.zip with your png in the right spot inside the zip. Put this file
in the levels folder.

I'm using Bloodgulch as an example here, a sweet map made by JONES.
Copy the ClientArchives.con for the mod to somewhere like the desktop.
Add this line to the very top (important!): fileManager.mountArchive
Levels/Bloodgulch/Menu\_Client.zip Menu
Add the modified ClientArchives.con to the server.zip for the level you're
editing.
Open up the init.con while you're inside the server.zip. Add the circled lines
in the pic below to the init.con and save it.

Done. Now when you load the level ingame, even in vanilla bf2142, you will have
your loadscreen/briefing backdrop.
Create a Destroyable Object

How to create a destroyable object in the Editor

NOTE !! If the object is not a vehicle or any other controllable object (PlayerControlObject) then it must be of the DestroyableObject type.  This is already set in Maya.

1. Make sure the object is a DestroyableObject, set in Maya

2. Open the object in the editor

3. Open the default tab in the Tweaker och click “IsDestructible”

4. Open the default tab and click in the box next to “NetworkableInfo”. Select “BasicInfo”. This gives the object a network component so that it can be viewed by clients.

5. Right-click on any of the tabs to bring up a list of components. (Comes in the form of a pop-up.) Select "Armor Component" from that list. Note that a new tab is then created, so called.

6. Open your new tab. "Armor Component". Here it is stated that the object has hit points, which materials are used to register damage from explosions and some other things that do not matter at this time.

7. Fill in the values ​​in the top three fields so that WreckHitpoints and / or HitPoints do not exceed MaxHitPoints. (If any of them do that it will be an error. In the best of worlds this would be right in the default setting. But now it is like this. Fill in for example 500. A tank has about 2000 HP in).

8. Click in the box next to "DefaultMaterial" and select "Blast\_sensitivity\_softobject" from the list. This indicates which damage modifier should apply to explosion damage. An extremely robust object can have "hard\_object" as a material, but it should then be in class with a tank.

9. Click in the box "CanBeRepairedAndDestroyed" if the object can be repaired with an engineer.

10. Click in the box ”CanBeDestroyed”.

11. Clear!
AImesh Import

Importing the AImesh in 3dsmax

by Dnamro

## Tools Needed

* **AImesh Import 3dsmax**
* Create AI Meshes with 3dsmax9
* AIMesh Hierarchy Editing
* AImesh Export 3dsmax
* How to set up 3dsmax collision mesh schematic
* Understanding the AImesh (COL3)
* Troubleshooting the Aimesh
* Creating an AImesh from a multi-part object
* Creating an AImesh for a Multi-Story Building
* AImesh\_Trick\_for\_Problem\_Stairways
* BF2142 AImesh Creation Project

Collision meshes can be imported by themselves, but in order to be able to export it, the standard mesh needs to be imported as well. This is a step by step tutorial on how to import collision meshes into 3dsmax9 using the BF2 import/export tool with the POE utilities update. The standard mesh is what you see in game. The collision meshes are used to ingame to determine collision detection from anything that runs into it during game play. The AImesh or collision mesh 3 (col3) is not used in game, but only in the creation of the navigation mesh or navmesh.

**Standard Mesh Import**

So, import the standard mesh first. First, select BF2 utilities from the BF2 menu in 3dsmax:

Then select mesh importer to import the standard mesh:

**Collision Mesh Import**

Now you are ready to import the collision meshes. Unforunately, the BF2 utilities doesn't support importing collison meshes. Fortunately, there are scripts available to handle this. Now your going to leave the BF2 tools because your going to run a seperate script to import the collison mesh.

From the Maxscript heading, select run script

This will launch the collision mesh importer utility. Keep the import scale set to 10.

Then select the collisionmesh file. This will import the collision meshes into 3dsmax. Now your ready to start editing and that is covered in another tutorial.
Navmesh Rules

Navmesh Rules

Okay, lets talk about the rules involved in a navmesh. If any one of these rules are broken, your navmesh will not work in the game and will cause a crash to desktop on load.

1.) Must be one island

This means just what it says. Because the navmesh is simply a 3d copy of the terrain in which it covers, it is easy to visualize it as an 'island.' There can not be two or more separate pieces of navmesh, or 'islands', in the level. I'll go into this in more depth as we work through the Mashtuur obj files in Maya.

An example of the main island, with a floating isolated island and an illegal 'manifold' polygon attached by only one vertice. These are very easily fixed in Maya. A poly or 'face' must always have one side connected to the mesh, never just one corner.

2.) Every Polygon must be a triangle.

By default, the navmesh generation process will never produce a poly that isn't a triangle, but it is worth noting that if you are creating extra mesh by hand, it must always be subdivided back to triangles. This will also be covered in depth later.

3.) No Manifold Poly's.

In layman's terms this is when a poly is attached by only one vertice to the main mesh like in the example picture to the right.

4.) No Floating vertices.

Also pretty rare in my experience and only really turn up if you follow the wrong processes when deleting and/or editing parts of your mesh. A vertice is just one of the little purple dots at the corner of each triangle in the picture. Just make sure there are none of these floating in space.

5.) Must be non-self-intersecting.

In laymen's terms - the mesh must never pierce itself. When dragging vertices around for an hour its quite easy for this to happen. As shown in the picture a vertice has accidentally been placed up through another face. So this is now classed as self intersecting.

BF2 does not take kindly to this sort of barbaric, face piercing behavior!

6.) No Double Edges, Vertices or Faces.

No double edges. See in the example how more than 2 faces share an edge. This is not allowed. Also, Double vertices are not allowed. A vertice must never be in the middle of an edge, it must always be a corner of a triangle.

7.) No Opposite Facing Normals

Another rare one but worth mentioning. This is when two faces are connected to each other but actually face in opposite directions. Also bad, and only really happens when you're up till 4am every night, eyes half closed and you are welding vertices together haphazardly with an almost drained rechargeable mouse, while in the midst of a micro-nap.

That about sums up what NOT to do to navmesh geometry. Most of these are caused by the mistakes of the user. The only ones that the navmesh generator usually gets wrong are floating islands (isolated poly's.) So with all that in mind, we're now going to jump in Maya and fix our first navmesh.
BF2 - BF2142 AI Tutorials

Q & A with DICE AI Developer

How to add Singleplayer Coop to BF2-2142 (WIP Overview, but the links are currently all broken)

New Video Tutorial: How to add AI to a map by Lt. Fred

**Navmeshing**

* Navmesh Editing Quick Overview by mschoeldgen
* Navmesh Editing Overview by Clivewil
* Getting Started with a Navmesh

* Navmesh rules

* Generating the Navmesh

* Setting up the editor for adding Singleplayer
* Navmesh Editing with 3dsmax
* Fixing the Navmesh
* Create a Navmesh
* Blender Battlefield Navmeshing Tips
* Packaging the map for Playtesting
* Navmesh testing tips by Joker
* Transplanting a Navmesh
* Navmesh a Long Wooden Bridge (By stickman)
* Understanding Navmesh Materials
* Understanding the Obj format of a Navmesh
* Navmeshing with the Preopt
* Import a Navmesh with Blender
* Import Heightmap for nameshing with 3dsmax
* Navmesh Transplant
* Creating a Custom AImesh (Example: Pathway to the Yellow Knive Titan Docking Bay)
* Operation Shingle Navmesh example
* Navmeshing Analysis
* Navmesh Generator for Python 3
* The state of Alternate Navmesh tools

**AIMeshes**

* AImesh Import 3dsmax
* Create AI Meshes with 3dsmax9
* AIMesh Hierarchy Editing
* AImesh Export 3dsmax
* How to set up 3dsmax collision mesh schematic
* Understanding the AImesh (COL3)
* Troubleshooting the Aimesh
* Creating an AImesh from a multi-part object
* Creating an AImesh for a Multi-Story Building
* AImesh\_Trick\_for\_Problem\_Stairways
* Tricks for AImesh interiors
* BF2142 AImesh Creation Project
* AImesh - Stairs vs. Ramps
* Analyzing the BF2 AIpathfinding Files

**AI Coding**

* Common AI Issues (WIP - Needs formatting cleanup)
* Dice Strategy Primer (For BF42, but most applies to BF2)
* Strategy Guide
* Weapon AI Templates Explained
* How to code a destructable bridge for AI
* Class Specific Bot Behaviors
* Improving bot pilots through AI Behavior Tweaks in BF2
* Bots and Weapon Accuracy
* **Using Common Handweapon AI**
* How to change bot's use of the special Handweapons
* Understanding the Coop Game Mode Limits
* AIBehaviors and the Navmesh
* Using BF2142 Autocontrolers
Remove Out of Bounds Areas on a Map

## Removing The Out Of Bounds Areas On A Map

***by Silversound***

If you want to make the out of bounds area on a map go away, simply load the level into Battlecraft and use the Material editor to remove the "outside of map" texture.

Change it to another material type and save the map as a copy.

Next extract the level .rfa from your new map and copy the "materialmap.raw"

Now pack the MaterialMap.raw into your server-side .rfa and test it out.

While this will not change the in game map, it will remove the boundries.

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

Here is an example to follow:

01: Open "DC\_LostVillage" from the DesertCombat directory in BattleCraft.

02: Save level as copy ...call it "My\_DC\_LostVillage".

03: Close DesertCombat "DC\_LostVillage".

04: Open "My\_DC\_LostVillage" in BattleCraft.

05: Edit the material map in BattleCraft.

06: Save "My\_DC\_LostVillage".

07: Open "My\_DC\_LostVillage" in WinRfa.

08: Browes to "MaterialMap.raw" in "My\_DC\_LostVillage" in WinRfa.

09: Extract the "MaterialMap.raw" from "My\_DC\_LostVillage" to your desktop.

10: Pack the "MaterialMap.raw" on your desktop into your Server-Side mod update.rfa for the original "DC\_LostVillage".

11: Upload and test.
How to Change BF2 Flags

**Changing flags in bf2**

Based on tutorial by Kano

This tutorial will explain where everything is you need to change, as it is a bit complicated.

If you do all your editing in Photoshop, save as a 8888 dxt5 with 13 mip maps and
alpha
You will need to grab the following files and edit the flags accordingly.

**Note:** The file locations listed refer to your location of Battlefield 2. Most are located in:

C:\Program Files\EA GAMES\Battlefield 2

However, this location could be different on your system.

**First the flags on the poles in game.**

\mods\bf2\Objects\staticobjects\common\textures\flags\_c.dds

Put in your mod in the same path as in bf2 after you have edited it in
Photoshop.

**Next the memeatlas this puts most of the little flags in the hud.**

\mods\bf2\menu\Atlas\MemeAtlas\_020.dds

Put in your mod in the same path as in bf2 after you have edited it in
photoshop.

**scoreboard Flags**

beyler

\mods\bf2\menu\HUD\Texture\Ingame\Flags\Icons\Hud\Score\Ch\
scoreBoard\_Flag.tga

\mods\bf2\menu\HUD\Texture\Ingame\Flags\Icons\Hud\Score\mec\
scoreBoard\_Flag.tga

\mods\bf2\menu\HUD\Texture\Ingame\Flags\Icons\Hud\Score\us\
scoreBoard\_Flag.tga

Put in your mod in the same path as in bf2 after you have edited it in
photoshop.

**Now the mini map.**

\mods\bf2\menu\HUD\Texture\Ingame\Flags\Icons\Minimap\Ch\ miniMap\_CP.tga

\mods\bf2\menu\HUD\Texture\Ingame\Flags\Icons\Minimap\mec\ miniMap\_CP.tga

\mods\bf2\menu\HUD\Texture\Ingame\Flags\Icons\Minimap\us\ miniMap\_CP.tga

\mods\bf2\menu\HUD\Texture\Ingame\Flags\Icons\Minimap\Ch\ miniMap\_CPBase.tga

\mods\bf2\menu\HUD\Texture\Ingame\Flags\Icons\Minimap\mec\ miniMap\_CPBase.tga

\mods\bf2\menu\HUD\Texture\Ingame\Flags\Icons\Minimap\us\ miniMap\_CPBase.tga

\mods\bf2\menu\HUD\Texture\Ingame\Flags\Icons\Minimap\Ch\ miniMap\_Flag.dds

\mods\mods\bf2\menu\HUD\Texture\Ingame\Flags\Icons\Minimap\mec\
miniMap\_Flag.dds

\mods\bf2\menu\HUD\Texture\Ingame\Flags\Icons\Minimap\us\ miniMap\_Flag.dds

Put in your mod in the same path as in bf2 after you have edited it in
photoshop

lastly the join flags and end of round flags can be found here

\mods\bf2\menu\External\FlashMenu\images\joingame

```
flag_ch.png

flagLarge_ch.png

hugeflag_ch.png

flag_mec.png

flagLarge_mec.png

hugeflag_mec.png

flag_eu.png

flagLarge_eu.png

hugeflag_eu.png

flag_us.png

flagLarge_us.png

hugeflag_us.png

```

these files are actually dds's that are renamed png
you can do the same or save them as png dosn't seem to matter.
put them in your mod in the menu\_client in same path as in bf2.

after that you will probable want to change the usmc,mec,china in the
Localization\English this is found in the English.utxt as stated above.
i you look above your see what your changing it's circled.
Editing the Soldiers Kit - SkinnedMesh

**Tutorial for editing the soldier's kit ('.skinnedmesh')**

by MDA\*COMBAYNEOR

Edited by Dnamro

Purpose: This tutorial is for kit editing (in this case replacing ERYX on the back AT-soldier from BF2:SF faction Spetznaz with RPG-26 Agleni from BF2:Project Reality. The AT-soldier will wear RPG-26 Agleni instead of the ERYX on the back.

Note: The author created the tutorial in his native language (Russian) and then translated it to English. Some of the screenshots contain some Russian language, mostly with the Windows screenshots, which I think are easy enough to figure out as is. Some of the screenshots had Russian words overwriting the image. I worked with the Author translate those for me (It's difficult to translate if you don't have all those letters on your keyboard). I cropped a lot of that out, if they were not necessary and to make easier to see the important parts. The others I replaced words with symbols (like "X" for wrong or bad and a "checkmark" for good or correct.

Format Notes: Anything that is an instruction for the user to perform an action is in this format:

* Do an action

## Tools needed:

- 3ds max( 3dsmax9 is used in this tutorial)

- 3dsMax BF2 Plugin tools

- Adobe Photoshop with plugin for ".dds" files or other tool for viewing and editing the textures

- BfMeshView for viewing the finished work.

- BF2Editor is also useful for viewing the static mesh.

Note: demo viewer in game with BattleDirector for third person is also useful for viewing the finished product

First, install the 3ds Max BF2 tools for your version of 3ds Max.

For install instructions: Bf2 Tools Setup For 3ds Max

For info on 3ds Max BF2 plugins: Comparison of 3dmodeling tools for Battlefield Modding

## Setup:

* In "c:/users/user/documents/3dsmax/scenes" create a new folder and name it "objects".

* In this folder unpack the folders "Soldiers" and "Kits" from Objects\_client.zip and Objects\_server.zip (from xpack folder(Battlefield 2:Special Forces).You can unpack this folder where you want, but, it is more convenient to unpack in 3dsmax folder "scenes" because this is the default folder for 3ds Max to open files.

3ds max Tips

.

If the BF2 3ds Max plugin was correctly installed, you will see "BF2" on the 3dsmax toolbar as shown below.(screenshot 2)

## 3ds Max Tips

Lets go over the common 3ds Max Tips that will be useful for kit editing.

"Select Objects" —-> the Select Objects windithe menu that pops up when you click on the RMB. Depending on the selected object, it will have more or less options.
(screenshot 4 and screenshot 5)

More options here:

"Right column" —-> This right column toolbar is where you will do most of your work. It is easier to work with if you expand it to show in two columns so you don't have to keep scrolling up and down in one collumn(screenshot 6)

"Delete(Del)" —-> delete button on the keyboard (not pictured). This is used to delete the selected object

"Mesh" —->

(screenshot 7)

Now we are ready to get to work on the kit mesh. For that go to part 2

Editing the Soldiers Kit - SkinnedMesh - Part 2
BF2 Editor Tips

**BF2 Editor Tips**

These are a few quick tips that are useful for making the most of the BF2 editor

* Hold down middle mouse button to 'look' around in the level.
* Use the 'W' 'A' 'S' and 'D' keys to move around the level, much like in the game. When used in conjunction with the middle mouse button you can 'fly' around the level to get to places you want to edit.
* Scrolling the mouse wheel forward will speed up your movement while scrolling it back will slow you down. (You will see the 'spd %' at the bottom of the editor for your current speed.
* You can change camera views in the "Camera" menu. Experiment with this, but the "Normal Mode" is the most useful.
* The 'Render' Menu allows you to turn things on and off in the map. For instance if you are placing objects on the ground, it is a good idea to turn on undergrowth and overgrowth to make sure you're not spawning something into a tree!

Here are the main toolset that a user should be familiar:

**Select tool.** Does it exactly what is says:

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

**Move tool.** Use this to select objects and move them in up/down, left/right, back/forward.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

**Rotate tool.** Rotates any object for its desired placement.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

**Combat Area Tool** - This tool defines the area of play. Select points around the map to form an outline and then connect back to the starting point.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
BF42 HOW TO EDIT MENUS

BF42 HOW TO EDIT MENUS

Updated: January 2004

In this tutorial, you will learn how to modify menus for Battlefield: 1942 and Battlefield: Vietnam
Menus for Battlefield: 1942 and Battlefield: Vietnam are a combination of textures, animations and sounds. Menus are defined in binary MemeFile 2.0 files, and stored in the menu.rfa archive file.
Requirements:
Full installed game of Battlefield: 1942 or Battlefield: Vietnam

Image File: BF42ME1.gif

Extract the file named "MainLogo" from the main game's menu.rfa archive to the mod's folder.

Open up MainLogo from your mod's menu folder with the menu editor.
Now select the first float value under the first ColorEffect item.
Change this float to 1.0 by typing in the edit text box at the top of the menu editor window
Now press Save in the menu editor then QuickPack the mod's menu folder to .rfa

Image File: BF42ME2.gif

At the game's main opening menu you will see the copyright text is now red in color (make sure to activate the mod).
Further editing of menus is best done by looking at existing menu structures in the editor, best learned by observation.

Image File: BF42ME3.PNG
Mapping Tips and Tricks

Mapping Tips and Tricks

by

### **OCTheEagle**

1: When changing the absolute positions of a object, don't use the delete key to delete a number because that will make the editor crash 80% of the time. Instead, use the backspace key in order to delete a number. (see screenshot below)

2: Rendering lightmaps on the highest (full) settings takes about 12 hours on a 1024x 2 map. This is dependant on the amount of objects included in the map. Medium settings take about 6 hours, low settings take about 1 a 2 hours.

3: Partially flying objects MAY cause the map to crash ingame if you or a bot tries to crawl underneath the building. Make sure all the corners of a building are connected with the ground.

4: When opening heightmapprimary.raw in photoshop, use the following settings:

- Channel counts = 1

- Depth = 16 bits

- Byte order = IBM pc

5: In order to get the carrier object into your map

- Open dalian plant map (made sure you extract the client.zip and server.zip first)

- Select all the carrier object pieces.

- Rightclick -> save object bundle

- In your map, rightclick on the place where you want the carrier to be placed

- Choose objectbundles and choose the carrier.

- Choose 'stamp' and then choose 'align' at the right side of the screen

- Voila, carrier!

6: Ambient effects will only work if you manually place the ambientobjects.con into your server.zip file (the editor doesn't do that).

7: Make a shortcut on your desktop so the editor automatically loads your custom map. The shortcut should look like something like this:

c:program filesea gamesBattlefieldF2BF2Editor.exe +loadmod bf2 +loadlevel MAPNAME

MAPNAME should be the name for your map.

Please note there's a little catch (using this method) with the overgrowth.

When you perform the following steps:

- Load the map using the specified shortcut

- Choose 'Render' -> 'draw overgrowth'

Then the overgrowth doesn't appear. To make them reappear you have to switch to terrain editor -> choose 'edit overgrowth' -> change a value from an overgrowth type (doesn't matter which one).

8: Render the FULL lightmap settings ONLY if you're sure that everything is on it's place. It's better if you choose medium settings first and if that's okay, do the full settings.

9: Rendering the full lightmap settings with primary and secundary selecterd, will make the water on the primary and surrounding maps look good.

10: Only make the navmesh if everything is done, changing/replacing objects after making a navmesh may make your map unstable. Making a navmesh takes about thesame time as rendering the full lightmaps.

11: Create a map with thesame settings as the map you're making called 'test'. . If you (for example) mess up the lightmapsettings then you can copy the lightmapsettings from the test map and overwrite the existing files in your selfmade map.
Changing Ticket Counts

Increasing Ticket Counts will make the game last longer.  Here is how to do it:

* Go into your my documents/Battlefield 2/Profiles/default folder
* Open your ServerSettings .CON file with Notepad.
* Scroll down till you find sv.ticketRatio 200
* Edit the number (in BOLD) to however high you want the tickets to be, the higher the count the longer the game will last.

* Save the changes.

* Then right click on the ServerSettings .CON file and click on "properties". On the bottom you will have the option to make the file \*Read Only\*. Click the Read only option and save.

Additional info:
In some maps the tickets are edited differently than the standard ticket counts. If you want to edit a specific map's ticket count, here's how:

browse to your mod/level folder as an example:
C:\Program Files\EA GAMES\Battlefield 2\mods\bf2\Levels

And open up the init.con file located in the level\server.zip archive of the map file.
Change the values in these lines to suit your needs:

```
gameLogic.setDefaultNumberOfTicketsEx 16 1 225
gameLogic.setDefaultNumberOfTicketsEx 16 2 225
gameLogic.setDefaultNumberOfTicketsEx 32 1 225
gameLogic.setDefaultNumberOfTicketsEx 32 2 225
gameLogic.setDefaultNumberOfTicketsEx 64 1 225
gameLogic.setDefaultNumberOfTicketsEx 64 2 225
gameLogic.setDefaultNumberOfTicketsEx 128 1 225
gameLogic.setDefaultNumberOfTicketsEx 128 2 225

```

To increase all maps in one go, look in the gamelogicinit.con file in the mod directory. In here are the lines ->

```

gameLogic.setDefaultNumberOfTickets 1 100
gameLogic.setDefaultNumberOfTickets 2 100

```

Increase those numbers to increase all maps tickets at once.
AImesh - Stairs vs. Ramps

So, when creating an AImesh, which is better to use Stairs or Ramps? Ramps can be a lot cleaner and easier to implement, It would seem to make sense that ramps would be easier bot to use as well. After all, ramps have a lot fewer faces, so they would be simpler and less likely to have any mesh issues.

However it turns out that the navmesh process works better with stairs than ramps. Ramp navmeshing is inconsistent. Stairs actually navmesh much more reliably. Steep stairs will also work, where a steep ramp might not.

A lot of times, the col2 can be cloned and cleaned up a little for the AImesh and it may have ramps. The col0 will have stairs, but it is usually more complicated overall than what is needed for the Aimesh. One way is to use the stairs from the col0.

To start, make a clone of col3 and then delete all the mesh except to the stairs. Clean up the stairs and then export to 3ds format. 3ds format is a generic format that keeps the size and position information, so it can be imported back into the scene and attached.

The following is a good example of a stair AImesh.  There are not long thin baces and its' all closed up.

The photo below shows three different stairs that will be used to demonstrate different methods and how the situation may dictate how much work needs to be done.

Looking at this stair mesh closely the stairs are not properly attached to the sides.   The sides can't just get deleted.  They are needed to keep the bots from trying to get to the stairs from the sides and run into the side rails.

One solution would be to attach the sides to the stairs properly, by creating new faces to connect each step. If this was a stand alone stairway, that would be the best way as it will work in most configurations that is is used.

Another solution,  since the the stairway is part of a building,and only the part of the sides is needed to block the bots trying to use the side of the stairs at ground level, but with the sides separate from the stairs.

This is a better picture of  another stairway:

And this is a closeup showing how the side rails are seperate from the stairway:
Outhesta

**Outhesta** is a continent located in northern Outhria, on the opposite side of the world. It is a large landmass filled with aeons of history. It appears in A Legend's Legacy: Risen Sun, where it is under the control of the Shard of the Sun, after seizing it from the Ghosts of Iron. During the primordial ages, Outhesta was the first created continent by the Absolutes, and was the birthplace of the Four Gods of Outhesta who fought in the most bloody conflict the world has ever seen.

During the Risen Sun storyline, the adventurers join allies to stop the Shard of the Sun's subjugation and fight to reclaim it from their clutches. However, during the events, the adventurers realize that the Shard of the Sun may not be the true threat, and that with the Evil One's return, they and the Shard share common enemies. It is also later discovered that the lands have never experienced temporal or spatial interference, after it was revealed that the Great Turnback only affected the lower half of Outhria.

## Zones

Names are tentative.

* Luxor Reach (140-142)
* Thestica (142-144)
* Skull-Lands (144-146)
* Shardlord's Scar (146-148)
* Pacemia (146-148)
* Alnaphadra (Max Level +)
* Impossia Isle (Max Level +)
* Soltopia (Max Level)
* Tears of a Goddess Mountains (148-150)
* Sinstrath Peaks (148-150)
* Vryllas (Final Zone)
Weapon Settings

> Open the tweak file for the weapon and you'll find this (RPK74 is the example):
>
>
>
>
>
> ObjectTemplate.deviation.setFireDev 0.8 0.4 0.02
>
> Recoil for standing, crouching, lying, that is your deviation will increase by this amount everytime you fire a bullet.
>
>
>
> ObjectTemplate.deviation.minDev 0.8
>
> Minimum deviation, deviation will never get less than this.
>
>
>
> ObjectTemplate.deviation.setTurnDev 0 0 0 0
>
> How much quick turning will affect deviation, not sure about the numbers.
>
>
>
> ObjectTemplate.deviation.setSpeedDev 4 0.6 0.6 0.1
>
> How much forward speed affects your deviation, probably max - min for unzoomed and zoomed mode.
>
>
>
> ObjectTemplate.deviation.setMiscDev 3 3 0.1
>
> I belive at least one of these mdifiers are for jumping.
>
>
>
> ObjectTemplate.deviation.devModStand 2
>
> ObjectTemplate.deviation.devModCrouch 1.5
>
> ObjectTemplate.deviation.devModLie 0.8
>
> Basic deviation for each pose.
>
>
>
> For changing the number of mags, go into the weapons tweak file and change this value:
>
>
>
> ObjectTemplate.ammo.nrOfMags 8
>
>
>
> To get more shots in each mag, change this line instead:
>
>
>
>
>
>
> ObjectTemplate.ammo.magSize 15
>
>