Page 2 of 6

Re: Custom Side: How To

Posted: Wed Jan 30, 2008 10:39 pm
by Caleb1117
SBF_Dann_Boeing wrote:I was thinking of making a huge sides 101 tut that explained everything and anything about sides. But I'm too lazy. :P
Lol, I am too, but my laziness in this matter was overwrite-d by the amount of times I had to explain sides to new people.
Its so much easier to just point them to a tut.

Re: Custom Side: How To

Posted: Thu Jan 31, 2008 6:01 am
by [RDH]Zerted
Caleb1117 wrote:
SBF_Dann_Boeing wrote:I was thinking of making a huge sides 101 tut that explained everything and anything about sides...
...Its so much easier to just point them to a tut.
The more detailed tut you guys write (for anything), the easier it is for me to write a small tool to do it for you.

Re: Custom Side: How To

Posted: Sat Feb 02, 2008 11:35 am
by Fluffy_the_ic
i had two errors in the munge. The say: 1: ERROR[levelpack mission\SWRc_con.req]:Expecting bracket, but none was found.
File : munged\pc\swrc_con.script.req(1)...
2: ERROR[levelpack mission\SWRc_con.req]:Expecting bracket, but none was found.
File : munged\pc\swrc_con.script.req(1)...
They don't have the one and two in front of them, obviously, but still...

Re: Custom Side: How To

Posted: Sat Feb 02, 2008 2:48 pm
by RevanSithLord
You know those brackets that look like, { and } ? Well, obviously there is one in the wrong place or there is nothing in the spot that it's suppose to.

Re: Custom Side: How To

Posted: Sat Feb 02, 2008 3:08 pm
by Caleb1117
Yes, post your CW lua.

Re: Custom Side: How To

Posted: Sat Feb 02, 2008 3:14 pm
by Grev
Just a quick question.... do I have to have my modding folder in Gamedata? I just saw a post above about that..... I have a shortcut on my desktop.....

This will help me alot in the future! THANKS!

Re: Custom Side: How To

Posted: Sat Feb 02, 2008 3:18 pm
by Fluffy_the_ic
Okay. i just copied what caleb wrote in the instuctions, which had no brackets, just parenthesis, and changed it to my troop, but here's my LUA anyways. And i know it's got a weird name, but my friend wanted me to make a map with these weird guys he made up and one of them loves tape.
Hidden/Spoiler:
--
-- 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 = 2;
CIS = 1;
-- These variables do not change
ATT = CIS;
DEF = REP;


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



--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: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("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_yoda",
"rep_hover_barcspeeder")

ReadDataFile("dc:SIDE\\hdl.lvl",
"hdl_jed_stick_hoodlum"

ReadDataFile("SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_droideka",
"cis_hero_jangofett",
"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_ep3_jettrooper",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_jangofett")
SetHeroClass(REP, "rep_hero_yoda")

AddUnitClass(REP, "hdl_jed_sticky_hoodlum, 1, 4)


-- 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:SWR\\SWR.lvl", "SWR_conquest")
ReadDataFile("dc:SWR\\SWR.lvl", "SWR_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, "imp_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

Re: Custom Side: How To

Posted: Sat Feb 02, 2008 3:22 pm
by Caleb1117
You need to add a ) at the end of your unit call.

Note I highlighted the one from the default ones too.
Hidden/Spoiler:
ReadDataFile("dc:SIDE\\hdl.lvl",
"hdl_jed_stick_hoodlum")

ReadDataFile("SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_droideka",
"cis_hero_jangofett",
"cis_hover_aat")

Re: Custom Side: How To

Posted: Sat Feb 02, 2008 3:32 pm
by FragMe!
Also on the unit call you have "hdl_jed_stick_hoodlum" as the name but lower down you have AddUnitClass(REP, "hdl_jed_sticky_hoodlum, 1, 4)

Re: Custom Side: How To

Posted: Sat Feb 02, 2008 6:47 pm
by Fluffy_the_ic
ok i caught my typo right after posting my LUA. But i still get the same exact error :cpu:

Re: Custom Side: How To

Posted: Sat Feb 02, 2008 8:10 pm
by FragMe!
Just noticed too you are missing a closing " in the addunitclass statement

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

Re: Custom Side: How To

Posted: Sat Feb 02, 2008 11:48 pm
by Pidgeon
:( I did everything you said except for the copy the munge thing but i got this error:

Code: Select all

WARNING[PC_modelmunge msh\gam_inf_gamorreanguard.msh]:SplitSkinnedSegments: WARNING: out of space in splitting catalog!
WARNING[PC_modelmunge msh\gam_inf_gamorreanguard.msh]:SplitSkinnedSegments: WARNING: out of space in splitting catalog!
WARNING[PC_modelmunge msh\gam_inf_gamorreanguard.msh]:SplitSkinnedSegments: WARNING: resorting to brute force, this may take a while...
WARNING[PC_modelmunge msh\gam_inf_gamorreanguard.msh]:gam_inf_gamorreanguard has 1731 vertices and NO COLLISION GEOMETRY (WILL BE SLOW)!
   0 Errors    4 Warnings
Edit:oh yeah I forgot to mention i was using a garmoreean and building up but..... :faint:

Re: Custom Side: How To

Posted: Sat Feb 02, 2008 11:54 pm
by Caleb1117
Those shouldn't be a problem at all, they are just warnings, does it crash ingame?

Re: Custom Side: How To

Posted: Sun Feb 03, 2008 12:08 am
by Pidgeon
no the in game doesn't crash but my units not on the imp team

Edit:Ill show you how I put it in
engineer = { "imp_inf_engineer",1,4},
sniper = { "imp_inf_sniper",1,4},
officer = { "imp_inf_officer",1,4},
special = { "imp_inf_dark_trooper",1,4},
},
}

SetHeroClass(ALL, "all_hero_hansolo_tat")
SetHeroClass(IMP, "imp_hero_bobafett")

AddUnitClass(IMP, exi_inf_good_troopr also it in MODg_con.lua

Re: Custom Side: How To

Posted: Sun Feb 03, 2008 1:04 am
by Maveritchell
Welcome to Gametoast, Pidgeon. Just a reminder, please read the rules, one of which is "no double posting." If you need to add content to your post, just edit it.

Re: Custom Side: How To

Posted: Sun Feb 03, 2008 10:58 am
by Fluffy_the_ic
ok i get it... but as i said before, the errors are EXACTLY the same.

EDIT: :cpu:

Re: Custom Side: How To

Posted: Sun Feb 03, 2008 11:05 am
by Caleb1117
Post more of your Lua.

Re: Custom Side: How To

Posted: Sun Feb 03, 2008 11:07 am
by Fluffy_the_ic
i'm a little confused by you saying post more of my LUA. I posted the whole thing.

Re: Custom Side: How To

Posted: Sun Feb 03, 2008 11:13 am
by Caleb1117
I mean Pidgeon.
We pointed out all the typos in yours, is it still not working?

Re: Custom Side: How To

Posted: Sun Feb 03, 2008 11:16 am
by Fluffy_the_ic
ok well i need to munge again but i'm getting this odd feeling it might not work.

EDIT: i don't think this'll work BECAUSE i can only get water in my map. not foliage. not items. i have one of your object packs and i get them in on ZE but they don't show up in game.