Tordarian (Republic ground attack) - Some help needed
Posted: Wed May 03, 2006 9:41 am
I am in the process of working on Tordairian, where the Republic is attacking a CIS supply base. I've included several screenshots to give you an idea about what it's like.
Supply base overview: http://i82.photobucket.com/albums/j252/ ... llview.jpg
Terrain overview from supply base: http://i82.photobucket.com/albums/j252/ ... hView1.jpg
Terrain overview from ground: http://i82.photobucket.com/albums/j252/ ... errain.jpg
Central mountain: http://i82.photobucket.com/albums/j252/ ... ntain1.jpg
Supply base tower: http://i82.photobucket.com/albums/j252/ ... nTower.jpg
View from inside one tunnel: http://i82.photobucket.com/albums/j252/ ... Tunnel.jpg
Entrance to another tunnel: http://i82.photobucket.com/albums/j252/ ... ryway1.jpg
In the process of making this map, I have encountered several minor problems, and two major ones. I'll go over those first.
ATTEs: I would like to have two ATTEs spawn on the southern portion of my map, but I've had no success so far. My c_con LUA file is included near the bottom of this post. As for the vehicle spawn objects, each one of them has nothing written in the controlzone field, and has rep_walk_atte written in the repatk and hisatk fields, all in imitation of the ATTE spawn on the Geonosis map. Notes: I have gotten fightertanks and a hailfire to spawn successfully, I have NOT modified any data files besides the c_con LUA file (although I know I might need to), all command post data in my LUA is based off command posts in the map, and the result of attempting to add ATTEs has generally been a loading screen crash.
Turrents: I would also like to add a variety of defensive turrents to help protect the supply base. I have gotten the standard laser turrents to spawn, although they start out destroyed (which I would like to change), however, attempting to add other turrents (the hoth dish turrent, and the guided rocket turrent) has caused a loading screen crash. Again, I havn't modified any files besides the c_con LUA one, although I know I might have to.
Minor problems: I would like to change the windows of the Polis Massa hallway to be opaque, I would like to have my map name show up in-game as Tordarian rather than TOR%s_%s (just changing the addme.lua caused the game to freeze), and I would like to add a map description that shows up in-game.
c_con LUA file: Note that all values relating to ATTEs and to problematic turrent IDs have been commented out.
--
-- 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"}
cp5 = CommandPost:New{name = "cp5"}
cp6 = CommandPost:New{name = "cp6"}
--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:AddCommandPost(cp5)
conquest:AddCommandPost(cp6)
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()
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("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_walk_atte",
"rep_hover_fightertank",
"rep_hover_barcspeeder")
ReadDataFile("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_tread_hailfire",
"cis_hover_aat")
ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_laser",
-- "tur_bldg_guided_rocket",
-- "tur_bldg_hoth_dishturrent",
"tur_bldg_tower")
SetupTeams{
rep = {
team = REP,
units = 20,
reinforcements = 150,
soldier = { "rep_inf_ep3_rifleman",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 = { "cis_inf_rifleman",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 = { "cis_inf_droideka",1, 4},
}
}
SetHeroClass(CIS, "cis_hero_darthmaul")
SetHeroClass(REP, "rep_hero_anakin")
-- 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(2, 3) -- 3x2 (3 pairs of legs)
local weaponCnt = 800
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 ("CommandWalker", 2)
SetMemoryPoolSize ("EntityHover", 4)
SetMemoryPoolSize("MountedTurret", 90)
SetSpawnDelay(10.0, 0.25)
--ReadDataFile("dc:TOR\\TOR.lvl", "TOR_conquest")
ReadDataFile("dc:TOR\\TOR.lvl", "TOR_conquest")
SetDenseEnvironment("false")
The sound section was not included. So with that done, can anyone be of assistance?
Supply base overview: http://i82.photobucket.com/albums/j252/ ... llview.jpg
Terrain overview from supply base: http://i82.photobucket.com/albums/j252/ ... hView1.jpg
Terrain overview from ground: http://i82.photobucket.com/albums/j252/ ... errain.jpg
Central mountain: http://i82.photobucket.com/albums/j252/ ... ntain1.jpg
Supply base tower: http://i82.photobucket.com/albums/j252/ ... nTower.jpg
View from inside one tunnel: http://i82.photobucket.com/albums/j252/ ... Tunnel.jpg
Entrance to another tunnel: http://i82.photobucket.com/albums/j252/ ... ryway1.jpg
In the process of making this map, I have encountered several minor problems, and two major ones. I'll go over those first.
ATTEs: I would like to have two ATTEs spawn on the southern portion of my map, but I've had no success so far. My c_con LUA file is included near the bottom of this post. As for the vehicle spawn objects, each one of them has nothing written in the controlzone field, and has rep_walk_atte written in the repatk and hisatk fields, all in imitation of the ATTE spawn on the Geonosis map. Notes: I have gotten fightertanks and a hailfire to spawn successfully, I have NOT modified any data files besides the c_con LUA file (although I know I might need to), all command post data in my LUA is based off command posts in the map, and the result of attempting to add ATTEs has generally been a loading screen crash.
Turrents: I would also like to add a variety of defensive turrents to help protect the supply base. I have gotten the standard laser turrents to spawn, although they start out destroyed (which I would like to change), however, attempting to add other turrents (the hoth dish turrent, and the guided rocket turrent) has caused a loading screen crash. Again, I havn't modified any files besides the c_con LUA one, although I know I might have to.
Minor problems: I would like to change the windows of the Polis Massa hallway to be opaque, I would like to have my map name show up in-game as Tordarian rather than TOR%s_%s (just changing the addme.lua caused the game to freeze), and I would like to add a map description that shows up in-game.
c_con LUA file: Note that all values relating to ATTEs and to problematic turrent IDs have been commented out.
--
-- 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"}
cp5 = CommandPost:New{name = "cp5"}
cp6 = CommandPost:New{name = "cp6"}
--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:AddCommandPost(cp5)
conquest:AddCommandPost(cp6)
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()
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("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_walk_atte",
"rep_hover_fightertank",
"rep_hover_barcspeeder")
ReadDataFile("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_tread_hailfire",
"cis_hover_aat")
ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_laser",
-- "tur_bldg_guided_rocket",
-- "tur_bldg_hoth_dishturrent",
"tur_bldg_tower")
SetupTeams{
rep = {
team = REP,
units = 20,
reinforcements = 150,
soldier = { "rep_inf_ep3_rifleman",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 = { "cis_inf_rifleman",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 = { "cis_inf_droideka",1, 4},
}
}
SetHeroClass(CIS, "cis_hero_darthmaul")
SetHeroClass(REP, "rep_hero_anakin")
-- 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(2, 3) -- 3x2 (3 pairs of legs)
local weaponCnt = 800
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 ("CommandWalker", 2)
SetMemoryPoolSize ("EntityHover", 4)
SetMemoryPoolSize("MountedTurret", 90)
SetSpawnDelay(10.0, 0.25)
--ReadDataFile("dc:TOR\\TOR.lvl", "TOR_conquest")
ReadDataFile("dc:TOR\\TOR.lvl", "TOR_conquest")
SetDenseEnvironment("false")
The sound section was not included. So with that done, can anyone be of assistance?