I have a problem with my map. I explain.
I have 12 simple objetives that I created with Mission Scripter for my map (originally 10 but was increased to 12), when the wait time to begin ends the first objetive show the pop-up window with the text localized but when the units spawn then interrupted the game. I show them my LUA.
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"}
cp5 = CommandPost:New{name = "cp5"}
cp6 = CommandPost:New{name = "cp6"}
cp7 = CommandPost:New{name = "cp7"}
cp8 = CommandPost:New{name = "cp8"}
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 :GO TO THE BARRICADE
Objective1 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "level.CRP.objetives.campaing.1", popupText = "level.CRP.objetives.campaing.1popup",
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 THE CP5
Objective2CP = CommandPost:New{name = "cp5"}
Objective2 = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF, text = "level.CRP.objetives.campaing.2", popupText = "level.CRP.objetives.campaing.2popup", 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: DESTROY THE SNIPERS
Objective3= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.3", popupText = "level.CRP.objetives.campaing.3popup"}
Dclass = TargetType:New{classname = "cis_inf_sniper", killLimit = 3}
Objective3:AddTarget(Dclass)
Objective3.OnStart = function(self)
Objective3.Dclass_cpGoal1 = AddAIGoal(ATT, "Defend", 100, "cis_inf_sniper")
Objective3.Dclass_cpGoal2 = AddAIGoal(DEF, "Defend", 100, "cis_inf_sniper")
end
Objective3.OnComplete = function(self)
DeleteAIGoal(Objective3.Dclass_cpGoal1)
DeleteAIGoal(Objective3.Dclass_cpGoal2)
end
--objective: DESTROY 10 SBD
Objective4= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.4", popupText = "level.CRP.objetives.campaing.4popup"}
Dclass = TargetType:New{classname = "cis_inf_rifleman", killLimit = 10}
Objective4:AddTarget(Dclass)
Objective4.OnStart = function(self)
Objective4.Dclass_cpGoal1 = AddAIGoal(ATT, "Defend", 100, "cis_inf_rifleman")
Objective4.Dclass_cpGoal2 = AddAIGoal(DEF, "Defend", 100, "cis_inf_rifleman")
end
Objective4.OnComplete = function(self)
DeleteAIGoal(Objective4.Dclass_cpGoal1)
DeleteAIGoal(Objective4.Dclass_cpGoal2)
end
--objective: DESTROY 4 SNAIL TANKS
Objective5= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.5", popupText = "level.CRP.objetives.campaing.5popup"}
Dclass = TargetType:New{classname = "cis_tread_snailtank", killLimit = 4}
Objective5:AddTarget(Dclass)
Objective5.OnStart = function(self)
Objective5.Dclass_cpGoal1 = AddAIGoal(ATT, "Defend", 100, "cis_tread_snailtank")
Objective5.Dclass_cpGoal2 = AddAIGoal(DEF, "Defend", 100, "cis_tread_snailtank")
end
Objective5.OnComplete = function(self)
DeleteAIGoal(Objective5.Dclass_cpGoal1)
DeleteAIGoal(Objective5.Dclass_cpGoal2)
end
--objective : REX GO UP AMBUSH
Objective6 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "level.CRP.objetives.campaing.6", popupText = "level.CRP.objetives.campaing.6popup",
regionName = "ambushball", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}
Objective6:AddHint("level.geo1.hints.movement")
Objective6:AddHint("level.geo1.hints.obj_markers")
Objective6:AddHint("level.geo1.hints.review_objectives")
Objective6:AddHint("level.geo1.hints.sprint")
Objective6.OnStart = function(self)
att_obj6_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj6_aigoal = AddAIGoal(DEF, "Deathmatch", 100)
MapAddEntityMarker("crp_prop_ball", "hud_objective_icon_circle", 3.0, 1, "YELLOW", true)
end
Objective6.OnComplete = function(self)
DeleteAIGoal(att_obj6_aigoal)
DeleteAIGoal(def_obj6_aigoal)
ShowMessageText("game.objectives.complete", ATT)
MapRemoveEntityMarker("crp_prop_ball")
end
--objective: DESTROY THE TRI-DROIDS
Objective7= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.7", popupText = "level.CRP.objetives.campaing.7popup"}
Dclass = TargetType:New{classname = "crp_tri_droid", killLimit = 3}
Objective7:AddTarget(Dclass)
Objective7.OnStart = function(self)
Objective7.Dclass_cpGoal1 = AddAIGoal(ATT, "Defend", 100, "crp_tri_droid")
Objective7.Dclass_cpGoal2 = AddAIGoal(DEF, "Defend", 100, "crp_tri_droid")
end
Objective7.OnComplete = function(self)
DeleteAIGoal(Objective7.Dclass_cpGoal1)
DeleteAIGoal(Objective7.Dclass_cpGoal2)
end
--objective :GO TO THE SHIELD GENERATOR
Objective8 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "level.CRP.objetives.campaing.8", popupText = "level.CRP.objetives.campaing.8popup",
regionName = "shieldgen", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}
Objective8:AddHint("level.geo1.hints.movement")
Objective8:AddHint("level.geo1.hints.obj_markers")
Objective8:AddHint("level.geo1.hints.review_objectives")
Objective8:AddHint("level.geo1.hints.sprint")
Objective8.OnStart = function(self)
att_obj8_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj8_aigoal = AddAIGoal(DEF, "Deathmatch", 100)
end
Objective8.OnComplete = function(self)
DeleteAIGoal(att_obj8_aigoal)
DeleteAIGoal(def_obj8_aigoal)
ShowMessageText("game.objectives.complete", ATT)
end
--objective: DESTROY THE SHIELD GENERATOR
Dobjekt = Target:New{name = "crp_prop_shieldgenerator"}
Dobjekt.OnDestroy = function(self)
end
Objective9 = ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.9", popupText = "level.CRP.objetives.campaing.9popup"}
Objective9:AddTarget(Dobjekt)
Objective9.OnStart = function(self)
end
Objective9.OnComplete = function(self)
ShowMessageText("game.objectives.complete", ATT)
end
--objective :GO TO THE ARTILLERY DEFFENSE LINE
Objective10 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "level.CRP.objetives.campaing.10", popupText = "level.CRP.objetives.campaing.10popup",
regionName = "artillery", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}
Objective10:AddHint("level.geo1.hints.movement")
Objective10:AddHint("level.geo1.hints.obj_markers")
Objective10:AddHint("level.geo1.hints.review_objectives")
Objective10:AddHint("level.geo1.hints.sprint")
Objective10.OnStart = function(self)
att_obj10_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj10_aigoal = AddAIGoal(DEF, "Deathmatch", 100)
end
Objective10.OnComplete = function(self)
DeleteAIGoal(att_obj10_aigoal)
DeleteAIGoal(def_obj10_aigoal)
ShowMessageText("game.objectives.complete", ATT)
end
--objective: DESTROY 6 AATs
Objective11= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.11", popupText = "level.CRP.objetives.campaing.11popup"}
Dclass = TargetType:New{classname = "cis_hover_aat", killLimit = 6}
Objective11:AddTarget(Dclass)
Objective11.OnStart = function(self)
Objective11.Dclass_cpGoal1 = AddAIGoal(ATT, "Defend", 100, "cis_hover_aat")
Objective11.Dclass_cpGoal2 = AddAIGoal(DEF, "Defend", 100, "cis_hover_aat")
end
Objective11.OnComplete = function(self)
DeleteAIGoal(Objective11.Dclass_cpGoal1)
DeleteAIGoal(Objective11.Dclass_cpGoal2)
end
--objective: CONQUEST THE CP8
Objective12CP = CommandPost:New{name = "cp8"}
Objective12 = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF, text = "level.CRP.objetives.campaing.12", popupText = "level.CRP.objetives.campaing.12popup", AIGoalWeight = 0}
Objective12:AddCommandPost(Objective12CP)
Objective12:AddHint("level.geo1.hints.capture_cp")
Objective12.OnStart = function(self)
AICanCaptureCP("cp8", ATT, false)
AICanCaptureCP("cp8", DEF, false)
att_obj12_aigoal = AddAIGoal(ATT, "Defend", 50, "cp8")
def_obj12_aigoal = AddAIGoal(DEF, "Defend", 50, "cp8")
att_obj12_aigoal2 = AddAIGoal(ATT, "Deathmatch", 100)
def_obj12_aigoal2 = AddAIGoal(DEF, "Deathmatch", 100)
end
Objective12.OnComplete = function(self)
ShowMessageText("game.objectives.complete", ATT)
DeleteAIGoal(att_obj12_aigoal)
DeleteAIGoal(att_obj12_aigoal2)
DeleteAIGoal(def_obj12_aigoal)
DeleteAIGoal(def_obj12_aigoal2)
SetProperty("cp8", "Team", 1)
SetProperty("cp8", "CaptureRegion", "")
end
end
function BeginObjectivesTimer()
beginobjectivestimer = CreateTimer("beginobjectivestimer")
OnTimerElapse(BeginObjectives, beginobjectivestimer)
SetTimerValue(beginobjectivestimer, 4)
StartTimer(beginobjectivestimer)
end
function BeginObjectives()
objectiveSequence = MultiObjectiveContainer:New{delayVictoryTime = 3}
objectiveSequence:AddObjectiveSet(Objective1)
objectiveSequence:AddObjectiveSet(Objective2)
objectiveSequence:AddObjectiveSet(Objective3)
objectiveSequence:AddObjectiveSet(Objective4)
objectiveSequence:AddObjectiveSet(Objective5)
objectiveSequence:AddObjectiveSet(Objective6)
objectiveSequence:AddObjectiveSet(Objective7)
objectiveSequence:AddObjectiveSet(Objective8)
objectiveSequence:AddObjectiveSet(Objective9)
objectiveSequence:AddObjectiveSet(Objective10)
objectiveSequence:AddObjectiveSet(Objective11)
objectiveSequence:AddObjectiveSet(Objective12)
objectiveSequence:Start()
SetUberMode(1);
SetupAmbushTrigger("ambushregion", "ambushpath", 6, 5)
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("dc:ingame.lvl")
ReadDataFile("ingame.lvl")
SetMaxFlyHeight(500)
SetMaxPlayerFlyHeight (500)
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_inf_ep2_jettrooper_rifleman",
"rep_inf_ep2_jettrooper_training",
"rep_hero_anakin",
"rep_hero_obiwan",
"rep_walk_atte_nospawn",
"rep_walk_oneman_atst",
"all_droid_r2d2")
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_tread_snailtank")
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_officer",1, 2},
sniper = { "rep_inf_ep2_sniper",1, 15},
officer = {"rep_inf_ep2_jettrooper_training",1, 15},
special = { "rep_inf_ep2_jettrooper",1, 15},
extra1 = { "rep_inf_ep2_jettrooper_rifleman",1, 2},
extra2 = { "rep_inf_ep2_engineer",1, 2},
},
cis = {
team = CIS,
units = 200,
reinforcements = 150,
soldier = { "cis_inf_rifleman",9, 40},
assault = { "cis_inf_rocketeer",1, 15},
engineer = { "cis_inf_engineer",1, 2},
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",6, 6},
assault = { "rep_hero_anakin",1, 2},
}
}
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, 2) -- 1x2 (1 pair of legs)
AddWalkerType(2, 0) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 6) -- 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("CommandWalker", 6)
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"}
cp5 = CommandPost:New{name = "cp5"}
cp6 = CommandPost:New{name = "cp6"}
cp7 = CommandPost:New{name = "cp7"}
cp8 = CommandPost:New{name = "cp8"}
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 :GO TO THE BARRICADE
Objective1 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "level.CRP.objetives.campaing.1", popupText = "level.CRP.objetives.campaing.1popup",
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 THE CP5
Objective2CP = CommandPost:New{name = "cp5"}
Objective2 = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF, text = "level.CRP.objetives.campaing.2", popupText = "level.CRP.objetives.campaing.2popup", 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: DESTROY THE SNIPERS
Objective3= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.3", popupText = "level.CRP.objetives.campaing.3popup"}
Dclass = TargetType:New{classname = "cis_inf_sniper", killLimit = 3}
Objective3:AddTarget(Dclass)
Objective3.OnStart = function(self)
Objective3.Dclass_cpGoal1 = AddAIGoal(ATT, "Defend", 100, "cis_inf_sniper")
Objective3.Dclass_cpGoal2 = AddAIGoal(DEF, "Defend", 100, "cis_inf_sniper")
end
Objective3.OnComplete = function(self)
DeleteAIGoal(Objective3.Dclass_cpGoal1)
DeleteAIGoal(Objective3.Dclass_cpGoal2)
end
--objective: DESTROY 10 SBD
Objective4= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.4", popupText = "level.CRP.objetives.campaing.4popup"}
Dclass = TargetType:New{classname = "cis_inf_rifleman", killLimit = 10}
Objective4:AddTarget(Dclass)
Objective4.OnStart = function(self)
Objective4.Dclass_cpGoal1 = AddAIGoal(ATT, "Defend", 100, "cis_inf_rifleman")
Objective4.Dclass_cpGoal2 = AddAIGoal(DEF, "Defend", 100, "cis_inf_rifleman")
end
Objective4.OnComplete = function(self)
DeleteAIGoal(Objective4.Dclass_cpGoal1)
DeleteAIGoal(Objective4.Dclass_cpGoal2)
end
--objective: DESTROY 4 SNAIL TANKS
Objective5= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.5", popupText = "level.CRP.objetives.campaing.5popup"}
Dclass = TargetType:New{classname = "cis_tread_snailtank", killLimit = 4}
Objective5:AddTarget(Dclass)
Objective5.OnStart = function(self)
Objective5.Dclass_cpGoal1 = AddAIGoal(ATT, "Defend", 100, "cis_tread_snailtank")
Objective5.Dclass_cpGoal2 = AddAIGoal(DEF, "Defend", 100, "cis_tread_snailtank")
end
Objective5.OnComplete = function(self)
DeleteAIGoal(Objective5.Dclass_cpGoal1)
DeleteAIGoal(Objective5.Dclass_cpGoal2)
end
--objective : REX GO UP AMBUSH
Objective6 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "level.CRP.objetives.campaing.6", popupText = "level.CRP.objetives.campaing.6popup",
regionName = "ambushball", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}
Objective6:AddHint("level.geo1.hints.movement")
Objective6:AddHint("level.geo1.hints.obj_markers")
Objective6:AddHint("level.geo1.hints.review_objectives")
Objective6:AddHint("level.geo1.hints.sprint")
Objective6.OnStart = function(self)
att_obj6_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj6_aigoal = AddAIGoal(DEF, "Deathmatch", 100)
MapAddEntityMarker("crp_prop_ball", "hud_objective_icon_circle", 3.0, 1, "YELLOW", true)
end
Objective6.OnComplete = function(self)
DeleteAIGoal(att_obj6_aigoal)
DeleteAIGoal(def_obj6_aigoal)
ShowMessageText("game.objectives.complete", ATT)
MapRemoveEntityMarker("crp_prop_ball")
end
--objective: DESTROY THE TRI-DROIDS
Objective7= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.7", popupText = "level.CRP.objetives.campaing.7popup"}
Dclass = TargetType:New{classname = "crp_tri_droid", killLimit = 3}
Objective7:AddTarget(Dclass)
Objective7.OnStart = function(self)
Objective7.Dclass_cpGoal1 = AddAIGoal(ATT, "Defend", 100, "crp_tri_droid")
Objective7.Dclass_cpGoal2 = AddAIGoal(DEF, "Defend", 100, "crp_tri_droid")
end
Objective7.OnComplete = function(self)
DeleteAIGoal(Objective7.Dclass_cpGoal1)
DeleteAIGoal(Objective7.Dclass_cpGoal2)
end
--objective :GO TO THE SHIELD GENERATOR
Objective8 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "level.CRP.objetives.campaing.8", popupText = "level.CRP.objetives.campaing.8popup",
regionName = "shieldgen", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}
Objective8:AddHint("level.geo1.hints.movement")
Objective8:AddHint("level.geo1.hints.obj_markers")
Objective8:AddHint("level.geo1.hints.review_objectives")
Objective8:AddHint("level.geo1.hints.sprint")
Objective8.OnStart = function(self)
att_obj8_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj8_aigoal = AddAIGoal(DEF, "Deathmatch", 100)
end
Objective8.OnComplete = function(self)
DeleteAIGoal(att_obj8_aigoal)
DeleteAIGoal(def_obj8_aigoal)
ShowMessageText("game.objectives.complete", ATT)
end
--objective: DESTROY THE SHIELD GENERATOR
Dobjekt = Target:New{name = "crp_prop_shieldgenerator"}
Dobjekt.OnDestroy = function(self)
end
Objective9 = ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.9", popupText = "level.CRP.objetives.campaing.9popup"}
Objective9:AddTarget(Dobjekt)
Objective9.OnStart = function(self)
end
Objective9.OnComplete = function(self)
ShowMessageText("game.objectives.complete", ATT)
end
--objective :GO TO THE ARTILLERY DEFFENSE LINE
Objective10 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "level.CRP.objetives.campaing.10", popupText = "level.CRP.objetives.campaing.10popup",
regionName = "artillery", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}
Objective10:AddHint("level.geo1.hints.movement")
Objective10:AddHint("level.geo1.hints.obj_markers")
Objective10:AddHint("level.geo1.hints.review_objectives")
Objective10:AddHint("level.geo1.hints.sprint")
Objective10.OnStart = function(self)
att_obj10_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj10_aigoal = AddAIGoal(DEF, "Deathmatch", 100)
end
Objective10.OnComplete = function(self)
DeleteAIGoal(att_obj10_aigoal)
DeleteAIGoal(def_obj10_aigoal)
ShowMessageText("game.objectives.complete", ATT)
end
--objective: DESTROY 6 AATs
Objective11= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.11", popupText = "level.CRP.objetives.campaing.11popup"}
Dclass = TargetType:New{classname = "cis_hover_aat", killLimit = 6}
Objective11:AddTarget(Dclass)
Objective11.OnStart = function(self)
Objective11.Dclass_cpGoal1 = AddAIGoal(ATT, "Defend", 100, "cis_hover_aat")
Objective11.Dclass_cpGoal2 = AddAIGoal(DEF, "Defend", 100, "cis_hover_aat")
end
Objective11.OnComplete = function(self)
DeleteAIGoal(Objective11.Dclass_cpGoal1)
DeleteAIGoal(Objective11.Dclass_cpGoal2)
end
--objective: CONQUEST THE CP8
Objective12CP = CommandPost:New{name = "cp8"}
Objective12 = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF, text = "level.CRP.objetives.campaing.12", popupText = "level.CRP.objetives.campaing.12popup", AIGoalWeight = 0}
Objective12:AddCommandPost(Objective12CP)
Objective12:AddHint("level.geo1.hints.capture_cp")
Objective12.OnStart = function(self)
AICanCaptureCP("cp8", ATT, false)
AICanCaptureCP("cp8", DEF, false)
att_obj12_aigoal = AddAIGoal(ATT, "Defend", 50, "cp8")
def_obj12_aigoal = AddAIGoal(DEF, "Defend", 50, "cp8")
att_obj12_aigoal2 = AddAIGoal(ATT, "Deathmatch", 100)
def_obj12_aigoal2 = AddAIGoal(DEF, "Deathmatch", 100)
end
Objective12.OnComplete = function(self)
ShowMessageText("game.objectives.complete", ATT)
DeleteAIGoal(att_obj12_aigoal)
DeleteAIGoal(att_obj12_aigoal2)
DeleteAIGoal(def_obj12_aigoal)
DeleteAIGoal(def_obj12_aigoal2)
SetProperty("cp8", "Team", 1)
SetProperty("cp8", "CaptureRegion", "")
end
end
function BeginObjectivesTimer()
beginobjectivestimer = CreateTimer("beginobjectivestimer")
OnTimerElapse(BeginObjectives, beginobjectivestimer)
SetTimerValue(beginobjectivestimer, 4)
StartTimer(beginobjectivestimer)
end
function BeginObjectives()
objectiveSequence = MultiObjectiveContainer:New{delayVictoryTime = 3}
objectiveSequence:AddObjectiveSet(Objective1)
objectiveSequence:AddObjectiveSet(Objective2)
objectiveSequence:AddObjectiveSet(Objective3)
objectiveSequence:AddObjectiveSet(Objective4)
objectiveSequence:AddObjectiveSet(Objective5)
objectiveSequence:AddObjectiveSet(Objective6)
objectiveSequence:AddObjectiveSet(Objective7)
objectiveSequence:AddObjectiveSet(Objective8)
objectiveSequence:AddObjectiveSet(Objective9)
objectiveSequence:AddObjectiveSet(Objective10)
objectiveSequence:AddObjectiveSet(Objective11)
objectiveSequence:AddObjectiveSet(Objective12)
objectiveSequence:Start()
SetUberMode(1);
SetupAmbushTrigger("ambushregion", "ambushpath", 6, 5)
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("dc:ingame.lvl")
ReadDataFile("ingame.lvl")
SetMaxFlyHeight(500)
SetMaxPlayerFlyHeight (500)
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_inf_ep2_jettrooper_rifleman",
"rep_inf_ep2_jettrooper_training",
"rep_hero_anakin",
"rep_hero_obiwan",
"rep_walk_atte_nospawn",
"rep_walk_oneman_atst",
"all_droid_r2d2")
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_tread_snailtank")
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_officer",1, 2},
sniper = { "rep_inf_ep2_sniper",1, 15},
officer = {"rep_inf_ep2_jettrooper_training",1, 15},
special = { "rep_inf_ep2_jettrooper",1, 15},
extra1 = { "rep_inf_ep2_jettrooper_rifleman",1, 2},
extra2 = { "rep_inf_ep2_engineer",1, 2},
},
cis = {
team = CIS,
units = 200,
reinforcements = 150,
soldier = { "cis_inf_rifleman",9, 40},
assault = { "cis_inf_rocketeer",1, 15},
engineer = { "cis_inf_engineer",1, 2},
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",6, 6},
assault = { "rep_hero_anakin",1, 2},
}
}
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, 2) -- 1x2 (1 pair of legs)
AddWalkerType(2, 0) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 6) -- 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("CommandWalker", 6)
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]
Note: the map is in Uber Mode, have walkers and both sides are customized.
Thanks again for helpme!
EDIT: Hey! can someone help me? this is making me grow green hair!





