side and lua questions

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

Post Reply
Commander_Fett
High General
High General
Posts: 847
Joined: Fri Oct 17, 2008 9:59 pm
Projects :: No Mod project currently.

side and lua questions

Post by Commander_Fett »

I'm making a new side with the clone commander, but whenever I play, his cape isn't there. I do not know why, because I reference the right tga name in the trooper's msh file and the right cape odf file in my trooper's odf. Any suggestions?

Also, is it possible to turn hero assault into conquest?
MercuryNoodles
Jedi
Jedi
Posts: 1003
Joined: Sun Mar 12, 2006 7:16 pm
Projects :: Space - Boarding Action
xbox live or psn: No gamertag set

Re: side and lua questions

Post by MercuryNoodles »

To answer the second question, it really depends on how good you are with lua. I'll tell you now it's not exactly easy, unless you're comfortable with coding.
User avatar
[RDH]Zerted
Gametoast Staff
Gametoast Staff
Posts: 2982
Joined: Sun Feb 26, 2006 7:36 am
Projects :: Bos Wars AI - a RTS game
Games I'm Playing :: SWBF2 and Bos Wars
xbox live or psn: No gamertag set
Location: USA
Contact:

Re: side and lua questions

Post by [RDH]Zerted »

Hero Assault into Conquest? If you just want heroes playing Conquest, do a standard Conquest and just change the team's units.
Commander_Fett
High General
High General
Posts: 847
Joined: Fri Oct 17, 2008 9:59 pm
Projects :: No Mod project currently.

Re: side and lua questions

Post by Commander_Fett »

I mean hero assault into conquest, not conquest into hero assault. I want to make hero assault into another era conquest. Could I mess around with hero assault lua and give it conquest rules?Ummm... can anyone help me fix the cape? I have:
the troop odf references the cape odf
the troop msh references the cape tga
the cape odf references the troop msh
If I am missing something, can someone please help?
AQT
Gametoast Staff
Gametoast Staff
Posts: 4910
Joined: Sat Nov 03, 2007 4:55 pm
Location: SoCal, USA

Re: side and lua questions

Post by AQT »

Commander_Fett wrote:I mean hero assault into conquest, not conquest into hero assault. I want to make hero assault into another era conquest. Could I mess around with hero assault lua and give it conquest rules?
Your answer
[RDH]Zerted wrote:Hero Assault into Conquest? If you just want heroes playing Conquest, do a standard Conquest and just change the team's units.
As for the Clone Commander, you are using Repsharpshooter's, right? If you have all the necessary files in your side's msh folder, then the cape should show up. In what ways did you modify these files? Also post all your .odf files referring to this model. Your descriptions are too vague.
Commander_Fett
High General
High General
Posts: 847
Joined: Fri Oct 17, 2008 9:59 pm
Projects :: No Mod project currently.

Re: side and lua questions

Post by Commander_Fett »

I'm using the stock officer, just part of my own side.
My trooper's odf:(gal_inf_ep3_officer)

Code: Select all

ClassParent         	= "rep_inf_default_officer"

[Properties]
GeometryName            = "gal_inf_clonecommander"
GeometryLowRes        = "gal_inf_clonecommander_low1"
FirstPerson             = "REP\repcomm;rep_1st_clonecommander"
ClothODF                = "gal_inf_clonecommander_cape"
My "gal_inf_clonecommander_cape":

Code: Select all

[GameObjectClass]       
ClassLabel          = "cloth"

[Properties]
attachedmesh	= "gal_inf_clonecommander"
I renamed the tga of the cape to gal_inf_clonecommander_cape, and replaced the "rep" in front of "rep_inf_clonecommander_cape.tga" an "rep_inf_clonecommander.tga" in the "gal_inf_clonecommander.msh" with "gal". My troopers still work, but the capes won't show up. And RepSharpshooter made a commander?

EDIT: oh, and for the hero assault to conquest, you're just saying I should just copy the lua text from conquest and paste it over the text currently in my MABg_eli?
User avatar
AceMastermind
Gametoast Staff
Gametoast Staff
Posts: 3285
Joined: Mon Aug 21, 2006 6:23 am
Contact:

Re: side and lua questions

Post by AceMastermind »

That's the kind of information you should've included in your original post, much better. :)
It looks like you renamed the cloth ODF, unlike other ODFs you can't just rename a cloth ODF to whatever you want, the name of the cloth ODF must be the same name as the cloth object in the unit's msh hierarchy for which you are defining properties for.
AQT
Gametoast Staff
Gametoast Staff
Posts: 4910
Joined: Sat Nov 03, 2007 4:55 pm
Location: SoCal, USA

Re: side and lua questions

Post by AQT »

As for the Hero Assault, do what you said and in addition change the teams' units.
Commander_Fett
High General
High General
Posts: 847
Joined: Fri Oct 17, 2008 9:59 pm
Projects :: No Mod project currently.

Re: side and lua questions

Post by Commander_Fett »

OK, I'll try that out.
EDIT 2: nevermind,I fixed the cape, but my hero won't show up in game. When I play, he won't show up as a selectable character. Here's his odf:
Hidden/Spoiler:
[code][GameObjectClass]
ClassParent = "com_hero_default"

[Properties]
UnitType = "assault"

MaxHealth = 1200.0

MaxSpeed = 6.0 // base forward speed
MaxStrafeSpeed = 4.5 // base right/left speed
ClothOdf ="rep_inf_ep3heavytrooper_cape"

GeometryName = "gal_inf_ep3heavytrooper"
//FirstPerson = "REP\reparc;rep_1st_arctrooper"
FirstPerson = "REP\reptroop;rep_1st_trooper"

GeometryLowRes = "gal_inf_ep3heavytrooper_low1"

WEAPONSECTION = 1
WeaponName = "rep_weap_inf_rocket_launcher"
WeaponAmmo = 7

WEAPONSECTION = 2
WeaponName = "rep_weap_inf_pistol"
WeaponAmmo = 0

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

WEAPONSECTION = 4
WeaponName = "rep_weap_inf_mine_dispenser"
WeaponAmmo = 3
WeaponChannel = 1

WEAPONSECTION = 5
WeaponName = "rep_weap_award_pistol"
WeaponAmmo = 6

WEAPONSECTION = 6
WeaponName = "rep_weap_award_rocket_launcher"
WeaponAmmo = 4

VOUnitType = 121
[/code]
and I set up the mshs and tgas correctly, can someone help?
EDIT3: Sorry for this many questions in one post, but also, I followed mav's tut on how to add kotor to a map, but I keep getting this (when I try to add hunt too...) mungelog:
Hidden/Spoiler:
[code]C:\BF2_ModTools\ToolsFL\Bin\luac.exe: ..\..\common\scripts\MAB\MABk_con.lua:89: unexpected symbol near ` '
ERROR[scriptmunge scripts\MAB\MABk_con.lua]:Could not read input file.ERROR[scriptmunge scripts\MAB\MABk_con.lua]:Could not read input file. [continuing]
2 Errors 0 Warnings

ERROR[levelpack mission\MABk_con.req]:Expecting bracket, but none was found.
File : munged\pc\mabk_con.script.req(1)...

ucft <--
ERROR[levelpack mission\MABk_con.req]:Expecting bracket, but none was found.
File : munged\pc\mabk_con.script.req(1)...

ucft <--
[continuing]
2 Errors 0 Warnings
[/code]
Here's my lua:
Hidden/Spoiler:
[code]--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

ScriptCB_DoFile("setup_teams")
ReadDataFile("dc:MAB\\core.lvl")
ScriptCB_DoFile("ObjectiveConquest")

-- Empire Attacking (attacker is always #1)
local ALL = 2
local IMP = 1
-- These variables do not change
local ATT = 1
local DEF = 2

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



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

SetUberMode(1);

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("dc:Load\\common.lvl")

ReadDataFile("ingame.lvl")



SetMaxFlyHeight(60)
SetMaxPlayerFlyHeight(60)

-- Birdies
SetNumBirdTypes(1)
SetBirdType(0,1.0,"bird")


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\\tat.lvl;tat2gcw")
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("SIDE\\rvs.lvl",
"rvs_hero_mandalore",
"kor_hero_jolee",
"rvs_inf_rbasic",
"rvs_inf_sbasic",
"rvs_inf_rheavy",
"rvs_inf_goto",
"rvs_inf_rmelee",
"rvs_inf_ymando",
"rvs_inf_rsupport",
"rvs_inf_rmando",
"rvs_inf_rstealth",
"rvs_inf_bmando",
"rvs_inf_sadept",
"rvs_inf_radept",
"rvs_inf_rofficer",
"rvs_inf_hk50",
"rvs_inf_rdroid",
"rvs_inf_sdroid")

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

SetupTeams{
rep = {
team = ALL,
units = 60,
reinforcements = 150,
soldier = { "rvs_inf_rbasic", 7,24},
assault = { "rvs_inf_rheavy", 2,8},
engineer= { "rvs_inf_rmelee", 2,8},
sniper = { "rvs_inf_rsupport", 2,8},
officer = { "rvs_inf_rofficer", 2,8},
special = { "rvs_inf_rstealth", 1,4},

},
}



SetupTeams{
imp = {
team = IMP,
units = 60,
reinforcements = 150,
soldier = { "rvs_inf_sbasic", 7,24},
assault = { "rvs_inf_rmando", 2,8},
engineer= { "rvs_inf_ymando", 2,8},
sniper = { "rvs_inf_goto", 2,8},
officer = { "rvs_inf_hk50", 2,8},
special = { "rvs_inf_bmando", 1,4},
},
}

AddUnitClass(IMP, "rvs_inf_sdroid",1,4)
AddUnitClass(ALL, "rvs_inf_rdroid",1,4)
AddUnitClass(ALL,"rvs_inf_radept",1,2)
AddUnitClass(IMP, "rvs_inf_sadept",1,2)


SetHeroClass(ALL, "kor_hero_jolee")
SetHeroClass(IMP, "rvs_hero_mandalore")
-- Level Stats
ClearWalkers()
AddWalkerType(0, 0) -- 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:MAB\\MAB.lvl", "MAB_conquest")
SetDenseEnvironment("false")


-- Sound Stats

voiceSlow = OpenAudioStream("sound\\global.lvl", "all_unit_vo_slow")
AudioStreamAppendSegments("sound\\global.lvl", "imp_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "des_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "global_vo_slow", voiceSlow)

voiceQuick = OpenAudioStream("sound\\global.lvl", "all_unit_vo_quick")
AudioStreamAppendSegments("sound\\global.lvl", "imp_unit_vo_quick", voiceQuick)

OpenAudioStream("sound\\global.lvl", "gcw_music")
OpenAudioStream("sound\\tat.lvl", "tat2")
OpenAudioStream("sound\\tat.lvl", "tat2")
-- OpenAudioStream("sound\\global.lvl", "global_vo_quick")
-- OpenAudioStream("sound\\global.lvl", "global_vo_slow")

SetBleedingVoiceOver(ALL, ALL, "all_off_com_report_us_overwhelmed", 1)
SetBleedingVoiceOver(ALL, IMP, "all_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(IMP, ALL, "imp_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(IMP, IMP, "imp_off_com_report_us_overwhelmed", 1)

SetLowReinforcementsVoiceOver(ALL, ALL, "all_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(ALL, IMP, "all_off_victory_im", .1, 1)
SetLowReinforcementsVoiceOver(IMP, IMP, "imp_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(IMP, ALL, "imp_off_victory_im", .1, 1)

SetOutOfBoundsVoiceOver(2, "Allleaving")
SetOutOfBoundsVoiceOver(1, "Impleaving")

SetAmbientMusic(ALL, 1.0, "all_tat_amb_start", 0,1)
SetAmbientMusic(ALL, 0.8, "all_tat_amb_middle", 1,1)
SetAmbientMusic(ALL, 0.2, "all_tat_amb_end", 2,1)
SetAmbientMusic(IMP, 1.0, "imp_tat_amb_start", 0,1)
SetAmbientMusic(IMP, 0.8, "imp_tat_amb_middle", 1,1)
SetAmbientMusic(IMP, 0.2, "imp_tat_amb_end", 2,1)

SetVictoryMusic(ALL, "all_tat_amb_victory")
SetDefeatMusic (ALL, "all_tat_amb_defeat")
SetVictoryMusic(IMP, "imp_tat_amb_victory")
SetDefeatMusic (IMP, "imp_tat_amb_defeat")

SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
--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")

-- Camera Stats
--Tat2 Mos Eisley
AddCameraShot(0.974338, -0.222180, 0.035172, 0.008020, -82.664650, 23.668301, 43.955681);
AddCameraShot(0.390197, -0.089729, -0.893040, -0.205362, 23.563562, 12.914885, -101.465561);
AddCameraShot(0.169759, 0.002225, -0.985398, 0.012916, 126.972809, 4.039628, -22.020613);
AddCameraShot(0.677453, -0.041535, 0.733016, 0.044942, 97.517807, 4.039628, 36.853477);
AddCameraShot(0.866029, -0.156506, 0.467299, 0.084449, 7.685640, 7.130688, -10.895234);
end
[/code]
My mission.req:
Hidden/Spoiler:
[code]ucft
{
REQN
{
"config"
"ingame_movies"
}

REQN
{
"script"
"setup_teams"
"gametype_conquest"
"gametype_capture"
"Objective"
"MultiObjectiveContainer"
"ObjectiveCTF"
"ObjectiveAssault"
"ObjectiveSpaceAssault"
"ObjectiveConquest"
"ObjectiveTDM"
"ObjectiveOneFlagCTF"
"SoundEvent_ctf"
"ObjectiveGoto"
"LinkedShields"
"LinkedDestroyables"
"LinkedTurrets"
"Ambush"
"PlayMovieWithTransition"
}

REQN
{
"lvl"
"MABg_con"
"MABc_con"
"MABk_con"
"MABg_eli"
}
}[/code]
and my MABk_con.req:
Hidden/Spoiler:
[code]ucft
{
REQN
{

"config"
"cor_movies"

}

REQN
{
"script"
"MABk_con"
}
}
[/code]
Can anyone help with these please?
EDIT4:Now the game crashes when I try to play kotor, and clone wars era won't show up.
Post Reply