How can I change the max number of special units (jet trooper, dark trooper, etc) to surpass 4. I tried copying COR (coruscanr) and editing the conquest .lau for Galacti Civil War and modified what i wanted, I then munged everything , went to my adon folder to find con1g.lvl and pasted it in gamedata/data/CON and backedup the original CON1.LVL and pasted the new one but the limits remain the same, someone please give me a step by step way to do this
can you post your lua file please?
BF2\data_TXT\Common\scripts\COR
cor1g_con.lau
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")
-- Empire Attacking (attacker is always #1)
ALL = 1
IMP = 2
-- These variables do not change
ATT = 1
DEF = 2
function ScriptPostLoad()
EnableSPHeroRules()
AddDeathRegion("Death")
AddDeathRegion("Death1")
AddDeathRegion("Death2")
AddDeathRegion("Death3")
AddDeathRegion("Death4")
SetProperty ("LibCase1","MaxHealth",1000)
SetProperty ("LibCase2","MaxHealth",1000)
SetProperty ("LibCase3","MaxHealth",1000)
SetProperty ("LibCase4","MaxHealth",1000)
SetProperty ("LibCase5","MaxHealth",1000)
SetProperty ("LibCase6","MaxHealth",1000)
SetProperty ("LibCase7","MaxHealth",1000)
SetProperty ("LibCase8","MaxHealth",1000)
SetProperty ("LibCase9","MaxHealth",1000)
SetProperty ("LibCase10","MaxHealth",1000)
SetProperty ("LibCase11","MaxHealth",1000)
SetProperty ("LibCase12","MaxHealth",1000)
SetProperty ("LibCase13","MaxHealth",1000)
SetProperty ("LibCase14","MaxHealth",1000)
SetProperty ("LibCase1","CurHealth",1000)
SetProperty ("LibCase2","CurHealth",1000)
SetProperty ("LibCase3","CurHealth",1000)
SetProperty ("LibCase4","CurHealth",1000)
SetProperty ("LibCase5","CurHealth",1000)
SetProperty ("LibCase6","CurHealth",1000)
SetProperty ("LibCase7","CurHealth",1000)
SetProperty ("LibCase8","CurHealth",1000)
SetProperty ("LibCase9","CurHealth",1000)
SetProperty ("LibCase10","CurHealth",1000)
SetProperty ("LibCase11","CurHealth",1000)
SetProperty ("LibCase12","CurHealth",1000)
SetProperty ("LibCase13","CurHealth",1000)
SetProperty ("LibCase14","CurHealth",1000)
EnableSPHeroRules()
DisableBarriers("SideDoor1")
DisableBarriers("MainLibraryDoors")
DisableBarriers("SideDoor2")
DisableBarriers("SIdeDoor3")
DisableBarriers("ComputerRoomDoor1")
DisableBarriers("StarChamberDoor1")
DisableBarriers("StarChamberDoor2")
DisableBarriers("WarRoomDoor1")
DisableBarriers("WarRoomDoor2")
DisableBarriers("WarRoomDoor3")
PlayAnimation("DoorOpen01")
PlayAnimation("DoorOpen02")
--This defines the CPs. These need to happen first
cp1 = CommandPost:New{name = "CP1"}
cp2 = CommandPost:New{name = "CP2"}
cp3 = CommandPost:New{name = "CP3"}
cp4 = CommandPost:New{name = "CP4"}
cp5 = CommandPost:New{name = "CP5"}
cp6 = CommandPost:New{name = "CP6"}
--This sets up the actual objective. This needs to happen after cp's are defined
conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF,
textATT = "game.modes.con",
textDEF = "game.modes.con2",
multiplayerRules = true}
--This adds the CPs to the objective. This needs to happen after the objective is set up
conquest:AddCommandPost(cp1)
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp3)
conquest:AddCommandPost(cp4)
conquest:AddCommandPost(cp5)
conquest:AddCommandPost(cp6)
conquest:Start()
end
function ScriptInit()
-- Designers, these two lines *MUST* be first.
SetPS2ModelMemory(4030000)
ReadDataFile("ingame.lvl")
ReadDataFile("sound\\cor.lvl;cor1gcw")
SetMapNorthAngle(180, 1)
SetMaxFlyHeight(25)
SetMaxPlayerFlyHeight (25)
AISnipeSuitabilityDist(30)
ReadDataFile("SIDE\\all.lvl",
"all_bldg_defensegridturret",
"all_inf_rifleman",
"all_inf_rocketeer",
"all_inf_engineer",
"all_inf_sniper",
"all_inf_officer",
"all_inf_wookiee",
"all_hero_luke_jedi")
ReadDataFile("SIDE\\imp.lvl",
--Insert "imp_bldg_defensegridturret", once the odf has been set up
"imp_inf_rifleman",
"imp_inf_rocketeer",
"imp_inf_engineer",
"imp_inf_sniper",
"imp_inf_officer",
"imp_inf_dark_trooper",
"imp_hero_emperor")
ReadDataFile("SIDE\\rep.lvl",
"rep_fly_assault_DOME",
"rep_fly_gunship_DOME")
ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_laser")
ReadDataFile("SIDE\\cis.lvl",
"cis_fly_droidfighter_DOME")
-- set up teams
SetupTeams{
imp = {
team = IMP,
units = 32,
reinforcements = 150,
turret = "all_bldg_defensegridturret", --change this to imp_bldg_defensegridturret once the odf has been set up
soldier = { "imp_inf_rifleman",1, 4},
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",18,25},
},
all = {
team = ALL,
units = 32,
reinforcements = 150,
turret = "all_bldg_defensegridturret",
soldier = { "all_inf_rifleman",7, 25},
assault = { "all_inf_rocketeer",1, 4},
engineer = { "all_inf_engineer",1, 4},
sniper = { "all_inf_sniper",1, 4},
officer = {"all_inf_officer",1, 7},
special = { "all_inf_wookiee",1, 7},
}
}
SetHeroClass(ALL, "all_hero_luke_jedi")
SetHeroClass(IMP, "imp_hero_emperor")
-- SetTeamAsEnemy(DEF, 3)
-- Level Stats
ClearWalkers()
AddWalkerType(0, 0) -- 8 droidekas (special case: 0 leg pairs)
AddWalkerType(1, 0) --
AddWalkerType(2, 0) -- 2 spider walkers with 2 leg pairs each
AddWalkerType(3, 0) -- 2 attes with 3 leg pairs each
local guyCnt = 50
local weaponCnt = 200
SetMemoryPoolSize("Aimer", 20)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 21)
SetMemoryPoolSize("EntityLight", 96)
SetMemoryPoolSize("MountedTurret", 13)
SetMemoryPoolSize("PathFollower", guyCnt)
SetMemoryPoolSize("Navigator", guyCnt)
SetMemoryPoolSize("SoundSpaceRegion", 38)
SetMemoryPoolSize("TreeGridStack", 256)
SetMemoryPoolSize("UnitAgent", guyCnt)
SetMemoryPoolSize("UnitController", guyCnt)
SetMemoryPoolSize("Weapon", weaponCnt)
SetMemoryPoolSize("EntityFlyer", 4)
SetSpawnDelay(10.0, 0.25)
ReadDataFile("cor\\cor1.lvl","cor1_Conquest")
SetDenseEnvironment("True")
-- SetMaxFlyHeight(25)
--SetMaxPlayerFlyHeight (25)
AddDeathRegion("DeathRegion1")
-- Movies
-- SetVictoryMovie(ALL, "all_end_victory")
-- SetDefeatMovie(ALL, "imp_end_victory")
-- SetVictoryMovie(IMP, "imp_end_victory")
-- SetDefeatMovie(IMP, "all_end_victory")
-- Sound
voiceSlow = OpenAudioStream("sound\\global.lvl", "all_unit_vo_slow")
AudioStreamAppendSegments("sound\\global.lvl", "imp_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\\global.lvl", "global_vo_quick")
-- OpenAudioStream("sound\\global.lvl", "global_vo_slow")
OpenAudioStream("sound\\cor.lvl", "cor1")
OpenAudioStream("sound\\cor.lvl", "cor1")
-- OpenAudioStream("sound\\cor.lvl", "cor1_emt")
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(1, "allleaving")
SetOutOfBoundsVoiceOver(2, "impleaving")
SetAmbientMusic(ALL, 1.0, "all_cor_amb_start", 0,1)
SetAmbientMusic(ALL, 0.8, "all_cor_amb_middle", 1,1)
SetAmbientMusic(ALL, 0.2, "all_cor_amb_end", 2,1)
SetAmbientMusic(IMP, 1.0, "imp_cor_amb_start", 0,1)
SetAmbientMusic(IMP, 0.8, "imp_cor_amb_middle", 1,1)
SetAmbientMusic(IMP, 0.2, "imp_cor_amb_end", 2,1)
SetVictoryMusic(ALL, "all_cor_amb_victory")
SetDefeatMusic (ALL, "all_cor_amb_defeat")
SetVictoryMusic(IMP, "imp_cor_amb_victory")
SetDefeatMusic (IMP, "imp_cor_amb_defeat")
SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
-- SetSoundEffect("BirdScatter", "birdsFlySeq1")
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")
SetAttackingTeam(ATT)
AddCameraShot(0.419938, 0.002235, -0.907537, 0.004830, -15.639358, 5.499980, -176.911179);
AddCameraShot(0.994506, 0.104463, -0.006739, 0.000708, 1.745251, 5.499980, -118.700668);
AddCameraShot(0.008929, -0.001103, -0.992423, -0.122538, 1.366768, 16.818106, -114.422173);
AddCameraShot(0.761751, -0.117873, -0.629565, -0.097419, 59.861904, 16.818106, -81.607773);
AddCameraShot(0.717110, -0.013583, 0.696703, 0.013197, 98.053314, 11.354497, -85.857857);
AddCameraShot(0.360958, -0.001053, -0.932577, -0.002721, 69.017578, 18.145807, -56.992413);
AddCameraShot(-0.385976, 0.014031, -0.921793, -0.033508, 93.111061, 18.145807, -20.164375);
AddCameraShot(0.695468, -0.129569, -0.694823, -0.129448, 27.284357, 18.145807, -12.377695);
AddCameraShot(0.009002, -0.000795, -0.996084, -0.087945, 1.931320, 13.356332, -16.410583);
AddCameraShot(0.947720, -0.145318, 0.280814, 0.043058, 11.650738, 16.955814, 28.359180);
AddCameraShot(0.686380, -0.127550, 0.703919, 0.130810, -30.096384, 11.152356, -63.235146);
AddCameraShot(0.937945, -0.108408, 0.327224, 0.037821, -43.701199, 8.756138, -49.974789);
AddCameraShot(0.531236, -0.079466, -0.834207, -0.124787, -62.491230, 10.305247, -120.102989);
AddCameraShot(0.452286, -0.179031, -0.812390, -0.321572, -50.015198, 15.394646, -114.879379);
AddCameraShot(0.927563, -0.243751, 0.273918, 0.071982, 26.149965, 26.947924, -46.834148);
end
what i did after that edit, i went to BF2\data_TXT\_BUILD and executed Modtools VisualMunge.exe
for worlds i clicked COR, for sides i clicked NOTHING since im not munging side just the CON lvl file and I only check marked Common
oh i see
you also need to go into the odf file of the unit iirc
there will be a property somehwere along the line that limits the unit number
you can edit or remove it and it will work
you WILL need to change your side.
iirc? where's that?
iirc means "if i recall correctly"
it isnt a location
omfg kill me now :shrug: anyways ok, im looking for it but dont see any of the variables that would limit the unit... i'll keep looking. thanks!
you might have to go further down into the imp_whatevertheunitnameis_default odf
dang still cant find it
If thouse units are called "special" perhaps there is a way to make them "normal" units like the rest and then maybe you will be able to make them more.Maybe that "special" class is making them less than the others.I need to test this some day.
remove pointstounlock line from the units odf
removed points to unlock but still nothing.
unit counts are handled by setupteams in lua which munges into mission.lvl, make sure its reading your modded mission.lvl (in your first post you said cor1.lvl which is just the map file, nothing to do with units)
Quote from: xMichael on May 13, 2017, 03:52:13 AM
remove pointstounlock line from the units odf
Points to unlock is just how much kills you need to make before unlocking that unit in the unit selection screen ingame.That has nothing to do with how much they can spawn ingame at once.Its something else.
EDIT:
Ok first we better understand what the number 1 and 4 mean on the end of this line:
imp_inf_officer",1, 4
Then we should try to increase the numbers.I really dont know what they mean.Which number represent tbe AIs ingame?
He already knows that, see his lua he increased it.
If there is points limit then you cant spawn as that unit if there are already the max units in battle. So yes it matters. But his problem is probably with him thinking its cor1.lvl that changes unit counts, as I wrote already.
Also the first number is minimum of units that spawn (AI) and second is maximum (both AI and humans)