Page 1 of 1

List Pool and LUA help (Still need help, please!!!!!)

Posted: Tue Jul 31, 2007 7:46 pm
by Master Fionwë
Two things. What is the list pool, and how do I set it? Plus, can someone please tell me if I have the walkers set up right in my lua. Thanks in advance.

Code: Select all

--
-- 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)
	AddAIGoal(4, "Deathmatch", 100)
    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"}
    
    --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(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: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 ("Combo",50)              -- should be ~ 2x number of jedi classes
    SetMemoryPoolSize ("Combo::State",500)      -- should be ~12x #Combo
    SetMemoryPoolSize ("Combo::Transition",520) -- should be a bit bigger than #Combo::State
    SetMemoryPoolSize ("Combo::Condition",520)  -- should be a bit bigger than #Combo::State
    SetMemoryPoolSize ("Combo::Attack",500)     -- should be ~8-12x #Combo
    SetMemoryPoolSize ("Combo::DamageSample",4750)  -- 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, 0.9)
    SetTeamAggressiveness(REP, 1.0)

    SetMemoryPoolSize("Music", 45)

    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_ep2_jettrooper_sniper",
                             "rep_inf_ep2_jettrooper_rifleman",
                             "rep_inf_ep2_commander",
                             "rep_inf_ep3_arctrooper",
                             "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_hero_shaakti",
                             "rep_hero_plokoon",
                             "rep_hero_luminara",
                             "rep_hover_barcspeeder",
                             "rep_walk_sphat",
                             "rep_walk_atte")
                             
    ReadDataFile("SIDE\\rep.lvl",
                             "rep_fly_gunship_dome",
                             "rep_fly_jedifighter_dome",
                             "rep_inf_ep2_rifleman",
                             "rep_inf_ep2_jettrooper",
                             "rep_inf_ep2_sniper")

    ReadDataFile("SIDE\\cis.lvl",
                             "cis_fly_droidfighter_dome",
                             "cis_inf_rifleman",
                             "cis_inf_rocketeer",
                             "cis_inf_sniper",
                             "cis_inf_marine",
                             "cis_inf_engineer",
                             "cis_hero_countdooku",
                             "cis_inf_droideka",
                             "cis_tread_hailfire",
                             "cis_hover_stap",
                             "cis_walk_spider")
    ReadDataFile("dc:SIDE\\geo.lvl",
                             --"geo_walk_dwarfspider",
                             "geo_fly_geofighter",
                             --"geo_fly_geofighter_sc",
                             "geo_inf_acklay",
                             "geo_inf_geonosian")
    
	ReadDataFile("SIDE\\tur.lvl",
                             "tur_bldg_geoturret")

    --  Level Stats

    ClearWalkers()
    SetMemoryPoolSize("EntityWalker", 19)
    AddWalkerType(0, 60) -- 40 droidekas (special case: 0 leg pairs)
    AddWalkerType(2, 9) -- 2 dwarf spiders with 2 leg pairs each
    AddWalkerType(2, 8) -- 2 spider walkers with 2 leg pairs each
    AddWalkerType(3, 2) -- 2 attes with 3 leg pairs each
    local weaponcnt = 240
    SetMemoryPoolSize("Aimer", 295)
    SetMemoryPoolSize("AmmoCounter", 2095)
    SetMemoryPoolSize("AcklayData", 34)
    SetMemoryPoolSize("BaseHint", 480)
    SetMemoryPoolSize ("ClothData",100)
    SetMemoryPoolSize("CommandFlyer", 2)
    SetMemoryPoolSize("CommandWalker", 2)
    SetMemoryPoolSize("EnergyBar", 2095)
    SetMemoryPoolSize("EntityCloth",90)
    SetMemoryPoolSize("EntityFlyer", 18)
    SetMemoryPoolSize("EntityHover", 12)
    SetMemoryPoolSize("EntityLight", 50)
    SetMemoryPoolSize("EntitySoundStream", 4)
    SetMemoryPoolSize("FLEffectObject::OffsetMatrix", 120)
    SetMemoryPoolSize("MountedTurret", 57)
    SetMemoryPoolSize("Navigator", 448)
    SetMemoryPoolSize("Obstacle", 450)
    SetMemoryPoolSize("ParticleTransformer::ColorTrans", 2275)
    SetMemoryPoolSize("ParticleTransformer::SizeTransf", 1850)
    SetMemoryPoolSize("ParticleTransformer::PositionTr", 1450)
    SetMemoryPoolSize("ParticleEmitter", 512)
    SetMemoryPoolSize("ParticleEmitterInfoData", 512)
    SetMemoryPoolSize("PassengerSlot", 18)
    SetMemoryPoolSize("PathFollower", 440)
    SetMemoryPoolSize("PathNode", 100)
    SetMemoryPoolSize("RedShadingState", 25)
    SetMemoryPoolSize("TreeGridStack", 655)
    SetMemoryPoolSize("UnitAgent", 495)
    SetMemoryPoolSize("UnitController", 495)
    SetMemoryPoolSize("WalkerBlend", 115)
    SetMemoryPoolSize("WalkerBlendUnit", 185)
    SetMemoryPoolSize("Weapon", 2095)
    SetMemoryPoolSize("WeaponDispenser", 120)
    SetMemoryPoolSize("SoldierAnimation", 2000)

    SetSpawnDelay(5.0, 0.25)

SetupTeams{
             
        rep = {
            team = REP,
            units = 100,
            reinforcements = 1000,
            soldier  = { "rep_inf_ep3_rocketeer",6, 11},
            pilot  = { "rep_inf_ep3_sniper",6, 11},
            assault  = {"rep_inf_ep3_engineer",6, 11},
            sniper   = {  "rep_inf_ep3_pilot",6, 10},
            marine  = { "rep_inf_ep3_officer",4, 8},
            engineer   = { "rep_inf_ep3_jettrooper",5, 8},
            officer = {"rep_inf_ep2_commander",3, 7},
            special  = {  "rep_inf_ep3_arctrooper",1, 4},
            AddUnitClass(1,  "rep_inf_ep3_rifleman",15, 30)
        },
        cis = {
            team = CIS,
            units = 160,
            reinforcements = 800,
            soldier  = { "cis_inf_rifleman",20, 40},
            pilot  = { "geo_inf_geonosian",10, 20},
            assault  = { "cis_inf_rocketeer",10, 15},
            engineer = { "cis_inf_engineer",10, 15},
            sniper   = { "cis_inf_sniper",10, 15},
            officer = {"cis_inf_marine",15, 30},
            special = { "cis_inf_droideka",15, 25},
        }
     }
   
    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(3, 90)
    AddUnitClass(3, "geo_inf_geonosian", 70)
    AddUnitClass(3, "geo_inf_acklay", 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(4, 100)
    AddUnitClass(4, "rep_inf_ep2_rifleman",93)
    AddUnitClass(4, "rep_hero_aalya",1)
    AddUnitClass(4, "rep_hero_anakin",1)
    AddUnitClass(4, "rep_hero_kiyadimundi",1)
    AddUnitClass(4, "rep_hero_luminara",1)
    AddUnitClass(4, "rep_hero_obiwan",1)
    AddUnitClass(4, "rep_hero_plokoon",1)
    AddUnitClass(4, "rep_hero_shaakti",1)
    SetTeamAsFriend(4, ATT)

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

    SetDenseEnvironment("false")
    SetMinFlyHeight(-120)
    SetMaxFlyHeight(200)
    SetMaxPlayerFlyHeight(205)



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

RE: List Pool and LUA help

Posted: Tue Jul 31, 2007 8:35 pm
by RepSharpshooter

Code: Select all

AddWalkerType(2, 9) -- 2 dwarf spiders with 2 leg pairs each
    AddWalkerType(2, 8) -- 2 spider walkers with 2 leg pairs each 
I'm pretty sure it's supposed to be

Code: Select all

AddWalkerType(2, 17)

I read somewhere that you don't need to repeat it.

Posted: Tue Jul 31, 2007 9:34 pm
by Maveritchell
Yeah, if you repeat it, it'll only read the second line, which in this case sets the memorypool to 8 total.

Posted: Tue Jul 31, 2007 11:26 pm
by Master Fionwë
Would that cause a crash though?

Posted: Tue Jul 31, 2007 11:28 pm
by Maveritchell
You need to show us exactly what the error was in the log, or we're shooting blind, so to speak.

Posted: Tue Jul 31, 2007 11:42 pm
by Master Fionwë
That is the whole problem. There is no error concerning that. The last error, and sometimes the preceeding twenty are always could not build entity hover.

Posted: Tue Jul 31, 2007 11:45 pm
by Maveritchell
Err, I dunno if it would cause a crash, but I seriously doubt you have 40 droidekas on the field at a time. That's a touch excessive. It may be your problem.

Posted: Tue Jul 31, 2007 11:49 pm
by Master Fionwë
Well, I have twenty-five. But actually, the map could use some more. This is my Geonosis map. I made these changes after the upload. I'll test that though, not now, tomorrow. Thanks.

EDIT: Still crashes. I replaced my script with a backup that I had made several days ago, thinking that could be the issue. It's not. But I forgot to completely adjust it to the new cps, so the ai didn't spawn on the two main teams, but the locals did. It didn't crash at all then. But when I went and fixed it, it crashed again. So it would seem that the issue is one of my main sides, and yet xl works fine, os it's not the rep. It seems only conquest has a problem with th sides.