Step 1:
Open up ZeroEditor
Step 2:
Go to what ever layer is needed ((if you want the local side to be in the conquest mode, or XL, CTF, or all, open up the needed layer, if you want them to be in all the modes, just stay in the BASE layer))
For this tutorial, we will be using the Conquest layer. so open up the conquest layer
Step 3:
NOTE:
Steps for non capturable Command Posts will be in purple
Steps for capturable Command Posts will be in orange
go to objects, and place a new "Invisible" Command Post anywhere in the map,
you can find an invisible Command Post in /common/odfs "com_bldg_invisible_controlzone"
best place to put the Command Post is some where where you will be able to find it again later with ease,
Next, set the the set the name to anything that you want, for this we will name it Local_CP
now, set the spawn path to anything you want again, for this we will use Local_Spawn
now assign the command post a team, for this we will assign it to team 3. so assign it to team 3 by replacing what ever is in the team box with a 3.
now you will have to lower the CP. you'll have to sink it by 5 under that ever the height is its on.
so if the height of the terrain its on is 0, set the CPs height to -5
if the terrain is something like, 22, lower it down by five so its at 17, etc
NOTE: to find out the terrains height go into HEIGHT -> pick and then click on the terrain and it will tell you the height of the terrain
now you will need make a new path by going into Path -> new path, next you will need to change the path name to what ever you set the spawn paths name in the CP to, ours is Local_Spawn.
now that you've named it we will begin to place path nodes all over the place until we feel happy.
go to objects, and place a new Command Post anywhere in the map,
you can find an Command Post in /common/odfs "com_bldg_controlzone"
best place to put the Command Post is some where where you will be able to find it again later with ease,
Next, set the the set the name to anything that you want, for this we will name it Local_CP
now, set the spawn path to anything you want again, for this we will use Local_Spawn
Now we need to set the capture region, we will use Local_Capture
now assign the command post a team, for this we will assign it to team 3. so assign it to team 3 by replacing what ever is in the team box with a 3.
now you will need make a new path by going into Path -> new path, next you will need to change the path name to what ever you set the spawn paths name in the CP to, ours is Local_Spawn.
now that you've named it we will begin to place path nodes all over the place until we feel happy.
now you need to make a capture region for the CP. go into Regions -> new group, now select Cylinder, now place it right over our CP. now we have to select it by pressing select region and then by clicking on the region.
now enter what ever you set the capture region to be in the CP, we've set ours to Local_Capture, so type that in the Class Properties box, and it you want to, also in the Region ID box so you can find the region with ease.
Step 4
Now save your .wld file and quit.
now go to /common/scripts/MOD_ID/ since were making the locals spawn in the conquest mode, we will open up MOD_IDc_con.lua with a program like Notepad,
NOTE:I suggest going and Downloading Notepad++, it makes scripting and coding, writing, etc etc, much easier.
now that MOD_IDc_con.lua is open, scroll down to this
Code: Select all
ReadDataFile("sound\\\\yav.lvl;yav1cw")
scroll down to
Code: Select all
ReadDataFile("sound\\\\yav.lvl;yav1cw")
Code: Select all
ReadDataFile("SIDE\\\\des.lvl",
"tat_inf_jawa")
now scroll down to
Code: Select all
SetupTeams{
rep={
team = REP,
units = 29,
reinforcements = 150,
soldier = {"rep_inf_ep3_rifleman",10, 25},
assault = {"rep_inf_ep3_rocketeer",1, 4},
engineer = {"rep_inf_ep3_engineer",1, 4},
sniper = {"rep_inf_ep3_sniper_felucia",1, 4},
officer = {"rep_inf_ep3_officer",1, 4},
special = {"rep_inf_ep3_jettrooper",1, 4},
},
cis={
team = CIS,
units = 29,
reinforcements = 150,
soldier = {"cis_inf_rifleman",10, 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},
}
}
and add this below it
Code: Select all
SetTeamName (3, "jawas")
AddUnitClass (3, "tat_inf_jawa", 10,15)
SetUnitCount (3, 15)
AddAIGoal(3, "Deathmatch", 100)
now onto step 5:, keep the .lua open![/color]
now that MOD_IDc_con.lua is open, scroll down to this
Code: Select all
--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)
make it look like this
Code: Select all
--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"}
cp5 = CommandPost:New{name = "Local_CP"}
--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:AddCommandPost(cp5)
now scroll down to this
Code: Select all
ReadDataFile("sound\\\\yav.lvl;yav1cw")
now we need to decide on what we want out locals to be, I've decided that for this tutorial they will be Jawas.
scroll down to this
Code: Select all
ReadDataFile("sound\\\\yav.lvl;yav1cw")
and add this
Code: Select all
ReadDataFile("SIDE\\\\des.lvl",
"tat_inf_jawa")
now scroll down to
Code: Select all
SetupTeams{
rep={
team = REP,
units = 29,
reinforcements = 150,
soldier = {"rep_inf_ep3_rifleman",10, 25},
assault = {"rep_inf_ep3_rocketeer",1, 4},
engineer = {"rep_inf_ep3_engineer",1, 4},
sniper = {"rep_inf_ep3_sniper_felucia",1, 4},
officer = {"rep_inf_ep3_officer",1, 4},
special = {"rep_inf_ep3_jettrooper",1, 4},
},
cis={
team = CIS,
units = 29,
reinforcements = 150,
soldier = {"cis_inf_rifleman",10, 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},
}
}
and add this below it
Code: Select all
SetTeamName (3, "jawas")
AddUnitClass (3, "tat_inf_jawa", 10,15)
SetUnitCount (3, 15)
AddAIGoal(3, "Deathmatch", 100)
now onto step 5:, keep the .lua open![/color]
Step 5:
now we need to set up what sides the jawas are on.
scroll down to this, which you should have added in Step 4.
Code: Select all
SetTeamName (3, "jawas")
AddUnitClass (3, "tat_inf_jawa", 10,15)
SetUnitCount (3, 15)
AddAIGoal(3, "Deathmatch", 100)
Now read this so you can get some understanding on what you will want to add
Code: Select all
SetTeamAsFriend(ATT,3)
SetTeamAsFriend(3,ATT)
SetTeamAsFriend(DEF,3)
SetTeamAsFriend(3,DEF)
that does this
SetTeamAsFriend(ATT,3) = sets attacking team to friendly towards team 3 (jawas)
SetTeamAsFriend(3,ATT) = sets team 3 (jawas) to friendly towards attacking team
SetTeamAsFriend(DEF,3) = sets defending team to friendly towards team 3 (jawas)
SetTeamAsFriend(3,DEF) = sets team 3 (jawas) to fiendly towards defending team
if you wanted them as an enemy, it would be like this
Code: Select all
SetTeamAsEnemy(ATT,3)
SetTeamAsEnemy(3,ATT)
SetTeamAsEnemy(DEF,3)
SetTeamAsEnemy(3,DEF)
which does this
SetTeamAsEnemy(ATT,3) = sets Attacking team hostile towards team 3 (jawas)
SetTeamAsEnemy(3,ATT) = sets team 3 (jawas) hostile towards Attacking team
SetTeamAsEnemy(DEF,3) = sets Defending team hostile towards team 3 (jawas)
SetTeamAsEnemy(3,DEF) = sets team 3 (jawas) hostile towards Defending team
if you wanted team 3 (jawas) to be friendly with, say, the Defending team, but hostile towards the attacking team, you would do this
Code: Select all
SetTeamAsEnemy(ATT,3)
SetTeamAsEnemy(3,ATT)
SetTeamAsFriend(DEF,3)
SetTeamAsFriend(3,DEF)
SetTeamAsEnemy(ATT,3) = sets Attacking team hostile towards team 3 (jawas)
SetTeamAsEnemy(3,ATT) = sets team 3 (jawas) hostile towards Attacking team
SetTeamAsFriend(DEF,3) = sets Defending team friendly towards team 3 (jawas)
SetTeamAsFriend(3,DEF) = sets team 3 (jawas) friendly towards Defending team
now heres of something more complicated that you can figure out yourself, basically, theres the attacking team(ATT), defending team (DEF), team 3 (Jawas) and team 4 (Tuskans), just like my Tatooine Valley map, apart from i don't have the 5, 6 or 7th sides in this example ((5th was the astromech droids, 6th was the Jedi and the 7th was the Sith))
Code: Select all
SetTeamAsEnemy(4,ATT)
SetTeamAsEnemy(ATT,4)
SetTeamAsEnemy(4,DEF)
SetTeamAsEnemy(DEF,4)
SetTeamAsEnemy(4,3)
SetTeamAsEnemy(3,4)
SetTeamAsFriend(DEF,3)
SetTeamAsFriend(3,DEF)
SetTeamAsFriend(ATT,3)
SetTeamAsFriend(3,ATT)
for this, I've decided to make every one friends with team 3, the Jawas, so I've changed it to this
Code: Select all
SetTeamName (3, "jawas")
AddUnitClass (3, "tat_inf_jawa", 10,15)
SetUnitCount (3, 15)
AddAIGoal(3, "Deathmatch", 100)
SetTeamAsFriend(ATT,3)
SetTeamAsFriend(3,ATT)
SetTeamAsFriend(DEF,3)
SetTeamAsFriend(3,DEF)
Now your pretty much done! save your .lua and munge! if you have done this correctly, you should now have Jawas running around your map, but if you kill one of them, it will show up as
blahblahblah killed [NULL],
to fix this, go into your MOD_ID folder and run "editlocalize.bat"
once its started, right click on level and select Add Scope, name the Scope the three letter name of your map, mine is LTT (Local team Tutorial)
so now you will have something like this
level -> LTT,
now you need to right click on LTT and select Add Key, once you've done that rename it to the name that we set our local team in the .lua, remember, ours was Jawas, so set it to Jawas, it now should look something like this
level -> LTT -> Jawas
select Jawas and the boxes on the right side of the program will become ungrayed, under the level.MOD_ID.Jawas type the name of the creatures that you have in the map, ours are Jawas so i will type Jawa
now that that is down, click on the drop down menu below the box and select the next language, which should be French, type Jawa in the box again and then select a new language in the box, keep and doing this until you've done every single language,
NOTE: it is VERY important that when your typing the name, that you do it in every language, other wise for people with different version of the game ((example, Australians)) even though we speak English, it will still come up as [NULL] for us because there are two version of English in SWBF II, theres English, and UK English.
Also, if you've done a MASSIVE amount of custom sides, weapons, creatures, tips, etc. it can be VERY pain full to go back in and have to add all the names for other languages that you didn't do the first time.
now save your language files and quit.
open up Visual Munge and select localize, then munge.
In game when you kill the Jawas or what ever creatures you have it should come up as what the typed in the boxes in the editlocalize.bat program.
Have fun!
~Penguin
Glossary:
MOD_ID
The three letter name of your map, which would have been specified when creating the map with VisualMunge for the first time.
LTT
Local Team Tutorial, my MOD_ID name for the map for tutorial purposes, replace all instances of LTT with your MOD_ID.