project reality header
Go Back   Project Reality Forums > PR:BF2 Mod Forums > PR:BF2 Community Modding > Modding Tutorials
12 Sep 2024, 00:00:00 (PRT)
Register Developer Blogs Members List Search Quick Links
Modding Tutorials Information and tutorials related to modding BF2.

Reply
 
Thread Tools Display Modes
Old 2007-07-22, 12:22   #1
Rhino
Retired PR Developer
Supporting Member

Rhino's Avatar
Arrow Map Audit

In this tut we will cover from start to finnish how to Audit a map for the Project Reality Mod. I'm going to Audit the vBF2 map "Daqing_oilfields" as an exsample for thit tut.

For this tut you will need the following tools:
  • BF2 Editor
  • Notepad (or anouther text editor)
  • WIN RAR

And have done the following Tutorials:
  1. Creating a Basic Terrain (EA Official Tut)
  2. Creating a Basic Level (EA Official Tut)
  3. Layers For Maps (16, 32 and 64 Size Maps Etc)


Step 1: Setting up the Map for Audit.

In this step we will cover how to set the map up for Audit to be used for the BF2 editor, and so it can be used by others later on.

First copy the map folder into your "pr_edit" mod leaves folder.
(if you do not have a "pr_edit" mod do this tut here: https://www.realitymod.com/forum/f18...g-modding.html)

Now after you have that, you should now inside the map folder you just copied over to your "pr_edit"'s level folder, a "Info" folder, a "client.zip" and a "server.zip".


Now for the editor to be able to read the maps files, you must first exstract both the client and server .zips into your maps folder.



You will now need to get hold of, or create the Editor files used by the BF2 Editor.

If you can get hold of the editor files from the crator of the map, or somone who had made them from scratch in the past (by doing a audit or w/e) is the quickest / easist way. So first allways see if you can get hold of them if possible. If not, you will need to create them from scratch.

A) If you can get hold of the editor files, simpley place them in the "Editor" folder inside the map folder, ie: "\levels\*MAP NAME*\Editor\". If the editor folder is not there, create it. Inside of the editor folder you will need to put the "gameplayobjects.con" (GPO.con for short) and "layer.con" files. These are the editor files and not the game files bare in mind as there is a GPO.con file for each layer of the game files but the editor version is all of them together.

B) If you can not get hold of the editor files, then you need to crate them from scratch. This is where it starts to get tricky.
First you need create your Editor folder. simpley just create a new folder inside your map folder and rename it to "Editor"


Once you have the editor folder, go to your maps: "\GameModes\gpm_cq\64\" folder and copy the "GamePlayObjects.con" (GPO.con for short) into your maps editor folder: "\Editor\".

This is only the 64 layer of your GPO.con file. Now this is where it gets really tricky where we need to edit in the other layers into the Editors GPO.con file so its all the layers, combined.

Open up your Editors GPO.con file (\Editor\GamePlayObjects.con) with notepade or w/e text editor you use. This GPO.con file defines all your object spawns, player spawns, Control points etc in your map. All the text that you see when you open it is about them. I will give you a full run down on how the GPO.con file works later on but as this section might be missed out if you already have these files, I'll state them later on.

Leave your Editors GPO.con open and also open up the 32 layer GPO.con file
here: "\GameModes\gpm_cq\32\GamePlayObjects.con"
and the 16 layer GPO.con file
here: "\GameModes\gpm_cq\16\GamePlayObjects.con"

Have all of them open at the same time but make sure you do not mix them up, it is easy to do so so keep them on diffrent sides of the screen.

Now the GPO.con file is split into diffrent sections:
  1. Object Spawners
  2. Spawn Points
  3. Control Points
  4. Combat Zones
you will now need to mix all the 64, 32 and 16 layers into one file. Bare in mind that your 64 layer is the one you are working with in your editor file that has already been done, and you will use as a template.

Now first the object spawnsers section will look something like this apart with far more text, this is only one object which is a TOW missile stand:

Code:
rem ********** Object Spawner **********
rem [ObjectSpawnerTemplate: CPNAME_DO_64_ustown_AT]
ObjectTemplate.create ObjectSpawner CPNAME_DO_64_ustown_AT
ObjectTemplate.activeSafe ObjectSpawner CPNAME_DO_64_ustown_AT
ObjectTemplate.modifiedByUser esj
ObjectTemplate.isNotSaveable 1
ObjectTemplate.hasMobilePhysics 0
ObjectTemplate.setObjectTemplate 1 ats_tow
ObjectTemplate.setObjectTemplate 2 ats_tow

if v_arg1 == host

   rem [ObjectSpawner: CPNAME_DO_64_ustown_AT]
   Object.create CPNAME_DO_64_ustown_AT
   Object.absolutePosition 262.000/134.994/-410.000
   Object.rotation 4.200/0.000/0.000
   Object.setControlPointId 3
   Object.layer 2

endIf
now the Object Spawners section is split into 2 groups. the First group is the group that defines all the settings of the object, and the 2nd group spawns the object onto the map.
The Red "rem ********** Object Spawner **********" line represents the start of the object spawners.
The Blue "if v_arg1 == host"splits the 1st group from the 2nd group.
The Green "endIf" ends the object Spawners section.
It is imporant that these groups are kept seprate for the editor to use.

So now lets mearge in the 32 and 16 layers of the object spawner groups into the Editors GPO.con file.

First we will mearge the first group into the GPO.con file. so lets first take the 32 layer first.
Now Select the begging of the first line, of the first object where the red arrow is:



Then Scroll down the page to the last object (in the first group still), note the "if v_arg1 == host" bit just after the arrow which a blue line under it.



hold the "shift" key and click where the red arrow is, it will select all the lines (objects) between the start and the finnish.

Then copy thous lines and paste them into your editors GPO.con file right before the "if v_arg1 == host" and after the ones that are already there. (you will need to make 2 new lines.)


Do excatly the same for the 16 layer as you did to the 32 layer and paste it into the Editor's GPO.con file, make sure you save it (if its a read only file, make it so it can be read)

you can now see how you are going to be building up this file with 64 on the top, 32 in the middile, and 16 on the bottom all the way. Shots from points in the .con where 64 changes to 32, then 32 changes to 16 etc.




Now thats the first group of the object spawners, now to do the 2nd group which is more or less the same thing.
Go to your 32 GPO.con file and select the begging of the 2nd groups object spaner. Make sure you include the space at the begging. Again note the "if v_arg1 == host" at the top.


Then again, scroll to the end, hold the "shift" key and click at the very end of the 2nd group, here:


Take note of the "endIf" bit at the end

Copy all thous lines into the Editor's GPO.con file at the very end of the 2nd group of object spawners, again make 2 lines before you paste it in.


again, do the same for the 16 layer.

Now with any luck you should be starting to get the hang of it cos its taking me ages to do all the SS etc


Now onto the Spawn Points, these are the player spawn points bear in mind, they are a little diffrent from the object spawns as they have there group 1 and group 2 mixed into one group with the group 2 bit just under each spawn point bit. dont worrie about that yet

go to the 32 GPO.con and select the start of the first spawnpoint, will start off with something like: "rem [SpawnPointTemplate: " then scroll down all the way till you see a "rem ********** Control Points **********", copy all thous lines and paste them into the bottom of the Spawn Points section of the Editor's GPO.con file, then do the same again for the 16man layer.


Now for the Control Points. Control Points are abit like the object spawnsers as they use the two split groups again.
starts off with the "rem ********** Control Points **********"
then in the middle you have your "if v_arg1 == host" again
then at the end you have your "endIf" again.

Go to your 32 GPO.con file and select the start of the first Control Point. Will start off with something like "rem [ControlPointTemplate: "
Then scroll down to the bottom of the first group, just before the "if v_arg1 == host" and hold the "shift" key again, select all the control points, copy them and paste them into your Editors GPO.con file at the bottom of the 1st Control point group. do the same for the 16 GPO.con

Now to do the 2nd group of the control points (in the 32 GPO.con), go to the first line and select it, will look something like " rem [ControlPoint: " (remember, keep thous extra forward spaces in). Then scroll down to the bottom, just beofre the "endIf" bit, hold shift, select, copy and paste them into the end of the 2nd group in the editors GPO.con file. do the same again for the 16 GPO.con


Last but not least comes the Combat Zones. These will allways be at the very bottom of the file, and bare in mind that sometimes more than one layer uses excatly the same combat zones. you do not want to put excatly the same combat zone in twice as it will muck up the editor.
So first, check the name of the Combat Zone(s) in your 64 layer (your editors GPO.con file). in this case Daqing_oilfields has 2 combat zones in its 64 layer, one used for ground troops and one for jets. Its first one is called "CombatArea.create CombatArea_143_64_player" and its 2nd one "CombatArea.create CombatArea_115_64_player"

Not going to bother taking a shot of both names, just did the first one to give u an idea of where too look.
So quickly do a check before you do anything that the same combat zone name is not in any other GPO.con files you are about to copy in (the 32 or 16 GPO.con files).

Now take note of this bit highlited.


Code:
CombatAreaManager.use 1
CombatAreaManager.timeAllowedOutside 10.000000
you only need that part once at the very top of your first combat zone in the GPO.con, do not put it in more than once in the GPO.con file or the editor can some times mess up the save (like the times in the old betas where the entier map was just 100% red and you could not spawn in without being out of the combat zone).

Now go to the 32 GPO.con file and copy in the combat zone(s) without copying in the first 2 lines, stated above. Paste them under the last combat zone in the Editors GPO.con file, then do excatly the same for the 16 GPO.con file. Again, do not copy in the same combat zone which might apear in more than one layer. if the name matched from your check you did before do not have that combat zone in more than once.


We are almost done with the first step now, We just need to do the Layer.con file then we can use these files with the editor
Close down the GPO.con files but keep your editor's GPO.con file open as you will probaly need it in a sec.

I always like to work off a template so download this Layer.con file (right click, save as and then extract the .zip to find it)
Download: http://realitymodfiles.com/rhino/tuts/Layer.zip

put that into your maps Editor folder. Now the chances of this file being 100% correct already are very small as almost all maps are diffrent in this repects, just depends on which mad order the mapper decied to do it in. Now this is the one I have quickly made for Daqing_oilfields. Now these files really dont exsplain them selfs so let me try and exsplain them quickly.
Code:
rem ******** 64_player ********
LayerManager.AddUserLayer "64_player" 4 2 0 1
LayerManager.SetLocked 0
LayerManager.SetDisabled 0
LayerManager.AddGameModeFilter "gpm_cq"
LayerManager.AddPlayerFilter "64"
the first line is just the name that has been removed, dont need to worrie about that too much but i still change them as i use them when doing text editing.
The next line down is first the real name that is used inside the editor, do not uses spaces etc in this name (inside the quotes). after the quotes is a buch of numbers, now the first number, "4" in this case I really to be honest dont have a clue what it dose, but it always increases by a power of 2 when moving up the layers. So the next layer would be 8, then the one after that 16, then the one after that 32, etc, etc. Now the next number is the layer number isself, in this case the number "2", aka "layer 2". now the 0 and 1 after again, i do not know excatly what these do BUT i think they have something to do with the editor options. just leave them 0 and 1 they are not imporant to the outcome of the map.
Next 2 lines down leave them at 0, only really for editor use.
Next line down is just adding the gamemode gpm_cq aka, AAS 2.
Next line down is just adding the player size filter.

Now I've exsplained the basics, really the only thing you need to worrie about now is whats on line 2 and maybe the last line, but line 2 is the most imporant as all the other lines can be changed inside the editor, if you mess line 2 up the editor will not load it.

This layer.con template its kinda a bad exsample as its all set out, but ill just set it up for mashtuur quickly so bare with me.

Now if we look in mashtuurs Editors GPO.con file, if we scroll down too the 2nd group of the object spawners we can see that the 64 layer is on layer 3.

At the mo its set to layer 2. Now you would think that the easit way to change this would be to change from:
Code:
LayerManager.AddUserLayer "64_player" 4 2 0 1
to:
Code:
LayerManager.AddUserLayer "64_player" 4 3 0 1
WRONG

This will not work (im 90% sure) and will stop the editor from loading your map correctly.

Instead you need to rejig your layers.con file till its all in the right place.

Here is your Layers.con file:
Code:
rem ******** 64_player ********
LayerManager.AddUserLayer "64_player" 4 2 0 1
LayerManager.SetLocked 0
LayerManager.SetDisabled 0
LayerManager.AddGameModeFilter "gpm_cq"
LayerManager.AddPlayerFilter "64"

rem ******** blank ********
LayerManager.AddUserLayer "blank" 8 3 0 1
LayerManager.SetLocked 0
LayerManager.SetDisabled 0

rem ******** 32_player ********
LayerManager.AddUserLayer "32_player" 16 4 0 1
LayerManager.SetLocked 0
LayerManager.SetDisabled 0
LayerManager.AddGameModeFilter "gpm_cq"
LayerManager.AddPlayerFilter "32"

rem ******** 16_player ********
LayerManager.AddUserLayer "16_player" 32 5 0 1
LayerManager.SetLocked 0
LayerManager.SetDisabled 0
LayerManager.AddGameModeFilter "gpm_cq"
LayerManager.AddPlayerFilter "16"
Note at the mo, the 64 layer is ment to be on layer 3. At the moment layer 3 is taken up by the "blank" bit. easit soloution is to just change that section into the 64 so you edit from the above, to this:
Code:
rem ******** 64_player ********
LayerManager.AddUserLayer "64_player" 4 2 0 1
LayerManager.SetLocked 0
LayerManager.SetDisabled 0
LayerManager.AddGameModeFilter "gpm_cq"
LayerManager.AddPlayerFilter "64"

rem ******** 64_player ********
LayerManager.AddUserLayer "64_player" 8 3 0 1
LayerManager.SetLocked 0
LayerManager.SetDisabled 0
LayerManager.AddGameModeFilter "gpm_cq"
LayerManager.AddPlayerFilter "64"

rem ******** 32_player ********
LayerManager.AddUserLayer "32_player" 16 4 0 1
LayerManager.SetLocked 0
LayerManager.SetDisabled 0
LayerManager.AddGameModeFilter "gpm_cq"
LayerManager.AddPlayerFilter "32"

rem ******** 16_player ********
LayerManager.AddUserLayer "16_player" 32 5 0 1
LayerManager.SetLocked 0
LayerManager.SetDisabled 0
LayerManager.AddGameModeFilter "gpm_cq"
LayerManager.AddPlayerFilter "16"
See how it was changed? Now look in your Editor's GPO.con file for what the other layers are, if we look we can see that 32 is on layer 2, and 16 is on layer 4. so just edit it to this:
Code:
rem ******** 32_player ********
LayerManager.AddUserLayer "32_player" 4 2 0 1
LayerManager.SetLocked 0
LayerManager.SetDisabled 0
LayerManager.AddGameModeFilter "gpm_cq"
LayerManager.AddPlayerFilter "32"

rem ******** 64_player ********
LayerManager.AddUserLayer "64_player" 8 3 0 1
LayerManager.SetLocked 0
LayerManager.SetDisabled 0
LayerManager.AddGameModeFilter "gpm_cq"
LayerManager.AddPlayerFilter "64"

rem ******** 16_player ********
LayerManager.AddUserLayer "16_player" 16 4 0 1
LayerManager.SetLocked 0
LayerManager.SetDisabled 0
LayerManager.AddGameModeFilter "gpm_cq"
LayerManager.AddPlayerFilter "16"
I deleted the last bit as it was not needed.


Once done, save it up and you should now, finaly have editor files for use, YAY!!!



Step 2:Control Points

Now some may disagree with me, but the first thing I think you should do once the editor files are done, is first worrie about the control points since everything (more or less) is bassed off of them.

Load up your map in the BF2 editor, then as soon as you get in lock the defualt layer with all the statics etc (layer 1). this means you will not move any of the statics, and it will be easier for you to select CPs, spawn points etc that you want to be working on.

Now to first delete the Control points we do not want to use. Now in my 64 layer I only want the 2 main bases, the west + east oilfields, the old village and the refinery. so that means im going to first delete the power staion CP, the oil cisternces CP and the gas station CP.
easist thing i find it to click on one CP, then you can easily see all the others in your recorces tab:


When you delete a CP, it will ask you if you want to delete all attached objects, press yes this will make sure that you dont have any luce ends or bits of code floating round that could feck up your map later on


after you have deleted your unwanted CPs for 64, do 32 and 16 strait after to make sure you dont forget it

If you want any new CPs, just right click on the map and create them. Make sure they use the defualt name template thou!

Note: make sure you save often, it dose not take a sec to save these .con files so just keep on clicking that save button

Now that we have only the CPs we want, we can now set up the AAS Order

Now it looks like im going to have to do a AAS v2 setup tut here too
Now in Daqing_oilfields 64 we have a total of 6 flags (now after ive deleted afew), and a total of 4 flag groups.


The SupplyGroupID (SGID for short) veribual part of the CP controls which CP is in which group. as you can see on the pic above ive put the SGID numbers next to the CP/CP Groups, where groups are connected with a line.

Here is the SGID box on the chinese main flag which is now set to 1 (defualt is -1) as its the first team 1 flag.


When you connect 2 or more flags to the same group a black line can be seen in the editor connecting them:


Once you have done the 64 layer, do the SGIDs for the 32 and 16 layer.


Once your AAS orders have been setup for all the layers, you can now think about doing the CP Settings. You can do this with either the BF2 Editor, or a text editor. If you are going to do it with a text editor it will require you to close down the BF2 editor and open it up again to reload your changes. So its best to either use the BF2 editor to edit them, or to do it later and do all the text edits later by hand. if so leave a note so you dont forget to do it

I'm going to do the 64 and 32 layers with the editor, but will leave the 16 layer to be done in the text editor later so I can show you both ways.

When refering to what settings you should be using always refer to this topic:
http://realitymod.com/forum/t13808-m...-aas2span.html

Now to make sure I dont miss anything, im going to exsplain every point of the control point settings.

ControlPointID, aka CPID is the unique ID that links all of its connected spawn points, object spawns etc to the flag. each CP Must have its own, unique CPID even between diffrent layers in the map, thou this will not effect ingame it will effect the editor if they are the same. for a Audit task you should leave these as they are unless you are dealing with a map that has the same CPIDs on diffrent layers then you need to talk to me.

This is the Absolute Postion of the Control Point in x, y and z cordinets. flags never need to be in a excat postion so i normaly just use the editor to drag my flag to a location and not bother with doing it with x, y and z cordintes.

This sets the layer that your object is on, you dont need to change this for a audit task.

This sets the team the CP belongs to. 0 = nutral, 1 = Team 1 (PLA, MEC, MEINS etc), 2 = Team 2 (USMC, GB, etc)

Capture Radius of the flag in meters. a player must be inside this radius to capture the flag. To get a better idea of what your capture radius really is, go to render at the top and click on "Draw Control Point Radius as Sphere" and it will draw it as a 3D sphere instead of a yellow cirecle on the ground.

This will offset your CP Capture Radius from the flag center. this tool is very useful.

These values control your ticket bleed. Once a team captures enouth flags to reach a total area value of 100 or more, ticket bleed will accoure for the other team. so if you set 1 flag with a area flag of 50, and 2 others with 25, and if team 2 controls all 3 of thous flags 50+25+25=100, means ticket bleed will happen for the other team. if say the area value reaches 200, ticket bleed should happen at dobble the rate it is set to in the init.con file. Also take note that there are 2 sets of araea values, one for each team. so you can make a flag have a high or lower value for one team than it dose for anouther.
For the last flag (main base) in the capture order, you should give the attack teams side as much area value as you can so ticket bleed would soon end the game if they took the flag.

This value sets the time that it takes for TEAM 1 to neutralize/capture a flag, with the total time being this value x2 to get the flag from enemy to yours. This time can be decreased by putting more players onto the flag bare in mind.

This value sets the time that it takes for TEAM 2 to neutralize/capture a flag, with the total time being this value x2 to get the flag from enemy to yours. This time can be decreased by putting more players onto the flag bare in mind.

these boxes do not work...

This box controls if the flag can, or can not be captured.

This controls if the flag can be captured by all teams (0), or if only team 1, or team 2.

this dose not work...

this box says "EnemyTicketLossWhenCaptured" but some of it is hidden. this means when you capture the flag, the other team will loose a set amount of tickets. Bare in mind that this can be exsploited by letting the enemy take the flag, then once they have it nutral, ponce on them, kill them then retake control and you get anouther wadge of enemy tickets off. Its best to use the ticket bleed.

This box will define if the CP is shown on the minimap ingame, with both the flag and the flag name. I've used this for the C-130 flag on airport which you can not see on the map, but is infact on the beach

dunno what it dose but dont think it works?

Control point name, if you edit this it will change the name for all attached objects also which can save some time
if you edit this you should always use the CP Name template, IE: cpname_**_##_flagname where ** is the 2 letters that define the map, like Op Ghost Train is GT, Daqing oilfields is DO etc, ## is the layer size IE, 16 32 64 etc and the flagname should have no spaces, no _ etc.

This controls the AAS order in PR, already talked about above.

This controls if the flag goes up and down the poll when you are capturing it.

if the above is checked then this will determin what its max and min points on the hoist.

fuck knows what these do...

Dose not work...

fuck knows...

Speaks for itself, never used it...

flag poll gemotry? I would only mess with this in the text files just to delete the template.

for each CP change thous bars above as needed with the audit settings then your done

If you crate a new Control Point, with a new CP name, then you will need to add in the flag name into the localization files so you dont have the "code name" of the flag showing up ingame. If you have acess to the REPO, then you can edit the new CP names strait into it, save it up and upload a new version. If not then you will need to attach a small note to your map saying they need to be added in a .txt file or to the post you submitt the upload link ro or w/e.
to add the flag name simpley open up the "prmaps.utxt" file in "\pr\localization\english\" and scroll down to where you map would fit into the alpherbetical order of the cpnames_** bit and add you new CP in.
The code you need to add in will look something like this:
Code:
cpname_**_##_flagnameINGAME FLAG NAME
cpname_se_16_gasstationGas Station
with "*" being the 2 letters that repesent the map, and the "##" being the size of the map, ie 16, 32 or 64. you need to have thous funny square things around the ingame flag name, just copy and paste them from the line above and edit around them is the eaist thing to do.


Step 3: Player Spawn Points

Now we have got rid of the un needed CPs, we can work on the spawn points next, only player spawn points for now thou no object spawn points yet.

Now first lets just delete the spawn points we dont want, a really quick way to do this is group selecting them in the editor and then just hitting the delete key.

Just use the Recorces bar on the left, and use the ctrl and shift keys to select mutiple spawn points and then when you have them all just delete them in bulk

Do this for every flag that should not have fixed spawn points refering to the mapping guidlines: http://realitymod.com/forum/t13808-m...-aas2span.html

by the end select all the spawn points in the layer and check the ones ones left are where you want them to be

Add in any extras you think are nessary.

Now each spawn point has its own options so i might as well run though them quickly like i did for the CP options.

defines the absolute postion over a x, y and z cordintes on the map.

What layer the Spawn Point is on.

What Control Point it is attached to, attached view the CPID.

What spawn group it is attached to (defult 0). Each group has its own select icon on the map. For exsample on the carrier on GoO you have the upper deck spawns, and the lower deck spawns. the upper deck spawn points are grouped in group 0, where the lower deck spawns are grouped in group 1. these both have there own icons on the map for you to choose from. each group should have a min of 3 spawn points to it.

Not sure if this works or what excatly it dose?

Dose not work...

This this means is visible in the editor, leave it as it is.

Now this is a intersing one. this means when you spawn on this spawn point, you will enter what ever PCO you can that is in close proxsmity to that spawn point. if there is no vehicle spawned you can not spawn on the spawn point. so for exsample if you had a tank spawning on the road on oman with a big spawn deleay, you could put a spawn point like this there so when that tank spawns, you can spawn into it via this spawn point. untill the tank is there you will not be able to spawn there will just show up red (blocked) on the map
This spawn point dose not need to be right ontop of the vehicle, just close to it

Same as above, but only for bots.

Means this spawn point can only be used by bots (i thinks?)

guess this means that bots can not spawn on it.

Not excatly sure, leave it as it is.

I'm not sure if this works or what excatly it dose but i guess it scatters the spawns

Not sure what this dose...



Step 4: Object Spawns

First like we did for the player spawn points, lets first delete all the object spawns we do not want
Do this for all layers, remeber that 16 layer is infantry only, so you will need to delete all the jeeps etc BUT, spear the sMG spawns

get rid of anything it states in the guid lines (http://realitymod.com/forum/t13808-m...-aas2span.html) like UAV traliers etc.

Now we need to add in any objects that you think are needed. I'm turning Daqing into a armor battle for 64 / 32 so ill need to add lots of tanks

Once you have got all your objects on the map you want, its then time to be editing the object spawn settings

Before I go through this I've got to give you a run down again of all the settings for object spawns:

Defines the absolute postion of the object spawn point in x, y and z.

defines the layer the object spawn is on.

defines the CP the object spawn is attached too. (Tip: If you set this to 0 you do not need any CP taken by a team for the object to spawn and it will not be attached to any CP, this is really handy when you want to spawn a buch of MGs on a map in forward bunkers like on HoH for every layer, just crate a new layer that saves to every layer, and add in the SMGs )

defines what object spawns for what team when that team has control of the CP. Leave it blank and nothing will spawn for that team.

check this box and it will take the spawn time and make it so that spawn time must pass before the object will spawn after the CP has been taken.

the "decay timer" when no player is in its min distance radius, this is how long it will take to "blow up" so it can respawn at the main base.


This is the "decay distance", when a object is outside of this distance then the decay timer will start to tick.

This defines what team the object belongs too when it spawns. If you use my tip above with the CP 0 then you will need to set this. You will also need to set this for arty cannons so that they belong to a team when they spawn, or the commander will not be able to use them.

This defines how many of the defeined objects can spawn on this spawn point. so you can have 5 F-18s spawn on the same spawn point, but only one F-18 can be spawned at a time so you must move the first F-18 off the spawn, to make room for the 2nd F-18 to spawn etc.

I'm not 100% sure what this is but i think its the min radius it can spawn the object away from the center of the spawn point, best to leave this as it is.

these timers will control when the object is spawned. thou I only think the max (or is it the min?) one works so just set them both to the same time.

Best to keep this at 0, ive heard reports that in BF2:EF on one of there maps, 1 of there (very strange) C2s had this setting to 10 meters or something and a guy could repair it from that distance away....

not 100% sure but think it means visible in the editor. Leave it as it is.

these 3 im not sure about...

This box when checked will "lock" the vehicle. Make sure you only lock vehicles that are ment to be locked or you will cause server crashes!


All the following changes to be made to these guide lines: http://realitymod.com/forum/t13808-m...-aas2span.html

Now ive got the next bit pretty well sussed. First of all lets select every object, in every layer, so just group select them in your recorces tab. Then the bit you want to change for every object is the "TimeToLive" and "Distance" fields as they all use the same settings, apart from air craft that can easily be edited later on there own. Edit them to what the guide lines state. Also you will want to lock every object, then go around and unlock the objects that are not ment to be locked. This is the easier way since most objects do need to be locked and very few do not and the guide only defines what objects should not be locked so all in all, its easier
When this window pops up, click the "Yes" button then it will changes what you have changed for all the objects selected

This will save you loads, and i mean loads of time going though each object and making sure you have done each one

Now lets tweak the tank setting in the map. Select all your tanks (or w/e object type you want) in your map and lets first edit the spawn times as per the guide lines. In just 2 edits you have done all your tank spawn times

Now just do the same to all the rest of your vehicles, select them up into groups, then edit that group all at the same time, do this till all your layers are complete

TIP: to make life easier, to find what you want when scrolling down the list rename items so you can see what they are, like when you change a light jeep spawn to spawn a APC, tank, heavy jeep or w/e. Just right click on the object in the recorces tab and rename it.




Once you have set all the object spanwer, spawn times etc, now we can get into the other more detialed areas of the settings now we have done the basic setting in bulk.

First lets take any vehicles that you have in the center, at the mo on both the 64 and 32 I have 1 jeep spawning at every base in the center of the map. Now first what I want to do is too make all of these have a spawn delay, as thats part of the guide settings

so first, select all the vehicles in the middle of the map, on every layer and then do them all in bluk, check the "spawndelayatstart" box near the top of the settings list and apply the setting to all selected objects.

Now lets go to our Recorces tab and go selecting all the objects belonging to the US base (in this case the CP name you need to look out for is "ustown" but it will be diffrent depending on the CP name in your map

go though both the 64 and 32 layers doing this so you get every object that belongs to the US main CP.
Once done, you should only see select markers around your US Main base. if there is a marker selected near anouther base, that object needs to be checked.

Now once this is done, we do not want any of team 1's stuff to spawn when they take team 2's main base, so we need to make sure that none of the objects on that base will spawn anything for team 1. Simpley go down to the "VehicleTeam1" box and select the no object box.

Then apply changes to all objects. Dont worrie this will not effect the team 2 object spaner, only make the team 1 blank so nothing spawns for them if team 1 dose take the flag and hold it long enouth for an object to spawn.

Do the same for the other teams main base but this time, make team 2's object spawner blank instead of team 1's

Arty Cannons:
Now in my version of Daqing there aint going to be any arty cannons, but i will do this purley for an exsample.
Now I'm only going to do a USMC Arty cannon but you should get what you need to do. You place it as any other object spawner, like you would for a tank out of the list, but after placing it you will need set "TeamOnVehicle" to 1, (check the box) and you will also need to set the "Team" bit too "2" (if you want the arty cannon to work for team 2, other wise put in "1" for team 1, 0 is default). You dont need to worrie about setting the "Timetolive" or "distance" bits as the arty cannon is not going to move off the spawn location and it will need to before thous timers will start.
You will also need to give them a respawn time of "99999" so that they never respawn, as per the mapping guidelines.

JDAMs
JDAMs are set up in exactly the same way as arty cannons above, as they are basically the same thing with the weapon being diffrent.
Code:
- team 1 = jdam_team1
- team 2 = jdam_team2
Rally Points:
Again, in my version of Daqing I have no use for rally points but if you do, here is how you set them up. If you have done the pr_edit tut and if you look down the bottom of your object spawner templates, you will find templates for all the types of rallypoints you should need (apart from the millita for the moment). Basicly all you need to do is set them up like any other object, adjust the settings as per the guide lines and team lock them and they should work

Pickup Kits:
Pickup kits are easy enouth to place down, there are object templates for most of them if you look, and you spawn them like any other object. There respawn time etc needs to be setup for how long they respawn after the person using it has died, and the kit exspiers from not being held by a player.

That is basicly the end of the object spawners part. Just do the last finnishing touches like make an object have a sligthly extra long respawn time for w/e reason if you like, im personly just now going to finnish off with making some of the jeeps in the middle only spawn for 1 team, so the jeeps closest the teams flag will only spawn for that team. but depending on the map and what gameplay you want will decied this part.

PCO Settings
PCO settings are PCO spawners put on the map, that do not spawn anything instead the python code reads them and tweaks the settings where its needed. They should have the excat name as that stated below, and settings defined etc. It has to be in the GPO.con of that layer, and should be no more than one of each setting.

gpm_tickets
"gpm_tickets" works on ANY game mode and defines the tickets, dose not need to be used in AAS as it "should" be defined in the init.con but still can be used in AAS if needed.
Code:
MinSpawnDelay = Team 1 Tickets
MaxSpawnDelay = Team 2 Tickets

Step 5: Combat Zones

If you think the combat zones are fine as they are with your map, leave them be. If not, read this
First of all you will need to delete your current combat zones. to do this, first go into the combat zone editor by clicking this button at the top.
Once in the combat zone editor, you can now delete the old combat zones. You can not edit them you must delete them and then crate new ones over the top, this is why most ppl normaly leave them as they are unless they really need to be changed
To delete them, first drag a selection box around 1 of the "corner" parts of the combat zone, cant do it on a strait line or it wont pick up the slection.

Once selected the combat zone line will turn blue. when its blue hit the delete key, and a window will pop up asking if you want to delete the active (selected) combat area, click yes.
Now lets create our new combat zone. make sure you delete the old combat zone first before making a new one or you can some times run into problems if you try to delete them later on.
To start a new control point, right click where you want the start point to be and click on "Add Control Point". This is not a Control Point as in a flag so dont worrie, this is the start of your conmbat zone, not sure why they call it a CP but it is...

you will see a green cube apear on the ground where you crated it, then go to your next point where you want the line to be connected too and right click again, and add anouther control point or just hold the "alt" key and click on the ground and a new one will pop up, connecting it with the last one. keeping on doing this till you get near the last/begging point. when you come to curves use as many points as you think nessary to make it look "round" at the tips on the minimap. looks really odd and tacky if you just see a zig zag on the map.
When you come to the last/begging point, to make it join up and end the combat zone circle just click on the very zip of the start (while holding alt) and a window will pop up asking if you want to close the combat zone, click yes to close/finnish it.

Once thats done your main combat zone should be complete

Dome of Death
To add a dome of death is pretty easy. What you want to do here is crate anouther combat zone, over the top of your base combat zone. Make sure to go over the base combat zone if you dont want the enemy to get around and behind it. Also you can keep the number of lines as low as possible for this as no one is going to see it on the minimap, and the more CPs you add the more lag it crates (but not very much).

Now to crate this combat zone, into a dome of death we need to edit some of its settings. First drag a box around a coner bit again to make sure it is selected. Then if you look in your tweaker bar, you will notice a "Team" box. By defualt it is set to "0" which means the combat zone will effect both teams. if you change it to 1 or 2 it will effect the team selected. in this case I want to keep the MEC (team 1) out of this dome of death, so I simpley just change 0 to 1 and it will now only effect team 1. You will also now need to check the "Inverted" box in the tweaker bar to make it so the combat zone only is effective inside the ring where as defualt is outside. now you have a working dome of death

Now to go into more depth about combat zones, I'm going to quickly exsplain the settings in the tweaker bar.
This controls what layer the Combat Zone is on.
As stated above, this setting controls what team the combat zone effects.
Dunno what these settings do...
As stated above. this will invert the effected area of the combat zone when selected, from only effecting the outside, to only effecting the inside. this means before if you went outside this ring, you would be out of the combat area but after you check this box, you need to go into the ring to be out of the combat zone.
This box controls what kind of vehicle is effected by the combat zone. This can be used for crating an extra large, seprate combat zone around the base combat zone only for jets, to give them a much larger area to fly in and when you hop into a jet, you can still see the base combat zone, but the area between the base and the jet combat zone will be 1/2 transparent. When hand coding this the values are:
VehicleType "0" = Land
VehicleType "1" = Sea
VehicleType "2" = Planes
VehicleType "3" = Choppers
VehicleType "4" = All
VehicleType "5" = Planes/Choppers
This has something to do with the AI, i think it means if they AI can see it or not.


Step 6: Removing the Flag Polls

All CPs need their physical flag polls removed, here is how you do it. This is infact best done outside the editor so lets first close it down, make sure you save everything first
Open up "\*YOUT MAP*\Editor\GamePlayObjects.con\" file and scroll down to the Control Points part (tip: easit way to find it is just do a search for "control points").
Now for Darqing, I want to have the main base CPs have flag polls, but all the other inner flags can have them removed, so do not edit the CPs that you want to keep there flag polls.
I'm going to take the "CPNAME_DO_64_refinery" flag for this exsample.
Code:
rem [ControlPointTemplate: CPNAME_DO_64_refinery]
ObjectTemplate.create ControlPoint CPNAME_DO_64_refinery
ObjectTemplate.activeSafe ControlPoint CPNAME_DO_64_refinery
ObjectTemplate.modifiedByUser "Edmund Fovargue"
ObjectTemplate.setNetworkableInfo ControlPointInfo
ObjectTemplate.isNotSaveable 1
ObjectTemplate.hasMobilePhysics 0
ObjectTemplate.hasCollisionPhysics 1
ObjectTemplate.physicsType Mesh
rem -------------------------------------
ObjectTemplate.addTemplate flagpole
rem -------------------------------------
ObjectTemplate.setControlPointName CPNAME_DO_64_refinery
ObjectTemplate.radius 60
ObjectTemplate.radiusOffset 40/-20/0
ObjectTemplate.controlPointId 4
ObjectTemplate.areaValueTeam1 25
ObjectTemplate.areaValueTeam2 25
ObjectTemplate.timeToGetControl 120
ObjectTemplate.timeToLoseControl 120
ObjectTemplate.supplyGroupId 3
ObjectTemplate.hoistMinMax 0.2/0.9
Code:
   rem [ControlPoint: CPNAME_DO_64_refinery]
   Object.create CPNAME_DO_64_refinery
   Object.absolutePosition -53.518/144.485/-243.046
   Object.layer 2
To remove the flag poll, simpley delete this part of the code from each CP:
Code:
rem -------------------------------------
ObjectTemplate.addTemplate flagpole
rem -------------------------------------
This will remove the object template that has the flag poll, and also has the sound etc on it.
Now that is not quite all of it as if you just leave it at that, you will have the top of the flag still sticking though the ground where the base of the flag poll was before.
To stop this from happing in the 2nd group of the CP code, change the CP's absolutePosition so that it is 1 meter lower than it was before. for exsample.

Before:
Code:
   rem [ControlPoint: CPNAME_DO_64_refinery]
   Object.create CPNAME_DO_64_refinery
   Object.absolutePosition -53.518/144.485/-243.046
   Object.layer 2
After:
Code:
   rem [ControlPoint: CPNAME_DO_64_refinery]
   Object.create CPNAME_DO_64_refinery
   Object.absolutePosition -53.518/143.485/-243.046
   Object.layer 2
Now that our flag is under the ground, we now need to razie up the offset of the CP radius otherwise the radius is going to be 1m lower than what it was before. Thou this might not sound like much and in most cases it probaly is not it is always best to change this anyways.
so like we did in the last bit, change the "ObjectTemplate.radiusOffset" postion so its 1m higher than what it was before. Exsample.

Before:
Code:
rem [ControlPointTemplate: CPNAME_DO_64_refinery]
ObjectTemplate.create ControlPoint CPNAME_DO_64_refinery
ObjectTemplate.activeSafe ControlPoint CPNAME_DO_64_refinery
ObjectTemplate.modifiedByUser "Edmund Fovargue"
ObjectTemplate.setNetworkableInfo ControlPointInfo
ObjectTemplate.isNotSaveable 1
ObjectTemplate.hasMobilePhysics 0
ObjectTemplate.hasCollisionPhysics 1
ObjectTemplate.physicsType Mesh
rem -------------------------------------
ObjectTemplate.addTemplate flagpole
rem -------------------------------------
ObjectTemplate.setControlPointName CPNAME_DO_64_refinery
ObjectTemplate.radius 60
ObjectTemplate.radiusOffset 40/-20/0
ObjectTemplate.controlPointId 4
ObjectTemplate.areaValueTeam1 25
ObjectTemplate.areaValueTeam2 25
ObjectTemplate.timeToGetControl 120
ObjectTemplate.timeToLoseControl 120
ObjectTemplate.supplyGroupId 3
ObjectTemplate.hoistMinMax 0.2/0.9
After:
Code:
rem [ControlPointTemplate: CPNAME_DO_64_refinery]
ObjectTemplate.create ControlPoint CPNAME_DO_64_refinery
ObjectTemplate.activeSafe ControlPoint CPNAME_DO_64_refinery
ObjectTemplate.modifiedByUser "Edmund Fovargue"
ObjectTemplate.setNetworkableInfo ControlPointInfo
ObjectTemplate.isNotSaveable 1
ObjectTemplate.hasMobilePhysics 0
ObjectTemplate.hasCollisionPhysics 1
ObjectTemplate.physicsType Mesh
rem -------------------------------------
ObjectTemplate.addTemplate flagpole
rem -------------------------------------
ObjectTemplate.setControlPointName CPNAME_DO_64_refinery
ObjectTemplate.radius 60
ObjectTemplate.radiusOffset 40/-19/0
ObjectTemplate.controlPointId 4
ObjectTemplate.areaValueTeam1 25
ObjectTemplate.areaValueTeam2 25
ObjectTemplate.timeToGetControl 120
ObjectTemplate.timeToLoseControl 120
ObjectTemplate.supplyGroupId 3
ObjectTemplate.hoistMinMax 0.2/0.9
After you have done all the CPs, save up that .con, load up the editor and your map again, and then go to File>resave and resave your objects. This will save your GPO.con file and split it up into each layer. Otherwise your sub GPO.con files would have not got changed when you edited your editors GPO.con file.


After all that your flags will look like this :




Step 7: Final Tweaks

Almost there ppl, not long now!
First make sure the Editor closed.
Open up the "\*YOUR MAP*\Init.con" file with a text editor, and then the first thing we want to add is the spawner files code. Without it your map will crash on load, and you will not be able to request kits etc if it did load.

add this line of code:
Code:
run ../../objects/common/spawners/spawners_common.con
under the "run TriggerableTemplates.con" bit in your init.con file. Then under that you will need to then include the spawner file specific for the map factions:
Code:
run ../../objects/common/spawners/spawners_us.con
run ../../objects/common/spawners/spawners_mec.con
run ../../objects/common/spawners/spawners_gb.con
run ../../objects/common/spawners/spawners_ch.con
run ../../objects/common/spawners/spawners_meinsurgent.con
run ../../objects/common/spawners/spawners_chinsurgent.con
As my map has USMC and the Chinese I need to include only the US and CH lines, Exsample:

Quote:
rem *** Generated by BF2Editor ***
if v_arg1 == BF2Editor

run Heightdata.con
LevelSettings.InitWorld
run Terrain.con BF2Editor
run StaticObjects.con BF2Editor
run Sounds.con
run Sky.con BF2Editor
run Editor/GamePlayObjects.con host
UndergrowthEditable.create
Undergrowth.load Levels\Daqing_oilfields\
run Overgrowth/Overgrowth.con
Overgrowth.editorEnable 1
run AmbientObjects.con BF2Editor
run Water.con
run TriggerableTemplates.con BF2Editor

else

run Heightdata.con
run Terrain.con v_arg2
run Sky.con v_arg2
run CompiledRoads.con
run Sounds.con
run tmp.con v_arg1
Undergrowth.load Levels\Daqing_oilfields\
run Overgrowth/Overgrowth.con
run Overgrowth/OvergrowthCollision.con
run AmbientObjects.con
run Water.con
run TriggerableTemplates.con
run ../../objects/common/spawners/spawners_common.con
run ../../objects/common/spawners/spawners_us.con
run ../../objects/common/spawners/spawners_ch.con


endIf

Lets move onto the kits setup for your map. Here are all the verations of kits you can use:

Code:
rem GB VERSUS PLA
rem ------------------------------- LevelSettings -------------------------------
rem -----------------------------------------------------------------------------

gameLogic.setTeamName 1 "CH"
gameLogic.setTeamName 2 "GB"

gameLogic.setTeamLanguage 1 "Chinese"
gameLogic.setTeamLanguage 2 "GBEnglish"

gameLogic.setTeamFlag 0 "flag_neutral"
gameLogic.setTeamFlag 1 "flag_ch"
gameLogic.setTeamFlag 2 "flag_gb"

gameLogic.setKit 1 0 "ch_riflemanab" "ch_heavy_soldier"
gameLogic.setKit 2 0 "gb_riflemanab" "gb_heavy_soldier"

gameLogic.setKit 1 1 "ch_rifleman" "ch_heavy_soldier"
gameLogic.setKit 2 1 "gb_rifleman" "gb_heavy_soldier"

gameLogic.setKit 1 2 "ch_engineer" "ch_heavy_soldier"
gameLogic.setKit 2 2 "gb_engineer" "gb_heavy_soldier"

gameLogic.setKit 1 3 "ch_medic" "ch_lightarmor_soldier"
gameLogic.setKit 2 3 "gb_medic" "gb_lightarmor_soldier"

gameLogic.setKit 1 4 "ch_officer" "ch_heavy_soldier"
gameLogic.setKit 2 4 "gb_officer" "gb_heavy_soldier"

rem -----------------------------------------------------------------------------


rem GB VERSUS MEC
rem ------------------------------- LevelSettings -------------------------------
rem -----------------------------------------------------------------------------

gameLogic.setTeamName 1 "MEC"
gameLogic.setTeamName 2 "GB"

gameLogic.setTeamLanguage 1 "MEC"
gameLogic.setTeamLanguage 2 "GBEnglish"

gameLogic.setTeamFlag 0 "flag_neutral"
gameLogic.setTeamFlag 1 "flag_mec"
gameLogic.setTeamFlag 2 "flag_gb"

gameLogic.setKit 1 0 "mec_riflemanab" "mec_heavy_soldier"
gameLogic.setKit 2 0 "gb_riflemanab" "gb_heavy_soldier"

gameLogic.setKit 1 1 "mec_rifleman" "mec_heavy_soldier"
gameLogic.setKit 2 1 "gb_rifleman" "gb_heavy_soldier"

gameLogic.setKit 1 2 "mec_engineer" "mec_heavy_soldier"
gameLogic.setKit 2 2 "gb_engineer" "gb_heavy_soldier"

gameLogic.setKit 1 3 "mec_medic" "mec_lightarmor_soldier"
gameLogic.setKit 2 3 "gb_medic" "gb_lightarmor_soldier"

gameLogic.setKit 1 4 "mec_officer" "mec_heavy_soldier"
gameLogic.setKit 2 4 "gb_officer" "gb_heavy_soldier"

rem -----------------------------------------------------------------------------


rem GB VERSUS INSURGENTS
rem ------------------------------- LevelSettings -------------------------------
rem -----------------------------------------------------------------------------

gameLogic.setTeamName 1 "MEInsurgent"
gameLogic.setTeamName 2 "GB"

gameLogic.setTeamLanguage 1 "MEC"
gameLogic.setTeamLanguage 2 "GBEnglish"

gameLogic.setTeamFlag 0 "flag_neutral"
gameLogic.setTeamFlag 1 "flag_in"
gameLogic.setTeamFlag 2 "flag_gb"

gameLogic.setKit 1 0 "meinsurgent_insurgent" "meinsurgent_soldier"
gameLogic.setKit 2 0 "gb_riflemanab" "gb_heavy_soldier"

gameLogic.setKit 1 1 "meinsurgent_insurgent" "meinsurgent_soldier"
gameLogic.setKit 2 1 "gb_rifleman" "gb_heavy_soldier"

gameLogic.setKit 1 2 "meinsurgent_ambusher" "meinsurgent_heavy_soldier"
gameLogic.setKit 2 2 "gb_engineer" "gb_heavy_soldier"

gameLogic.setKit 1 3 "meinsurgent_warveteran" "meinsurgent_medium_soldier"
gameLogic.setKit 2 3 "gb_medic" "gb_lightarmor_soldier"

gameLogic.setKit 1 4 "meinsurgent_officer" "meinsurgent_soldier"
gameLogic.setKit 2 4 "gb_officer" "gb_heavy_soldier"

rem -----------------------------------------------------------------------------



rem GB VERSUS MILITIA
rem ------------------------------- LevelSettings -------------------------------
rem -----------------------------------------------------------------------------

gameLogic.setTeamName 1 "CHinsurgent"
gameLogic.setTeamName 2 "GB"

gameLogic.setTeamLanguage 1 "rebels"
gameLogic.setTeamLanguage 2 "GBEnglish"

gameLogic.setTeamFlag 0 "flag_neutral"
gameLogic.setTeamFlag 1 "flag_re"
gameLogic.setTeamFlag 2 "flag_gb"

gameLogic.setKit 1 0 "chinsurgent_scout" "chinsurgent_soldier"
gameLogic.setKit 2 0 "gb_riflemanab" "gb_heavy_soldier"

gameLogic.setKit 1 1 "chinsurgent_militant" "chinsurgent_heavy_soldier"
gameLogic.setKit 2 1 "gb_Rifleman" "gb_heavy_soldier"

gameLogic.setKit 1 2 "chinsurgent_sapper" "chinsurgent_heavy_soldier"
gameLogic.setKit 2 2 "gb_engineer" "gb_heavy_soldier"

gameLogic.setKit 1 3 "chinsurgent_medic" "chinsurgent_soldier"
gameLogic.setKit 2 3 "gb_medic" "gb_lightarmor_soldier"

gameLogic.setKit 1 4 "chinsurgent_officer" "chinsurgent_heavy_soldier"
gameLogic.setKit 2 4 "gb_officer" "gb_heavy_soldier"

rem -----------------------------------------------------------------------------


rem USMC VERSUS PLA
rem ------------------------------- LevelSettings -------------------------------
rem -----------------------------------------------------------------------------

gameLogic.setTeamName 1 "CH"
gameLogic.setTeamName 2 "US"

gameLogic.setTeamLanguage 1 "Chinese"
gameLogic.setTeamLanguage 2 "English"

gameLogic.setTeamFlag 0 "flag_neutral"
gameLogic.setTeamFlag 1 "flag_ch"
gameLogic.setTeamFlag 2 "flag_us"

gameLogic.setKit 1 0 "ch_riflemanab" "ch_heavy_soldier"
gameLogic.setKit 2 0 "us_riflemanab" "us_heavywhite_soldier"

gameLogic.setKit 1 1 "ch_rifleman" "ch_heavy_soldier"
gameLogic.setKit 2 1 "us_rifleman" "us_heavy_soldier"

gameLogic.setKit 1 2 "ch_engineer" "ch_heavy_soldier"
gameLogic.setKit 2 2 "us_engineer" "us_heavywhite_soldier"

gameLogic.setKit 1 3 "ch_medic" "ch_lightarmor_soldier"
gameLogic.setKit 2 3 "us_medic" "us_lightarmor_soldier"

gameLogic.setKit 1 4 "ch_officer" "ch_heavy_soldier"
gameLogic.setKit 2 4 "us_officer" "us_heavywhite_soldier"

rem -----------------------------------------------------------------------------


rem USMC VERSUS MEC
rem ------------------------------- LevelSettings -------------------------------
rem -----------------------------------------------------------------------------

gameLogic.setTeamName 1 "MEC"
gameLogic.setTeamName 2 "US"

gameLogic.setTeamLanguage 1 "MEC"
gameLogic.setTeamLanguage 2 "English"

gameLogic.setTeamFlag 0 "flag_neutral"
gameLogic.setTeamFlag 1 "flag_mec"
gameLogic.setTeamFlag 2 "flag_us"

gameLogic.setKit 1 0 "mec_riflemanab" "mec_heavy_soldier"
gameLogic.setKit 2 0 "us_riflemanAB" "us_heavywhite_soldier"

gameLogic.setKit 1 1 "mec_rifleman" "mec_heavy_soldier"
gameLogic.setKit 2 1 "us_rifleman" "us_heavy_soldier"

gameLogic.setKit 1 2 "mec_engineer" "mec_heavy_soldier"
gameLogic.setKit 2 2 "us_engineer" "us_heavywhite_soldier"

gameLogic.setKit 1 3 "mec_medic" "mec_lightarmor_soldier"
gameLogic.setKit 2 3 "us_medic" "us_lightarmor_soldier"

gameLogic.setKit 1 4 "mec_officer" "mec_heavy_soldier"
gameLogic.setKit 2 4 "us_officer" "us_heavywhite_soldier"

rem -----------------------------------------------------------------------------


rem USMC VERSUS INSURGENTS
rem ------------------------------- LevelSettings -------------------------------
rem -----------------------------------------------------------------------------

gameLogic.setTeamName 1 "MEInsurgent"
gameLogic.setTeamName 2 "US"

gameLogic.setTeamLanguage 1 "MEC"
gameLogic.setTeamLanguage 2 "English"

gameLogic.setTeamFlag 0 "flag_neutral"
gameLogic.setTeamFlag 1 "flag_in"
gameLogic.setTeamFlag 2 "flag_us"

gameLogic.setKit 1 0 "meinsurgent_insurgent" "meinsurgent_soldier"
gameLogic.setKit 2 0 "us_riflemanab" "us_heavywhite_soldier"

gameLogic.setKit 1 1 "meinsurgent_insurgent" "meinsurgent_soldier"
gameLogic.setKit 2 1 "us_rifleman" "us_heavy_soldier"

gameLogic.setKit 1 2 "meinsurgent_ambusher" "meinsurgent_heavy_soldier"
gameLogic.setKit 2 2 "us_engineer" "us_heavywhite_soldier"

gameLogic.setKit 1 3 "meinsurgent_warveteran" "meinsurgent_medium_soldier"
gameLogic.setKit 2 3 "us_medic" "us_lightarmor_soldier"

gameLogic.setKit 1 4 "meinsurgent_officer" "meinsurgent_soldier"
gameLogic.setKit 2 4 "us_officer" "us_heavywhite_soldier"


rem -----------------------------------------------------------------------------
Then just paste it ontop of the kits that are already in your init.con file and then you have your kits all setup again






Now onto the last bit, tickets.
if you scroll down to a bit that looks something like this:
Code:
gameLogic.setDefaultNumberOfTicketsEx 16 1 100
gameLogic.setDefaultNumberOfTicketsEx 16 2 100
gameLogic.setDefaultNumberOfTicketsEx 32 1 200
gameLogic.setDefaultNumberOfTicketsEx 32 2 200
gameLogic.setDefaultNumberOfTicketsEx 64 1 300
gameLogic.setDefaultNumberOfTicketsEx 64 2 300
gameLogic.setDefaultNumberOfTicketsEx 128 1 200
gameLogic.setDefaultNumberOfTicketsEx 128 2 200
gameLogic.setDefaultTimeToNextAIWave 0
gameLogic.setTicketLossAtEndPerMin 200
gameLogic.setTicketLossPerMin 1 10
gameLogic.setTicketLossPerMin 2 10
This is what sets up the tickets for the map. Its quite simple to understand. If you look at it each of the first 8 lines are set up abit like this:
Code:
gameLogic.setDefaultNumberOfTicketsEx ## * ---
With the "##" being the size of the map, ie 16, 32, 64 and the 128 is left over from EA's early versions of BF2, you dont need to worrie about the 128.
the "*" being team 1 or team 2, simple enouth to under stand.
then the "---" is the amount of tickets.
so if we look above, the first line tells us on the 16 man layer, team 1 has 100 tickets.
2nd line tells us on the 16man layer, team 2 has 100 tickets, etc etc.
Now all you want to be chaning is the ticket values. So as per the mapping guidelines, im going to change mine so both teams have equal tickets (on each map size) as its a symmetrical map but you can easily make teams have diffrent amount of starting tickets for an asymmetrical map by just giving team 1 and team 2 diffrent ticket vlaues.

The "gameLogic.setDefaultTimeToNextAIWave" is to do with SP, would leave it as it is.

Code:
gameLogic.setTicketLossPerMin 1 10
gameLogic.setTicketLossPerMin 2 10
This bit of code represents how much ticket loss there is, per min for each team once the other team has a area value of 100 which starts the bleed. As far as I know this setting is only acording to when the area value is excatly 100, if the area value reaches 200 I think it will bleed on 2x the value you have set up, per min. You can also see that both team 1, and team 2 have there own settings here. For this map im going to leave it as it is.

After my edits:
Code:
gameLogic.setDefaultNumberOfTicketsEx 16 1 150
gameLogic.setDefaultNumberOfTicketsEx 16 2 150
gameLogic.setDefaultNumberOfTicketsEx 32 1 300
gameLogic.setDefaultNumberOfTicketsEx 32 2 300
gameLogic.setDefaultNumberOfTicketsEx 64 1 500
gameLogic.setDefaultNumberOfTicketsEx 64 2 500
gameLogic.setDefaultNumberOfTicketsEx 128 1 200
gameLogic.setDefaultNumberOfTicketsEx 128 2 200
gameLogic.setDefaultTimeToNextAIWave 0
gameLogic.setTicketLossAtEndPerMin 200
gameLogic.setTicketLossPerMin 1 10
gameLogic.setTicketLossPerMin 2 10
Next is adding in the "Team Makers", and these are simpley added into the very bottom of the init.con file like so with the following code, these must go into every map as a bunch of python code like laser guided bomb markers work on these:
Code:
gameLogic.setTeamDropVehicle 1 "mark_team1"
gameLogic.setTeamDropVehicle 2 "mark_team2"
and will look like this:


After you have done all that, save up the init.con file, exit it and then you need to make it read only so that the editor dose not change it and delete your changes. Probaly a good idea to also make a backup of this file / all of your work aswell right after this




Step 8: Packing up the map

In this Tut we have only changed afew files that belong to the server.zip
If you have followed this tut excatly you will only need to pack the files I list below, if not pack any extra files you have changed in the correct places.

The files you need to pack up into the server.zip are:
  • Init.con
  • The Eniter GameModes folder with all the .cons inside

You will also need to packup your editor folder (with only the .con files, dont put in the editor colour and detail maps they will take up far too much space) and attach it to the upload of your map for future audits + backup

Crate a .zip with the map folder, inside the folder the server.zip and anouther editor.zip with your editor files and upload it.



Comments / Questions / Have I missed anything out?

Rhino is offline
Last edited by [R-DEV]Rhino; 2010-03-30 at 09:30..
Reply With Quote
Old 2009-03-18, 19:37   #2
Cpl.Small
Default Re: [Tutorial] Map Audit

the layers.con link doesn't work :S
Cpl.Small is offline Reply With Quote
Old 2009-03-18, 22:13   #3
Ragni<RangersPL>
Default Re: [Tutorial] Map Audit

Quote:
Originally Posted by Cpl.Small View Post
the layers.con link doesn't work :S

Just copy layers.con from any other map and edit it just like in the tutorial.... everything should be fine
Ragni<RangersPL> is offline Reply With Quote
Old 2009-04-19, 17:39   #4
Pte.Paynter
Banned
Supporting Member

Pte.Paynter's Avatar
Thumbs up Re: [Map Tutorial] Map Audit

Wow thank you very much Rhino this will be very very useful love all the info.

Thank You.

Cheers.
Pte.Paynter is offline Reply With Quote
Old 2009-05-01, 22:35   #5
torenico
Default Re: [Map Tutorial] Map Audit

Whats the point of the First step?

I wanna learn the AAS Mode so i can continue whit my Project, these Flag and Object options are good..

About the Flagpole.. you ever tried to rename it, theres 3 different "Flags" in bf2, one is the Flagpole and the rest are whitout the pole (duh) :P

Right now i cant remember thees names.

Also, thanks for the Combat Zone tuto bro!
torenico is offline Reply With Quote
Old 2009-06-18, 18:53   #6
Rudd
Retired PR Developer
Supporting Member

Rudd's Avatar
Default Re: [Map Tutorial] Map Audit

Quote:
I always like to work off a template so download this Layer.con file (right click, save as) http://www.gloryhoundz.com/prmm/users/rhino/Layer.con
This link appears to be dead

if someone could send it to me xfire = trekkyaaron


Rudd is offline
Last edited by Rudd; 2009-06-22 at 03:49..
Reply With Quote
Old 2009-07-03, 03:30   #7
HangMan_
Default Re: [Map Tutorial] Map Audit

Links to guidelines don't work :P Also do u have a tut for Insurgency mode Rhino? Cheers
HangMan_ is offline Reply With Quote
Old 2009-07-04, 03:54   #8
McBumLuv
Default Re: [Map Tutorial] Map Audit

Quick question, if you are auditing a current pr map, but are pretty much making all the CP/vehicles/spawns from scratch, do you still need to go through the first step? Or what would you do to set it up?
McBumLuv is offline Reply With Quote
Old 2009-07-04, 11:58   #9
Rhino
Retired PR Developer
Supporting Member

Rhino's Avatar
Default Re: [Map Tutorial] Map Audit

Quote:
Originally Posted by McLuv View Post
Quick question, if you are auditing a current pr map, but are pretty much making all the CP/vehicles/spawns from scratch, do you still need to go through the first step? Or what would you do to set it up?
I would start from scratch in your case.

Rhino is offline Reply With Quote
Old 2009-07-25, 02:31   #10
Rudd
Retired PR Developer
Supporting Member

Rudd's Avatar
Default Re: [Map Tutorial] Map Audit

Once the audit is done, how do you get it to function as a seperate folder to teh original?

lets say I audited Kashan, and I've got the audit under the name audit_kashan

I've done https://www.realitymod.com/forum/f18...alisation.html

so all the flags function under correct names etc.

what do I do next to get the game to understand this map is independant of the original? because so far I can only get the damned thing to work if I have the folder under the name of the original map, which has obvious implications.

is it something to do with the gsid?


Rudd is offline Reply With Quote
Reply


Tags
audit, map, tutorial

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT. The time now is 18:42.