Hero Assault mode not working...

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

froshthewookie

Hero Assault mode not working...

Post by froshthewookie »

I can't get my Hero Assault mode to work... It shows up in the game, but if I select it, the game crashes to Windows... It's already been added to addme, and I added the .req files... I deleted the map from my addon folder, then ran a clean/munge... still not working...

Here is my LUA:



--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
-- Mos Eisley Hero Deathmatch (uses Space Assault rules)
-- First team to reach 100 kills wins
--

ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("ObjectiveTDM")

---------------------------------------------------------------------------
-- ScriptPostLoad
---------------------------------------------------------------------------
function ScriptPostLoad()


EnableSPHeroRules()
-- This is the actual objective setup
TDM = ObjectiveTDM:New{teamATT = 1, teamDEF = 2,
multiplayerScoreLimit = 100,
textATT = "game.modes.tdm",
textDEF = "game.modes.tdm2", multiplayerRules = true, isCelebrityDeathmatch = true}

TDM:Start()

AddAIGoal(1, "Deathmatch", 100)
AddAIGoal(2, "Deathmatch", 100)
end


---------------------------------------------------------------------------
-- ScriptInit
---------------------------------------------------------------------------
function ScriptInit()


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 -- should be ~1x #combo

ReadDataFile("ingame.lvl")

ALL = 1
IMP = 2
-- These variables do not change
ATT = 1
DEF = 2


SetMaxFlyHeight(40)
SetMaxPlayerFlyHeight(40)

ReadDataFile("sound\\tat.lvl;tat2gcw")
ReadDataFile("SIDE\\all.lvl",
"all_hero_hansolo_tat",
"all_hero_leia",
"all_hero_chewbacca")

ReadDataFile("SIDE\\imp.lvl",
"imp_hero_darthvader",
"imp_hero_emperor",
"imp_hero_bobafett")

ReadDataFile("SIDE\\rep.lvl",
"rep_hero_yoda",
"rep_hero_macewindu",
"rep_hero_anakin",
"rep_hero_aalya",
"rep_hero_kiyadimundi",
"rep_hero_obiwan")

ReadDataFile("SIDE\\cis.lvl",
"cis_hero_grievous",
"cis_hero_darthmaul",
"cis_hero_countdooku",
"cis_hero_jangofett")

ReadDataFile("dc:SIDE\\JDI.lvl",
"jdi_demojedi")

ReadDataFile("dc:SIDE\\PLO.lvl",
"plo_plokoon")



--[[ Turrets disabled
ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_chaingun_roof",
"tur_weap_built_gunturret")
SetMemoryPoolSize("MountedTurret", 15)
--]]

SetupTeams{
hero = {
team = ALL,
units = 12,
reinforcements = -1,
soldier = { "all_hero_hansolo_storm",1,2},
assault = { "all_hero_chewbacca", 1,2},
engineer= { "jdi_demojedi", 1,2},
sniper = { "rep_hero_obiwan", 1,2},
officer = { "rep_hero_yoda", 1,2},
special = { "rep_hero_macewindu", 1,2},
},
}

AddUnitClass(ALL,"all_hero_leia", 1,2)
AddUnitClass(ALL,"rep_hero_aalya", 1,2)
AddUnitClass(ALL,"plo_plokoon",1,2)

SetupTeams{
villain = {
team = IMP,
units = 12,
reinforcements = -1,
soldier = { "imp_hero_bobafett", 1,2},
assault = { "imp_hero_darthvader",1,2},
engineer= { "cis_hero_darthmaul", 1,2},
sniper = { "cis_hero_jangofett", 1,2},
officer = { "cis_hero_grievous", 1,2},
special = { "imp_hero_emperor", 1,2},

},
}
AddUnitClass(IMP, "rep_hero_anakin",1,2)
AddUnitClass(IMP, "cis_hero_countdooku",1,2)

-- Level Stats
ClearWalkers()
AddWalkerType(0, 0) -- 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 = 96
SetMemoryPoolSize("Aimer", 1)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 320)
SetMemoryPoolSize("ConnectivityGraphFollower", 23)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth",41)
SetMemoryPoolSize("EntityDefenseGridTurret", 0)
SetMemoryPoolSize("EntityDroid", 0)
SetMemoryPoolSize("EntityFlyer", 5) -- to account for 5 chewbaccas
SetMemoryPoolSize("EntityLight", 80, 80) -- stupid trickery to actually set lights to 80
SetMemoryPoolSize("EntityPortableTurret", 0) -- nobody has autoturrets AFAIK - MZ
SetMemoryPoolSize("EntitySoundStream", 2)
SetMemoryPoolSize("EntitySoundStatic", 45)
SetMemoryPoolSize("FLEffectObject::OffsetMatrix", 120)
SetMemoryPoolSize("MountedTurret", 0)
SetMemoryPoolSize("Navigator", 23)
SetMemoryPoolSize("Obstacle", 667)
SetMemoryPoolSize("Ordnance", 80) -- not much ordnance going on in the level
SetMemoryPoolSize("ParticleEmitter", 512)
SetMemoryPoolSize("ParticleEmitterInfoData", 512)
SetMemoryPoolSize("PathFollower", 23)
SetMemoryPoolSize("PathNode", 128)
SetMemoryPoolSize("ShieldEffect", 0)
SetMemoryPoolSize("TentacleSimulator", 24)
SetMemoryPoolSize("TreeGridStack", 290)
SetMemoryPoolSize("UnitAgent", 23)
SetMemoryPoolSize("UnitController", 23)
SetMemoryPoolSize("Weapon", weaponCnt)

SetSpawnDelay(10.0, 0.25)
ReadDataFile("dc:SHO\\SHO.lvl", "SHO_tdm")
SetDenseEnvironment("false")

-- Sound Stats

ScriptCB_EnableHeroMusic(0)
ScriptCB_EnableHeroVO(0)

voiceSlow = OpenAudioStream("sound\\global.lvl", "all_unit_vo_slow")
AudioStreamAppendSegments("sound\\global.lvl", "imp_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("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")

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(1, "Allleaving")
SetOutOfBoundsVoiceOver(2, "Impleaving")

SetAmbientMusic(ALL, 1.0, "gen_amb_celebDeathmatch", 0,1)
-- SetAmbientMusic(ALL, 0.9, "all_tat_amb_middle", 1,1)
-- SetAmbientMusic(ALL, 0.1, "all_tat_amb_end", 2,1)
SetAmbientMusic(IMP, 1.0, "gen_amb_celebDeathmatch", 0,1)
-- SetAmbientMusic(IMP, 0.9, "imp_tat_amb_middle", 1,1)
-- SetAmbientMusic(IMP, 0.1, "imp_tat_amb_end", 2,1)

SetVictoryMusic(ALL, "all_tat_amb_victory")
SetDefeatMusic (ALL, "all_tat_amb_defeat")
SetVictoryMusic(IMP, "imp_tat_amb_victory")
SetDefeatMusic (IMP, "imp_tat_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")

SetAttackingTeam(ATT)

-- 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
-_-
Gametoast Staff
Gametoast Staff
Posts: 2678
Joined: Sat May 07, 2005 1:22 pm

Re: Hero Assault mode not working...

Post by -_- »

froshthewookie wrote: ReadDataFile("dc:SIDE\\JDI.lvl",
"jdi_demojedi")

ReadDataFile("dc:SIDE\\PLO.lvl",
"plo_plokoon")
It has to be XXX_hero_XXX, meaning it the odf's has to be changed to jdi_hero_demojedi, and plo_hero_plokoon.
Captain_Mazda

RE: Re: Hero Assault mode not working...

Post by Captain_Mazda »

Has to be that.
User avatar
Teancum
Jedi Admin
Jedi Admin
Posts: 11080
Joined: Wed Sep 07, 2005 11:42 pm
Projects :: No Mod project currently.
Games I'm Playing :: Destiny
xbox live or psn: No gamertag set
Location: Indiana

Re: Hero Assault mode not working...

Post by Teancum »

-_- wrote:
froshthewookie wrote: ReadDataFile("dc:SIDE\\JDI.lvl",
"jdi_demojedi")

ReadDataFile("dc:SIDE\\PLO.lvl",
"plo_plokoon")
It has to be XXX_hero_XXX, meaning it the odf's has to be changed to jdi_hero_demojedi, and plo_hero_plokoon.
No it doesn't. It will work like that.
-_-
Gametoast Staff
Gametoast Staff
Posts: 2678
Joined: Sat May 07, 2005 1:22 pm

Re: Hero Assault mode not working...

Post by -_- »

Teancum wrote:
-_- wrote:
froshthewookie wrote: ReadDataFile("dc:SIDE\\JDI.lvl",
"jdi_demojedi")

ReadDataFile("dc:SIDE\\PLO.lvl",
"plo_plokoon")
It has to be XXX_hero_XXX, meaning it the odf's has to be changed to jdi_hero_demojedi, and plo_hero_plokoon.
No it doesn't. It will work like that.
really? I had the same problem at first, but after I changed it, it worked fine.
TAWArtemis

Post by TAWArtemis »

You guys are great! I was looking for this I thought it might hav to do with the naming convenitons but was too lazy to go retype all the odfs and reqs. Since you already tested I will make the changes and release a new map I have been holding back. At least in Beta....
froshthewookie

RE: Re: Hero Assault mode not working...

Post by froshthewookie »

Nope... I changed that but it still crashes to the desktop... The only thing that my hero assault mode loads that the working modes don't is the CPs, which are properly set up (I used Mos Eisely as a template)

There really isn't anything else I can thing of that would cause this crash...
Captain_Mazda

RE: Re: Hero Assault mode not working...

Post by Captain_Mazda »

Have you changed anything else in the Hero Assault LUA? Remember even the slightest mistake with a comma or bracket can cause it to not work.
yodaminch

RE: Re: Hero Assault mode not working...

Post by yodaminch »

Plo Koon's unit name is plo_plokoon and the demo jedi seems correct as well. Not sure if the lua is the cause, but the easiest way to check is rename the current one and copy the eli.bak and remove the .bak from the copy. then if it is the modified lua, you'll know. if its not then its something else.
TAWArtemis

Post by TAWArtemis »

TAWArtemis wrote:You guys are great! I was looking for this I thought it might hav to do with the naming convenitons but was too lazy to go retype all the odfs and reqs. Since you already tested I will make the changes and release a new map I have been holding back. At least in Beta....
same error only on _eli

xxx_hero_xxx did not fix it. Still crashes to desktop. Any other ideas.
PAN-Fnord

Post by PAN-Fnord »

Filenames *do not matter*, as long as the name is correct. Nothing checks that it has _hero_ in it. It could have _specificallynotahero_ in it, for all that matters.

As for why it's crashing, you're loading all_hero_hansolo_tat, but you're SetupTeams'ing all_hero_hansolo_storm...try fixing that. I don't think that would cause it to crash, though. If you want to, I'd prune the SetupTeams down to one unit ("soldier = XXX" only) per team, see if that works. If it does, add units until it doesn't, and that's what's crashing it.

Mike Z
TAWArtemis

Post by TAWArtemis »

PAN-Fnord wrote:Filenames *do not matter*, as long as the name is correct. Nothing checks that it has _hero_ in it. It could have _specificallynotahero_ in it, for all that matters.

As for why it's crashing, you're loading all_hero_hansolo_tat, but you're SetupTeams'ing all_hero_hansolo_storm...try fixing that. I don't think that would cause it to crash, though. If you want to, I'd prune the SetupTeams down to one unit ("soldier = XXX" only) per team, see if that works. If it does, add units until it doesn't, and that's what's crashing it.

Mike Z
Thank you for the feedback. It is the addition of the custom jedi that kills it. The custom jedi work fine in conquest mode as either a unit or a hero but will not load in eli mode. Is there some other difference I am missing or something in the odf of a character that loads into eli mode that was not in the hero tutorial?
froshthewookie

Post by froshthewookie »

I took the custom Jedi out and now it works fine... Any idea on how to get them into the game without it crashing? It IS possible, because the Yavin Arena has custom Jedi on hero assault mode...
froshthewookie

Post by froshthewookie »

After playing around with this for a while, I discovered that "jdi_hero_demojedi" causes the game to crash, while "plo_hero_plokoon" simply won't show up... demojedi works perfectly in other game modes. I've used him both as a hero and as a soldier.
yodaminch

Post by yodaminch »

that's because again plo_hero_plokoon is NOT the unit name. plo_plokoon is.
stealth#a$$a$in{bf2}

Post by stealth#a$$a$in{bf2} »

can is pls see screens of the 2 new guys?
PAN-Fnord

Post by PAN-Fnord »

About the demo Jedi:
It could be because the Combo memory pools aren't big enough to accomodate what he sets up in his combo file - try doubling the size of all the memory pools that the Lua sets that begin with "Combo" - Combo, Combo::State, Combo::Transition, etc. If that works, then that was the problem.
-or-
It could be because there's actually a limit on the number of different lightsabers, lightsaber blade-attach points, and combo files that can be loaded at once. Try taking out 2 people, or taking out Darth Maul, and then putting in the demo Jedi. If that works, then that was the problem.

If neither works, let us know. (^.^)

Mike Z
froshthewookie

Post by froshthewookie »

I changed Plo Koon's odf to "plo_hero_plokoon"... I got him working now... Don't know what I did differently, but all of a sudden he works... demojedi still crashes the game though... I'll try changing the memory pool sizes...
yodaminch

Post by yodaminch »

Again, the reason he didn't work was hero was never in the odf name. you were essentially asking for a unit that didn't exhist. plo_plokoon was the name and calling him would have worked. you had it right the first time since demojedi was what crashed the game.
PAN-Fnord

Post by PAN-Fnord »

Yoda's right - or I suppose that should be "right, yoda is"...your mission lua was asking for plo_hero_plokoon, but the ODF was called plo_plokoon. Changing either one so they matched would have worked.

Just clarifying so nobody ends up thinking that the ODF *has* to have _hero_ in the name.
Mike Z
Post Reply