Page 1 of 2

The game crash after showing the first objective [Solved]

Posted: Fri Apr 17, 2009 10:06 am
by ForceMaster
Hi guys. me again!
I have a problem with my map. I explain.
I have 12 simple objetives that I created with Mission Scripter for my map (originally 10 but was increased to 12), when the wait time to begin ends the first objetive show the pop-up window with the text localized but when the units spawn then interrupted the game. I show them my 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;
AmbushTeam = 5
ATM = AmbushTeam

function ScriptPostLoad()

--This defines the CPs. These need to happen first
cp1 = CommandPost:New{name = "cp1"}
cp2 = CommandPost:New{name = "cp2"}
cp3 = CommandPost:New{name = "cp3"}
cp4 = CommandPost:New{name = "cp4"}
cp5 = CommandPost:New{name = "cp5"}
cp6 = CommandPost:New{name = "cp6"}
cp7 = CommandPost:New{name = "cp7"}
cp8 = CommandPost:New{name = "cp8"}

SetAIDifficulty(0, 2, "hard")
AllowAISpawn(ATT, true)
AllowAISpawn(DEF, true)
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 :GO TO THE BARRICADE
Objective1 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "level.CRP.objetives.campaing.1", popupText = "level.CRP.objetives.campaing.1popup",
regionName = "barricade", 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: CONQUEST THE CP5
Objective2CP = CommandPost:New{name = "cp5"}
Objective2 = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF, text = "level.CRP.objetives.campaing.2", popupText = "level.CRP.objetives.campaing.2popup", AIGoalWeight = 0}
Objective2:AddCommandPost(Objective2CP)

Objective2:AddHint("level.geo1.hints.capture_cp")

Objective2.OnStart = function(self)
AICanCaptureCP("cp5", ATT, false)
AICanCaptureCP("cp5", DEF, false)
att_obj2_aigoal = AddAIGoal(ATT, "Defend", 50, "cp5")
def_obj2_aigoal = AddAIGoal(DEF, "Defend", 50, "cp5")
att_obj2_aigoal2 = AddAIGoal(ATT, "Deathmatch", 100)
def_obj2_aigoal2 = AddAIGoal(DEF, "Deathmatch", 100)
end

Objective2.OnComplete = function(self)
ShowMessageText("game.objectives.complete", ATT)
DeleteAIGoal(att_obj2_aigoal)
DeleteAIGoal(att_obj2_aigoal2)
DeleteAIGoal(def_obj2_aigoal)
DeleteAIGoal(def_obj2_aigoal2)
SetProperty("cp5", "Team", 1)
SetProperty("cp5", "CaptureRegion", "")

end



--objective: DESTROY THE SNIPERS
Objective3= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.3", popupText = "level.CRP.objetives.campaing.3popup"}

Dclass = TargetType:New{classname = "cis_inf_sniper", killLimit = 3}
Objective3:AddTarget(Dclass)

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

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



--objective: DESTROY 10 SBD
Objective4= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.4", popupText = "level.CRP.objetives.campaing.4popup"}

Dclass = TargetType:New{classname = "cis_inf_rifleman", killLimit = 10}
Objective4:AddTarget(Dclass)

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

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



--objective: DESTROY 4 SNAIL TANKS
Objective5= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.5", popupText = "level.CRP.objetives.campaing.5popup"}

Dclass = TargetType:New{classname = "cis_tread_snailtank", killLimit = 4}
Objective5:AddTarget(Dclass)

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

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




--objective : REX GO UP AMBUSH
Objective6 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "level.CRP.objetives.campaing.6", popupText = "level.CRP.objetives.campaing.6popup",
regionName = "ambushball", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

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


Objective6.OnStart = function(self)
att_obj6_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj6_aigoal = AddAIGoal(DEF, "Deathmatch", 100)
MapAddEntityMarker("crp_prop_ball", "hud_objective_icon_circle", 3.0, 1, "YELLOW", true)

end

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

end



--objective: DESTROY THE TRI-DROIDS
Objective7= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.7", popupText = "level.CRP.objetives.campaing.7popup"}

Dclass = TargetType:New{classname = "crp_tri_droid", killLimit = 3}
Objective7:AddTarget(Dclass)

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

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




--objective :GO TO THE SHIELD GENERATOR
Objective8 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "level.CRP.objetives.campaing.8", popupText = "level.CRP.objetives.campaing.8popup",
regionName = "shieldgen", 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: DESTROY THE SHIELD GENERATOR
Dobjekt = Target:New{name = "crp_prop_shieldgenerator"}
Dobjekt.OnDestroy = function(self)

end

Objective9 = ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.9", popupText = "level.CRP.objetives.campaing.9popup"}
Objective9:AddTarget(Dobjekt)


Objective9.OnStart = function(self)


end

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

end




--objective :GO TO THE ARTILLERY DEFFENSE LINE
Objective10 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "level.CRP.objetives.campaing.10", popupText = "level.CRP.objetives.campaing.10popup",
regionName = "artillery", 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: DESTROY 6 AATs
Objective11= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.11", popupText = "level.CRP.objetives.campaing.11popup"}

Dclass = TargetType:New{classname = "cis_hover_aat", killLimit = 6}
Objective11:AddTarget(Dclass)

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

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



--objective: CONQUEST THE CP8
Objective12CP = CommandPost:New{name = "cp8"}
Objective12 = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF, text = "level.CRP.objetives.campaing.12", popupText = "level.CRP.objetives.campaing.12popup", AIGoalWeight = 0}
Objective12:AddCommandPost(Objective12CP)

Objective12:AddHint("level.geo1.hints.capture_cp")

Objective12.OnStart = function(self)
AICanCaptureCP("cp8", ATT, false)
AICanCaptureCP("cp8", DEF, false)
att_obj12_aigoal = AddAIGoal(ATT, "Defend", 50, "cp8")
def_obj12_aigoal = AddAIGoal(DEF, "Defend", 50, "cp8")
att_obj12_aigoal2 = AddAIGoal(ATT, "Deathmatch", 100)
def_obj12_aigoal2 = AddAIGoal(DEF, "Deathmatch", 100)
end

Objective12.OnComplete = function(self)
ShowMessageText("game.objectives.complete", ATT)
DeleteAIGoal(att_obj12_aigoal)
DeleteAIGoal(att_obj12_aigoal2)
DeleteAIGoal(def_obj12_aigoal)
DeleteAIGoal(def_obj12_aigoal2)
SetProperty("cp8", "Team", 1)
SetProperty("cp8", "CaptureRegion", "")

end



end



function BeginObjectivesTimer()
beginobjectivestimer = CreateTimer("beginobjectivestimer")
OnTimerElapse(BeginObjectives, beginobjectivestimer)
SetTimerValue(beginobjectivestimer, 4)
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:AddObjectiveSet(Objective8)
objectiveSequence:AddObjectiveSet(Objective9)
objectiveSequence:AddObjectiveSet(Objective10)
objectiveSequence:AddObjectiveSet(Objective11)
objectiveSequence:AddObjectiveSet(Objective12)

objectiveSequence:Start()

SetUberMode(1);
SetupAmbushTrigger("ambushregion", "ambushpath", 6, 5)

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("dc:Load\\common.lvl")


ReadDataFile("dc:ingame.lvl")
ReadDataFile("ingame.lvl")

SetMaxFlyHeight(500)
SetMaxPlayerFlyHeight (500)

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("dc:SIDE\\rep.lvl",
"rep_inf_ep2_marine",
"rep_inf_ep2_rifleman",
"rep_inf_ep2_jettrooper",
"rep_inf_ep2_sniper",
"rep_inf_ep2_officer",
"rep_inf_ep2_engineer",
"rep_inf_ep2_jettrooper_sniper",
"rep_inf_ep2_jettrooper_rifleman",
"rep_inf_ep2_jettrooper_training",
"rep_hero_anakin",
"rep_hero_obiwan",
"rep_walk_atte_nospawn",
"rep_walk_oneman_atst",
"all_droid_r2d2")

ReadDataFile("dc: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",
"cis_tread_snailtank")

SetupTeams{
rep = {
team = REP,
units = 200,
reinforcements = 150,
soldier = { "rep_inf_ep2_rifleman",9, 40},
assault = { "rep_inf_ep2_marine",1, 15},
engineer = { "rep_inf_ep2_officer",1, 2},
sniper = { "rep_inf_ep2_sniper",1, 15},
officer = {"rep_inf_ep2_jettrooper_training",1, 15},
special = { "rep_inf_ep2_jettrooper",1, 15},
extra1 = { "rep_inf_ep2_jettrooper_rifleman",1, 2},
extra2 = { "rep_inf_ep2_engineer",1, 2},
},
cis = {
team = CIS,
units = 200,
reinforcements = 150,
soldier = { "cis_inf_rifleman",9, 40},
assault = { "cis_inf_rocketeer",1, 15},
engineer = { "cis_inf_engineer",1, 2},
sniper = { "cis_inf_sniper",1, 15},
officer = {"cis_inf_officer",1, 15},
special = { "cis_inf_droideka",1, 15},

},
atm = {
team = ATM,
units = 6,
reinforcements = 0,
soldier = { "rep_inf_ep2_jettrooper_sniper",6, 6},
assault = { "rep_hero_anakin",1, 2},
}

}

SetTeamName(ATM, REP)
SetTeamAsFriend(ATM, REP)
SetTeamAsFriend(REP, ATM)
SetTeamAsEnemy(ATM, CIS)
SetTeamAsEnemy(CIS, ATM)
ClearAIGoals(ATM)
AddAIGoal(ATM, "Deathmatch", 100)

SetHeroClass(CIS, "cis_hero_darthmaul")
SetHeroClass(REP, "rep_hero_obiwan")

-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 4) -- special -> droidekas
AddWalkerType(1, 2) -- 1x2 (1 pair of legs)
AddWalkerType(2, 0) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 6) -- 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("CommandWalker", 6)
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:CRP\\CRP.lvl", "CRP_conquest")
ReadDataFile("dc:CRP\\CRP.lvl", "CRP_conquest")
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

[/code]
I have reviewed in detail the names of regions, paths, objects that are used in the goals but I find nothing irregular, worked before, now is not that show this error. :cpu:

Note: the map is in Uber Mode, have walkers and both sides are customized.

Thanks again for helpme! :bowdown:

EDIT: Hey! can someone help me? this is making me grow green hair! :sick:

Re: The game crash after showing the first objetive

Posted: Mon Apr 20, 2009 8:17 pm
by Maveritchell
Do you have a BF2log for us to see?

Re: The game crash after showing the first objetive

Posted: Mon Apr 20, 2009 9:39 pm
by ForceMaster
No man, I do not have errors in the munge. When I change this:

Code: Select all

        AllowAISpawn(ATT, true)
        AllowAISpawn(DEF, true)
to

Code: Select all

        AllowAISpawn(ATT, false)
        AllowAISpawn(DEF, false)
the units no spawn bud the game continues. is an SIDE error?

Re: The game crash after showing the first objetive

Posted: Mon Apr 20, 2009 9:41 pm
by Teancum
Not a munge log, a bfront2 log. That's what we need. The debug output from the debug version of the game that came with the tools

Re: The game crash after showing the first objetive

Posted: Tue Apr 21, 2009 3:47 pm
by ForceMaster
ok, this is my "cis_inf_default_sbd"
Hidden/Spoiler:
[code][GameObjectClass]

// Base class for all CIS soldiers, inherits from com_inf_default
ClassParent = "com_inf_default"
GeometryName = "cis_inf_bdroid.msh"

[Properties]
ExplosionName = "cis_inf_droid_exp"
HealthType = "droid"

// most droids have funky posture, easiest to put it here
CollisionHeadOffset = "0.0 -0.11 0.05"


ChunkFrequency = 0.6

CHUNKSECTION = "CHUNK1"
ChunkGeometryName = "sbdroid_chunk1"
ChunkNodeName = "bone_neck"
ChunkTerrainCollisions = "4"
ChunkTerrainEffect = "dirtspray"
ChunkTrailEffect = "com_sfx_chunksmolder"
ChunkPhysics = "FULL"
ChunkOmega = "4.0 4.0 4.0"
ChunkSpeed = 8.0

CHUNKSECTION = "CHUNK2"
ChunkGeometryName = "sbdroid_chunk2"
ChunkNodeName = "bone_l_upperarm"
ChunkTerrainCollisions = "4"
ChunkTerrainEffect = "dirtspray"
ChunkTrailEffect = "com_sfx_chunksmolder"
ChunkPhysics = "FULL"
ChunkOmega = "4.0 4.0 4.0"
ChunkSpeed = 8.0

CHUNKSECTION = "CHUNK3"
ChunkGeometryName = "sbdroid_chunk3"
ChunkNodeName = "bone_l_calf"
ChunkTerrainCollisions = "4"
ChunkTerrainEffect = "dirtspray"
ChunkTrailEffect = "com_sfx_chunksmolder"
ChunkPhysics = "FULL"
ChunkOmega = "4.0 4.0 4.0"
ChunkSpeed = 8.0

CHUNKSECTION = "CHUNK4"
ChunkGeometryName = "sbdroid_chunk4"
ChunkNodeName = "bone_r_thigh"
ChunkTerrainCollisions = "4"
ChunkTerrainEffect = "dirtspray"
ChunkTrailEffect = "com_sfx_chunksmolder"
ChunkPhysics = "FULL"
ChunkOmega = "4.0 4.0 4.0"
ChunkSpeed = 8.0

CHUNKSECTION = "CHUNK5"
ChunkGeometryName = "sbdroid_chunk5"
ChunkNodeName = "bone_a_spine"
ChunkTerrainCollisions = "4"
ChunkTerrainEffect = "dirtspray"
ChunkTrailEffect = "com_sfx_chunksmolder"
ChunkPhysics = "FULL"
ChunkOmega = "4.0 4.0 4.0"
ChunkSpeed = 8.0


HurtSound = "cis_inf_com_chatter_wound"
DeathSound = "droid_death"
DamageRegionSound = "cis_inf_com_chatter_wound"
ShockFadeOutTime = ""
ShockFadeInTime = ""
ShockFadeOutGain = ""
ShockSound = ""
ClothingRustleSound = ""
LowHealthSound = ""
//LowHealthThreshold = ".25"
FoleyFXClass = "cis_inf_droid"


[/code]
"cis_inf_rifleman"
Hidden/Spoiler:
[code][GameObjectClass]
ClassParent = "cis_inf_default_sbd"


[Properties]
UnitType = "trooper"

GeometryName = "cis_inf_sbdroid"
GeometryLowRes = "cis_inf_sbdroid_low1"
SkeletonName = "sbdroid"
SkeletonLowRes = "sbdroidlz"

FirstPerson = "CIS\cissbdrd;cis_1st_sbdroid"

CollisionHeadOffset = "0.0 -0.2 0.0"[/code]
My new 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;
AmbushTeam = 5
ATM = AmbushTeam

function ScriptPostLoad()

--This defines the CPs. These need to happen first
cp1 = CommandPost:New{name = "cp1"}
cp2 = CommandPost:New{name = "cp2"}
cp3 = CommandPost:New{name = "cp3"}
cp4 = CommandPost:New{name = "cp4"}
cp5 = CommandPost:New{name = "cp5"}
cp6 = CommandPost:New{name = "cp6"}
cp7 = CommandPost:New{name = "cp7"}
cp8 = CommandPost:New{name = "cp8"}

SetAIDifficulty(0, 2, "hard")
AllowAISpawn(ATT, true)
AllowAISpawn(DEF, true)
EnableSPScriptedHeroes()
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 :GO TO THE BARRICADE
Objective1 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "level.CRP.objetives.campaing.1", popupText = "level.CRP.objetives.campaing.1popup",
regionName = "barricade", 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: CONQUEST CP5
Objective2CP = CommandPost:New{name = "cp5"}
Objective2 = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF, text = "level.CRP.objetives.campaing.2", popupText = "level.CRP.objetives.campaing.2popup", AIGoalWeight = 0}
Objective2:AddCommandPost(Objective2CP)

Objective2:AddHint("level.geo1.hints.capture_cp")

Objective2.OnStart = function(self)
AICanCaptureCP("cp5", ATT, true)
AICanCaptureCP("cp5", DEF, true)
att_obj2_aigoal = AddAIGoal(ATT, "Defend", 50, "cp5")
def_obj2_aigoal = AddAIGoal(DEF, "Defend", 50, "cp5")
att_obj2_aigoal2 = AddAIGoal(ATT, "Deathmatch", 100)
def_obj2_aigoal2 = AddAIGoal(DEF, "Deathmatch", 100)
end

Objective2.OnComplete = function(self)
ShowMessageText("game.objectives.complete", ATT)
DeleteAIGoal(att_obj2_aigoal)
DeleteAIGoal(att_obj2_aigoal2)
DeleteAIGoal(def_obj2_aigoal)
DeleteAIGoal(def_obj2_aigoal2)
SetProperty("cp5", "Team", 1)
SetProperty("cp5", "CaptureRegion", "")

end



--objective: DESTROY SNIPERS
Objective3= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.3", popupText = "level.CRP.objetives.campaing.3popup"}

Dclass = TargetType:New{classname = "cis_inf_sniper", killLimit = 3}
Objective3:AddTarget(Dclass)

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

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



--objective: DESTROY 10 SBD
Objective4= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.4", popupText = "level.CRP.objetives.campaing.4popup"}

Dclass = TargetType:New{classname = "cis_inf_rifleman", killLimit = 10}
Objective4:AddTarget(Dclass)

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

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



--objective: DESTROY SNAIL TANKS
Objective5= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.5", popupText = "level.CRP.objetives.campaing.5popup"}

Dclass = TargetType:New{classname = "cis_tread_snailtank", killLimit = 4}
Objective5:AddTarget(Dclass)

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

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




--objective :GO TO THE METAL SPHERE WITH REX
Objective6 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "level.CRP.objetives.campaing.6", popupText = "level.CRP.objetives.campaing.6popup",
regionName = "ambushball", mapIcon = "hud_objective_icon_circle", AIGoalWeight = 0}

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


Objective6.OnStart = function(self)
att_obj6_aigoal = AddAIGoal(ATT, "Deathmatch", 100)
def_obj6_aigoal = AddAIGoal(DEF, "Deathmatch", 100)
MapAddEntityMarker("crp_prop_ball", "hud_objective_icon_circle", 3.0, 1, "YELLOW", true)

end

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

end



--objective: DESTROY THE TRI-DROIDS
Objective7= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.7", popupText = "level.CRP.objetives.campaing.7popup"}

Dclass = TargetType:New{classname = "crp_tri_droid", killLimit = 3}
Objective7:AddTarget(Dclass)

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

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




--objective :GO TO THE SHIELD GENERATOR
Objective8 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "level.CRP.objetives.campaing.8", popupText = "level.CRP.objetives.campaing.8popup",
regionName = "shieldgen", 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: DESTROY THE SHIELD GENERATOR
Dobjekt = Target:New{name = "crp_prop_shieldgenerator"}
Dobjekt.OnDestroy = function(self)

end

Objective9 = ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.9", popupText = "level.CRP.objetives.campaing.9popup"}
Objective9:AddTarget(Dobjekt)


Objective9.OnStart = function(self)


end

Objective9.OnComplete = function(self)
ShowMessageText("game.objectives.complete", ATT)
PlayAnimation("LAAT")

end




--objective :GO TO THE ARTILLERY LINE
Objective10 = ObjectiveGoto:New{TeamATT = ATT, TeamDEF = DEF,
text = "level.CRP.objetives.campaing.10", popupText = "level.CRP.objetives.campaing.10popup",
regionName = "artillery", 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: DESTROY 6 AATs
Objective11= ObjectiveAssault:New{teamATT = ATT, teamDEF = DEF,
text = "level.CRP.objetives.campaing.11", popupText = "level.CRP.objetives.campaing.11popup"}

Dclass = TargetType:New{classname = "cis_hover_aat", killLimit = 6}
Objective11:AddTarget(Dclass)

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

Objective11.OnComplete = function(self)
DeleteAIGoal(Objective11.Dclass_cpGoal1)
DeleteAIGoal(Objective11.Dclass_cpGoal2)
PlayAnimation("acclamator")
end




--objective: CONQUEST CP8
Objective12CP = CommandPost:New{name = "cp8"}
Objective12 = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF, text = "level.CRP.objetives.campaing.12", popupText = "level.CRP.objetives.campaing.12popup", AIGoalWeight = 0}
Objective12:AddCommandPost(Objective12CP)

Objective12:AddHint("level.geo1.hints.capture_cp")

Objective12.OnStart = function(self)
AICanCaptureCP("cp8", ATT, true)
AICanCaptureCP("cp8", DEF, true)
att_obj12_aigoal = AddAIGoal(ATT, "Defend", 50, "cp8")
def_obj12_aigoal = AddAIGoal(DEF, "Defend", 50, "cp8")
att_obj12_aigoal2 = AddAIGoal(ATT, "Deathmatch", 100)
def_obj12_aigoal2 = AddAIGoal(DEF, "Deathmatch", 100)
end

Objective12.OnComplete = function(self)
ShowMessageText("game.objectives.complete", ATT)
DeleteAIGoal(att_obj12_aigoal)
DeleteAIGoal(att_obj12_aigoal2)
DeleteAIGoal(def_obj12_aigoal)
DeleteAIGoal(def_obj12_aigoal2)
SetProperty("cp8", "Team", 1)
SetProperty("cp8", "CaptureRegion", "")

end



end



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

function BeginObjectives()
objectiveSequence = MultiObjectiveContainer:New{delayVictoryTime = 30}
objectiveSequence:AddObjectiveSet(Objective1)
objectiveSequence:AddObjectiveSet(Objective2)
objectiveSequence:AddObjectiveSet(Objective3)
objectiveSequence:AddObjectiveSet(Objective4)
objectiveSequence:AddObjectiveSet(Objective5)
objectiveSequence:AddObjectiveSet(Objective6)
objectiveSequence:AddObjectiveSet(Objective7)
objectiveSequence:AddObjectiveSet(Objective8)
objectiveSequence:AddObjectiveSet(Objective9)
objectiveSequence:AddObjectiveSet(Objective10)
objectiveSequence:AddObjectiveSet(Objective11)
objectiveSequence:AddObjectiveSet(Objective12)

objectiveSequence:Start()

--This adds the CPs to the objective. This needs to happen after the objective is set up
conquest:AddCommandPost(cp1)
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp3)
conquest:AddCommandPost(cp4)
conquest:AddCommandPost(cp5)
conquest:AddCommandPost(cp6)
conquest:AddCommandPost(cp7)
conquest:AddCommandPost(cp8)
conquest:Start()

SetUberMode(1);

EnableSPHeroRules()

SetupAmbushTrigger("ambushregion", "ambushpath", 6, 5)


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("dc:Load\\common.lvl")


ReadDataFile("dc:ingame.lvl")
ReadDataFile("ingame.lvl")

SetMaxFlyHeight(500)
SetMaxPlayerFlyHeight (500)

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("dc:sound\\efx.lvl;efxcw")
ReadDataFile("dc:SIDE\\rep.lvl",
"rep_inf_ep2_marine",
"rep_inf_ep2_rifleman",
"rep_inf_ep2_sniper",
"rep_hero_cody",
"rep_inf_gosth_squadrom",
"rep_hero_rex",
"rep_hero_anakin",
"rep_hero_obiwan",
"rep_walk_atte_nospawn",
"rep_walk_oneman_atst",
"all_droid_r2d2")

ReadDataFile("dc: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",
"cis_tread_snailtank")

SetupTeams{
rep = {
team = REP,
units = 30,
reinforcements = 150,
soldier = { "rep_inf_ep2_rifleman",9, 10},
assault = { "rep_inf_ep2_marine",1, 15},
engineer = { "rep_hero_cody",1, 2},
sniper = { "rep_inf_ep2_sniper",1, 15},
officer = {"rep_hero_rex",1, 2},

},
cis = {
team = CIS,
units = 30,
reinforcements = 150,
soldier = { "cis_inf_rifleman",9, 10},
assault = { "cis_inf_rocketeer",1, 15},
engineer = { "cis_inf_engineer",1, 2},
sniper = { "cis_inf_sniper",1, 15},
officer = {"cis_inf_officer",1, 15},
special = { "cis_inf_droideka",1, 15},

},
atm = {
team = ATM,
units = 6,
reinforcements = 0,
soldier = { "rep_inf_ep2_gosth_squadrom",6, 6},
assault = { "rep_hero_anakin",1, 2},
}

}

SetTeamName(ATM, REP)
SetTeamAsFriend(ATM, REP)
SetTeamAsFriend(REP, ATM)
SetTeamAsEnemy(ATM, CIS)
SetTeamAsEnemy(CIS, ATM)
ClearAIGoals(ATM)
AddAIGoal(ATM, "Deathmatch", 100)

SetHeroClass(CIS, "cis_hero_darthmaul")
SetHeroClass(REP, "rep_hero_obiwan")

-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 4) -- special -> droidekas
AddWalkerType(1, 2) -- 1x2 (1 pair of legs)
AddWalkerType(2, 0) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 6) -- 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("CommandWalker", 6)
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:CRP\\CRP.lvl", "CRP_conquest")
ReadDataFile("dc:CRP\\CRP.lvl", "CRP_conquest")
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("dc:sound\\efx.lvl", "efxcw_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(ALL, 1.0, "rep_kam_amb_start", 0,1);
SetAmbientMusic(ALL, 0.99, "rep_kam_amb_middle", 1,1);
SetAmbientMusic(ALL, 0.1,"rep_kam_amb_end", 2,1);
SetAmbientMusic(IMP, 1.0, "cis_kam_amb_start", 0,1);
SetAmbientMusic(IMP, 0.99, "cis_kam_amb_middle", 1,1);
SetAmbientMusic(IMP, 0.1,"cis_kam_amb_end", 2,1);

SetVictoryMusic(ALL, "rep_kam_amb_victory")
SetDefeatMusic (ALL, "all_tat_amb_defeat")
SetVictoryMusic(IMP, "cis_kam_amb_victory")
SetDefeatMusic (IMP, "imp_tat_amb_defeat")

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

[/code]
if the file that shows the error of the game is "BFront2.log" then I do not have, or not shown when the game is interrupted. if elsewhere than BF2_ModTool please find where it hurts.

Re: The game crash after showing the first objetive

Posted: Tue Apr 21, 2009 4:13 pm
by Teancum
Bfront2.log can be found in \Star Wars Battlefront II\Gamedata. It appears only when you run BF2_modtools.exe for the first time.

Re: The game crash after showing the first objetive

Posted: Tue Apr 21, 2009 5:09 pm
by 501st_commander
ForceMaster's lua wrote:
onfirstspawn = OnCharacterSpawn(
function(character)
if character == 0 then
ShowPopup("level.geo1.hints.hints")
ReleaseCharacterSpawn(onfirstspawn)
onfirstspawn = nil
BeginObjectivesTimer()
ScriptCB_EnableCommandPostVO(0)

end
end)
maybe this is the problem?

Re: The game crash after showing the first objetive

Posted: Wed Apr 22, 2009 9:23 am
by ForceMaster
501st_commander wrote:
ForceMaster's lua wrote:
onfirstspawn = OnCharacterSpawn(
function(character)
if character == 0 then
ShowPopup("level.geo1.hints.hints")
ReleaseCharacterSpawn(onfirstspawn)
onfirstspawn = nil
BeginObjectivesTimer()
ScriptCB_EnableCommandPostVO(0)

end
end)
maybe this is the problem?
I tried changing this part of the lua, eliminating an "end" but an error in munge.log

Maybe I have to create a new map and replace the folder "worlds" with the folder of my current map and Munge as a single map of conquest, without custom sides.

This is to not lose the positions of objects, buildings and other things that are on the map and find out if any of the two sides who have any error.

I will tell you if it works then. :roll:

Re: The game crash after showing the first objetive

Posted: Wed Apr 22, 2009 9:32 am
by B.I.G_Cookie
I think it's to complicated to make a "new" map
And I believe you won't find the error if you will do it that way ( right english? )

make it the easy way:

copy the bf2_modtool.exe ( it's in the bf2_modtools folder ) and paste it to you swbf2 game data folder.
start you map through the bf2_mod tool.exe. After the crash you will find a bf2_error log.txt in you game data
upload you error log to GT.

I hope I explained it right, and I hope it will help you :D

Re: The game crash after showing the first objetive

Posted: Wed Apr 22, 2009 12:25 pm
by Maveritchell
ForceMaster wrote:
501st_commander wrote:
ForceMaster's lua wrote:
onfirstspawn = OnCharacterSpawn(
function(character)
if character == 0 then
ShowPopup("level.geo1.hints.hints")
ReleaseCharacterSpawn(onfirstspawn)
onfirstspawn = nil
BeginObjectivesTimer()
ScriptCB_EnableCommandPostVO(0)

end
end)
maybe this is the problem?
I tried changing this part of the lua, eliminating an "end" but an error in munge.log

Maybe I have to create a new map and replace the folder "worlds" with the folder of my current map and Munge as a single map of conquest, without custom sides.

This is to not lose the positions of objects, buildings and other things that are on the map and find out if any of the two sides who have any error.

I will tell you if it works then. :roll:
Why would you do all that? First of all his advice was silly, because he doesn't know what he's talking about, those "end"s needed to be set up that way to close the statement out. Second of all, give us a Bfront2.log! Why run yourself ragged to make a new version of the map when we can probably diagnose your problem if you'd just do what we suggested first.

Re: The game crash after showing the first objetive

Posted: Wed Apr 22, 2009 12:48 pm
by Teancum
Maveritchell wrote:Why would you do all that? First of all his advice was silly, because he doesn't know what he's talking about, those "end"s needed to be set up that way to close the statement out. Second of all, give us a Bfront2.log! Why run yourself ragged to make a new version of the map when we can probably diagnose your problem if you'd just do what we suggested first.
Exactly. We can't help you without a Bfront2.log, because we need that debug output.

Re: The game crash after showing the first objetive

Posted: Wed Apr 22, 2009 4:30 pm
by ForceMaster
ok is a long file, I can not post here. bud, i post a link. HERE

Re: The game crash after showing the first objetive

Posted: Wed Apr 22, 2009 4:56 pm
by DarthD.U.C.K.
im shure you use the dvdversion like i do, for dvd-versionusers there is a fixed modtools.exe with cdcheck disabled in the everythingyoneedhtread

Re: The game crash after showing the first objetive

Posted: Wed Apr 22, 2009 8:13 pm
by Teancum
The following errors are at least part of your problem:

Code: Select all

Message Severity: 3
.\Source\EntitySoldier.cpp(10779)

Message Severity: 3
.\Source\MountedTurret.cpp(1641)
Mounted turret "crp_prop_shieldgenerator TURRET1" node "aimer_y" not found

Message Severity: 3
.\Source\Aimer.cpp(684)
Aimer "crp_prop_shieldgenerator TURRET1 WEAPON1" mount node "aimer_y" not found

Message Severity: 3
.\Source\Aimer.cpp(753)
Aimer "crp_prop_shieldgenerator TURRET1 WEAPON1" fire node "hp_fire" is not a child of aimer node

Message Severity: 3
.\Source\LuaHelper.cpp(312)
CallProc failed: bad argument #1 to `SetAmbientMusic' (number expected, got nil)
stack traceback:
	[C]: in function `SetAmbientMusic'
	(none): in function `ScriptInit'

Message Severity: 2
.\Memory\RedMemoryPool.cpp(170)
Memory pool "SoldierAnimation" is full; raise count to at least 368

Message Severity: 2
.\Memory\RedMemoryPool.cpp(170)
Memory pool "Aimer" is full; raise count to at least 178

Message Severity: 2
.\Source\Controllable.cpp(383)
trying to AddController to a Controllable that already has one.

Re: The game crash after showing the first objetive

Posted: Thu Apr 23, 2009 4:14 pm
by ForceMaster
ok, I will review what is mentioned in these errors.

other questions:
1) I'm trying to add ambient music to my map. This errors has to do with that?

Code: Select all

Message Severity: 3
.\Source\LuaCallbacks_Mission.cpp(857)
Lua ReadDataFile: Could not open sound\shell.lvl
and

Code: Select all

Message Severity: 3
.\Source\LuaHelper.cpp(312)
CallProc failed: bad argument #1 to `SetAmbientMusic' (number expected, got nil)
stack traceback:
	[C]: in function `SetAmbientMusic'
	(none): in function `ScriptInit'
2) That means these errors?

Code: Select all

Message Severity: 2
.\Source\Controllable.cpp(383)
trying to AddController to a Controllable that already has one.

Message Severity: 3
.\Source\EntitySoldier.cpp(10779)
Edit:

This errors has been solved,

Code: Select all

Message Severity: 3
.\Source\EntitySoldier.cpp(10779)

Message Severity: 3
.\Source\MountedTurret.cpp(1641)
Mounted turret "crp_prop_shieldgenerator TURRET1" node "aimer_y" not found

Message Severity: 3
.\Source\Aimer.cpp(684)
Aimer "crp_prop_shieldgenerator TURRET1 WEAPON1" mount node "aimer_y" not found

Message Severity: 3
.\Source\Aimer.cpp(753)
Aimer "crp_prop_shieldgenerator TURRET1 WEAPON1" fire node "hp_fire" is not a child of aimer node

Message Severity: 3
.\Source\LuaHelper.cpp(312)
CallProc failed: bad argument #1 to `SetAmbientMusic' (number expected, got nil)
stack traceback:
   [C]: in function `SetAmbientMusic'
   (none): in function `ScriptInit'

Message Severity: 2
.\Memory\RedMemoryPool.cpp(170)
Memory pool "SoldierAnimation" is full; raise count to at least 368

Message Severity: 2
.\Memory\RedMemoryPool.cpp(170)
Memory pool "Aimer" is full; raise count to at least 178

Message Severity: 2
.\Source\Controllable.cpp(383)
trying to AddController to a Controllable that already has one.
The Sounds settings was bad and another models failures.

but, this error appears again.

Code: Select all

Message Severity: 3
.\Source\LuaCallbacks_Mission.cpp(857)
Lua ReadDataFile: Could not open sound\shell.lvl
prev =     none     iLastPage =     nil
prev =     texture     iLastPage =     2
prev =     texture     iLastPage =     3
ifs_legal.Exit
ifs_autonet    dedicated
AutoNet Main
AutoNet Multi
AutoNet Gamespy
AutoNet multi main
AutoNet Server
AutoNet Game Options
Updating Lobby and attempting to Launch
Wath is it?

Re: The game crash after showing the first objetive

Posted: Tue Apr 28, 2009 3:48 pm
by DarthSlim
Instead of editing your old post, you should have made a new one so the thread could get bumped. Somebody help the man out! :runaway:

Re: The game crash after showing the first objetive

Posted: Tue Apr 28, 2009 4:23 pm
by ForceMaster
DarthSlim wrote:Instead of editing your old post, you should have made a new one so the thread could get bumped. Somebody help the man out! :runaway:
I did by abide the rules Friend :wink:

these error is killing me!!

Re: The game crash after showing the first objetive

Posted: Tue Apr 28, 2009 4:25 pm
by Maveritchell
ForceMaster wrote:these error is killing me!!
That error doesn't cause any problems.

If you have issues, clean and remunge.

Re: The game crash after showing the first objetive

Posted: Tue Apr 28, 2009 5:18 pm
by ForceMaster
I did but it did not work. still the same problem and no sound at all. only spawn but nothing else, no sound of guns. has lost all sound. :(

Re: The game crash after showing the first objetive

Posted: Tue Apr 28, 2009 5:25 pm
by Maveritchell
ForceMaster wrote:I did but it did not work. still the same problem and no sound at all. only spawn but nothing else, no sound of guns. has lost all sound. :(
Oh I could tell that you won't have sound, because you're (presumably) calling only for a custom sound .lvl that doesn't have all the necessary stock sounds loaded into it. I thought there was a crashing issue?