Page 1 of 1

Hybrid Sides

Posted: Sat Feb 23, 2008 9:43 am
by obiboba3po
When I wrote in a previous topic, I meant that I want to make a hybrid side, not one from scratch. What I mean by this is that I want to make the cis have these units:
jawa, rebel urban sniper, droid marine, wookie warrior, wampa, jedi guard, and jedi.
Here is my script that I have edited:
Hidden/Spoiler:
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")
ReadDataFile("SIDE\\cis.lvl",
"cis_inf_marine",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_rifleman",
"cis_inf_droideka",
"cis_hero_darthmaul",
"cis_hover_aat")
ReadDataFile("SIDE\\imp.lvl",
"imp_inf_sniper")

ReadDataFile("SIDE\\des.lvl",
"tat_inf_jawa")

ReadDataFile("SIDE\\wok.lvl",
"wok_inf_wookiewarrior")

ReadDataFile("SIDE\\gar.lvl",
"gar_inf_jediguard")

ReadDataFile("SIDE\\all.lvl",
"all_inf_markspersonurban")

ReadDataFile("SIDE\\jed.lvl",
"jed_inf_jedi")


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

ReadDataFile("SIDE\\snw.lvl", "snw_inf_wampa")

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 = { "imp_inf_sniper",1, 4},
officer = {"rep_inf_ep3_officer",1, 4},
special = { "rep_inf_ep3_jettrooper",1, 4},

},
}

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

cis = {
team = CIS,
units = 20,
reinforcements = 150,
soldier = { "cis_inf_marine",9, 25},
assault = { "gar_inf_jediguard",1, 4},
engineer = { "tat_inf_jawa",1, 4},
sniper = { "all_inf_markspersonurban",1, 4},
officer = {"wok_inf_wookiewarrior",1, 4},
special = { "jed_inf_jedi",1, 4},
},
}

AddUnitClass(CIS, "snw_inf_wampa",1, 4)
Also, when I munge, I keep getting this:
Hidden/Spoiler:
C:\BF2_ModTools\ToolsFL\Bin\luac.exe: ..\..\common\scripts\CPB\CPBc_con.lua:146: unexpected symbol near `}'
ERROR[scriptmunge scripts\CPB\CPBc_con.lua]:Could not read input file.ERROR[scriptmunge scripts\CPB\CPBc_con.lua]:Could not read input file. [continuing]
2 Errors 0 Warnings

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

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

ucft <--

2 Errors 0 Warnings
I have copied all of the sides that these units originated from into my sides folder but they are all seperate. Is there something that Im missing here? All help will be appreciated, Thanks!

Re: Hybrid Sides

Posted: Sat Feb 23, 2008 10:00 am
by The_Emperor
Looks like a small typo or something. It's in line 146, so press ctrl+g, type in 146, press enter and you're on the line with a mistake in it. If you don't understand that or still can't find the problem, post the entire lua.

Re: Hybrid Sides

Posted: Sat Feb 23, 2008 10:29 am
by obiboba3po
I went to line 146 and its just a } with a bunch of spaces. Here is the entire script, and I keep getting the same error message.
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 = 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\\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")
ReadDataFile("SIDE\\cis.lvl",
"cis_inf_marine",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_rifleman",
"cis_inf_droideka",
"cis_hero_darthmaul",
"cis_hover_aat")
ReadDataFile("SIDE\\imp.lvl",
"imp_inf_sniper")

ReadDataFile("SIDE\\des.lvl",
"tat_inf_jawa")

ReadDataFile("SIDE\\wok.lvl",
"wok_inf_wookiewarrior")

ReadDataFile("SIDE\\gar.lvl",
"gar_inf_jediguard")

ReadDataFile("SIDE\\all.lvl",
"all_inf_markspersonurban")

ReadDataFile("SIDE\\jed.lvl",
"jed_inf_jedi")


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

ReadDataFile("SIDE\\snw.lvl", "snw_inf_wampa")

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 = { "imp_inf_sniper",1, 4},
officer = {"rep_inf_ep3_officer",1, 4},
special = { "rep_inf_ep3_jettrooper",1, 4},

},
}

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

cis = {
team = CIS,
units = 20,
reinforcements = 150,
soldier = { "cis_inf_marine",9, 25},
assault = { "gar_inf_jediguard",1, 4},
engineer = { "tat_inf_jawa",1, 4},
sniper = { "all_inf_markspersonurban",1, 4},
officer = {"wok_inf_wookiewarrior",1, 4},
special = { "jed_inf_jedi",1, 4},
},
}

AddUnitClass(CIS, "snw_inf_wampa",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:PYM\\PYM.lvl", "PYM_conquest")
ReadDataFile("dc:PYM\\PYM.lvl", "PYM_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
line 146

Re: Hybrid Sides

Posted: Sat Feb 23, 2008 10:35 am
by Teancum

Code: Select all

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 = { "imp_inf_sniper",1, 4},
officer = {"rep_inf_ep3_officer",1, 4},
special = { "rep_inf_ep3_jettrooper",1, 4},

},
}

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

cis = {
team = CIS,
units = 20,
reinforcements = 150,
soldier = { "cis_inf_marine",9, 25},
assault = { "gar_inf_jediguard",1, 4},
engineer = { "tat_inf_jawa",1, 4},
sniper = { "all_inf_markspersonurban",1, 4},
officer = {"wok_inf_wookiewarrior",1, 4},
special = { "jed_inf_jedi",1, 4},
},
}

AddUnitClass(CIS, "snw_inf_wampa",1, 4)
Should be

Code: Select all

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 = { "imp_inf_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_marine",9, 25},
assault = { "gar_inf_jediguard",1, 4},
engineer = { "tat_inf_jawa",1, 4},
sniper = { "all_inf_markspersonurban",1, 4},
officer = {"wok_inf_wookiewarrior",1, 4},
special = { "jed_inf_jedi",1, 4},
},
}
AddUnitClass(REP, "snw_inf_wampa",1, 4)
AddUnitClass(CIS, "snw_inf_wampa",1, 4)
You were closing SetupTeams early (two } in the REP section)

Re: Hybrid Sides

Posted: Sat Feb 23, 2008 10:49 am
by obiboba3po
oh ok, thanks for the help.


Ok thanks teancum, that solved the beginning of my problem. Now for some reason I can not spawn, and no cps show up when I havent edited them. Also, the jawa, and wampa showed up, but not the jedi, and jediguard. Since these characters are not normally playable, can i not play as them? Thanks!

Re: Hybrid Sides

Posted: Sat Feb 23, 2008 12:03 pm
by woner11
Make sure that their reqs are correct. Also those aren't the correct names from the original folders. If this is a new side in a new floder, then you need to add the dc: thing, if these are the originals then change their names in the lua beecause those don't exist.

Re: Hybrid Sides

Posted: Sat Feb 23, 2008 12:09 pm
by obiboba3po
It's not, Im just adding a bunch of normally-non-playable units to the cis like the nabooguard (which is apparently called jediguard in the msh) Ok I think I fugured out my own problem: I have the incorrect names for some of the units. Can someone please tell me where one can find the names of the units, apparently the msh names arent the same. And also, can someone tell me why my cps wont show up in-game when they are in the script? This problem seemed to happen when I added some new units to the sides.

Re: Hybrid Sides

Posted: Sat Feb 23, 2008 12:19 pm
by woner11
You use the odf names. Sometimes cps won't show up for errors with characters and such. Munge with the new names and see what happens. If nothing is fixed with the cps post your log.

Re: Hybrid Sides

Posted: Sat Feb 23, 2008 12:23 pm
by obiboba3po
still nothing is fixed with the cps. (lol where can I find the log?)

Re: Hybrid Sides

Posted: Sat Feb 23, 2008 3:11 pm
by woner11
Look around on here and try to find the program that lets you get a log. That's what I did. I believe it some type of dedicated server.