Page 1 of 1

Funky Spawn Bug

Posted: Fri Apr 25, 2008 8:22 pm
by SBF_Dann_Boeing
You know that bug in the game where you spawn as a hero, and then cannot switch to other team until you are a normal unit and then respawn a second time?

Well I am having a similar bug, but you cannot play on the IMPS team period, not even from the beginning of the match. You can select it, but you always spawn rebels. I have a terrible feeling this has to do with the fact that I have uber mode on with 400 units on each team. I have another mode that is identical except its not on uber mode... and it works perfectly. But...I was planning on adding 600+ units on each team... Is that a little much? Nothing shows up in BFront2.log

LUA:
Hidden/Spoiler:
[code]--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("ObjectiveConquest")

-- Hippies Attacking (attacker is always #1)
local ALL = 1
local IMP = 2
-- 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"}
cp7 = CommandPost:New{name = "cp7"}
cp8 = CommandPost:New{name = "cp8"}
cp9 = CommandPost:New{name = "cp9"}
cp10 = CommandPost:New{name = "cp10"}
cp11 = CommandPost:New{name = "cp11"}
cp12 = CommandPost:New{name = "cp12"}
cp13 = CommandPost:New{name = "gnome"}
cp14 = CommandPost:New{name = "demon"}



--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",
isUberMode = true,
uberScoreLimit = 1500, 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:AddCommandPost(cp7)
conquest:AddCommandPost(cp8)
conquest:AddCommandPost(cp9)
conquest:AddCommandPost(cp10)
conquest:AddCommandPost(cp11)
conquest:AddCommandPost(cp12)
conquest:AddCommandPost(cp13)
conquest:AddCommandPost(cp14)

conquest:Start()
SetUberMode(1)
EnableSPHeroRules()
AddAIGoal(1, "Deathmatch", 2000)
AddAIGoal(2, "Deathmatch", 2000)

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(350)
SetMaxPlayerFlyHeight(1200)


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")
ReadDataFile("dc:sound\\LSD.lvl;LSDgcw")
ReadDataFile("DC:SIDE\\all.lvl",
"all_inf_rifleman",
"all_inf_rocketeer",
"all_inf_sniper",
"all_inf_officer",
"all_inf_wookiee")

ReadDataFile("DC:SIDE\\imp.lvl",
"imp_inf_rifleman",
"imp_inf_rocketeer",
"imp_inf_sniper",
"imp_inf_officer",
"imp_inf_dark_trooper")

ReadDataFile("DC:SIDE\\lsd.lvl",
"lsd_inf_nixon",
"lsd_inf_beatles",
"lsd_inf_locals",
"lsd_hover_rubberbike",
"lsd_fly_rock",
"lsd_fly_yellowsubmarine")

ReadDataFile("DC:SIDE\\des.lvl",
"ewk_inf_trooper",
"tat_inf_jawa")

SetupTeams{
all = {
team = ALL,
units = 400,
reinforcements = 4000,
soldier = { "all_inf_rifleman",120, 160},
assault = { "all_inf_rocketeer",80,100},
engineer = { "all_inf_wookiee",60,80},
sniper = { "all_inf_sniper",60,80},
officer = { "all_inf_officer",60,80},
special = { "ewk_inf_trooper",20,28},

},
imp = {
team = IMP,
units = 400,
reinforcements = 4000,
soldier = { "imp_inf_rifleman",120, 160},
assault = { "imp_inf_rocketeer",80,100},
engineer = { "imp_inf_officer",60,80},
sniper = { "imp_inf_sniper",60,80},
officer = { "imp_inf_dark_trooper",60,80},
special = { "tat_inf_jawa",20,28},
},
}

SetHeroClass(ALL, "lsd_inf_john_lennon")
SetHeroClass(IMP, "lsd_inf_nixon")

-- Gnomes -------------------------------
SetTeamName (3, "locals")
AddUnitClass (3, "lsd_inf_gnome", 30)
SetUnitCount (3, 30)
SetTeamAsFriend(3,ATT)
SetTeamAsFriend(3,DEF)
SetTeamAsFriend(ATT,3)
SetTeamAsFriend(DEF,3)

-- Jabberwocks --------------------------
SetTeamName(4, "acklay")
AddUnitClass (4, "lsd_inf_demon", 15)
SetUnitCount (4, 15)
SetTeamAsEnemy(4, ATT)
SetTeamAsEnemy(4, DEF)
SetTeamAsEnemy(ATT, 4)
SetTeamAsEnemy(DEF, 4)

-- They want to kill each other ------
SetTeamAsEnemy(3, 4)
SetTeamAsEnemy(4, 3)
AddAIGoal(3,"Deathmatch",200)
AddAIGoal(4,"Deathmatch",200)

-- Level Stats
ClearWalkers()
AddWalkerType(0, 0) -- special -> droidekas
AddWalkerType(1, 0) -- 1x2 (1 pair of legs)
AddWalkerType(2, 5) -- 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("EntityMusic", 512)
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("AcklayData", 64)
SetMemoryPoolSize("UnitAgent", 128)
SetMemoryPoolSize("UnitController", 128)
SetMemoryPoolSize("Weapon", weaponCnt)

SetSpawnDelay(10.0, 0.25)
ReadDataFile("dc:LSD\\LSD.lvl", "LSD_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("dc:sound\\LSD.lvl", "LSDgcw_music")
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")

SetAmbientMusic(ALL, 1.0, "all_LSD_amb_start", 0,1)
--SetAmbientMusic(ALL, 0.7, "imp_PSF_amb_middle", 1,1)
--SetAmbientMusic(ALL, 0.4, "imp_PSF_amb_end", 2,1)
SetAmbientMusic(IMP, 1.0, "imp_LSD_amb_start", 0,1)
--SetAmbientMusic(IMP, 0.7, "imp_PSF_amb_middle", 1,1)
--SetAmbientMusic(IMP, 0.4, "imp_PSF_amb_end", 2,1)

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

SetVictoryMusic(ALL, "all_LSD_amb_victory")
SetDefeatMusic (ALL, "all_LSD_amb_defeat")
SetVictoryMusic(IMP, "imp_LSD_amb_victory")
SetDefeatMusic (IMP, "imp_LSD_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]

Re: Funky Spawn Bug

Posted: Fri Apr 25, 2008 8:31 pm
by Fingerfood
Oh yes. You should never go over 200 per team. I'm suprised it even runs.

Re: Funky Spawn Bug

Posted: Fri Apr 25, 2008 8:32 pm
by Xavious
Going over 300 units or so tends to cause that kind of problem. In my experience, at least.

Re: Funky Spawn Bug

Posted: Fri Apr 25, 2008 9:49 pm
by Grev
Ive had that before. I switch teams, and then change units, and then it turns back into the opposite team. Its just a bug. It dissapears usually after several switches!