Page 1 of 1

Droideka Causes Crash [Solved]

Posted: Thu Sep 20, 2012 2:40 pm
by RevanSithLord
I've done some searches, but if I somehow skipped over a similar topic about droidekas, please link me and just close the thread or something. It's very likely I missed it whilst browsing if there was another thread.

Anyways, I'm adding my own version of the droideka to my own side, TRF (short for Trade Federation) and I've been having problems implementing it. As far as I am aware, all files required are in the proper locations, that I could find. I haven't been able to get it to work. I checked my luas and noticed there was no comma after the first class (the droid rifleman I added) like it showed on all the other classes, so I added the comma. It's been crashing so I removed the comma and this version of the droideka entirely. Can anyone find out what's wrong?
Hidden/Spoiler:
[quote="Bfront2.log"]Message Severity: 2
.\Memory\RedMemoryPool.cpp(317)
Memory pool "ClothData" set item count after being allocated

Message Severity: 2
.\Source\EntityGeometry.cpp(1065)
Entity "com_weap_inf_remotedroid_ord" unknown building collision "p_buildingsphere"

Message Severity: 2
.\Source\EntityGeometry.cpp(1073)
Entity "com_weap_inf_remotedroid_ord" unknown vehicle collision "p_buildingsphere"

Message Severity: 2
.\Source\EntityGeometry.cpp(1089)
Entity "com_weap_inf_remotedroid_ord" unknown ordnance collision "p_sphere"

Message Severity: 2
.\Source\EntityGeometry.cpp(1081)
Entity "com_weap_inf_remotedroid_ord" unknown soldier collision "p_sphere"

Message Severity: 2
.\Source\EntityGeometry.cpp(1058)
Entity "com_weap_veh_guided_rocket_ord" unknown terrain collision "p_front_sphere"

Message Severity: 2
.\Source\EntityGeometry.cpp(1073)
Entity "com_weap_veh_guided_rocket_ord" unknown vehicle collision "p_front_sphere"

Message Severity: 2
.\Source\EntityGeometry.cpp(1065)
Entity "com_weap_veh_guided_rocket_ord" unknown building collision "p_front_sphere"

Message Severity: 2
.\Source\EntityGeometry.cpp(1051)
Entity "com_weap_veh_guided_rocket_ord" unknown targetable collision "CollisionMesh"

Message Severity: 2
.\Source\EntityGeometry.cpp(1058)
Entity "com_weap_award_rocket_launcher_" unknown terrain collision "p_front_sphere"

Message Severity: 2
.\Source\EntityGeometry.cpp(1073)
Entity "com_weap_award_rocket_launcher_" unknown vehicle collision "p_front_sphere"

Message Severity: 2
.\Source\EntityGeometry.cpp(1065)
Entity "com_weap_award_rocket_launcher_" unknown building collision "p_front_sphere"

Message Severity: 2
.\Source\EntityGeometry.cpp(1051)
Entity "com_weap_award_rocket_launcher_" unknown targetable collision "CollisionMesh"

Message Severity: 3
.\Source\Weapon.cpp(2076)
Weapon "all_weap_inf_rifle" missing high res geometry "all_1st_weap_inf_rifle"

Message Severity: 3
.\Source\Weapon.cpp(2076)
Weapon "all_weap_inf_pistol" missing high res geometry "all_1st_weap_inf_pistol"

Message Severity: 3
.\Source\Weapon.cpp(2076)
Weapon "all_weap_award_pistol" missing high res geometry "all_1st_weap_inf_pistol"

Message Severity: 3
.\Source\Weapon.cpp(2076)
Weapon "all_weap_award_rifle" missing high res geometry "all_1st_weap_inf_rifle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (all1_inf_pc_com_hostile_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (all1_inf_pc_com_bacta_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (all1_inf_pc_com_mechanic_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (all1_inf_pc_com_ammo_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (all1_inf_pc_com_transport_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (all1_inf_pc_com_backup_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (all1_inf_pc_com_clear_area_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (all1_inf_pc_com_defend_inVehicle): unknown modifier "InVehicle"

Message Severity: 3
.\Source\Weapon.cpp(2076)
Weapon "all_weap_vexa_flechettepistol" missing high res geometry "all_weap_vexaflechettepistol"

Message Severity: 3
.\Source\Weapon.cpp(2076)
Weapon "cis_weap_inf_rifle" missing high res geometry "cis_1st_weap_inf_rifle"

Message Severity: 3
.\Source\Weapon.cpp(2076)
Weapon "cis_weap_inf_pistol" missing high res geometry "cis_1st_weap_inf_pistol"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_hostile_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_bacta_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_mechanic_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_ammo_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_transport_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_backup_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_clear_area_inVehicle): unknown modifier "InVehicle"

Message Severity: 2
.\Source\VOHelper.cpp(183)
VOSound (cis1_inf_pc_com_defend_inVehicle): unknown modifier "InVehicle"[/quote]
To confirm that it was in-fact the droideka causing problems, I removed him from the .lua, and that seems to have stopped my map from crashing the game. I suppose I'll just go and do the other classes until then, but this one is just not wanting to do it for me.

Re: Droideka Causes Crash

Posted: Thu Sep 20, 2012 2:54 pm
by ARCTroopaNate
Could you please post your lua? Also, I would suggest fixing those missing 1st person models, it may not affect the droideka but you never know, battlefront can be picky sometimes. 8)

Re: Droideka Causes Crash

Posted: Thu Sep 20, 2012 2:57 pm
by Marth8880
Has you this in teh loo-ow? :o

Code: Select all

AddWalkerType(0, 4) -- special -> droidekas

Re: Droideka Causes Crash

Posted: Thu Sep 20, 2012 3:07 pm
by RevanSithLord
@Marth: I'm pretty sure I saw that in there, but I will double-check and let you know if it's in there.

Edit - Yes, I has its. :o

@Nate: Sure I'll go grab it, but as I said I removed the class, but I can put it back how it was to show you what I had.

Also yeah, I'll fix those 1st problems, they are getting rather annoying. XD

Edit - This is what I had, which actually did crash the game. Note: without the droideka, it's fine. Also, DC is in front of REP and CIS because I don't want those default classes loaded in there. Earlier when I had droideka class removed and added DC (yes I know what it does and what it stands for) in front of those, it loaded only my TRF and LRP sides with the two only classes for them, so I can actually test only those. I'm sure modders here have done that for ages, but I find it convenient to test specific side units. Just had a big deathmatch between only B-1's and Pirate Riflemen earlier. It was cool and insane.
Hidden/Spoiler:
[quote="My CW Lua"]
--
-- 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()


--tell the game to load our loading image
ReadDataFile("dc:Load\\common.lvl")


ReadDataFile("ingame.lvl")


SetMaxFlyHeight(30)
SetMaxPlayerFlyHeight (30)

SetMemoryPoolSize ("ClothData",20)
SetMemoryPoolSize ("Combo",100) -- 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:sound\\lju.lvl;ljucw")
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("dc:SIDE\\lrp.lvl",
"lrp_inf_pirate")

ReadDataFile("dc:SIDE\\trf.lvl",
"trf_inf_battledroid",
"trf_inf_droideka")


ReadDataFile("dc: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")

SetupTeams{
rep = {
team = REP,
units = 20,
reinforcements = 150,
soldier = { "lrp_inf_pirate",9, 25},
assault = { "rep_inf_ep3_rocketeer",1, 4},
engineer = { "rep_inf_ep3_engineer",1, 4},
sniper = { "rep_inf_ep3_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 = { "trf_inf_battledroid",9, 25},
assault = { "cis_inf_rocketeer",1, 4},
engineer = { "cis_inf_engineer",1, 4},
sniper = { "cis_inf_sniper",1, 4},
officer = {"cis_inf_officer",1, 4},
special = { "trf_inf_droideka",1, 4},
}
}

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


-- 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("SoldierAnimation", 500)
SetMemoryPoolSize("SoundSpaceRegion", 64)
SetMemoryPoolSize("TreeGridStack", 1024)
SetMemoryPoolSize("UnitAgent", 128)
SetMemoryPoolSize("UnitController", 128)
SetMemoryPoolSize("Weapon", weaponCnt)

SetSpawnDelay(10.0, 0.25)
--ReadDataFile("dc:LJU\\LJU.lvl", "LJU_conquest")
ReadDataFile("dc:LJU\\LJU.lvl", "LJU_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[/quote]

Re: Droideka Causes Crash

Posted: Thu Sep 20, 2012 3:34 pm
by Dakota
i don't know if it would help much, but i also had a problem with droidekas, whenever i add them they would crash. the weird thing is when i removed ai from the team with the droidekas it didn't crash when i used the droideka.

Does the droideka crash with ai disabled? Also have you done any changes to the droideka? mine worked untill i changed it's skin.

Re: Droideka Causes Crash

Posted: Thu Sep 20, 2012 4:11 pm
by RevanSithLord
Yeah, I retextured it and I gave it the effects from Tusken Camp assets. Sad. Is it just something that can't be done? I didn't know BF2 was THAT picky on when you retexture things.

I know for a fact the problem has always been the droideka and nothing else. I guess I could leave it out for now.

Re: Droideka Causes Crash

Posted: Thu Sep 20, 2012 8:52 pm
by ARCTroopaNate
Could you use setclassproperty to edit it? I've made fully functioning edited droidekas via lua and setclassproperty.

Re: Droideka Causes Crash

Posted: Thu Sep 20, 2012 9:27 pm
by RevanSithLord
Oh, that could work. I'll try that when I get back in about half-hour. :)

Re: Droideka Causes Crash

Posted: Thu Sep 20, 2012 9:43 pm
by AQT
Marth8880 wrote:Has you this in teh loo-ow? :o

Code: Select all

AddWalkerType(0, 4) -- special -> droidekas
That just allows them to show up. It wouldn't crash the game.
Dakota wrote:mine worked untill i changed it's skin.
You must have done something else wrong. The only thing special about the Droideka is that it's a "walkerdroid." Other than that, it can be reskinned, given new weapons, etc. just like any other unit, and it will work fine if you have all of the files necessary that are associated with it/called for, which leads to:
RevanSithLord wrote:As far as I am aware, all files required are in the proper locations,
Can you list all of these files please just to check if you really do have all of the files required?

Re: Droideka Causes Crash

Posted: Thu Sep 20, 2012 10:21 pm
by RevanSithLord
Yes, I shall. With my luck I probably really am missing a few.

Filtering by droideka related files:


[Effects]
cis_droideka_dust.tga
cis_droideka_shield.msh + .msh option
cis_droideka_shield.tga
cis_sfx_droideka_explosion.fx
droideka_wake.fx
droidekashield.fx
ptc_sfx_droideka_laser.tga

[MSH]
cis_1st_droideka_hands.tga
cis_inf_droideka.tga
cis_1st_droideka.msh + .msh option
cis_walk_droideka.msh + its low1 msh file.
droideka_chunk1.msh - all the way up to the 5th chunk.
hud_droideka_shield.msh + option + tga
cis_inf_droideka.tga.option
cis_droideka_idle + roll + their low1 files + options.

[ODF]
trf_inf_droideka.odf (my file, it references everything it should, I believe)
cis_inf_droideka_exp.odf
cis_weap_walk_droideka_shield.odf
cis_weap_inf_repeater.odf and its ord.

That's all I could find.

However, when I look at the default Droidekas req, it shows this:
Hidden/Spoiler:
[quote="cis_inf_droideka.req"]ucft
{
REQN
{
"class"
"cis_inf_droideka"
}

REQN
{
"zafbin"
"droidekafp"
}
REQN
{
"zaabin"
"droidekafp"
}
REQN
{
"model"
"hud_droideka_shield"
}
REQN
{
"texture"
"hud_droideka_shield"
}

}[/quote]
I'm guessing that, by judging from the Droideka's req that I set it up wrong? I sound like such a noob. :lol: I've been trying to narrow down everything.

Re: Droideka Causes Crash

Posted: Thu Sep 20, 2012 10:27 pm
by AQT
You're missing the Droideka's animation files, which can be found in assets\sides\cis\munged. :)

Re: Droideka Causes Crash

Posted: Thu Sep 20, 2012 11:19 pm
by RevanSithLord
*facepalm* Lemme check to make sure I even have those in the location where required.

Edit - I had the fp anims, but not the normal anims. I am such a dork...I'll munge and see if this fixes it...

Edit 2 - I knew I was forgetting something.

Edit 3 - crashed. Also said couldn't load dc:SIDE\\rep.lvl, which doesn't make sense as I had that without any problems since I only want to test out the custom units, not the stock ones plus mine. So I took out the dc just now, gonna see if I get another crash.

Edit 4 - another crash. Strange.

Edit 5 - Made my trf_inf_droideka.req look exactly like cis_inf_droideka.req, will see if it works.

Edit 6 - SUCCESS. That was the problem the whole time. The req was incorrect. :) May now mark as solved and maybe even sticky in-case people run into this problem.