A.I. Hero-related multiplayer crash! :O
Posted: Wed Nov 16, 2011 1:02 am
by Marth8880
My map crashes whenever I try to launch it in multiplayer, although it works perfectly fine in singleplayer. (Well, it has to be the first map loaded or else it crashes, but still.)
LUNc_con.lua
I cannot produce an error log because the debugger does not launch multiplayer matches.
LUNc_con.lua
Hidden/Spoiler:
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("AIHeroSupport")
-- CIS Attacking (attacker is always #1)
REP = 2;
CIS = 1;
-- These variables do not change
ATT = REP;
DEF = CIS;
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"}
cp5 = CommandPost:New{name = "cp5"}
cp6 = CommandPost:New{name = "cp6"}
--This sets up the actual objective. This needs to happen after cp's are defined
conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF,
textATT = "game.modes.con",
textDEF = "game.modes.con2",
multiplayerRules = true}
--This adds the CPs to the objective. This needs to happen after the objective is set up
conquest:AddCommandPost(cp1)
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp3)
conquest:AddCommandPost(cp4)
conquest:AddCommandPost(cp5)
conquest:AddCommandPost(cp6)
conquest:Start()
if not ScriptCB_InMultiplayer() then
herosupport = AIHeroSupport:New{AIATTHeroHealth = 5000, AIDEFHeroHealth = 3000, gameMode = "NonConquest",}
herosupport:SetHeroClass(REP, "rep_hero_masterkoon")
herosupport:SetHeroClass(CIS, "cis_hero_grievous")
herosupport:AddSpawnCP("cp1","cp1_spawn")
herosupport:AddSpawnCP("cp2","cp2_spawn")
herosupport:AddSpawnCP("cp3","cp3_spawn")
herosupport:AddSpawnCP("cp4","cp4_spawn")
herosupport:AddSpawnCP("cp5","cp5_spawn")
herosupport:AddSpawnCP("cp6","cp6_spawn")
herosupport:Start()
else
end
EnableSPHeroRules()
KillObject("cp1xl")
KillObject("cp2xl")
KillObject("cp3xl")
KillObject("cp4xl")
KillObject("cp1-xl-veh1")
KillObject("cp1-xl-veh2")
KillObject("cp1-xl-veh3")
KillObject("cp4-xl-veh1")
KillObject("cp4-xl-veh2")
KillObject("cp4-xl-veh3")
-- These display strings for CP captures
OnFinishCaptureTeam(
function(cPost)
local pName = GetEntityName(cPost) -- Gets the name of the post that was captured
ShowMessageText("level.LUN." .. pName .. "_cis") -- Show this string to all teams
end,
1 -- Team number for the strings
)
-- the ".." is Lua's concatenate, ie connecting two strings together
-- If the post's name was "cp1" then the line above should create "level.VNV.cp1_r"
-- Just make sure you have a localized string for each side and CP otherwise it will show as "NULL"
OnFinishCaptureTeam(
function(cPost)
local pName = GetEntityName(cPost) -- Gets the name of the post that was captured
ShowMessageText("level.LUN." .. pName .. "_rep") -- Show this string to all teams
end,
2 -- Team number for the strings
)
-- the ".." is Lua's concatenate, ie connecting two strings together
-- If the post's name was "cp1" then the line above should create "level.VNV.cp1_r"
-- Just make sure you have a localized string for each side and CP otherwise it will show as "NULL"
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\\common.lvl")
ReadDataFile("ingame.lvl")
-- These modify the AI marksman
AISnipeSuitabilityDist(70)
SetDefenderSnipeRange(170)
SetMinFlyHeight(-500)
SetMaxFlyHeight(1000)
--SetMaxPlayerFlyHeight (50)
SetGroundFlyerMap(1);
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("dc:sound\\geo.lvl;geo1cw")
ReadDataFile("dc:sound\\LUN.lvl;LUNcw")
ReadDataFile("sound\\spa.lvl;spa2cw")
ScriptCB_SetDopplerFactor(0.4)
ScaleSoundParameter("tur_weapons", "MinDistance", 3.0);
ScaleSoundParameter("tur_weapons", "MaxDistance", 3.0);
ScaleSoundParameter("tur_weapons", "MuteDistance", 3.0);
ScaleSoundParameter("Ordnance_Large", "MinDistance", 3.0);
ScaleSoundParameter("Ordnance_Large", "MaxDistance", 3.0);
ScaleSoundParameter("Ordnance_Large", "MuteDistance", 3.0);
ScaleSoundParameter("explosion", "MaxDistance", 5.0);
ScaleSoundParameter("explosion", "MuteDistance", 5.0);
ReadDataFile("SIDE\\cis.lvl",
"cis_fly_gunship_DOME",
"cis_inf_rifleman",
"cis_inf_officer",
"cis_inf_droideka")
ReadDataFile("SIDE\\rep.lvl",
"rep_fly_arc170fighter_DOME")
ReadDataFile("dc:SIDE\\rep.lvl",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_sniper",
"rep_inf_ep3_officer",
"rep_inf_ep3_jettrooper",
"rep_fly_arc170fighter_sc",
"rep_hero_masterkoon",
"rep_walk_atte_sound")
ReadDataFile("dc:SIDE\\cis.lvl",
"cis_cap_fedcruiser_dome",
"cis_fly_greviousfighter",
"cis_hero_grievous",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_tread_hailfire",
"cis_walk_spider_sound")
ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_laser",
"tur_bldg_recoilless_lg")
SetupTeams{
rep = {
team = REP,
units = 30,
reinforcements = 200,
soldier = { "rep_inf_ep3_rifleman",9, 25},
assault = { "rep_inf_ep3_rocketeer",1, 4},
engineer = { "rep_inf_ep3_engineer",1, 4},
sniper = { "rep_inf_ep3_sniper",1, 4},
officer = {"rep_inf_ep3_officer",1, 4},
special = { "rep_inf_ep3_jettrooper",1, 4},
},
cis = {
team = CIS,
units = 30,
reinforcements = 200,
soldier = { "cis_inf_rifleman",9, 25},
assault = { "cis_inf_rocketeer",1, 4},
engineer = { "cis_inf_engineer",1, 4},
sniper = { "cis_inf_sniper",1, 4},
officer = {"cis_inf_officer",1, 4},
special = { "cis_inf_droideka",1, 4},
}
}
if ScriptCB_InMultiplayer() then
SetHeroClass(CIS, "cis_hero_grievous")
SetHeroClass(REP, "rep_hero_masterkoon")
else
end
-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 4) -- special -> droidekas
AddWalkerType(1, 6) -- 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("Aimer", 75)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("CommandWalker", 1)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 32)
SetMemoryPoolSize("EntityFlyer", 36)
SetMemoryPoolSize("EntityHover", 32)
SetMemoryPoolSize("EntityLight", 200)
SetMemoryPoolSize("EntitySoundStream", 4)
SetMemoryPoolSize("EntitySoundStatic", 32)
SetMemoryPoolSize("EntityWalker", 9)
SetMemoryPoolSize("MountedTurret", 32)
SetMemoryPoolSize("Navigator", 128)
SetMemoryPoolSize("Obstacle", 1024)
SetMemoryPoolSize("PathNode", 1024)
SetMemoryPoolSize("SoldierAnimation", 437)
SetMemoryPoolSize("SoundSpaceRegion", 64)
SetMemoryPoolSize("TreeGridStack", 1024)
SetMemoryPoolSize("UnitAgent", 128)
SetMemoryPoolSize("UnitController", 128)
SetMemoryPoolSize("Weapon", weaponCnt)
SetSpawnDelay(10.0, 0.25)
--ReadDataFile("dc:LUN\\LUN.lvl", "LUN_conquest")
ReadDataFile("dc:LUN\\LUN.lvl", "LUN_conquest")
SetDenseEnvironment("false")
-- Sound
SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
ScriptCB_EnableHeroMusic(0)
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("dc:sound\\geo.lvl", "geo1cw")
OpenAudioStream("dc:sound\\lun.lvl", "lun_ambiance")
OpenAudioStream("sound\\spa.lvl", "spa")
OpenAudioStream("sound\\spa.lvl", "spa")
--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_pol_amb_start", 0,1)
--SetAmbientMusic(REP, 0.8, "rep_pol_amb_middle", 1,1)
--SetAmbientMusic(REP, 0.2, "rep_pol_amb_end", 2,1)
--SetAmbientMusic(CIS, 1.0, "cis_pol_amb_start", 0,1)
--SetAmbientMusic(CIS, 0.8, "cis_pol_amb_middle", 1,1)
--SetAmbientMusic(CIS, 0.2, "cis_pol_amb_end", 2,1)
SetVictoryMusic(REP, "rep_geo_amb_victory")
SetDefeatMusic (REP, "rep_geo_amb_defeat")
SetVictoryMusic(CIS, "cis_geo_amb_victory")
SetDefeatMusic (CIS, "cis_geo_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")
-- Camera Stats
AddCameraShot(0.914811, -0.054627, 0.399460, 0.023853, 186.374527, 41.910858, 230.153229);
AddCameraShot(0.916782, -0.053201, -0.395164, -0.022931, -152.424011, 41.910858, 254.628479);
AddCameraShot(0.930269, -0.128603, 0.340362, 0.047053, 126.493584, 41.285267, 292.892517);
AddCameraShot(0.052319, -0.005925, -0.992270, -0.112373, 37.337471, 17.794003, -21.383820);
AddCameraShot(-0.158184, 0.028947, -0.970864, -0.177661, 41.519318, 17.794003, 70.238647);
AddCameraShot(0.800253, -0.176717, 0.559552, 0.123564, 155.195282, 17.794003, 116.095673);
end
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("AIHeroSupport")
-- CIS Attacking (attacker is always #1)
REP = 2;
CIS = 1;
-- These variables do not change
ATT = REP;
DEF = CIS;
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"}
cp5 = CommandPost:New{name = "cp5"}
cp6 = CommandPost:New{name = "cp6"}
--This sets up the actual objective. This needs to happen after cp's are defined
conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF,
textATT = "game.modes.con",
textDEF = "game.modes.con2",
multiplayerRules = true}
--This adds the CPs to the objective. This needs to happen after the objective is set up
conquest:AddCommandPost(cp1)
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp3)
conquest:AddCommandPost(cp4)
conquest:AddCommandPost(cp5)
conquest:AddCommandPost(cp6)
conquest:Start()
if not ScriptCB_InMultiplayer() then
herosupport = AIHeroSupport:New{AIATTHeroHealth = 5000, AIDEFHeroHealth = 3000, gameMode = "NonConquest",}
herosupport:SetHeroClass(REP, "rep_hero_masterkoon")
herosupport:SetHeroClass(CIS, "cis_hero_grievous")
herosupport:AddSpawnCP("cp1","cp1_spawn")
herosupport:AddSpawnCP("cp2","cp2_spawn")
herosupport:AddSpawnCP("cp3","cp3_spawn")
herosupport:AddSpawnCP("cp4","cp4_spawn")
herosupport:AddSpawnCP("cp5","cp5_spawn")
herosupport:AddSpawnCP("cp6","cp6_spawn")
herosupport:Start()
else
end
EnableSPHeroRules()
KillObject("cp1xl")
KillObject("cp2xl")
KillObject("cp3xl")
KillObject("cp4xl")
KillObject("cp1-xl-veh1")
KillObject("cp1-xl-veh2")
KillObject("cp1-xl-veh3")
KillObject("cp4-xl-veh1")
KillObject("cp4-xl-veh2")
KillObject("cp4-xl-veh3")
-- These display strings for CP captures
OnFinishCaptureTeam(
function(cPost)
local pName = GetEntityName(cPost) -- Gets the name of the post that was captured
ShowMessageText("level.LUN." .. pName .. "_cis") -- Show this string to all teams
end,
1 -- Team number for the strings
)
-- the ".." is Lua's concatenate, ie connecting two strings together
-- If the post's name was "cp1" then the line above should create "level.VNV.cp1_r"
-- Just make sure you have a localized string for each side and CP otherwise it will show as "NULL"
OnFinishCaptureTeam(
function(cPost)
local pName = GetEntityName(cPost) -- Gets the name of the post that was captured
ShowMessageText("level.LUN." .. pName .. "_rep") -- Show this string to all teams
end,
2 -- Team number for the strings
)
-- the ".." is Lua's concatenate, ie connecting two strings together
-- If the post's name was "cp1" then the line above should create "level.VNV.cp1_r"
-- Just make sure you have a localized string for each side and CP otherwise it will show as "NULL"
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\\common.lvl")
ReadDataFile("ingame.lvl")
-- These modify the AI marksman
AISnipeSuitabilityDist(70)
SetDefenderSnipeRange(170)
SetMinFlyHeight(-500)
SetMaxFlyHeight(1000)
--SetMaxPlayerFlyHeight (50)
SetGroundFlyerMap(1);
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("dc:sound\\geo.lvl;geo1cw")
ReadDataFile("dc:sound\\LUN.lvl;LUNcw")
ReadDataFile("sound\\spa.lvl;spa2cw")
ScriptCB_SetDopplerFactor(0.4)
ScaleSoundParameter("tur_weapons", "MinDistance", 3.0);
ScaleSoundParameter("tur_weapons", "MaxDistance", 3.0);
ScaleSoundParameter("tur_weapons", "MuteDistance", 3.0);
ScaleSoundParameter("Ordnance_Large", "MinDistance", 3.0);
ScaleSoundParameter("Ordnance_Large", "MaxDistance", 3.0);
ScaleSoundParameter("Ordnance_Large", "MuteDistance", 3.0);
ScaleSoundParameter("explosion", "MaxDistance", 5.0);
ScaleSoundParameter("explosion", "MuteDistance", 5.0);
ReadDataFile("SIDE\\cis.lvl",
"cis_fly_gunship_DOME",
"cis_inf_rifleman",
"cis_inf_officer",
"cis_inf_droideka")
ReadDataFile("SIDE\\rep.lvl",
"rep_fly_arc170fighter_DOME")
ReadDataFile("dc:SIDE\\rep.lvl",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_sniper",
"rep_inf_ep3_officer",
"rep_inf_ep3_jettrooper",
"rep_fly_arc170fighter_sc",
"rep_hero_masterkoon",
"rep_walk_atte_sound")
ReadDataFile("dc:SIDE\\cis.lvl",
"cis_cap_fedcruiser_dome",
"cis_fly_greviousfighter",
"cis_hero_grievous",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_tread_hailfire",
"cis_walk_spider_sound")
ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_laser",
"tur_bldg_recoilless_lg")
SetupTeams{
rep = {
team = REP,
units = 30,
reinforcements = 200,
soldier = { "rep_inf_ep3_rifleman",9, 25},
assault = { "rep_inf_ep3_rocketeer",1, 4},
engineer = { "rep_inf_ep3_engineer",1, 4},
sniper = { "rep_inf_ep3_sniper",1, 4},
officer = {"rep_inf_ep3_officer",1, 4},
special = { "rep_inf_ep3_jettrooper",1, 4},
},
cis = {
team = CIS,
units = 30,
reinforcements = 200,
soldier = { "cis_inf_rifleman",9, 25},
assault = { "cis_inf_rocketeer",1, 4},
engineer = { "cis_inf_engineer",1, 4},
sniper = { "cis_inf_sniper",1, 4},
officer = {"cis_inf_officer",1, 4},
special = { "cis_inf_droideka",1, 4},
}
}
if ScriptCB_InMultiplayer() then
SetHeroClass(CIS, "cis_hero_grievous")
SetHeroClass(REP, "rep_hero_masterkoon")
else
end
-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 4) -- special -> droidekas
AddWalkerType(1, 6) -- 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("Aimer", 75)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("CommandWalker", 1)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 32)
SetMemoryPoolSize("EntityFlyer", 36)
SetMemoryPoolSize("EntityHover", 32)
SetMemoryPoolSize("EntityLight", 200)
SetMemoryPoolSize("EntitySoundStream", 4)
SetMemoryPoolSize("EntitySoundStatic", 32)
SetMemoryPoolSize("EntityWalker", 9)
SetMemoryPoolSize("MountedTurret", 32)
SetMemoryPoolSize("Navigator", 128)
SetMemoryPoolSize("Obstacle", 1024)
SetMemoryPoolSize("PathNode", 1024)
SetMemoryPoolSize("SoldierAnimation", 437)
SetMemoryPoolSize("SoundSpaceRegion", 64)
SetMemoryPoolSize("TreeGridStack", 1024)
SetMemoryPoolSize("UnitAgent", 128)
SetMemoryPoolSize("UnitController", 128)
SetMemoryPoolSize("Weapon", weaponCnt)
SetSpawnDelay(10.0, 0.25)
--ReadDataFile("dc:LUN\\LUN.lvl", "LUN_conquest")
ReadDataFile("dc:LUN\\LUN.lvl", "LUN_conquest")
SetDenseEnvironment("false")
-- Sound
SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
ScriptCB_EnableHeroMusic(0)
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("dc:sound\\geo.lvl", "geo1cw")
OpenAudioStream("dc:sound\\lun.lvl", "lun_ambiance")
OpenAudioStream("sound\\spa.lvl", "spa")
OpenAudioStream("sound\\spa.lvl", "spa")
--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_pol_amb_start", 0,1)
--SetAmbientMusic(REP, 0.8, "rep_pol_amb_middle", 1,1)
--SetAmbientMusic(REP, 0.2, "rep_pol_amb_end", 2,1)
--SetAmbientMusic(CIS, 1.0, "cis_pol_amb_start", 0,1)
--SetAmbientMusic(CIS, 0.8, "cis_pol_amb_middle", 1,1)
--SetAmbientMusic(CIS, 0.2, "cis_pol_amb_end", 2,1)
SetVictoryMusic(REP, "rep_geo_amb_victory")
SetDefeatMusic (REP, "rep_geo_amb_defeat")
SetVictoryMusic(CIS, "cis_geo_amb_victory")
SetDefeatMusic (CIS, "cis_geo_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")
-- Camera Stats
AddCameraShot(0.914811, -0.054627, 0.399460, 0.023853, 186.374527, 41.910858, 230.153229);
AddCameraShot(0.916782, -0.053201, -0.395164, -0.022931, -152.424011, 41.910858, 254.628479);
AddCameraShot(0.930269, -0.128603, 0.340362, 0.047053, 126.493584, 41.285267, 292.892517);
AddCameraShot(0.052319, -0.005925, -0.992270, -0.112373, 37.337471, 17.794003, -21.383820);
AddCameraShot(-0.158184, 0.028947, -0.970864, -0.177661, 41.519318, 17.794003, 70.238647);
AddCameraShot(0.800253, -0.176717, 0.559552, 0.123564, 155.195282, 17.794003, 116.095673);
end