Page 1 of 1

add unit class error

Posted: Tue Mar 25, 2008 9:06 am
by Bantha55
My naboo map isn´t crashing anymore but everything is black and the cps are gone.
here is a strange error i found:
Hidden/Spoiler:
Message Severity: 3
C:\Battlefront2\main\Battlefront2\Source\LuaHelper.cpp(312)
CallProc failed: bad argument #1 to `AddUnitClass' (number expected, got nil)
stack traceback:
[C]: in function `AddUnitClass'
(none): in function `ScriptInit'
And here´s my lua:
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"}
cp3 = CommandPost:New{name = "cp3"}
cp5 = CommandPost:New{name = "cp5"}
cp2 = CommandPost:New{name = "cp2"}
cp4 = CommandPost:New{name = "cp4"}
cp6 = CommandPost:New{name = "cp6"}
cp7 = CommandPost:New{name = "cp7"}
cp8 = CommandPost:New{name = "cp8"}
cp10 = CommandPost:New{name = "cp10"}
cp11 = CommandPost:New{name = "cp11"}


--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(cp3)
conquest:AddCommandPost(cp5)
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp4)
conquest:AddCommandPost(cp6)
conquest:AddCommandPost(cp7)
conquest:AddCommandPost(cp8)
conquest:AddCommandPost(cp1)
conquest:AddCommandPost(cp10)
conquest:AddCommandPost(cp11)

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

SetUberMode(1);

ReadDataFile("ingame.lvl")


SetMaxFlyHeight(200)
SetMaxPlayerFlyHeight (200)

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\\yav.lvl;yav1cw")
ReadDataFile("dc:SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_secdrd",
"cis_inf_sniper",
"cis_inf_cmd",
"cis_inf_officer",
"cis_inf_droideka",
"cis_hero_darthmaul",
"cis_hover_aat",
"cis_inf_pilot",
"cis_hover_stap",
"cis_inf_neimoidiangunner",
"cis_fly_droidfighter_sc",
"cis_hover_mtt")


ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_laser",
"tur_bldg_tower")


ReadDataFile("dc:SIDE\\gar.lvl",
"gar_inf_soldier",
"gar_inf_vanguard",
"gar_inf_temple_soldier",
"gar_inf_temple_vanguard",
"gar_inf_naboo_queen",
"rep_1",
"rep_hero_ep1_obiwan",
"rep_hero_quigon")


ReadDataFile("dc:SIDE\\gun.lvl",
"gun_inf_soldier",
"gun_inf_captain",
"gun_inf_militiagung")

ReadDataFile("dc:SIDE\\all.lvl",
"all_fly_n1")

SetupTeams{
rep = {
team = REP,
units = 200,
reinforcements = 1400,
soldier = { "gar_inf_soldier",9, 70},
assault = { "gar_inf_vanguard",9, 70},
engineer = { "gar_inf_temple_soldier",1, 70},

},
cis = {
team = CIS,
units = 299,
reinforcements = 2000,
soldier = { "cis_inf_engineer",9, 90},
assault = { "cis_inf_secdrd",1, 90},
engineer = { "cis_inf_pilot",1,50},
sniper = { "cis_inf_neimoidiangunner",1,10},
special = { "cis_inf_droideka",1, 50},
}
}

AddUnitClass(CIS, "cis_inf_cmd", 1,10)
AddUnitClass(GAR, "rep_hero_quigon", 1,1)
AddUnitClass(GAR, "rep_hero_ep1_obiwan", 1,1)
AddUnitClass(CIS, "cis_hero_darthmaul", 1,1)


SetHeroClass(CIS, "")
SetHeroClass(REP, "")

SetTeamName(3, "locals")
AddUnitClass(3,"gun_inf_soldier",100)
AddUnitClass(3,"gun_inf_captain",10)
AddUnitClass(3,"gun_inf_militiagung",100)
SetUnitCount(3,200)
AddAIGoal(3, "Deathmatch", 200)
SetTeamAsFriend(ATT,3)
SetTeamAsFriend(3,ATT)
SetTeamAsEnemy(DEF,3)
SetTeamAsEnemy(3,DEF)


-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 20) -- 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)
AddWalkerType(1, 5) -- 7 atsts with 1 leg pairs each
AddWalkerType(2, 2) -- 4 atats with 2 leg pairs each

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

SetSpawnDelay(10.0, 0.25)
--ReadDataFile("dc:MTK\\MTK.lvl", "MTK_conquest")
ReadDataFile("dc:MTK\\MTK.lvl", "MTK_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

Re: add unit class error

Posted: Tue Mar 25, 2008 10:07 am
by Maveritchell
That error is exactly what it looks like. You're using a bad AddUnitClass, because there's no team "GAR," just the teams "CIS" and "REP." Change GAR to REP.

Re: add unit class error

Posted: Tue Mar 25, 2008 10:52 am
by Bantha55
Yes you´re right Mav´,thanks.

But now the map crashes again and I have really no clue why...

I noticed that there are some of these errors in my log:
Hidden/Spoiler:
Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\StringDB.cpp(48)
ID=afc5bf59: trying to replace "nab1_bldg_largehangar" with "nab1_bldg_largehangar5"

Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\StringDB.cpp(48)
ID=3c9e70e9: trying to replace "nab2_bldg_b_19" with "nab2_bldg_b_195"

Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\StringDB.cpp(48)
ID=b3c5c5a5: trying to replace "nab1_bldg_largehangar" with "nab1_bldg_largehangar1"

Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\StringDB.cpp(48)
ID=3b9e6f56: trying to replace "nab2_bldg_b_19" with "nab2_bldg_b_194"

Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\StringDB.cpp(48)
ID=caa1a8ee: trying to replace "nab2_bldg_arch" with "nab2_bldg_arch1"
Do they mean that I have too many objects in my map?

Re: add unit class error

Posted: Tue Mar 25, 2008 10:54 am
by woner11
Is that your whole log? Go back and do a find for

Code: Select all

: 3
That should tell you all the message severity three errors.

Re: add unit class error

Posted: Tue Mar 25, 2008 10:58 am
by FragMe!
Those are normal errors, really, I got them all the time on Sewers.
Your problem might be the amount of units you are trying to spawn, my quick math count brings it up to 700 (Rep 200 + CIS 299 + Locals 200) which may be a few too many. Try changing the units by half and see if that works.

Re: add unit class error

Posted: Tue Mar 25, 2008 11:27 am
by Bantha55
now I have reduced the unitcount of every team to 100 (so they´re 300 units in total) but it still crashes.

Re: add unit class error

Posted: Tue Mar 25, 2008 11:29 am
by woner11
Post your whole log and yourpcmunge log.

Re: add unit class error

Posted: Tue Mar 25, 2008 11:34 am
by FragMe!
With no obvious errors?
What was the last thing you added before the crash started?

Try just removing the locals then, also is rep_1 an actual modded unit?
I am also going to assume quigon and ep1obiwan are in the GAR side folder.
If it still crashes try removing the modded uints.

Re: add unit class error

Posted: Tue Mar 25, 2008 11:57 am
by woner11
When does the map crash? After you see the units, or you can run around for a bit, or before all of that, when?

Re: add unit class error

Posted: Tue Mar 25, 2008 1:06 pm
by Bantha55
-rep_1 is the gian speeder and it worked before the crash. the jedis never worked although they all have reqs and so on and they´re in the gar side.Now i have removed them but it still crashes.
-the map crashes after loading
-the whole log is too big

Re: add unit class error

Posted: Tue Mar 25, 2008 1:16 pm
by woner11
You can post the log in two posts. Also when after loading? Do you see the characters or not?

Re: add unit class error

Posted: Wed Mar 26, 2008 5:30 am
by Bantha55
the log is still to big for 2 posts...I searched for message 3 severities but there weren´t any.In the log aren´t very much warnings but they are written down hundred times each...They all say that the memory pools are full.

Re: add unit class error

Posted: Wed Mar 26, 2008 10:39 am
by woner11
Search then for fours or fives. Also if it loads and you see a character and then the map carshes that means that one of the units is the problem. If you are able to run around with the unit for a while, then a turret or vehicle is the problem.

Re: add unit class error

Posted: Wed Mar 26, 2008 11:32 am
by Teancum
I've never seen a Severity: 4. I wonder if they exist.

Re: add unit class error

Posted: Wed Mar 26, 2008 11:39 am
by woner11
Me neither, but I've seen five, so there probably could be 4. Is there anything higher than 5?

Re: add unit class error

Posted: Wed Mar 26, 2008 12:01 pm
by Teancum
Not that I've seen. 5's are usually the FATAL errors. I always figured there wasn't a four since they wanted to make the FATAL errors stick out more. Makes sense to me as a programmer.