Help with LUA/units crashing problems [SOLVED]
Posted: Sun Nov 27, 2016 2:27 am
by SkinnyODST
I started up my map one day after changing 3 things, placing more objects in my map, altering the reinforcements for the CIS, and deleting something from the common effects folder, I think it was a duplicate of "com_sfx_laser_blue" (rep`s laser bolts, there`s still one in the common effects folder). And, after doing that, I launched the map the next day to find out it CRASHES! I`ve been trying to figure out what`s causing it but I can`t. I delete some things from the LUA and that seems to make it work, I re-add some things to it and it crashes again. I`ve tried many combinations of this and I think there`s multiple things that make it crash. And whats even more annoying and weird is that the combinations that allow me to get into the game without it crashing, have a problem. Everytime I go to restart the mission it crashes again! At first I thought I`d hit some sort of object limit or something, but that can`t be true because my 2nd custom era works fine. PLEASE HELP!
Here is the problematic LUA. I added every single unit to the ReadDataFile part to see if that fixed it. It didn`t.
This one works, but because I removed the ep3_jettrooper. I can even restart the game and it will work. Now your probably thinking its the ep3_jettrooper making it crash, but again. It seems to be certain combinations. This next LUA below will clear some of that up.
Now the last LUA. This one is from a VERY early version of my map and lacks things like timers, ambush regions and of course units. It works but when I restart, it crashes. It has the ep3_jettrooper in it. So as said above, he may not be the problem, but, he also might?
Pretty complicated huh? 
EDIT: So now I`ve noticed something that points toward the LUA being the problem. With this version of the LUA, the game starts but after a second of being in the game it instantly just crashes. All I get to see is a short glimpse of a clone trooper.
Is there anything wrong with this LUA?
Here is the problematic LUA. I added every single unit to the ReadDataFile part to see if that fixed it. It didn`t.
Hidden/Spoiler:
[code]--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("Ambush")
-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- These variables do not change
ATT = REP;
DEF = CIS;
AmbushTeam = 5
ABT = AmbushTeam
AmbushTeam1 = 6
WPA = AmbushTeam1
function ScriptPostLoad()
ShowMessageText("level.CCC.62brief", ATT)
timername= CreateTimer("timername")
SetTimerValue(timername, (20))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.62brief2", ATT)
DestroyTimer(timer)
end,
timername
)
timername= CreateTimer("timername2")
SetTimerValue(timername, (40))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.capmoss", ATT)
DestroyTimer(timer)
end,
timername
)
timername= CreateTimer("timername3")
SetTimerValue(timername, (50))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.capmoss2", ATT)
DestroyTimer(timer)
end,
timername
)
timername= CreateTimer("timername4")
SetTimerValue(timername, (85))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.capmoss3", ATT)
DestroyTimer(timer)
end,
timername
)
AddAIGoal(3, "Deathmatch", 100)
SetClassProperty("cis_inf_rifleman", "NoEnterVehicles", "1")
--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 = "Local_CP"}
cp7 = CommandPost:New{name = "cp7"}
--This sets up the actual objective. This needs to happen after cp's are defined
conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF,
textATT = "game.modes.con",
textDEF = "game.modes.con2",
multiplayerRules = true}
--This adds the CPs to the objective. This needs to happen after the objective is set up
conquest:AddCommandPost(cp1)
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp3)
conquest:AddCommandPost(cp4)
conquest:AddCommandPost(cp5)
conquest:AddCommandPost(cp6)
conquest:AddCommandPost(cp7)
conquest:Start()
SetUberMode(1);
EnableSPHeroRules()
SetupAmbushTrigger("ambushregion", "ambushpath", 8, 5)
SetupAmbushTrigger("wamparegion", "wampapath", 8, 6)
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(62)
SetMaxPlayerFlyHeight (62)
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("SIDE\\\\des.lvl",
"rep_inf_ep2_pilot")
ReadDataFile("dc: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_ep2_pilot",
"rep_inf_ep3_marine",
"rep_inf_ep2_sniper",
"rep_inf_ep2_engineer",
"rep_inf_ep3_jettrooper",
"rep_inf_ep2_marine",
"rep_inf_ep2_rocketeer",
"rep_inf_ep3_pilot",
"rep_inf_ep2_rifleman",
"rep_inf_ep2_officer",
"rep_inf_ep2_jettrooper",
"rep_hover_fightertank",
"rep_inf_ep2_jettrooper_rifleman",
"rep_inf_ep2_jettrooper_sniper",
"rep_walk_atte",
"rep_hover_barcspeeder")
ReadDataFile("dc:SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_marine",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_droideka",
"cis_inf_marine",
"cis_inf_officer_hunt",
"cis_inf_pilot",
"cis_hover_aat",
"cis_hover_stap",
"cis_walk_spider")
ReadDataFile("dc:SIDE\\tur.lvl",
"tur_bldg_laser",
"tur_bldg_tower",
"tur_bldg_chaingun",
"tur_bldg_built_chaingun",
"tur_yav_bldg_watchtower",
"tur_bldg_recoilless_fel_auto",
"tur_bldg_recoilless_kas",
"tur_bldg_recoilless_lg",
"tur_bldg_recoilless_md",
"tur_bldg_recoilless_myg_auto",
"tur_bldg_recoilless_nab_auto")
ReadDataFile("dc:SIDE\\snw.lvl",
"snw_inf_wampa")
SetupTeams{
rep = {
team = REP,
units = 162,
reinforcements = 755,
soldier = { "rep_inf_ep3_rifleman",30, 60},
assault = { "rep_inf_ep3_rocketeer",10, 20},
engineer = { "rep_inf_ep3_sniper",5, 10},
sniper = { "rep_inf_ep3_engineer",7, 20},
officer = { "rep_inf_ep3_jettrooper",3, 6},
special = { "rep_inf_ep2_marine",8, 15},
AddUnitClass(REP, "rep_inf_ep3_officer",1, 1)
},
cis = {
team = CIS,
units = 162,
reinforcements = 800,
soldier = { "cis_inf_marine",30, 60},
assault = { "cis_inf_rocketeer",10, 20},
engineer = { "cis_inf_engineer",5, 15},
sniper = { "cis_inf_sniper",4, 10},
special = { "cis_inf_pilot",8, 10},
officer = { "cis_inf_droideka",5, 10},
extra1 = { "cis_inf_rifleman",5, 10},
AddUnitClass(CIS, "cis_inf_officer",5, 10)
},
abt = {
team = ABT,
units = 8,
reinforcements = -1,
sniper = { "cis_inf_sniper", 8, 8},
},
wpa = {
team = WPA,
units = 10,
reinforcements = -1,
sniper = { "snw_inf_wampa", 8, 8},
}
}
AddAIGoal(3, "Deathmatch", 100)
AddAIGoal(6, "Deathmatch", 100)
SetTeamName (3, "yavin_scouts")
AddUnitClass (3, "rep_inf_ep2_pilot", 5,10)
AddUnitClass (3, "rep_inf_ep2_sniper", 1,1)
SetUnitCount (3, 11)
AddAIGoal(3, "Deathmatch", 100)
SetTeamAsEnemy(DEF,3)
SetTeamAsEnemy(3,DEF)
SetTeamAsFriend(ATT,3)
SetTeamAsFriend(3,ATT)
SetTeamAsFriend(ABT, CIS)
SetTeamAsFriend(CIS, ABT)
SetTeamAsEnemy(ABT, REP)
SetTeamAsEnemy(REP, ABT)
ClearAIGoals(ABT)
AddAIGoal(ABT, "Deathmatch", 100)
SetTeamAsEnemy(WPA, CIS)
SetTeamAsEnemy(CIS, WPA)
SetTeamAsEnemy(WPA, REP)
SetTeamAsEnemy(REP, WPA)
ClearAIGoals(WPA)
AddAIGoal(WPA, "Deathmatch", 100)
SetClassProperty("cis_inf_marine", "WeaponName1", "cis_weap_inf_rifle")
SetClassProperty("cis_inf_marine", "WeaponName2", "cis_weap_inf_pistol")
SetClassProperty("cis_inf_marine", "WeaponName3", "cis_weap_inf_thermaldetonator")
SetClassProperty("rep_inf_ep3_officer", "FleeLikeAHero", "1")
SetClassProperty("rep_inf_ep2_jettrooper_sniper", "FleeLikeAHero", "1")
AddUnitClass(CIS, "cis_inf_officer",5,10)
AddUnitClass(CIS, "cis_inf_rifleman",5, 10)
AddUnitClass(REP, "rep_inf_ep2_marine",8,15)
AddUnitClass(REP, "rep_inf_ep2_jettrooper_rifleman",8,15)
AddUnitClass(REP, "rep_inf_ep2_jettrooper_sniper",1,1)
-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 4) -- special -> droidekas
AddWalkerType(1, 0) -- 1x2 (1 pair of legs)
AddWalkerType(2, 1) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 1) -- 3x2 (3 pairs of legs)
local weaponCnt = 1024
SetMemoryPoolSize("Aimer", 75)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("CommandWalker", 1)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 32)
SetMemoryPoolSize("EntityFlyer", 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:CCC\\CCC.lvl", "CCC_conquest")
ReadDataFile("dc:CCC\\CCC.lvl", "CCC_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.
--
-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("Ambush")
-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- These variables do not change
ATT = REP;
DEF = CIS;
AmbushTeam = 5
ABT = AmbushTeam
AmbushTeam1 = 6
WPA = AmbushTeam1
function ScriptPostLoad()
ShowMessageText("level.CCC.62brief", ATT)
timername= CreateTimer("timername")
SetTimerValue(timername, (20))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.62brief2", ATT)
DestroyTimer(timer)
end,
timername
)
timername= CreateTimer("timername2")
SetTimerValue(timername, (40))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.capmoss", ATT)
DestroyTimer(timer)
end,
timername
)
timername= CreateTimer("timername3")
SetTimerValue(timername, (50))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.capmoss2", ATT)
DestroyTimer(timer)
end,
timername
)
timername= CreateTimer("timername4")
SetTimerValue(timername, (85))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.capmoss3", ATT)
DestroyTimer(timer)
end,
timername
)
AddAIGoal(3, "Deathmatch", 100)
SetClassProperty("cis_inf_rifleman", "NoEnterVehicles", "1")
--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 = "Local_CP"}
cp7 = CommandPost:New{name = "cp7"}
--This sets up the actual objective. This needs to happen after cp's are defined
conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF,
textATT = "game.modes.con",
textDEF = "game.modes.con2",
multiplayerRules = true}
--This adds the CPs to the objective. This needs to happen after the objective is set up
conquest:AddCommandPost(cp1)
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp3)
conquest:AddCommandPost(cp4)
conquest:AddCommandPost(cp5)
conquest:AddCommandPost(cp6)
conquest:AddCommandPost(cp7)
conquest:Start()
SetUberMode(1);
EnableSPHeroRules()
SetupAmbushTrigger("ambushregion", "ambushpath", 8, 5)
SetupAmbushTrigger("wamparegion", "wampapath", 8, 6)
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(62)
SetMaxPlayerFlyHeight (62)
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("SIDE\\\\des.lvl",
"rep_inf_ep2_pilot")
ReadDataFile("dc: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_ep2_pilot",
"rep_inf_ep3_marine",
"rep_inf_ep2_sniper",
"rep_inf_ep2_engineer",
"rep_inf_ep3_jettrooper",
"rep_inf_ep2_marine",
"rep_inf_ep2_rocketeer",
"rep_inf_ep3_pilot",
"rep_inf_ep2_rifleman",
"rep_inf_ep2_officer",
"rep_inf_ep2_jettrooper",
"rep_hover_fightertank",
"rep_inf_ep2_jettrooper_rifleman",
"rep_inf_ep2_jettrooper_sniper",
"rep_walk_atte",
"rep_hover_barcspeeder")
ReadDataFile("dc:SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_marine",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_droideka",
"cis_inf_marine",
"cis_inf_officer_hunt",
"cis_inf_pilot",
"cis_hover_aat",
"cis_hover_stap",
"cis_walk_spider")
ReadDataFile("dc:SIDE\\tur.lvl",
"tur_bldg_laser",
"tur_bldg_tower",
"tur_bldg_chaingun",
"tur_bldg_built_chaingun",
"tur_yav_bldg_watchtower",
"tur_bldg_recoilless_fel_auto",
"tur_bldg_recoilless_kas",
"tur_bldg_recoilless_lg",
"tur_bldg_recoilless_md",
"tur_bldg_recoilless_myg_auto",
"tur_bldg_recoilless_nab_auto")
ReadDataFile("dc:SIDE\\snw.lvl",
"snw_inf_wampa")
SetupTeams{
rep = {
team = REP,
units = 162,
reinforcements = 755,
soldier = { "rep_inf_ep3_rifleman",30, 60},
assault = { "rep_inf_ep3_rocketeer",10, 20},
engineer = { "rep_inf_ep3_sniper",5, 10},
sniper = { "rep_inf_ep3_engineer",7, 20},
officer = { "rep_inf_ep3_jettrooper",3, 6},
special = { "rep_inf_ep2_marine",8, 15},
AddUnitClass(REP, "rep_inf_ep3_officer",1, 1)
},
cis = {
team = CIS,
units = 162,
reinforcements = 800,
soldier = { "cis_inf_marine",30, 60},
assault = { "cis_inf_rocketeer",10, 20},
engineer = { "cis_inf_engineer",5, 15},
sniper = { "cis_inf_sniper",4, 10},
special = { "cis_inf_pilot",8, 10},
officer = { "cis_inf_droideka",5, 10},
extra1 = { "cis_inf_rifleman",5, 10},
AddUnitClass(CIS, "cis_inf_officer",5, 10)
},
abt = {
team = ABT,
units = 8,
reinforcements = -1,
sniper = { "cis_inf_sniper", 8, 8},
},
wpa = {
team = WPA,
units = 10,
reinforcements = -1,
sniper = { "snw_inf_wampa", 8, 8},
}
}
AddAIGoal(3, "Deathmatch", 100)
AddAIGoal(6, "Deathmatch", 100)
SetTeamName (3, "yavin_scouts")
AddUnitClass (3, "rep_inf_ep2_pilot", 5,10)
AddUnitClass (3, "rep_inf_ep2_sniper", 1,1)
SetUnitCount (3, 11)
AddAIGoal(3, "Deathmatch", 100)
SetTeamAsEnemy(DEF,3)
SetTeamAsEnemy(3,DEF)
SetTeamAsFriend(ATT,3)
SetTeamAsFriend(3,ATT)
SetTeamAsFriend(ABT, CIS)
SetTeamAsFriend(CIS, ABT)
SetTeamAsEnemy(ABT, REP)
SetTeamAsEnemy(REP, ABT)
ClearAIGoals(ABT)
AddAIGoal(ABT, "Deathmatch", 100)
SetTeamAsEnemy(WPA, CIS)
SetTeamAsEnemy(CIS, WPA)
SetTeamAsEnemy(WPA, REP)
SetTeamAsEnemy(REP, WPA)
ClearAIGoals(WPA)
AddAIGoal(WPA, "Deathmatch", 100)
SetClassProperty("cis_inf_marine", "WeaponName1", "cis_weap_inf_rifle")
SetClassProperty("cis_inf_marine", "WeaponName2", "cis_weap_inf_pistol")
SetClassProperty("cis_inf_marine", "WeaponName3", "cis_weap_inf_thermaldetonator")
SetClassProperty("rep_inf_ep3_officer", "FleeLikeAHero", "1")
SetClassProperty("rep_inf_ep2_jettrooper_sniper", "FleeLikeAHero", "1")
AddUnitClass(CIS, "cis_inf_officer",5,10)
AddUnitClass(CIS, "cis_inf_rifleman",5, 10)
AddUnitClass(REP, "rep_inf_ep2_marine",8,15)
AddUnitClass(REP, "rep_inf_ep2_jettrooper_rifleman",8,15)
AddUnitClass(REP, "rep_inf_ep2_jettrooper_sniper",1,1)
-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 4) -- special -> droidekas
AddWalkerType(1, 0) -- 1x2 (1 pair of legs)
AddWalkerType(2, 1) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 1) -- 3x2 (3 pairs of legs)
local weaponCnt = 1024
SetMemoryPoolSize("Aimer", 75)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("CommandWalker", 1)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 32)
SetMemoryPoolSize("EntityFlyer", 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:CCC\\CCC.lvl", "CCC_conquest")
ReadDataFile("dc:CCC\\CCC.lvl", "CCC_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]
Hidden/Spoiler:
[code]--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("Ambush")
-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- These variables do not change
ATT = REP;
DEF = CIS;
AmbushTeam = 5
ABT = AmbushTeam
AmbushTeam1 = 6
WPA = AmbushTeam1
function ScriptPostLoad()
ShowMessageText("level.CCC.62brief", ATT)
timername= CreateTimer("timername")
SetTimerValue(timername, (20))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.62brief2", ATT)
DestroyTimer(timer)
end,
timername
)
timername= CreateTimer("timername2")
SetTimerValue(timername, (40))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.capmoss", ATT)
DestroyTimer(timer)
end,
timername
)
timername= CreateTimer("timername3")
SetTimerValue(timername, (50))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.capmoss2", ATT)
DestroyTimer(timer)
end,
timername
)
timername= CreateTimer("timername4")
SetTimerValue(timername, (85))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.capmoss3", ATT)
DestroyTimer(timer)
end,
timername
)
AddAIGoal(3, "Deathmatch", 100)
SetClassProperty("cis_inf_rifleman", "NoEnterVehicles", "1")
--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 = "Local_CP"}
cp7 = CommandPost:New{name = "cp7"}
--This sets up the actual objective. This needs to happen after cp's are defined
conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF,
textATT = "game.modes.con",
textDEF = "game.modes.con2",
multiplayerRules = true}
--This adds the CPs to the objective. This needs to happen after the objective is set up
conquest:AddCommandPost(cp1)
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp3)
conquest:AddCommandPost(cp4)
conquest:AddCommandPost(cp5)
conquest:AddCommandPost(cp6)
conquest:AddCommandPost(cp7)
conquest:Start()
SetUberMode(1);
EnableSPHeroRules()
SetupAmbushTrigger("ambushregion", "ambushpath", 8, 5)
SetupAmbushTrigger("wamparegion", "wampapath", 8, 6)
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(62)
SetMaxPlayerFlyHeight (62)
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("SIDE\\\\des.lvl",
"rep_inf_ep2_pilot")
ReadDataFile("dc:SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_sniper",
"rep_hover_fightertank",
"rep_inf_ep2_jettrooper_rifleman",
"rep_inf_ep2_jettrooper_sniper",
"rep_walk_atte",
"rep_hover_barcspeeder")
ReadDataFile("dc:SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_pilot",
"cis_hover_aat",
"cis_hover_stap",
"cis_walk_spider")
ReadDataFile("dc:SIDE\\tur.lvl",
"tur_bldg_laser",
"tur_bldg_tower",
"tur_bldg_chaingun",
"tur_bldg_built_chaingun",
"tur_yav_bldg_watchtower",
"tur_bldg_recoilless_fel_auto",
"tur_bldg_recoilless_kas",
"tur_bldg_recoilless_lg",
"tur_bldg_recoilless_md",
"tur_bldg_recoilless_myg_auto",
"tur_bldg_recoilless_nab_auto")
ReadDataFile("dc:SIDE\\snw.lvl",
"snw_inf_wampa")
SetupTeams{
rep = {
team = REP,
units = 116,
reinforcements = 116,
soldier = { "rep_inf_ep3_rifleman",30, 60},
assault = { "rep_inf_ep3_rocketeer",10, 20},
engineer = { "rep_inf_ep3_sniper",5, 10},
sniper = { "rep_inf_ep3_engineer",7, 20},
},
cis = {
team = CIS,
units = 125,
reinforcements = 125,
soldier = { "cis_inf_rifleman",5, 10},
assault = { "cis_inf_rocketeer",10, 20},
engineer = { "cis_inf_engineer",5, 15},
sniper = { "cis_inf_sniper",4, 10},
special = { "cis_inf_pilot",8, 10},
},
abt = {
team = ABT,
units = 8,
reinforcements = -1,
sniper = { "cis_inf_sniper", 8, 8},
},
wpa = {
team = WPA,
units = 10,
reinforcements = -1,
sniper = { "snw_inf_wampa", 8, 8},
}
}
AddAIGoal(3, "Deathmatch", 100)
AddAIGoal(6, "Deathmatch", 100)
SetTeamName (3, "yavin_scouts")
AddUnitClass (3, "rep_inf_ep2_pilot", 5,10)
AddUnitClass (3, "rep_inf_ep2_sniper", 1,1)
SetUnitCount (3, 11)
AddAIGoal(3, "Deathmatch", 100)
SetTeamAsEnemy(DEF,3)
SetTeamAsEnemy(3,DEF)
SetTeamAsFriend(ATT,3)
SetTeamAsFriend(3,ATT)
SetTeamAsFriend(ABT, CIS)
SetTeamAsFriend(CIS, ABT)
SetTeamAsEnemy(ABT, REP)
SetTeamAsEnemy(REP, ABT)
ClearAIGoals(ABT)
AddAIGoal(ABT, "Deathmatch", 100)
SetTeamAsEnemy(WPA, CIS)
SetTeamAsEnemy(CIS, WPA)
SetTeamAsEnemy(WPA, REP)
SetTeamAsEnemy(REP, WPA)
ClearAIGoals(WPA)
AddAIGoal(WPA, "Deathmatch", 100)
SetClassProperty("cis_inf_marine", "WeaponName1", "cis_weap_inf_rifle")
SetClassProperty("cis_inf_marine", "WeaponName2", "cis_weap_inf_pistol")
SetClassProperty("cis_inf_marine", "WeaponName3", "cis_weap_inf_thermaldetonator")
SetClassProperty("rep_inf_ep3_officer", "FleeLikeAHero", "1")
SetClassProperty("rep_inf_ep2_jettrooper_sniper", "FleeLikeAHero", "1")
AddUnitClass(CIS, "cis_inf_officer",5,10)
AddUnitClass(CIS, "cis_inf_rifleman",5, 10)
AddUnitClass(REP, "rep_inf_ep2_marine",8,15)
AddUnitClass(REP, "rep_inf_ep2_jettrooper_rifleman",8,15)
AddUnitClass(REP, "rep_inf_ep2_jettrooper_sniper",1,1)
-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 4) -- special -> droidekas
AddWalkerType(1, 0) -- 1x2 (1 pair of legs)
AddWalkerType(2, 1) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 1) -- 3x2 (3 pairs of legs)
local weaponCnt = 1024
SetMemoryPoolSize("Aimer", 75)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("CommandWalker", 1)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 32)
SetMemoryPoolSize("EntityFlyer", 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:CCC\\CCC.lvl", "CCC_conquest")
ReadDataFile("dc:CCC\\CCC.lvl", "CCC_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.
--
-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("Ambush")
-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- These variables do not change
ATT = REP;
DEF = CIS;
AmbushTeam = 5
ABT = AmbushTeam
AmbushTeam1 = 6
WPA = AmbushTeam1
function ScriptPostLoad()
ShowMessageText("level.CCC.62brief", ATT)
timername= CreateTimer("timername")
SetTimerValue(timername, (20))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.62brief2", ATT)
DestroyTimer(timer)
end,
timername
)
timername= CreateTimer("timername2")
SetTimerValue(timername, (40))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.capmoss", ATT)
DestroyTimer(timer)
end,
timername
)
timername= CreateTimer("timername3")
SetTimerValue(timername, (50))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.capmoss2", ATT)
DestroyTimer(timer)
end,
timername
)
timername= CreateTimer("timername4")
SetTimerValue(timername, (85))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.capmoss3", ATT)
DestroyTimer(timer)
end,
timername
)
AddAIGoal(3, "Deathmatch", 100)
SetClassProperty("cis_inf_rifleman", "NoEnterVehicles", "1")
--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 = "Local_CP"}
cp7 = CommandPost:New{name = "cp7"}
--This sets up the actual objective. This needs to happen after cp's are defined
conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF,
textATT = "game.modes.con",
textDEF = "game.modes.con2",
multiplayerRules = true}
--This adds the CPs to the objective. This needs to happen after the objective is set up
conquest:AddCommandPost(cp1)
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp3)
conquest:AddCommandPost(cp4)
conquest:AddCommandPost(cp5)
conquest:AddCommandPost(cp6)
conquest:AddCommandPost(cp7)
conquest:Start()
SetUberMode(1);
EnableSPHeroRules()
SetupAmbushTrigger("ambushregion", "ambushpath", 8, 5)
SetupAmbushTrigger("wamparegion", "wampapath", 8, 6)
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(62)
SetMaxPlayerFlyHeight (62)
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("SIDE\\\\des.lvl",
"rep_inf_ep2_pilot")
ReadDataFile("dc:SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_sniper",
"rep_hover_fightertank",
"rep_inf_ep2_jettrooper_rifleman",
"rep_inf_ep2_jettrooper_sniper",
"rep_walk_atte",
"rep_hover_barcspeeder")
ReadDataFile("dc:SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_pilot",
"cis_hover_aat",
"cis_hover_stap",
"cis_walk_spider")
ReadDataFile("dc:SIDE\\tur.lvl",
"tur_bldg_laser",
"tur_bldg_tower",
"tur_bldg_chaingun",
"tur_bldg_built_chaingun",
"tur_yav_bldg_watchtower",
"tur_bldg_recoilless_fel_auto",
"tur_bldg_recoilless_kas",
"tur_bldg_recoilless_lg",
"tur_bldg_recoilless_md",
"tur_bldg_recoilless_myg_auto",
"tur_bldg_recoilless_nab_auto")
ReadDataFile("dc:SIDE\\snw.lvl",
"snw_inf_wampa")
SetupTeams{
rep = {
team = REP,
units = 116,
reinforcements = 116,
soldier = { "rep_inf_ep3_rifleman",30, 60},
assault = { "rep_inf_ep3_rocketeer",10, 20},
engineer = { "rep_inf_ep3_sniper",5, 10},
sniper = { "rep_inf_ep3_engineer",7, 20},
},
cis = {
team = CIS,
units = 125,
reinforcements = 125,
soldier = { "cis_inf_rifleman",5, 10},
assault = { "cis_inf_rocketeer",10, 20},
engineer = { "cis_inf_engineer",5, 15},
sniper = { "cis_inf_sniper",4, 10},
special = { "cis_inf_pilot",8, 10},
},
abt = {
team = ABT,
units = 8,
reinforcements = -1,
sniper = { "cis_inf_sniper", 8, 8},
},
wpa = {
team = WPA,
units = 10,
reinforcements = -1,
sniper = { "snw_inf_wampa", 8, 8},
}
}
AddAIGoal(3, "Deathmatch", 100)
AddAIGoal(6, "Deathmatch", 100)
SetTeamName (3, "yavin_scouts")
AddUnitClass (3, "rep_inf_ep2_pilot", 5,10)
AddUnitClass (3, "rep_inf_ep2_sniper", 1,1)
SetUnitCount (3, 11)
AddAIGoal(3, "Deathmatch", 100)
SetTeamAsEnemy(DEF,3)
SetTeamAsEnemy(3,DEF)
SetTeamAsFriend(ATT,3)
SetTeamAsFriend(3,ATT)
SetTeamAsFriend(ABT, CIS)
SetTeamAsFriend(CIS, ABT)
SetTeamAsEnemy(ABT, REP)
SetTeamAsEnemy(REP, ABT)
ClearAIGoals(ABT)
AddAIGoal(ABT, "Deathmatch", 100)
SetTeamAsEnemy(WPA, CIS)
SetTeamAsEnemy(CIS, WPA)
SetTeamAsEnemy(WPA, REP)
SetTeamAsEnemy(REP, WPA)
ClearAIGoals(WPA)
AddAIGoal(WPA, "Deathmatch", 100)
SetClassProperty("cis_inf_marine", "WeaponName1", "cis_weap_inf_rifle")
SetClassProperty("cis_inf_marine", "WeaponName2", "cis_weap_inf_pistol")
SetClassProperty("cis_inf_marine", "WeaponName3", "cis_weap_inf_thermaldetonator")
SetClassProperty("rep_inf_ep3_officer", "FleeLikeAHero", "1")
SetClassProperty("rep_inf_ep2_jettrooper_sniper", "FleeLikeAHero", "1")
AddUnitClass(CIS, "cis_inf_officer",5,10)
AddUnitClass(CIS, "cis_inf_rifleman",5, 10)
AddUnitClass(REP, "rep_inf_ep2_marine",8,15)
AddUnitClass(REP, "rep_inf_ep2_jettrooper_rifleman",8,15)
AddUnitClass(REP, "rep_inf_ep2_jettrooper_sniper",1,1)
-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 4) -- special -> droidekas
AddWalkerType(1, 0) -- 1x2 (1 pair of legs)
AddWalkerType(2, 1) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 1) -- 3x2 (3 pairs of legs)
local weaponCnt = 1024
SetMemoryPoolSize("Aimer", 75)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("CommandWalker", 1)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 32)
SetMemoryPoolSize("EntityFlyer", 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:CCC\\CCC.lvl", "CCC_conquest")
ReadDataFile("dc:CCC\\CCC.lvl", "CCC_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]
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()
SetClassProperty("cis_inf_rifleman", "NoEnterVehicles", "1")
--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"}
--This sets up the actual objective. This needs to happen after cp's are defined
conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF,
textATT = "game.modes.con",
textDEF = "game.modes.con2",
multiplayerRules = true}
--This adds the CPs to the objective. This needs to happen after the objective is set up
conquest:AddCommandPost(cp1)
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp3)
conquest:AddCommandPost(cp4)
conquest:AddCommandPost(cp5)
conquest: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(62)
SetMaxPlayerFlyHeight (62)
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_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_sniper",
"rep_inf_ep3_officer",
"rep_inf_ep3_jettrooper",
"rep_hover_fightertank",
"rep_hero_anakin",
"rep_hover_barcspeeder")
ReadDataFile("dc:SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_marine",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_droideka",
"cis_hero_darthmaul",
"cis_hover_aat",
"cis_hover_stap")
ReadDataFile("dc:SIDE\\tur.lvl",
"tur_bldg_laser",
"tur_bldg_tower",
"tur_bldg_chaingun",
"tur_bldg_built_chaingun",
"tur_yav_bldg_watchtower")
SetupTeams{
rep = {
team = REP,
units = 50,
reinforcements = 500,
soldier = { "rep_inf_ep3_rifleman",30,60},
assault = { "rep_inf_ep3_rocketeer",10, 20},
engineer = { "rep_inf_ep3_sniper",5, 10},
sniper = { "rep_inf_ep3_engineer",7, 20},
officer = { "rep_inf_ep3_jettrooper",3, 6},
special = { "rep_inf_ep3_officer",1, 1},
},
cis = {
team = CIS,
units = 50,
reinforcements = 500,
soldier = { "cis_inf_marine",35, 60},
assault = { "cis_inf_rocketeer",10, 20},
engineer = { "cis_inf_engineer",5, 15},
sniper = { "cis_inf_sniper",4, 10},
officer = {"cis_inf_rifleman",4, 8},
special = { "cis_inf_droideka",3, 7},
}
}
SetClassProperty("cis_inf_marine", "WeaponName1", "cis_weap_inf_rifle")
SetClassProperty("cis_inf_marine", "WeaponName2", "cis_weap_inf_pistol")
SetClassProperty("cis_inf_marine", "WeaponName3", "cis_weap_inf_thermaldetonator")
SetClassProperty("rep_inf_ep3_officer", "FleeLikeAHero", "1")
-- 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:CCC\\CCC.lvl", "CCC_conquest")
ReadDataFile("dc:CCC\\CCC.lvl", "CCC_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.
--
-- 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()
SetClassProperty("cis_inf_rifleman", "NoEnterVehicles", "1")
--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"}
--This sets up the actual objective. This needs to happen after cp's are defined
conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF,
textATT = "game.modes.con",
textDEF = "game.modes.con2",
multiplayerRules = true}
--This adds the CPs to the objective. This needs to happen after the objective is set up
conquest:AddCommandPost(cp1)
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp3)
conquest:AddCommandPost(cp4)
conquest:AddCommandPost(cp5)
conquest: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(62)
SetMaxPlayerFlyHeight (62)
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_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_sniper",
"rep_inf_ep3_officer",
"rep_inf_ep3_jettrooper",
"rep_hover_fightertank",
"rep_hero_anakin",
"rep_hover_barcspeeder")
ReadDataFile("dc:SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_marine",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_droideka",
"cis_hero_darthmaul",
"cis_hover_aat",
"cis_hover_stap")
ReadDataFile("dc:SIDE\\tur.lvl",
"tur_bldg_laser",
"tur_bldg_tower",
"tur_bldg_chaingun",
"tur_bldg_built_chaingun",
"tur_yav_bldg_watchtower")
SetupTeams{
rep = {
team = REP,
units = 50,
reinforcements = 500,
soldier = { "rep_inf_ep3_rifleman",30,60},
assault = { "rep_inf_ep3_rocketeer",10, 20},
engineer = { "rep_inf_ep3_sniper",5, 10},
sniper = { "rep_inf_ep3_engineer",7, 20},
officer = { "rep_inf_ep3_jettrooper",3, 6},
special = { "rep_inf_ep3_officer",1, 1},
},
cis = {
team = CIS,
units = 50,
reinforcements = 500,
soldier = { "cis_inf_marine",35, 60},
assault = { "cis_inf_rocketeer",10, 20},
engineer = { "cis_inf_engineer",5, 15},
sniper = { "cis_inf_sniper",4, 10},
officer = {"cis_inf_rifleman",4, 8},
special = { "cis_inf_droideka",3, 7},
}
}
SetClassProperty("cis_inf_marine", "WeaponName1", "cis_weap_inf_rifle")
SetClassProperty("cis_inf_marine", "WeaponName2", "cis_weap_inf_pistol")
SetClassProperty("cis_inf_marine", "WeaponName3", "cis_weap_inf_thermaldetonator")
SetClassProperty("rep_inf_ep3_officer", "FleeLikeAHero", "1")
-- 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:CCC\\CCC.lvl", "CCC_conquest")
ReadDataFile("dc:CCC\\CCC.lvl", "CCC_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]
EDIT: So now I`ve noticed something that points toward the LUA being the problem. With this version of the LUA, the game starts but after a second of being in the game it instantly just crashes. All I get to see is a short glimpse of a clone trooper.
Is there anything wrong with this LUA?
Hidden/Spoiler:
[code]--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("Ambush")
-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- These variables do not change
ATT = REP;
DEF = CIS;
AmbushTeam = 5
ABT = AmbushTeam
AmbushTeam1 = 6
WPA = AmbushTeam1
function ScriptPostLoad()
ShowMessageText("level.CCC.62brief", ATT)
timername= CreateTimer("timername")
SetTimerValue(timername, (20))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.62brief2", ATT)
DestroyTimer(timer)
end,
timername
)
timername= CreateTimer("timername2")
SetTimerValue(timername, (40))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.capmoss", ATT)
DestroyTimer(timer)
end,
timername
)
timername= CreateTimer("timername3")
SetTimerValue(timername, (50))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.capmoss2", ATT)
DestroyTimer(timer)
end,
timername
)
timername= CreateTimer("timername4")
SetTimerValue(timername, (85))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.capmoss3", ATT)
DestroyTimer(timer)
end,
timername
)
AddAIGoal(3, "Deathmatch", 100)
SetClassProperty("cis_inf_rifleman", "NoEnterVehicles", "1")
--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 = "Local_CP"}
cp7 = CommandPost:New{name = "cp7"}
--This sets up the actual objective. This needs to happen after cp's are defined
conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF,
textATT = "game.modes.con",
textDEF = "game.modes.con2",
multiplayerRules = true}
--This adds the CPs to the objective. This needs to happen after the objective is set up
conquest:AddCommandPost(cp1)
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp3)
conquest:AddCommandPost(cp4)
conquest:AddCommandPost(cp5)
conquest:AddCommandPost(cp6)
conquest:AddCommandPost(cp7)
conquest:Start()
SetUberMode(1);
EnableSPHeroRules()
SetupAmbushTrigger("ambushregion", "ambushpath", 8, 5)
SetupAmbushTrigger("wamparegion", "wampapath", 8, 6)
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(62)
SetMaxPlayerFlyHeight (62)
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("SIDE\\\\des.lvl",
"rep_inf_ep2_pilot")
ReadDataFile("dc:SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_hover_fightertank",
"rep_walk_atte",
"rep_hover_barcspeeder")
ReadDataFile("dc:SIDE\\cis.lvl",
"cis_inf_marine",
"cis_hover_aat",
"cis_hover_stap",
"cis_walk_spider")
ReadDataFile("dc:SIDE\\tur.lvl",
"tur_bldg_laser",
"tur_bldg_tower",
"tur_bldg_chaingun",
"tur_bldg_built_chaingun",
"tur_yav_bldg_watchtower",
"tur_bldg_recoilless_fel_auto",
"tur_bldg_recoilless_kas",
"tur_bldg_recoilless_lg",
"tur_bldg_recoilless_md",
"tur_bldg_recoilless_myg_auto",
"tur_bldg_recoilless_nab_auto")
ReadDataFile("dc:SIDE\\snw.lvl",
"snw_inf_wampa")
SetupTeams{
rep = {
team = REP,
units = 162,
reinforcements = 755,
soldier = { "rep_inf_ep3_rifleman",30, 60},
},
cis = {
team = CIS,
units = 162,
reinforcements = 800,
soldier = { "cis_inf_marine",30, 60},
},
abt = {
team = ABT,
units = 8,
reinforcements = -1,
sniper = { "cis_inf_sniper", 8, 8},
},
wpa = {
team = WPA,
units = 10,
reinforcements = -1,
sniper = { "snw_inf_wampa", 8, 8},
}
}
AddAIGoal(3, "Deathmatch", 100)
AddAIGoal(6, "Deathmatch", 100)
SetTeamName (3, "yavin_scouts")
AddUnitClass (3, "rep_inf_ep2_pilot", 5,10)
AddUnitClass (3, "rep_inf_ep2_sniper", 1,1)
SetUnitCount (3, 11)
AddAIGoal(3, "Deathmatch", 100)
SetTeamAsEnemy(DEF,3)
SetTeamAsEnemy(3,DEF)
SetTeamAsFriend(ATT,3)
SetTeamAsFriend(3,ATT)
SetTeamAsFriend(ABT, CIS)
SetTeamAsFriend(CIS, ABT)
SetTeamAsEnemy(ABT, REP)
SetTeamAsEnemy(REP, ABT)
ClearAIGoals(ABT)
AddAIGoal(ABT, "Deathmatch", 100)
SetTeamAsEnemy(WPA, CIS)
SetTeamAsEnemy(CIS, WPA)
SetTeamAsEnemy(WPA, REP)
SetTeamAsEnemy(REP, WPA)
ClearAIGoals(WPA)
AddAIGoal(WPA, "Deathmatch", 100)
SetClassProperty("cis_inf_marine", "WeaponName1", "cis_weap_inf_rifle")
SetClassProperty("cis_inf_marine", "WeaponName2", "cis_weap_inf_pistol")
SetClassProperty("cis_inf_marine", "WeaponName3", "cis_weap_inf_thermaldetonator")
-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 4) -- special -> droidekas
AddWalkerType(1, 0) -- 1x2 (1 pair of legs)
AddWalkerType(2, 1) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 1) -- 3x2 (3 pairs of legs)
local weaponCnt = 1024
SetMemoryPoolSize("Aimer", 75)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("CommandWalker", 1)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 32)
SetMemoryPoolSize("EntityFlyer", 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:CCC\\CCC.lvl", "CCC_conquest")
ReadDataFile("dc:CCC\\CCC.lvl", "CCC_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.
--
-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("Ambush")
-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- These variables do not change
ATT = REP;
DEF = CIS;
AmbushTeam = 5
ABT = AmbushTeam
AmbushTeam1 = 6
WPA = AmbushTeam1
function ScriptPostLoad()
ShowMessageText("level.CCC.62brief", ATT)
timername= CreateTimer("timername")
SetTimerValue(timername, (20))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.62brief2", ATT)
DestroyTimer(timer)
end,
timername
)
timername= CreateTimer("timername2")
SetTimerValue(timername, (40))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.capmoss", ATT)
DestroyTimer(timer)
end,
timername
)
timername= CreateTimer("timername3")
SetTimerValue(timername, (50))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.capmoss2", ATT)
DestroyTimer(timer)
end,
timername
)
timername= CreateTimer("timername4")
SetTimerValue(timername, (85))
StartTimer(timername)
OnTimerElapse(
function(timer)
ShowMessageText("level.CCC.capmoss3", ATT)
DestroyTimer(timer)
end,
timername
)
AddAIGoal(3, "Deathmatch", 100)
SetClassProperty("cis_inf_rifleman", "NoEnterVehicles", "1")
--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 = "Local_CP"}
cp7 = CommandPost:New{name = "cp7"}
--This sets up the actual objective. This needs to happen after cp's are defined
conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF,
textATT = "game.modes.con",
textDEF = "game.modes.con2",
multiplayerRules = true}
--This adds the CPs to the objective. This needs to happen after the objective is set up
conquest:AddCommandPost(cp1)
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp3)
conquest:AddCommandPost(cp4)
conquest:AddCommandPost(cp5)
conquest:AddCommandPost(cp6)
conquest:AddCommandPost(cp7)
conquest:Start()
SetUberMode(1);
EnableSPHeroRules()
SetupAmbushTrigger("ambushregion", "ambushpath", 8, 5)
SetupAmbushTrigger("wamparegion", "wampapath", 8, 6)
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(62)
SetMaxPlayerFlyHeight (62)
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("SIDE\\\\des.lvl",
"rep_inf_ep2_pilot")
ReadDataFile("dc:SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_hover_fightertank",
"rep_walk_atte",
"rep_hover_barcspeeder")
ReadDataFile("dc:SIDE\\cis.lvl",
"cis_inf_marine",
"cis_hover_aat",
"cis_hover_stap",
"cis_walk_spider")
ReadDataFile("dc:SIDE\\tur.lvl",
"tur_bldg_laser",
"tur_bldg_tower",
"tur_bldg_chaingun",
"tur_bldg_built_chaingun",
"tur_yav_bldg_watchtower",
"tur_bldg_recoilless_fel_auto",
"tur_bldg_recoilless_kas",
"tur_bldg_recoilless_lg",
"tur_bldg_recoilless_md",
"tur_bldg_recoilless_myg_auto",
"tur_bldg_recoilless_nab_auto")
ReadDataFile("dc:SIDE\\snw.lvl",
"snw_inf_wampa")
SetupTeams{
rep = {
team = REP,
units = 162,
reinforcements = 755,
soldier = { "rep_inf_ep3_rifleman",30, 60},
},
cis = {
team = CIS,
units = 162,
reinforcements = 800,
soldier = { "cis_inf_marine",30, 60},
},
abt = {
team = ABT,
units = 8,
reinforcements = -1,
sniper = { "cis_inf_sniper", 8, 8},
},
wpa = {
team = WPA,
units = 10,
reinforcements = -1,
sniper = { "snw_inf_wampa", 8, 8},
}
}
AddAIGoal(3, "Deathmatch", 100)
AddAIGoal(6, "Deathmatch", 100)
SetTeamName (3, "yavin_scouts")
AddUnitClass (3, "rep_inf_ep2_pilot", 5,10)
AddUnitClass (3, "rep_inf_ep2_sniper", 1,1)
SetUnitCount (3, 11)
AddAIGoal(3, "Deathmatch", 100)
SetTeamAsEnemy(DEF,3)
SetTeamAsEnemy(3,DEF)
SetTeamAsFriend(ATT,3)
SetTeamAsFriend(3,ATT)
SetTeamAsFriend(ABT, CIS)
SetTeamAsFriend(CIS, ABT)
SetTeamAsEnemy(ABT, REP)
SetTeamAsEnemy(REP, ABT)
ClearAIGoals(ABT)
AddAIGoal(ABT, "Deathmatch", 100)
SetTeamAsEnemy(WPA, CIS)
SetTeamAsEnemy(CIS, WPA)
SetTeamAsEnemy(WPA, REP)
SetTeamAsEnemy(REP, WPA)
ClearAIGoals(WPA)
AddAIGoal(WPA, "Deathmatch", 100)
SetClassProperty("cis_inf_marine", "WeaponName1", "cis_weap_inf_rifle")
SetClassProperty("cis_inf_marine", "WeaponName2", "cis_weap_inf_pistol")
SetClassProperty("cis_inf_marine", "WeaponName3", "cis_weap_inf_thermaldetonator")
-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 4) -- special -> droidekas
AddWalkerType(1, 0) -- 1x2 (1 pair of legs)
AddWalkerType(2, 1) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 1) -- 3x2 (3 pairs of legs)
local weaponCnt = 1024
SetMemoryPoolSize("Aimer", 75)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("CommandWalker", 1)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 32)
SetMemoryPoolSize("EntityFlyer", 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:CCC\\CCC.lvl", "CCC_conquest")
ReadDataFile("dc:CCC\\CCC.lvl", "CCC_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]