How to make default B1 Battledroids (Tutorial)

In this forum you will find and post information regarding the modding of Star Wars Battlefront 2. DO NOT POST MOD IDEAS/REQUESTS.

Moderator: Moderators

Private Third Class
User avatar
Posts: 50
Joined: Thu Apr 05, 2018 11:48 am
Projects :: Kashyyyk Droid Invasion
Games I'm Playing :: SWBF2
xbox live or psn: DaviidHL_

How to make default B1 Battledroids (Tutorial)

Postby DaviidHL » Sun Jul 01, 2018 2:59 pm

In this tutorial you learn to make default B1 Battledroids, including his skin and his E-5 blaster rifle.

Let's go!


Step 1:

You have to go to assets -> sides and copy Common and CIS folder.

\BF2_ModTools\assets\sides

After this, go to the folder sides in your data_$#& folder and paste it ($#& means three letters of your mod)

\BF2_ModTools\data_$#&\Sides


Step 2:

Next, go to the CIS folder, search and open "cis_inf_marine.odf" and "cis_inf_default_marine.odf".

\BF2_ModTools\data_$#&\Sides\CIS\odf

cis_inf_marine.odf It's something like that:
Code: Select all
[GameObjectClass]
ClassParent         = "cis_inf_default_marine"


[Properties]
GeometryName            = "cis_inf_bdroid"
GeometryLowRes          = "cis_inf_bdroid_low1"
SkeletonName            = "bdroid"
SkeletonLowRes          = "bdroidlz"

FirstPerson             = "CIS\cisbdrd;cis_1st_bdroid"

OverrideTexture         = "cis_inf_battledroid_green"



In "cis_inf_marine.odf", you must to change this line

OverrideTexture = "cis_inf_battledroid_green"
to
OverrideTexture = "cis_inf_battledroid"


And so it is! Now, we have to put this droid in the map and edit his blasters.

Now you can save and close this .odf

Open the other odf, "cis_inf_default_marine.odf".

It's something like that:
Code: Select all
[GameObjectClass]
ClassParent     = "cis_inf_default"

[Properties]
UnitType        = "trooper"

WEAPONSECTION = 1
WeaponName     = "cis_weap_inf_rifle"
WeaponAmmo     = 4

WEAPONSECTION = 2
WeaponName     = "cis_weap_inf_rocket_launcher"
WeaponAmmo     = 4

WEAPONSECTION = 3
WeaponName     = "cis_weap_inf_thermaldetonator"
WeaponAmmo     = 2
WeaponChannel  = 1

WEAPONSECTION = 4
WeaponName     = "cis_weap_award_rifle"
WeaponAmmo     = 4

VOUnitType      = 082
(Ignore VOSound)



This is an E-5 Blaster rifle, default blaster in B1 droids.
Code: Select all
WEAPONSECTION = 1
WeaponName     = "cis_weap_inf_rifle"
WeaponAmmo     = 4


This is a Rocket Launcher, I recommend delete all this part.
Code: Select all
WEAPONSECTION = 2
WeaponName     = "cis_weap_inf_rocket_launcher"
WeaponAmmo     = 4


This are thermal detonators.
Code: Select all
WEAPONSECTION = 3
WeaponName     = "cis_weap_inf_thermaldetonator"
WeaponAmmo     = 2
WeaponChannel  = 1


And finally, this is the award rifle.
Code: Select all
WEAPONSECTION = 4
WeaponName     = "cis_weap_award_rifle"
WeaponAmmo     = 4


If you want delete rocket launcher, delete it.
Now, you have to make agreement to numbers of WEAPONSECTION, like this:

Code: Select all
[GameObjectClass]
ClassParent     = "cis_inf_default"

[Properties]
UnitType        = "trooper"

WEAPONSECTION = 1
WeaponName     = "cis_weap_inf_rifle"
WeaponAmmo     = 4

WEAPONSECTION = 2
WeaponName     = "cis_weap_inf_thermaldetonator"
WeaponAmmo     = 2
WeaponChannel  = 1

WEAPONSECTION = 3
WeaponName     = "cis_weap_award_rifle"
WeaponAmmo     = 4

VOUnitType      = 082
(Ignore VOSound)


(If you want, copy that in your .odf. But remember delete this "(Ignore VOSound)")

Now, we make it! Just remain put this droid in the .lua.

Step 3:

Open your c_con.lua in...

\BF2_ModTools\data_$#&\Common\scripts\$#&

and go to this part:

Code: Select all
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_hero_anakin",
                             "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_hero_darthmaul",
                             "cis_hover_aat")


Okay, in ReadDataFile("SIDE\\cis.lvl", you have to write dc: before SIDE, like this:

Code: Select all
ReadDataFile("dc:SIDE\\cis.lvl",
                             "cis_inf_rifleman",
                             "cis_inf_rocketeer",
                             "cis_inf_engineer",
                             "cis_inf_sniper",
                             "cis_inf_officer",
                             "cis_inf_droideka",
                             "cis_hero_darthmaul",
                             "cis_hover_aat")


Now, put a comma after "cis_hover_aat" and create a line below with the bracket.
You must to put "cis_inf_marine" below "cis_hover_aat", like this:




Code: Select all
ReadDataFile("dc:SIDE\\cis.lvl",
                             "cis_inf_rifleman",
                             "cis_inf_rocketeer",
                             "cis_inf_engineer",
                             "cis_inf_sniper",
                             "cis_inf_officer",
                             "cis_inf_droideka",
                             "cis_hero_darthmaul",
                             "cis_hover_aat",
                             "cis_inf_marine")


After this, scroll down and find
Code: Select all
   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},
      }
   }


*IMPORTANT* If you want the both class, scroll down, you will se an advertisement

You have to change "cis_inf_rifleman" (Super Battle droid) to "cis_inf_marine" (B1), like this:
Code: Select all
cis = {
         team = CIS,
         units = 20,
         reinforcements = 150,
         soldier  = { "cis_inf_marine",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},
      }
   }


Up the SetHeroClass, you have to copy this:
Code: Select all
AddUnitClass(CIS, "cis_inf_marine",60,60)


It would see like this:

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_hero_anakin",
"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_hero_darthmaul",
"cis_hover_aat",
"cis_inf_marine")


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 = 20,
reinforcements = 150,
soldier = { "cis_inf_marine",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},
}
}

AddUnitClass(CIS, "cis_inf_marine",60,60)
SetHeroClass(CIS, "cis_hero_darthmaul")
SetHeroClass(REP, "rep_hero_anakin")


And you already finished, munge the common part and CIS side.

If you wanna have both classes, look here!

You have to change rifleman to marine, but no delete it.

Code: Select all
      cis = {
         team = CIS,
         units = 20,
         reinforcements = 150,
         soldier  = { "cis_inf_marine",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},
      }


Now, add an extra class:

Code: Select all
      cis = {
         team = CIS,
         units = 20,
         reinforcements = 150,
         soldier  = { "cis_inf_marine",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},
         extra1  = { "cis_inf_rifleman",1, 4},
      }
   }
     
    SetHeroClass(CIS, "cis_hero_darthmaul")
    SetHeroClass(REP, "rep_hero_anakin")


Up the SetHeroClass, you have to copy this:
Code: Select all
AddUnitClass(CIS, "cis_inf_marine",60,60)
AddUnitClass(CIS, "cis_inf_rifleman",60,60)

like this:

Code: Select all
      cis = {
         team = CIS,
         units = 20,
         reinforcements = 150,
         soldier  = { "cis_inf_marine",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},
         extra1  = { "cis_inf_rifleman",1, 4},
      }
   }
   
    AddUnitClass(CIS, "cis_inf_marine",60,60)
    AddUnitClass(CIS, "cis_inf_rifleman",60,60)
    SetHeroClass(CIS, "cis_hero_darthmaul")
    SetHeroClass(REP, "rep_hero_anakin")


And I finish this tutorial!
I hope you like it and understand it, because my english isn't good xD
If you got a question no doubt to answer this post!

Return to SWBF2 Modding

Who is online

Users browsing this forum: No registered users and 2 guests