Too Many Units Already! [Solved]

In this forum you will find and post information regarding the modding of Star Wars Battlefront 2. DO NOT POST MOD IDEAS/REQUESTS.

Moderator: Moderators

Post Reply
User avatar
Tourny
Command Sergeant Major
Command Sergeant Major
Posts: 289
Joined: Sat Sep 27, 2008 5:58 pm
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: Crifton
Contact:

Too Many Units Already! [Solved]

Post by Tourny »

Hi,
I put a droideka into my map. I had gone into the ODF and took off the point limit. Now when I play, it says "Too Many Units Already!". Which has happened before, when there are too many units already. What's wierd is that right under it, it says "Unit Count: 0". I would run an error log, but I can't find my BF2 disk. Has anybody else had this problem before?
RogueKnight
Space Ranger
Posts: 2512
Joined: Sat Nov 22, 2008 1:50 pm
Projects :: Life. Work.
Games I'm Playing :: League of Legends
xbox live or psn: No gamertag set
Location: Washington, US

Re: Too Many Units Already!

Post by RogueKnight »

Post your maps .lua, I think i know the problem.
User avatar
Tourny
Command Sergeant Major
Command Sergeant Major
Posts: 289
Joined: Sat Sep 27, 2008 5:58 pm
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: Crifton
Contact:

Re: Too Many Units Already!

Post by Tourny »

Here it is:
Hidden/Spoiler:
[code]--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("ObjectiveTDM")

-- Empire Attacking (attacker is always #1)
local ALL = 2
local IMP = 1
-- These variables do not change
local ATT = 1
local DEF = 2

function ScriptPostLoad()
EnableSPHeroRules()
-- This is the actual objective setup
TDM = ObjectiveTDM:New{teamATT = 1, teamDEF = 2,
multiplayerScoreLimit = 100,
textATT = "game.modes.tdm",
textDEF = "game.modes.tdm2", multiplayerRules = true, isCelebrityDeathmatch = true}
TDM:Start()

AddAIGoal(1, "Deathmatch", 100)
AddAIGoal(2, "Deathmatch", 100)

CreateTimer("tombcastle_timer")
CreateTimer("castletomb_timer")

ActivateRegion("tombcastle_panel")
ActivateRegion("castletomb_panel")
ActivateRegion("sarlaccstomach")
ActivateRegion("jawa_door")

OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"castle_node")
end,
"tombcastle"
)

OnEnterRegion(
function(region,character)
ActivateRegion("tombcastle")
end,
"tombcastle_panel"
)

OnEnterRegion(
function(region,character)
ShowMessageText("game.stargate.tombcastle.dialing", ATT)
end,
"tombcastle_panel"
)

OnEnterRegion(
function(region,character)
ShowMessageText("game.stargate.tombcastle.dialing", DEF)
end,
"tombcastle_panel"
)

OnEnterRegion(
function(region,character)
DeactivateRegion("tombcastle_panel")
end,
"tombcastle_panel"
)

OnEnterRegion(
function(region,character)
SetTimerValue("tombcastle_timer", 10)
end,
"tombcastle_panel"
)

OnEnterRegion(
function(region,character)
StartTimer("tombcastle_timer")
end,
"tombcastle_panel"
)

OnTimerElapse(
function(timer)
DeactivateRegion("tombcastle")
end,
"tombcastle_timer"
)

OnTimerElapse(
function(timer)
ShowMessageText("game.stargate.tombcastle.closing", DEF)
end,
"tombcastle_timer"
)

OnTimerElapse(
function(timer)
ShowMessageText("game.stargate.tombcastle.closing", ATT)
end,
"tombcastle_timer"
)

OnTimerElapse(
function(timer)
ActivateRegion("tombcastle_panel")
end,
"tombcastle_timer"
)

OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"tomb_node")
end,
"castletomb"
)

OnEnterRegion(
function(region,character)
ActivateRegion("castletomb")
end,
"castletomb_panel"
)

OnEnterRegion(
function(region,character)
ShowMessageText("game.stargate.castletomb.dialing", ATT)
end,
"castletomb_panel"
)

OnEnterRegion(
function(region,character)
ShowMessageText("game.stargate.castletomb.dialing", DEF)
end,
"castletomb_panel"
)

OnEnterRegion(
function(region,character)
DeactivateRegion("castletomb_panel")
end,
"castletomb_panel"
)

OnEnterRegion(
function(region,character)
SetTimerValue("castletomb_timer", 10)
end,
"castletomb_panel"
)

OnEnterRegion(
function(region,character)
StartTimer("castletomb_timer")
end,
"castletomb_panel"
)

OnTimerElapse(
function(timer)
DeactivateRegion("castletomb")
end,
"castletomb_timer"
)

OnTimerElapse(
function(timer)
ShowMessageText("game.stargate.castletomb.closing", DEF)
end,
"castletomb_timer"
)

OnTimerElapse(
function(timer)
ShowMessageText("game.stargate.castletomb.closing", ATT)
end,
"castletomb_timer"
)

OnTimerElapse(
function(timer)
ActivateRegion("castletomb_panel")
end,
"castletomb_timer"
)

OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"sarlacc_node")
end,
"sarlaccstomach"
)

OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"tournado_temp")
end,
"jawa_door"
)
end


---------------------------------------------------------------------------
-- FUNCTION: ScriptInit
-- PURPOSE: This function is only run once
-- INPUT:
-- OUTPUT:
-- NOTES: The name, 'ScriptInit' is a chosen convention, and each
-- mission script must contain a version of this function, as
-- it is called from C to start the mission.
---------------------------------------------------------------------------

function ScriptInit()

ReadDataFile("ingame.lvl")



SetMaxFlyHeight(500)
SetMaxPlayerFlyHeight(500)


SetMemoryPoolSize ("ClothData",20)
SetMemoryPoolSize ("Combo",50) -- should be ~ 2x number of jedi classes
SetMemoryPoolSize ("Combo::State",650) -- should be ~12x #Combo
SetMemoryPoolSize ("Combo::Transition",650) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Condition",650) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Attack",550) -- should be ~8-12x #Combo
SetMemoryPoolSize ("Combo::DamageSample",6000) -- should be ~8-12x #Combo::Attack
SetMemoryPoolSize ("Combo::Deflect",100) -- should be ~1x #combo


ReadDataFile("sound\\tat.lvl;tat2gcw")
ReadDataFile("SIDE\\all.lvl",
"all_inf_rocketeer",
"all_inf_engineer",
"all_inf_wookiee",
"all_hero_hansolo_tat")

ReadDataFile("DC:SIDE\\vat.lvl",
"all_inf_rifleman",
"all_inf_sniper",
"all_inf_officer",
"all_droid_r2d2",
"cis_inf_engineer",
"cis_inf_rifleman",
"cis_inf_droideka")

ReadDataFile("DC:SIDE\\rpg2.lvl",
"ran_hero_rancor")

ReadDataFile("SIDE\\imp.lvl",
"imp_inf_rifleman",
"imp_inf_rocketeer",
"imp_inf_engineer",
"imp_inf_sniper",
"imp_inf_officer",
"imp_inf_dark_trooper",
"imp_hero_bobafett",
"imp_fly_destroyer_dome" )

ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_tat_barge",
"tur_bldg_laser")

SetupTeams{
all = {
team = ALL,
units = 40,
reinforcements = 150,
soldier = { "all_inf_rifleman",1, 4},
assault = { "all_inf_sniper",1,4},
engineer = { "all_droid_r2d2",1,4},
sniper = { "all_inf_officer",1,4},
officer = { "cis_inf_engineer",1,4},
special = { "cis_inf_rifleman",1,4},

},
}

AddUnitClass(ALL,"cis_inf_droideka", 1,4)

SetupTeams{
imp = {
team = IMP,
units = 40,
reinforcements = 150,
soldier = { "imp_inf_rifleman",9, 25},
assault = { "imp_inf_rocketeer",1,4},
engineer = { "imp_inf_engineer",1,4},
sniper = { "imp_inf_sniper",1,4},
officer = { "imp_inf_officer",1,4},
special = { "imp_inf_dark_trooper",1,4},
},
}

SetHeroClass(ALL, "all_hero_hansolo_tat")
SetHeroClass(IMP, "imp_hero_bobafett")

SetTeamName (3, "Rancors")
AddUnitClass (3, "ran_hero_rancor")
SetUnitCount (3, 8)
AddAIGoal(3, "DeathMatch", 100)
SetTeamAsEnemy(ATT,3)
SetTeamAsEnemy(3,ATT)
SetTeamAsEnemy(DEF,3)
SetTeamAsEnemy(3,DEF)

-- Level Stats
ClearWalkers()
AddWalkerType(0, 0) -- special -> droidekas
AddWalkerType(1, 0) -- 1x2 (1 pair of legs)
AddWalkerType(2, 0) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 0) -- 3x2 (3 pairs of legs)

local weaponCnt = 1024
SetMemoryPoolSize("Aimer", 75)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 32)
SetMemoryPoolSize("EntityFlyer", 32)
SetMemoryPoolSize("EntityHover", 32)
SetMemoryPoolSize("EntityLight", 200)
SetMemoryPoolSize("EntitySoundStream", 4)
SetMemoryPoolSize("EntitySoundStatic", 32)
SetMemoryPoolSize("MountedTurret", 32)
SetMemoryPoolSize("Navigator", 128)
SetMemoryPoolSize("Obstacle", 1024)
SetMemoryPoolSize("PathNode", 1024)
SetMemoryPoolSize("SoundSpaceRegion", 64)
SetMemoryPoolSize("TreeGridStack", 1024)
SetMemoryPoolSize("UnitAgent", 128)
SetMemoryPoolSize("UnitController", 128)
SetMemoryPoolSize("Weapon", weaponCnt)

SetSpawnDelay(10.0, 0.25)
ReadDataFile("dc:RPG\\RPG.lvl", "RPG_eli")
SetDenseEnvironment("false")


-- Sound Stats

voiceSlow = OpenAudioStream("sound\\global.lvl", "all_unit_vo_slow")
AudioStreamAppendSegments("sound\\global.lvl", "imp_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "des_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "global_vo_slow", voiceSlow)

voiceQuick = OpenAudioStream("sound\\global.lvl", "all_unit_vo_quick")
AudioStreamAppendSegments("sound\\global.lvl", "imp_unit_vo_quick", voiceQuick)

OpenAudioStream("sound\\global.lvl", "gcw_music")
OpenAudioStream("sound\\tat.lvl", "tat2")
OpenAudioStream("sound\\tat.lvl", "tat2")
-- OpenAudioStream("sound\\global.lvl", "global_vo_quick")
-- OpenAudioStream("sound\\global.lvl", "global_vo_slow")

SetBleedingVoiceOver(ALL, ALL, "all_off_com_report_us_overwhelmed", 1)
SetBleedingVoiceOver(ALL, IMP, "all_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(IMP, ALL, "imp_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(IMP, IMP, "imp_off_com_report_us_overwhelmed", 1)

SetLowReinforcementsVoiceOver(ALL, ALL, "all_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(ALL, IMP, "all_off_victory_im", .1, 1)
SetLowReinforcementsVoiceOver(IMP, IMP, "imp_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(IMP, ALL, "imp_off_victory_im", .1, 1)

SetOutOfBoundsVoiceOver(2, "Allleaving")
SetOutOfBoundsVoiceOver(1, "Impleaving")

SetAmbientMusic(ALL, 1.0, "all_tat_amb_start", 0,1)
SetAmbientMusic(ALL, 0.8, "all_tat_amb_middle", 1,1)
SetAmbientMusic(ALL, 0.2, "all_tat_amb_end", 2,1)
SetAmbientMusic(IMP, 1.0, "imp_tat_amb_start", 0,1)
SetAmbientMusic(IMP, 0.8, "imp_tat_amb_middle", 1,1)
SetAmbientMusic(IMP, 0.2, "imp_tat_amb_end", 2,1)

SetVictoryMusic(ALL, "all_tat_amb_victory")
SetDefeatMusic (ALL, "all_tat_amb_defeat")
SetVictoryMusic(IMP, "imp_tat_amb_victory")
SetDefeatMusic (IMP, "imp_tat_amb_defeat")

SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
--SetSoundEffect("WeaponUnableSelect", "com_weap_inf_weaponchange_null")
--SetSoundEffect("WeaponModeUnableSelect", "com_weap_inf_modechange_null")
SetSoundEffect("SpawnDisplayUnitChange", "shell_select_unit")
SetSoundEffect("SpawnDisplayUnitAccept", "shell_menu_enter")
SetSoundEffect("SpawnDisplaySpawnPointChange", "shell_select_change")
SetSoundEffect("SpawnDisplaySpawnPointAccept", "shell_menu_enter")
SetSoundEffect("SpawnDisplayBack", "shell_menu_exit")

-- Camera Stats
--Tat2 Mos Eisley
AddCameraShot(0.974338, -0.222180, 0.035172, 0.008020, -82.664650, 23.668301, 43.955681);
AddCameraShot(0.390197, -0.089729, -0.893040, -0.205362, 23.563562, 12.914885, -101.465561);
AddCameraShot(0.169759, 0.002225, -0.985398, 0.012916, 126.972809, 4.039628, -22.020613);
AddCameraShot(0.677453, -0.041535, 0.733016, 0.044942, 97.517807, 4.039628, 36.853477);
AddCameraShot(0.866029, -0.156506, 0.467299, 0.084449, 7.685640, 7.130688, -10.895234);
end

function MoveEntityToNode(entIn,pathIn,nodeIn)
if not entIn then
print("Warning!: Entity not specified for move")
return false
elseif not pathIn then
print("Warning!: Path not specified for Entity " .. entIn .. " move")
return false
end

local node
if nodeIn then
node = nodeIn
else
node = 0
end

local locDest = GetPathPoint(pathIn,node)
local charUnit = GetCharacterUnit(entIn)
if charUnit then
SetEntityMatrix(charUnit,locDest)
return true
end
return false
end
[/code]
Do droidekas not like AddUnitClass? lol.

Edit: AHA! The droideka's walker memory bank is set too low for the droidekas. Why did I just think of this now? Thanks DarthRougueKnight. This is funny because right before the first munge after setting everything up, I said to myself:
"Alright, where's the hitch?"
Post Reply