Hidden/Spoiler:
Message Severity: 2
.\Source\FLEffect.cpp(214)
FLEffect::Read: duplicate effect class name (6163dc7d)!
Message Severity: 2
.\Source\FLEffect.cpp(214)
FLEffect::Read: duplicate effect class name (6163dc7d)!
Message Severity: 2
.\Source\FLEffect.cpp(214)
FLEffect::Read: duplicate effect class name (a24b0286)!
Message Severity: 2
.\Source\FLEffect.cpp(214)
FLEffect::Read: duplicate effect class name (6163dc7d)!
.\Source\FLEffect.cpp(214)
FLEffect::Read: duplicate effect class name (6163dc7d)!
Message Severity: 2
.\Source\FLEffect.cpp(214)
FLEffect::Read: duplicate effect class name (6163dc7d)!
Message Severity: 2
.\Source\FLEffect.cpp(214)
FLEffect::Read: duplicate effect class name (a24b0286)!
Message Severity: 2
.\Source\FLEffect.cpp(214)
FLEffect::Read: duplicate effect class name (6163dc7d)!
Hidden/Spoiler:
Message Severity: 2
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
Message Severity: 2
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
Message Severity: 2
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
Message Severity: 2
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
Message Severity: 2
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
Message Severity: 2
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
Message Severity: 2
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
Message Severity: 2
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
Message Severity: 2
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
Message Severity: 2
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
Message Severity: 2
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
Message Severity: 2
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
Message Severity: 2
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
Message Severity: 2
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
Message Severity: 2
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
Message Severity: 2
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
Message Severity: 2
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
Message Severity: 2
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
Message Severity: 2
.\Source\FLEffect.cpp(463)
Attach: model '' [f62b4f6f] has no hardpoint 'hp_light_3' [a19fd6cf]
Hidden/Spoiler:
Message Severity: 2
.\Source\StringDB.cpp(48)
ID=280c30f3: trying to replace "cis_bldg_boxturret" with "cis_bldg_boxturret1"
Message Severity: 2
.\Source\StringDB.cpp(48)
ID=2a0c3419: trying to replace "cis_bldg_boxturret" with "cis_bldg_boxturret3"
.\Source\StringDB.cpp(48)
ID=280c30f3: trying to replace "cis_bldg_boxturret" with "cis_bldg_boxturret1"
Message Severity: 2
.\Source\StringDB.cpp(48)
ID=2a0c3419: trying to replace "cis_bldg_boxturret" with "cis_bldg_boxturret3"
EDIT: Here is my complete lua for my hero assault mode:
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("setup_teams")
ScriptCB_DoFile("ObjectiveTDM")
ScriptCB_DoFile("ambush")
---------------------------------------------------------------------------
-- ScriptPostLoad
---------------------------------------------------------------------------
function ScriptPostLoad()
EnableSPHeroRules()
-- This is the actual objective setup
TDM = ObjectiveTDM:New{teamATT = 1, teamDEF = 2,
multiplayerScoreLimit = 100,
textATT = "game.modes.tdm",
textDEF = "game.modes.tdm2", multiplayerRules = true,
isCelebrityDeathmatch = true}
TDM:Start()
AddAIGoal(1, "Deathmatch", 100)
AddAIGoal(2, "Deathmatch", 100)
AddAIGoal(3, "Deathmatch", 100)
SetupAmbushTrigger2("ambushregion4", "ambushpath4", 6, 3)
teleport1 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"teleport1")
end,
"teleport1"
)
ActivateRegion("teleport1")
teleport2 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"teleport2")
end,
"teleport2"
)
ActivateRegion("teleport2")
teleport3 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"teleport3")
end,
"teleport3"
)
ActivateRegion("teleport3")
teleport4 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"teleport4")
end,
"teleport4"
)
ActivateRegion("teleport4")
teleport5 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"teleport5")
end,
"teleport5"
)
ActivateRegion("teleport5")
return1 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"return1")
end,
"return1"
)
ActivateRegion("return1")
return2 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"return2")
end,
"return2"
)
ActivateRegion("return2")
return3 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"return3")
end,
"return3"
)
ActivateRegion("return3")
return4 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"return4")
end,
"return4"
)
ActivateRegion("return4")
table1 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"table")
end,
"table"
)
ActivateRegion("table")
cont1 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"cont1")
end,
"cont1"
)
ActivateRegion("cont1")
cont2 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"cont2")
end,
"cont2"
)
ActivateRegion("cont2")
tur1 = OnObjectKill(
function(object, killer)
if GetEntityName(object) == "tat2_bldg_wall_40s" then
PauseAnimation("tur1")
RewindAnimation("tur1")
PlayAnimation("tur1")
end
end
)
---------------------
--Target Animations--
---------------------
killTargets = OnObjectKill(
function(object, killer)
if not killer then return end --do nothing if no killer
if not IsCharacterHuman(killer) then return end --do nothing unless killer is a human
local name = GetEntityName(object)
if (name == "rhn_bldg_wall_facade19") or
(name == "rhn_bldg_wall_facade20") or
(name == "rhn_bldg_wall_facade21") or
(name == "rhn_bldg_wall_facade22") or
(name == "rhn_bldg_wall_facade23") then
AddAssaultDestroyPoints(killer)
end
end
)
---------------------
--Simple Animation 1--
---------------------
ActivateRegion("trigfly")
trigfly = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
--move the elevator up, making sure it starts from the bottom.
-- RewindAnimation("trigfly")
PlayAnimation("trigfly")
end
end,
"trigfly"
)
---------------------
--Simple Elevator 1--
---------------------
--r1 and r2 are regions for the simple elevator.
--r1 moves the elevator up when a human enters it.
--r2 moves the elevator down when a human enters it.
ActivateRegion("r1")
r1 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
--move the elevator up, making sure it starts from the bottom.
-- RewindAnimation("elevator")
PlayAnimation("elevator")
end
end,
"r1"
)
---------------------
--Simple Elevator 2--
---------------------
--elevator2 and r2 are regions for the simple elevator.
--elevator2 moves the elevator up when a human enters it.
--r2 moves the elevator down when a human enters it.
ActivateRegion("elevator2")
elevator2 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
--move the elevator up, making sure it starts from the bottom.
-- RewindAnimation("elevator2")
PlayAnimation("elevator2")
end
end,
"elevator2"
)
---------------------
--Simple Trap 1--
---------------------
ActivateRegion("drop1")
drop1 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop1")
PlayAnimation("drop1")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop1"
)
---------------------
--Simple Trap 2--
---------------------
ActivateRegion("drop2")
drop2 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop2")
PlayAnimation("drop2")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop2"
)
---------------------
--Simple Trap 3--
---------------------
ActivateRegion("drop3")
drop3 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop3")
PlayAnimation("drop3")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop3"
)
---------------------
--Simple Trap 4--
---------------------
ActivateRegion("drop4")
drop4 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop4")
PlayAnimation("drop4")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop4"
)
---------------------
--Simple Trap 5--
---------------------
ActivateRegion("drop5")
drop5 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop5")
PlayAnimation("drop5")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop5"
)
---------------------
--Simple Trap 6--
---------------------
ActivateRegion("drop6")
drop6 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop6")
PlayAnimation("drop6")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop6"
)
---------------------
--Simple Trap 7--
---------------------
ActivateRegion("drop7")
drop7 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop7")
PlayAnimation("drop7")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop7"
)
---------------------
--Simple Trap 8--
---------------------
ActivateRegion("drop8")
drop8 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop8")
PlayAnimation("drop8")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop8"
)
---------------------
--Simple Trap 9--
---------------------
ActivateRegion("drop9")
drop9 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop9")
PlayAnimation("drop9")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop9"
)
---------------------
--Simple Trap 10--
---------------------
ActivateRegion("drop10")
drop10 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop10")
PlayAnimation("drop10")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop10"
)
---------------------
--Simple Trap 11--
---------------------
ActivateRegion("drop11")
drop11 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop11")
PlayAnimation("drop11")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop11"
)
---------------------
--Simple Trap 12--
---------------------
ActivateRegion("drop12")
drop12 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop12")
PlayAnimation("drop12")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop12"
)
ActivateRegion("anim1")
anim1 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
PauseAnimation("koltotank")
RewindAnimation("koltotank")
PlayAnimation("koltotank")
end
end,
"anim1"
)
end
---------------------------------------------------------------------------
-- ScriptInit
---------------------------------------------------------------------------
function ScriptInit()
--tell the game to load our loading image
ReadDataFile("dc:Load\\common.lvl")
SetMemoryPoolSize ("ParticleTransformer::SizeTransf",3000)
SetMemoryPoolSize ("ParticleTransformer::ColorTrans",3000)
SetMemoryPoolSize ("ParticleTransformer::PositionTr",2000)
SetMemoryPoolSize ("SoldierAnimation", 1500)
SetMemoryPoolSize ("ClothData",30)
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")
ALL = 1
IMP = 2
AT4 = 3
-- These variables do not change
ATT = 1
DEF = 2
SetMaxFlyHeight(70)
SetMaxPlayerFlyHeight(70)
ReadDataFile("dc:sound\\pwn.lvl;PWNcw")
ReadDataFile("sound\\tat.lvl;tat2gcw")
ReadDataFile("SIDE\\all.lvl",
"all_hero_luke_jedi",
"all_hero_hansolo_tat",
"all_hero_leia",
"all_hero_chewbacca")
ReadDataFile("SIDE\\imp.lvl",
"imp_hero_darthvader",
"imp_hero_emperor",
"imp_hero_bobafett")
ReadDataFile("SIDE\\rep.lvl",
"rep_hero_yoda",
"rep_hero_macewindu",
"rep_hero_anakin",
"rep_hero_aalya",
"rep_hero_kiyadimundi",
"rep_hero_obiwan",
"rep_hover_fightertank",
"rep_hover_barcspeeder")
ReadDataFile("SIDE\\cis.lvl",
"cis_hero_darthmaul",
"cis_hero_countdooku",
"cis_hero_jangofett",
"cis_inf_sniper",
"cis_hover_aat")
ReadDataFile("dc:SIDE\\Heroes.lvl",
"rep_hero_shaakti",
"rep_hero_quigon",
"rep_hero_plokoon",
"cis_hero_durge",
"cis_hero_vosa",
"imp_hero_xizor",
"imp_hero_ig88",
"rep_hero_drallig",
"rep_hero_hett",
"all_hero_mara_jade",
"all_hero_kusanagi",
"yuz_inf_yuuzhanvong",
"cis_hero_zam",
"cis_hero_aurrasing")
ReadDataFile("dc:SIDE\\Modified.lvl",
"cis_inf_evilsidroid",
"kas_hover_swampspeeder",
"cis_hover_sithspeeder",
"all_hover_speeder_light",
"rep_fly_naboo_starfighter",
"all_fly_virago",
"kas_fly_ornicopter",
"zam_fly_airspeeder",
"rep_fly_command",
"rep_fly_ebonhawk_sc",
"cis_fly_scarab",
"wok_hover_catamaran")
--[[ 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 = 12,
reinforcements = -1,
soldier = { "rep_hero_shaakti", 1,2},
assault = { "rep_hero_quigon", 1,2},
engineer = { "rep_hero_plokoon", 1,2},
sniper = { "rep_hero_drallig", 1,2},
officer = { "rep_hero_hett", 1,2},
special = { "all_hero_mara_jade", 1,2},
},
}
AddUnitClass (ALL, "all_hero_kusanagi", 1,2)
SetupTeams{
villain = {
team = IMP,
units = 12,
reinforcements = -1,
soldier = { "cis_hero_durge", 1,2},
assault = { "cis_hero_vosa", 1,2},
engineer = { "cis_hero_aurrasing",1,2},
sniper = { "imp_hero_xizor", 1,2},
officer = { "imp_hero_ig88", 1,2},
special = { "yuz_inf_yuuzhanvong", 1,2},
},
}
AddUnitClass (IMP, "cis_hero_zam", 1,2)
SetupTeams{
at4 = {
team = AT4,
units = 6,
reinforcements = -1,
assault = { "cis_inf_evilsidroid",6, 6},
}
}
-- 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 = 150
SetMemoryPoolSize("Aimer", 120)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 320)
SetMemoryPoolSize("ConnectivityGraphFollower", 23)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth",41)
SetMemoryPoolSize("EntityDefenseGridTurret", 0)
SetMemoryPoolSize("EntityDroid", 6)
SetMemoryPoolSize("EntityFlyer", 32) -- to account for 5 chewbaccas
SetMemoryPoolSize("EntityHover", 32)
SetMemoryPoolSize("CommandFlyer", 32)
SetMemoryPoolSize("EntityLight", 200, 200) -- stupid trickery to actually set lights to 80
SetMemoryPoolSize("EntityPortableTurret", 6) -- nobody has autoturrets AFAIK - MZ
SetMemoryPoolSize("EntitySoundStream", 64)
SetMemoryPoolSize("EntitySoundStatic", 45)
SetMemoryPoolSize("FLEffectObject::OffsetMatrix", 120)
SetMemoryPoolSize("MountedTurret", 60)
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", 400)
SetMemoryPoolSize("UnitAgent", 30)
SetMemoryPoolSize("UnitController", 32)
SetMemoryPoolSize("Weapon", weaponCnt)
SetMemoryPoolSize("RedOmniLight", 200)
SetSpawnDelay(10.0, 0.25)
ReadDataFile("dc:PWN\\PWN.lvl", "PWN_eli")
SetDenseEnvironment("false")
-- Birdies
SetNumBirdTypes(2)
SetBirdType(0,1.0,"bird")
SetBirdType(1,1.5,"bird2")
-- Fishies
SetNumFishTypes(1)
SetFishType(0,0.8,"fish")
-- 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")
OpenAudioStream("dc:sound\\pwn.lvl", "PWNcw_music")
OpenAudioStream("dc:sound\\pwn.lvl", "PWNcw_music")
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")
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)
--OpeningSateliteShot
AddCameraShot(0.874173, -0.058011, 0.481079, 0.031925, 252.861328, 19.750624, 146.120728);
AddCameraShot(0.897935, -0.184770, 0.391268, 0.080512, -109.145218, 28.164772, 81.420723);
AddCameraShot(0.872435, -0.228732, -0.417782, -0.109533, -189.077667, 28.164772, 173.520096);
AddCameraShot(0.181420, -0.029567, -0.970161, -0.158115, -278.980225, 28.164772, 205.746887);
AddCameraShot(0.504231, -0.126490, -0.828581, -0.207856, -72.687576, 28.164772, 225.665573);
AddCameraShot(-0.464094, 0.106534, -0.857065, -0.196742, 124.851791, 28.164772, 334.752502);
AddCameraShot(0.937577, -0.150252, -0.309695, -0.049631, -171.222061, 36.448387, 90.581345);
AddCameraShot(0.905779, -0.154642, 0.388898, 0.066396, -285.191193, 15.264481, -116.307381);
AddCameraShot(0.853950, -0.452224, 0.227487, 0.120470, -99.428162, 59.189861, 289.674561);
AddCameraShot(0.213521, -0.024108, -0.970475, -0.109574, -422.857605, 13.914328, -142.014679);
AddCameraShot(0.279670, -0.052442, -0.942240, -0.176685, -462.917297, 17.380722, 37.920261);
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
-- 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("setup_teams")
ScriptCB_DoFile("ObjectiveTDM")
ScriptCB_DoFile("ambush")
---------------------------------------------------------------------------
-- ScriptPostLoad
---------------------------------------------------------------------------
function ScriptPostLoad()
EnableSPHeroRules()
-- This is the actual objective setup
TDM = ObjectiveTDM:New{teamATT = 1, teamDEF = 2,
multiplayerScoreLimit = 100,
textATT = "game.modes.tdm",
textDEF = "game.modes.tdm2", multiplayerRules = true,
isCelebrityDeathmatch = true}
TDM:Start()
AddAIGoal(1, "Deathmatch", 100)
AddAIGoal(2, "Deathmatch", 100)
AddAIGoal(3, "Deathmatch", 100)
SetupAmbushTrigger2("ambushregion4", "ambushpath4", 6, 3)
teleport1 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"teleport1")
end,
"teleport1"
)
ActivateRegion("teleport1")
teleport2 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"teleport2")
end,
"teleport2"
)
ActivateRegion("teleport2")
teleport3 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"teleport3")
end,
"teleport3"
)
ActivateRegion("teleport3")
teleport4 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"teleport4")
end,
"teleport4"
)
ActivateRegion("teleport4")
teleport5 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"teleport5")
end,
"teleport5"
)
ActivateRegion("teleport5")
return1 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"return1")
end,
"return1"
)
ActivateRegion("return1")
return2 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"return2")
end,
"return2"
)
ActivateRegion("return2")
return3 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"return3")
end,
"return3"
)
ActivateRegion("return3")
return4 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"return4")
end,
"return4"
)
ActivateRegion("return4")
table1 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"table")
end,
"table"
)
ActivateRegion("table")
cont1 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"cont1")
end,
"cont1"
)
ActivateRegion("cont1")
cont2 = OnEnterRegion(
function(regIn,character)
MoveEntityToNode(character,"cont2")
end,
"cont2"
)
ActivateRegion("cont2")
tur1 = OnObjectKill(
function(object, killer)
if GetEntityName(object) == "tat2_bldg_wall_40s" then
PauseAnimation("tur1")
RewindAnimation("tur1")
PlayAnimation("tur1")
end
end
)
---------------------
--Target Animations--
---------------------
killTargets = OnObjectKill(
function(object, killer)
if not killer then return end --do nothing if no killer
if not IsCharacterHuman(killer) then return end --do nothing unless killer is a human
local name = GetEntityName(object)
if (name == "rhn_bldg_wall_facade19") or
(name == "rhn_bldg_wall_facade20") or
(name == "rhn_bldg_wall_facade21") or
(name == "rhn_bldg_wall_facade22") or
(name == "rhn_bldg_wall_facade23") then
AddAssaultDestroyPoints(killer)
end
end
)
---------------------
--Simple Animation 1--
---------------------
ActivateRegion("trigfly")
trigfly = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
--move the elevator up, making sure it starts from the bottom.
-- RewindAnimation("trigfly")
PlayAnimation("trigfly")
end
end,
"trigfly"
)
---------------------
--Simple Elevator 1--
---------------------
--r1 and r2 are regions for the simple elevator.
--r1 moves the elevator up when a human enters it.
--r2 moves the elevator down when a human enters it.
ActivateRegion("r1")
r1 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
--move the elevator up, making sure it starts from the bottom.
-- RewindAnimation("elevator")
PlayAnimation("elevator")
end
end,
"r1"
)
---------------------
--Simple Elevator 2--
---------------------
--elevator2 and r2 are regions for the simple elevator.
--elevator2 moves the elevator up when a human enters it.
--r2 moves the elevator down when a human enters it.
ActivateRegion("elevator2")
elevator2 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
--move the elevator up, making sure it starts from the bottom.
-- RewindAnimation("elevator2")
PlayAnimation("elevator2")
end
end,
"elevator2"
)
---------------------
--Simple Trap 1--
---------------------
ActivateRegion("drop1")
drop1 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop1")
PlayAnimation("drop1")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop1"
)
---------------------
--Simple Trap 2--
---------------------
ActivateRegion("drop2")
drop2 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop2")
PlayAnimation("drop2")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop2"
)
---------------------
--Simple Trap 3--
---------------------
ActivateRegion("drop3")
drop3 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop3")
PlayAnimation("drop3")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop3"
)
---------------------
--Simple Trap 4--
---------------------
ActivateRegion("drop4")
drop4 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop4")
PlayAnimation("drop4")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop4"
)
---------------------
--Simple Trap 5--
---------------------
ActivateRegion("drop5")
drop5 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop5")
PlayAnimation("drop5")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop5"
)
---------------------
--Simple Trap 6--
---------------------
ActivateRegion("drop6")
drop6 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop6")
PlayAnimation("drop6")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop6"
)
---------------------
--Simple Trap 7--
---------------------
ActivateRegion("drop7")
drop7 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop7")
PlayAnimation("drop7")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop7"
)
---------------------
--Simple Trap 8--
---------------------
ActivateRegion("drop8")
drop8 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop8")
PlayAnimation("drop8")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop8"
)
---------------------
--Simple Trap 9--
---------------------
ActivateRegion("drop9")
drop9 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop9")
PlayAnimation("drop9")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop9"
)
---------------------
--Simple Trap 10--
---------------------
ActivateRegion("drop10")
drop10 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop10")
PlayAnimation("drop10")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop10"
)
---------------------
--Simple Trap 11--
---------------------
ActivateRegion("drop11")
drop11 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop11")
PlayAnimation("drop11")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop11"
)
---------------------
--Simple Trap 12--
---------------------
ActivateRegion("drop12")
drop12 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
RewindAnimation("drop12")
PlayAnimation("drop12")
ShowMessageText( "message.custom.drop", DEF )
ShowMessageText( "message.custom.drop", ATT )
end
end,
"drop12"
)
ActivateRegion("anim1")
anim1 = OnEnterRegion(
function(region, player)
if IsCharacterHuman(player) then
PauseAnimation("koltotank")
RewindAnimation("koltotank")
PlayAnimation("koltotank")
end
end,
"anim1"
)
end
---------------------------------------------------------------------------
-- ScriptInit
---------------------------------------------------------------------------
function ScriptInit()
--tell the game to load our loading image
ReadDataFile("dc:Load\\common.lvl")
SetMemoryPoolSize ("ParticleTransformer::SizeTransf",3000)
SetMemoryPoolSize ("ParticleTransformer::ColorTrans",3000)
SetMemoryPoolSize ("ParticleTransformer::PositionTr",2000)
SetMemoryPoolSize ("SoldierAnimation", 1500)
SetMemoryPoolSize ("ClothData",30)
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")
ALL = 1
IMP = 2
AT4 = 3
-- These variables do not change
ATT = 1
DEF = 2
SetMaxFlyHeight(70)
SetMaxPlayerFlyHeight(70)
ReadDataFile("dc:sound\\pwn.lvl;PWNcw")
ReadDataFile("sound\\tat.lvl;tat2gcw")
ReadDataFile("SIDE\\all.lvl",
"all_hero_luke_jedi",
"all_hero_hansolo_tat",
"all_hero_leia",
"all_hero_chewbacca")
ReadDataFile("SIDE\\imp.lvl",
"imp_hero_darthvader",
"imp_hero_emperor",
"imp_hero_bobafett")
ReadDataFile("SIDE\\rep.lvl",
"rep_hero_yoda",
"rep_hero_macewindu",
"rep_hero_anakin",
"rep_hero_aalya",
"rep_hero_kiyadimundi",
"rep_hero_obiwan",
"rep_hover_fightertank",
"rep_hover_barcspeeder")
ReadDataFile("SIDE\\cis.lvl",
"cis_hero_darthmaul",
"cis_hero_countdooku",
"cis_hero_jangofett",
"cis_inf_sniper",
"cis_hover_aat")
ReadDataFile("dc:SIDE\\Heroes.lvl",
"rep_hero_shaakti",
"rep_hero_quigon",
"rep_hero_plokoon",
"cis_hero_durge",
"cis_hero_vosa",
"imp_hero_xizor",
"imp_hero_ig88",
"rep_hero_drallig",
"rep_hero_hett",
"all_hero_mara_jade",
"all_hero_kusanagi",
"yuz_inf_yuuzhanvong",
"cis_hero_zam",
"cis_hero_aurrasing")
ReadDataFile("dc:SIDE\\Modified.lvl",
"cis_inf_evilsidroid",
"kas_hover_swampspeeder",
"cis_hover_sithspeeder",
"all_hover_speeder_light",
"rep_fly_naboo_starfighter",
"all_fly_virago",
"kas_fly_ornicopter",
"zam_fly_airspeeder",
"rep_fly_command",
"rep_fly_ebonhawk_sc",
"cis_fly_scarab",
"wok_hover_catamaran")
--[[ 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 = 12,
reinforcements = -1,
soldier = { "rep_hero_shaakti", 1,2},
assault = { "rep_hero_quigon", 1,2},
engineer = { "rep_hero_plokoon", 1,2},
sniper = { "rep_hero_drallig", 1,2},
officer = { "rep_hero_hett", 1,2},
special = { "all_hero_mara_jade", 1,2},
},
}
AddUnitClass (ALL, "all_hero_kusanagi", 1,2)
SetupTeams{
villain = {
team = IMP,
units = 12,
reinforcements = -1,
soldier = { "cis_hero_durge", 1,2},
assault = { "cis_hero_vosa", 1,2},
engineer = { "cis_hero_aurrasing",1,2},
sniper = { "imp_hero_xizor", 1,2},
officer = { "imp_hero_ig88", 1,2},
special = { "yuz_inf_yuuzhanvong", 1,2},
},
}
AddUnitClass (IMP, "cis_hero_zam", 1,2)
SetupTeams{
at4 = {
team = AT4,
units = 6,
reinforcements = -1,
assault = { "cis_inf_evilsidroid",6, 6},
}
}
-- 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 = 150
SetMemoryPoolSize("Aimer", 120)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 320)
SetMemoryPoolSize("ConnectivityGraphFollower", 23)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth",41)
SetMemoryPoolSize("EntityDefenseGridTurret", 0)
SetMemoryPoolSize("EntityDroid", 6)
SetMemoryPoolSize("EntityFlyer", 32) -- to account for 5 chewbaccas
SetMemoryPoolSize("EntityHover", 32)
SetMemoryPoolSize("CommandFlyer", 32)
SetMemoryPoolSize("EntityLight", 200, 200) -- stupid trickery to actually set lights to 80
SetMemoryPoolSize("EntityPortableTurret", 6) -- nobody has autoturrets AFAIK - MZ
SetMemoryPoolSize("EntitySoundStream", 64)
SetMemoryPoolSize("EntitySoundStatic", 45)
SetMemoryPoolSize("FLEffectObject::OffsetMatrix", 120)
SetMemoryPoolSize("MountedTurret", 60)
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", 400)
SetMemoryPoolSize("UnitAgent", 30)
SetMemoryPoolSize("UnitController", 32)
SetMemoryPoolSize("Weapon", weaponCnt)
SetMemoryPoolSize("RedOmniLight", 200)
SetSpawnDelay(10.0, 0.25)
ReadDataFile("dc:PWN\\PWN.lvl", "PWN_eli")
SetDenseEnvironment("false")
-- Birdies
SetNumBirdTypes(2)
SetBirdType(0,1.0,"bird")
SetBirdType(1,1.5,"bird2")
-- Fishies
SetNumFishTypes(1)
SetFishType(0,0.8,"fish")
-- 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")
OpenAudioStream("dc:sound\\pwn.lvl", "PWNcw_music")
OpenAudioStream("dc:sound\\pwn.lvl", "PWNcw_music")
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")
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)
--OpeningSateliteShot
AddCameraShot(0.874173, -0.058011, 0.481079, 0.031925, 252.861328, 19.750624, 146.120728);
AddCameraShot(0.897935, -0.184770, 0.391268, 0.080512, -109.145218, 28.164772, 81.420723);
AddCameraShot(0.872435, -0.228732, -0.417782, -0.109533, -189.077667, 28.164772, 173.520096);
AddCameraShot(0.181420, -0.029567, -0.970161, -0.158115, -278.980225, 28.164772, 205.746887);
AddCameraShot(0.504231, -0.126490, -0.828581, -0.207856, -72.687576, 28.164772, 225.665573);
AddCameraShot(-0.464094, 0.106534, -0.857065, -0.196742, 124.851791, 28.164772, 334.752502);
AddCameraShot(0.937577, -0.150252, -0.309695, -0.049631, -171.222061, 36.448387, 90.581345);
AddCameraShot(0.905779, -0.154642, 0.388898, 0.066396, -285.191193, 15.264481, -116.307381);
AddCameraShot(0.853950, -0.452224, 0.227487, 0.120470, -99.428162, 59.189861, 289.674561);
AddCameraShot(0.213521, -0.024108, -0.970475, -0.109574, -422.857605, 13.914328, -142.014679);
AddCameraShot(0.279670, -0.052442, -0.942240, -0.176685, -462.917297, 17.380722, 37.920261);
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

