Page 1 of 1

The 16 Command Post limit broken (discovery!!!)

Posted: Tue Aug 14, 2007 10:06 am
by Master Fionwë
I have been told that there is a limit to the number of command posts that you can have in a map. Also, putting more than sixteen cps in will result in a crash, and you'll get this message in the error log:
Message Severity: 3
C:\Battlefront2\main\Battlefront2\Source\CommandPost.cpp(279)
Exceeded 16 command posts!
Command walkers, atte, atat; command flyers, laat, droid gunship; the controlzones, and then the destructable, stationary command posts, forward centers, technounion cp, all count towards that max. Now, I've been working on making my Geonosis map better, improving and finishing it. One of the things that I tampered with are the command posts, and I've succeeded in breaking that limit. I found a way around it. In the odf, the class label is commandpost for any type of cp. Change that to animatedbuilding, and while the item will still act like a command post, the game won't know that it is one, it'll think it's just an animated building.

Hope this helps people who are making large maps!

RE: The 16 Command Post limit broken

Posted: Tue Aug 14, 2007 10:14 am
by wazmol
and does this till count towards a win in the .lua? if so great find fionwe thanks yet again!

Posted: Tue Aug 14, 2007 10:33 am
by Master Fionwë
Always a pleasure to be of help!

Here are the two odfs, the unedited one, and the changed one.

This is the unedited one:
Hidden/Spoiler:
[quote][GameObjectClass]

ClassLabel = "commandpost"
GeometryName = "rep_bldg_forwardcenter.msh"


[Properties]

DenyFlyerLand = "1"
SwitchClassRadius = 15.0

BUILDINGSECTION = "BODY"
Label = "Control Zone"
MapTexture = "hud_dest_icon"
MapScale = 3.0
HealthTexture = "HUD_rep_forward_comm_icon"

GeometryName = "rep_bldg_forwardcenter"
DestroyedGeometryName = "rep_bldg_forwardcenter_dest"
MaxHealth = "30000.0"

MaxShield = 1000
AddShield = 75

ExplosionDestruct = "rep_bldg_forwardcenter_exp"

\\ ---------COLLISION-----------

VehicleCollision = "p_vehiclecylinder1"
VehicleCollision = "p_vehiclecylinder2"

SoldierCollision = "CollisionMesh"
OrdnanceCollision = "CollisionMesh"

CHUNKSECTION = "CHUNK1"
ChunkGeometryName = "rep_bldg_forwardcenter_chunk1"
ChunkNodeName = ""
ChunkTerrainCollisions = "0"
ChunkTerrainEffect = "com_sfx_explosion_lg"
ChunkTrailEffect = "com_sfx_chunktrail_sm"
ChunkPhysics = "FULL"
ChunkOmega = "2.0 2.0 2.0"
ChunkSpeed = "12.0"
ChunkUpFactor = "4.00"

[InstanceProperties]
CaptureRegion = ""
ControlRegion = ""
KillRegion = ""
SpawnPath = ""
AllyPath = ""
AllyCount = 65536
Radius = 0.0
ValueBleed = 10
Value_ATK_Alliance = 10
Value_ATK_CIS = 10
Value_ATK_Empire = 10
Value_ATK_Republic = 10
Value_DEF_Alliance = 10
Value_DEF_CIS = 10
Value_DEF_Empire = 10
Value_DEF_Republic = 10
Value_DEF_Locals = 10
HUDIndexDisplay = 1
VO_All_AllCapture = ""
VO_All_AllLost = ""
VO_All_AllInDispute = ""
VO_All_AllSaved = ""
VO_All_AllInfo = ""
VO_All_ImpCapture = ""
VO_All_ImpLost = ""
VO_All_ImpInDispute = ""
VO_All_ImpSaved = ""
VO_All_ImpInfo = ""
VO_Imp_AllCapture = ""
VO_Imp_AllLost = ""
VO_Imp_AllInDispute = ""
VO_Imp_AllSaved = ""
VO_Imp_AllInfo = ""
VO_Imp_ImpCapture = ""
VO_Imp_ImpLost = ""
VO_Imp_ImpInDispute = ""
VO_Imp_ImpSaved = ""
VO_Imp_ImpInfo = ""
VO_Rep_RepCapture = ""
VO_Rep_RepLost = ""
VO_Rep_RepInDispute = ""
VO_Rep_RepSaved = ""
VO_Rep_RepInfo = ""
VO_Rep_CISCapture = ""
VO_Rep_CISLost = ""
VO_Rep_CISInDispute = ""
VO_Rep_CISSaved = ""
VO_Rep_CISInfo = ""
VO_CIS_RepCapture = ""
VO_CIS_RepLost = ""
VO_CIS_RepInDispute = ""
VO_CIS_RepSaved = ""
VO_CIS_RepInfo = ""
VO_CIS_CISCapture = ""
VO_CIS_CISLost = ""
VO_CIS_CISInDispute = ""
VO_CIS_CISSaved = ""
VO_CIS_CISInfo = ""
Strategic_Filter1 = ""
Strategic_Filter2 = ""
Strategic_Filter3 = ""
Strategic_Filter4 = ""
Strategic_Filter5 = ""
Strategic_Filter6 = ""
SoldierBan = ""
HoverBan = ""
SmallBan = ""
MediumBan = ""
HugeBan = ""
FoleyFXGroup = "metal_foley"[/quote]
This is the edited one:
Hidden/Spoiler:
[quote][GameObjectClass]

ClassLabel = "animatedbuilding"
GeometryName = "rep_bldg_forwardcenter.msh"


[Properties]

DenyFlyerLand = "1"
SwitchClassRadius = 15.0

BUILDINGSECTION = "BODY"
Label = "Control Zone"
MapTexture = "hud_dest_icon"
MapScale = 3.0
HealthTexture = "HUD_rep_forward_comm_icon"

GeometryName = "rep_bldg_forwardcenter"
DestroyedGeometryName = "rep_bldg_forwardcenter_dest"
MaxHealth = "5000.0"

MaxShield = 1000
AddShield = 75

ExplosionDestruct = "rep_bldg_forwardcenter_exp"

EnableDeathExplosions = "1"

\\ ---------COLLISION-----------

VehicleCollision = "p_vehiclecylinder1"
VehicleCollision = "p_vehiclecylinder2"

SoldierCollision = "CollisionMesh"
OrdnanceCollision = "CollisionMesh"

CHUNKSECTION = "CHUNK1"
ChunkGeometryName = "rep_bldg_forwardcenter_chunk1"
ChunkNodeName = ""
ChunkTerrainCollisions = "0"
ChunkTerrainEffect = "com_sfx_explosion_lg"
ChunkTrailEffect = "com_sfx_chunktrail_sm"
ChunkPhysics = "FULL"
ChunkOmega = "2.0 2.0 2.0"
ChunkSpeed = "12.0"
ChunkUpFactor = "4.00"

FoleyFXGroup = "metal_foley"[/quote]
This wil not work for conquest with the controlzone, as the lua calls for commandpost, nor will it work for control regions, the vehicle spawn will not be able to find the commandpost. But it does work with other modes, which don't require the commad post in the script, and you can still spawn in vehicles by assigning a vehicle spawn to a team, and not setting it to a cp.