Page 1 of 1

Fatal error?

Posted: Fri May 26, 2006 4:11 pm
by ^Destroyer^
My map keeps crashing when i play CW, it goes to desktop and gives an error. It says:
FATAL
Could not open MISSION/AOCc_con.lvl
What is this? Here is my lua, if you need something more say it.

--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

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

-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- These variables do not change
ATT = REP;
DEF = CIS;


function ScriptPostLoad()


--This defines the CPs. These need to happen first
cp1 = CommandPost:New{name = "cp1"}
cp2 = CommandPost:New{name = "cp2"}
cp3 = CommandPost:New{name = "cp3"}
cp4 = CommandPost:New{name = "cp4"}



--This sets up the actual objective. This needs to happen after cp's are defined
conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF,
textATT = "game.modes.con",
textDEF = "game.modes.con2",
isUberMode = true,
multiplayerRules = true}

--This adds the CPs to the objective. This needs to happen after the objective is set up
conquest:AddCommandPost(cp1)
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp3)
conquest:AddCommandPost(cp4)

conquest:Start()

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

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\\kit.lvl",
"rep_hero_fisto")
ReadDataFile("dc:SIDE\\tiin.lvl",
"rep_hero_saesee")
ReadDataFile("dc:SIDE\\plo.lvl",
"rep_hero_plokoon")
ReadDataFile("SIDE\\rep.lvl",
"rep_inf_ep2_rifleman",
"rep_inf_ep2_rocketeer",
"rep_inf_ep2_engineer",
"rep_inf_ep2_sniper",
"rep_inf_ep2_rocketeer_chaingun",
"rep_inf_ep2_jettrooper",
"rep_hover_fightertank",
"rep_walk_atte",
"rep_hero_macewindu",
"rep_hover_barcspeeder")
ReadDataFile("SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_droideka",
"cis_hero_countdooku",
"cis_tread_hailfire",
"cis_walk_spider",
"cis_hover_aat")


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

SetupTeams{
rep = {
team = REP,
units = 300,
reinforcements = 600,
soldier = { "rep_inf_ep2_rifleman",40, 50},
assault = { "rep_inf_ep2_rocketeer",35,50},
engineer = { "rep_inf_ep2_engineer",35,50},
sniper = { "rep_inf_ep2_sniper",35,50},
officer = {"rep_inf_ep2_rocketeer_chaingun",35,50},
special = { "rep_inf_ep2_jettrooper",35,48},

},
cis = {
team = CIS,
units = 300,
reinforcements = 600,
soldier = { "cis_inf_rifleman",40, 60},
assault = { "cis_inf_rocketeer",35,60},
engineer = { "cis_inf_engineer",35,60},
sniper = { "cis_inf_sniper",35,60},
officer = {""
special = { "cis_inf_droideka",35,58},
}
}


AddUnitClass(REP, "rep_hero_fisto",1,1)
AddUnitClass(REP, "rep_hero_saesee",1,1)
AddUnitClass(REP, "rep_hero_plokoon",1,1)

SetHeroClass(CIS, "cis_hero_countdooku")
SetHeroClass(REP, "rep_hero_macewindu")


-- Level Stats

ClearWalkers()
SetMemoryPoolSize("EntityWalker", 4)
--AddWalkerType(0, 3) -- 8 droidekas (special case: 0 leg pairs)
AddWalkerType(4, 2) -- 4 spider walkers with 2 leg pairs each
AddWalkerType(4, 3) -- 4 attes with 3 leg pairs each
local weaponCnt = 1024
SetMemoryPoolSize("Aimer", 75)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("CommandWalker",4)
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:AOC\\AOC.lvl", "AOC_conquest")
ReadDataFile("dc:AOC\\AOC.lvl", "AOC_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



^Destroyer^

RE: Fatal error?

Posted: Fri May 26, 2006 5:30 pm
by PvtParts
Its most likely in the reqs Check the mission.req in your Common folder and make sure AOCc_con is in it, then check the Common\mission\ folder and look for an AOCc_con.req. open it up and make sure it looks something like this:
ucft
{
REQN
{

"config"
"cor_movies"

}

REQN
{
"script"
"AOCc_con"
}
}
Hope that helps.

Also make sure the addme lua is set up correctly (if youve edited it I can offer more help. Explain what you did since it last worked)

RE: Fatal error?

Posted: Sat May 27, 2006 6:45 am
by ^Destroyer^
Everything seems to be fine, i didn't made any changes to the addme.lua. It's just all very odd..... It might be a munge problem but i cleaned and munged for several times.

~EDIT~: Here are the errors it gives (the AOCc_con error is in it):

D:\BF2_ModTools\ToolsFL\Bin\luac.exe: ..\..\common\scripts\AOC\AOCc_con.lua:132: `}' expected (to close `{' at line 131) near `special'
ERROR[scriptmunge scripts\AOC\AOCc_con.lua]:Could not read input file.ERROR[scriptmunge scripts\AOC\AOCc_con.lua]:Could not read input file. [continuing]
2 Errors 0 Warnings

^Destroyer^

RE: Fatal error?

Posted: Sat May 27, 2006 10:46 am
by [RDH]Zerted
Your lua is failing to compile, so it is not being munged into the .lvl, thus the game can't find it. I think your problem is a missing ,. I added it in red:
cis = {
team = CIS,
units = 300,
reinforcements = 600,
soldier = { "cis_inf_rifleman",40, 60},
assault = { "cis_inf_rocketeer",35,60},
engineer = { "cis_inf_engineer",35,60},
sniper = { "cis_inf_sniper",35,60},
officer = {""
special = { "cis_inf_droideka",35,58},
},
}

Posted: Sat May 27, 2006 11:04 am
by ^Destroyer^
Did it but it didn't do anything, i'm still getting the same errors listed above.

^Destroyer^

Posted: Sat May 27, 2006 11:32 am
by PvtParts
Good job Zerted. Yeah Destroyer if you ever get a lua error dont even bother testing as it wont work. You need to fix those.
(to close `{' at line 131)
Just go to whatever line it specifies and make the appropriate changes. If it doesnt tell you what to add, it should be easy to figure.


Just explaining the why behind the how, so you dont run into this again

Posted: Sat May 27, 2006 11:34 am
by MercuryNoodles
officer = {""

There's your error, under the CIS unit list. I'm not sure what it does when there's no unit inside the quotes, but you definately need to add the closing bracket and a comma.

Posted: Sat May 27, 2006 11:50 am
by PvtParts
Well, now looking back on his lua, youve got it set up wrong. If you use addunit class, it needs to be set up like this:

SetupTeams{
rep = {
team = REP,
units = 210,
reinforcements = 1000,
soldier = { "rep_inf_ep2_rifleman",40, 50},
assault = { "rep_inf_ep2_rocketeer",35,50},
engineer = { "rep_inf_ep2_engineer",35,50},
sniper = { "rep_inf_ep2_sniper",35,50},
officer = {"rep_inf_ep2_rocketeer_chaingun",35,50},
special = { "rep_inf_ep2_jettrooper",35,48},

},
}

AddUnitClass(REP, "rep_hero_fisto",1,1)
AddUnitClass(REP, "rep_hero_saesee",1,1)
AddUnitClass(REP, "rep_hero_plokoon",1,1)

SetupTeams{
cis = {
team = CIS,
units = 198,
reinforcements = 800,
soldier = { "cis_inf_rifleman",40, 60},
assault = { "cis_inf_rocketeer",35,60},
engineer = { "cis_inf_engineer",35,60},
sniper = { "cis_inf_sniper",35,60},
officer = {"NEED CLASS HERE" //go to bottom -
special = { "cis_inf_droideka",35,58},

},
}

SetHeroClass(CIS, "cis_hero_countdooku")
SetHeroClass(REP, "rep_hero_macewindu")

- If you dont want an officer class, delete the entire officer line, but dont leave it blank.

Posted: Sat May 27, 2006 11:55 am
by ^Destroyer^
Oh, someone told me to leave it blank, i had it gone already at the first time.

~EDIT~: Ok it worked!! Thanks guys!

^Destroyer^

Posted: Sun May 28, 2006 3:05 pm
by [RDH]Zerted
I don't know how I missed the missing officer, but you needed that comma anyway.

I think the game would still run with a blank officer, but it can't complie without the missing bracket.

You can put the AddUnitClass() almost anywhere. It doesn't have to be right after the team you are adding it to.

Posted: Sun May 28, 2006 6:07 pm
by PvtParts
I know. But you have to close it after each team is set up or it gives you problems (such as not all units are added/crashing/not letting you play the defending side