Page 3 of 3

Posted: Sun Jun 24, 2007 8:48 pm
by Maveritchell
Snork wrote:Course man, I'm not a COMPLETE idiot!

(Questionable)


:lol:



I think it might have to do with the acklays. Acklays are always glitchy. I'm gonna try using Jango fett just to test it.
Then check yourself by switching the local team from one of acklays to one of one of your units that you know go ingame. If that also doesn't work, then you might have an error in ZE; just doublecheck. If it's not that, then there's probably some stipulation about the hero assault mode not having locals.

Posted: Sun Jun 24, 2007 8:51 pm
by Snork
........... Yup.


It was the acklays. Well, thanks peeps.

Re: Tutorial: How to add local sides!

Posted: Mon Feb 18, 2008 8:38 pm
by BF2-Master
Sorry to bump, but I too, am having local-related problems.

I have been trying to add Tuskens. Everything is dandy ingame, except that they don't spawn.
Hidden/Spoiler:
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")

-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- 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"}



--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("dc:Load\\common.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\\yav.lvl;yav1cw")
ReadDataFile("dc:SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_engineer",
"rep_inf_ep3_sniper",
"rep_hero_cody",
"rep_hover_fightertank",
"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_grievous",
"cis_hero_countdooku")
ReadDataFile("dc:SIDE\\des.lvl",
"tat_inf_jawa",
"tat_inf_tuskenraider")
ReadDataFile("dc:SIDE\\jed.lvl",
"jed_knight_01",
"jed_master_vantilon")


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

SetupTeams{
rep = {
team = REP,
units = 20,
reinforcements = 150,
soldier = { "tat_inf_jawa",9, 25},
assault = { "rep_inf_ep3_rifleman",1, 4},
engineer = { "rep_inf_ep3_engineer",1, 4},
sniper = { "rep_inf_ep3_sniper",1, 4},
officer = {"rep_hero_cody",1, 4},
special = { "jed_knight_01",1, 4},

},
cis = {
team = CIS,
units = 20,
reinforcements = 150,
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},
}
}

SetHeroClass(CIS, "cis_hero_grievous")
SetHeroClass(REP, "jed_master_vantilon")

SetTeamName (3, "locals")
AddUnitClass (3, "tat_inf_tuskenraider", 10,15)
SetUnitCount (3, 15)
AddAIGoal(3, "Deathmatch", 100)
SetTeamAsEnemy(ATT,3)
SetTeamAsEnemy(3,ATT)
SetTeamAsEnemy(DEF,3)
SetTeamAsEnemy(3,DEF)

-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 4) -- 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:CAN\\CAN.lvl", "CAN_conquest")
ReadDataFile("dc:CAN\\CAN.lvl", "CAN_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
I did place an invisible cp (local_cp) and spawn path (local_spawn)

Re: Tutorial: How to add local sides!

Posted: Mon Feb 18, 2008 8:54 pm
by Penguin
Did you assign the CP to team 3?

Re: Tutorial: How to add local sides!

Posted: Mon Feb 18, 2008 9:06 pm
by BF2-Master
Yes, it's assigned to Team 3. Everything appears to be in order. I just did it like a normal cp without capture regions except using 'local_cp' and 'local_spawn' etc

Re: Tutorial: How to add local sides! (FAQ)

Posted: Sat Oct 11, 2008 10:23 am
by jedimaster745
what would i put if i wanted acklays instead of jawas? would it be something like "all_inf_acklays"?

Re: Tutorial: How to add local sides! (FAQ)

Posted: Sat Oct 11, 2008 12:40 pm
by woner11
Look at the odf for acklays in the geo side, so no it wouldn't be that, but rather geo_inf_acklay. :yes:

Re: Tutorial: How to add local sides! (FAQ)

Posted: Sat Oct 11, 2008 12:47 pm
by jedimaster745
ok thanks

Re: Tutorial: How to add local sides! (FAQ)

Posted: Mon Jun 29, 2009 4:44 pm
by General_Nate
Wow, sorry to bump this old thread, but I have problem. This occured after I added the locals in. You probably won't beleave me. But here I go...... I ran the map, got to the spawning screen only to find NO CPS! :faint: Like, all the cps were GONE, POOF! Not even the AI could spawn. What in the world is going on here!? :runaway:

Re: Tutorial: How to add local sides! (FAQ)

Posted: Mon Jun 29, 2009 4:48 pm
by DarthD.U.C.K.
maybe you should have foloowed the tutorial more exactly....
i suppose you didnt add the new commandopst to the lua

Re: Tutorial: How to add local sides! (FAQ)

Posted: Tue Jun 30, 2009 2:55 am
by [RDH]Zerted
General_Nate wrote:...all the cps were GONE, POOF...
DarthD.U.C.K. wrote:...i suppose you didnt add the new commandopst to the lua
Contrary to popular belief, CPs work fine WITHOUT being added to the lua script. Putting them in the script ONLY adds them to the objective, meaning that they are now counted toward bleed rates, ai goals, and winning. There are no script changes required for adding a CP to a map.

So if you comment out (put -- in front of the lines) the locals related lines you added in, do the CPs show up again? Did you review your error log? If you don't know how to do that, check The FAQ / Everything You Need... sticky topic to learn how.

Edit for Tourny's Post: Well, at least I've never heard of that happening before. In theory, it shouldn't happen.

Re: Tutorial: How to add local sides! (FAQ)

Posted: Tue Jun 30, 2009 3:21 am
by Tourny
Hey, Zerted, I know what you're talking about with the ONLY ADDS TO THE OBJECTIVE thing, but sometimes the game doesn't like it when there is a discrepency between the two CP sections and ZE. Then it will just kill all the CPs and sulk until the modder in question learns how to count... (that last part is a joke, btw, lol)

Re: Tutorial: How to add local sides! (FAQ)

Posted: Fri Apr 30, 2010 1:02 pm
by skelltor
is there a way to add locals NOT useing zero editor?(just on stock maps)

Re: Tutorial: How to add local sides! (FAQ)

Posted: Fri Apr 30, 2010 1:06 pm
by Maveritchell
skelltor wrote:is there a way to add locals NOT useing zero editor?(just on stock maps)
Sure, all the important stuff is script work anyway. You'll either want to reassign a CP to them or just have them spawn from one team's CP's spawn points, though.

Re: Tutorial: How to add local sides! (FAQ)

Posted: Fri Apr 30, 2010 1:07 pm
by skelltor
Ok thx mav :D i will look at some luas that have them.

Re: Tutorial: How to add local sides! (FAQ)

Posted: Mon Jul 10, 2017 6:37 pm
by LitFam
Now before you start saying don't bump topics FAQ topics are allowed to be bumped!

I have 3 custom local units I am adding for my map UW1, I followed the steps, however, no droids are spawning in the game.

LUA
Hidden/Spoiler:
[code]--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")

-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- 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 = "Local_CP"}

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

SetUberMode(1);

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

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

SetMemoryPoolSize("Music", 40)

ReadDataFile("sound\\geo.lvl;geo1cw")

ReadDataFile("SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_sniper",
"rep_inf_ep3_officer",
"rep_inf_ep3_jettrooper",
"rep_hero_anakin")

ReadDataFile("SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_droideka",
"cis_hero_darthmaul")

ReadDataFile("dc:SIDE\\rep.lvl",
"dwt_inf_soldier_1",
"dwt_inf_soldier_2",
"dwt_inf_soldier_3",
"dwt_inf_soldier_4",
"dwt_inf_soldier_5",
"dwt_inf_soldier_6",
"dwt_inf_soldier_7",
"dwt_inf_soldier_8",
"dwt_inf_soldier_9",
"dwt_inf_soldier_10",
"dwt_inf_soldier_11",
"dwt_inf_soldier_12",
"dwt_inf_soldier_13")

ReadDataFile("dc:SIDE\\cis.lvl",
"dwt_inf_droid_1",
"dwt_inf_droid_2",
"dwt_inf_droid_3")

ReadDataFile("dc:SIDE\\tur.lvl",
"dwt_walk_atte_A",
"dwt_walk_atte_B")

SetupTeams{
rep = {
team = REP,
units = 45,
reinforcements = 750,
soldier = {"dwt_inf_soldier_1",15, 15},
assault = {"dwt_inf_soldier_2",15, 15},
engineer = {"dwt_inf_soldier_4",5, 5},
sniper = {"dwt_inf_soldier_3",5, 5},
officer = {"dwt_inf_soldier_5",1, 1},
special = {"dwt_inf_soldier_6",1, 1},

},
cis = {
team = CIS,
units = 45,
reinforcements = 750,
soldier = {"dwt_inf_soldier_8",15, 15},
assault = {"dwt_inf_soldier_9",15, 15},
engineer = {"dwt_inf_soldier_11",2, 2},
sniper = {"dwt_inf_soldier_10",5, 5},
officer = {"dwt_inf_soldier_12",1, 1},
special = {"dwt_inf_soldier_13",1, 1},
}
}

AddUnitClass(REP,"dwt_inf_soldier_7",1, 1)

SetTeamName (3, "locals")
SetTeamIcon (3, "cis_icon")
AddUnitClass (3, "dwt_inf_droid_1", 10,10)
AddUnitClass (3, "dwt_inf_droid_2", 4,4)
AddUnitClass (3, "dwt_inf_droid_3", 1,1)
SetUnitCount (15, 15)
AddAIGoal(3, "Deathmatch", 100)
SetTeamAsEnemy(ATT,3) -- sets Attacking team hostile towards team 3 (locals)
SetTeamAsEnemy(3,ATT) -- sets team 3 (locals) hostile towards Attacking team
SetTeamAsEnemy(DEF,3) -- sets Defending team hostile towards team 3 (locals)
SetTeamAsEnemy(3,DEF) -- sets team 3 (locals) hostile towards Defending team

-- 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, 4) -- 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)
SetMemoryPoolSize ("FLEffectObject::OffsetMatrix", 5000)

SetSpawnDelay(10.0, 0.25)
--ReadDataFile("dc:UW1\\UW1.lvl", "UW1_conquest")
ReadDataFile("dc:UW1\\UW1.lvl", "UW1_conquest")
SetDenseEnvironment("false")

-- Sound

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\\geo.lvl", "geo1cw")
OpenAudioStream("sound\\geo.lvl", "geo1cw")

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)

SetLowReinforcementsVoiceOver(REP, REP, "rep_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(REP, CIS, "rep_off_victory_im", .1, 1)
SetLowReinforcementsVoiceOver(CIS, CIS, "cis_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(CIS, REP, "cis_off_victory_im", .1, 1)

SetOutOfBoundsVoiceOver(1, "repleaving")
SetOutOfBoundsVoiceOver(2, "cisleaving")

SetAmbientMusic(REP, 1.0, "rep_GEO_amb_start", 0,1)
SetAmbientMusic(REP, 0.8, "rep_GEO_amb_middle", 1,1)
SetAmbientMusic(REP, 0.2, "rep_GEO_amb_end", 2,1)
SetAmbientMusic(CIS, 1.0, "cis_GEO_amb_start", 0,1)
SetAmbientMusic(CIS, 0.8, "cis_GEO_amb_middle", 1,1)
SetAmbientMusic(CIS, 0.2, "cis_GEO_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("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]