The game crash after showing the first objective [Solved]
Posted: Fri Apr 17, 2009 10:06 am
by ForceMaster
Hi guys. me again!
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.
I have reviewed in detail the names of regions, paths, objects that are used in the goals but I find nothing irregular, worked before, now is not that show this error.
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!
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!