recursal/Fanatic-Fandom huggingface dataset:
BF42 Pathmapping Part 3C

**Death Zone**

All maps have a limited game area. While some maps allow game play right to the edges of the maps, other maps have defined “Out of Bounds” areas, and in the case of Aberdeen this area is close to the exit of each base. We want to ensure our Bots don't fry so we will want to path out this area.

Image File: PM3\_32.png

If you are familiar with Material maps and you can drive your image editor, you may find it easier to do a little image editing later, using a colour mask to Copy the out of bounds area and Paste it into the pathmap.
Of course, i have a little cheat as an alternative method, there is a bit of guess work and to'ing & fro'ing, but its not much to worry about.
Using the Material Mode [F3] we can view the out of bounds area, it is shown here with the Red gridlines.

Image File: PM3\_33.png

!!! TIP : THICKER GRID !!!
You can change the Width of the gridlines, by editing a line in Ed42's INIT.CON
editor.display.gridLinesWidth 8
You will need to restart Ed42 to enable the change

Then by swapping between the Material Mode and the Texture Mode you can path out the required area with a nice fat brush.

Image File: PM3\_34.png

Don't stress about being pixel perfect with this, as long as you cover the main area in front of each base decently, a rough job around the rest of the level will do fine.

Image File: PM3\_35.png

The Single Player Layout
You can use this copy of the level to Edit the layout of the Solider Spawns, Object Spawns & the Control Points. While in fact you are editing the conquest mode, once you have made and saved the changes in the copy of this level. Browse to the conquest folder of this level, and copy the .con files that are appropriate, to the Singleplayer folder of your addon or Original level. Eg: If you change a Soldier Spawn position, you will only need to copy SoldierSpawns.con.
So a quick trip to the Centre Control Point is order.
O dear ... there is nothing but problems for bots here. A flag they cannot Capture, and spawn positions that will the Bots are stuck.

Image File: PM3\_36.png

Its a shame to butcher a level like this, like this ... it just doesn't deserve it, but thats the price you pay for Co-op Support.

Image File: PM3\_37.png

In this case i have made changes to the Control Points & the Soldier spawns, so funnily enough the files i will need to copy to the Singleplayer folder of the addon are ControlPoints.con & SoldierSpawns.con

Ensure you have saved all the changes we have made, then close Editor 42

Continue to the Last part of the tutorial here:

BF42 Pathmapping Part 3D
How to Make bots use Specific Classes

First of all let me just say that the AI game engine makes a decision on what class to spawn based on the current threat on the map. More tanks means more AT spawns. But this can be influenced some what by changing the strategic strengths of the AI class kit templates in the objects\items\basekit\ai\objects.con file. I have not messed around with this much. Perhaps someone with more experience in this area can give us some suggestions. Here is what the standard templates look like:

```

rem *** KitTemplates ***

rem *** Medic ***

kitTemplate.create Medic Medic

kitTemplate.setStrategicStrength 0 1

kitTemplate.setStrategicStrength 1 1

kitTemplate.setBattleStrength Infantry 6.0

kitTemplate.setBattleStrength LightArmour 3.0

kitTemplate.setBattleStrength HeavyArmour 1.0

kitTemplate.setBattleStrength NavalArmour 0.0

kitTemplate.setBattleStrength Submarine 0.0

kitTemplate.setBattleStrength Air 0.0

rem *** Engineer ***

kitTemplate.create Engineer Engineer

kitTemplate.setStrategicStrength 0 1

kitTemplate.setStrategicStrength 1 2

kitTemplate.setBattleStrength Infantry 4.0

kitTemplate.setBattleStrength LightArmour 4.0

kitTemplate.setBattleStrength HeavyArmour 3.0

kitTemplate.setBattleStrength NavalArmour 0.0

kitTemplate.setBattleStrength Submarine 0.0

kitTemplate.setBattleStrength Air 0.0

rem *** AT ***

kitTemplate.create AT AT

kitTemplate.setStrategicStrength 0 2

kitTemplate.setStrategicStrength 1 2

kitTemplate.setBattleStrength Infantry 2.0

kitTemplate.setBattleStrength LightArmour 8.0

kitTemplate.setBattleStrength HeavyArmour 4.0

kitTemplate.setBattleStrength NavalArmour 0.0

kitTemplate.setBattleStrength Submarine 0.0

kitTemplate.setBattleStrength Air 0.0

rem *** Assault ***

kitTemplate.create Assault Assault

kitTemplate.setStrategicStrength 0 1

kitTemplate.setStrategicStrength 1 1

kitTemplate.setBattleStrength Infantry 8.0

kitTemplate.setBattleStrength LightArmour 3.0

kitTemplate.setBattleStrength HeavyArmour 1.0

kitTemplate.setBattleStrength NavalArmour 0.0

kitTemplate.setBattleStrength Submarine 0.0

kitTemplate.setBattleStrength Air 2.0

rem *** Scout ***

kitTemplate.create Scout Scout

kitTemplate.setStrategicStrength 0 2

kitTemplate.setStrategicStrength 1 1

kitTemplate.setBattleStrength Infantry 4.0

kitTemplate.setBattleStrength LightArmour 0.0

kitTemplate.setBattleStrength HeavyArmour 0.0

kitTemplate.setBattleStrength NavalArmour 0.0

kitTemplate.setBattleStrength Submarine 0.0

kitTemplate.setBattleStrength Air 0.0

```

Note: The AI uses these values as modifiers to its calculation, and 0 does not mean no chance. So, setting the AT class to all zero values will not prevent bots from selecting the class.
Standard Weapon Kit reference

* 1 Is Equal to The Items Respective Item Slot # In Game, Only One of Each # Item Can Be in a slot at any given time.

So a Kit with Two "5" Items Will not work in a Load Out - Â Unless you were to change one of the "5" Item # to another #
making sure all load outs in other Factions did not have Duplicates in there Load outs aswell.

Just Remember any Item # Changed to new # takes that # in Other Load Outs Aswell.

--To change Items Slot # Locate the Tweak File In .... \Weapons\Handheld\Whatever Item-Weapon you want to change
Open the Tweak file for that Weapon, Locate "ObjectTemplate.itemIndex 3" and change the # to your new desired # Â

Knife
1 - KNI\_KNIFE
-------------------------------------Kit Items
5 - ammokit
6 - defibrillator
5 - medikit
6 - Wrench
5 - at\_mine - Cannot Be Changed Hard Coded to Engeneer -
-------------------------------------Rocket Launchers
4 - CHAT\_ERYX
4 - USATP\_predator
-------------------------------------Assault Weps
3 - CHRIF\_Type85
3 - chrif\_type95
3 - RURIF\_AK47
3 - RURIF\_AK101
3 - rurrif\_ak74u
3 - RURIF\_Bizon
3 - USRIF\_G3A3
3 - usrif\_g36c
3 - USRIF\_M4
3 - usrif\_m16a2
3 - usrif\_m24
3 - USRIF\_MP5\_A3
3 - usrif\_sa80

3 - RURIF\_GP25 - Weapon
4 - RURGL\_GP25 - Grenade Extension
3 - RURIF\_GP30 - Weapon
4 - RURGL\_GP30 - Grenade Extension
3 - USRIF\_M203 - Weapon
4 - USRGL\_M203 - Grenade Extension

Machine Guns
3 - rulmg\_rpk74
3 - RULMG\_PKM
3 - USLMG\_M249SAW
3 - chlmg\_type95
-------------------------------------Sniper Weps
3 - USSNI\_M82A1
3 - rurif\_dragunov
3 - USSNI\_M95\_Barret
3 - chsni\_type88
-------------------------------------Pistols
2 - rupis\_baghira
2 - rupis\_baghira\_silencer
2 - chpis\_qsz92
2 - chpis\_qsz92\_silencer
2 - USPIS\_92FS
2 - uspis\_92fs\_silencer
-------------------------------------Shot Guns
3 - chsht\_protecta
3 - USSHT\_Jackhammer
3 - usrif\_remington11-87
3 - RUSHT\_Saiga12
3 - chsht\_norinco982
-------------------------------------Grenade Types
5 - usmin\_claymore
4 - ushgr\_m67 - Grenade
N/A - c4\_detonator
5 - c4\_explosives
4 - hgr\_smoke
-------------------------------------Extra Sloted Items
6 - SIMRAD
-------------------------------------OTHER
9 - ParachuteLauncher
N/A - silencer
N/A - supply\_crate
3dsMax Navmesh Export

>  Make sure that you have the proper hierarchies before exporting.
>
>

* **Understanding Hierarchies**

> **Exporting:**
>
>

> Go to File>Export and save over the file you opened before as .obj, 3ds max will ask you for export settings, set them according to these:
>
>

>
>
>
>
>

>
>
>
>
>

> **Material.mtl file**
>
>

> It is important to understand the material.mtl file relationship to the navmesh obj file. This should be created automatically when saving the file. This file defines the key materials used in a navmesh for ground, water, or ladder. If your having problems with the next step of "Fixing the Navmesh", this file should be checked. Go to your output folder and open the navmesh you edited (Vehicle or Infantry.obj) with Notepad. It will open a huge wall of text, but may also open it in a nice tidy column like shown. On top you should see a word 'mtllib'. If you don't see the word 'materials.mtl', copy the 'materials.mtl' after it, leaving one space and save as shown below. This file will link to the materials.mtl file. If one was not created, copy it from another infantry.obj or vehicle.obj file.
>
>

> CODE Example:
>
>

```
mtllib materials.mtl

```

```
v -59.514591 52.233906 307.700012

v -139.699997 39.055779 276.724274

```

For more on Materials used in Navmeshing go here:
* **Understanding Navmesh Materials**
AIMesh Hierarchy Editing

Exporting the AImesh in 3dsmax

by Double\_13

## 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

Before we can export the building the hierachy needs to be changed.
A more detailed explanation can be found here

How to set up 3dsmax collision mesh schematic

The simpliest way is explained in the bottom 2 images

* First you move the \_nonvis to the correct folder (this can be done by drag/dropping)

The crossed-out red nodes can be deleted, and nonvis\_ linked to the object under lod0.

* You should end up with something like this:

With this modification you can now export the AImesh using the following tutorial.

AImesh Export 3dsmax
SAI example 1

beginrem

This example will show three strategies to illustrate

the manner in which an SAI Script is put together. Each

strategy will be assigned to both teams

Symbols (The quotes are literal) :

"-"   Difference

">-" DifferenceGreater

"<-" DifferenceSmaller

"/"   Quotient

">/" QuotientGreater

"</" QuotientSmaller

endrem

rem ------------ THE CONDITIONS ------------------------

rem -= Check if there is at least one enemy control point

aiStrategy.createConstantCondition enemyHasAtLeastOneControlPoint Crisp ">-" Enemy ControlPoint 1

aiStrategy.setConditionStrength Required

rem -= Check if enemy has no control points =-

aiStrategy.createConstantCondition enemyHasNoControlPoints Crisp "-" Enemy ControlPoint 0

aiStrategy.setConditionStrength Required

rem -= Check if there is at least one neutral area =-

aiStrategy.createConstantCondition atLeastOneNeutral Crisp ">-" Friendly NumberOfNeutralAreas 1

aiStrategy.setConditionStrength Required

rem -= Check if there are no neutral areas  =-

aiStrategy.createConstantCondition noNeutrals Crisp "-" Friendly NumberOfNeutralAreas 0

aiStrategy.setConditionStrength Required

rem  --------- The PREREQUISITES  -----------------------

aiStrategy.createPrerequisite attackTheEnemyPrereq

aiStrategy.addCondition enemyHasAtLeastOneControlPoint 5.0

aiStrategy.createPrerequisite attackTheNeutralsPrereq

aiStrategy.addCondition atLeastOneNeutral 5.0

aiStrategy.createPrerequisite defendTheMapPrereq

aiStrategy.addCondition enemyHasNoControlPoints 2.5

aiStrategy.addCondition noNeutral 2.5

rem ------------ THE STRATEGIES -------------

aiStrategy.createStrategy attackTheEnemy

aiStrategy.Aggression 0.9

aiStrategy.NumberOfAttacks 2

aiStrategy.NumberOfDefences 0

aiStrategy.setStrategicObjectsModifier ControlPoint 10.0 Neutral

aiStrategy.setStrategicObjectsModifier ControlPoint 20.0 Hostile

aiStrategy.setPrerequisite attackTheEnemyPrereq

aiStrategy.createStrategy attackTheNeutrals

aiStrategy.Aggression 0.9

aiStrategy.NumberOfAttacks 2

aiStrategy.NumberOfDefences 0

aiStrategy.setStrategicObjectsModifier ControlPoint 20.0 Neutral

aiStrategy.setStrategicObjectsModifier ControlPoint 10.0 Hostile

aiStrategy.setPrerequisite attackTheNeutralsPrereq

aiStrategy.createStrategy defendTheMap

aiStrategy.Aggression 0.75

aiStrategy.NumberOfAttacks 0

aiStrategy.NumberOfDefences 3

aiStrategy.setStrategicObjectsModifier ControlPoint 10.0 Owned

aiStrategy.setPrerequisite defendTheMapPrereq

rem ----------- ASSIGN THE STRATEGIES TO BOTH TEAMS ------------------

ai.addSAIStrategy 1 attackTheEnemy

ai.addSAIStrategy 1 attackTheNeutrals

ai.addSAIStrategy 1 defendTheMap

ai.addSAIStrategy 2 attackTheEnemy

ai.addSAIStrategy 2 attackTheNeutrals

ai.addSAIStrategy 2 defendTheMap
BF42 and BFV Modding Tutorial Index

## **DICE Tutorials**

* An Introduction to AI in Battlefield 1942
* How to Set Up Vehicles for the AI in Battlefield 1942
* DICE Strategy Writing Primer
* BF42 HOW TO EDIT MENUS
* How to Add Handweapons to Battlefield 1942
* BF42 MDT Damage System
* BF42 Add a Land Vehicle

## **Adding SP/COOP to a Map**

* BF42 Adding AI - Part 1 (Understanding the file Structure - Updated by Dnamro)
* BF42 Understanding the AI - Part 2 - Strategic Areas (updated by Dnamro)
* BF42 Pathmapping Part 1 Broken down as follows:
	+ BF42 Pathmapping Part 1 (Understanding the Pathmap fiiles)
	+ BF42 Pathmapping - Part 1-B (Making the Pathmaps viewable)
	+ BF42 Pathmapping - Part 1-C (Editing the Pathmaps in Editor 42)
	+ BF42 Pathmapping - Part 1-D (Making the Pathmaps)
* BF42 Pathmapping Part 2 (Manually Pathmapping Slopes - Not needed anymore )
* BF42 Pathmapping Part 3 Broken down as follows:
	+ BF42 Pathmapping Part 3 (Pathing objects in Editor 42)
	+ BF42 Pathmapping Part 3B (Ed42 Object Pathing Continued )
	+ BF42 Pathmapping Part 3C (Pathing out the combat area and touching up slopes)
	+ BF42 Pathmapping Part 3D (Pathmap Final Conversions)
* AI Behaviors Explained
* Landing Craft AI Explained
* Creating Landing Zones for Boat AI
* Strategy Modifiers
* How to Make bots use Specific Classes

## **Botinator Tutorials**

The Botinator is a tool used to add singleplayer support to BFVietnam and BF1942 maps

* Fixing the Botinator problems
* Explaining the Botinator Strategic Area problem

Tutorials by 4centsShy

## **Mapping**

* BF42 Mapping Tips
* BF42 Map Coordinate System Overview
* Fixing the Loadbar and Precache
* ED42 Keyboard Shortcuts
* Remove Out of Bounds Areas on a Map
* How to create Bomb Craters
* Spawn Point Tutorial
* How to add a Smoke Screen to a Map
* How to Add Spawn Points
* Convert BF2 maps to BF1942

## **Coding**

* Complete HUD Resource Guide
* How to create working AP mine fields
* Spawn Point Tutorial
* Add Player Spawn Point to a vehicle
* Useful Debugging Commands
* Heightmaps Explained
* How to Make Working AP mines
* How to make maps vanish in the map list
* Changing Vehicle Performance BF42
* Coding an Exploding Vehicle
* Create CTF Gamemode
* How to Add Repair Points
* Improving BF42 Chopper AI
* How to Modify BF42 Weapon settings
* BF42 Enable Vehicle Arty Spotting
* SOUNDSCRIPTS

## **Tools**

* Genpathmaps Guide
* **Setting up BF42 plugins for 3ds max**
Collison mesh Export Trick

**Collison mesh Export Trick in 3dsmax**

**By Dnamro**

Creating working exportable
collision meshes can sometimes be troublesome and  it may be easier to use an existing object
that has working collision mesh as a template..

This tutorial assumes you know how
to create a collision mesh.  It's a
shortcut and you should understand how to create a regular collision mesh
before using this tutorial.   So, if you
need to, check out this collision mesh tutorials first and then come back:

Now that you understand how to
create a collison mesh, your ready to learn a shortcut.  First load the
standardmesh object in 3dsmax.   So for
this example, we are going to be creating a collision mesh for a rocket.

Export it into a wavefront object
using the 3dsmax export tool to use later for importing.

So the template object needs to be
something simple like a crate.    Find a
template object and load it.   Select one
of the existing collision meshes:

***Note:  You will need to import***
the standard mesh object, as you can't export without it

Now import the exported obj file
from before.

type in **materials.mtl** in the
materials Library field as below

The imported object needs to be
attached to the existing collision mesh.
Select the simplest collision mesh.
In this case I selected the Col2 or Col3 mesh.   The simpler the mesh the better.

Edit the select the crate and then
select the attach tool on the right hand side

... and the select the rocket
to  complete the action.  The
purpose is to give the imported object the same material properties as the
existing object.   Improperly set up material properties can cause
the collision meshes to fail to export at all.   This bypasses this
problem because the material properties are copied to imported object.

Now change to face selection and
select the crate and delete it.

Leaving just the rocket.    Optimize the rocket if needed.

Once the new collision mesh is
ready, select the schematic tool.

delete the other collision meshes
and clone this one to replace each of the others.

Note:  The AImesh/col3 mesh is
only needed for creating navmeshes. but there usually needs to be a Col0, Col1
and Col2.  Col 0 is for projectile collisions, 1 is for vehicle collisions
and 2 is for Soldier collisions.

 Now you are ready to export.

The collision mesh can not be
exported seperately, but must be exported as part of the whole object, which
includes the standardmesh, collision mesh files and the textures.  For a
high poly object, this can take a few minutes.    Check your
exported folder and you should have the standardmesh and the collision mesh
files.  Note that only one collision mesh file is created regardless of
how many col0 - col 3 objects your created.   Now you can take this
exported collision mesh file and transfer it into your object's mesh
folder.   Note that the collision mesh goes in the objects server zip
file while the standard mesh and textures go in the objects client zip file.
The server only needs  collision meshes
while the players only need the standard mesh.
Shield Vigilantes

The Shield Vigilantes were a mysterious five-man team of shield knights, who would join duelyard servers and target players that they believed have done an injustice to the community.

All five shield knights would use shield exploits to their full potential, and would strategically block the opponents attack with one shield knight, while the other four would attack.

Some say that it was Stouty and his old clan Rat Boys, others say that it was Sir Shield and four others that he trained.

On the 18th of November, 2015, Croteam and his team were attacked by three Shield Vigilantes

The Shield Vigilantes disappeared out of nowhere, and their identities remain a mystery to this day.
How to Add Repair Points

***by toolazy2p***

In some of the maps, the hangars don't repair like they are supposed to. To fix this, you need to add a repair point to the location of the hangar.

First, find the coordinates for the hangar. This can be done using BC42 or searching the StaticObjects.con in the map rfa. Once you have found them, all you nee to do is create a new object spawn in the ObjectSpawns.con file with the hangar's coordinates. Here are the names of the objects you can add:

```
rem *** repairs all air vehicles ***
Object.create AirplaneRepairpoint
Object.absolutePosition x/z/y
Object.rotation 0/0/0

rem *** repairs opposition air vehicles ***
Object.create Airplane1Repairpoint
Object.absolutePosition x/z/y
Object.rotation 0/0/0

rem *** repairs coalition air vehicles ***
Object.create Airplane2Repairpoint
Object.absolutePosition x/z/y
Object.rotation 0/0/0

```

This worked fine on the server without adding the repairpoint object to the ObjectSpawnTemplates.con. However, while repairing at an added repair point in-game, the wrench icon doesn't show up. There may be a way to fix this, but as long as the hangar does what it's supposed to then I don't care if there is an icon or not.
3dsmax navmesh import - Export settings

>
>
>
>
>
>
>
>
> **3dsmax Navmesh Import**
>
>
> Edited by Dnamro
>
>
>
>

>
>
>
> These are the import/export 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.
>
>

>
>
>

> [3dsmax\_import\_select (1).png]
>
>

>
>
>

> .
>
>

> 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'
>
>

.

>
>
>

>
>
>
>
>
>
>
>
>
>
>

>
>
>

>
>
>
Master of Masters

The "**Master of Masters**" (マスター・オブ・マスター, *Masutā obu Masutā*) is a Keyblade Master that appears χ. He is responsible for training the five Foretellers and gifting them with the Book of Prophecies.

"*.*"

—The Master of Masters.

## Appearance & Biography

*Voice actor:* Not Known (English), Not Known (Japanese), Not Known (French), Not Known (Italian), Not Known (German), Not Known (Hungarian), Not Known (Finnish), Not Known (Korean), Not Known (Polish), Not Known (Romanian), Not Known (Russian), Not Known (Poland), Not Known (Serbian), Not Known (Swedish), Not Known (European Spanish), Not Known (Latin American Spanish), Not Known (Brazilian Portuguese), Not Known (European Portuguese)

### Appearance

The "Master of Masters" appears as a person completely concealed in a black coat. Nothing else is known about the Master's appearance beneath the hood, although according to Chirithy he has an eye that gazes into the future.

* Hair Color: Not Known
* Body Color: Not Known
* Eye Color: Not Known
* Age: Not Known
* Height: Not Known
* Weight: Not Known

## Powers and Abilities

### Weapons

*Main article:* *Master Xehanort's Keyblade*
The Master wields a Keyblade that has a dark black handle with a raised spiral carved around it. Its pommel and guard resemble black, demonic wings. The base of the blade is an etching of a horned lion, and the shaft is formed from two black, barbed blades, etched with a white icon resembling a bramble of thorns. The teeth are formed in the shape of a demonic wing, and are set with an eye of darkness. The Keychain is made of small, grey links, and the token is an entangled, grey talisman with an eye of darkness. Unlike the Keyblades of the other apprentices, it lacks Terra's Mark.

## History

### Past

According to Chirithy, the five Foretellers and one other Keyblade wielder were the apprentices of his creator, the "Master of Masters." Shortly before he disappeared, the Master of Masters assigned his disciples new names and gifted five of them with a tome from the Book of Prophecies, which taught them of the event that would doom the world.

## External links

* Master of Masters *Kingdom Hearts Wiki, the Kingdom Hearts encyclopedia*
Packaging the map for Playtesting

There is just one final step: to get it into the game and play test. Because this level is completely unzipped it won't load in the game. You need to re-package the files into a client.zip and server.zip. The editor is still unfortunately buggy in this regard and gets some server.zip files mixed into the client.zip. Fortunately, we only need to edit the server.zip in the original map, unless this is a new map created from scratch. Even then there are community made tools to pack up a map.

Gameplayobjects.con and StrategicAreas.ai.

• So now you have a level directory completely unzipped and unplayable in it's current state. Here's what I do. (I'll be referring to Songhua Stalemate from now on as the level I'm editing. If you're editing a different level, then just use your level name obviously)
Close the editor

• Rename your level folder to 'Songhua\_Stalemate\_ED' in windows explorer.

• Navigate back to your original 'Copy of bf2' mod directory (Lucky we backed it up!) and copy the original Songhua Stalemate level folder back into your BF2 mod level folder. So now I have Songhua\_Stalemate\_ED and Songhua\_Stalemate next to each other.

[insert image level folder here]

• Open the server.zip in the Songhua\_Stalemate. Navigate to - Gamemodes\Sp1\16 and leave it open to the side of your screen like in the picture below.

• In windows explorer, navigate back to your Songhua\_Stalemate\_ED folder. Go into the editor folder and drag and drop the gameplayobjects.con and 'AI' folder into the open zip file overwriting the files within.

[insert image of copied files here]

• Now all your changes are in the zip ready to play!

Start up a game and test out your map in single player. Keep an eye out for strange bot behavior and keep a note pad ready to jot down the bugs you find in different parts of the map so you can fix them in the editor later. If you have to load up the map in the editor again, simply rename the play version level folder to something like 'Songhua\_Stalemate\_PLAY" and then rename the "Songhua\_Stalemate\_ED, back to plain old "Songhua\_Stalemate."
The editor and game won't open the level unless it has its original name.
Blender Navmesh Materials

Blender Navmesh Materials

Before you add new mesh you must pick the material you want to add to the mesh. On the right of the display is a panel with a series of option boxes. The top one will say "View" and "Search". The box below that has a row of icons starting with a Camera. We need the ninth icon in that row. It's a ball located between a funny triangle and a checkerboard. Left Click the ball.

The option box will expand and you will see the list of materials for the navmesh. They are: ground, water, deep water, and ladder. There is a ball next to each material to show it's colour on the mesh. Usually if a material isn't used in the mesh the ball will be grey. Left Click on the material you want to add to the mesh.
BF2 3dsMax Unit Setup

If you get the units wrong, it’s easy enough to scale up or down by a multiple of 10 later. The important thing is to do everything the same way, so that all objects are correct in relation to each other.
**3dsMax Battlefield 2 Scale Setup**
Before continuing with this tutorial you should have installed the 3dsmax tools found with the Editor package "BF2\_Tools\_3dsmax\_1.0e.exe".  Bf2 uses a metric scale therefore we need to set up max so we can model/export your models to scale.
·         Open up 3dsmax.
·         Find the **Customize** tab from the top tool bar and browse down to **Unit Setup.**

**[max\_unit\_setup]**
This will open a dialog box labeled Unit Setup.
·         Change the Display Unit Scale from Generic Units to Metric

[max\_unit\_scale]

·         Now select the top upper most button labeled System Unit
 Setup.
·         In this dialog box, change to as follows: 1 unit = 0.100 .
·         From the drop down, change it to meters.

[max\_unit\_meters]
That's it.  3ds Max is now setup to model in Bf2 scale. No need to worry about the other values -- just leave them as is.
Editing the Soldiers Kit - SkinnedMesh - Part 6

Editing the Soldiers Kit - SkinnedMesh - Part 6

**BUILDING THE** **HIERARCHY**

In the "Select Objects" window we select "root\_skeleton\_3p\_setup",
(screenshot 59)

in "Editing Window" in "RMB Menu" we click on "Clone".
(screenshot 60)

Will appear the "Clone Options" window, where in "Object" square we choose the "Copy" option, and in field under "Name" we writing the name of the future copy - "ske:root\_skeleton".And click on "OK".(screenshot 61)

Now with this selected new element("ske:root\_skeleton"), click on the 3dsmax toolbar on "Select and Link",(screenshot 62)

then we open "Select by Name".(screenshot 63)

And link it("ske:root\_skeleton") to the "root\_skinnedmesh\_spetz\_kits" - we select it(root\_skinnedmesh\_spetz\_kits) with mouse and click on "Link"(screenshot 64)

We exit out of "Select and Link" mode through click on "Select Object".(screenshot 65)

Now we open the "Select by Name" window, and holding the "Ctrl" key we select only the geoms which are under "root\_skinnedmesh\_spetz\_kits".We have 16 geoms - at "geom0"(including) to "geom16"(including), and click on "Select".(screenshot 66 and screenshot 67)

Through the same "Select and Link" we link these geoms to the "ske:root\_skeleton"(select and click on "Link").(screenshot 68)

We exit out from "Select and Link" mode through click on the "Select Object".We go through "Select by Name" window for open the "Select Objects" window.We select "root\_skeleton\_3p\_setup" and click on "Select".In the field of right "Name and Color", we rename "root\_skeleton\_3p\_setup" to the "ske::root\_skeleton\_3p\_setup".With selected "ske::root\_skeleton\_3p\_setup" we activate "Select and Link" mode, then we go through "Select by Name" in "Select Objects" window.And link the "ske::root\_skeleton\_3p\_setup" to the "ske:root\_skeleton".
The hierarchy build is complete.(screenshot 69)

Editing the Soldiers Kit - SkinnedMesh - Part 7
Make Objects Destructable

By [BF:A] Croupier, February 19, 2006 in BF2 Community Tutorials

TUTORIAL: D-Destruction, The Easy Way:

Follow this tutorial if you want to make a Bf2 Destructable Object Non-Destructable.

1. Extract the .con and .tweak for the destructable item.

2. Right click, properties, uncheck read only.

3. Open the .tweak in notepad and change 1 line only and save, change:

ObjectTemplate.isDestructable 1

to

ObjectTemplate.isDestructable 0

4. Goto Levels/Your\_Map/ and drop the .con and .tweak into your server.zip

5. Open the server.zip and edit the Init.con, we want to add a run command for the .tweak only add it to both run groups like this:

run name\_of\_object.tweak

else

run name\_of\_object.tweak

6. Now open your StaticObjects.con and find the run command for the destroyable object. Change the path to your .tweak located in your map like:

run /Levels/your\_map/name\_of\_object.con

7. Still in your StaticObjects.con, rem out the lines calling the destruction effect, like so:

rem run /objects/effects/damagestates/name\_of\_object.con

8. So in your map you've now got your .tweak and con files and you have edited your Init.con and your StaticObjects.con to call those modded files rather than the BF2 content, you are now good to go.

This in no way will effect your regular bf2 maps or game files at all, as long as you do it in a custom map.

Have fun, this method applies to all statics, adding custom weapon .tweaks is pretty similar.
BF2142 AImesh Creation Project

Author: Dnamro

I have been working on creating/improving the Battlefield 2142 AImeshes in order to create singleplayer for the new maps. The AImesh is a collision mesh version of the object used to create the navigation mesh used by the bots to find their way around the map. This is long process of testing to see what works, doing some modification and testing again. My goal is to enable the bots to go anywhere that a player can go without using ladders, since ladder climbing is disabled for BF2 and BF2142 bots. So, this means that, in addition to creating AImeshes for buildings without them, I am also re-working the AImeshes for buildings where bots could only get to the first level. I will be updating this document to show the status of where I am in the project:

NOTE: These are screenshots using the editor. The navmesh is shown as a light green material. Many buildings do not have textures and show the "Uncle Sam" texture link. This is because I have all the objects in one folder when working on AImeshes, which breaks may texture links.

Molakai:

Double Barracks is now fully navmeshed. Bots can now reach the rooftop

Refugee buildings and grate stairs now namvesh together. This required extending the connectors in the AImesh for each object to make sure that they overlapped and navmeshed.
Command Center is fully navmeshed:
Large Pilbox AImesh is complete to the second floor. The Booster pack version (not pictured here) has an additional stair way the reaches the roof level. This is the original version with roof access by ladders only. The BP version works to the second floor now.

This shows the navmesh area for the large pilbox without the building.

[Fixed] Scraper base now navmeshes to the second level. The vehicle barriers were in the way and made it heard to work on the AImesh for this building. There are a set of smalls stairs connected by a small walkway that currently are not navmeshing. They are probably a little too steep, and I will need to adjust them.

With the Office 01 building, the stairs do not navmesh to the top. I will probably need to fix the stairway landing.

residential house 4 is fully navmeshed and include the second floor. The first picture shows the house. The second shows the navmesh area with the house removed which reveals the stairways connecting the bottom floor to the second floor.

The trench complex is not navmeshing due to limited access by ramp or stairs. This would have to be fixed by adding ramps or stairs to the map.

The Large bridge is not namveshing at all.

[Fixed] Reactor Power Reserve Object is now connecting in the middle this was a pic before it was fixed:
[Fixed}Small Booster Pack version of the small pilbox is not navmeshing. The original works,so I am suprised that the BP version does not. I will have to check it out.\
Tricks for AImesh interiors

Tricks for AImesh Building Interiors

This tutorial will present examples of tricks for AImesh building interiors. It can be very difficult trying to fix the interior, with the outside walls in the way of not only the the view, but also being able to actually work. The frustrating part of the process is that one part that may look good when viewed and does not show up when error checking may not be welded and therefore causes an error that is hard to find.

One trick is to reduce the walls to the top of the doorways.   This makes it much easier to work with the walls and verify that everything is cleanly connected.

Delete the walls and then extrude the edges up to the top of the doorways.  Then cap the tops and triangulate.   The other thing is to leave the roof in as a separate part, leaving just the part the bots might walk on a map was set up to where the roof was accessible.    Just select the walk able part and extrude it down and triangulate.

Now the picture below shows the barracks object in a side by side comparison.  The roof is much simplified and cleaned up.   Since this is a raised floor building, there is not need for walls.  Only the floor and stairs are needed.  The full building is on the right and the AImesh is on the left.
Fixing the Navmesh

Fixing the Navmesh and convert to Aipathfinding

This is the part where we convert the navmesh files into a format that is used in game and it's the quickest part. Load up the editor. You can use the BFSP navmesher script to launch the editor or launch it normally. The script will select the mod and map for you. When loading the editor with the script, the editor will look only part load the map. Just switch between object to level mode in the editor and the level will finish loading.

Just to clarify, we are working now in the mods\[mod-editing-name]\levels\[level\_name] area. We are done working in the Navmeshing folder.

Once the editor is finished loading, use the command windows at the bottom right of the screen and select 'Aipathfinding' in the first and 'loadgtsdata' in the second and then select the green button to the right as the execute button. Large maps could take a little while.

The next step is to then select 'savequadtrees' from the second window and the execute button to the right. If the command window has any red letter error messages, your navmesh has issues. Go back to the navmesh obj file in the 3d modeling tool and check those common errors as listed in the tutorials. Then re-fix it and repeat this step again. The command window info isn't helpful in identifying an error. It only tells you that there is a problem.

Go back to the command windows in the editor and create the Aerial Height map, by selecting 'AI' in the first window and 'Aerial height map' in the second and then select the execute button to the right. Larger maps can take a few minutes to complete. If after testing, you can create a more accuate test map by typing 64 or 128 in the third window. Default is believed to be 32. A lower resolution map would be 16.

If sucessful, you will have an AIpathfinding folder in your map updated with new files.

Now, check your vehicle and soldier spawns in the editor. You can display the AI path as a green texture over the terrian in the editor.

Select the 'Render' Menu - 'AI' - and select "Toggle Draw AI" (this will enable you to see the strategic areas and neighboring).

Then select 'Render' Menu - 'AI' - and select "Toggle Draw Infantry navmesh" or "Toggle Draw Vehicle navmesh" to check the Soldier and vehicle spawns. Green is good path. Red is bad. A more detailed explanation is here:
http://www.battlefieldsingleplayer.com/tut\_dev\_forum/viewtopic.php?f=4&t=16&p=21#p21

The next step is to pack everything up and test it out in game.
Foreteller Gula

**Foreteller Gula** (予知者グウラ, *Yochisha Guura*) is a Keyblade Master who appears in χ. He is the leader of the Leopardos Union.

"*.*"

—Foreteller Gula.

## Appearance & Biography

*Voice actor:* Kevin Quinn (English), Not Known (Japanese), Not Known (French), Not Known (Italian), Not Known (German), Not Known (Hungarian), Not Known (Finnish), Not Known (Korean), Not Known (Polish), Not Known (Romanian), Not Known (Russian), Not Known (Poland), Not Known (Serbian), Not Known (Swedish), Not Known (European Spanish), Not Known (Latin American Spanish), Not Known (Brazilian Portuguese), Not Known (European Portuguese)

### Appearance

Foreteller Gula is a boy who wears a white leopard mask and a pale yellow hooded cloak over a yellowish-tan robe, shirt, and sash, each with dark grey embroidering. His shirt is worn beneath his cloak, is fastened by the sash, and has long sleeves that extend slightly past his wrists. The tassels on the front of the cloak are light blue in coloration.

His name is derived from the Latin word "gula", or Gluttony, which is symbolized by a sow in the *Ancrene Wisse*.

* Hair Color: Not Known
* Skin Color: Not Known
* Eye Color: Not Known
* Age: Not Known
* Height: Not Known
* Weight: Not Known

## Powers and Abilities

### Weapons

*Main article:* *Foreteller Gula's Keyblade*
Foreteller Gula wields a Keyblade with a dark blue handle. Its pommel and guard resemble a golden bolt of lightning. The base of the blade is an etching of a green-eyed leopard, and the shaft is formed from a golden, spiked blade with a wide, darkened fuller, itself etched with a yellow icon resembling Terra's Mark. The teeth are formed from a web of crystalline spikes, and have another etched icon resembling Terra's Mark. The Keychain is made of small, electrum crystals, and the token is a spiked electrum talisman with an eye of darkness.

## History

### Past

According to Chirithy, Gula was originally one of the six apprentices of his creator, the "Master of Masters". He was assigned his name by the Master, and like the other four chosen to become Foretellers, he received a tome from the Book of Prophecies. Afterward, he established the Leopardos Union to battle the darkness while using his tome to draw power from the future in the form of Medals, in an attempt to avert the Keyblade War prophesied in the Book.

## See also

* Foreteller Invi
* Foreteller Ira
* Foreteller Aced
* Foreteller Ava
* Luxu

## External links

* Foreteller Gula *Kingdom Hearts Wiki, the Kingdom Hearts encyclopedia*
Foretellers

The **Foretellers** (予知者, *Yochisha*) are a group of Keyblade Masters that appears *χ* and consists of Invi, Gula, Ira, Aced, and Ava. Together, the Foretellers lead the five Unions and protect the worlds from darkness.

"*.*"

—About the Foretellers.

## Appearance

The Foretellers wear masks representing the animals that serve as the emblems of their Unions, as well as hooded cloaks and shirts fastened with a sash. The sleeves of these shirts extend just beyond the wrist.

Each Foreteller's name is derived from the Latin word for one of the seven deadly sins, and all but one of them use the name associated with their animal motif in the *Ancrene Wisse*.

## List of Foretellers

* Foreteller Invi
* Foreteller Gula
* Foreteller Ira
* Foreteller Aced
* Foreteller Ava

## Abilities

*Main article:* *Foreteller's Keyblade*
The Foretellers are Keyblade Masters who wield unique Keyblades with distinctive elemental and chromatic themes. Each Foreteller's Keyblade has an etching of their Union's totem animal on its hilt, an eye of darkness on its keychain token, a heart icon similar to Terra's Mark near its teeth, and a handle resembling a Doric column; these shared traits are similar to those of Master Xehanort's Keyblade, which has a black, demonic theme and an etching of a horned lion, but features a second eye of darkness where the Foretellers' Keyblades have heart icons.

## History

### Past

According to the Chirithy, the five Foretellers and one other Keyblade wielder were the apprentices of his creator, the "Master of Masters." Shortly before he disappeared, the Master of Masters assigned his disciples new names and gifted five of them with a tome from the Book of Prophecies, which taught them of the event that would doom the world. In an attempt to avert this coming crisis, the Foretellers established Unions to battle the darkness and used the Book of Prophecies to draw power from the future in the form of Medals.

## External links

* Foretellers *Kingdom Hearts Wiki, the Kingdom Hearts encyclopedia*
Bf2 Tools Setup For 3ds Max

Bf2 Tools Setup For 3ds Max

By mschoeldgen[Xww2],

edited by Dnamro

## Problems with 3dsMax 9 and BF2 plugins:

3dxMax 9 was designed for XP and has graphic artifact issues with newer versions of Windows. Be sure to install all service packs.

For a discussion of different modeling tools and plugin links for other versions of 3dsMax look here:

Comparison of 3dmodeling tools for Battlefield Modding

A few export related problems suffer from a bad or missing setup of the tools, so here is some explanation. Make sure to have the tools installed , all you need to do is to get the .zip file with the latest tools and extract the folders from it into the \3DS Max folder on your hard drive.

**Notes:**

* You only need to copy the '\_Max5' folder if you have Max 5
* The '\_BF2Help' folder is not strictly necessary, but contains some helpful documents when looking for the correct shadernames.
* save your work often, especially if using a newer operating system, as it may crash or lock up occasionally.

In the example below the 3ds Max tools are extracted into the 3ds Max9 folder. It will add to the \scripts and \plugin folders.

After launching 3DSMax, if the tools are installed correctly, you will see BF2 added to the toolbar as shown below:

Next, run the BF2 Exporter and press 'Run Setup' in its window. A new window pops up , looking like this:

Image File: 3dsbf2D.jpg

Now fill in the values according to your setup. In this example, the BF2 game is installed in 'C:\Games\Battlefield 2\' and the mod for this example is exporting to is XWW2. Included, is the the 'rawdata' path , 'BF2' and using a testmod 'EFM' into the possible export paths in the lower dialog.

**This is the most important step**: Once the exporter finds one of these strings, it truncates the texture paths ( which are coded into the mesh) to a mod-relative path, meaning the object can run under any mod on any machine without hardcoded absolute paths.

Note that in this example, we are directly exporting into the testmod structure, for convience. Some people prefer to use the \rawdata path (which is located in your \bf2editor folder ) as described in the official tutorials.

## License Issues

Sometimes the license will stop working.   If it was incorectly set up initially, it can be useful to delete the existing license info.     If you don't see Program data, select View from the tool bar and check hidden files.  I does not matter where 3ds max is installed.   The licenses are stoed in c:\ProgramData\Autodesk\Software Licenses as showng below.  Delete the .dat files and restart 3ds Max.  It will give a message that the license info could not be found and it will start the license wizard.
How to make weapon animations play faster in BF2

How to make weapon animations play faster in BF2.

Posted by ytres on Apr 9th, 2011 - Basic Animation

Ok, first, go to the AnimationSystem files for that weapon. These would be located at objects\_server/weapons/handheld/(thegunyouaremodding)/AnimationSystem1p.inc.

Open it up with Notepad, and at the top of the document, there's a list of the animations with a time value you can edit. This is the time it takes to play that animation. Change the value to what you want, or if there isn't a time value under that animation, just add the line *animationManager.length #*and change it to the value you want.

> *....*
>
> *animationSystem.createAnimation Objects/Weapons/Handheld/AK47/Animations/1p/1p\_AK47\_reload.baf
>
> animationManager.looping 0
>
> animationManager.length 3.5**....*
>
>

You must also edit any necessary sounds so they play at the same speed as the animation.

If you're editing a reload, make sure to change the line *ObjectTemplate.ammo.reloadTime*to your new reload time.
(in the .tweak file of that weapon).

PM me if you somehow have problems.
Import Heightmap into Unity

Here is how to import a heightmap into Unity

Note: This is only for importing personal maps.

Yes you can import heightmaps, but it's very tricky.
It's not possible without taking some statics and the player into the map to get the correct scale size.
If you just import without comparing to the size of i.e. a house it may be too small or too large!
Also you will have to do some tries until you get the correct height of hills etc.

Short tutorial:
- extract the heightmap to any folder
- in Unity create a new scene
- add a blank terrain: Menu - GameObject/3D Object/Terrain
- select the terrain and go to properties (the gear-wheel)
- scroll down to 'Heightmap'
- click Import RAW and search for you BF extracted RAW heightmap file

This will open a window where you can edit the settings. Important: Windows not MAC!
The Y-value is the one you'll have to check or your hills will be bigger than Mt.Everest!
Most BF-maps are between 200-300 in the Y-value.
You may use the Unity Standard Assets FPS-guy as a size guide
How to code a destructable bridge for AI

AI for destructable bridges

> Here's an example, using the wood bridge. in
>
>
> the tweak file it has:
>
>
>
> **ObjectTemplate.aiTemplate wood\_bridge**
> ObjectTemplate.usedByAi 1
>
> ObjectTemplate.initiallyWalkable 1
>
> ObjectTemplate.minCorner -5.302/-1.163/-2.094
>
> ObjectTemplate.maxCorner 5.302/1.163/2.094
>
>
>
>
> which gives it an aiTemplate to use, and also defines the area which is
> affected. notice the the **ObjectTemplate.initiallyWalkable 1,** if it was a
> destructible fence, it would be set to 0.
>
>
>
> the aiTemplate itself contains:
>
>
>
> **rem \*\*\* Plugins \*\*\***
> aiTemplatePlugIn.create Physical wood\_bridgePhysical
>
> aiTemplatePlugIn.setStrType HeavyArmour
>
>
>
> rem \*\*\* AITemplate \*\*\*
>
> aiTemplate.create wood\_bridge
>
> aiTemplate.addType ITStructure
>
> aiTemplate.degeneration 50
>
> aiTemplate.allowedTimeDiff 2
>
> aiTemplate.basicTemp 5
>
> aiTemplate.commonKnowledge 1
>
> aiTemplate.addPlugIn wood\_bridgePhysical
>
>
>
>
> this stuff should easily be adaptable to the dam bridge segment, the hardest
> part will be defining the destructible area. a simple way might be to open it
> in the editor and add 2 decals as children, then move them to the correct spots
> and note the coordinates, then remove them and update the bridge tweak file
>
>
>
> accordingly
>
>