Theoretically, i could rename the sides files and i could pit the republic against the alliance and such, but when i try to do this it crashes when a battle starts. Why?
because the MISSION.lvl is trying to read another type of unit that isn't inside the lvl that has been renamed.
I tried that onces, but then I learned how it worked.
ei. Basicly the engine looks for cis_inf_battledroid in the imp.lvl that has been renamed to cis.lvl
but imp.lvl does not contain cis_inf_battledroid, therefore, game crashes with that error of not loading side.
If you want to have cross era battles, you can use MISSION.LVL modding.
just re-reference all of the sides and era in the mission *.lua lines of the planet you want the teams fighting on.
Quote from: Ltin on January 12, 2013, 11:43:54 AM
and how exactly do i do that?
Lol. First you will need the Mission.lvl builder (in the v4.0b LVL builders tool box, which is a big download)
Lets pretend that the world you want to "mess up" the sides on is Geonosis, or "GEO" is modding terms.
You would go into, /Mission.lvl Builder/scripts/GEO/
Open GEO1r.LUA with Notepad (or notepad+) and you should see this:
---------------------------------------------------------------------------
-- 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()
-- REP Attacking (attacker is always #1)
local REP = 1
local CIS = 2
-- These variables do not change
local ATT = 1
local DEF = 2
AddMissionObjective(CIS, "orange", "level.geo1.objectives.1r");
AddMissionObjective(CIS, "red", "level.geo1.objectives.2r");
AddMissionObjective(CIS, "red", "level.geo1.objectives.3r");
AddMissionObjective(REP, "orange", "level.geo1.objectives.1r");
AddMissionObjective(REP, "red", "level.geo1.objectives.4r");
AddMissionObjective(REP, "red", "level.geo1.objectives.5r");
SetTeamAggressiveness(CIS, 1.0)
SetTeamAggressiveness(REP, 1.0)
ReadDataFile("sound\\geo.lvl;geo1cw");
ReadDataFile("SIDE\\rep.lvl",
"rep_bldg_forwardcenter",
"rep_fly_assault_dome",
"rep_fly_gunship",
"rep_fly_gunship_dome",
"rep_fly_jedifighter_dome",
"rep_inf_basic",
"rep_inf_jet_trooper",
"rep_inf_macewindu",
"rep_walk_atte")
ReadDataFile("SIDE\\cis.lvl",
"cis_fly_droidfighter_dome",
"cis_fly_fedcoreship_dome",
"cis_fly_geofighter",
"cis_fly_techounion_dome",
"cis_inf_basic",
"cis_inf_countdooku",
"cis_inf_droideka",
"cis_tread_hailfire",
"cis_walk_spider")
ReadDataFile("SIDE\\geo.lvl",
"gen_inf_geonosian")
-- Level Stats
ClearWalkers()
SetMemoryPoolSize("EntityWalker", -2)
AddWalkerType(0, 8) -- 8 droidekas (special case: 0 leg pairs)
AddWalkerType(2, 2) -- 2 spider walkers with 2 leg pairs each
AddWalkerType(3, 2) -- 2 attes with 3 leg pairs each
SetMemoryPoolSize("CommandWalker", 2)
SetMemoryPoolSize("EntityFlyer", 5)
SetMemoryPoolSize("EntityHover", 3)
-- SetMemoryPoolSize("EntityCarrier", 2)
-- SetMemoryPoolSize("EntityTauntaun", 0)
-- SetMemoryPoolSize("CommandBuildingArmed", 2)
SetMemoryPoolSize("PowerupItem", 25)
SetMemoryPoolSize("MountedTurret", 50)
SetMemoryPoolSize("Aimer", 200)
SetSpawnDelay(10.0, 0.25)
-- Republic Stats
SetTeamName(REP, "Republic")
SetTeamIcon(REP, "rep_icon")
AddUnitClass(REP, "rep_inf_clone_trooper",14)
AddUnitClass(REP, "rep_inf_arc_trooper",4)
AddUnitClass(REP, "rep_inf_clone_pilot",5)
AddUnitClass(REP, "rep_inf_clone_sharpshooter",5)
AddUnitClass(REP, "rep_inf_jet_trooper",4)
SetHeroClass(REP, "rep_inf_macewindu")
-- SetCarrierClass(REP, "rep_fly_vtrans")
-- CIS Stats
SetTeamName(CIS, "CIS")
SetTeamIcon(CIS, "cis_icon")
AddUnitClass(CIS, "cis_inf_battledroid",11)
AddUnitClass(CIS, "cis_inf_assault",3)
AddUnitClass(CIS, "cis_inf_pilotdroid",4)
AddUnitClass(CIS, "cis_inf_assassindroid",4)
AddUnitClass(CIS, "cis_inf_droideka",3)
SetHeroClass(CIS, "cis_inf_countdooku")
-- Attacker Stats
SetUnitCount(ATT, 32)
SetReinforcementCount(ATT, 250)
AddBleedThreshold(ATT, 31, 0.0)
AddBleedThreshold(ATT, 21, 0.75)
AddBleedThreshold(ATT, 11, 2.25)
AddBleedThreshold(ATT, 1, 3.0)
SetTeamAsEnemy(ATT,3)
-- Defender Stats
SetUnitCount(DEF, 25)
SetReinforcementCount(DEF, 250)
AddBleedThreshold(DEF, 31, 0.0)
AddBleedThreshold(DEF, 21, 0.75)
AddBleedThreshold(DEF, 11, 2.25)
AddBleedThreshold(DEF, 1, 3.0)
SetTeamAsFriend(DEF,3)
-- Local Stats
SetTeamName(3, "locals")
AddUnitClass(3, "geo_inf_geonosian", 7)
SetUnitCount(3, 7)
SetTeamAsFriend(3, DEF)
--SetTeamName(4, "locals")
--AddUnitClass(4, "rep_inf_jedimale",1)
--AddUnitClass(4, "rep_inf_jedimaleb",1)
--AddUnitClass(4, "rep_inf_jedimaley",1)
--SetUnitCount(4, 3)
--SetTeamAsFriend(4, ATT)
ReadDataFile("GEO\\geo1.lvl")
YADA YADA YADA
Now leave that up in notepad, go to your scripts folder again, and go inside BES/ folder
Open this file in Notepad like you did GEO1r : Bes1a.LUA
Find these lines:
ReadDataFile("SIDE\\all.lvl",
"all_fly_xwing",
"all_fly_ywing",
"all_inf_basicurban",
"all_inf_lukeskywalker",
"all_inf_smuggler");
Copy that, go into the GEO1r.lua (in notepad) and find these lines:
ReadDataFile("SIDE\\rep.lvl",
"rep_bldg_forwardcenter",
"rep_fly_assault_dome",
"rep_fly_gunship",
"rep_fly_gunship_dome",
"rep_fly_jedifighter_dome",
"rep_inf_basic",
"rep_inf_jet_trooper",
"rep_inf_macewindu",
"rep_walk_atte")
Now select them all ^^, and paste into the selection.
Now you have just edited the LUA to open the ALLIANCE sides instead of Republic.
(That will also destroy gunships from the map when this is done, because map doesn't read gunship in ALL.lvl)
Now, find ANYWHERE in the lua, where it says REP, and replace it with ALL .
You will find this line in the LUA:
SetOutOfBoundsVoiceOver(1, "repleaving");
Make it say
SetOutOfBoundsVoiceOver(1, "allleaving");
You will also see this line (and several like it)
SetAmbientMusic(REP, 1.0, "rep_GEO_amb_start", 0,1)
make it say
SetAmbientMusic(ALL, 1.0, "rep_GEO_amb_start", 0,1) and you should be done.
Now munge.bat is located in the builder, double click it, and if it does nothing,
You can try this step:
Edit the munge.bat in notepad, at the beginning, hit ENTER, then type @set_path=Windows/System32
and that should fix issues, now double click munge.bat again, and wait for it to be done, then go in the
_LVL_PC/ folder
and your finished MISSION.LVL is in there.
Put it in
C:/Programfiles/LucasArts/Battlefront/GameData/Data/_LVL_PC/ folder (or if you have OSx86 Windows 7 vista)
C:/Programfiles (x86)/LucasArts/Battlefront/GameData/Data/_LVL_PC/
Now run battlefront and that should work.
Quote from: Ltin on January 12, 2013, 04:07:03 PM
Is the level builders tool box in bf builder?
The LVL Builders Toolbox was compiled by Phobos, and is not the same thing as the actual BFBuilder. I believe you can do the same thing RC was talking about in BFBuilder as well as in the toolbox. I use the toolbox because I find it easier, but I would try to use BFBuilder first.
-edit: I can make the mission.lvl's for you, if you want. Which world(s) would you like to be cross eras?
Also, there has already been a mod for this on Bespin: Cloud City. Most refer to it as the "fairsides" mod, but it is the same thing you are talking about.Nevermind. Fairsides is Clones vs Clones, Empire vs Empire, CIS vs CIS, and Rebels vs Rebels; not cross eras.
Quote from: Agent Z on January 12, 2013, 04:17:27 PM
..Nevermind. Fairsides is Clones vs Clones, Empire vs Empire, CIS vs CIS, and Rebels vs Rebels; not cross eras.
Yes, that's why my tutorial is so detailed.
Other wise it is fairly more simple and easy to make "fairsides" mode.
I can construct the mission.lvl you want, but I will have to do it on tuesday or wensday, because my scheduel is so backed up..
Neither of you need to do that, iv got the stuff i need, its just not on my computer yet. I rarely ever visit this site on desktop.