Page 1 of 2

XL mode [Solved]

Posted: Fri Jan 02, 2009 5:39 pm
by Fiodis
How do you add XL mode? I looked at the tutorial on how to add hunt mode, thinking they'd be the same, but I suppose not. I got these error while munging:
Hidden/Spoiler:
C:\BF2_ModTools\data_RCH\_BUILD\..\..\ToolsFL\Bin\luac.exe: ..\..\common\scripts\RCH\RCHc_xl.lua:566: <name> expected near `('
ERROR[scriptmunge scripts\RCH\RCHc_xl.lua]:Could not read input file.ERROR[scriptmunge scripts\RCH\RCHc_xl.lua]:Could not read input file. [continuing]
C:\BF2_ModTools\data_RCH\_BUILD\..\..\ToolsFL\Bin\luac.exe: ..\..\common\scripts\RCH\RCHg_eli.lua:566: <name> expected near `('
ERROR[scriptmunge scripts\RCH\RCHg_eli.lua]:Could not read input file.ERROR[scriptmunge scripts\RCH\RCHg_eli.lua]:Could not read input file. [continuing]
4 Errors 0 Warnings

ERROR[levelpack mission\RCHg_eli.req]:Expecting bracket, but none was found.
File : munged\pc\rchg_eli.script.req(1)...

ucft <--
ERROR[levelpack mission\RCHg_eli.req]:Expecting bracket, but none was found.
File : munged\pc\rchg_eli.script.req(1)...

ucft <--
[continuing]
2 Errors 0 Warnings
I suppose I ought to mention that my XL is a misison script that I made with the MIssion Scripter, then added a few lines. What's the problem? I'm not good at reading error logs.

Re: XL mode

Posted: Fri Jan 02, 2009 5:43 pm
by RepSharpshooter
Hidden/Spoiler:
ipts\RCH\RCHc_xl.lua:566: <name>
See it? That points to line 566 of your lua. If you open it in an editor like Editplus you can go to that line and see the problem. If you can't fix it, then go ahead and post your lua.

It looks like your RCHg_eli.lua is bad too.

Re: XL mode

Posted: Fri Jan 02, 2009 5:43 pm
by Aman/Pinguin
Post your lua.


EDIT: Rep was faster. >.<

Re: XL mode

Posted: Fri Jan 02, 2009 5:52 pm
by Fiodis
Ok, I found out that the first four errors were cause by a badly placed ActivateRegion line. Those are fixed. Still, I get this while munging:
Hidden/Spoiler:
C:\BF2_ModTools\data_RCH\_BUILD\..\..\ToolsFL\Bin\luac.exe: ..\..\common\scripts\RCH\RCHc_xl.lua:563: <name> expected near `('
ERROR[scriptmunge scripts\RCH\RCHc_xl.lua]:Could not read input file.ERROR[scriptmunge scripts\RCH\RCHc_xl.lua]:Could not read input file. [continuing]
2 Errors 0 Warnings
My Campaign (XL) LUA:
Hidden/Spoiler:
[code]--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

-- This lua was createt by "Mission-Scripter", a program by -=[PfW]=-Skip.


-- load the gametype script
ScriptCB_DoFile("MultiObjectiveContainer")
ScriptCB_DoFile("ObjectiveAssault")
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("ObjectiveGoto")
ScriptCB_DoFile("ObjectiveCTF")
ScriptCB_DoFile("ObjectiveTDM")
ScriptCB_DoFile("Ambush")
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"}

SetAIDifficulty(0, 2, "hard")
AllowAISpawn(ATT, false)
AllowAISpawn(DEF, false)
ScriptCB_SetGameRules("campaign")

onfirstspawn = OnCharacterSpawn(
function(character)
if character == 0 then
ShowPopup("level.geo1.hints.hints")
ReleaseCharacterSpawn(onfirstspawn)
onfirstspawn = nil
BeginObjectivesTimer()
ScriptCB_EnableCommandPostVO(0)

end
end)


--objective :goto1
Objective1 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "gotoprime2", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective1:AddHint("level.geo1.hints.movement")
Objective1:AddHint("level.geo1.hints.obj_markers")
Objective1:AddHint("level.geo1.hints.review_objectives")
Objective1:AddHint("level.geo1.hints.sprint")


Objective1.OnStart = function(self)
att_obj1_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj1_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective1.OnComplete = function(self)
DeleteAIGoal(att_obj1_aigoal)
DeleteAIGoal(def_obj1_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto2
Objective2 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto1", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective2:AddHint("level.geo1.hints.movement")
Objective2:AddHint("level.geo1.hints.obj_markers")
Objective2:AddHint("level.geo1.hints.review_objectives")
Objective2:AddHint("level.geo1.hints.sprint")


Objective2.OnStart = function(self)
att_obj2_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj2_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective2.OnComplete = function(self)
DeleteAIGoal(att_obj2_aigoal)
DeleteAIGoal(def_obj2_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto3
Objective3 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto2", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective3:AddHint("level.geo1.hints.movement")
Objective3:AddHint("level.geo1.hints.obj_markers")
Objective3:AddHint("level.geo1.hints.review_objectives")
Objective3:AddHint("level.geo1.hints.sprint")


Objective3.OnStart = function(self)
att_obj3_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj3_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective3.OnComplete = function(self)
DeleteAIGoal(att_obj3_aigoal)
DeleteAIGoal(def_obj3_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto4
Objective4 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto3", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective4:AddHint("level.geo1.hints.movement")
Objective4:AddHint("level.geo1.hints.obj_markers")
Objective4:AddHint("level.geo1.hints.review_objectives")
Objective4:AddHint("level.geo1.hints.sprint")


Objective4.OnStart = function(self)
att_obj4_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj4_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective4.OnComplete = function(self)
DeleteAIGoal(att_obj4_aigoal)
DeleteAIGoal(def_obj4_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto5
Objective5 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto4", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective5:AddHint("level.geo1.hints.movement")
Objective5:AddHint("level.geo1.hints.obj_markers")
Objective5:AddHint("level.geo1.hints.review_objectives")
Objective5:AddHint("level.geo1.hints.sprint")


Objective5.OnStart = function(self)
att_obj5_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj5_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective5.OnComplete = function(self)
DeleteAIGoal(att_obj5_aigoal)
DeleteAIGoal(def_obj5_aigoal)
ShowMessageText("game.objectives.complete", ATT)
AllowAISpawn(DEF, true)

end



--objective: assault1
Objective6= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "null", popupText = "null"}

Dclass = TargetType:New{classname = "cis_inf_rifleman", killLimit = 3}
Objective6:AddTarget(Dclass)

Objective6.OnStart = function(self)
Objective6.Dclass_cpGoal1 = AddAIGoal(ATT, "Defend", 100, "cp2")
Objective6.Dclass_cpGoal2 = AddAIGoal(DEF, "Defend", 100, "cp2")
end

Objective6.OnComplete = function(self)
DeleteAIGoal(Objective6.Dclass_cpGoal1)
DeleteAIGoal(Objective6.Dclass_cpGoal2)
AllowAISpawn(DEF, false)
end




--objective :goto6
Objective7 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto5", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective7:AddHint("level.geo1.hints.movement")
Objective7:AddHint("level.geo1.hints.obj_markers")
Objective7:AddHint("level.geo1.hints.review_objectives")
Objective7:AddHint("level.geo1.hints.sprint")


Objective7.OnStart = function(self)
att_obj7_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj7_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective7.OnComplete = function(self)
DeleteAIGoal(att_obj7_aigoal)
DeleteAIGoal(def_obj7_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto7
Objective8 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto6", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective8:AddHint("level.geo1.hints.movement")
Objective8:AddHint("level.geo1.hints.obj_markers")
Objective8:AddHint("level.geo1.hints.review_objectives")
Objective8:AddHint("level.geo1.hints.sprint")


Objective8.OnStart = function(self)
att_obj8_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj8_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective8.OnComplete = function(self)
DeleteAIGoal(att_obj8_aigoal)
DeleteAIGoal(def_obj8_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto8
Objective9 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto6a", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective9:AddHint("level.geo1.hints.movement")
Objective9:AddHint("level.geo1.hints.obj_markers")
Objective9:AddHint("level.geo1.hints.review_objectives")
Objective9:AddHint("level.geo1.hints.sprint")


Objective9.OnStart = function(self)
att_obj9_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj9_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective9.OnComplete = function(self)
DeleteAIGoal(att_obj9_aigoal)
DeleteAIGoal(def_obj9_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective10 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto7", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective10:AddHint("level.geo1.hints.movement")
Objective10:AddHint("level.geo1.hints.obj_markers")
Objective10:AddHint("level.geo1.hints.review_objectives")
Objective10:AddHint("level.geo1.hints.sprint")


Objective10.OnStart = function(self)
att_obj10_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj10_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective10.OnComplete = function(self)
DeleteAIGoal(att_obj10_aigoal)
DeleteAIGoal(def_obj10_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective11 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto7b", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective11:AddHint("level.geo1.hints.movement")
Objective11:AddHint("level.geo1.hints.obj_markers")
Objective11:AddHint("level.geo1.hints.review_objectives")
Objective11:AddHint("level.geo1.hints.sprint")


Objective11.OnStart = function(self)
att_obj11_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj11_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective11.OnComplete = function(self)
DeleteAIGoal(att_obj11_aigoal)
DeleteAIGoal(def_obj11_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective12 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto7a", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective12:AddHint("level.geo1.hints.movement")
Objective12:AddHint("level.geo1.hints.obj_markers")
Objective12:AddHint("level.geo1.hints.review_objectives")
Objective12:AddHint("level.geo1.hints.sprint")


Objective12.OnStart = function(self)
att_obj12_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj12_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective12.OnComplete = function(self)
DeleteAIGoal(att_obj12_aigoal)
DeleteAIGoal(def_obj12_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective13 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto8", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective13:AddHint("level.geo1.hints.movement")
Objective13:AddHint("level.geo1.hints.obj_markers")
Objective13:AddHint("level.geo1.hints.review_objectives")
Objective13:AddHint("level.geo1.hints.sprint")


Objective13.OnStart = function(self)
att_obj13_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj13_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective13.OnComplete = function(self)
DeleteAIGoal(att_obj13_aigoal)
DeleteAIGoal(def_obj13_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective14 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto9", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective14:AddHint("level.geo1.hints.movement")
Objective14:AddHint("level.geo1.hints.obj_markers")
Objective14:AddHint("level.geo1.hints.review_objectives")
Objective14:AddHint("level.geo1.hints.sprint")


Objective14.OnStart = function(self)
att_obj14_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj14_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective14.OnComplete = function(self)
DeleteAIGoal(att_obj14_aigoal)
DeleteAIGoal(def_obj14_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective15 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto10", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective15:AddHint("level.geo1.hints.movement")
Objective15:AddHint("level.geo1.hints.obj_markers")
Objective15:AddHint("level.geo1.hints.review_objectives")
Objective15:AddHint("level.geo1.hints.sprint")


Objective15.OnStart = function(self)
att_obj15_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj15_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective15.OnComplete = function(self)
DeleteAIGoal(att_obj15_aigoal)
DeleteAIGoal(def_obj15_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective16 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto12", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective16:AddHint("level.geo1.hints.movement")
Objective16:AddHint("level.geo1.hints.obj_markers")
Objective16:AddHint("level.geo1.hints.review_objectives")
Objective16:AddHint("level.geo1.hints.sprint")


Objective16.OnStart = function(self)
att_obj16_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj16_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective16.OnComplete = function(self)
DeleteAIGoal(att_obj16_aigoal)
DeleteAIGoal(def_obj16_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end



--objective: assault2
Dobjekt = Target:New{name = "antenna"}
Dobjekt.OnDestroy = function(self)

end

Objective17 = ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "null", popupText = "null"}
Objective17:AddTarget(Dobjekt)


Objective17.OnStart = function(self)


end

Objective17.OnComplete = function(self)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective18 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto13", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective18:AddHint("level.geo1.hints.movement")
Objective18:AddHint("level.geo1.hints.obj_markers")
Objective18:AddHint("level.geo1.hints.review_objectives")
Objective18:AddHint("level.geo1.hints.sprint")


Objective18.OnStart = function(self)
att_obj18_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj18_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective18.OnComplete = function(self)
DeleteAIGoal(att_obj18_aigoal)
DeleteAIGoal(def_obj18_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end



--objective: assault3
Dobjekt = Target:New{name = "camp"}
Dobjekt.OnDestroy = function(self)

end

Objective19 = ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "null", popupText = "null"}
Objective19:AddTarget(Dobjekt)


Objective19.OnStart = function(self)


end

Objective19.OnComplete = function(self)
ShowMessageText("game.objectives.complete", ATT)

end

OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"TeleportNode")
end,
"TeleportRegion"
)
ActivateRegion("TeleportRegion")

OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"TeleportNode2")
end,
"TeleportRegion2"
)
ActivateRegion("TeleportRegion2")

OnEnterRegion("TeleportRegion3")
function(regIn,character)
MoveEntityToNode(character,"TeleportNode3")
end,
"TeleportRegion3"
)
ActivateRegion("TeleportRegion3")

OnEnterRegion("TeleportRegion4")
function(regIn,character)
MoveEntityToNode(character,"TeleportNode4")
end,
"TeleportRegion4"
)
ActivateRegion("TeleportRegion4")

OnEnterRegion("TeleportRegion5")
function(regIn,character)
MoveEntityToNode(character,"TeleportNode5")
end,
"TeleportRegion5"
)
ActivateRegion("TeleportRegion5")

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

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_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_hover_aat")


ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_laser",
"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(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("SoundSpaceRegion", 64)
SetMemoryPoolSize("TreeGridStack", 1024)
SetMemoryPoolSize("UnitAgent", 128)
SetMemoryPoolSize("UnitController", 128)
SetMemoryPoolSize("Weapon", weaponCnt)

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

function MoveEntityToNode(entIn,pathIn,nodeIn)
if not entIn then
print("Warning!: Entity not specified for move")
return false
elseif not pathIn then
print("Warning!: Path not specified for Entity " .. entIn .. " move")
return false
end

local node
if nodeIn then
node = nodeIn
else
node = 0
end

local locDest = GetPathPoint(pathIn,node)
local charUnit = GetCharacterUnit(entIn)
if charUnit then
SetEntityMatrix(charUnit,locDest)
return true
end
return false
end

[/code]
And I removed the RCHg_eli from the addme.lua. I don't need it, anyway.

EDIT - Word has a "Go to line" ability. Could I use that to find the error, then Notepad to fix it?

EDIT 2 - My Mungelog:
Hidden/Spoiler:
Message Severity: 3
.\Source\LuaHelper.cpp(112)
OpenScript(RCHc_xl): script (13ad2394) not found

Message Severity: 5
.\Source\GameState.cpp(1283)
Could not open MISSION\RCHc_xl.lvl

Re: XL mode

Posted: Fri Jan 02, 2009 6:53 pm
by RepSharpshooter
Fiodis wrote:And I removed the RCHg_eli from the addme.lua. I don't need it, anyway.

EDIT - Word has a "Go to line" ability. Could I use that to find the error, then Notepad to fix it?
No because the line starts at 0 every time you go to a new page. I really reccomend editplus anyways. You can even download a lua syntax checker to turn comments green, strings pink, numbers purple etc like pro editors.

Going to line 563 with editplus:
Hidden/Spoiler:
OnEnterRegion("TeleportRegion3")
function(regIn,character)
MoveEntityToNode(character,"TeleportNode3")
end,
"TeleportRegion3"
)
ActivateRegion("TeleportRegion3")
I'm thinking maybe you should delete that? (also see how knowing exactly what line the problem is on is a really big help?)

Re: XL mode

Posted: Fri Jan 02, 2009 7:17 pm
by Fiodis
Wierd....are you sure that the "reset-line-count-at-every-page" thing is true for Office Word? I hit ctrl+g, typed in 563, and it took me straight to that line. Anyway, why should I delete that? I took that straight from the tutorial on making a teleporter. Granted, I found a few problems with that tutorial; but I've never had an issue with that line before.

But then also granted, I haven't set up many teleporters before. Still, the first one I got working, so I know the process. Won't deleting that just deactivate the teleporter?

Still I'll try what you say, you being a far more advanced scripter than I am.

Re: XL mode

Posted: Fri Jan 02, 2009 7:27 pm
by RepSharpshooter
Oh not delete, I'm sorry, I didn't see the on enter region :oops:

Code: Select all

OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"TeleportNode3")
end,
"TeleportRegion3"
)
I think it should be like that. The name of the region comes at the end, not the beginning.

And maybe my Word is different, whatever works for you!

Re: XL mode

Posted: Fri Jan 02, 2009 7:48 pm
by Fiodis
Edited, cleaned, remunged, and it still insists something's wrong, this time with another teleport line. My error log says
Hidden/Spoiler:
C:\BF2_ModTools\data_RCH\_BUILD\..\..\ToolsFL\Bin\luac.exe: ..\..\common\scripts\RCH\RCHc_xl.lua:578: unfinished string near `"'
ERROR[scriptmunge scripts\RCH\RCHc_xl.lua]:Could not read input file.ERROR[scriptmunge scripts\RCH\RCHc_xl.lua]:Could not read input file. [continuing]
2 Errors 0 Warnings


My Word finds line 578 to be
Hidden/Spoiler:
OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"TeleportNode2")
end,
"TeleportRegion2"
) <==== This one
ActivateRegion("TeleportRegion2")
But that line has no " so I'm assuming my Word's off by some amount. As such, I have no way of telling which line is the problem, except for manually counting them up.

While I do that, could someone please run it through something like Editplus? We'll see who gets to line 578 first.

1...2...3....

Re: XL mode

Posted: Fri Jan 02, 2009 7:59 pm
by RepSharpshooter
Yeah word is a bit off.
Delete what's in red:
Hidden/Spoiler:
OnEnterRegion("TeleportRegion3")
function(regIn,character)
MoveEntityToNode(character,"TeleportNode3")
end,
"TeleportRegion3"
)
ActivateRegion("TeleportRegion3")

OnEnterRegion("TeleportRegion4")
function(regIn,character)
MoveEntityToNode(character,"TeleportNode4")
end,
"TeleportRegion4"
)
ActivateRegion("TeleportRegion4")

OnEnterRegion("TeleportRegion5")
function(regIn,character)
MoveEntityToNode(character,"TeleportNode5")
end,
"TeleportRegion5"
)
ActivateRegion("TeleportRegion5")

end

You kept adding the region's name at the beginning, when it only should go at the end.

Re: XL mode

Posted: Fri Jan 02, 2009 8:03 pm
by Fiodis
I forgot to upload an updated LUA. I had already deleted the OnEnterRegion bugs. But as for the comma, why shouldn't I add it to each of the "TeleportRegionX" lines? Why only to "TeleportRegion5"?

EDIT - Added the comma to all 5 of the "TeleportRegionX" lines, got a kick in the teeth:
Hidden/Spoiler:
C:\BF2_ModTools\data_RCH\_BUILD\..\..\ToolsFL\Bin\luac.exe: ..\..\common\scripts\RCH\RCHc_xl.lua:551: unexpected symbol near `)'
ERROR[scriptmunge scripts\RCH\RCHc_xl.lua]:Could not read input file.ERROR[scriptmunge scripts\RCH\RCHc_xl.lua]:Could not read input file. [continuing]
2 Errors 0 Warnings

Re: XL mode

Posted: Fri Jan 02, 2009 8:26 pm
by ThePanda
Delete the commas, I think they're the unexpected symbols.

Re: XL mode

Posted: Fri Jan 02, 2009 8:35 pm
by Fiodis
But...Rep told me to add those, at least the one by the 5th TeleportRegion line. I'll delete all except that one and see what happens.


EDIT - Done that, and I'm back where I was three posts ago with
Hidden/Spoiler:
C:\BF2_ModTools\data_RCH\_BUILD\..\..\ToolsFL\Bin\luac.exe: ..\..\common\scripts\RCH\RCHc_xl.lua:578: unfinished string near `"'
ERROR[scriptmunge scripts\RCH\RCHc_xl.lua]:Could not read input file.ERROR[scriptmunge scripts\RCH\RCHc_xl.lua]:Could not read input file. [continuing]
2 Errors 0 Warnings

Re: XL mode

Posted: Fri Jan 02, 2009 8:51 pm
by RepSharpshooter
Ugh, no comma there, sorry, misread it. But can you post a current lua?

It says there's unfinished quotes "" but in my version I see them all completed :/

Re: XL mode

Posted: Fri Jan 02, 2009 9:07 pm
by Fiodis
Ok, the rouge comma was captured and carted away. The result:
Hidden/Spoiler:
C:\BF2_ModTools\data_RCH\_BUILD\..\..\ToolsFL\Bin\luac.exe: ..\..\common\scripts\RCH\RCHc_xl.lua:578: unfinished string near `"'
ERROR[scriptmunge scripts\RCH\RCHc_xl.lua]:Could not read input file.ERROR[scriptmunge scripts\RCH\RCHc_xl.lua]:Could not read input file. [continuing]
2 Errors 0 Warnings
And the current LUA:
Hidden/Spoiler:
[code]--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

-- This lua was createt by "Mission-Scripter", a program by -=[PfW]=-Skip.


-- load the gametype script
ScriptCB_DoFile("MultiObjectiveContainer")
ScriptCB_DoFile("ObjectiveAssault")
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("ObjectiveGoto")
ScriptCB_DoFile("ObjectiveCTF")
ScriptCB_DoFile("ObjectiveTDM")
ScriptCB_DoFile("Ambush")
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"}

SetAIDifficulty(0, 2, "hard")
AllowAISpawn(ATT, false)
AllowAISpawn(DEF, false)
ScriptCB_SetGameRules("campaign")

onfirstspawn = OnCharacterSpawn(
function(character)
if character == 0 then
ShowPopup("level.geo1.hints.hints")
ReleaseCharacterSpawn(onfirstspawn)
onfirstspawn = nil
BeginObjectivesTimer()
ScriptCB_EnableCommandPostVO(0)

end
end)


--objective :goto1
Objective1 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "gotoprime2",

mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective1:AddHint("level.geo1.hints.movement")
Objective1:AddHint("level.geo1.hints.obj_markers")
Objective1:AddHint("level.geo1.hints.review_objectives")
Objective1:AddHint("level.geo1.hints.sprint")


Objective1.OnStart = function(self)
att_obj1_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj1_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective1.OnComplete = function(self)
DeleteAIGoal(att_obj1_aigoal)
DeleteAIGoal(def_obj1_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto2
Objective2 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto1", mapIcon =

"hud_objective_icon_circle", AIGoalWeight = 0}

Objective2:AddHint("level.geo1.hints.movement")
Objective2:AddHint("level.geo1.hints.obj_markers")
Objective2:AddHint("level.geo1.hints.review_objectives")
Objective2:AddHint("level.geo1.hints.sprint")


Objective2.OnStart = function(self)
att_obj2_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj2_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective2.OnComplete = function(self)
DeleteAIGoal(att_obj2_aigoal)
DeleteAIGoal(def_obj2_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto3
Objective3 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto2", mapIcon =

"hud_objective_icon_circle", AIGoalWeight = 0}

Objective3:AddHint("level.geo1.hints.movement")
Objective3:AddHint("level.geo1.hints.obj_markers")
Objective3:AddHint("level.geo1.hints.review_objectives")
Objective3:AddHint("level.geo1.hints.sprint")


Objective3.OnStart = function(self)
att_obj3_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj3_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective3.OnComplete = function(self)
DeleteAIGoal(att_obj3_aigoal)
DeleteAIGoal(def_obj3_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto4
Objective4 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto3", mapIcon =

"hud_objective_icon_circle", AIGoalWeight = 0}

Objective4:AddHint("level.geo1.hints.movement")
Objective4:AddHint("level.geo1.hints.obj_markers")
Objective4:AddHint("level.geo1.hints.review_objectives")
Objective4:AddHint("level.geo1.hints.sprint")


Objective4.OnStart = function(self)
att_obj4_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj4_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective4.OnComplete = function(self)
DeleteAIGoal(att_obj4_aigoal)
DeleteAIGoal(def_obj4_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto5
Objective5 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto4", mapIcon =

"hud_objective_icon_circle", AIGoalWeight = 0}

Objective5:AddHint("level.geo1.hints.movement")
Objective5:AddHint("level.geo1.hints.obj_markers")
Objective5:AddHint("level.geo1.hints.review_objectives")
Objective5:AddHint("level.geo1.hints.sprint")


Objective5.OnStart = function(self)
att_obj5_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj5_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective5.OnComplete = function(self)
DeleteAIGoal(att_obj5_aigoal)
DeleteAIGoal(def_obj5_aigoal)
ShowMessageText("game.objectives.complete", ATT)
AllowAISpawn(DEF, true)

end



--objective: assault1
Objective6= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "null",

popupText = "null"}

Dclass = TargetType:New{classname = "cis_inf_rifleman", killLimit = 3}
Objective6:AddTarget(Dclass)

Objective6.OnStart = function(self)
Objective6.Dclass_cpGoal1 = AddAIGoal(ATT, "Defend", 100, "cp2")
Objective6.Dclass_cpGoal2 = AddAIGoal(DEF, "Defend", 100, "cp2")
end

Objective6.OnComplete = function(self)
DeleteAIGoal(Objective6.Dclass_cpGoal1)
DeleteAIGoal(Objective6.Dclass_cpGoal2)
AllowAISpawn(DEF, false)
end




--objective :goto6
Objective7 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto5", mapIcon =

"hud_objective_icon_circle", AIGoalWeight = 0}

Objective7:AddHint("level.geo1.hints.movement")
Objective7:AddHint("level.geo1.hints.obj_markers")
Objective7:AddHint("level.geo1.hints.review_objectives")
Objective7:AddHint("level.geo1.hints.sprint")


Objective7.OnStart = function(self)
att_obj7_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj7_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective7.OnComplete = function(self)
DeleteAIGoal(att_obj7_aigoal)
DeleteAIGoal(def_obj7_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto7
Objective8 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto6", mapIcon =

"hud_objective_icon_circle", AIGoalWeight = 0}

Objective8:AddHint("level.geo1.hints.movement")
Objective8:AddHint("level.geo1.hints.obj_markers")
Objective8:AddHint("level.geo1.hints.review_objectives")
Objective8:AddHint("level.geo1.hints.sprint")


Objective8.OnStart = function(self)
att_obj8_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj8_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective8.OnComplete = function(self)
DeleteAIGoal(att_obj8_aigoal)
DeleteAIGoal(def_obj8_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto8
Objective9 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto6a", mapIcon

= "hud_objective_icon_circle", AIGoalWeight = 0}

Objective9:AddHint("level.geo1.hints.movement")
Objective9:AddHint("level.geo1.hints.obj_markers")
Objective9:AddHint("level.geo1.hints.review_objectives")
Objective9:AddHint("level.geo1.hints.sprint")


Objective9.OnStart = function(self)
att_obj9_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj9_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective9.OnComplete = function(self)
DeleteAIGoal(att_obj9_aigoal)
DeleteAIGoal(def_obj9_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective10 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto7", mapIcon =

"hud_objective_icon_circle", AIGoalWeight = 0}

Objective10:AddHint("level.geo1.hints.movement")
Objective10:AddHint("level.geo1.hints.obj_markers")
Objective10:AddHint("level.geo1.hints.review_objectives")
Objective10:AddHint("level.geo1.hints.sprint")


Objective10.OnStart = function(self)
att_obj10_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj10_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective10.OnComplete = function(self)
DeleteAIGoal(att_obj10_aigoal)
DeleteAIGoal(def_obj10_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective11 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto7b", mapIcon

= "hud_objective_icon_circle", AIGoalWeight = 0}

Objective11:AddHint("level.geo1.hints.movement")
Objective11:AddHint("level.geo1.hints.obj_markers")
Objective11:AddHint("level.geo1.hints.review_objectives")
Objective11:AddHint("level.geo1.hints.sprint")


Objective11.OnStart = function(self)
att_obj11_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj11_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective11.OnComplete = function(self)
DeleteAIGoal(att_obj11_aigoal)
DeleteAIGoal(def_obj11_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective12 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto7a", mapIcon

= "hud_objective_icon_circle", AIGoalWeight = 0}

Objective12:AddHint("level.geo1.hints.movement")
Objective12:AddHint("level.geo1.hints.obj_markers")
Objective12:AddHint("level.geo1.hints.review_objectives")
Objective12:AddHint("level.geo1.hints.sprint")


Objective12.OnStart = function(self)
att_obj12_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj12_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective12.OnComplete = function(self)
DeleteAIGoal(att_obj12_aigoal)
DeleteAIGoal(def_obj12_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective13 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto8", mapIcon =

"hud_objective_icon_circle", AIGoalWeight = 0}

Objective13:AddHint("level.geo1.hints.movement")
Objective13:AddHint("level.geo1.hints.obj_markers")
Objective13:AddHint("level.geo1.hints.review_objectives")
Objective13:AddHint("level.geo1.hints.sprint")


Objective13.OnStart = function(self)
att_obj13_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj13_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective13.OnComplete = function(self)
DeleteAIGoal(att_obj13_aigoal)
DeleteAIGoal(def_obj13_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective14 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto9", mapIcon =

"hud_objective_icon_circle", AIGoalWeight = 0}

Objective14:AddHint("level.geo1.hints.movement")
Objective14:AddHint("level.geo1.hints.obj_markers")
Objective14:AddHint("level.geo1.hints.review_objectives")
Objective14:AddHint("level.geo1.hints.sprint")


Objective14.OnStart = function(self)
att_obj14_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj14_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective14.OnComplete = function(self)
DeleteAIGoal(att_obj14_aigoal)
DeleteAIGoal(def_obj14_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective15 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto10", mapIcon

= "hud_objective_icon_circle", AIGoalWeight = 0}

Objective15:AddHint("level.geo1.hints.movement")
Objective15:AddHint("level.geo1.hints.obj_markers")
Objective15:AddHint("level.geo1.hints.review_objectives")
Objective15:AddHint("level.geo1.hints.sprint")


Objective15.OnStart = function(self)
att_obj15_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj15_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective15.OnComplete = function(self)
DeleteAIGoal(att_obj15_aigoal)
DeleteAIGoal(def_obj15_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective16 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto12", mapIcon

= "hud_objective_icon_circle", AIGoalWeight = 0}

Objective16:AddHint("level.geo1.hints.movement")
Objective16:AddHint("level.geo1.hints.obj_markers")
Objective16:AddHint("level.geo1.hints.review_objectives")
Objective16:AddHint("level.geo1.hints.sprint")


Objective16.OnStart = function(self)
att_obj16_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj16_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective16.OnComplete = function(self)
DeleteAIGoal(att_obj16_aigoal)
DeleteAIGoal(def_obj16_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end



--objective: assault2
Dobjekt = Target:New{name = "antenna"}
Dobjekt.OnDestroy = function(self)

end

Objective17 = ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "null", popupText =

"null"}
Objective17:AddTarget(Dobjekt)


Objective17.OnStart = function(self)


end

Objective17.OnComplete = function(self)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective18 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto13", mapIcon

= "hud_objective_icon_circle", AIGoalWeight = 0}

Objective18:AddHint("level.geo1.hints.movement")
Objective18:AddHint("level.geo1.hints.obj_markers")
Objective18:AddHint("level.geo1.hints.review_objectives")
Objective18:AddHint("level.geo1.hints.sprint")


Objective18.OnStart = function(self)
att_obj18_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj18_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective18.OnComplete = function(self)
DeleteAIGoal(att_obj18_aigoal)
DeleteAIGoal(def_obj18_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end



--objective: assault3
Dobjekt = Target:New{name = "camp"}
Dobjekt.OnDestroy = function(self)

end

Objective19 = ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "null", popupText =

"null"}
Objective19:AddTarget(Dobjekt)


Objective19.OnStart = function(self)


end

Objective19.OnComplete = function(self)
ShowMessageText("game.objectives.complete", ATT)

end

OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"TeleportNode")
end,
"TeleportRegion"
)
ActivateRegion("TeleportRegion")

OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"TeleportNode2")
end,
"TeleportRegion2"
)
ActivateRegion("TeleportRegion2")

OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"TeleportNode3")
end,
"TeleportRegion3"
)
ActivateRegion("TeleportRegion3")

OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"TeleportNode4")
end,
"TeleportRegion4"
)
ActivateRegion("TeleportRegion4")

OnEnterRegion("
function(regIn,character)
MoveEntityToNode(character,"TeleportNode5")
end,
"TeleportRegion5"
)
ActivateRegion("TeleportRegion5")

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

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_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_hover_aat")


ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_laser",
"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(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("SoundSpaceRegion", 64)
SetMemoryPoolSize("TreeGridStack", 1024)
SetMemoryPoolSize("UnitAgent", 128)
SetMemoryPoolSize("UnitController", 128)
SetMemoryPoolSize("Weapon", weaponCnt)

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

function MoveEntityToNode(entIn,pathIn,nodeIn)
if not entIn then
print("Warning!: Entity not specified for move")
return false
elseif not pathIn then
print("Warning!: Path not specified for Entity " .. entIn .. " move")
return false
end

local node
if nodeIn then
node = nodeIn
else
node = 0
end

local locDest = GetPathPoint(pathIn,node)
local charUnit = GetCharacterUnit(entIn)
if charUnit then
SetEntityMatrix(charUnit,locDest)
return true
end
return false
end

[/code]
And let me take this chance to say thank you for sharing my headache.

EDIT - Since this has mostly been a back-and-forth between you and me, Rep, how about we finish this tomorrow on Xfire? Mine's Fiodis.

Re: XL mode

Posted: Fri Jan 02, 2009 9:45 pm
by FragMe!
Old saying, don't always believe what you read,
Using a different lua editor, SciTE, it came up with this

Code: Select all

OnEnterRegion("
function(regIn,character)
MoveEntityToNode(character,"TeleportNode5")
end,
"TeleportRegion5"
)
ActivateRegion("TeleportRegion5")

end
It is reporting the " after OnEnterRegion( does not have a closing quote. This is down around line 616

Re: XL mode

Posted: Fri Jan 02, 2009 10:10 pm
by Fiodis
It worked!

But the objectives stay in their cages and refuse to come out. No matter how much I coax them, they do not start. The mungelog, the shortest one I've had in a while:
Hidden/Spoiler:
Message Severity: 2
.\Source\LuaCallbacks_Mission.cpp(2264)
ShowPopup() has been depricated. Please remove all references to it in code

Message Severity: 3
.\Source\LuaHelper.cpp(312)
CallProc failed: (none):0: attempt to call global `BeginObjectivesTimer' (a nil value)
stack traceback:
(none): in function <(none):38>
Also there's a few bits about missing geometries and unbuilt props and missing capture regions and such, but meh, you know mungelogs: always complaining. As far as I know, I added all those things. I'll double check those. Getting the objectives to start is more important.

I suppose it's not starting because the game can't find the timer that starts it off. Where is it hiding?

Re: XL mode

Posted: Fri Jan 02, 2009 10:42 pm
by RepSharpshooter
I think you forgot to add the BeginObjectivesTimer() function and related stuff. Just copy a template out of an exist campaign lua and tailor it to yours.

Re: XL mode

Posted: Sat Jan 03, 2009 11:56 am
by Fiodis
Argh! It's almost working. It's so close to working you can almost feel it. The only Mugnelog message about the script was this:
Hidden/Spoiler:
Message Severity: 3
.\Source\LuaHelper.cpp(312)
CallProc failed: (none):0: attempt to call global `StartObjectives' (a nil value)
stack traceback:
(none): in function <(none):46>
My updated LUA:
Hidden/Spoiler:
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

-- This lua was createt by "Mission-Scripter", a program by -=[PfW]=-Skip.


-- load the gametype script
ScriptCB_DoFile("MultiObjectiveContainer")
ScriptCB_DoFile("ObjectiveAssault")
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("ObjectiveGoto")
ScriptCB_DoFile("ObjectiveCTF")
ScriptCB_DoFile("ObjectiveTDM")
ScriptCB_DoFile("Ambush")
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"}

SetAIDifficulty(0, 2, "hard")
AllowAISpawn(ATT, false)
AllowAISpawn(DEF, false)
ScriptCB_SetGameRules("campaign")

onfirstspawn = OnCharacterSpawn(
function(character)
if IsCharacterHuman(character) then
ReleaseCharacterSpawn(onfirstspawn)
onfirstspawn = nil
objectives_timer = CreateTimer("objectives_timer")
SetTimerValue(objectives_timer, 2)
StartTimer(objectives_timer)
begin_objectives = OnTimerElapse(
function(timer)
StartObjectives ()

end,
objectives_timer
)
end
end
)


--objective :goto1
Objective1 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "gotoprime2", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective1:AddHint("level.geo1.hints.movement")
Objective1:AddHint("level.geo1.hints.obj_markers")
Objective1:AddHint("level.geo1.hints.review_objectives")
Objective1:AddHint("level.geo1.hints.sprint")


Objective1.OnStart = function(self)
att_obj1_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj1_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective1.OnComplete = function(self)
DeleteAIGoal(att_obj1_aigoal)
DeleteAIGoal(def_obj1_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto2
Objective2 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto1", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective2:AddHint("level.geo1.hints.movement")
Objective2:AddHint("level.geo1.hints.obj_markers")
Objective2:AddHint("level.geo1.hints.review_objectives")
Objective2:AddHint("level.geo1.hints.sprint")


Objective2.OnStart = function(self)
att_obj2_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj2_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective2.OnComplete = function(self)
DeleteAIGoal(att_obj2_aigoal)
DeleteAIGoal(def_obj2_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto3
Objective3 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto2", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective3:AddHint("level.geo1.hints.movement")
Objective3:AddHint("level.geo1.hints.obj_markers")
Objective3:AddHint("level.geo1.hints.review_objectives")
Objective3:AddHint("level.geo1.hints.sprint")


Objective3.OnStart = function(self)
att_obj3_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj3_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective3.OnComplete = function(self)
DeleteAIGoal(att_obj3_aigoal)
DeleteAIGoal(def_obj3_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto4
Objective4 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto3", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective4:AddHint("level.geo1.hints.movement")
Objective4:AddHint("level.geo1.hints.obj_markers")
Objective4:AddHint("level.geo1.hints.review_objectives")
Objective4:AddHint("level.geo1.hints.sprint")


Objective4.OnStart = function(self)
att_obj4_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj4_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective4.OnComplete = function(self)
DeleteAIGoal(att_obj4_aigoal)
DeleteAIGoal(def_obj4_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto5
Objective5 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto4", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective5:AddHint("level.geo1.hints.movement")
Objective5:AddHint("level.geo1.hints.obj_markers")
Objective5:AddHint("level.geo1.hints.review_objectives")
Objective5:AddHint("level.geo1.hints.sprint")


Objective5.OnStart = function(self)
att_obj5_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj5_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective5.OnComplete = function(self)
DeleteAIGoal(att_obj5_aigoal)
DeleteAIGoal(def_obj5_aigoal)
ShowMessageText("game.objectives.complete", ATT)
AllowAISpawn(DEF, true)

end



--objective: assault1
Objective6= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "null", popupText = "null"}

Dclass = TargetType:New{classname = "cis_inf_rifleman", killLimit = 3}
Objective6:AddTarget(Dclass)

Objective6.OnStart = function(self)
Objective6.Dclass_cpGoal1 = AddAIGoal(ATT, "Defend", 100, "cp2")
Objective6.Dclass_cpGoal2 = AddAIGoal(DEF, "Defend", 100, "cp2")
end

Objective6.OnComplete = function(self)
DeleteAIGoal(Objective6.Dclass_cpGoal1)
DeleteAIGoal(Objective6.Dclass_cpGoal2)
AllowAISpawn(DEF, false)
end




--objective :goto6
Objective7 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto5", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective7:AddHint("level.geo1.hints.movement")
Objective7:AddHint("level.geo1.hints.obj_markers")
Objective7:AddHint("level.geo1.hints.review_objectives")
Objective7:AddHint("level.geo1.hints.sprint")


Objective7.OnStart = function(self)
att_obj7_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj7_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective7.OnComplete = function(self)
DeleteAIGoal(att_obj7_aigoal)
DeleteAIGoal(def_obj7_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto7
Objective8 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto6", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective8:AddHint("level.geo1.hints.movement")
Objective8:AddHint("level.geo1.hints.obj_markers")
Objective8:AddHint("level.geo1.hints.review_objectives")
Objective8:AddHint("level.geo1.hints.sprint")


Objective8.OnStart = function(self)
att_obj8_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj8_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective8.OnComplete = function(self)
DeleteAIGoal(att_obj8_aigoal)
DeleteAIGoal(def_obj8_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto8
Objective9 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto6a", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective9:AddHint("level.geo1.hints.movement")
Objective9:AddHint("level.geo1.hints.obj_markers")
Objective9:AddHint("level.geo1.hints.review_objectives")
Objective9:AddHint("level.geo1.hints.sprint")


Objective9.OnStart = function(self)
att_obj9_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj9_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective9.OnComplete = function(self)
DeleteAIGoal(att_obj9_aigoal)
DeleteAIGoal(def_obj9_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective10 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto7", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective10:AddHint("level.geo1.hints.movement")
Objective10:AddHint("level.geo1.hints.obj_markers")
Objective10:AddHint("level.geo1.hints.review_objectives")
Objective10:AddHint("level.geo1.hints.sprint")


Objective10.OnStart = function(self)
att_obj10_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj10_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective10.OnComplete = function(self)
DeleteAIGoal(att_obj10_aigoal)
DeleteAIGoal(def_obj10_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective11 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto7b", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective11:AddHint("level.geo1.hints.movement")
Objective11:AddHint("level.geo1.hints.obj_markers")
Objective11:AddHint("level.geo1.hints.review_objectives")
Objective11:AddHint("level.geo1.hints.sprint")


Objective11.OnStart = function(self)
att_obj11_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj11_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective11.OnComplete = function(self)
DeleteAIGoal(att_obj11_aigoal)
DeleteAIGoal(def_obj11_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective12 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto7a", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective12:AddHint("level.geo1.hints.movement")
Objective12:AddHint("level.geo1.hints.obj_markers")
Objective12:AddHint("level.geo1.hints.review_objectives")
Objective12:AddHint("level.geo1.hints.sprint")


Objective12.OnStart = function(self)
att_obj12_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj12_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective12.OnComplete = function(self)
DeleteAIGoal(att_obj12_aigoal)
DeleteAIGoal(def_obj12_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective13 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto8", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective13:AddHint("level.geo1.hints.movement")
Objective13:AddHint("level.geo1.hints.obj_markers")
Objective13:AddHint("level.geo1.hints.review_objectives")
Objective13:AddHint("level.geo1.hints.sprint")


Objective13.OnStart = function(self)
att_obj13_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj13_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective13.OnComplete = function(self)
DeleteAIGoal(att_obj13_aigoal)
DeleteAIGoal(def_obj13_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective14 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto9", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective14:AddHint("level.geo1.hints.movement")
Objective14:AddHint("level.geo1.hints.obj_markers")
Objective14:AddHint("level.geo1.hints.review_objectives")
Objective14:AddHint("level.geo1.hints.sprint")


Objective14.OnStart = function(self)
att_obj14_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj14_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective14.OnComplete = function(self)
DeleteAIGoal(att_obj14_aigoal)
DeleteAIGoal(def_obj14_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective15 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto10", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective15:AddHint("level.geo1.hints.movement")
Objective15:AddHint("level.geo1.hints.obj_markers")
Objective15:AddHint("level.geo1.hints.review_objectives")
Objective15:AddHint("level.geo1.hints.sprint")


Objective15.OnStart = function(self)
att_obj15_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj15_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective15.OnComplete = function(self)
DeleteAIGoal(att_obj15_aigoal)
DeleteAIGoal(def_obj15_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective16 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto12", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective16:AddHint("level.geo1.hints.movement")
Objective16:AddHint("level.geo1.hints.obj_markers")
Objective16:AddHint("level.geo1.hints.review_objectives")
Objective16:AddHint("level.geo1.hints.sprint")


Objective16.OnStart = function(self)
att_obj16_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj16_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective16.OnComplete = function(self)
DeleteAIGoal(att_obj16_aigoal)
DeleteAIGoal(def_obj16_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end



--objective: assault2
Dobjekt = Target:New{name = "antenna"}
Dobjekt.OnDestroy = function(self)

end

Objective17 = ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "null", popupText = "null"}
Objective17:AddTarget(Dobjekt)


Objective17.OnStart = function(self)


end

Objective17.OnComplete = function(self)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto
Objective18 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "null", popupText = "null",
regionName = "goto13", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective18:AddHint("level.geo1.hints.movement")
Objective18:AddHint("level.geo1.hints.obj_markers")
Objective18:AddHint("level.geo1.hints.review_objectives")
Objective18:AddHint("level.geo1.hints.sprint")


Objective18.OnStart = function(self)
att_obj18_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj18_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective18.OnComplete = function(self)
DeleteAIGoal(att_obj18_aigoal)
DeleteAIGoal(def_obj18_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end



--objective: assault3
Dobjekt = Target:New{name = "camp"}
Dobjekt.OnDestroy = function(self)

end

Objective19 = ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "null", popupText = "null"}
Objective19:AddTarget(Dobjekt)


Objective19.OnStart = function(self)


end

Objective19.OnComplete = function(self)
ShowMessageText("game.objectives.complete", ATT)

end

OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"TeleportNode")
end,
"TeleportRegion"
)
ActivateRegion("TeleportRegion")

OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"TeleportNode2")
end,
"TeleportRegion2"
)
ActivateRegion("TeleportRegion2")

OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"TeleportNode3")
end,
"TeleportRegion3"
)
ActivateRegion("TeleportRegion3")

OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"TeleportNode4")
end,
"TeleportRegion4"
)
ActivateRegion("TeleportRegion4")

OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"TeleportNode5")
end,
"TeleportRegion5"
)
ActivateRegion("TeleportRegion5")

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

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_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_hover_aat")


ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_laser",
"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(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("SoundSpaceRegion", 64)
SetMemoryPoolSize("TreeGridStack", 1024)
SetMemoryPoolSize("UnitAgent", 128)
SetMemoryPoolSize("UnitController", 128)
SetMemoryPoolSize("Weapon", weaponCnt)

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

function MoveEntityToNode(entIn,pathIn,nodeIn)
if not entIn then
print("Warning!: Entity not specified for move")
return false
elseif not pathIn then
print("Warning!: Path not specified for Entity " .. entIn .. " move")
return false
end

local node
if nodeIn then
node = nodeIn
else
node = 0
end

local locDest = GetPathPoint(pathIn,node)
local charUnit = GetCharacterUnit(entIn)
if charUnit then
SetEntityMatrix(charUnit,locDest)
return true
end
return false
end
I can see that StartObjectives () has nothing in the (). But what should be there? I don't want to risk putting in the wrong thing and messing up my LUA, then forget what the right thing was. I assume I have to list the objectives there, but how?

Should it be StartObjectives (Objective1, Objective2, <etc.>)? Or do they have to have quotation marks around them?




EDIT - Can't believe I forgot to ask this. This timer script is copied directly from the Coruscant script for Knightfall. Thus that script also has a StartObjectives () with nothing in the (). So how come it's timer works and mine doesn't?

Re: XL mode

Posted: Sat Jan 03, 2009 4:23 pm
by RepSharpshooter
You are referencing StartObjectives but it is defined no where, so it doesn't exist (a nil value).

Copy one of the definitions of the function from another lua and tailor it to yours.

You must always have:

Code: Select all

function name( parameters or none if you dont need them )

--do stuff

end
Before you can call it like this

Code: Select all

name()
You are probably confused with functions such as SetEntityMatrix(charUnit,locDest) which are already defined in the battlefront game itself (or some in other shipped luas).

Re: XL mode

Posted: Sat Jan 03, 2009 4:56 pm
by Fiodis
Ah, thanks for clearing that up. The objectives start, but now that they do, yet another problem is revealed. The first objective, go to the region gotoprime2, works just fine. The second doesn't. I can't understand that, because the mungelog says:
Hidden/Spoiler:
Message Severity: 3
.\Source\HUDObjectiveList.cpp(158)
Objective already added to the list! Make sure there are no duplicate objective texts (and double check that all multiplayer objectives have unique textATT and textDEF)!

Message Severity: 2
.\Source\LuaCallbacks_Mission.cpp(2523)
Timer "victoryTimer" not found

Message Severity: 2
.\Source\LuaCallbacks_Mission.cpp(2523)
Timer "delayTimer" not found

Message Severity: 2
.\Source\LuaCallbacks_Mission.cpp(2523)
Timer "dittyTimer" not found
release self.dittyTimerResponse

Message Severity: 2
.\Source\ActiveRegion.cpp(186)
Region "goto1" not found

Message Severity: 2
.\Source\LuaCallbacks_Mission.cpp(2359)
Region "goto1" not found

Message Severity: 2
.\Source\LuaCallbacks_Mission.cpp(2359)
Region "goto1" not found
The last 3 say that it can't find the region goto1, but goto1 is clearly labeled and placed in the xl layer of ZE. It's name is goto1, it's type is goto1. I don't see why the game doesn't see it.


Also, that first Severity: 3 is listed about 19 times or so. What does it mean?


EDIT - All of the severity: 3's deal with line 158.