Ambushes problem
Posted: Wed Feb 25, 2009 1:38 pm
by ForceMaster
I'm making a map with some goals, a simple task. I made up an ambush for me with some jettroopers. (see my LUA).
ok, now I need to know how can I put another ambush, this time against me.
I have tried several ways but always stops the game.
Hidden/Spoiler:
[code]--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
-- This lua was createt by "Mission-Scripter", a program by -=[PfW]=-Skip.
-- load the gametype script
ScriptCB_DoFile("MultiObjectiveContainer")
ScriptCB_DoFile("ObjectiveAssault")
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("ObjectiveGoto")
ScriptCB_DoFile("ObjectiveCTF")
ScriptCB_DoFile("ObjectiveTDM")
ScriptCB_DoFile("Ambush")
ScriptCB_DoFile("setup_teams")
-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- These variables do not change
ATT = REP;
DEF = CIS;
AmbushTeam = 5
ATM = AmbushTeam
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"}
cp4 = CommandPost:New{name = "cp5"}
cp4 = CommandPost:New{name = "cp6"}
cp4 = CommandPost:New{name = "cp7"}
SetAIDifficulty(0, 2, "hard")
AllowAISpawn(ATT, true)
AllowAISpawn(DEF, true)
ScriptCB_SetGameRules("campaign")
onfirstspawn = OnCharacterSpawn(
function(character)
if character == 0 then
ShowPopup("level.geo1.hints.hints")
ReleaseCharacterSpawn(onfirstspawn)
onfirstspawn = nil
BeginObjectivesTimer()
ScriptCB_EnableCommandPostVO(0)
end
end)
--objective :goto
Objective1 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "level.cor1.objetives.Campaing.1", popupText = "level.cor1.objetives.Campaing.1_popup",
regionName = "barricade", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}
Objective1:AddHint("level.geo1.hints.movement")
Objective1:AddHint("level.geo1.hints.obj_markers")
Objective1:AddHint("level.geo1.hints.review_objectives")
Objective1:AddHint("level.geo1.hints.sprint")
Objective1.OnStart = function(self)
att_obj1_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj1_aigoal = AddAIGoal(DEF, "Deathmatch", 100)
end
Objective1.OnComplete = function(self)
DeleteAIGoal(att_obj1_aigoal)
DeleteAIGoal(def_obj1_aigoal)
ShowMessageText("game.objectives.complete", ATT)
end
--objective: conquest
Objective2CP = CommandPost:New{name = "cp5"}
Objective2 = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF, text = "level.cor1.objetives.Campaing.2.A", popupText = "level.cor1.objetives.Campaing.2.A_popup", AIGoalWeight = 0}
Objective2:AddCommandPost(Objective2CP)
Objective2:AddHint("level.geo1.hints.capture_cp")
Objective2.OnStart = function(self)
AICanCaptureCP("cp5", ATT, false)
AICanCaptureCP("cp5", DEF, false)
att_obj2_aigoal = AddAIGoal(ATT, "Defend", 50, "cp5")
def_obj2_aigoal = AddAIGoal(DEF, "Defend", 50, "cp5")
att_obj2_aigoal2 = AddAIGoal(ATT, "Deathmatch", 100)
def_obj2_aigoal2 = AddAIGoal(DEF, "Deathmatch", 100)
end
Objective2.OnComplete = function(self)
ShowMessageText("game.objectives.complete", ATT)
DeleteAIGoal(att_obj2_aigoal)
DeleteAIGoal(att_obj2_aigoal2)
DeleteAIGoal(def_obj2_aigoal)
DeleteAIGoal(def_obj2_aigoal2)
SetProperty("cp5", "Team", 1)
SetProperty("cp5", "CaptureRegion", "")
end
--objective: assault
Objective3= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.cor1.objetives.Campaing.2.B", popupText = "level.cor1.objetives.Campaing.2.b_popup"}
Dclass = TargetType:New{classname = "cis_inf_rifleman", killLimit = 20}
Objective3:AddTarget(Dclass)
Objective3.OnStart = function(self)
Objective3.Dclass_cpGoal1 = AddAIGoal(ATT, "Defend", 100, "cis_inf_rifleman")
Objective3.Dclass_cpGoal2 = AddAIGoal(DEF, "Defend", 100, "cis_inf_rifleman")
end
Objective3.OnComplete = function(self)
DeleteAIGoal(Objective3.Dclass_cpGoal1)
DeleteAIGoal(Objective3.Dclass_cpGoal2)
end
--objective: assault
Objective4= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.cor1.objetives.Campaing.2.c", popupText = "level.cor1.objetives.Campaing.2.c_popup"}
Dclass = TargetType:New{classname = "cis_tread_snailtank", killLimit = 10}
Objective4:AddTarget(Dclass)
Objective4.OnStart = function(self)
Objective4.Dclass_cpGoal1 = AddAIGoal(ATT, "Defend", 100, "cis_tread_snailtank")
Objective4.Dclass_cpGoal2 = AddAIGoal(DEF, "Defend", 100, "cis_tread_snailtank")
end
Objective4.OnComplete = function(self)
DeleteAIGoal(Objective4.Dclass_cpGoal1)
DeleteAIGoal(Objective4.Dclass_cpGoal2)
end
end
function BeginObjectivesTimer()
beginobjectivestimer = CreateTimer("beginobjectivestimer")
OnTimerElapse(BeginObjectives, beginobjectivestimer)
SetTimerValue(beginobjectivestimer, 3)
StartTimer(beginobjectivestimer)
end
function BeginObjectives()
objectiveSequence = MultiObjectiveContainer:New{delayVictoryTime = 4}
objectiveSequence:AddObjectiveSet(Objective1)
objectiveSequence:AddObjectiveSet(Objective2)
objectiveSequence:AddObjectiveSet(Objective3)
objectiveSequence:AddObjectiveSet(Objective4)
objectiveSequence:Start()
SetupAmbushTrigger("ambushregion", "ambushpath",6,5)
SetUberMode(1);
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(30)
SetMaxPlayerFlyHeight (30)
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\\yav.lvl;yav1cw")
ReadDataFile("dc:SIDE\\rep.lvl",
"rep_inf_ep2_marine",
"rep_inf_ep2_rifleman",
"rep_inf_ep2_jettrooper",
"rep_inf_ep2_sniper",
"rep_inf_ep2_officer",
"rep_inf_ep2_engineer",
"rep_inf_ep2_jettrooper_sniper",
"rep_hover_fightertank",
"rep_hero_anakin",
"rep_hero_obiwan",
"rep_hover_barcspeeder")
ReadDataFile("dc:SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_droideka",
"cis_hero_darthmaul",
"cis_hover_aat",
"cis_walk_dwarfspider",
"cis_tread_snailtank")
ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_laser",
"tur_bldg_tower")
SetupTeams{
rep = {
team = REP,
units = 200,
reinforcements = 150,
soldier = { "rep_inf_ep2_rifleman",9, 40},
assault = { "rep_inf_ep2_marine",1, 15},
engineer = { "rep_inf_ep2_engineer",1, 15},
sniper = { "rep_inf_ep2_sniper",1, 15},
officer = {"rep_inf_ep2_officer",1, 15},
special = { "rep_inf_ep2_jettrooper",1, 15},
},
cis = {
team = CIS,
units = 200,
reinforcements = 150,
soldier = { "cis_inf_rifleman",9, 40},
assault = { "cis_inf_rocketeer",1, 15},
engineer = { "cis_inf_engineer",1, 15},
sniper = { "cis_inf_sniper",1, 15},
officer = {"cis_inf_officer",1, 15},
special = { "cis_inf_droideka",1, 15},
},
atm = {
team = ATM,
units = 6,
reinforcements = 0,
soldier = { "rep_inf_ep2_jettrooper_sniper",5, 5},
assault = { "rep_hero_anakin",1, 1},
}
}
SetTeamName(ATM, REP)
SetTeamAsFriend(ATM, REP)
SetTeamAsFriend(REP, ATM)
SetTeamAsEnemy(ATM, CIS)
SetTeamAsEnemy(CIS, ATM)
ClearAIGoals(ATM)
AddAIGoal(ATM, "Deathmatch", 100)
SetHeroClass(CIS, "cis_hero_darthmaul")
SetHeroClass(REP, "rep_hero_obiwan")
-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 4) -- special -> droidekas
AddWalkerType(1, 0) -- 1x2 (1 pair of legs)
AddWalkerType(2, 2) -- 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:CRP\\CRP.lvl", "CRP_conquest")
ReadDataFile("dc:CRP\\CRP.lvl", "CRP_conquest")
SetDenseEnvironment("false")
-- Sound
SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
voiceSlow = OpenAudioStream("sound\\global.lvl", "rep_unit_vo_slow")
AudioStreamAppendSegments("sound\\global.lvl", "cis_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "global_vo_slow", voiceSlow)
voiceQuick = OpenAudioStream("sound\\global.lvl", "rep_unit_vo_quick")
AudioStreamAppendSegments("sound\\global.lvl", "cis_unit_vo_quick", voiceQuick)
OpenAudioStream("sound\\global.lvl", "cw_music")
-- OpenAudioStream("sound\\global.lvl", "global_vo_quick")
-- OpenAudioStream("sound\\global.lvl", "global_vo_slow")
OpenAudioStream("sound\\yav.lvl", "yav1")
OpenAudioStream("sound\\yav.lvl", "yav1")
OpenAudioStream("sound\\yav.lvl", "yav1_emt")
SetBleedingVoiceOver(REP, REP, "rep_off_com_report_us_overwhelmed", 1)
SetBleedingVoiceOver(REP, CIS, "rep_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(CIS, REP, "cis_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(CIS, CIS, "cis_off_com_report_us_overwhelmed", 1)
SetOutOfBoundsVoiceOver(2, "cisleaving")
SetOutOfBoundsVoiceOver(1, "repleaving")
SetAmbientMusic(REP, 1.0, "rep_yav_amb_start", 0,1)
SetAmbientMusic(REP, 0.8, "rep_yav_amb_middle", 1,1)
SetAmbientMusic(REP, 0.2, "rep_yav_amb_end", 2,1)
SetAmbientMusic(CIS, 1.0, "cis_yav_amb_start", 0,1)
SetAmbientMusic(CIS, 0.8, "cis_yav_amb_middle", 1,1)
SetAmbientMusic(CIS, 0.2, "cis_yav_amb_end", 2,1)
SetVictoryMusic(REP, "rep_yav_amb_victory")
SetDefeatMusic (REP, "rep_yav_amb_defeat")
SetVictoryMusic(CIS, "cis_yav_amb_victory")
SetDefeatMusic (CIS, "cis_yav_amb_defeat")
SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
--SetSoundEffect("BirdScatter", "birdsFlySeq1")
--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")
--OpeningSateliteShot
AddCameraShot(0.908386, -0.209095, -0.352873, -0.081226, -45.922508, -19.114113, 77.022636);
AddCameraShot(-0.481173, 0.024248, -0.875181, -0.044103, 14.767292, -30.602322, -144.506851);
AddCameraShot(0.999914, -0.012495, -0.004416, -0.000055, 1.143253, -33.602314, -76.884430);
AddCameraShot(0.839161, 0.012048, -0.543698, 0.007806, 19.152437, -49.802273, 24.337317);
AddCameraShot(0.467324, 0.006709, -0.883972, 0.012691, 11.825212, -49.802273, -7.000720);
AddCameraShot(0.861797, 0.001786, -0.507253, 0.001051, -11.986043, -59.702248, 23.263165);
AddCameraShot(0.628546, -0.042609, -0.774831, -0.052525, 20.429928, -48.302277, 9.771714);
AddCameraShot(0.765213, -0.051873, 0.640215, 0.043400, 57.692474, -48.302277, 16.540724);
AddCameraShot(0.264032, -0.015285, -0.962782, -0.055734, -16.681797, -42.902290, 129.553268);
AddCameraShot(-0.382320, 0.022132, -0.922222, -0.053386, 20.670977, -42.902290, 135.513001);
end
[/code]
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
-- This lua was createt by "Mission-Scripter", a program by -=[PfW]=-Skip.
-- load the gametype script
ScriptCB_DoFile("MultiObjectiveContainer")
ScriptCB_DoFile("ObjectiveAssault")
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("ObjectiveGoto")
ScriptCB_DoFile("ObjectiveCTF")
ScriptCB_DoFile("ObjectiveTDM")
ScriptCB_DoFile("Ambush")
ScriptCB_DoFile("setup_teams")
-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- These variables do not change
ATT = REP;
DEF = CIS;
AmbushTeam = 5
ATM = AmbushTeam
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"}
cp4 = CommandPost:New{name = "cp5"}
cp4 = CommandPost:New{name = "cp6"}
cp4 = CommandPost:New{name = "cp7"}
SetAIDifficulty(0, 2, "hard")
AllowAISpawn(ATT, true)
AllowAISpawn(DEF, true)
ScriptCB_SetGameRules("campaign")
onfirstspawn = OnCharacterSpawn(
function(character)
if character == 0 then
ShowPopup("level.geo1.hints.hints")
ReleaseCharacterSpawn(onfirstspawn)
onfirstspawn = nil
BeginObjectivesTimer()
ScriptCB_EnableCommandPostVO(0)
end
end)
--objective :goto
Objective1 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "level.cor1.objetives.Campaing.1", popupText = "level.cor1.objetives.Campaing.1_popup",
regionName = "barricade", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}
Objective1:AddHint("level.geo1.hints.movement")
Objective1:AddHint("level.geo1.hints.obj_markers")
Objective1:AddHint("level.geo1.hints.review_objectives")
Objective1:AddHint("level.geo1.hints.sprint")
Objective1.OnStart = function(self)
att_obj1_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj1_aigoal = AddAIGoal(DEF, "Deathmatch", 100)
end
Objective1.OnComplete = function(self)
DeleteAIGoal(att_obj1_aigoal)
DeleteAIGoal(def_obj1_aigoal)
ShowMessageText("game.objectives.complete", ATT)
end
--objective: conquest
Objective2CP = CommandPost:New{name = "cp5"}
Objective2 = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF, text = "level.cor1.objetives.Campaing.2.A", popupText = "level.cor1.objetives.Campaing.2.A_popup", AIGoalWeight = 0}
Objective2:AddCommandPost(Objective2CP)
Objective2:AddHint("level.geo1.hints.capture_cp")
Objective2.OnStart = function(self)
AICanCaptureCP("cp5", ATT, false)
AICanCaptureCP("cp5", DEF, false)
att_obj2_aigoal = AddAIGoal(ATT, "Defend", 50, "cp5")
def_obj2_aigoal = AddAIGoal(DEF, "Defend", 50, "cp5")
att_obj2_aigoal2 = AddAIGoal(ATT, "Deathmatch", 100)
def_obj2_aigoal2 = AddAIGoal(DEF, "Deathmatch", 100)
end
Objective2.OnComplete = function(self)
ShowMessageText("game.objectives.complete", ATT)
DeleteAIGoal(att_obj2_aigoal)
DeleteAIGoal(att_obj2_aigoal2)
DeleteAIGoal(def_obj2_aigoal)
DeleteAIGoal(def_obj2_aigoal2)
SetProperty("cp5", "Team", 1)
SetProperty("cp5", "CaptureRegion", "")
end
--objective: assault
Objective3= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.cor1.objetives.Campaing.2.B", popupText = "level.cor1.objetives.Campaing.2.b_popup"}
Dclass = TargetType:New{classname = "cis_inf_rifleman", killLimit = 20}
Objective3:AddTarget(Dclass)
Objective3.OnStart = function(self)
Objective3.Dclass_cpGoal1 = AddAIGoal(ATT, "Defend", 100, "cis_inf_rifleman")
Objective3.Dclass_cpGoal2 = AddAIGoal(DEF, "Defend", 100, "cis_inf_rifleman")
end
Objective3.OnComplete = function(self)
DeleteAIGoal(Objective3.Dclass_cpGoal1)
DeleteAIGoal(Objective3.Dclass_cpGoal2)
end
--objective: assault
Objective4= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.cor1.objetives.Campaing.2.c", popupText = "level.cor1.objetives.Campaing.2.c_popup"}
Dclass = TargetType:New{classname = "cis_tread_snailtank", killLimit = 10}
Objective4:AddTarget(Dclass)
Objective4.OnStart = function(self)
Objective4.Dclass_cpGoal1 = AddAIGoal(ATT, "Defend", 100, "cis_tread_snailtank")
Objective4.Dclass_cpGoal2 = AddAIGoal(DEF, "Defend", 100, "cis_tread_snailtank")
end
Objective4.OnComplete = function(self)
DeleteAIGoal(Objective4.Dclass_cpGoal1)
DeleteAIGoal(Objective4.Dclass_cpGoal2)
end
end
function BeginObjectivesTimer()
beginobjectivestimer = CreateTimer("beginobjectivestimer")
OnTimerElapse(BeginObjectives, beginobjectivestimer)
SetTimerValue(beginobjectivestimer, 3)
StartTimer(beginobjectivestimer)
end
function BeginObjectives()
objectiveSequence = MultiObjectiveContainer:New{delayVictoryTime = 4}
objectiveSequence:AddObjectiveSet(Objective1)
objectiveSequence:AddObjectiveSet(Objective2)
objectiveSequence:AddObjectiveSet(Objective3)
objectiveSequence:AddObjectiveSet(Objective4)
objectiveSequence:Start()
SetupAmbushTrigger("ambushregion", "ambushpath",6,5)
SetUberMode(1);
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(30)
SetMaxPlayerFlyHeight (30)
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\\yav.lvl;yav1cw")
ReadDataFile("dc:SIDE\\rep.lvl",
"rep_inf_ep2_marine",
"rep_inf_ep2_rifleman",
"rep_inf_ep2_jettrooper",
"rep_inf_ep2_sniper",
"rep_inf_ep2_officer",
"rep_inf_ep2_engineer",
"rep_inf_ep2_jettrooper_sniper",
"rep_hover_fightertank",
"rep_hero_anakin",
"rep_hero_obiwan",
"rep_hover_barcspeeder")
ReadDataFile("dc:SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_droideka",
"cis_hero_darthmaul",
"cis_hover_aat",
"cis_walk_dwarfspider",
"cis_tread_snailtank")
ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_laser",
"tur_bldg_tower")
SetupTeams{
rep = {
team = REP,
units = 200,
reinforcements = 150,
soldier = { "rep_inf_ep2_rifleman",9, 40},
assault = { "rep_inf_ep2_marine",1, 15},
engineer = { "rep_inf_ep2_engineer",1, 15},
sniper = { "rep_inf_ep2_sniper",1, 15},
officer = {"rep_inf_ep2_officer",1, 15},
special = { "rep_inf_ep2_jettrooper",1, 15},
},
cis = {
team = CIS,
units = 200,
reinforcements = 150,
soldier = { "cis_inf_rifleman",9, 40},
assault = { "cis_inf_rocketeer",1, 15},
engineer = { "cis_inf_engineer",1, 15},
sniper = { "cis_inf_sniper",1, 15},
officer = {"cis_inf_officer",1, 15},
special = { "cis_inf_droideka",1, 15},
},
atm = {
team = ATM,
units = 6,
reinforcements = 0,
soldier = { "rep_inf_ep2_jettrooper_sniper",5, 5},
assault = { "rep_hero_anakin",1, 1},
}
}
SetTeamName(ATM, REP)
SetTeamAsFriend(ATM, REP)
SetTeamAsFriend(REP, ATM)
SetTeamAsEnemy(ATM, CIS)
SetTeamAsEnemy(CIS, ATM)
ClearAIGoals(ATM)
AddAIGoal(ATM, "Deathmatch", 100)
SetHeroClass(CIS, "cis_hero_darthmaul")
SetHeroClass(REP, "rep_hero_obiwan")
-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 4) -- special -> droidekas
AddWalkerType(1, 0) -- 1x2 (1 pair of legs)
AddWalkerType(2, 2) -- 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:CRP\\CRP.lvl", "CRP_conquest")
ReadDataFile("dc:CRP\\CRP.lvl", "CRP_conquest")
SetDenseEnvironment("false")
-- Sound
SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
voiceSlow = OpenAudioStream("sound\\global.lvl", "rep_unit_vo_slow")
AudioStreamAppendSegments("sound\\global.lvl", "cis_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "global_vo_slow", voiceSlow)
voiceQuick = OpenAudioStream("sound\\global.lvl", "rep_unit_vo_quick")
AudioStreamAppendSegments("sound\\global.lvl", "cis_unit_vo_quick", voiceQuick)
OpenAudioStream("sound\\global.lvl", "cw_music")
-- OpenAudioStream("sound\\global.lvl", "global_vo_quick")
-- OpenAudioStream("sound\\global.lvl", "global_vo_slow")
OpenAudioStream("sound\\yav.lvl", "yav1")
OpenAudioStream("sound\\yav.lvl", "yav1")
OpenAudioStream("sound\\yav.lvl", "yav1_emt")
SetBleedingVoiceOver(REP, REP, "rep_off_com_report_us_overwhelmed", 1)
SetBleedingVoiceOver(REP, CIS, "rep_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(CIS, REP, "cis_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(CIS, CIS, "cis_off_com_report_us_overwhelmed", 1)
SetOutOfBoundsVoiceOver(2, "cisleaving")
SetOutOfBoundsVoiceOver(1, "repleaving")
SetAmbientMusic(REP, 1.0, "rep_yav_amb_start", 0,1)
SetAmbientMusic(REP, 0.8, "rep_yav_amb_middle", 1,1)
SetAmbientMusic(REP, 0.2, "rep_yav_amb_end", 2,1)
SetAmbientMusic(CIS, 1.0, "cis_yav_amb_start", 0,1)
SetAmbientMusic(CIS, 0.8, "cis_yav_amb_middle", 1,1)
SetAmbientMusic(CIS, 0.2, "cis_yav_amb_end", 2,1)
SetVictoryMusic(REP, "rep_yav_amb_victory")
SetDefeatMusic (REP, "rep_yav_amb_defeat")
SetVictoryMusic(CIS, "cis_yav_amb_victory")
SetDefeatMusic (CIS, "cis_yav_amb_defeat")
SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
--SetSoundEffect("BirdScatter", "birdsFlySeq1")
--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")
--OpeningSateliteShot
AddCameraShot(0.908386, -0.209095, -0.352873, -0.081226, -45.922508, -19.114113, 77.022636);
AddCameraShot(-0.481173, 0.024248, -0.875181, -0.044103, 14.767292, -30.602322, -144.506851);
AddCameraShot(0.999914, -0.012495, -0.004416, -0.000055, 1.143253, -33.602314, -76.884430);
AddCameraShot(0.839161, 0.012048, -0.543698, 0.007806, 19.152437, -49.802273, 24.337317);
AddCameraShot(0.467324, 0.006709, -0.883972, 0.012691, 11.825212, -49.802273, -7.000720);
AddCameraShot(0.861797, 0.001786, -0.507253, 0.001051, -11.986043, -59.702248, 23.263165);
AddCameraShot(0.628546, -0.042609, -0.774831, -0.052525, 20.429928, -48.302277, 9.771714);
AddCameraShot(0.765213, -0.051873, 0.640215, 0.043400, 57.692474, -48.302277, 16.540724);
AddCameraShot(0.264032, -0.015285, -0.962782, -0.055734, -16.681797, -42.902290, 129.553268);
AddCameraShot(-0.382320, 0.022132, -0.922222, -0.053386, 20.670977, -42.902290, 135.513001);
end
[/code]
I have tried several ways but always stops the game.