Page 1 of 1

Lua problem: No AI for team 2. [Solved]

Posted: Sat Nov 01, 2014 4:04 pm
by thelegend
Hey gametoast,
I am working on a remake of my rising sith mod. It is planned to add more units and more fighting teams. Well I am not a .lua expert but I guess I did something massive wrong.
1st: I have created 4 teams. The player can only be in team 1, the eneny is in team 2. There are two more fighting teams eachother. My problem is there is no AI in my second team but all the other teams (3 and 4) work fine.

Here is my .lua of the first map:
Hidden/Spoiler:
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("ObjectiveConquest")

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

function ScriptPostLoad()
ForceHumansOntoTeam1()
AddDeathRegion("deathregion")
--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"}



--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:Start()

EnableSPHeroRules()

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(-8)
SetMaxPlayerFlyHeight(-8)


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("dc:SIDE\\rsm.lvl",
"rsm_darth_ravange_jedi",
"rsm_jedi_01",
"rsm_jedi_02",
"rsm_sith_01",
"rsm_jedi_rifleman",
"rsm_sith_rifleman",
"rsm_padawan_sith" )

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

SetupTeams{
all = {
team = ALL,
units = 0,
reinforcements = 3,
soldier = { "rsm_darth_ravange_jedi",0, 0},
assault = { "",1,4},
engineer = { "",1,4},
sniper = { "",1,4},
officer = { "",1,4},
special = { "",1,4},

},
imp = {
team = IMP,
units = 1,
reinforcements = 1,
soldier = { "rsm_sith_rifleman",5, 10},
assault = { "",1,4},
engineer = { "",1,4},
sniper = { "",1,4},
officer = { "",1,4},
special = { "",1,4},
},
}

SetTeamName (3, "jedi")
AddUnitClass (3, "rsm_jedi_rifleman", 130,160)
SetUnitCount (3, 160)
AddAIGoal(3, "Deathmatch", 100)

SetTeamName (4, "sith")
AddUnitClass (4, "rsm_sith_rifleman", 130,160)
SetUnitCount (4, 160)
AddAIGoal(4, "Deathmatch", 100)

SetTeamAsEnemy(4,ATT)
SetTeamAsEnemy(ATT,4)
SetTeamAsFriend(4,DEF)
SetTeamAsFriend(DEF,4)
SetTeamAsEnemy(4,3)
SetTeamAsEnemy(3,4)
SetTeamAsEnemy(DEF,3)
SetTeamAsEnemy(3,DEF)
SetTeamAsFriend(ATT,3)
SetTeamAsFriend(3,ATT)


-- 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:RC1\\RC1.lvl", "RC1_conquest")
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.169759, 0.002225, -0.985398, 0.012916, 126.972809, 4.039628, -22.020613);

end
I would be very thankful if anyone can explain me what is wrong. I also made sure that cp2 has the right spawn path.

Re: Lua problem: No AI for team 2.

Posted: Sat Nov 01, 2014 5:06 pm
by AQT
It seems your unit count for team 2 is currently set at 0. Not sure what else could be causing the problem.

Re: Lua problem: No AI for team 2.

Posted: Sun Nov 02, 2014 1:31 pm
by thelegend
Hm I can`t imagine out why there are no AI for team 2.

Code: Select all

},
		imp = {
			team = IMP,
			units = 1, There only should be one unit
			reinforcements = 1, So only one single bot in the team
			soldier	= { "rsm_sith_rifleman",1, 10}, He's just a placehodler for a unit in progress. The last number is for the max. and the first for the min.? So I guess it wouldn't matter because the limit was one unit in "units" and "reinforcements"

			assault	= { "",1,4},
			engineer = { "",1,4},
			sniper	= { "",1,4},
			officer	= { "",1,4},
			special	= { "",1,4},
		},
Hidden/Spoiler:
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("ObjectiveConquest")

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

function ScriptPostLoad()
ForceHumansOntoTeam1()
AddDeathRegion("deathregion")
--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"}



--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:Start()

EnableSPHeroRules()

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(-8)
SetMaxPlayerFlyHeight(-8)


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("dc:SIDE\\rsm.lvl",
"rsm_darth_ravange_jedi",
"rsm_jedi_01",
"rsm_jedi_02",
"rsm_sith_01",
"rsm_jedi_rifleman",
"rsm_sith_rifleman",
"rsm_padawan_sith" )

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

SetupTeams{
all = {
team = ALL,
units = 1,
reinforcements = 1,
soldier = { "rsm_darth_ravange_jedi",0, 0},
assault = { "",1,4},
engineer = { "",1,4},
sniper = { "",1,4},
officer = { "",1,4},
special = { "",1,4},

},
imp = {
team = IMP,
units = 1,
reinforcements = 1,
soldier = { "rsm_sith_rifleman",1, 10},
assault = { "",1,4},
engineer = { "",1,4},
sniper = { "",1,4},
officer = { "",1,4},
special = { "",1,4},
},
}

SetTeamName (3, "jedi")
AddUnitClass (3, "rsm_jedi_rifleman", 90,100)
AddUnitClass (3, "rsm_jedi_01", 20,30)
AddUnitClass (3, "rsm_jedi_02", 20,30)
SetUnitCount (3, 160)
AddAIGoal(3, "Deathmatch", 100)

SetTeamName (4, "sith")
AddUnitClass (4, "rsm_sith_rifleman", 100,110)
AddUnitClass (4, "rsm_sith_01", 25,50)
SetUnitCount (4, 160)
AddAIGoal(4, "Deathmatch", 100)

SetTeamAsEnemy(4,ATT)
SetTeamAsEnemy(ATT,4)
SetTeamAsFriend(4,DEF)
SetTeamAsFriend(DEF,4)
SetTeamAsEnemy(4,3)
SetTeamAsEnemy(3,4)
SetTeamAsEnemy(DEF,3)
SetTeamAsEnemy(3,DEF)
SetTeamAsFriend(ATT,3)
SetTeamAsFriend(3,ATT)


-- 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:RC1\\RC1.lvl", "RC1_conquest")
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.169759, 0.002225, -0.985398, 0.012916, 126.972809, 4.039628, -22.020613);

end
The command posts are untakeable. The only way to win was killing the one unit (Because it is a story map)

If that doesn`t help then here are my .lyr and .pth files:
Hidden/Spoiler:
Version(3);
SaveType(0);

Camera("camera")
{
Rotation(0.999, 0.045, -0.004, 0.000);
Position(-221.424, -33.073, -272.978);
FieldOfView(55.400);
NearPlane(1.000);
FarPlane(500.000);
ZoomFactor(1.000);
Bookmark(0.000, 0.000, 0.000, 1.000, 0.000, 0.000, 0.000);
Bookmark(0.000, 0.000, 0.000, 1.000, 0.000, 0.000, 0.000);
Bookmark(0.000, 0.000, 0.000, 1.000, 0.000, 0.000, 0.000);
Bookmark(0.000, 0.000, 0.000, 1.000, 0.000, 0.000, 0.000);
Bookmark(0.000, 0.000, 0.000, 1.000, 0.000, 0.000, 0.000);
Bookmark(0.000, 0.000, 0.000, 1.000, 0.000, 0.000, 0.000);
Bookmark(0.000, 0.000, 0.000, 1.000, 0.000, 0.000, 0.000);
Bookmark(0.000, 0.000, 0.000, 1.000, 0.000, 0.000, 0.000);
Bookmark(0.000, 0.000, 0.000, 1.000, 0.000, 0.000, 0.000);
Bookmark(-24.000, 55.608, -140.280, 0.524, 0.446, -0.552, 0.471);
}
LightName("RC1_conquest.LGT");
ControllerManager("StandardCtrlMgr");

WorldExtents()
{
Min(0.000000, 0.000000, 0.000000);
Max(0.000000, 0.000000, 0.000000);
}

NextSequence(-2870310);

Object("cp1", "com_bldg_untakeable_controlzone", 363139395)
{
ChildRotation(1.000, 0.000, 0.000, 0.000);
ChildPosition(-225.887, -43.867, -276.739);
SeqNo(363139395);
Team(1);
NetworkId(-1);
Layer(1);
CaptureRegion("");
ControlRegion("");
SpawnPath("cp1_spawn");
TurretPath("");
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");
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("");
SoldierBan("");
HoverBan("");
SmallBan("");
MediumBan("");
HugeBan("");
FlyerBan("");
AISpawnWeight("");
HUDIndex("");
HUDIndexDisplay("1");
}

Object("local_cp2", "com_bldg_untakeable_controlzone", 1044904100)
{
ChildRotation(1.000, 0.000, 0.000, 0.000);
ChildPosition(-221.284, -45.742, -283.550);
SeqNo(1044904100);
Team(4);
NetworkId(-1);
Layer(1);
CaptureRegion("");
ControlRegion("");
SpawnPath("local_spawn2");
TurretPath("");
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");
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("");
SoldierBan("");
HoverBan("");
SmallBan("");
MediumBan("");
HugeBan("");
FlyerBan("");
AISpawnWeight("");
HUDIndex("");
HUDIndexDisplay("1");
}

Object("local_cp1", "com_bldg_untakeable_controlzone", 1715236397)
{
ChildRotation(1.000, 0.000, 0.000, 0.000);
ChildPosition(-225.194, -48.562, -286.373);
SeqNo(1715236397);
Team(3);
NetworkId(-1);
Layer(1);
CaptureRegion("");
ControlRegion("");
SpawnPath("local_spawn1");
TurretPath("");
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");
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("");
SoldierBan("");
HoverBan("");
SmallBan("");
MediumBan("");
HugeBan("");
FlyerBan("");
AISpawnWeight("");
HUDIndex("");
HUDIndexDisplay("1");
}

Object("cp2", "com_bldg_untakeable_controlzone", -1777346116)
{
ChildRotation(1.000, 0.000, 0.000, 0.000);
ChildPosition(-227.572, -44.573, -282.621);
SeqNo(-1777346116);
Team(2);
NetworkId(-1);
Layer(1);
CaptureRegion("");
ControlRegion("");
SpawnPath("cp2_spawn");
TurretPath("");
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");
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("");
SoldierBan("");
HoverBan("");
SmallBan("");
MediumBan("");
HugeBan("");
FlyerBan("");
AISpawnWeight("");
HUDIndex("");
HUDIndexDisplay("1");
}

Object("spaceship_doors", "spaceship_doors", -671107383)
{
ChildRotation(1.000, 0.000, 0.000, 0.000);
ChildPosition(-221.000, -35.000, -270.000);
SeqNo(-671107383);
Team(0);
NetworkId(-1);
Layer(1);
}

Object("yav_bldg_greattemple1", "yav_bldg_greattemple", -279230728)
{
ChildRotation(0.807, -0.023, -0.589, -0.032);
ChildPosition(388.000, 23.000, -276.000);
SeqNo(-279230728);
Team(0);
NetworkId(-1);
Layer(1);
}
Hidden/Spoiler:
Version(10);
PathCount(4);

Path("cp1_spawn")
{
Data(0);
PathType(0);
PathSpeedType(0);
PathTime(0.000000);
OffsetPath(0);
Layer(1);
SplineType("Hermite");

Properties(0)
{
}

Nodes(1)
{
Node()
{
Position(-221.202881, -35.036457, -272.264313);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

}

}

Path("local_spawn1")
{
Data(0);
PathType(0);
PathSpeedType(0);
PathTime(0.000000);
OffsetPath(0);
Layer(1);
SplineType("Hermite");

Properties(0)
{
}

Nodes(36)
{
Node()
{
Position(-202.437683, -35.071827, -270.063904);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-182.392822, -33.178165, -251.191132);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-153.828674, -34.392956, -244.324463);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-217.725235, -35.844322, -250.211426);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-239.702301, -35.478539, -264.737030);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-270.141663, -37.326534, -236.270599);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-294.234924, -33.064411, -275.198669);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-309.986938, -33.012909, -262.205994);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-328.438965, -33.714592, -290.664337);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-288.832886, -35.283401, -297.204468);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-286.858582, -40.626060, -196.903290);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-230.418793, -38.348228, -218.406342);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-189.169922, -38.824863, -205.120667);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-141.625122, -38.302418, -206.905563);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-122.622742, -34.869064, -246.661591);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-153.593628, -33.502144, -275.519440);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-187.834808, -35.723484, -226.287415);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-241.457703, -37.058819, -244.449554);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-257.174744, -34.441246, -286.999451);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-336.978333, -30.350626, -264.286041);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-222.588898, -35.463749, -274.992645);
Knot(0.000000);
Data(1);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-171.664597, -35.601326, 81.673752);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.751924, 0.000000, 0.659250, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-144.335388, -39.877926, 70.750305);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.847307, 0.000000, 0.531104, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-145.855667, -38.081577, 84.455437);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.819567, 0.000000, 0.572983, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(208.879730, -38.885365, 95.536369);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(226.189972, -40.000000, 96.191383);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(266.058838, -39.473587, 97.556213);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(299.884460, -40.000000, 95.353561);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.674962, 0.000000, -0.737853, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(271.932434, -39.602421, 130.428650);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.573611, 0.000000, -0.819128, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(219.108917, -40.000000, 133.997375);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(211.952469, -39.269203, 99.699570);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.613719, 0.000000, 0.789524, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(314.213867, -40.000000, 97.742203);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.629341, 0.000000, -0.777129, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(315.490295, -39.949131, 129.162674);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.777612, 0.000000, -0.628744, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(264.856689, -39.387756, 106.220566);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(262.373077, -39.928303, 119.704559);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(218.618942, -39.918285, 109.745804);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

}

}

Path("local_spawn2")
{
Data(0);
PathType(0);
PathSpeedType(0);
PathTime(0.000000);
OffsetPath(0);
Layer(1);
SplineType("Hermite");

Properties(0)
{
}

Nodes(37)
{
Node()
{
Position(-251.253494, -42.302689, -107.314697);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(-0.001171, 0.000000, -0.999999, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-305.531555, -37.705830, -78.587044);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(-0.001171, 0.000000, -0.999999, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-332.011688, -38.415951, -105.330360);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(-0.001171, 0.000000, -0.999999, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-317.754944, -36.719944, -83.057945);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(-0.001171, 0.000000, -0.999999, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-240.386200, -41.023926, -94.747391);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(-0.001171, 0.000000, -0.999999, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-218.833725, -39.686523, -86.070175);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(-0.001171, 0.000000, -0.999999, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-182.473129, -41.623665, -97.045494);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(-0.001171, 0.000000, -0.999999, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-208.580093, -41.243835, -100.970871);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(-0.001171, 0.000000, -0.999999, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-236.570541, -40.936829, -83.718697);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(-0.001171, 0.000000, -0.999999, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-296.366882, -37.608158, -71.288460);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(-0.001171, 0.000000, -0.999999, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-204.358337, -37.594692, -68.252586);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(-0.001171, 0.000000, -0.999999, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-174.988831, -37.943432, -75.023163);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(-0.001171, 0.000000, -0.999999, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-174.843704, -44.245495, -111.769447);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(-0.001171, 0.000000, -0.999999, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-228.167435, -41.147038, -102.695518);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(-0.001171, 0.000000, -0.999999, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-301.694092, -42.276337, -99.843338);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(-0.001171, 0.000000, -0.999999, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-306.472900, -44.530499, -115.999054);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(-0.001171, 0.000000, -0.999999, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-220.833878, -42.693005, -116.366898);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(-0.001171, 0.000000, -0.999999, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-118.542191, -39.815525, 73.409836);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.758210, 0.000000, -0.652010, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-137.615326, -36.841606, 91.732483);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.629341, 0.000000, -0.777129, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(-133.209137, -39.626644, 79.715378);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.635875, 0.000000, -0.771792, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(189.821167, -40.009285, -144.571472);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.362398, 0.000000, -0.932023, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(186.584534, -40.007999, -134.400070);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.324948, 0.000000, -0.945732, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(199.039474, -40.001202, -131.885925);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.362398, 0.000000, -0.932023, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(195.072235, -40.000000, -122.418060);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.362398, 0.000000, -0.932023, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(71.999283, -35.034626, -117.179825);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.952375, 0.000000, -0.304929, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(65.111824, -34.967247, -122.557365);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.921067, 0.000000, -0.389405, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(207.647049, -39.007816, 86.229340);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.995942, 0.000000, 0.089999, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(221.300476, -39.598446, 89.971970);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(1.000000, 0.000000, 0.000000, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(258.545837, -39.616070, 96.278885);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.825240, 0.000000, 0.564783, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(274.428955, -39.508152, 96.542786);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.696727, 0.000000, 0.717336, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(269.014099, -39.429783, 109.582680);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.924904, 0.000000, -0.380202, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(291.663818, -39.085804, 128.684662);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.573611, 0.000000, -0.819128, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(279.236450, -39.788048, 141.058990);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.285143, 0.000000, -0.958485, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(244.469894, -40.000000, 128.601654);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.751924, 0.000000, -0.659249, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(228.385010, -40.000000, 128.654572);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.660114, 0.000000, -0.751165, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(218.763260, -40.000000, 151.861603);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(-0.060938, 0.000000, -0.998142, 0.000000);
Properties(0)
{
}
}

Node()
{
Position(201.073364, -39.961090, 100.292656);
Knot(0.000000);
Data(0);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.771305, 0.000000, 0.636466, 0.000000);
Properties(0)
{
}
}

}

}

Path("cp2_spawn")
{
Data(0);
PathType(0);
PathSpeedType(0);
PathTime(0.000000);
OffsetPath(0);
Layer(1);
SplineType("Hermite");

Properties(0)
{
}

Nodes(1)
{
Node()
{
Position(81.541092, -51.802868, 339.160370);
Knot(0.000000);
Data(1);
Time(1.000000);
PauseTime(0.000000);
Rotation(0.710327, 0.028345, 0.701064, 0.056041);
Properties(0)
{
}
}

}

}
Anyway thank you for help.

Re: Lua problem: No AI for team 2.

Posted: Sun Nov 02, 2014 1:45 pm
by commanderawesome
Reinforcements and the number of units are not the same thing.

Re: Lua problem: No AI for team 2.

Posted: Mon Nov 03, 2014 1:59 pm
by thelegend
commanderawesome wrote:Reinforcements and the number of units are not the same thing.
I know that reinforcements are the limit of the team's AI for each map. And I also know that "units" is the count for the bots on the battlefield. I thought if I change that to..:

Code: Select all

SetupTeams{
		all = {
			team = ALL,
			units = 0,
			reinforcements = 1,
			soldier	= { "rsm_darth_ravange_jedi",0, 0},
			assault	= { "",0,0},
			engineer = { "",0,0},
			sniper	= { "",0,0},
			officer	= { "",0,0},
			special	= { "",0,0},

		},
		imp = {
			team = IMP,
			units = 1,   <---...one so that there is only one enemy.
			reinforcements = 1, <--- And you only had to kill him once to win.
			soldier	= { "rsm_sith_rifleman",1, 1}, I only want him once in the map and that the target is: "Kill the enemy to win".
			assault	= { "",0,0},
			engineer = { "",0,0},
			sniper	= { "",0,0},
			officer	= { "",0,0},
			special	= { "",0,0},
		},
	}
    
My only problem is there is no one in team 2. Only the third and fourth team bots. I set "units" in the ALL setup team block to 0 because I thought it were unnecessery then there only was the player (playable as the maincharacter).

Re: Lua problem: No AI for team 2.

Posted: Tue Nov 04, 2014 1:49 am
by [RDH]Zerted
Don't do that. "" is not a valid unit class. It's ok to remove those lines:

Code: Select all

SetupTeams{
		all = {
			team = ALL,
			units = 0,
			reinforcements = 1,
			soldier	= { "rsm_darth_ravange_jedi",0, 0},
		},
		imp = {
			team = IMP,
			units = 1,   <---...one so that there is only one enemy.
			reinforcements = 1, <--- And you only had to kill him once to win.
			soldier	= { "rsm_sith_rifleman",1, 1}, --I only want him once in the map and that the target is: "Kill the enemy to win".
		},
	}
    
Use AllowAISpawn( team, boolean ) if you want to prevent the AI from spawning. "team" should be the team number and "boolean" should be false to prevent the AI from spawning for that team, or true to re-enable AI spawning for that team.

Use ForceHumansOntoTeam1(1) if you want to force the human players into team 1.

Re: Lua problem: No AI for team 2.

Posted: Tue Nov 04, 2014 5:48 am
by thelegend
Ok. I removed the unnecessary lines in my setup block. But where I have to put the

Code: Select all

AllowAISpawn( 2, true )
line in my lua?

Edit:
Ok. I tried to play as team 2 and then I look for anyone from team 1 there wasn't no one.
I put "AllowAISpawn..." below funtion scriptpostload, below the setup teams and function ScriptInit but no one spawns from team 2 (or then I play as team 2 no one spawns at team 1).
Hidden/Spoiler:
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("ObjectiveConquest")

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

function ScriptPostLoad()

AddDeathRegion("deathregion")
--This defines the CPs. These need to happen first
AllowAISpawn( 2, true )




--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:Start()

EnableSPHeroRules()

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")

AllowAISpawn( 2, true )

SetMaxFlyHeight(-8)
SetMaxPlayerFlyHeight(-8)


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("dc:SIDE\\rsm.lvl",
"rsm_darth_ravange_jedi",
"rsm_jedi_01",
"rsm_jedi_02",
"rsm_sith_01",
"rsm_jedi_rifleman",
"rsm_sith_rifleman",
"rsm_padawan_sith" )

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

SetupTeams{
all = {
team = ALL,
units = 10,
reinforcements = 3,
soldier = { "rsm_darth_ravange_jedi",1, 10},

},
imp = {
team = IMP,
units = 10,
reinforcements = 1,
soldier = { "rsm_sith_rifleman",1, 10},

},
}

AllowAISpawn( 2, true )
SetTeamName (3, "jedi")
AddUnitClass (3, "rsm_jedi_rifleman", 20,30)
AddUnitClass (3, "rsm_jedi_01", 5,10)
AddUnitClass (3, "rsm_jedi_02", 5,10)
SetUnitCount (3, 50)
AddAIGoal(3, "Deathmatch", 100)

SetTeamName (4, "sith")
AddUnitClass (4, "rsm_sith_rifleman", 100,110)
AddUnitClass (4, "rsm_sith_01", 10,20)
SetUnitCount (4, 160)
AddAIGoal(4, "Deathmatch", 100)

SetTeamAsEnemy(4,ATT)
SetTeamAsEnemy(ATT,4)
SetTeamAsFriend(4,DEF)
SetTeamAsFriend(DEF,4)
SetTeamAsEnemy(4,3)
SetTeamAsEnemy(3,4)
SetTeamAsEnemy(DEF,3)
SetTeamAsEnemy(3,DEF)
SetTeamAsFriend(ATT,3)
SetTeamAsFriend(3,ATT)

-- 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:RC1\\RC1.lvl", "RC1_conquest")
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")



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.169759, 0.002225, -0.985398, 0.012916, 126.972809, 4.039628, -22.020613);

end
And all cp's are untakeable cp's.

Last Edit: Ok. I got it fixed. I just took and compared with the default's lua file and got it.
If anyone had the same problem then here's the final .lua file:
Hidden/Spoiler:
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("ObjectiveConquest")

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

function ScriptPostLoad()


--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"}



--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:Start()

EnableSPHeroRules()

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(-8)
SetMaxPlayerFlyHeight(-8)


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("dc:SIDE\\rsm.lvl",
"rsm_darth_ravange_jedi",
"rsm_jedi_01",
"rsm_jedi_02",
"rsm_sith_01",
"rsm_jedi_rifleman",
"rsm_sith_rifleman",
"rsm_padawan_sith" )

SetupTeams{
all = {
team = ALL,
units = 0,
reinforcements = 3,
soldier = { "rsm_darth_ravange_jedi",0, 0},

},
imp = {
team = IMP,
units = 10,
reinforcements = 1,
soldier = { "rsm_padawan_sith",1, 10},

},
}

SetTeamName (3, "jedi")
AddUnitClass (3, "rsm_jedi_rifleman", 20,30)
AddUnitClass (3, "rsm_jedi_01", 5,10)
AddUnitClass (3, "rsm_jedi_02", 5,10)
SetUnitCount (3, 50)
AddAIGoal(3, "Deathmatch", 100)

SetTeamName (4, "sith")
AddUnitClass (4, "rsm_sith_rifleman", 100,110)
AddUnitClass (4, "rsm_sith_01", 10,20)
SetUnitCount (4, 160)
AddAIGoal(4, "Deathmatch", 100)

SetTeamAsEnemy(4,ATT)
SetTeamAsEnemy(ATT,4)
SetTeamAsFriend(4,DEF)
SetTeamAsFriend(DEF,4)
SetTeamAsEnemy(4,3)
SetTeamAsEnemy(3,4)
SetTeamAsEnemy(DEF,3)
SetTeamAsEnemy(3,DEF)
SetTeamAsFriend(ATT,3)
SetTeamAsFriend(3,ATT)



-- 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:RC1\\RC1.lvl", "RC1_conquest")
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")



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);

end