Page 1 of 1

custom vehicles....

Posted: Fri Mar 20, 2009 2:00 am
by lucasfart
i have created a side called vehicles in my side folder but i do not really know how to edit the lua part......when adding the readdatafile ("side\\rep.lvl" bit do i only need to replace the rep.lvl with vehicles.lvl and add the name of the vehicle or do i create a new readdatafile .lvl?
also what new lines do i add to the lua for command vehicles like atte's and atat's?
sorry for asking all these questions but i am a newby and have only been modding for 1 week..

Re: custom vehicles....

Posted: Fri Mar 20, 2009 6:23 am
by YaNkFaN
if you want rep soldiers in your map then you need to keep the line that says ReadDataFile("SIDE\\rep.lvl",

to add your new side put this ReadDataFile("dc:SIDE\\(3 letter side name).lvl",

right before this line
ReadDataFile("SIDE\\cis.lvl",

in order to add in vehicles you must call them in the .lua by putting their .odf names with quotes and a ,

ie

ReadDataFile("dc:SIDE\\(3 letter side name).lvl",
"vehicle1_name",
"vehicle2_name",
"vehicle3_name")
put in the parentheses when you are done

in order to add command vehicles you must put this line
SetMemoryPoolSize("CommandWalker", #)
SetMemoryPoolSize("CommandFlyer", #)

after this line

SetMemoryPoolSize("Aimer", 75)

obviously #= a number and
CommandWalker is for Walkers
Flyers is for flyers
and just a side note you can put the SetMemory Pool lines pretty much anywhere is Script Post Load (few exceptions) but just put it after the line I told you too and you'll be fine

Re: custom vehicles....

Posted: Fri Mar 20, 2009 5:09 pm
by Superm9
YaNkFaN wrote:if you want rep soldiers in your map then you need to keep the line that says ReadDataFile("SIDE\\rep.lvl",

to add your new side put this ReadDataFile("dc:SIDE\\(3 letter side name).lvl",

right before this line
ReadDataFile("SIDE\\cis.lvl",

in order to add in vehicles you must call them in the .lua by putting their .odf names with quotes and a ,

ie

ReadDataFile("dc:SIDE\\(3 letter side name).lvl",
"vehicle1_name",
"vehicle2_name",
"vehicle3_name")
put in the parentheses when you are done

in order to add command vehicles you must put this line
SetMemoryPoolSize("CommandWalker", #)
SetMemoryPoolSize("CommandFlyer", #)

after this line

SetMemoryPoolSize("Aimer", 75)

obviously #= a number and
CommandWalker is for Walkers
Flyers is for flyers
and just a side note you can put the SetMemory Pool lines pretty much anywhere is Script Post Load (few exceptions) but just put it after the line I told you too and you'll be fine
Technically correct, except I think he was looking for a bit less jargon. :wink:

For adding new vehicles, first ensure that you have that side's "side" file copied over correctly; read this skinning tutorial:

http://www.gametoast.com/forums/viewtop ... =27&t=3726

it explains pretty well how to add the side folder correctly. After you accomplish this, follow the instructions in the Getting Started guide that comes with the modtools on adding vehicle spawns. I reccommend starting out with the vehicles that are already loaded in your .lua (as you know those work). When you want to add new vehicles to the .lua (so that you can spawn them using the vehicle spawns), just add the name of the vehicle's .odf file (for example, "rep_hover_barcspeeder") exactly as the other ones are in the .lua.

If you need more help, just post here!
:thumbs: Nice job trying SWBFII modding!

Re: custom vehicles....

Posted: Fri Mar 20, 2009 7:59 pm
by lucasfart
thanks yankfan and superm9 for that help.
with the side.lvl file does it have to be 3 letters because i have just called the side vehicles, so would it therefore be vehicles.lvl or would i need to shorten the side name??
BTW i already know how to add vehicles and have aded about 100 to my map lol so no need to get super simple, but i don't mind if you do...
also i have been having issues with my map crashing. i only have 2 severity errors, i will post them up.

Code: Select all

Message Severity: 2
.\Memory\RedMemoryPool.cpp(317)
Memory pool "ClothData" set item count after being allocated

Message Severity: 3
.\Source\weapon.cpp(1604)
Weapon base class "com_weap_inf_lightsaber" not found
There are several other errors that pop up but they have nearly always bee there and would not cause it, they are something to do with the HUD.
the game works fine on GCW but CW crashes halfway through the load screen. i have not touched any weapons in my map so i think it has something to do with the ClothData......
Here is my CW .lua
Hidden/Spoiler:
[code]
--
-- 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()

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("ingame.lvl")


SetMaxFlyHeight(300)
SetMaxPlayerFlyHeight (300)

SetMemoryPoolSize ("ClothData",20)
SetMemoryPoolSize("SoldierAnimation", 1700)
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\\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",
"rep_fly_gunship",
"rep_hover_fightertank",
"rep_fly_arc170fighter_sc",
"rep_walk_atte",)

ReadDataFile("SIDE\\vehicles.lvl",
"rep_fly_anakinstarfighter",
"rep_fly_arc_gunship",
"rep_fly_arc170fighter",
"rep_fly_gunship",
"rep_fly_jedifighter",
"rep_fly_kitfistostarfighter",
"rep_fly_macestarfighter",
"rep_fly_obiwanstarfighter",
"rep_fly_plokoonstarfighter",
"rep_fly_saeseetinstarfighter",
"rep_fly_vwing",
"rep_fly_v19",
"rep_hover_swampspeeder",
"rep_hover_swampspeeder_2man",
"rep_walk_atxt"

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_hover_stap",
"cis_fly_droidgunship",
"cis_fly_tridroidfighter",
"cis_tread_hailfire",
"cis_fly_droidfighter_sc",
"cis_tread_snailtank")




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

SetupTeams{
rep = {
team = REP,
units = 100,
reinforcements = 150,
soldier = { "rep_inf_ep3_rifleman",9, 50},
assault = { "rep_inf_ep3_rocketeer",1, 7},
engineer = { "rep_inf_ep3_engineer",1, 6},
sniper = { "rep_inf_ep3_sniper",1, 7},
officer = {"rep_inf_ep3_officer",1, 15},
special = { "rep_inf_ep3_jettrooper",1, 15},

},
cis = {
team = CIS,
units = 100,
reinforcements = 150,
soldier = { "cis_inf_rifleman",9, 50},
assault = { "cis_inf_rocketeer",1, 7},
engineer = { "cis_inf_engineer",1, 6},
sniper = { "cis_inf_sniper",1, 7},
officer = {"cis_inf_officer",1, 15},
special = { "cis_inf_droideka",1, 15},
}
}

SetHeroClass(CIS, "cis_hero_darthmaul")
SetHeroClass(REP, "rep_hero_anakin")


-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 15) -- special -> droidekas
AddWalkerType(1, 0) -- 1x2 (1 pair of legs)
AddWalkerType(2, 0) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 1) -- 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:TO1\\TO1.lvl", "TO1_conquest")
ReadDataFile("dc:TO1\\TO1.lvl", "TO1_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
[/code]

Re: custom vehicles....

Posted: Sat Mar 21, 2009 8:45 am
by YaNkFaN
here's one problem with your.lua

"rep_hover_swampspeeder_2man",
"rep_walk_atxt"

must be changed to

"rep_hover_swampspeeder_2man",
"rep_walk_atxt" )

try that and see if it works

and also for that error you must i repeat must copy the common folder from assets/sides into data_abc/sides this is a must remunge and try with the fixed .lua as well

Re: custom vehicles....

Posted: Sun Mar 22, 2009 3:35 am
by lucasfart
ok i'll try that.
thanks....