Page 1 of 1

Where are the heroes? [Solved]

Posted: Sat May 09, 2009 10:17 am
by Xavious
This problem has been plaguing be for several days now. I used an edited version of Mav's random heroes script to add in random heroes and clone legions for my mod. I succesfully implemented both features into the shipped Coruscant map, and they worked without problem. But upon trying to add random AI heroes and legions to other maps with the same proccess, I found it didn't work. The clone legions were fine but the heroes did not show up at all. I actually tried this on three seperate maps, and it worked on none of them. I also tried placing the lines in different places, but to no avail.

Here's the lua file for Tantive IV, where the heroes do not work, though the legions do.
Hidden/Spoiler:
[code]--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

-- load the gametype script
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("CWrandom")
ScriptCB_DoFile("CWlegion")
ScriptCB_DoFile("AIHeroSupport")

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

AddDeathRegion("turbinedeath")

KillObject("blastdoor")
DisableBarriers("barracks")
DisableBarriers("liea")
SetMapNorthAngle(180)

-- Turbine Stuff --
BlockPlanningGraphArcs("turbine")
OnObjectKillName(destturbine, "turbineconsole")
OnObjectRespawnName(returbine, "turbineconsole")


cp4 = CommandPost:New{name = "CP4CON"}
cp5 = CommandPost:New{name = "CP5CON"}
cp6 = CommandPost:New{name = "CP6CON"}
cp7 = CommandPost:New{name = "CP7CON"}

conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF, textATT = "game.modes.con", textDEF = "game.modes.con2", multiplayerRules = true}

conquest:AddCommandPost(cp4)
conquest:AddCommandPost(cp5)
conquest:AddCommandPost(cp6)
conquest:AddCommandPost(cp7)

EnableSPHeroRules()

conquest:Start()

if not ScriptCB_InMultiplayer() then
herosupport = AIHeroSupport:New{AIATTHeroHealth = 4000, AIDEFHeroHealth = 4000, gameMode = "NonConquest",}
herosupport:SetHeroClass(CIS, herostrCIS)
herosupport:SetHeroClass(REP, herostrRep)
herosupport:AddSpawnCP("CP4CON","cp4spawn")
herosupport:AddSpawnCP("CP5CON","cp5spawn")
herosupport:AddSpawnCP("CP6CON","cp6spawn")
herosupport:AddSpawnCP("CP7CON","CP7SPAWNPATH")
herosupport:Start()
else
end

--Setup Timer--

timeConsole = CreateTimer("timeConsole")

SetTimerValue(timeConsole, 0.3)

StartTimer(timeConsole)
OnTimerElapse(
function(timer)
SetProperty("turbineconsole", "CurHealth", GetObjectHealth("turbineconsole") + 1)
DestroyTimer(timer)
end,
timeConsole
)


end

function destturbine()
UnblockPlanningGraphArcs("turbine")
PauseAnimation("Turbine Animation")
RemoveRegion("turbinedeath")
-- SetProperty("woodr", "CurHealth", 15)
end

function returbine()
BlockPlanningGraphArcs("turbine")
PlayAnimation("Turbine Animation")
AddDeathRegion("turbinedeath")
-- SetProperty("woodr", "CurHealth", 15)
end

function ScriptInit()
-- Designers, these two lines *MUST* be first!
StealArtistHeap(840000)
SetPS2ModelMemory(4990000)

if not ScriptCB_InMultiplayer() then
DecideUnits(1, 1, 1, 1, 1, 1, 1)
DecideLegion(1, 1, 1)
elseif ScriptCB_InMultiplayer() then
herostrCIS = "cis_hero_grievous"
herostrRep = "rep_hero_obiwan"

medstrCIS = "cis_inf_1_medium"
lightstrCIS = "cis_inf_1_light"
heavystrCIS = "cis_inf_1_heavy"
supportstrCIS = "cis_inf_1_support"
guardstrCIS = "cis_inf_1_guard"

medstrRep = "rep_inf_shock_medium"
lightstrRep = "rep_inf_shock_light"
heavystrRep = "rep_inf_shock_heavy"
supportstrRep = "rep_inf_shock_support"
assassinstrRep = "rep_inf_shock_assassin"
end

SetMemoryPoolSize ("ClothData",40)
SetMemoryPoolSize ("Combo",170) -- should be ~ 2x number of jedi classes
SetMemoryPoolSize ("Combo::State",1850) -- should be ~12x #Combo
SetMemoryPoolSize ("Combo::Transition",1850) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Condition",1850) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Attack",1750) -- should be ~8-12x #Combo
SetMemoryPoolSize ("Combo::DamageSample",14000) -- should be ~8-12x #Combo::Attack
SetMemoryPoolSize ("Combo::Deflect",1140) -- should be ~1x #combo -- should be ~1x #combo

ReadDataFile("ingame.lvl")
SetWorldExtents(1064.5)

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

ReadDataFile("dc:sound\\JN1.lvl;JN1cw")
ReadDataFile("sound\\tan.lvl;tan1cw")

ReadDataFile("SIDE\\rep.lvl",
"rep_hero_macewindu",
"rep_hero_aalya",
"rep_hero_obiwan",
"rep_hero_anakin")

ReadDataFile("SIDE\\cis.lvl",
"cis_hero_darthmaul",
"cis_hero_countdooku",
"cis_hero_grievous")

ReadDataFile("dc:SIDE\\republic2.lvl",
"rep_inf_607_support",
"rep_inf_607_assassin",
"rep_inf_607_medium",
"rep_inf_607_heavy",
"rep_inf_607_light")

ReadDataFile("dc:SIDE\\republic1.lvl",
"rep_inf_shock_support",
"rep_inf_shock_assassin",
"rep_inf_shock_medium",
"rep_inf_shock_heavy",
"rep_inf_shock_light")

ReadDataFile("dc:SIDE\\droids1.lvl",
"cis_inf_1_medium",
"cis_inf_1_support",
"cis_inf_1_guard",
"cis_inf_1_light",
"cis_inf_1_heavy")


SetupTeams{

rep = {
team = REP,
units = 32,
reinforcements = 150,

},

cis = {
team = CIS,
units = 32,
reinforcements = 150,
}
}


--Set up Republic team

AddUnitClass(REP, medstrRep, 5, 12)
AddUnitClass(REP, lightstrRep, 5, 10)
AddUnitClass(REP, heavystrRep, 5, 10)
AddUnitClass(REP, supportstrRep, 1, 6)
AddUnitClass(REP, assassinstrRep, 1, 2)

--End Republic team


--Set up CIS team

AddUnitClass(CIS, medstrCIS, 5, 12)
AddUnitClass(CIS, lightstrCIS, 5, 10)
AddUnitClass(CIS, heavystrCIS, 5, 10)
AddUnitClass(CIS, supportstrCIS, 1, 6)
AddUnitClass(CIS, guardstrCIS, 1, 2)

--End CIS team


if ScriptCB_InMultiplayer() then
SetHeroClass(CIS, herostrCIS)
SetHeroClass(REP, herostrRep)
else
end

-- Level Stats
ClearWalkers()
AddWalkerType(0, 5) -- number of droidekas

local weaponCnt = 177
local guyCnt = 32
SetMemoryPoolSize ("Aimer", 17)
SetMemoryPoolSize ("AmmoCounter", weaponCnt)
SetMemoryPoolSize ("BaseHint", 250)
SetMemoryPoolSize ("EnergyBar", weaponCnt)
SetMemoryPoolSize ("EntityCloth", 18)
SetMemoryPoolSize ("EntitySoundStream", 14)
SetMemoryPoolSize ("EntitySoundStatic", 29)
SetMemoryPoolSize ("EntityFlyer", 6)
SetMemoryPoolSize ("MountedTurret", 2)
SetMemoryPoolSize ("Navigator", guyCnt)
SetMemoryPoolSize ("Obstacle", 250)
SetMemoryPoolSize ("PathFollower", guyCnt)
SetMemoryPoolSize ("PathNode", 384)
SetMemoryPoolSize ("SoundspaceRegion", 15)
SetMemoryPoolSize ("TentacleSimulator", 0)
SetMemoryPoolSize ("TreeGridStack", 150)
SetMemoryPoolSize ("UnitAgent", guyCnt)
SetMemoryPoolSize ("UnitController", guyCnt)
SetMemoryPoolSize ("Weapon", weaponCnt)
SetMemoryPoolSize("SoldierAnimation", 2000)


-- SetMemoryPoolSize("Obstacle", 182)
--
SetSpawnDelay(10.0, 0.25)
ReadDataFile("tan\\tan1.lvl", "tan1_conquest")
SetDenseEnvironment("false")
AISnipeSuitabilityDist(30)
--AddDeathRegion("Sarlac01")
-- SetMaxFlyHeight(90)
-- SetMaxPlayerFlyHeight(90)

-- Sound Stats

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\\tan.lvl", "tan1")
OpenAudioStream("sound\\tan.lvl", "tan1")
-- OpenAudioStream("sound\\global.lvl", "global_vo_quick")
-- OpenAudioStream("sound\\global.lvl", "global_vo_slow")
-- OpenAudioStream("sound\\tan.lvl", "tan1_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)

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_tan_amb_start", 0,1)
SetAmbientMusic(REP, 0.8, "rep_tan_amb_middle", 1,1)
SetAmbientMusic(REP, 0.2,"rep_tan_amb_end", 2,1)
SetAmbientMusic(CIS, 1.0, "cis_tan_amb_start", 0,1)
SetAmbientMusic(CIS, 0.8, "cis_tan_amb_middle", 1,1)
SetAmbientMusic(CIS, 0.2,"cis_tan_amb_end", 2,1)

SetVictoryMusic(REP, "rep_tan_amb_victory")
SetDefeatMusic (REP, "rep_tan_amb_defeat")
SetVictoryMusic(CIS, "cis_tan_amb_victory")
SetDefeatMusic (CIS, "cis_tan_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")


-- Camera Stats
AddCameraShot(0.233199, -0.019441, -0.968874, -0.080771, -240.755920, 11.457644, 105.944176);
AddCameraShot(-0.395561, 0.079428, -0.897092, -0.180135, -264.022278, 6.745873, 122.715752);
AddCameraShot(0.546703, -0.041547, -0.833891, -0.063371, -309.709900, 5.168304, 145.334381);

end[/code]
And here's Coruscant's lua for comparison, in which heroes and legions do work.
Hidden/Spoiler:
[code]--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

-- load the gametype script
Conquest = ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("CWrandom")
ScriptCB_DoFile("CWlegion")
ScriptCB_DoFile("AIHeroSupport")

-- These variables do not change
ATT = 1
DEF = 2

-- Empire Attacking (attacker is always #1)
CIS = ATT
REP = DEF

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

AddDeathRegion("death")
AddDeathRegion("death1")
AddDeathRegion("death2")
AddDeathRegion("death3")
AddDeathRegion("death4")




SetProperty ("LibCase1","MaxHealth",1000)
SetProperty ("LibCase2","MaxHealth",1000)
SetProperty ("LibCase3","MaxHealth",1000)
SetProperty ("LibCase4","MaxHealth",1000)
SetProperty ("LibCase5","MaxHealth",1000)
SetProperty ("LibCase6","MaxHealth",1000)
SetProperty ("LibCase7","MaxHealth",1000)
SetProperty ("LibCase8","MaxHealth",1000)
SetProperty ("LibCase9","MaxHealth",1000)
SetProperty ("LibCase10","MaxHealth",1000)
SetProperty ("LibCase11","MaxHealth",1000)
SetProperty ("LibCase12","MaxHealth",1000)
SetProperty ("LibCase13","MaxHealth",1000)
SetProperty ("LibCase14","MaxHealth",1000)


SetProperty ("LibCase1","CurHealth",1000)
SetProperty ("LibCase2","CurHealth",1000)
SetProperty ("LibCase3","CurHealth",1000)
SetProperty ("LibCase4","CurHealth",1000)
SetProperty ("LibCase5","CurHealth",1000)
SetProperty ("LibCase6","CurHealth",1000)
SetProperty ("LibCase7","CurHealth",1000)
SetProperty ("LibCase8","CurHealth",1000)
SetProperty ("LibCase9","CurHealth",1000)
SetProperty ("LibCase10","CurHealth",1000)
SetProperty ("LibCase11","CurHealth",1000)
SetProperty ("LibCase12","CurHealth",1000)
SetProperty ("LibCase13","CurHealth",1000)
SetProperty ("LibCase14","CurHealth",1000)



EnableSPHeroRules()

DisableBarriers("SideDoor1")
DisableBarriers("MainLibraryDoors")
DisableBarriers("SideDoor2")
DisableBarriers("SIdeDoor3")
DisableBarriers("ComputerRoomDoor1")
DisableBarriers("StarChamberDoor1")
DisableBarriers("StarChamberDoor2")
DisableBarriers("WarRoomDoor1")
DisableBarriers("WarRoomDoor2")
DisableBarriers("WarRoomDoor3")
PlayAnimation("DoorOpen01")
PlayAnimation("DoorOpen02")
EnableSPHeroRules()


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

if not ScriptCB_InMultiplayer() then
herosupport = AIHeroSupport:New{AIATTHeroHealth = 4000, AIDEFHeroHealth = 4000, gameMode = "NonConquest",}
herosupport:SetHeroClass(CIS, herostrCIS)
herosupport:SetHeroClass(REP, herostrRep)
herosupport:AddSpawnCP("CP1","CP1SpawnPath")
herosupport:AddSpawnCP("CP2","CP2SpawnPath")
herosupport:AddSpawnCP("CP3","CP3SpawnPath")
herosupport:AddSpawnCP("CP4","CP4SpawnPath")
herosupport:AddSpawnCP("CP5","CP5SpawnPath")
herosupport:AddSpawnCP("CP6","CP6SpawnPath")
herosupport:Start()
else
end

end

function ScriptInit()
-- Designers, these two lines *MUST* be first.

SetPS2ModelMemory(4056000)

if not ScriptCB_InMultiplayer() then
DecideUnits(1, 1, 1, 1, 1, 1, 1)
DecideLegion(1, 1, 1)
elseif ScriptCB_InMultiplayer() then
herostrCIS = "cis_hero_grievous"
herostrRep = "rep_hero_obiwan"

medstrCIS = "cis_inf_1_medium"
lightstrCIS = "cis_inf_1_light"
heavystrCIS = "cis_inf_1_heavy"
supportstrCIS = "cis_inf_1_support"
guardstrCIS = "cis_inf_1_guard"

medstrRep = "rep_inf_shock_medium"
lightstrRep = "rep_inf_shock_light"
heavystrRep = "rep_inf_shock_heavy"
supportstrRep = "rep_inf_shock_support"
assassinstrRep = "rep_inf_shock_assassin"
end

SetMapNorthAngle(180, 1)
SetMaxFlyHeight(25)
SetMaxPlayerFlyHeight (25)
AISnipeSuitabilityDist(30)


SetMemoryPoolSize ("ClothData",40)
SetMemoryPoolSize ("Combo",170) -- should be ~ 2x number of jedi classes
SetMemoryPoolSize ("Combo::State",1850) -- should be ~12x #Combo
SetMemoryPoolSize ("Combo::Transition",1850) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Condition",1850) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Attack",1750) -- should be ~8-12x #Combo
SetMemoryPoolSize ("Combo::DamageSample",14000) -- should be ~8-12x #Combo::Attack
SetMemoryPoolSize ("Combo::Deflect",1140) -- should be ~1x #combo -- should be ~1x #combo




SetMemoryPoolSize("Music", 33)

ReadDataFile("ingame.lvl")

ReadDataFile("dc:sound\\JN1.lvl;JN1cw")

ReadDataFile("sound\\cor.lvl;cor1cw")
ReadDataFile("SIDE\\rep.lvl",
"rep_hero_macewindu",
"rep_hero_aalya",
"rep_hero_obiwan",
"rep_hero_anakin")

ReadDataFile("SIDE\\cis.lvl",
"cis_hero_darthmaul",
"cis_hero_countdooku",
"cis_hero_grievous")

ReadDataFile("dc:SIDE\\republic2.lvl",
"rep_inf_607_support",
"rep_inf_607_assassin",
"rep_inf_607_medium",
"rep_inf_607_heavy",
"rep_inf_607_light")

ReadDataFile("dc:SIDE\\republic1.lvl",
"rep_inf_shock_support",
"rep_inf_shock_assassin",
"rep_inf_shock_medium",
"rep_inf_shock_heavy",
"rep_inf_shock_light")

ReadDataFile("dc:SIDE\\droids1.lvl",
"cis_inf_1_medium",
"cis_inf_1_support",
"cis_inf_1_guard",
"cis_inf_1_light",
"cis_inf_1_heavy")

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


SetupTeams{

rep = {
team = REP,
units = 32,
reinforcements = 150,

},

cis = {
team = CIS,
units = 32,
reinforcements = 150,
}
}


--Set up Republic team

AddUnitClass(REP, medstrRep, 5, 12)
AddUnitClass(REP, lightstrRep, 5, 10)
AddUnitClass(REP, heavystrRep, 5, 10)
AddUnitClass(REP, supportstrRep, 1, 6)
AddUnitClass(REP, assassinstrRep, 1, 2)

--End Republic team


--Set up CIS team

AddUnitClass(CIS, medstrCIS, 5, 12)
AddUnitClass(CIS, lightstrCIS, 5, 10)
AddUnitClass(CIS, heavystrCIS, 5, 10)
AddUnitClass(CIS, supportstrCIS, 1, 6)
AddUnitClass(CIS, guardstrCIS, 1, 2)

--End CIS team


if ScriptCB_InMultiplayer() then
SetHeroClass(CIS, herostrCIS)
SetHeroClass(REP, herostrRep)
else
end


-- Level Stats
ClearWalkers()
AddWalkerType(0, 3) -- 8 droidekas (special case: 0 leg pairs)
AddWalkerType(1, 0) --
AddWalkerType(2, 0) -- 2 spider walkers with 2 leg pairs each
AddWalkerType(3, 0) -- 2 attes with 3 leg pairs each
local weaponCnt = 210
SetMemoryPoolSize("Aimer", 22)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 250)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 18)
SetMemoryPoolSize("EntitySoundStream", 10)
SetMemoryPoolSize("EntitySoundStatic", 0)
SetMemoryPoolSize("MountedTurret",12)
SetMemoryPoolSize("PathFollower", 50)
SetMemoryPoolSize("Navigator", 50)
SetMemoryPoolSize("Obstacle", 375)
SetMemoryPoolSize("SoundSpaceRegion", 38)
SetMemoryPoolSize("TentacleSimulator", 0)
SetMemoryPoolSize("TreeGridStack", 140)
SetMemoryPoolSize("UnitAgent", 50)
SetMemoryPoolSize("UnitController", 50)
SetMemoryPoolSize("Weapon", weaponCnt)
SetMemoryPoolSize("EntityFlyer", 4)
SetMemoryPoolSize("SoldierAnimation", 2000)

SetSpawnDelay(10.0, 0.25)
ReadDataFile("cor\\cor1.lvl","cor1_Conquest")
SetDenseEnvironment("True")
-- SetMaxFlyHeight(25)
--SetMaxPlayerFlyHeight (25)
AddDeathRegion("DeathRegion1")

-- Sound Stats

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\\cor.lvl", "cor1")
OpenAudioStream("sound\\cor.lvl", "cor1")
-- OpenAudioStream("sound\\cor.lvl", "cor1_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)

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(2, "Repleaving")
SetOutOfBoundsVoiceOver(1, "Cisleaving")

SetAmbientMusic(REP, 1.0, "rep_cor_amb_start", 0,1)
SetAmbientMusic(REP, 0.8, "rep_cor_amb_middle", 1,1)
SetAmbientMusic(REP, 0.2, "rep_cor_amb_end", 2,1)
SetAmbientMusic(CIS, 1.0, "cis_cor_amb_start", 0,1)
SetAmbientMusic(CIS, 0.8, "cis_cor_amb_middle", 1,1)
SetAmbientMusic(CIS, 0.2, "cis_cor_amb_end", 2,1)

SetVictoryMusic(REP, "rep_cor_amb_victory")
SetDefeatMusic (REP, "rep_cor_amb_defeat")
SetVictoryMusic(CIS, "cis_cor_amb_victory")
SetDefeatMusic (CIS, "cis_cor_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")


-- Camera Stats
--Tat 1 - Dune Sea
AddCameraShot(0.419938, 0.002235, -0.907537, 0.004830, -15.639358, 5.499980, -176.911179);
AddCameraShot(0.994506, 0.104463, -0.006739, 0.000708, 1.745251, 5.499980, -118.700668);
AddCameraShot(0.008929, -0.001103, -0.992423, -0.122538, 1.366768, 16.818106, -114.422173);
AddCameraShot(0.761751, -0.117873, -0.629565, -0.097419, 59.861904, 16.818106, -81.607773);
AddCameraShot(0.717110, -0.013583, 0.696703, 0.013197, 98.053314, 11.354497, -85.857857);
AddCameraShot(0.360958, -0.001053, -0.932577, -0.002721, 69.017578, 18.145807, -56.992413);
AddCameraShot(-0.385976, 0.014031, -0.921793, -0.033508, 93.111061, 18.145807, -20.164375);
AddCameraShot(0.695468, -0.129569, -0.694823, -0.129448, 27.284357, 18.145807, -12.377695);
AddCameraShot(0.009002, -0.000795, -0.996084, -0.087945, 1.931320, 13.356332, -16.410583);
AddCameraShot(0.947720, -0.145318, 0.280814, 0.043058, 11.650738, 16.955814, 28.359180);
AddCameraShot(0.686380, -0.127550, 0.703919, 0.130810, -30.096384, 11.152356, -63.235146);
AddCameraShot(0.937945, -0.108408, 0.327224, 0.037821, -43.701199, 8.756138, -49.974789);
AddCameraShot(0.531236, -0.079466, -0.834207, -0.124787, -62.491230, 10.305247, -120.102989);
AddCameraShot(0.452286, -0.179031, -0.812390, -0.321572, -50.015198, 15.394646, -114.879379);
AddCameraShot(0.927563, -0.243751, 0.273918, 0.071982, 26.149965, 26.947924, -46.834148);

end[/code]
Lastly, this is the error I get on Tantive IV.
Hidden/Spoiler:
[code]Message Severity: 3
.\Source\LuaHelper.cpp(312)
CallProc failed: bad argument #1 to `RetailSetHeroClass' (number expected, got nil)
stack traceback:
[C]: in function `RetailSetHeroClass'
(none): in function `SetHeroClass'
(none): in function `SetHeroClass'
(none): in function `ScriptPostLoad'[/code]

Re: Where are the heroes?

Posted: Sat May 09, 2009 11:02 am
by Maveritchell
In the maps you're having problems with, I'm willing to bet that "REP" and "CIS" aren't set as global values. They need to be.

Re: Where are the heroes?

Posted: Sat May 09, 2009 11:22 am
by Xavious
Ah, that would be it. Thanks.