CP creation??

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
User avatar
Mithrandir
Private Recruit
Posts: 25
Joined: Fri Feb 12, 2010 6:05 pm

CP creation??

Post by Mithrandir »

So this is on my short list of things to do before I can release my map...control point creation. I'm very confused because I have made countless control points before and all of them have worked perfectly, but now I try to make a control point and it doesn't show up ingame, AI won't spawn at the default points (although I still can), and something interesting that I observed is that if you kill yourself it doesn't take away from the unit count...I followed the documentation on control point creation word for word and I'm starting to get veryyyy frustrated. Another thing is if I remove the lines in the LUA that reference the new spawn points then the map works perfectly, although the physical control point objects still don't show up... >_<

**EDIT**
I didn't set up any control regions because there won't be vehicle spawns associated with the 2 new control points that I set up, but the 4 default points have control regions with vehicles spawning at them.
User avatar
TK432
2nd Lieutenant
2nd Lieutenant
Posts: 408
Joined: Tue May 26, 2009 4:18 pm
Location: Somewhere far away

Re: CP creation??

Post by TK432 »

Could you post the lua please?
User avatar
Mithrandir
Private Recruit
Posts: 25
Joined: Fri Feb 12, 2010 6:05 pm

Re: CP creation??

Post by Mithrandir »

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

onfirstspawn = OnCharacterSpawn(
function(character)
if IsCharacterHuman(character) then
ReleaseCharacterSpawn(onfirstspawn)
onfirstspawn = nil
victory_timer = CreateTimer("victory_timer")
SetTimerValue(victory_timer, 900)
StartTimer(victory_timer)
ShowTimer(victory_timer)
OnTimerElapse(
function(timer)
MissionVictory(ATT)
ShowTimer(nil)
end,
timeoutTimer
)
end
end
)

conquest:Start()

SetUberMode(1);

EnableSPHeroRules()

ActivateBonus( CIS, "team_bonus_combat_shielding" )
ActivateBonus( REP, "team_bonus_garrison" )

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 ("Combo",100) -- should be ~ 2x number of jedi classes
SetMemoryPoolSize ("Combo::State",1300) -- should be ~12x #Combo
SetMemoryPoolSize ("Combo::Transition",1300) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Condition",1300) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Attack",1100) -- should be ~8-12x #Combo
SetMemoryPoolSize ("Combo::DamageSample",12000) -- should be ~8-12x #Combo::Attack
SetMemoryPoolSize ("Combo::Deflect",200) -- 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_anakin",
"rep_hover_barcspeeder")

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

ReadDataFile("dc:SIDE\\rep.lvl",
"rep_inf_trenchgunner",
"rep_inf_snowsniper",
"rep_inf_engineer",
"rep_inf_rifleman",
"rep_inf_officer",
"rep_inf_snow_jedi",
"rep_inf_medic",
"rep_hover_fightertank1",
"cis_hover_aat")

ReadDataFile("dc:SIDE\\tur.lvl",
"tur_bldg_hoth_dishturret",
"tur_bldg_hoth_lasermortar",
"tat_bldg_barge_turret")

SetupTeams{
rep = {
team = REP,
units = 500,
reinforcements = 500,
soldier = { "rep_inf_rifleman",9, 150},
assault = { "rep_inf_trenchgunner",1, 125},
engineer = { "rep_inf_engineer",1, 125},
sniper = { "rep_inf_snowsniper",1, 125},
officer = { "rep_inf_medic",1, 125},
special = { "rep_inf_officer",1, 125},

},
cis = {
team = CIS,
units = 9999,
reinforcements = 9999,
soldier = { "cis_inf_rifleman",1750, 9999},
assault = { "cis_inf_rocketeer",1750, 9999},
engineer = { "cis_inf_engineer",1750, 9999},
sniper = { "cis_inf_sniper",1750, 9999},
officer = {"cis_inf_officer",1750, 9999},
special = { "cis_inf_droideka",1249, 1249},
}
}

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


-- 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("EntityDroideka", 1000)
SetMemoryPoolSize("EntityHover", 125)
SetMemoryPoolSize("EntityLight", 200)
SetMemoryPoolSize("EntitySoundStream", 4)
SetMemoryPoolSize("EntitySoundStatic", 32)
SetMemoryPoolSize("MountedTurret", 32)
SetMemoryPoolSize("Navigator", 128)
SetMemoryPoolSize("Obstacle", 1024)
SetMemoryPoolSize("PathNode", 1024)
SetMemoryPoolSize("SoldierAnimation", 2700)
SetMemoryPoolSize("SoundSpaceRegion", 64)
SetMemoryPoolSize("TreeGridStack", 1024)
SetMemoryPoolSize("UnitAgent", 128)
SetMemoryPoolSize("UnitController", 128)
SetMemoryPoolSize("Weapon", weaponCnt)

SetSpawnDelay(10.0, 0.25)
--ReadDataFile("dc:NML\\NML.lvl", "NML_conquest")
ReadDataFile("dc:NML\\NML.lvl", "NML_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
CalvaryCptMike
Captain
Captain
Posts: 476
Joined: Sat Feb 19, 2011 3:10 pm
Projects :: Nothing--absolutely nothing
Location: Freed by alien robots, now living on Mars
Contact:

Re: CP creation??

Post by CalvaryCptMike »

:eek: :shock: Dude I think 9,999 ai is a tad high!!! Try setting it to like 200. My computer is REALLY fast and all it can handle is about 500 AI TOTAL. Also if I'm not mistaken your little piece of code with a timer basically just says after 900 somethings make team 1 win.
Penguin
Jedi Admin
Jedi Admin
Posts: 2541
Joined: Sun Mar 05, 2006 12:00 am
Location: Australia

Re: CP creation??

Post by Penguin »

Add control regions to your new CPs, also teams are capped at 300 units.
Also if I'm not mistaken your little piece of code with a timer basically just says after 900 somethings make team 1 win.
Its a 900 second timer, upon end attackers win.
CalvaryCptMike
Captain
Captain
Posts: 476
Joined: Sat Feb 19, 2011 3:10 pm
Projects :: Nothing--absolutely nothing
Location: Freed by alien robots, now living on Mars
Contact:

Re: CP creation??

Post by CalvaryCptMike »

Kateana wrote:Add control regions to your new CPs, also teams are capped at 300 units.
That's good to know.
Kateana wrote:Its a 900 second timer, upon end attackers win.
That's what I thought, also good to know.

btw why did you change your name to kateana?
User avatar
AceMastermind
Gametoast Staff
Gametoast Staff
Posts: 3285
Joined: Mon Aug 21, 2006 6:23 am
Contact:

Re: CP creation??

Post by AceMastermind »

Control Regions have no effect here; they are for vehicle spawns and are completely optional.
User avatar
Mithrandir
Private Recruit
Posts: 25
Joined: Fri Feb 12, 2010 6:05 pm

Re: CP creation??

Post by Mithrandir »

Yes I know the timer says that after a period of time team 1 wins (I can't get this to work...after the timer runs nothing happens...but thats for another topic I guess), and trust me, i have a dinosaur of a computer and the 9999 AI are very manageable and the map is entirely based around the close to ridiculous number of units. I already understand the control regions are irrelevant which is why i didn't include them, but I was just checking that I was correct about this...does anyone have an idea on what I am doing wrong...?
Post Reply