Page 1 of 1

Map still crashing; reason unknown

Posted: Fri Jul 13, 2007 10:44 am
by Master Fionwë
This is really getting old, not just to me, but to you guys as well, I'm sure. But my map still doesn't work. I have eleven cps, ten are called in teh scripts. The eleventh is capturable, but it's a local cp, so it not part of teh objective. I have only 80 units for the republic, and 130 for the cis. The max units for each add up to ten more teh the number of total units for that team. I have two local sides, one jedi, and a bunch of geonosians, 15 exactly. I have fixed all the memory pool values for it, and called all teh vehicles correctly. All the cps have their spawn paths, capture regions, and those which need them, control regions as well. All are called properly in both the scripts and in ZE. I have only six unit classes for both rep and cis.
The loading goes fine, but the map crashes on me before I can choose which side to be. Right after I choose the side if I'm really fast. I know from previous attempts, when it did work, that I can't be the cis, even though they are in teh team slecetion screen.
The crash isn't caused by strain, because their aren't enough units, I've played 280 per team, and it's worked fine. There is no apparent reason for any crashing at all, the errorlog doesn't produce anything important.

Herlp would be much appreciated.
Thanks in advance.

Posted: Fri Jul 13, 2007 10:54 am
by EGG_GUTS
I'm assuming that you've run the Bf2_modtools.exe?

Well I had this problem and My map went straight to the trash. (That doesn't yours will though)

It's probably an ODF change or an Object. SO double check your edited ODFs.

Also make a new map. Copy your .wld file and rename it to your new map's .wld file.then put all your MSH and ODF in the folders of your new map. Munge and see if it crashes if it does then it's the objects. If it is the objects then open ZE just start taking your objects out 1 type at a time. Munge each time you take 1 type of object out and see if it still crashes. That will probably your best chance in finding the problem

Posted: Fri Jul 13, 2007 12:32 pm
by Teancum
Crashing at the character select screen is always due to custom sides missing files. Try using the shipped sides and see where it gets you.

Posted: Fri Jul 13, 2007 1:39 pm
by Ace_Azzameen_5
I Fionwe said that you can choose sides though - but "right after" means Insta-crash, so I guess it probably is missing side asset.

It can't be the objects, can it? Because their all loaded once the load screen is gone.

If only it was a real load screen - with "... loaded" messages, instead of an animation.

Posted: Fri Jul 13, 2007 2:13 pm
by Master Fionwë
Well, I didn't use the shipped sides, I put my first rep side mod back in, replacing the jettrooper mod, and used those guys. It worked, though the best stuff for the rep is gone now.
So I understand that the crashing was due to a missing asset, but the error log came up with nothing missing. All it says are a ton of memorypool "ParticleTransformer::ColorTrans" size too low, need 1260. Messages like those, and only three severity 3 messages in the whole log. I'll go through the side though, and see what I can find from a manual check. Thanks, be back soon.
Those three messages were texture related, and one was HUD related.

Posted: Fri Jul 13, 2007 2:43 pm
by MercuryNoodles
I think some errors are not detected by the debug app. So, if you have an error within an odf, it may not show in the error log. Look for any syntax errors in the rep odfs. Have you been switching weapons around a lot? If so, make sure your WEAPONSECTION entries are in numerical order. Also, are you attempting to use hero units as normal classes?

Posted: Fri Jul 13, 2007 2:53 pm
by Master Fionwë
Well, I'm trying to use the hero jedi as allies. And yeah, the 125th, my legion, is almost done. A LOT of weapons have been switched around. I'll check the odfs for them though.

Posted: Fri Jul 13, 2007 3:33 pm
by MercuryNoodles
The reason I mention numerical order is because the game is adamant about having it. I found out the hard way. :P As for the hero units, I actually kind of lost myself on where I was going with that. I just looked at eli for another of my projects, and I know the hero units work in Hero Assault without odf changes in the stock maps and....! Idea:


Do any of your regular units use hero weapons, like the Westar pistol? If so, make sure the weapon lines say "WeaponName", "WeaponAmmo", etc, and not "WeaponName<insert number>", etc. The numbers cause a crash for sure when doing that, and I think it may be because the other weapon lines are not also numbered sequentially.

Posted: Fri Jul 13, 2007 3:41 pm
by Teancum
Errors with Message Severity: 3 are the ones that will make a game crash. Those are really the only ones you have to worry about.

Posted: Fri Jul 13, 2007 3:45 pm
by Master Fionwë
WEAPONSECTION = 1
WeaponName = "rep_weap_inf_shotgun"
WeaponAmmo = 8

WEAPONSECTION = 2
WeaponName = "rep_weap_inf_bacta_gun"
WeaponAmmo = 0

WEAPONSECTION = 3
WeaponName = "rep_weap_inf_fusioncutter"
WeaponAmmo = 0

WEAPONSECTION = 3
WeaponName = "rep_weap_inf_detpack"
WeaponAmmo = 5
WeaponChannel = 1

WEAPONSECTION = 4
WeaponName = "rep_weap_inf_haywiredetonator"
WeaponAmmo = 5
WeaponChannel = 1

WEAPONSECTION = 6
WeaponName = "rep_weap_inf_powerup_dispenser"
WeaponAmmo = 1
WeaponChannel = 1
My default engineer odf, how stupid of me to forget to make that change. lol!! Thanks MeccuryNoodles. I'll test this out now, and get back to you on whether it worked.

EDIT: @ Teancum. The whole problem with those is that I don't even know what's causing them, much less how to fix it.

Posted: Fri Jul 13, 2007 3:54 pm
by Maveritchell
What you posted there shouldn't cause an error; it'll just mean that the game chooses the second WeaponSection = 3 as the weapon. The .odfs are set up to ignore redundancy, in that the line further down in the .odf is the one read.

Posted: Fri Jul 13, 2007 3:59 pm
by Master Fionwë
Okay, so what would the problem be then?

Posted: Fri Jul 13, 2007 4:06 pm
by Maveritchell
Teancum wrote:Crashing at the character select screen is always due to custom sides missing files. Try using the shipped sides and see where it gets you.
What he said. If there are no sev3's showing up about missing assets relating to the units or weapons, you probably set a weapon up in such a way that the game can't read it. I'd comment out weapons one-by-one until you find the issue, if that in fact looks to be the problem.

Posted: Fri Jul 13, 2007 4:16 pm
by Master Fionwë
It was, but not any longer. Thanks guys so much for your help, it works!!!! :D :D :D Now I'll try putting the ninth unit back in.

There still is another problem, the cis spawn very sparingly, and the local teams, geonosians and jedi, don't spawn at all.
But I can now play as the cis, so that problem is gone.

Posted: Fri Jul 13, 2007 4:52 pm
by Maveritchell
You need to add the lines in for enabling Uber Mode. You probably increased unit count for both sides, in addition to adding locals; the game won't read those increased reinforcement counts or spawn the local teams unless you enable ubermode.

Posted: Fri Jul 13, 2007 4:55 pm
by Master Fionwë
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")

---------------------------------------------------------------------------
-- 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 ScriptPostLoad()
AddAIGoal(3, "Deathmatch", 100)
cp0 = CommandPost:New{name = "cp0"}
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"}

--This sets up the actual objective. This needs to happen after cp's are defined
conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF, text = "level.geo1.objectives.conquest", multiplayerRules = true}

--This adds the CPs to the objective. This needs to happen after the objective is set up
conquest:AddCommandPost(cp0)
conquest:AddCommandPost(cp1)
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp3)
conquest:AddCommandPost(cp4)
conquest:AddCommandPost(cp6)
conquest:AddCommandPost(cp7)
conquest:AddCommandPost(cp8)
conquest:AddCommandPost(cp9)

conquest:Start()
SetUberMode(1);
EnableSPHeroRules()

AddDeathRegion("deathregion")
AddDeathRegion("deathregion2")
AddDeathRegion("deathregion3")
AddDeathRegion("deathregion4")
AddDeathRegion("deathregion5")

end
function ScriptInit()
StealArtistHeap(800*1024)
-- Designers, these two lines *MUST* be first.
SetPS2ModelMemory(3500000)
ReadDataFile("ingame.lvl")

SetMemoryPoolSize ("ClothData",100)
SetMemoryPoolSize ("Combo",12) -- should be ~ 2x number of jedi classes
SetMemoryPoolSize ("Combo::State",130) -- should be ~12x #Combo
SetMemoryPoolSize ("Combo::Transition",200) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Condition",180) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Attack",180) -- should be ~8-12x #Combo
SetMemoryPoolSize ("Combo::DamageSample",1200) -- should be ~8-12x #Combo::Attack
SetMemoryPoolSize ("Combo::Deflect",160) -- should be ~1x #combo


-- REP Attacking (attacker is always #1)
local REP = 1
local CIS = 2
-- These variables do not change
local ATT = 1
local DEF = 2

SetTeamAggressiveness(CIS, 1.0)
SetTeamAggressiveness(REP, 1.0)

SetMemoryPoolSize("Music", 40)

ReadDataFile("sound\\geo.lvl;geo1cw")
ReadDataFile("dc:SIDE\\rep.lvl",
"rep_bldg_forwardcenter",
"rep_fly_assault_dome",
"rep_fly_command",
"rep_fly_commandship",
"rep_fly_gunship",
"rep_fly_gunship_dome",
"rep_fly_jedifighter_sc",
"rep_inf_ep3_pilot",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_jettrooper",
"rep_inf_ep3_sniper",
"rep_inf_ep3_officer",
"rep_inf_ep3_engineer",
"rep_hero_macewindu",
"rep_hero_aalya",
"rep_hero_kiyadimundi",
"rep_hero_obiwan",
"rep_hero_anakin",
"rep_hover_barcspeeder",
"rep_walk_atte")

ReadDataFile("SIDE\\cis.lvl",
"cis_fly_droidfighter_dome",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_engineer",
"cis_hero_countdooku",
"cis_inf_droideka",
"cis_tread_hailfire",
"cis_hover_stap",
"cis_walk_spider")
ReadDataFile("dc:SIDE\\geo.lvl",
"geo_inf_geonosian")

ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_geoturret")

-- Level Stats

ClearWalkers()
SetMemoryPoolSize("EntityWalker", -1)
AddWalkerType(0, 40) -- 40 droidekas (special case: 0 leg pairs)
AddWalkerType(2, 6) -- 2 spider walkers with 2 leg pairs each
AddWalkerType(3, 4) -- 2 attes with 3 leg pairs each
local weaponcnt = 240
SetMemoryPoolSize("Aimer", 170)
SetMemoryPoolSize("AmmoCounter", weaponcnt)
SetMemoryPoolSize("BaseHint", 480)
SetMemoryPoolSize("CommandFlyer", 2)
SetMemoryPoolSize("CommandWalker", 2)
SetMemoryPoolSize("EnergyBar", weaponcnt)
SetMemoryPoolSize("EntityCloth",60)
SetMemoryPoolSize("EntityFlyer", 15)
SetMemoryPoolSize("EntityHover", 9)
SetMemoryPoolSize("EntityLight", 50)
SetMemoryPoolSize("EntitySoundStream", 4)
SetMemoryPoolSize("FLEffectObject::OffsetMatrix", 120)
SetMemoryPoolSize("MountedTurret", 50)
SetMemoryPoolSize("Navigator", 50)
SetMemoryPoolSize("Obstacle", 450)
SetMemoryPoolSize("ParticleTransformer::ColorTrans", 1875)
SetMemoryPoolSize("ParticleTransformer::SizeTransf", 1850)
SetMemoryPoolSize("ParticleTransformer::PositionTr", 1250)
SetMemoryPoolSize("ParticleEmitter", 512)
SetMemoryPoolSize("ParticleEmitterInfoData", 512)
SetMemoryPoolSize("PassengerSlot", 9)
SetMemoryPoolSize("PathFollower", 50)
SetMemoryPoolSize("PathNode", 100)
SetMemoryPoolSize("TreeGridStack", 420)
SetMemoryPoolSize("UnitAgent", 80)
SetMemoryPoolSize("UnitController", 80)
SetMemoryPoolSize("Weapon", weaponcnt)
SetMemoryPoolSize("SoldierAnimation", 1500)

SetSpawnDelay(5.0, 0.25)

SetupTeams{

rep = {
team = REP,
units = 80,
reinforcements = 250,
soldier = { "rep_inf_ep3_rifleman",20, 30},
assault = {"rep_inf_ep3_rocketeer",9, 15},
sniper = { "rep_inf_ep3_sniper",9, 15},
engineer = { "rep_inf_ep3_pilot",9, 15},
officer = {"rep_inf_ep3_officer",2, 5},
special = { "rep_inf_ep3_jettrooper",2, 5},
},
cis = {
team = CIS,
units = 180,
reinforcements = 350,
soldier = { "cis_inf_rifleman",30, 80},
assault = { "cis_inf_rocketeer",18, 30},
engineer = { "cis_inf_engineer",18, 30},
sniper = { "cis_inf_sniper",18, 30},
officer = {"cis_inf_officer",5, 15},
special = { "cis_inf_droideka",10, 20},
}
}

SetHeroClass(REP, "rep_hero_macewindu")
SetHeroClass(CIS, "cis_hero_countdooku")


-- Attacker Stats

--teamATT = ConquestTeam:New{team = ATT}
--teamATT:AddBleedThreshold(21, 0.75)
--teamATT:AddBleedThreshold(11, 2.25)
--teamATT:AddBleedThreshold(1, 3.0)
--teamATT:Init()
SetTeamAsEnemy(ATT,3)
SetTeamAsEnemy(3,ATT)

-- Defender Stats

--teamDEF = ConquestTeam:New{team = DEF}
--teamDEF:AddBleedThreshold(21, 0.75)
--teamDEF:AddBleedThreshold(11, 2.25)
--teamDEF:AddBleedThreshold(1, 3.0)
--teamDEF:Init()
SetTeamAsFriend(DEF,3)

-- Local Stats
SetTeamName(3, "locals")
SetUnitCount(15, 45)
AddUnitClass(3, "geo_inf_geonosian", 20)
SetTeamAsFriend(3, DEF)


-- Attacker Stats

--teamATT = ConquestTeam:New{team = ATT}
--teamATT:AddBleedThreshold(21, 0.75)
--teamATT:AddBleedThreshold(11, 2.25)
--teamATT:AddBleedThreshold(1, 3.0)
--teamATT:Init()
SetTeamAsFriend(ATT,4)
SetTeamAsFriend(ATT,4)

-- Defender Stats

--teamDEF = ConquestTeam:New{team = DEF}
--teamDEF:AddBleedThreshold(21, 0.75)
--teamDEF:AddBleedThreshold(11, 2.25)
--teamDEF:AddBleedThreshold(1, 3.0)
--teamDEF:Init()
SetTeamAsEnemy(DEF,4)

SetTeamName(4, "locals")
SetUnitCount(2, 4)
AddUnitClass(4, "rep_hero_aalya",1)
AddUnitClass(4, "rep_hero_kiyadimundi",1)
AddUnitClass(4, "rep_hero_obiwan",1)
SetTeamAsFriend(4, ATT)

ReadDataFile("dc:BOG\\geo1.lvl", "geo1_conquest")

SetDenseEnvironment("false")
SetMinFlyHeight(-125)
SetMaxFlyHeight(125)
SetMaxPlayerFlyHeight(175)



-- Birdies
--SetNumBirdTypes(1)
--SetBirdType(0.0,10.0,"dragon")
--SetBirdFlockMinHeight(90.0)

-- Sound

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\\geo.lvl", "geo1cw")
OpenAudioStream("sound\\geo.lvl", "geo1cw")

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)

SetLowReinforcementsVoiceOver(REP, REP, "rep_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(REP, CIS, "rep_off_victory_im", .1, 1)
SetLowReinforcementsVoiceOver(CIS, CIS, "cis_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(CIS, REP, "cis_off_victory_im", .1, 1)

SetOutOfBoundsVoiceOver(1, "repleaving")
SetOutOfBoundsVoiceOver(2, "cisleaving")

SetAmbientMusic(REP, 1.0, "rep_GEO_amb_start", 0,1)
SetAmbientMusic(REP, 0.8, "rep_GEO_amb_middle", 1,1)
SetAmbientMusic(REP, 0.2, "rep_GEO_amb_end", 2,1)
SetAmbientMusic(CIS, 1.0, "cis_GEO_amb_start", 0,1)
SetAmbientMusic(CIS, 0.8, "cis_GEO_amb_middle", 1,1)
SetAmbientMusic(CIS, 0.2, "cis_GEO_amb_end", 2,1)

SetVictoryMusic(REP, "rep_geo_amb_victory")
SetDefeatMusic (REP, "rep_geo_amb_defeat")
SetVictoryMusic(CIS, "cis_geo_amb_victory")
SetDefeatMusic (CIS, "cis_geo_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")


--ActivateBonus(CIS, "SNEAK_ATTACK")
--ActivateBonus(REP, "SNEAK_ATTACK")

SetAttackingTeam(ATT)

--Opening Satalite Shot
--Geo
--Mountain
AddCameraShot(0.996091, 0.085528, -0.022005, 0.001889, -6.942698, -59.197201, 26.136919)
--Wrecked Ship
AddCameraShot(0.906778, 0.081875, -0.411906, 0.037192, 26.373968, -59.937874, 122.553581)
--War Room
--AddCameraShot(0.994219, 0.074374, 0.077228, -0.005777, 90.939568, -49.293945, -69.571136)
end
As you can see, I've already done that. Everything is set correctly for locals, as far as I know. But are there different levels of ubermode?

Posted: Sat Jul 14, 2007 3:50 am
by MercuryNoodles
I don't know about the duplicate 3's, but skipping 5 will definately cause a crash with no error shown on the log. I've done that before.

As for the unit count, I think the engine is just filling the minimum counts initially. You may need to increase those numbers, if you want more units right away. On second thought, scratch that. I just rechecked the minimums. Is that correct placement of the UberMode line?

Posted: Tue Jul 17, 2007 10:40 am
by Master Fionwë
Yeah, the engineer had two 3's, and the pilot was missing number 4, it was five instead. :oops:
I'm pretty sure it's in the right place. That's where I saw it in someone else's script, and that's where it is in the xl script, I think.

Posted: Tue Jul 17, 2007 3:22 pm
by Master Fionwë
Okay, sorry for the double post, but I found out why my geonosians weren't spawning.
-- Local Stats
SetTeamName(3, "locals")
SetUnitCount(15, 45)
AddUnitClass(3, "geo_inf_geonosian", 20)
SetTeamAsFriend(3, DEF)
That is supposed to be the team number, not units. So I changed it to three and they spawn now. But I did the same for my jedi, and they still don't spawn. At least, I never saw them. The cis are spawing in proper numbers now, and I found out that even with the huge advantage of weapons, the rep still gets it's butt kicked by the droids. And somehow I exceeded the limit of sixteen command posts, but it didn't crash on me until the defeat counter came up, and five seconds into it the game crashed. No biggie, though. This one I can fix myself. Thanks guys for your help, much appreciated!