Page 1 of 1

.lua error

Posted: Mon Aug 03, 2009 8:05 am
by mswf
Normally I don't like to open a topic for a question, but since I'm completely stuck I decided to explain here:
I've modified the FMMc_con.lua and FMMg_con.lua files to block out the heroes. I deleted the lines of "load (hero)" and "ingame (hero)". It worked, though I got a munge error everytime I munged my map, stating that there were missing brackets in both files. The map worked, but since it got annoying, I tried to fix it by creating a new map, and copy the (renamed) .lua files over to the FFM map folder (and accidently the .lua.bak files as well. This must be where it went wrong) . The next time I tried to munge my map, it crashed, so I put the original files back, but now my map's broken, since when I start the game, I can only see an empty minimap.

Does anyone know what I can do to fix the problem (Or at least save my map, including all the object placements, planning and barriers etc.)
(NOTE: I've made a full backup of my map a couple of steps back, so I could us that as well. It still has the .lua with the faulty brackets, so if someone could post what I should fix to my current lua's)


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

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

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


function ScriptPostLoad()


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



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

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

conquest:Start()

EnableSPHeroRules()

end


---------------------------------------------------------------------------
-- FUNCTION: ScriptInit
-- PURPOSE: This function is only run once
-- INPUT:
-- OUTPUT:
-- NOTES: The name, 'ScriptInit' is a chosen convention, and each
-- mission script must contain a version of this function, as
-- it is called from C to start the mission.
---------------------------------------------------------------------------
function ScriptInit()

ReadDataFile("ingame.lvl")


SetMaxFlyHeight(30)
SetMaxPlayerFlyHeight (30)

SetMemoryPoolSize ("ClothData",20)
SetMemoryPoolSize ("Combo",50) -- should be ~ 2x number of jedi classes
SetMemoryPoolSize ("Combo::State",650) -- should be ~12x #Combo
SetMemoryPoolSize ("Combo::Transition",650) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Condition",650) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Attack",550) -- should be ~8-12x #Combo
SetMemoryPoolSize ("Combo::DamageSample",6000) -- should be ~8-12x #Combo::Attack
SetMemoryPoolSize ("Combo::Deflect",100) -- should be ~1x #combo

ReadDataFile("sound\\yav.lvl;yav1cw")
ReadDataFile("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_hover_barcspeeder")
ReadDataFile("SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_droideka",
"cis_hover_aat")


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

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

},
cis = {
team = CIS,
units = 22,
reinforcements = 220,
soldier = { "cis_inf_rifleman",9, 25},
assault = { "cis_inf_rocketeer",1, 4},
engineer = { "cis_inf_engineer",1, 4},
sniper = { "cis_inf_sniper",1, 4},
officer = {"cis_inf_officer",1, 4},
special = { "cis_inf_droideka",1, 4},
}
}

}

-- 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:FMM\\FMM.lvl", "FMM_conquest")
ReadDataFile("dc:FMM\\FMM.lvl", "FMM_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]
And FMMg_con.lua:
Hidden/Spoiler:
[code]--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("ObjectiveConquest")

-- Empire Attacking (attacker is always #1)
local ALL = 2
local IMP = 1
-- These variables do not change
local ATT = 1
local DEF = 2

function ScriptPostLoad()


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



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

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

conquest:Start()

EnableSPHeroRules()

end


---------------------------------------------------------------------------
-- FUNCTION: ScriptInit
-- PURPOSE: This function is only run once
-- INPUT:
-- OUTPUT:
-- NOTES: The name, 'ScriptInit' is a chosen convention, and each
-- mission script must contain a version of this function, as
-- it is called from C to start the mission.
---------------------------------------------------------------------------

function ScriptInit()

ReadDataFile("ingame.lvl")



SetMaxFlyHeight(40)
SetMaxPlayerFlyHeight(40)


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\\tat.lvl;tat2gcw")
ReadDataFile("SIDE\\all.lvl",
"all_inf_rifleman",
"all_inf_rocketeer",
"all_inf_sniper",
"all_inf_engineer",
"all_inf_officer",
"all_inf_wookiee")

ReadDataFile("SIDE\\imp.lvl",
"imp_inf_rifleman",
"imp_inf_rocketeer",
"imp_inf_engineer",
"imp_inf_sniper",
"imp_inf_officer",
"imp_inf_dark_trooper",
"imp_fly_destroyer_dome")

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

SetupTeams{
all = {
team = ALL,
units = 25,
reinforcements = 250,
soldier = { "all_inf_rifleman",9, 25},
assault = { "all_inf_rocketeer",1,4},
engineer = { "all_inf_engineer",1,4},
sniper = { "all_inf_sniper",1,4},
officer = { "all_inf_officer",1,4},
special = { "all_inf_wookiee",1,4},

},
imp = {
team = IMP,
units = 20,
reinforcements = 150,
soldier = { "imp_inf_rifleman",9, 25},
assault = { "imp_inf_rocketeer",1,4},
engineer = { "imp_inf_engineer",1,4},
sniper = { "imp_inf_sniper",1,4},
officer = { "imp_inf_officer",1,4},
special = { "imp_inf_dark_trooper",1,4},
},
}
}

-- Level Stats
ClearWalkers()
AddWalkerType(0, 0) -- special -> droidekas
AddWalkerType(1, 0) -- 1x2 (1 pair of legs)
AddWalkerType(2, 0) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 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:FMM\\FMM.lvl", "FMM_conquest")
SetDenseEnvironment("false")


-- Sound Stats

voiceSlow = OpenAudioStream("sound\\global.lvl", "all_unit_vo_slow")
AudioStreamAppendSegments("sound\\global.lvl", "imp_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "des_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "global_vo_slow", voiceSlow)

voiceQuick = OpenAudioStream("sound\\global.lvl", "all_unit_vo_quick")
AudioStreamAppendSegments("sound\\global.lvl", "imp_unit_vo_quick", voiceQuick)

OpenAudioStream("sound\\global.lvl", "gcw_music")
OpenAudioStream("sound\\tat.lvl", "tat2")
OpenAudioStream("sound\\tat.lvl", "tat2")
-- OpenAudioStream("sound\\global.lvl", "global_vo_quick")
-- OpenAudioStream("sound\\global.lvl", "global_vo_slow")

SetBleedingVoiceOver(ALL, ALL, "all_off_com_report_us_overwhelmed", 1)
SetBleedingVoiceOver(ALL, IMP, "all_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(IMP, ALL, "imp_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(IMP, IMP, "imp_off_com_report_us_overwhelmed", 1)

SetLowReinforcementsVoiceOver(ALL, ALL, "all_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(ALL, IMP, "all_off_victory_im", .1, 1)
SetLowReinforcementsVoiceOver(IMP, IMP, "imp_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(IMP, ALL, "imp_off_victory_im", .1, 1)

SetOutOfBoundsVoiceOver(2, "Allleaving")
SetOutOfBoundsVoiceOver(1, "Impleaving")

SetAmbientMusic(ALL, 1.0, "all_tat_amb_start", 0,1)
SetAmbientMusic(ALL, 0.8, "all_tat_amb_middle", 1,1)
SetAmbientMusic(ALL, 0.2, "all_tat_amb_end", 2,1)
SetAmbientMusic(IMP, 1.0, "imp_tat_amb_start", 0,1)
SetAmbientMusic(IMP, 0.8, "imp_tat_amb_middle", 1,1)
SetAmbientMusic(IMP, 0.2, "imp_tat_amb_end", 2,1)

SetVictoryMusic(ALL, "all_tat_amb_victory")
SetDefeatMusic (ALL, "all_tat_amb_defeat")
SetVictoryMusic(IMP, "imp_tat_amb_victory")
SetDefeatMusic (IMP, "imp_tat_amb_defeat")

SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
--SetSoundEffect("WeaponUnableSelect", "com_weap_inf_weaponchange_null")
--SetSoundEffect("WeaponModeUnableSelect", "com_weap_inf_modechange_null")
SetSoundEffect("SpawnDisplayUnitChange", "shell_select_unit")
SetSoundEffect("SpawnDisplayUnitAccept", "shell_menu_enter")
SetSoundEffect("SpawnDisplaySpawnPointChange", "shell_select_change")
SetSoundEffect("SpawnDisplaySpawnPointAccept", "shell_menu_enter")
SetSoundEffect("SpawnDisplayBack", "shell_menu_exit")

-- Camera Stats
--Tat2 Mos Eisley
AddCameraShot(0.974338, -0.222180, 0.035172, 0.008020, -82.664650, 23.668301, 43.955681);
AddCameraShot(0.390197, -0.089729, -0.893040, -0.205362, 23.563562, 12.914885, -101.465561);
AddCameraShot(0.169759, 0.002225, -0.985398, 0.012916, 126.972809, 4.039628, -22.020613);
AddCameraShot(0.677453, -0.041535, 0.733016, 0.044942, 97.517807, 4.039628, 36.853477);
AddCameraShot(0.866029, -0.156506, 0.467299, 0.084449, 7.685640, 7.130688, -10.895234);
end
[/code]
And my mungelog:
Hidden/Spoiler:
[code]C:\BF2_ModTools\data_FMM\_BUILD\..\..\ToolsFL\Bin\luac.exe: ..\..\common\scripts\FMMc_con.lua:123: unexpected symbol near `}'
ERROR[scriptmunge scripts\FMMc_con.lua]:Could not read input file.ERROR[scriptmunge scripts\FMMc_con.lua]:Could not read input file. [continuing]
C:\BF2_ModTools\data_FMM\_BUILD\..\..\ToolsFL\Bin\luac.exe: ..\..\common\scripts\FMMg_con.lua:122: unexpected symbol near `}'
ERROR[scriptmunge scripts\FMMg_con.lua]:Could not read input file.ERROR[scriptmunge scripts\FMMg_con.lua]:Could not read input file. [continuing]
C:\BF2_ModTools\data_FMM\_BUILD\..\..\ToolsFL\Bin\luac.exe: ..\..\common\scripts\FMM\FMMg_con.lua:122: unexpected symbol near `}'
ERROR[scriptmunge scripts\FMM\FMMg_con.lua]:Could not read input file.ERROR[scriptmunge scripts\FMM\FMMg_con.lua]:Could not read input file. [continuing]
6 Errors 0 Warnings

ERROR[levelpack mission\FMMg_con.req]:Expecting bracket, but none was found.
File : munged\pc\fmmg_con.script.req(1)...

ucft <--
ERROR[levelpack mission\FMMg_con.req]:Expecting bracket, but none was found.
File : munged\pc\fmmg_con.script.req(1)...

ucft <--
[continuing]
2 Errors 0 Warnings[/code]

Re: .lua error

Posted: Mon Aug 03, 2009 8:12 am
by Par3210
yep lol you have too many of these "}"s in your FMMg_con.lua
See this part:
Hidden/Spoiler:
SetupTeams{
all = {
team = ALL,
units = 25,
reinforcements = 250,
soldier = { "all_inf_rifleman",9, 25},
assault = { "all_inf_rocketeer",1,4},
engineer = { "all_inf_engineer",1,4},
sniper = { "all_inf_sniper",1,4},
officer = { "all_inf_officer",1,4},
special = { "all_inf_wookiee",1,4},

},
imp = {
team = IMP,
units = 20,
reinforcements = 150,
soldier = { "imp_inf_rifleman",9, 25},
assault = { "imp_inf_rocketeer",1,4},
engineer = { "imp_inf_engineer",1,4},
sniper = { "imp_inf_sniper",1,4},
officer = { "imp_inf_officer",1,4},
special = { "imp_inf_dark_trooper",1,4},
},
}
}
get rid of the last } that I posted in red
Hope this helps :)

Re: .lua error

Posted: Mon Aug 03, 2009 8:18 am
by mswf
Ok, thanks for that. That solves the small problem. My main problem is now that if I play my map, I get a "fatal error" in my FFMc_con.lvl. I have a backup of my entire data_FMM folder, so that I could fall back on that, though I'm pretty sure there is some way to keep my current object/barrier/planning/hint nodes etc. etc., and replace the corresponding files in my backup. I don't want to trial-and-error with those files, so I'd like to ask if there's anyone who knows exactly (and who is sure about it) which world files I need to keep from my faulty Data folder.

Re: .lua error

Posted: Mon Aug 03, 2009 8:23 am
by Eggman
There's really no reason to make an entirely new map just because of one error that you can't figure out, yet it seems like half the topics in this forum lately have a line somewhere saying "...so then I just made a new map." If you don't track down the source of a problem and try to fix it you won't learn how to deal with it in the future and you're bound to make the same mistake again.

Re: .lua error

Posted: Mon Aug 03, 2009 8:31 am
by mswf
Nononono, there is a misunderstaning here; I still have all my files and maps. What I've done:
1. create my map (FMM)
2. delete several lines, which resulted in repeatedly given warnings
3. work on my map (all the script editing was done in this step)
5. Made a backup
6. Work a lot more on my map (only work on objects, barriers, planning, hint nodes etc.(no command post work))
7. backed up my conquest .lua files
8. Created a new map (just a random 3-letter name) and took the conquest.lua and conquest.lua.bak from there, renamed them and overwrite them with my old .lua files in my FMM folder.
9. got several errors, replaced the .lua's with the backup made in 7.
10. Ask the question: "Can I fix this in a good way (because I replaced the .bak files as well), with a clean or something likewise. If not, can I use my backup (5.) to continue with the planning/barriers I made in step 6."

I hope this clears things up.

Re: .lua error

Posted: Mon Aug 03, 2009 8:33 am
by Par3210
no offence but you were stupid to replace the LUA FILES! Especially the backups!!! You can't get the conquest mode back now. :o :(

Re: .lua error

Posted: Mon Aug 03, 2009 8:34 am
by mswf
I do have all the backups!
I've deleted absolutely nothing, but I've probably created an error in other files while munging the files from the random 3-letter name.

Re: .lua error

Posted: Mon Aug 03, 2009 8:39 am
by Eggman
mswf wrote:Nononono, there is a misunderstaning here; I still have all my files and maps. What I've done:
1. create my map (FMM)
2. delete several lines, which resulted in repeatedly given warnings
3. work on my map (all the script editing was done in this step)
5. Made a backup
6. Work a lot more on my map (only work on objects, barriers, planning, hint nodes etc.(no command post work))
7. backed up my conquest .lua files
8. Created a new map (just a random 3-letter name) and took the conquest.lua and conquest.lua.bak from there, renamed them and overwrite them with my old .lua files in my FMM folder.
9. got several errors, replaced the .lua's with the backup made in 7.
10. Ask the question: "Can I fix this in a good way (because I replaced the .bak files as well), with a clean or something likewise. If not, can I use my backup (5.) to continue with the planning/barriers I made in step 6."

I hope this clears things up.
Ah, gotcha. :thumbs:

Re: .lua error

Posted: Mon Aug 03, 2009 8:56 am
by mswf
Eggman wrote:Ah, gotcha. :thumbs:
Oh, good. I almost thought there was going to be another misunderstanding on epic scale here.. :P

Do you've got any idea's on how I could solve the problem? I'm willing to wait for the (maybe) long way of fixing (in the name of science), instead of relying on the backup.
But if no difficult sollution pops up, could anyone tell me which files I need to extract from my broken Data folder, so that I won't have to redo a big part of my map.
The differences in my old (backup) and new (broken) map are:
- Slightly different lighting (changed main colour and colour of the ground (which you get from "burning the shadows on terrain"))
- More planning
- More barriers
- More placed objects
- More Hint nodes
- Tweaked terrain
So all in all, only zeroeditor changes. (except for the obviously broken files.)
I'll probably make another backup (now of the broken version), so that I can try to locate the error. (by cleaning stuff up etc.)
(Note: The objects in the new and old world1 folder are the same, so that shouldn't prove to be a problem.)

Re: .lua error

Posted: Mon Aug 03, 2009 9:13 am
by [RDH]Zerted
mswf wrote:I get a "fatal error" in my FFMc_con.lvl...
When in the loading process do you get the fatal error? Maybe you have too many missions? SWBF2 only supports 500 missions. Do you have any large mods or lots of maps installed? Post your map's debug log.

It is good that you are making lots of backups, but many backups can be hard to manage. If you are willing to learn how to use it, a version control system will help you out. Look into Bazaar or Subversion if you are interested.

Re: .lua error

Posted: Mon Aug 03, 2009 9:19 am
by mswf
[RDH]Zerted wrote:
mswf wrote:I get a "fatal error" in my FFMc_con.lvl...
When in the loading process do you get the fatal error? Maybe you have too many missions? SWBF2 only supports 500 missions. Do you have any large mods or lots of maps installed? Post your map's debug log.
Yes, I checked. My only mod I've now got left is the ConvoPack with the 2.2 patch. I've got no further maps left. (and it worked before I replaced the .lua files)
I'm getting my Error log... (I've got the dvd version, so I'm now searching for the DVD Bf2modtools.exe, with slow internet connection...)

EDIT:
I hope nobody feels overlooked, but I've managed to regain my map, using my backup. I still have all the files backed away, if anyone wants to look at them for future reference.
Thanks Zerted, I'll definetely look into that version checker.
The sollution I used:
1. Back-up the broken Data folder, and delete it from the modtools folder.
2. Copied the working back-up over to the modtools folder.
3. Copied my broken world folder over to my world folder in the modtools folder. (Whilst not letting the copy-process overwrite any files, this step is just to make sure you don't actually miss any files you might've created in the time between the backup.
4. Copy over the following files from your broken world folder to your working modtools folder: (replacing the old ones)
***.BAR
***.BND
***.CUS
***
***.HNT
***.LDX
***.LGT
***.LLL
***.PLN
***.PTH
***.req
***.RGN
***.sky
***.TER
***.tga
***.wld
***_main_1
(I'm pretty sure not all of these files are per sé necessary, but I can at least garantee that this works)
-Open your ***.wld in Zeroeditor, and save it. (I'm also not sure if this is necessary)
- If you had any actual errors that broke your map in your .lua, make sure you fix those first!
- Munge your map

I'm not sure that all these steps were actually necessary, I only know that this works for sure. (I'm not too deep in mapping yet, since this is my first one)

Thanks for all the given advice, I hope this will be helpfull for anyone who gets this simillar error. (which I doubt, it was stupid to replace the .lua.bak files).

Does anyone have a better idea for a clear topic title, so that others may use this as future reference?

Re: .lua error

Posted: Mon Aug 03, 2009 9:43 am
by [RDH]Zerted

Re: .lua error

Posted: Mon Aug 03, 2009 9:46 am
by mswf
Yes, I found it. I'll be sure to keep that one around! :)