Page 2 of 3

Posted: Mon May 29, 2006 10:13 am
by PvtParts
Okay. First off, did you follow that guys tutorial? Did you make folders in the _Build\Sides? And copy the folders from assets\shell into _Build\Shell.

Have you set up the reqs correctly?

Posted: Mon May 29, 2006 10:23 am
by MercuryNoodles
That's because you're still calling for Republic units under SetupTeams. You need to put the ReadDataFile lines for the rep.lvl back in, or take the lines calling for the stock Republic units out. The ReadDataFile stuff tells the game to load the asset and from which file, and SetupTeams tells the game which units show up on the unit selection screen. Having one without the other doesn't really work.

Posted: Mon May 29, 2006 10:34 am
by PvtParts
Yep. and make sure to call for your unit in the setup teams somewhere, otherwise he wont be playable.

Posted: Mon May 29, 2006 10:45 am
by Thrawn
yeah i followed the tuitorial and did every thing. SO i can just replace the get trooper with my unit?

Posted: Mon May 29, 2006 10:52 am
by PvtParts
in setup teams yeah. But as MercuryNoodles said, if your setup teams calls for a class, that class must be listed in readdata file...so for you, set em up like this:

ReadDataFile("dc:SIDE\\SPC.lvl",
"rep_inf_Spacetrooper")


ReadDataFile("SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_sniper",
"rep_hero_anakin",
"rep_inf_ep3_officer")


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


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_Spacetrooper",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_anakin")

Posted: Mon May 29, 2006 11:13 am
by Thrawn
I followed that exactly, but now the level dosnt have any sound and my unit dosnt show up, however the jet trooper is gone.....
Ill bold sections i changed:

Heres my characters ODf if that helps:

[GameObjectClass]
ClassParent = "rep_inf_Spacetrooper"

[Properties]
MaxHealth = 4000.0

PointsToUnlock = 25

UnitType = "trooper"

AISizeType = "HOVER"

ControlSpeed = "jet 1.50 1.25 1.25"

JetJump = "10.0" //7 //The initial jump-push given when enabling the jet
JetPush = "10.0" //The constant push given while the jet is enabled (20 is gravity)
JetAcceleration = "50.0" //Acceleration while hovering.
JetEffect = "rep_sfx_jetpack"
JetType = "hover"
JetFuelRechargeRate = "0.00" //Additional fuel per second (fuel is 0 to 1)
JetFuelCost = "0.00" //Cost per second when hovering (only used for jet-hovers)(fuel is 0 to 1)
JetFuelInitialCost = "0.00" //initial cost when jet jumping(fuel is 0 to 1)
JetFuelMinBorder = "0.00" //minimum fuel to perform a jet jump(fuel is 0 to 1)

CAMERASECTION = "STAND"

EyePointOffset = "0.0 1.8 0.0"
TrackCenter = "0.0 1.8 0.0
TrackOffset = "0.0 0.0 3.5"
TiltValue = "7.5"

//These probably need to be set
//CAMERASECTION = "STANDZOOM"
//EyePointOffset = "0.0 1.8 0.0"
//TrackCenter = "0.0 1.8 0.0
//TrackOffset = "0.4 0.05 2.8"
//TiltValue = "3.5"

CAMERASECTION = "CROUCH"

EyePointOffset = "0.0 1.3 0.0"
TrackCenter = "0.0 1.3 0.0
TrackOffset = "0.0 0.15 3.5"
TiltValue = "7.5"

//These probably need to be set
//CAMERASECTION = "CROUCHZOOM"
//EyePointOffset = "0.0 1.3 0.0"
//TrackCenter = "0.0 1.3 0.0
//TrackOffset = "0.4 0.2 2.8"
//TiltValue = "3.5"


WEAPONSECTION = 1
WeaponName = "rep_weap_award_rocket_launcher"
WeaponAmmo = 25

WEAPONSECTION = 2
WeaponName = "rep_weap_award_pistol"
WeaponAmmo = 0

WEAPONSECTION = 3
WeaponName = "com_weap_inf_landmine"
WeaponAmmo = 4
WeaponChannel =7


CollisionScale = "0.0 0.0 0.0"

EngineSound = "rep_inf_Jetpack_engine_parameterized"
TurnOnSound = "rep_weap_jetpack_turnon"
TurnOffSound = "rep_weap_jetpack_turnoff"
TurnOffTime = 0.0


VOUnitType = 121

And heres ODF's I altered (weapons exc.):

com_weap_award_rocket_launcher:

[ExplosionClass]
ClassLabel = "explosion"

[Properties]
Damage = "5000.0"

DamageRadiusInner = "10.0"
DamageRadiusOuter = "10.0"

Push = "10.0"
PushRadiusInner = "10.0"
PushRadiusOuter = "10.0"

Shake = "0.5"
ShakeLength = "0.60"
ShakeRadiusInner = "8.0"
ShakeRadiusOuter = "12.0"


Effect = "com_sfx_weap_flame_exp_md"
WaterEffect = "com_sfx_watersplash_lg"

LightColor = "255 220 100 255"
LightRadius = "7.0"
LightDuration = "1.0"

VehicleScale = "1.0"
PersonScale = "0.0"
DroidScale = "0.0"
AnimalScale = "1.0"
BuildingScale = "0.25"


SoundProperty = "com_weap_rocket_small_exp"

com_weap_inf_landmine:


[GameObjectClass]
ClassLabel = "mine"

[Properties]
GeometryName = "com_weap_inf_landmine_placed"
//HighResGeometry = "com_1st_weap_inf_landmine"

TrailEffect = "com_sfx_weap_grenade_red"
LightColor = "247 56 65 150"
LightRadius = "3.0"

ExplosionTrigger = "com_weap_inf_landmine_exp"
ExplosionDeath = "com_weap_inf_landmine_destroyed_exp"
ExplosionExpire = "com_weap_inf_landmine_destroyed_exp"

TriggerContact = "1"
TriggerRadius = "10.0"
//SuppressRadius = "10.0"

HealthType = "Mine"

LifeSpan = "60.0"
NoLifeSpanDisplay = "1"

MaxHealth = "10"Velocity = "0.0"
Gravity = "0.0"
Rebound = "0.0"
Friction = "1.0"


CollisionOtherSound = "com_weap_mine_land"

Posted: Mon May 29, 2006 12:03 pm
by PvtParts
does your character have reqs? you must make a rep_inf_Spacetrooper.req in the req folder of the spa side. copy the jettrooper.req from the republic side, and rename it to rep_inf_Spacetrooper.req

then open it up and rename the jettrooper line to your spacetrooper.

then open up the main .req, which is found in your spa folder. It should be titled spa.req. if you dont have one, make one. Im going to assume you dont have one. so make a new .req named spa.req, and in it paste this:

ucft
{
REQN
{
"lvl"
"rep_inf_Spacetrooper"
}
}

Posted: Mon May 29, 2006 12:13 pm
by Thrawn
yeah i did a side req but i did it wrong x_x
And..I didnt have a trooper req, i hope this works.

Posted: Mon May 29, 2006 12:21 pm
by Thrawn
crap, it still dosnt show up....

Posted: Mon May 29, 2006 2:01 pm
by PvtParts
Okay I have a feeling this isn't going to go anywhere. Im working on a tutorial for you, so you can see the full steps to set up a new side. If anyone knows any tools to record on screen video i could make a video tutorial (fraps only works inside exes or something).

Regardless, just give me sometime, and hopefully you'll have an explanation soon.

If you could, zip up your skin and your odf and send it to me via email ([email protected]) or upload it and give me the link

Posted: Mon May 29, 2006 2:39 pm
by Thrawn
I followed the steps to creating your own side in the Jedi creation doc, i may as well look over it again.

Ive been putting all the odf and msh files, exc for the weapons im using and every thing in my character do i have to do that (this may be the problem) or is it enough that there in my sides folder under the other sides?

Posted: Mon May 29, 2006 3:59 pm
by MercuryNoodles
Wait a minute...why are you saying the spacetrooper's ClassParent is the spacetrooper? Gah...this makes my brain hurt. Infinite loop...NOOOOOOO... Ok, ok. The ClassParent is supposed to be the unit your unit is derived from. I don't know how the game reacts to having the unit listed as it's own parent, but I suspect we're looking at it. It'd be a good idea to set the ClassParent as rep_inf_default or even the jettrooper, depending on which you'd prefer to be the parent.

Posted: Mon May 29, 2006 4:20 pm
by Thrawn
All that suits my idiocy in this situation is:

Oh

But then how do you make it use your texture?

EDIT: OK i just tried that and it stil isnt appearing in the game....

Posted: Mon May 29, 2006 4:46 pm
by Thrawn
Heres the new odf for it:

[GameObjectClass]
ClassParent = "rep_inf_default"


[Properties]
MaxHealth = 900.0

PointsToUnlock = 25

UnitType = "trooper"

AISizeType = "HOVER"

ControlSpeed = "jet 1.50 1.25 1.25"

JetJump = "10.0" //7 //The initial jump-push given when enabling the jet
JetPush = "10.0" //The constant push given while the jet is enabled (20 is gravity)
JetAcceleration = "50.0" //Acceleration while hovering.
JetEffect = "rep_sfx_jetpack"
JetType = "hover"
JetFuelRechargeRate = "0.00" //Additional fuel per second (fuel is 0 to 1)
JetFuelCost = "0.00" //Cost per second when hovering (only used for jet-hovers)(fuel is 0 to 1)
JetFuelInitialCost = "0.00" //initial cost when jet jumping(fuel is 0 to 1)
JetFuelMinBorder = "0.00" //minimum fuel to perform a jet jump(fuel is 0 to 1)

CAMERASECTION = "STAND"

EyePointOffset = "0.0 1.8 0.0"
TrackCenter = "0.0 1.8 0.0
TrackOffset = "0.0 0.0 3.5"
TiltValue = "7.5"

//These probably need to be set
//CAMERASECTION = "STANDZOOM"
//EyePointOffset = "0.0 1.8 0.0"
//TrackCenter = "0.0 1.8 0.0
//TrackOffset = "0.4 0.05 2.8"
//TiltValue = "3.5"

CAMERASECTION = "CROUCH"

EyePointOffset = "0.0 1.3 0.0"
TrackCenter = "0.0 1.3 0.0
TrackOffset = "0.0 0.15 3.5"
TiltValue = "7.5"

//These probably need to be set
//CAMERASECTION = "CROUCHZOOM"
//EyePointOffset = "0.0 1.3 0.0"
//TrackCenter = "0.0 1.3 0.0
//TrackOffset = "0.4 0.2 2.8"
//TiltValue = "3.5"


WEAPONSECTION = 1
WeaponName = "rep_weap_award_rocket_launcher"
WeaponAmmo = 25

WEAPONSECTION = 2
WeaponName = "rep_weap_award_pistol"
WeaponAmmo = 0

WEAPONSECTION = 3
WeaponName = "com_weap_inf_landmine"
WeaponAmmo = 4
WeaponChannel =7


CollisionScale = "0.0 0.0 0.0"

EngineSound = "rep_inf_Jetpack_engine_parameterized"
TurnOnSound = "rep_weap_jetpack_turnon"
TurnOffSound = "rep_weap_jetpack_turnoff"
TurnOffTime = 0.0


VOUnitType = 121

and the new XXXc_Con.Lua

--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

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

-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- 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"}



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

EnableSPHeroRules()

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

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("dc:SIDE\\SPC.lvl",
"rep_inf_Spacetrooper")

ReadDataFile("SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_sniper",
"rep_hero_anakin",
"rep_inf_ep3_officer")

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


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_Spacetrooper",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_anakin")


-- 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:TST\\TST.lvl", "TST_conquest")
ReadDataFile("dc:TST\\TST.lvl", "TST_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);
end

Posted: Mon May 29, 2006 5:03 pm
by MercuryNoodles
If you're using a custom texture, is it a new texture (as in it has a new name), or are you replacing a default texture? A new texture requires hex editing the unit msh, but replacing a default texture doesn't.

I'll need to look at this from a fresh angle. For right now, I can't seem to find anymore errors.

Posted: Mon May 29, 2006 5:08 pm
by Thrawn
yeah i thought about changing the Msh but i wasnt sure

Posted: Mon May 29, 2006 5:31 pm
by PvtParts
Hey Mercury he sent me his tgas. Im not sure what all he had done, but im throwing together a side for him, along with an explanation of what i did, so he can figure this all out.

Posted: Mon May 29, 2006 6:23 pm
by MercuryNoodles
Awesome. For second I thought I smelled the faint odor of smoke coming from...my head. :P

Posted: Mon May 29, 2006 7:26 pm
by Thrawn
The jedi creation guide said this caused headaches and ive already had mine..

Posted: Mon May 29, 2006 8:43 pm
by MercuryNoodles
It's really not all that hard. It's just that you have to be patient and not try to do too much at once when you start out. Make small changes, and see if they work. If you try to load a bunch of changes into one munge, you're more likely to have made an error, and chances are you won't remember what you did wrong. In that case, you can easily waste hours trying to find a problem only to realize something as simple as a comma or something not in numerical order is holding you back.