Custom Side: How To (FAQ)

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

SilvaDalek
Sith
Sith
Posts: 1329
Joined: Sun Dec 02, 2007 12:52 pm
Games I'm Playing :: Destiny and FIFA
xbox live or psn: TH3 R0LL3R

Re: Custom Side: How To

Post by SilvaDalek »

Remove the classes with no unit.
woner11
Sith
Sith
Posts: 1361
Joined: Tue Sep 18, 2007 10:17 pm
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: The lost world of pickels
Contact:

Re: Custom Side: How To

Post by woner11 »

I do the same thing SilvaDalek, it is a good thing to do, but it shouldn't crash your map.
User avatar
Maveritchell
Jedi Admin
Jedi Admin
Posts: 7366
Joined: Mon Aug 21, 2006 11:03 pm

Re: Custom Side: How To

Post by Maveritchell »

Create a new topic for it, but that's a .lua error - you copied or modified something in your .lua incorrectly.
theultimat
Lieutenant General
Lieutenant General
Posts: 679
Joined: Sun Apr 13, 2008 1:39 pm
Location: UK

Re: Custom Side: How To (FAQ)

Post by theultimat »

When ever I run bf2_modtools.exe it says

"Please Insert CD1" when the CD is inserted.

:runaway: What should I do??? :faint:
woner11
Sith
Sith
Posts: 1361
Joined: Tue Sep 18, 2007 10:17 pm
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: The lost world of pickels
Contact:

Re: Custom Side: How To (FAQ)

Post by woner11 »

That happens to me too and as far as I know there is no fix for being able to click the icon and getting it to start. Instead what you must do to run it is eject and insert the cd an click start game within the first 30 secinds fo the main menu coming up.
Caleb1117
2008 Most Original Avatar
Posts: 3096
Joined: Sun Aug 20, 2006 5:55 pm
Projects :: No Mod project currently.
xbox live or psn: No gamertag set
Location: X-Fire: caleb1117 ಠ_ಠ

Re: Custom Side: How To (FAQ)

Post by Caleb1117 »

theultimat wrote:When ever I run bf2_modtools.exe it says

"Please Insert CD1" when the CD is inserted.

:runaway: What should I do??? :faint:

Means you have the DVD version, there's a fix topic about, but I can't seem to find it ATM.
User avatar
Sky_216
Droid Pilot Assassin
Droid Pilot Assassin
Posts: 2086
Joined: Mon Feb 13, 2006 3:28 am
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set

Re: Custom Side: How To (FAQ)

Post by Sky_216 »

Wow Caleb, this is so much better than the one you get with the documentation. Clouldn't side mod for ages because I didn't know about the dc: thing.

And someone may have already sad it but the biggest reason I got for crashes when side modding was typing in names of ordnances wrong.... and once typing in 'ordance' instead of 'ordnance'....
User avatar
Super_Clone
High General
High General
Posts: 803
Joined: Sat Jul 12, 2008 7:58 am
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: Florida

Re: Custom Side: How To

Post by Super_Clone »

Hidden/Spoiler:
[quote="Caleb1117"]
How to create a working side in SWBF2



Ok, so you want to make a side eh? Are there no poor houses?* Guess not, so bear with me, this could be painstaking, but I promise you, it gets easier. Well, alittle anyway.

*joke property of The_Emperor

Ok for the purpose of this tutorial, I will assume you have a functioning map in SWBF2 already. If not, then get cracking.
Now some of you may want to just edit a shipped side, but in this tut I’ll be teaching how to make a completely new one. It works pretty much the same way, except with a shipped side, your doing a lot more little patch work. Making small additions to get stuff working, but if you know the whole process, then you’ll know all the little things that are needed.
And… uhm Its just the way I’m doing so thar.

First decide what you want your side to be called, traditionally, they are something with only 3 characters, like ALL, IMP, or CIS, but this doesn’t have to be, you can name your side anything, I know of no limits.
So lets say, your making this for a super duper stormie trooper, you could name you side SDST... I suddenly find that anacronim annoying, so I won’t use it, the example side name will be: PMS >.> What?

Ok, so make a folder in Data_ABC/Sides, and name it PMS (IE whatever your side name is)
And then inside it, make a: effects, odf, msh, req, and MUNGED folders
(note that the MUNGED folder doesn’t need to be in caps, it just typically is.)
So it now looks like this:
Image


Now go get the assets for your unit.
(make sure you only copy the original assets, and not modify them.)
This means get the all the TGAs, MSHs, weapon ODFs, and the unit’s ODF, that you want/need.

All MSHs and TGAs go in your sides msh folder, ODFs in the odf folder, etc.

If the unit you are changing is a Jedi, look in his sides MUNGED folder, and find grab all the files with his name on it, there should be one .anims, one .zaabin, and one .zafbin, move these into your sides MUNGED folder

Lets take another trip to the assets.
Go to Assets/Sides, and copy the common side to your Data_ABC/Sides.
If the tur side is in your Data_ABC/Sides, you can delete that, unless you plan on having turrets in your map at some point.

Ok, now to make the .reqs which stands for Required Files, every unit, vehicle, or hero (and even a few other things) in a side needs one, and then, the side itself needs one.
They are text files, and really easy to set up.

Ok first your unit(s) req.
Go into your side’s req folder, and make a text file, you should name it whatever then name of your unit is. So if your unit is called pms_inf_supr_tropr You should call the req file pms_inf_supr_tropr.req. Now its handy to look at a shipped .req, so you go do that, I’ll wait.






Done? Its really quite simple.
I suggest you just copy the text out of a shipped req, and paste it into your own and change the text about the unit. If you don’t understand, then you didn’t look.
Image
That is a unit req, just copy it, and change the unit name to yours, req names must match that of the unit’s odf.
Save your new .req file, and that’s done.
Hit back, and go to your sides main directory, you remember, this place:
Image
And make another text file, this will be the side’s req, give it the same name as your side, so it would be (in my example) pms.req.
Again, let’s look at a shipped side req.
Here is the imperial one:
Image
Cluttered looking isn’t it?
Basically, it just lists all the units, vehicles, and heroes etc
So copy one of the shipped side reqs into yours, and delete all the little units and such in quotes Except The “lvl” thing at the top of the list, then add your unit in so it looks like this:
Image

And save it.
Your side should now be a bit more something like this:
Image
(Ignore those .bat files, they weren't supposed to be there)

Just 2 things left

Go to Data_ABC/_BUILD/Sides and make a new folder for your side, this is where, the half munged side bits will go on their glorious metamorphosis into a .lvl file.
(if you don’t know what metamorphosis is, perhaps you’re to young to mod)

So, make a folder named PMS, then go to one of the other side folders in there, Data_ABC/_BUILD/Sides/ALL for example, and find two files called clean.bat and munge.bat, paste a copy of those two .bat files, into Data_ABC/_BUILD/Sides/PMS.

Last step adding your unit to the lua script.

Go to Data_ABC/Common/scripts/ABC there should be a bunch of files here, .lua and .bak.

The baks are just luas with their file extension changed, and are “backups” of the default luas.
You can delete these, I do.

Now you need to find the lua you want. The unit we’re talking about is a soldier, so lets put him in conquest.
Lua names start with your map name ABC then either a c for CW era, or g for GCW era.
And then the mode
con = Conquest
eli = Hero Assault
ctf = Capture the Flag
1flag = 1 Flag Capture the Flag


So lets put him in the GCW era, so find your ABCg_con.lua and open it, it’s a notepad file.

First scroll down and find this part.
Image

This area of the lua loads a unit’s data into the game for use.
Again, we’re just going to kinda copy and paste a shipped bit.
Take the imp section, copy all of it and paste it again, in that section, change the lvl name from imp.lvl to pms.lvl, and put a dc: in front of SIDE, but before the parentheses, this dc: tells the lua that it is loading a custom file.

(if you where editing a shipped side, you would need to add a dc: to it’s load section too.)

And delete all the listed units, except for the top one, and change the name to your unit’s.
And close it off with a )
It should look a bit like this:
Image

Now if you where adding more units, you would have to add comma’s like so:
Image

Ok, now scroll down to the unit line up.
This bit:
Image

Now if you could replace one of the normal unit’s with yours, but I’ll teach you how to add a new one, incase you don’t want to replace anyone, and hurt a trooper's feelings.

Under the SetHeroClass part, add this:

AddUnitClass(IMP, "pms_inf_supr_troopr",1,4)

This will add your unit under the Imperial side’s line up.

So now you’ve got this:
Image
Good? Good.


Now we munge.
Go to: Data_ABC/_Build and click Modtools VisualMunge.exe.
Check the common box, and select your side from the drop down Sides menu.
Image

Munge and go play, you are done.[/quote]

But What if I downloaded Source Files like the clone assassin or Commander Cody by Majin Revan? :runaway: :cry: :shock: :runaway:
User avatar
DarthD.U.C.K.
Master of the Force
Master of the Force
Posts: 6027
Joined: Wed Sep 27, 2006 11:05 am
Location: Duckburg, Germany

Re: Custom Side: How To (FAQ)

Post by DarthD.U.C.K. »

O.o a two-month bump,
you cannot expect, that someone makes a step by step tutorial about getting commander cody ingame :|
i suggest you try to follow the tutorial and ask for help if a step is unclear or you get an error
the best would be to read through the documentation that comes with the modtools
-_-
Gametoast Staff
Gametoast Staff
Posts: 2678
Joined: Sat May 07, 2005 1:22 pm

Re: Custom Side: How To

Post by -_- »

Super_Clone wrote:But What if I downloaded Source Files like the clone assassin or Commander Cody by Majin Revan?
Instead of quoting the entire tutorial, why not just quote the part you don't understand? Unless, you didn't even bother reading through that, and expect us to spoon feed you.
User avatar
eliminator
Second Lance Corporal
Second Lance Corporal
Posts: 118
Joined: Wed Aug 19, 2009 3:39 pm
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: Germany

Re: Custom Side: How To

Post by eliminator »

i have a problem with this tut., because it dont work:

Lua:
Hidden/Spoiler:
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

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

-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- LOC = 3;

-- 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"}
cp5 = CommandPost:New{name = "cp5"}
cp6 = CommandPost:New{name = "cp6"}
cp7 = CommandPost:New{name = "cp7"}
cp8 = CommandPost:New{name = "cp8"}
cp9 = CommandPost:New{name = "cp9"}
cp10 = CommandPost:New{name = "cp10"}


--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)
conquest:AddCommandPost(cp6)
conquest:AddCommandPost(cp7)
conquest:AddCommandPost(cp8)
conquest:AddCommandPost(cp9)
conquest:AddCommandPost(cp10)

conquest:Start()

-- herosupport = AIHeroSupport:New{AIATTHeroHealth = 5000, AIDEFHeroHealth = 3000, gameMode = "NonConquest",}
-- herosupport:SetHeroClass(REP, "rep_hero_cloakedanakin")
-- herosupport:SetHeroClass(CIS, "cis_hero_darthmaul")

-- herosupport:AddSpawnCP("cp1","cp1_spawn")
-- herosupport:AddSpawnCP("cp9","cp9_spawn")

-- herosupport:Start()

EnableSPHeroRules()

OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"TeleportNode")
end,
"TeleportRegion"
)
ActivateRegion("TeleportRegion")

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()

-- AddAIGoal (LOC, "Deathmatch", 100)




SetMapNorthAngle(180, 1)

ReadDataFile("ingame.lvl")


SetMaxFlyHeight(100)
SetMaxPlayerFlyHeight (70)

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_cloakedanakin",
"rep_hover_barcspeeder",
"rep_fly_gunship",
"rep_fly_arc170fighter_sc",
"rep_fly_anakinstarfighter_sc")


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_fly_droidgunship")


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

-- ReadDataFile("SIDE\\geo.lvl",
-- "geo_inf_acklay")

ReadDataFile("SIDE\\imp.lvl",
"imp_hover_speederbike")

ReadDataFile("dc:SIDE\\aaa.lvl",
"aaa_inf")


SetupTeams{
rep = {
team = REP,
units = 20,
reinforcements = 200,
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},
},
}
SetupTeams{
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},


},
}
-- SetupTeams{
-- loc = {
-- team = LOC,
-- units = 2,
-- reinforcements = 100,
-- soldier = { "geo_inf_acklay",1, 4},
-- },
--}


AddUnitClass(REP, "all_inf",1,4)


-- SetTeamAsEnemy(LOC, ATT)
-- SetTeamAsEnemy(ATT, LOC)
-- SetTeamAsEnemy(LOC, DEF)
-- SetTeamAsEnemy(DEF, LOC)

-- 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:BEW\\BEW.lvl", "BEW_conquest")
ReadDataFile("dc:BEW\\BEW.lvl", "BEW_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);

-- AIHEROSUPPORT NOTE:
-- Note how ONLY these three lines were moved here instead of being left above
-- This will correct the unit list display sizing problem in the game (for when a side has more than 7 unit types)
----------

--herosupport = AIHeroSupport:New{AIATTHeroHealth = 3000, AIDEFHeroHealth = 3000, gameMode = "conquest", minSpawnTime = 35,}
--herosupport:SetHeroClass(REP, "rep_hero_cloakedanakin")
--herosupport:SetHeroClass(CIS, "cis_hero_darthmaul")

---------------------------------

end

function MoveEntityToNode(entIn,pathIn,nodeIn)
if not entIn then
print("Warning!: Entity not specified for move")
return false
elseif not pathIn then
print("Warning!: Path not specified for Entity " .. entIn .. " move")
return false
end

local node
if nodeIn then
node = nodeIn
else
node = 0
end

local locDest = GetPathPoint(pathIn,node)
local charUnit = GetCharacterUnit(entIn)
if charUnit then
SetEntityMatrix(charUnit,locDest)
return true
end
return false
end
req files are there (aaa.req and aaa_inf.req)

odf:
Hidden/Spoiler:
rep_inf_default_sniper, aaa_inf, rep_weap_inf_sniper_rifle, rep_weap_inf_sniper_rifle_ord, rep_weap_inf_timebomb (+exp,ord,destroy exp-file), rep_inf_default, rep_inf_ep3sniper_cape, all_weap_inf_invisibility, all_weap_inf_rifle(+ord)
msh:
Hidden/Spoiler:
all_weap_inf_weap.msh(+.option), rep_1st_feluciatrooper(tga,msh.option,msh), rep_1st_weap_inf_sniperrifle(...), rep_inf_ep3sniper_cape(...), rep_inf_feluciatrooper(...), rep_inf_trooper(...), rep_inf_trooper_low1(...), rep_weap_inf_sniperrifle.msh(+.option)
odf-text (only the changed ones):
Hidden/Spoiler:
aaa_inf.odf = [GameObjectClass]
ClassParent = "rep_inf_default_sniper"

[Properties]
ClothODF = "rep_inf_ep3sniper_cape"

GeometryName = "rep_inf_feluciatrooper"
GeometryLowRes = "rep_inf_feluciatrooper_low1"
//FirstPerson = "REP\repfelsn;rep_1st_feluciatrooper"
FirstPerson = "REP\reptroop;rep_1st_trooper"

----------------------------------------------------------

rep_inf_default_sniper:
[GameObjectClass]
ClassParent = "rep_inf_default"


[Properties]
UnitType = "Scout"

MaxHealth = 300.0
MaxSpeed = 20.0 // base forward speed
MaxStrafeSpeed = 12.0 // base right/left speed

WEAPONSECTION = 1
WeaponName = "rep_weap_inf_sniper_rifle"
WeaponAmmo = 7

WEAPONSECTION = 2
WeaponName = "all_weap_inf_rifle"
WeaponAmmo = 5

WEAPONSECTION = 3
WeaponName = "rep_weap_inf_timebomb"
WeaponAmmo = 10
WeaponChannel = 1

WEAPONSECTION = 4
WeaponName = "all_weap_inf_invisibility"
WeaponAmmo = 1
WeaponChannel = 1

VOUnitType = 122
I haven't forgotten to create a folder in build\sides called aaa
with clean,munge.bat from all
hope you can follow me and help me...
thanks :-)
User avatar
DarthD.U.C.K.
Master of the Force
Master of the Force
Posts: 6027
Joined: Wed Sep 27, 2006 11:05 am
Location: Duckburg, Germany

Re: Custom Side: How To

Post by DarthD.U.C.K. »

you are adding an all_inf unit to the rep side
what that supposed to be?
User avatar
eliminator
Second Lance Corporal
Second Lance Corporal
Posts: 118
Joined: Wed Aug 19, 2009 3:39 pm
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: Germany

Re: Custom Side: How To

Post by eliminator »

do you mean the aaa_inf?
or which one?
aaa is the side I created and aaa_inf is the soldier
User avatar
DarthD.U.C.K.
Master of the Force
Master of the Force
Posts: 6027
Joined: Wed Sep 27, 2006 11:05 am
Location: Duckburg, Germany

Re: Custom Side: How To

Post by DarthD.U.C.K. »

:roll:
look at your addunittclass command
User avatar
eliminator
Second Lance Corporal
Second Lance Corporal
Posts: 118
Joined: Wed Aug 19, 2009 3:39 pm
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: Germany

Re: Custom Side: How To

Post by eliminator »

oh I have my fault...
...but now there is now added unit and when i change the

Code: Select all

sniper = { "rep_inf_ep3_sniper",1, 4},
to

Code: Select all

sniper = { "aaa_inf",1, 4},
there isn't my trooper...

can someone help me? :(
User avatar
DarthD.U.C.K.
Master of the Force
Master of the Force
Posts: 6027
Joined: Wed Sep 27, 2006 11:05 am
Location: Duckburg, Germany

Re: Custom Side: How To

Post by DarthD.U.C.K. »

try cleaning and remunging, actually it should work now
make shureyou created the sides .req and the units .req properly
User avatar
eliminator
Second Lance Corporal
Second Lance Corporal
Posts: 118
Joined: Wed Aug 19, 2009 3:39 pm
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: Germany

Re: Custom Side: How To

Post by eliminator »

aaa.req (sides\aaa\)
Hidden/Spoiler:
[code]ucft
{
REQN
{
"lvl"
"aaa_inf"
}
}[/code]
aaa_inf.req (sides\aaa\req)
Hidden/Spoiler:
[code]ucft
{
REQN
{
"class"
"aaa_inf"
}
}[/code]
Last edited by eliminator on Sat Aug 29, 2009 9:03 am, edited 1 time in total.
User avatar
DarthD.U.C.K.
Master of the Force
Master of the Force
Posts: 6027
Joined: Wed Sep 27, 2006 11:05 am
Location: Duckburg, Germany

Re: Custom Side: How To

Post by DarthD.U.C.K. »

*huge headpalm*
WHY do you have an "all.req" file your "aaa" sidefolder???
and how should it work when you load the unitodf "all_inf" through the "all_inf.req" when you only have an "aaa_inf" odf???

if you dont follow the tutorial exactly it wont work!
User avatar
eliminator
Second Lance Corporal
Second Lance Corporal
Posts: 118
Joined: Wed Aug 19, 2009 3:39 pm
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: Germany

Re: Custom Side: How To

Post by eliminator »

ok now i have these messages:
Hidden/Spoiler:
[code]ERROR[PC_texturemunge msh\rep_inf_feluciatrooper.tga]:Targa type 10 not currently supported.
ERROR[PC_texturemunge msh\rep_inf_feluciatrooper.tga]:Targa type 10 not currently supported.
[continuing]
2 Errors 0 Warnings

ERROR[levelpack req\aaa_inf.req]:Expecting bracket, but none was found.
File : munged\pc\rep_inf_feluciatrooper.texture.req(1)...

ucft <--
ERROR[levelpack req\aaa_inf.req]:Expecting bracket, but none was found.
File : munged\pc\rep_inf_feluciatrooper.texture.req(1)...

ucft <--

2 Errors 0 Warnings

ERROR[levelpack aaa.req]:Expecting bracket, but none was found.
File : munged\pc\aaa_inf.lvl.req(1)...

ucft <--
ERROR[levelpack aaa.req]:Expecting bracket, but none was found.
File : munged\pc\aaa_inf.lvl.req(1)...

ucft <--

2 Errors 0 Warnings

[/code]
sorry i thougt, this thread would be here to answer to questions like mine, and yes i use the search...
Last edited by eliminator on Sat Aug 29, 2009 2:40 pm, edited 1 time in total.
User avatar
DarthD.U.C.K.
Master of the Force
Master of the Force
Posts: 6027
Joined: Wed Sep 27, 2006 11:05 am
Location: Duckburg, Germany

Re: Custom Side: How To

Post by DarthD.U.C.K. »

you should probably make a new thread about that or something extremely unobvious, mortaly dangerous, which is only done by very few and extremely desperated people which have nothing to loose:
Hidden/Spoiler:
use search!
Post Reply