Campaign Issues

In this forum you will find and post information regarding the modding of Star Wars Battlefront 2. DO NOT POST MOD IDEAS/REQUESTS.

Moderator: Moderators

Post Reply
User avatar
Par3210
Jedi
Jedi
Posts: 1033
Joined: Sun Jun 14, 2009 10:31 am
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: Owning people in SWBF2
Contact:

Campaign Issues

Post by Par3210 »

Hey. I made my campaign, but when I go ingame nothing appears, it is just my normal map with no campaign.
Lua:
Hidden/Spoiler:
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
-- Mos Eisley Hero Deathmatch (uses Space Assault rules)
-- First team to reach 100 kills wins
--

ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("MultiObjectiveContainer")
ScriptCB_DoFile("ObjectiveGoto")
ScriptCB_SetGameRules("Campaign")

--ADD THIS AFTER THE ScriptCB_DoFile SECTION
count = 0
--END

---------------------------------------------------------------------------
-- ScriptPostLoad
---------------------------------------------------------------------------
function ScriptPostLoad()

function ScriptPostLoad()

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

onfirstspawn = OnCharacterSpawn(
function(character)
if character == 0 then
ShowPopup("level.AMC.hints.hints")
ReleaseCharacterSpawn(onfirstspawn)
onfirstspawn = nil
BeginObjectivesTimer()
ScriptCB_EnableCommandPostVO(0)
ShowMessageText("Darth Bane... a miner in the Apatros colony..", ATT)

end
end)



--objective :goto the cantina
Objective1 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "Good. Speak to Groshik inside for more help.", popupText = "Bane. Come in, Bane. Go to the cantina on the hill.",
regionName = "cantinaregion", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective1:AddHint("level.AMC.hints.movement")
Objective1:AddHint("level.AMC.hints.obj_markers")
Objective1:AddHint("level.AMC.hints.review_objectives")
Objective1:AddHint("level.AMC.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: assault on the republic soldiers
Objective2= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "Good job.", popupText = "Some republic soldiers are trying to stalk and kill you. Kill them."}

Dclass = TargetType:New{classname = "rvs_inf_rbasic", killLimit = 5}
Objective2:AddTarget(Dclass)

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

Objective2.OnComplete = function(self)
DeleteAIGoal(Objective2.Dclass_cpGoal1)
DeleteAIGoal(Objective2.Dclass_cpGoal2)
end




--objective :goto groshik again for task
Objective3 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "Speak to him. He has a task for you.", popupText = "Go back to Groshik.",
regionName = "cantinaregion", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

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


Objective3.OnStart = function(self)
att_obj3_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj3_aigoal = AddAIGoal(DEF, "Deathmatch", 100)
MapAddEntityMarker("tat2_bldg_cantina", "hud_objective_icon_circle", 3.0, 1, "YELLOW", true)

end

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

end




--objective :goto speak to Neimoidian groshik
Objective4 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "Greetings, human. I am the Neimoidian Groshik, and this is my cantina. Isn't it beautiful! *Ahem.* There is a Jedi running wild on the hill not far from here. I need you to kill him. He is scaring away my customers!", popupText = "Good. Groshik has a task...",
regionName = "groshik", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective4:AddHint("level.AMC.hints.movement")
Objective4:AddHint("level.AMC.hints.obj_markers")
Objective4:AddHint("level.AMC.hints.review_objectives")
Objective4:AddHint("level.AMC.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: assault, kill the mad jedi
Objective5= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "(The Mad Jedi has been killed. Return to Groshik for the transport he promised.)", popupText = "Go! Kill him! "}

Dclass = TargetType:New{classname = "jed_master_02", killLimit = 1}
Objective5:AddTarget(Dclass)

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

Objective5.OnComplete = function(self)
DeleteAIGoal(Objective5.Dclass_cpGoal1)
DeleteAIGoal(Objective5.Dclass_cpGoal2)
end






--objective :goto back to the Neimoidian groshik for some transport out of this hell hole
Objective6 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "As I promised.. your craft is waiting for you at the docking bay. A fine beaut, I must say.", popupText = "(Return To Groshik.) ",
regionName = "groshik", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

Objective6:AddHint("level.AMC.hints.movement")
Objective6:AddHint("level.AMC.hints.obj_markers")
Objective6:AddHint("level.AMC.hints.review_objectives")
Objective6:AddHint("level.AMC.hints.sprint")


Objective6.OnStart = function(self)
att_obj6_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj6_aigoal = AddAIGoal(DEF, "Deathmatch", 100)

end

Objective6.OnComplete = function(self)
DeleteAIGoal(att_obj6_aigoal)
DeleteAIGoal(def_obj6_aigoal)
ShowMessageText("game.objectives.complete", ATT)

end




--objective :goto last place, the docking bay
Objective7 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "Mission Complete.", popupText = "Go to the ship waiting at the docking bay.",
regionName = "leaveregion", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

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


Objective7.OnStart = function(self)
att_obj7_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj7_aigoal = AddAIGoal(DEF, "Deathmatch", 100)
MapAddEntityMarker("tat2_bldg_dockingbay_01", "hud_objective_icon_circle", 3.0, 1, "YELLOW", true)

end

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

end

end



function BeginObjectivesTimer()
beginobjectivestimer = CreateTimer("beginobjectivestimer")
OnTimerElapse(BeginObjectives, beginobjectivestimer)
SetTimerValue(beginobjectivestimer, 2)
StartTimer(beginobjectivestimer)
end

function BeginObjectives()
objectiveSequence = MultiObjectiveContainer:New{delayVictoryTime = 3}
objectiveSequence:AddObjectiveSet(Objective1)
objectiveSequence:AddObjectiveSet(Objective2)
objectiveSequence:AddObjectiveSet(Objective3)
objectiveSequence:AddObjectiveSet(Objective4)
objectiveSequence:AddObjectiveSet(Objective5)
objectiveSequence:AddObjectiveSet(Objective6)
objectiveSequence:AddObjectiveSet(Objective7)

objectiveSequence:Start()

end

--This defines the CPs. These need to happen first
cp2 = CommandPost:New{name = "cp2"}
cp4 = CommandPost:New{name = "cp4"}


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

-- ADD THIS IN THE ScriptPostLoad SECTION

OnObjectDamage(
function(object, damager)
if GetObjectHealth(object) > 900000 then return end
if GetObjectLastHitWeaponClass(object) == "com_weap_inf_stasis" then
FreezeFor(object,2)
end
end
)
--END


SetClassProperty("all_inf_recon_twilek", "PointsToUnlock", 0)

--This adds the CPs to the objective. This needs to happen after the objective is set up
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp4)

--ADD THIS AFTER THE ScriptPostLoad SECTION
function FreezeFor(object, timercount)
--Freeze
print("--Freeze")
count = count + 1
health = GetObjectHealth(object)
SetProperty(object, "CurHealth", 1000000)
DeactivateObject(object)
-- Wait for timercount
print("-- Wait for timercount")
CreateTimer("timer" .. count)
SetTimerValue("timer" .. count, timercount)
StartTimer("timer" .. count)
OnTimerElapse(
function(timer)
--Unfreeze
print("--Unfreeze")
ActivateObject(object)
SetProperty(object, "CurHealth", (GetObjectHealth(object) - 1000000) + health)
end,
"timer" .. count
)
DestroyTimer("timer" .. count)
end
--END

conquest:Start()

EnableSPHeroRules()

end


---------------------------------------------------------------------------
-- ScriptInit
---------------------------------------------------------------------------
function ScriptInit()

SetMemoryPoolSize ("SoldierAnimation",1700) -- should be number in log x 1.5 rounded to the nearest hundred.
SetMemoryPoolSize ("ClothData",20)
SetMemoryPoolSize ("Combo",70) -- should be ~ 2x number of jedi classes
SetMemoryPoolSize ("Combo::State",850) -- should be ~12x #Combo
SetMemoryPoolSize ("Combo::Transition",850) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Condition",850) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Attack",750) -- should be ~8-12x #Combo
SetMemoryPoolSize ("Combo::DamageSample",8000) -- should be ~8-12x #Combo::Attack
SetMemoryPoolSize ("Combo::Deflect",140) -- should be ~1x #combo -- should be ~1x #combo

ReadDataFile("ingame.lvl")

--ForceHumansOntoTeam1()

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

SetMaxFlyHeight(100)
SetMaxPlayerFlyHeight(100)

ReadDataFile("sound\\dea.lvl;dea1gcw")
ReadDataFile("SIDE\\BFX\\all.lvl",
"all_inf_recon_twilek")
ReadDataFile("dc:SIDE\\jed.lvl",
"jed_master_02",
"jed_knight_03")
ReadDataFile("dc:SIDE\\rvs.lvl",
"rvs_inf_rbasic",
"rvs_inf_sbasic",
"rvs_inf_rheavy",
"rvs_inf_sheavy",
"rvs_inf_rmelee",
"rvs_inf_smelee",
"rvs_inf_rsupport",
"rvs_inf_ssupport",
"rvs_inf_rstealth",
"rvs_inf_sstealth",
"kor_knight_02",
"kor_inf_K")

ReadDataFile("dc:SIDE\\rep.lvl",
"rep_inf_ep2_rifleman")

ReadDataFile("dc:SIDE\\cis.lvl",
"bane_inf_bane")

--[[ Turrets disabled
ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_chaingun_roof",
"tur_weap_built_gunturret")
SetMemoryPoolSize("MountedTurret", 15)
--]]

--ReadDataFile("SIDE\\snw.lvl", "snw_inf_wampa")

SetupTeams{
hero = {
team = ALL,
units = 2,
reinforcements = 5,
soldier = { "bane_inf_bane",1,2},
},
}

SetupTeams{
villain = {
team = IMP,
units = 30,
reinforcements = -1,
soldier = { "rvs_inf_rbasic",5,6},
assault = { "rvs_inf_rheavy",5,6},
engineer= { "rvs_inf_rmelee",2,3},
sniper = { "rvs_inf_rsupport",3,5},
officer = { "rvs_inf_rstealth",1,2},
},
}
AddUnitClass(IMP, "jed_knight_03",30,51)
AddUnitClass(IMP, "rep_inf_ep2_rifleman",1,2)
AddUnitClass(IMP, "all_inf_recon_twilek",20,25)
AddUnitClass(IMP, "jed_master_02",20,25)

-- Please ignore this it's just a reminder of the unit.

-- Level Stats
ClearWalkers()
AddWalkerType(0, 0) -- 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 = 96
SetMemoryPoolSize("Aimer", 1)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 320)
SetMemoryPoolSize("ConnectivityGraphFollower", 23)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth",41)
SetMemoryPoolSize("EntityDefenseGridTurret", 0)
SetMemoryPoolSize("EntityDroid", 0)
SetMemoryPoolSize("EntityFlyer", 5) -- to account for 5 chewbaccas
SetMemoryPoolSize("EntityLight", 80, 80) -- stupid trickery to actually set lights to 80
SetMemoryPoolSize("EntityPortableTurret", 0) -- nobody has autoturrets AFAIK - MZ
SetMemoryPoolSize("EntitySoundStream", 2)
SetMemoryPoolSize("EntitySoundStatic", 45)
SetMemoryPoolSize("FLEffectObject::OffsetMatrix", 120)
SetMemoryPoolSize("MountedTurret", 0)
SetMemoryPoolSize("Navigator", 23)
SetMemoryPoolSize("Obstacle", 667)
SetMemoryPoolSize("Ordnance", 80) -- not much ordnance going on in the level
SetMemoryPoolSize("ParticleEmitter", 512)
SetMemoryPoolSize("ParticleEmitterInfoData", 512)
SetMemoryPoolSize("PathFollower", 23)
SetMemoryPoolSize("PathNode", 128)
SetMemoryPoolSize("ShieldEffect", 0)
SetMemoryPoolSize("TentacleSimulator", 24)
SetMemoryPoolSize("TreeGridStack", 290)
SetMemoryPoolSize("UnitAgent", 23)
SetMemoryPoolSize("UnitController", 23)
SetMemoryPoolSize("Weapon", weaponCnt)

SetSpawnDelay(10.0, 0.25)
ReadDataFile("dc:AMC\\AMC.lvl", "AMC_eli")
SetDenseEnvironment("false")

-- Sound Stats

ScriptCB_EnableHeroMusic(0)
ScriptCB_EnableHeroVO(0)

voiceSlow = OpenAudioStream("sound\\global.lvl", "all_unit_vo_slow")
AudioStreamAppendSegments("sound\\global.lvl", "imp_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "global_vo_slow", voiceSlow)

voiceQuick = OpenAudioStream("sound\\global.lvl", "all_unit_vo_quick")
AudioStreamAppendSegments("sound\\global.lvl", "imp_unit_vo_quick", voiceQuick)

OpenAudioStream("sound\\global.lvl", "gcw_music")
OpenAudioStream("sound\\tat.lvl", "tat2")
OpenAudioStream("sound\\tat.lvl", "tat2")
-- OpenAudioStream("sound\\global.lvl", "global_vo_quick")
-- OpenAudioStream("sound\\global.lvl", "global_vo_slow")

SetBleedingVoiceOver(ALL, ALL, "all_off_com_report_us_overwhelmed", 1)
SetBleedingVoiceOver(ALL, IMP, "all_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(IMP, ALL, "imp_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(IMP, IMP, "imp_off_com_report_us_overwhelmed", 1)

SetLowReinforcementsVoiceOver(ALL, ALL, "all_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(ALL, IMP, "all_off_victory_im", .1, 1)
SetLowReinforcementsVoiceOver(IMP, IMP, "imp_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(IMP, ALL, "imp_off_victory_im", .1, 1)

SetOutOfBoundsVoiceOver(1, "Allleaving")
SetOutOfBoundsVoiceOver(2, "Impleaving")

SetAmbientMusic(ALL, 1.0, "gen_amb_celebDeathmatch", 0,1)
-- SetAmbientMusic(ALL, 0.9, "all_tat_amb_middle", 1,1)
-- SetAmbientMusic(ALL, 0.1, "all_tat_amb_end", 2,1)
SetAmbientMusic(IMP, 1.0, "gen_amb_celebDeathmatch", 0,1)
-- SetAmbientMusic(IMP, 0.9, "imp_tat_amb_middle", 1,1)
-- SetAmbientMusic(IMP, 0.1, "imp_tat_amb_end", 2,1)

SetVictoryMusic(ALL, "all_tat_amb_victory")
SetDefeatMusic (ALL, "all_tat_amb_defeat")
SetVictoryMusic(IMP, "imp_tat_amb_victory")
SetDefeatMusic (IMP, "imp_tat_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")

SetAttackingTeam(ATT)

-- Camera Stats
--Tat2 Mos Eisley
AddCameraShot(0.974338, -0.222180, 0.035172, 0.008020, -82.664650, 23.668301, 43.955681);
AddCameraShot(0.390197, -0.089729, -0.893040, -0.205362, 23.563562, 12.914885, -101.465561);
AddCameraShot(0.169759, 0.002225, -0.985398, 0.012916, 126.972809, 4.039628, -22.020613);
AddCameraShot(0.677453, -0.041535, 0.733016, 0.044942, 97.517807, 4.039628, 36.853477);
AddCameraShot(0.866029, -0.156506, 0.467299, 0.084449, 7.685640, 7.130688, -10.895234);

end
Please help!
User avatar
Frisbeetarian
Jedi
Jedi
Posts: 1233
Joined: Wed Sep 12, 2007 3:13 pm

Re: Campaign Issues

Post by Frisbeetarian »

You didn't get a munge log for this?

It looks like you didn't use the Mission Scripter correctly. Read through the directions again.

As for what you've given us, you can remove the first function ScriptPostLoad() because you should only ever have one of those. This will inevitably cause a cascade of errors, so it would be best to redo your Lua script from the beginning. No it's not fast, but it's for the best.

This time, do one objective at a time, testing after each one.
User avatar
Par3210
Jedi
Jedi
Posts: 1033
Joined: Sun Jun 14, 2009 10:31 am
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: Owning people in SWBF2
Contact:

Re: Campaign Issues

Post by Par3210 »

Frisbeetarian wrote:You didn't get a munge log for this?

It looks like you didn't use the Mission Scripter correctly. Read through the directions again.

As for what you've given us, you can remove the first function ScriptPostLoad() because you should only ever have one of those. This will inevitably cause a cascade of errors, so it would be best to redo your Lua script from the beginning.
No it's not fast, but it's for the best.

This time, do one objective at a time, testing after each one.
What directions?
Completed that.
Aww... I guess it is for the best though, thanks for your help. I'll just try taking away the scriptpost thingy first.

Here is the munge log:
Hidden/Spoiler:
C:\BF2_ModTools\ToolsFL\Bin\luac.exe: ..\..\common\scripts\AMC\AMCg_eli.lua:305: <eof> expected near `end'
ERROR[scriptmunge scripts\AMC\AMCg_eli.lua]:Could not read input file.ERROR[scriptmunge scripts\AMC\AMCg_eli.lua]:Could not read input file. [continuing]
2 Errors 0 Warnings

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

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

ucft <--

2 Errors 0 Warnings
User avatar
Frisbeetarian
Jedi
Jedi
Posts: 1233
Joined: Wed Sep 12, 2007 3:13 pm

Re: Campaign Issues

Post by Frisbeetarian »

I haven't personally looked at the Mission Scripter, I assumed it has directions since other people tend not to duplicate ScriptPostLoad().

Why don't you fix that error? It tells you what to do.
User avatar
Par3210
Jedi
Jedi
Posts: 1033
Joined: Sun Jun 14, 2009 10:31 am
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: Owning people in SWBF2
Contact:

Re: Campaign Issues

Post by Par3210 »

<eof>? I don't know what that means.. It has no directions, only hints on what to do and what some boxes mean... :roll:
User avatar
Frisbeetarian
Jedi
Jedi
Posts: 1233
Joined: Wed Sep 12, 2007 3:13 pm

Re: Campaign Issues

Post by Frisbeetarian »

<eof> means end of file. That could be found using search.
Par3210 wrote:C:\BF2_ModTools\ToolsFL\Bin\luac.exe: ..\..\common\scripts\AMC\AMCg_eli.lua:305: <eof> expected near `end'
Red: Tells you what program got the error.
Green: Tells you what file that program was running.
Blue: Tells you what line in that file produced the error.
Purple: Tells you where on that line the problem is.
Yellow: Tells you what the program expects to see.

Computers are stupid. Thus they can only tell you what it wants based on what you have in the order you wrote it. That means that the yellow can either tell you what is needed to be inserted or will indicate that you have something extra that is interfering.

In this case, luac.exe expects an end of file at line 305. Since this is obviously not where you want to end your file, that means that there is an extra "end" in your file.

Unfortunately, you now have 300 lines of code to go through to find that extra end. I knew this would be your next error, but I don't have the time to go through your code to find the extra end myself. This is why I suggest going through recreating your objectives one by one.
User avatar
StarkillerMarek
Rebel Colonel
Rebel Colonel
Posts: 611
Joined: Wed Aug 12, 2009 4:42 pm
Location: I may be back.

Re: Campaign Issues

Post by StarkillerMarek »

And also, when it says showtext or popup text, what it means is for you to reference a key you made in the editlocalize tool.
ForceMaster
Lieutenant General
Lieutenant General
Posts: 737
Joined: Fri Aug 08, 2008 11:27 pm
Projects :: Tron The Grid
Games I'm Playing :: The best..SWBFII
xbox live or psn: No gamertag set
Location: C:\Program Files\ForceMaster\Bin\ForceMaster.exe

Re: Campaign Issues

Post by ForceMaster »

To work with Mission Scripter you can follow this steps:

1) Edit and load your start sequence (check and uncheck your preferences in the popup window)

Image

2) Make your objectives (Assault, Go to or Conquest). in the Text (localize path) and Popup-text (localize path) fields you may enter the localize path for your text. example: level.ABC.campaign.objectives.1 (for the "M" window) and level.ABC.campaign.objectives.1popup (for the popup window). see the localize tutorial in the FAQ.

Image

3) Edit and load your end sequence (only for add or remove objectives of your mission)

Image

4) Export your script.

hope help you.
User avatar
Par3210
Jedi
Jedi
Posts: 1033
Joined: Sun Jun 14, 2009 10:31 am
Projects :: No Mod project currently.
Games I'm Playing :: I have not listed any games yet
xbox live or psn: No gamertag set
Location: Owning people in SWBF2
Contact:

Re: Campaign Issues

Post by Par3210 »

i hope this works, thanks :roll:
Post Reply