After having gotten the scripts for Marvel4's BF1 maps and editing them, I created a new world with VisualMunge, then in the new world (for example, BCC, which I created for Cloud City), I placed the edited scripts in the world's common/script folder, then I edited the mission.req file, I placed the code
- example: "lvl"
"bccc_con"
"bccc_ctf"
"bccg_con"
"bccg_ctf"
"bccg_eli"
Then I munged the new world, then placed the new mission.lvl file in the downloaded BCC level in gameddata/addon folder of SWBF2. After doing this for all downloaded BF1 levels, I find that, while the conquest mode works fine, when trying to play another mode, like ctf, hunt or xl, the game immediately crashes to the desktop right after launching the map. This also happens when I launch Rhen Var Citadel in conquest mode for Clone Wars, though Rhen Var Citadel in conquest mode for Galactic Civil War works fine.
You may have made a mistake while editing, could you show me exactly what you edited?
For Rhen Var Citadel - Clone Wars - Conquest:
I changed
ReadDataFile("dc:sound\\RVC.lvl;RVCcw")
ReadDataFile("sound\\geo.lvl;geo1cw")
ReadDataFile("sound\\hot.lvl;hot1gcw")
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")
ReadDataFile("SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_droideka",
"cis_hero_darthmaul")
ReadDataFile("dc:SIDE\\kit.lvl",
"rep_hero_fisto")
ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_laser")
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 = 20,
reinforcements = 150,
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},
}
}
SetHeroClass(CIS, "cis_hero_darthmaul")
SetHeroClass(REP, "rep_hero_fisto")
-- 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)
to
ReadDataFile("dc:sound\\RVC.lvl;RVCcw")
ReadDataFile("sound\\geo.lvl;geo1cw")
ReadDataFile("sound\\hot.lvl;hot1gcw")
ReadDataFile("SIDE\\rep.lvl",
"rep_inf_ep2_rifleman",
"rep_inf_ep2_rocketeer",
"rep_inf_ep2_engineer",
"rep_inf_ep2_sniper",
"rep_inf_ep3_officer",
"rep_inf_ep2_jettrooper")
"rep_hero_kiadimundi")
ReadDataFile("SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_droideka",
"cis_hero_jangofett")
SetupTeams{
rep = {
team = REP,
units = 20,
reinforcements = 150,
soldier = { "rep_inf_ep2_rifleman",9, 25},
assault = { "rep_inf_ep2_sniper",1, 4},
engineer = { "rep_inf_ep2_sniper",1, 4},
sniper = { "rep_inf_ep2_sniper",1, 4},
officer = {"rep_inf_ep2_sniper",1, 4},
special = { "rep_inf_ep2_engineer",1, 4},
},
cis = {
team = CIS,
units = 20,
reinforcements = 150,
soldier = { "cis_inf_rifleman",9, 25},
assault = { "cis_inf_engineer",1, 4},
engineer = { "cis_inf_engineer",1, 4},
sniper = { "cis_inf_engineer",1, 4},
officer = {"cis_inf_engineer",1, 4},
special = { "cis_inf_droideka",1, 4},
}
}
SetHeroClass(CIS, "cis_hero_jangofett")
SetHeroClass(REP, "rep_hero_kiadimundi")
-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 4) -- special -> droidekas
local weaponCnt = 1024
SetMemoryPoolSize("Aimer", 75)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 32)
SetMemoryPoolSize("EntityFlyer", 0)
SetMemoryPoolSize("EntityHover", 0)
SetMemoryPoolSize("EntityLight", 200)
SetMemoryPoolSize("EntitySoundStream", 4)
SetMemoryPoolSize("EntitySoundStatic", 32)
SetMemoryPoolSize("MountedTurret", 0)
SetMemoryPoolSize("Navigator", 128)
SetMemoryPoolSize("Obstacle", 1024)
SetMemoryPoolSize("PathNode", 1024)
SetMemoryPoolSize("SoundSpaceRegion", 64)
SetMemoryPoolSize("TreeGridStack", 1024)
SetMemoryPoolSize("UnitAgent", 128)
SetMemoryPoolSize("UnitController", 128)
SetMemoryPoolSize("Weapon", weaponCnt)
However, I don't think that that's the problem, because crashing to desktop still happens when I try to play a match with a LUA script that I did not edit (example: playing ctf even though I left the ctf LUA file alone). In fact, I even replaced the edited RVCc_con file with the original RVCc_con file to test it out and it still crashes.
Regarding Rhen Var, I took a quick look and saw you're missing a comma:
ReadDataFile (REP)
"rep_inf_ep2_jettrooper") -- YOU'RE MISSING A COMMA.
"rep_hero_kiadimundi")
Also, you put a lot of sharpshooters in the Republic, and the special unit is an engineer. Then, the CIS has almost all engineers. I don't know if that's how you want it or you were wrong.
And regarding the fact that it doesn't work with some scripts, even without editing, it makes me think you haven't configured the .REQ files correctly. I don't know.
Well, fixing the comma issue did it. It works fine now. Still not sure how to fix the issues with the other modes, though. Anyone know how the req file should be configured?
I actually think I fixed it. I went into a created world folder (ex: data_BCC), then went into the common folder, then mission folder and saw there were only a BCCc_con.req and BCCg_con.req files. I simply created additional req files (ex: BCCc_ctf, BCCg_ctf and BCCg_eli) by copying and renaming them, as well as changing what is written in the new file to match the new title. I also went to the mission.req file in the common folder and added:
"ifs_awardstats"
"ifs_careerstats"
"ifs_opt_controller_common"
"ifs_opt_general"
"ifs_opt_mp"
"ifs_opt_mp_listtags"
"ifs_personalstats"
"ifs_teamstats"
"pctabs_options"
"test1a"
"test1c"
"test1g"
"test1r"
Honestly, I don't think that last part actually did anything, but I did so just to be safe. I then munged a new mission.lvl, and now all modes work fine.
I'm glad you got it sorted. A tip: take it easy. Modifying BF1 and BF2 is more of a trial-and-error process.
And one more thing, have you tried asking ChatGPT? Sometimes it helps. I've created several mods for some games, and it's true that it doesn't always work, but it shows you the way forward.
You can also supplement that with internet searches, and you might find some pretty good stuff. You can also ask forums, but if you want an immediate answer, ChatGPT is your friend.