Survival Mode script issues [Solved]
Posted: Wed Jul 25, 2012 8:36 pm
by Dreadnot9
I'm trying to get a survival-ish (the goal is too hold starting CP for a specific amount of time, and then you win, if the other team captures your cp, you lose) mode working on my map using this lua:
This results in a CTD once the final load bubble is filled.
The code I'm using for the "hold the CP" goal can be found here (TK432's first post, second bit of code).
Error log:
Of course all the missing capture regions are intentional.
The mode is added correctly in my addme script (otherwise it wouldn't be selectable from the istant action screen correct?).
Any help is appreciated.
EDIT: Never mind, I got it working by removing all the KillObject lines referring to the vehicle spawns (don't know why they don't work however). The game loads just fine now. Staff, feel free to lock/close/delete this thread.
Hidden/Spoiler:
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("MultiObjectiveContainer")
ScriptCB_DoFile("Objective")
ScriptCB_SetGameRules("campaign")
-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- These variables do not change
ATT = REP;
DEF = CIS;
function ScriptPostLoad()
ScriptCB_SetGameRules("campaign")-- Here you can see a script being used; The script to define the gameRules(of wich I don't really know what they do EXACTLY)
SetAIDifficulty(0, 0, "medium")-- I'd say this influences the dumbness of the A.I. to compensate for difficult maps.
DisableAIAutoBalance()--Help requested on explaining this
SetProperty("cp1", "team", 2)
SetProperty("cp2", "team", 1)
SetProperty("cp3", "team", 2)
SetProperty("cp4", "team", 2)
SetProperty("cp5", "team", 2)
SetProperty("cp6", "team", 2)
SetProperty("cp1", "captureregion", " ")
SetProperty("cp3", "captureregion", " ")
SetProperty("cp4", "captureregion", " ")
SetProperty("cp5", "captureregion", " ")
SetProperty("cp6", "captureregion", " ")
KillObject("com_item_vehicle_spawn1")
KillObject("com_item_vehicle_spawn2")
KillObject("com_item_vehicle_spawn3")
KillObject("com_item_vehicle_spawn4")
KillObject("com_item_vehicle_spawn5")
KillObject("com_item_vehicle_spawn7")
KillObject("com_item_vehicle_spawn8")
--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
onfirstspawn = OnCharacterSpawn(
function(character)
if IsCharacterHuman(character) then
ReleaseCharacterSpawn(onfirstspawn)
onfirstspawn = nil
objectives_timer = CreateTimer("objectives_timer")
SetTimerValue(objectives_timer, 2)
StartTimer(objectives_timer)
begin_objectives = OnTimerElapse(
function(timer)
StartObjectives ()
ScriptCB_EnableCommandPostVO(0)
end,
objectives_timer
)
end
end
)
--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}
--dont oversee that teamATT = DEF and teamDEF = ATT here now
Objective1CP = CommandPost:New{name = "cp2"}
Objective1 = ObjectiveConquest:New{teamATT = DEF, teamDEF = ATT, text = "level.ABC.obj.1", popupText = "level.ABC.obj.1_popup", timeLimit = 150, timeLimitWinningTeam = ATT}
----------------------------------------sets timelimit^^
Objective1:AddCommandPost(Objective1CP)
Objective1.OnStart = function(self)
AIGoalATT = AddAIGoal(ATT, "Defend", 100, "cp2")
--AIGoalDEF = AddAIGoal(DEF, "Defend", 10, "cp2")
end
Objective1.OnComplete = function(self)
DeleteAIGoal(AIGoalATT)
DeleteAIGoal(AIGoalDEF)
--sets that you lose if you dont hold it
if self.winningTeam == self.teamDEF then
BroadcastVoiceOver("cor_obj_24")
MissionDefeat(ATT)
elseif self.winningTeam == self.teamATT then
MissionVictory(ATT)
end
end
--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()
EnableSPHeroRules()
end
function StartObjectives()
objectiveSequence = MultiObjectiveContainer:New{delayVictoryTime = 4.0 }
objectiveSequence:AddObjectiveSet(Objective1)
objectiveSequence:Start()
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()
--tell the game to load our loading image
ReadDataFile("dc:Load\\dan.lvl")
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\\geo.lvl;geo1cw")
ReadDataFile("sound\\fel.lvl;fel1cw")
ReadDataFile("SIDE\\rep.lvl",
"rep_walk_oneman_atst",
"rep_walk_atte")
ReadDataFile("dc:SIDE\\modrep.lvl",
"rep_inf_driver",
"rep_inf_jettrooper",
"rep_inf_rifleman",
"rep_inf_support",
"rep_inf_arf",
"rep_inf_rocketeer",
"rep_inf_sniper_felucia",
"rep_inf_captain",
"rep_inf_commander")
ReadDataFile("SIDE\\cis.lvl",
"cis_hover_aat")
ReadDataFile("dc:SIDE\\cis.lvl",
"cis_inf_sniper",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_bdroid",
"cis_inf_sbd",
"cis_inf_OOM-9",
"cis_inf_merc",
"cis_inf_droideka")
ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_laser",
"tur_bldg_tower")
ReadDataFile("dc:SIDE\\VEH.lvl",
"cis_walk_dwarfspider")
SetupTeams{
rep = {
team = REP,
units = 1,
reinforcements = 4,
soldier = { "rep_inf_rifleman",7, 25},
assault = { "rep_inf_rocketeer",1, 4},
engineer = { "rep_inf_driver",1, 4},
sniper = { "rep_inf_sniper_felucia",1, 4},
officer = {"rep_inf_arf",1, 4},
special = { "rep_inf_jettrooper",1, 4},
extra1 = { "rep_inf_support",1, 2},
extra2 = { "rep_inf_commander",0, 1},
},
cis = {
team = CIS,
units = 32,
reinforcements = -1,
soldier = { "cis_inf_bdroid",9, 25},
assault = { "cis_inf_rocketeer",1, 4},
engineer = { "cis_inf_engineer",1, 4},
sniper = { "cis_inf_sniper",1, 4},
officer = {"cis_inf_sbd",1, 4},
special = { "cis_inf_merc",1, 4},
extra1 = { "cis_inf_droideka",1, 2},
extra2 = { "cis_inf_OOM-9",0, 1},
}
}
--SetHeroClass(CIS, "cis_hero_darthmaul")
--SetHeroClass(REP, "rep_hero_anakin")
-- Level Stats
ClearWalkers()
SetMemoryPoolSize("EntityWalker", -1)
AddWalkerType(0, 4) -- special -> droidekas
AddWalkerType(1, 2) -- 1x2 (1 pair of legs)
AddWalkerType(2, 2) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 1) -- 3x2 (3 pairs of legs)
local weaponCnt = 1024
SetMemoryPoolSize("SoldierAnimation", 500)
SetMemoryPoolSize("Aimer", 75)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("CommandWalker", 1)
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:DAN\\DAN.lvl", "DAN_conquest")
ReadDataFile("dc:DAN\\DAN.lvl", "DAN_conquest_cw")
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.957273, 0.080323, 0.276834, -0.023229, -125.778419, 2.094624, 50.666920);
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
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("MultiObjectiveContainer")
ScriptCB_DoFile("Objective")
ScriptCB_SetGameRules("campaign")
-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- These variables do not change
ATT = REP;
DEF = CIS;
function ScriptPostLoad()
ScriptCB_SetGameRules("campaign")-- Here you can see a script being used; The script to define the gameRules(of wich I don't really know what they do EXACTLY)
SetAIDifficulty(0, 0, "medium")-- I'd say this influences the dumbness of the A.I. to compensate for difficult maps.
DisableAIAutoBalance()--Help requested on explaining this
SetProperty("cp1", "team", 2)
SetProperty("cp2", "team", 1)
SetProperty("cp3", "team", 2)
SetProperty("cp4", "team", 2)
SetProperty("cp5", "team", 2)
SetProperty("cp6", "team", 2)
SetProperty("cp1", "captureregion", " ")
SetProperty("cp3", "captureregion", " ")
SetProperty("cp4", "captureregion", " ")
SetProperty("cp5", "captureregion", " ")
SetProperty("cp6", "captureregion", " ")
KillObject("com_item_vehicle_spawn1")
KillObject("com_item_vehicle_spawn2")
KillObject("com_item_vehicle_spawn3")
KillObject("com_item_vehicle_spawn4")
KillObject("com_item_vehicle_spawn5")
KillObject("com_item_vehicle_spawn7")
KillObject("com_item_vehicle_spawn8")
--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
onfirstspawn = OnCharacterSpawn(
function(character)
if IsCharacterHuman(character) then
ReleaseCharacterSpawn(onfirstspawn)
onfirstspawn = nil
objectives_timer = CreateTimer("objectives_timer")
SetTimerValue(objectives_timer, 2)
StartTimer(objectives_timer)
begin_objectives = OnTimerElapse(
function(timer)
StartObjectives ()
ScriptCB_EnableCommandPostVO(0)
end,
objectives_timer
)
end
end
)
--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}
--dont oversee that teamATT = DEF and teamDEF = ATT here now
Objective1CP = CommandPost:New{name = "cp2"}
Objective1 = ObjectiveConquest:New{teamATT = DEF, teamDEF = ATT, text = "level.ABC.obj.1", popupText = "level.ABC.obj.1_popup", timeLimit = 150, timeLimitWinningTeam = ATT}
----------------------------------------sets timelimit^^
Objective1:AddCommandPost(Objective1CP)
Objective1.OnStart = function(self)
AIGoalATT = AddAIGoal(ATT, "Defend", 100, "cp2")
--AIGoalDEF = AddAIGoal(DEF, "Defend", 10, "cp2")
end
Objective1.OnComplete = function(self)
DeleteAIGoal(AIGoalATT)
DeleteAIGoal(AIGoalDEF)
--sets that you lose if you dont hold it
if self.winningTeam == self.teamDEF then
BroadcastVoiceOver("cor_obj_24")
MissionDefeat(ATT)
elseif self.winningTeam == self.teamATT then
MissionVictory(ATT)
end
end
--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()
EnableSPHeroRules()
end
function StartObjectives()
objectiveSequence = MultiObjectiveContainer:New{delayVictoryTime = 4.0 }
objectiveSequence:AddObjectiveSet(Objective1)
objectiveSequence:Start()
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()
--tell the game to load our loading image
ReadDataFile("dc:Load\\dan.lvl")
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\\geo.lvl;geo1cw")
ReadDataFile("sound\\fel.lvl;fel1cw")
ReadDataFile("SIDE\\rep.lvl",
"rep_walk_oneman_atst",
"rep_walk_atte")
ReadDataFile("dc:SIDE\\modrep.lvl",
"rep_inf_driver",
"rep_inf_jettrooper",
"rep_inf_rifleman",
"rep_inf_support",
"rep_inf_arf",
"rep_inf_rocketeer",
"rep_inf_sniper_felucia",
"rep_inf_captain",
"rep_inf_commander")
ReadDataFile("SIDE\\cis.lvl",
"cis_hover_aat")
ReadDataFile("dc:SIDE\\cis.lvl",
"cis_inf_sniper",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_bdroid",
"cis_inf_sbd",
"cis_inf_OOM-9",
"cis_inf_merc",
"cis_inf_droideka")
ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_laser",
"tur_bldg_tower")
ReadDataFile("dc:SIDE\\VEH.lvl",
"cis_walk_dwarfspider")
SetupTeams{
rep = {
team = REP,
units = 1,
reinforcements = 4,
soldier = { "rep_inf_rifleman",7, 25},
assault = { "rep_inf_rocketeer",1, 4},
engineer = { "rep_inf_driver",1, 4},
sniper = { "rep_inf_sniper_felucia",1, 4},
officer = {"rep_inf_arf",1, 4},
special = { "rep_inf_jettrooper",1, 4},
extra1 = { "rep_inf_support",1, 2},
extra2 = { "rep_inf_commander",0, 1},
},
cis = {
team = CIS,
units = 32,
reinforcements = -1,
soldier = { "cis_inf_bdroid",9, 25},
assault = { "cis_inf_rocketeer",1, 4},
engineer = { "cis_inf_engineer",1, 4},
sniper = { "cis_inf_sniper",1, 4},
officer = {"cis_inf_sbd",1, 4},
special = { "cis_inf_merc",1, 4},
extra1 = { "cis_inf_droideka",1, 2},
extra2 = { "cis_inf_OOM-9",0, 1},
}
}
--SetHeroClass(CIS, "cis_hero_darthmaul")
--SetHeroClass(REP, "rep_hero_anakin")
-- Level Stats
ClearWalkers()
SetMemoryPoolSize("EntityWalker", -1)
AddWalkerType(0, 4) -- special -> droidekas
AddWalkerType(1, 2) -- 1x2 (1 pair of legs)
AddWalkerType(2, 2) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 1) -- 3x2 (3 pairs of legs)
local weaponCnt = 1024
SetMemoryPoolSize("SoldierAnimation", 500)
SetMemoryPoolSize("Aimer", 75)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("CommandWalker", 1)
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:DAN\\DAN.lvl", "DAN_conquest")
ReadDataFile("dc:DAN\\DAN.lvl", "DAN_conquest_cw")
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.957273, 0.080323, 0.276834, -0.023229, -125.778419, 2.094624, 50.666920);
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
The code I'm using for the "hold the CP" goal can be found here (TK432's first post, second bit of code).
Error log:
Hidden/Spoiler:
Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\SkyManager.cpp(122)
Skyfile FarSceneRange is in old format
Message Severity: 2
C:\Battlefront2\main\RedEngineFL\Memory\RedMemoryPool.cpp(170)
Memory pool "ParticleTransformer::SizeTransf" is full; raise count to at least 1468
Message Severity: 2
C:\Battlefront2\main\RedEngineFL\Memory\RedMemoryPool.cpp(170)
Memory pool "ParticleTransformer::ColorTrans" is full; raise count to at least 2396
Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\VehicleSpawn.cpp(140)
Vehicle spawn outside command post "cp1" control region
Message Severity: 3
C:\Battlefront2\main\Battlefront2\Platform\PC\pcFirstPerson.cpp(69)
FirstPerson::LoadLVLFile: Could not open FPM\modrep\modrep.lvl
Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\Weapon.cpp(82)
Weapon 'cis_weap_walk_dwarfspider_canno' is not localized for stats page
Message Severity: 3
C:\Battlefront2\main\Battlefront2\Source\CommandPost.cpp(493)
Command Post missing capture region " "
Message Severity: 3
C:\Battlefront2\main\Battlefront2\Source\CommandPost.cpp(493)
Command Post missing capture region " "
Message Severity: 3
C:\Battlefront2\main\Battlefront2\Source\CommandPost.cpp(493)
Command Post missing capture region " "
Message Severity: 3
C:\Battlefront2\main\Battlefront2\Source\CommandPost.cpp(493)
Command Post missing capture region " "
Message Severity: 3
C:\Battlefront2\main\Battlefront2\Source\CommandPost.cpp(493)
Command Post missing capture region " "
C:\Battlefront2\main\Battlefront2\Source\SkyManager.cpp(122)
Skyfile FarSceneRange is in old format
Message Severity: 2
C:\Battlefront2\main\RedEngineFL\Memory\RedMemoryPool.cpp(170)
Memory pool "ParticleTransformer::SizeTransf" is full; raise count to at least 1468
Message Severity: 2
C:\Battlefront2\main\RedEngineFL\Memory\RedMemoryPool.cpp(170)
Memory pool "ParticleTransformer::ColorTrans" is full; raise count to at least 2396
Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\VehicleSpawn.cpp(140)
Vehicle spawn outside command post "cp1" control region
Message Severity: 3
C:\Battlefront2\main\Battlefront2\Platform\PC\pcFirstPerson.cpp(69)
FirstPerson::LoadLVLFile: Could not open FPM\modrep\modrep.lvl
Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\Weapon.cpp(82)
Weapon 'cis_weap_walk_dwarfspider_canno' is not localized for stats page
Message Severity: 3
C:\Battlefront2\main\Battlefront2\Source\CommandPost.cpp(493)
Command Post missing capture region " "
Message Severity: 3
C:\Battlefront2\main\Battlefront2\Source\CommandPost.cpp(493)
Command Post missing capture region " "
Message Severity: 3
C:\Battlefront2\main\Battlefront2\Source\CommandPost.cpp(493)
Command Post missing capture region " "
Message Severity: 3
C:\Battlefront2\main\Battlefront2\Source\CommandPost.cpp(493)
Command Post missing capture region " "
Message Severity: 3
C:\Battlefront2\main\Battlefront2\Source\CommandPost.cpp(493)
Command Post missing capture region " "
The mode is added correctly in my addme script (otherwise it wouldn't be selectable from the istant action screen correct?).
Any help is appreciated.
EDIT: Never mind, I got it working by removing all the KillObject lines referring to the vehicle spawns (don't know why they don't work however). The game loads just fine now. Staff, feel free to lock/close/delete this thread.