Page 1 of 1

Spawn Beacons?

Posted: Wed Apr 10, 2013 12:01 pm
by Slime615
How do I make something a mobile command post (like the troop Transports and ATTE's).

I have been looking at the ODFs to try to work it out, and can't find any promising looking lines of code.
Would it be possible to use this ability to create a Spawn Beacon, by having the Auto Turret become a mobile command post?

Re: Mobile Command Posts

Posted: Wed Apr 10, 2013 12:21 pm
by Teancum
On of the first lines in the ODF for those vehicles is "commandhover" (for a hover-based CP), "commandwalker" (for a walker-based CP) and "commandflyer" (for a flyer-based CP). You'll need to change the line of the vehicle you want to be a mobile CP to one of those, then add the appropriate memory pool.

You can also look at the SWBF2 Class Reference to see if there are any other command types.

Re: Mobile Command Posts

Posted: Wed Apr 10, 2013 12:44 pm
by Slime615
I see.

And If I wanted to create a Spawn Beacon, I would create a Dispenser, and set the dispensed item to be a CommandHover?

Re: Mobile Command Posts

Posted: Wed Apr 10, 2013 1:04 pm
by Teancum
Only one way to find out. :thumbs:

Re: Mobile Command Posts

Posted: Wed Apr 10, 2013 2:38 pm
by Slime615
Munging Now.

I'll post the results momentarily.

EDIT:

Okay here are the conclusions.
1)
Placing more than one "Spawn Beacon Causes it to crash. Possibly a memory pool issue.
2)
The Spawn beacon appears on the minimap, and the map at unit selection, but can not be clicked, and cannot be spawned from.
3)
It immediently floats away and does its own thing, any way to make it immobile?


Here are the results from the munge log.
Hidden/Spoiler:
Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\CommandPost.cpp(311)
CommandPost attached to unnamed, unlabeled game object [00000000]

Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\LuaCallbacks_Mission.cpp(635)
Entity "" not found


Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\LuaCallbacks_Mission.cpp(635)
Entity "" not found
Break();
Button("FIRE_SECONDARY", "PRESS");
Posture("STAND", "CROUCH");
Energy(">=", 2.5);
And here is the ODF for my Dispenser: cis_weap_inf_spawnbeacon_dispenser
Hidden/Spoiler:
[WeaponClass]
ClassParent = "com_weap_inf_spawnbeacon_dispenser"

[Properties]
HUDTag = "com_weap_inf_dropturret"
OrdnanceName = "cis_bldg_inf_spawnbeacon"

//**********************************************
//****************** SOUND *********************
//**********************************************


FireLoopSound = ""
ReloadSound = "com_weap_inf_equip_med"
ChargeSound = ""
ChargeSoundPitch = ""
ChangeModeSound = "com_weap_inf_equip_med"
WeaponChangeSound = "com_weap_inf_equip_med"
JumpSound = "com_weap_inf_rifle_mvt_jump"
LandSound = "com_weap_inf_rifle_mvt_land"
RollSound = "com_weap_inf_rifle_mvt_roll"
//ProneSound = "com_weap_inf_rifle_mvt_lie"
SquatSound = "com_weap_inf_rifle_mvt_squat"
//StandSound = "com_weap_inf_rifle_mvt_getup"


FireSound = "com_weap_inf_remotedroid_fire"
FireEmptySound = "com_weap_inf_ammo_empty"
Here is the ODF for cis_bldg_inf_spawnbeacon:
Hidden/Spoiler:
[GameObjectClass]
ClassLabel = "CommandHover"
GeometryName = "com_weap_inf_dropturret.msh"

[Properties]

MaxHealth = "500.0"

BUILDINGSECTION = "BODY"
GeometryName = "com_weap_inf_dropturret"
ExplosionName = "cis_bldg_inf_autoturret_exp"

FoleyFXGroup = "metal_foley"

DamageStartPercent = 50.0
DamageStopPercent = 30.0
DamageEffect = "com_sfx_vehiclespark"

DamageStartPercent = 30.0
DamageStopPercent = 0.0
DamageEffect = "com_sfx_smokeplume"
DamageAttachPoint = "hp_smoke_1"
Here is the ODF for com_weap_inf_spawnbeacon_dispenser:
Hidden/Spoiler:
[WeaponClass]
ClassLabel = "dispenser"

[Properties]
RoundsPerClip = "1"
ReloadTime = "2.0"

TriggerAll = "1"

//AnimationBank = "grenade"
OffhandWeapon = 1

ShotDelay = "1.5"
MaxItems = "1.0"
InitialSalvoDelay = "0.5"

AutoAimSize = "1.0"
MaxPressedTime = "0.0"

MinStrength = "0.3"
MaxStrength = "0.4"

TargetEnemy = "0"
TargetNeutral = "0"
TargetFriendly = "0"

TargetPerson = "0"
TargetAnimal = "0"
TargetDroid = "0"
TargetVehicle = "0"
TargetBuilding = "0"

FireSound = "com_weap_inf_remotedroid_fire"
FireEmptySound = "com_weap_inf_ammo_empty"
Here is my LUA
Hidden/Spoiler:
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")

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


function ScriptPostLoad()


--This defines the CPs. These need to happen first
cp1 = CommandPost:New{name = "cp1"}
cp2 = CommandPost:New{name = "cp2"}
cp3 = CommandPost:New{name = "cp3"}
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}

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

EnableSPHeroRules()

end


---------------------------------------------------------------------------
-- FUNCTION: ScriptInit
-- PURPOSE: This function is only run once
-- INPUT:
-- OUTPUT:
-- NOTES: The name, 'ScriptInit' is a chosen convention, and each
-- mission script must contain a version of this function, as
-- it is called from C to start the mission.
---------------------------------------------------------------------------
function ScriptInit()

ReadDataFile("ingame.lvl")


SetMaxFlyHeight(30)
SetMaxPlayerFlyHeight (30)

SetMemoryPoolSize ("ClothData",20)
SetMemoryPoolSize ("Combo",50) -- should be ~ 2x number of jedi classes
SetMemoryPoolSize ("Combo::State",750) -- should be ~12x #Combo
SetMemoryPoolSize ("Combo::Transition",750) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Condition",750) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Attack",750) -- should be ~8-12x #Combo
SetMemoryPoolSize ("Combo::DamageSample",6000) -- should be ~8-12x #Combo::Attack
SetMemoryPoolSize ("Combo::Deflect",200) -- should be ~1x #combo

ReadDataFile("sound\\yav.lvl;yav1cw")
ReadDataFile("dc:SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_sniper",
"rep_inf_ep3_officer",
"rep_inf_ep3_jettrooper",
"rep_hover_fightertank",
"rep_hero_anakin",
"rep_hero_bardan",
"rep_inf_clone_commando",
"rep_inf_ep3_medic",
"rep_inf_support",
"rep_hero_Zey",
"rep_hover_barcspeeder")
ReadDataFile("dc:SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_inf_jettrooper",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_droideka",
"cis_hero_grievous",
"cis_inf_medic",
"cis_inf_support",
"cis_inf_magnaguard",
"cis_hover_aat")



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

SetupTeams{
rep = {
team = REP,
units = 25,
reinforcements = 150,
soldier = { "rep_inf_ep3_rifleman",5, 11},
assault = { "rep_inf_ep3_rocketeer",2, 4},
engineer = { "rep_inf_ep3_medic",2, 4},
sniper = { "rep_inf_ep3_sniper",2, 4},
officer = {"rep_inf_ep3_officer",2, 4},
special = { "rep_inf_support",2, 4},

},
cis = {
team = CIS,
units = 25,
reinforcements = 150,
soldier = { "cis_inf_rifleman",5, 11},
assault = { "cis_inf_rocketeer",2, 4},
engineer = { "cis_inf_medic",2, 4},
sniper = { "cis_inf_sniper",2, 4},
officer = {"cis_inf_officer",2, 4},
special = { "cis_inf_support",2, 4},
}
}

AddUnitClass(CIS,"cis_inf_jettrooper", 1,3)
AddUnitClass(CIS,"cis_inf_magnaguard", 1,1)
AddUnitClass(CIS,"cis_inf_droideka", 2,2)

AddUnitClass(REP,"rep_inf_ep3_jettrooper", 1,3)
AddUnitClass(REP,"rep_hero_bardan", 1,1)
AddUnitClass(REP,"rep_inf_clone_commando", 2,2)

SetHeroClass(CIS, "cis_hero_grievous")
SetHeroClass(REP, "rep_hero_Zey")


-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 2) -- special -> droidekas
AddWalkerType(1, 0) -- 1x2 (1 pair of legs)
AddWalkerType(2, 0) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 0) -- 3x2 (3 pairs of legs)
local weaponCnt = 1024
SetMemoryPoolSize("Aimer", 75)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 32)
SetMemoryPoolSize("EntityFlyer", 32)
SetMemoryPoolSize("EntityHover", 32)
SetMemoryPoolSize("EntityLight", 200)
SetMemoryPoolSize("EntitySoundStream", 4)
SetMemoryPoolSize("EntitySoundStatic", 32)
SetMemoryPoolSize("MountedTurret", 32)
SetMemoryPoolSize("Navigator", 128)
SetMemoryPoolSize("Obstacle", 1024)
SetMemoryPoolSize("PathNode", 1024)
SetMemoryPoolSize("SoundSpaceRegion", 64)
SetMemoryPoolSize("TreeGridStack", 1024)
SetMemoryPoolSize("UnitAgent", 128)
SetMemoryPoolSize("UnitController", 128)
SetMemoryPoolSize("Weapon", weaponCnt)
SetMemoryPoolSize("SoldierAnimation", 1024)
SetMemoryPoolSize("CommandHover", 5)

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

Re: Mobile Command Posts

Posted: Wed Apr 10, 2013 3:16 pm
by Cleb
Isn't there supposed to be a bunch of lines in the ODF that tell where units spawn around the beacon (basically ODF set spawn nodes)? :? Thats most likely why you can't spawn on it. You'll probably find an example in the ATAT ODF.

Re: Mobile Command Posts

Posted: Wed Apr 10, 2013 5:25 pm
by Slime615
Ah!

SpawnPointCount = "6"
SpawnPointLocation = "-6.0 -3.0 8.0 0"
SpawnPointLocation = "6.0 -3.0 8.0 0"
SpawnPointLocation = "-7.0 -3.0 0.0 0"
SpawnPointLocation = "7.0 -3.0 0.0 0"
SpawnPointLocation = "-6.0 -3.0 -8.0 0"
SpawnPointLocation = "6.0 -3.0 -8.0 0"

I shall look into it!

Any idea what these mean?
AllyCount = 65536
Radius = 0.0

EDIT:
No adding that ^ Doesn't work. The log says this:
Hidden/Spoiler:
Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\LuaCallbacks_Mission.cpp(635)
Entity "" not found
Break();
Button("FIRE_SECONDARY", "PRESS");
Posture("STAND", "CROUCH");
Energy(">=", 2.5);
Break(0.66);
Button("FIRE_SECONDARY", "PRESS");
Break();
Button("FIRE_SECONDARY", "PRESS");
Posture("STAND", "CROUCH");
Energy(">=", 2.5);
Break();
Button("RELOAD", "PRESS");
Break();
Button("FIRE_SECONDARY", "PRESS");
Posture("STAND", "CROUCH");
Energy(">=", 2.5);
Break();
Button("RELOAD", "PRESS");

Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\CommandPost.cpp(311)
CommandPost attached to unnamed, unlabeled game object [00000000]

Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\LuaCallbacks_Mission.cpp(635)
Entity "" not found

Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\CommandPost.cpp(311)
CommandPost attached to unnamed, unlabeled game object [00000000]

Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\LuaCallbacks_Mission.cpp(635)
Entity "" not found

Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\LuaCallbacks_Mission.cpp(635)
Entity "" not found
Break();
Button("FIRE_SECONDARY", "PRESS");
Posture("STAND", "CROUCH");
Energy(">=", 2.5);
Break();
Button("FIRE", "PRESS");
Posture("STAND", "CROUCH");
Break(0.46);
TimeStart(0.13);
TimeEnd(0.63);
Button("FIRE", "PRESS");
Posture("STAND");
Break();
Button("FIRE", "PRESS");
Posture("STAND", "CROUCH");
Break(0.46);
TimeStart(0.13);
TimeEnd(0.63);
Button("FIRE", "PRESS");
Posture("STAND");
Break(0.66);
TimeStart(0.26);
TimeEnd(0.80);
Button("FIRE", "PRESS");
Posture("STAND");
Break();
Button("FIRE", "PRESS");
Posture("JUMP", "JET_JUMP");
Break();
Posture("STAND");
Break();
Button("FIRE", "PRESS");
Posture("STAND", "CROUCH");
Break();
Button("FIRE_SECONDARY", "PRESS");
Posture("STAND", "CROUCH");
Energy(">=", 2.5);

Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\FLEffect.cpp(427)
Attach: model '' [ddf82d1c] has no hardpoint '' [845f8034]
Break();
Button("FIRE", "PRESS");
Break(0.46);
TimeStart(0.13);
TimeEnd(0.63);
Button("FIRE", "PRESS");
Posture("STAND");

Message Severity: 2
C:\Battlefront2\main\Battlefront2\Source\LuaCallbacks_Mission.cpp(635)
Entity "" not found
Break();
Button("FIRE_SECONDARY", "PRESS");
Posture("STAND", "CROUCH");
Energy(">=", 2.5);
Break();
Energy("<=", 0.0);
This leads me to believe that there is something missing in the LUA I need to write.
Any suggestions? Has any one ever got a working spawn beacon in game before?

This is the current Lua:
Hidden/Spoiler:
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")

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


function ScriptPostLoad()


--This defines the CPs. These need to happen first
cp1 = CommandPost:New{name = "cp1"}
cp2 = CommandPost:New{name = "cp2"}
cp3 = CommandPost:New{name = "cp3"}
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}

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

EnableSPHeroRules()

end


---------------------------------------------------------------------------
-- FUNCTION: ScriptInit
-- PURPOSE: This function is only run once
-- INPUT:
-- OUTPUT:
-- NOTES: The name, 'ScriptInit' is a chosen convention, and each
-- mission script must contain a version of this function, as
-- it is called from C to start the mission.
---------------------------------------------------------------------------
function ScriptInit()

ReadDataFile("ingame.lvl")


SetMaxFlyHeight(30)
SetMaxPlayerFlyHeight (30)

SetMemoryPoolSize ("ClothData",40)
SetMemoryPoolSize ("Combo",50) -- should be ~ 2x number of jedi classes
SetMemoryPoolSize ("Combo::State",750) -- should be ~12x #Combo
SetMemoryPoolSize ("Combo::Transition",750) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Condition",750) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Attack",750) -- should be ~8-12x #Combo
SetMemoryPoolSize ("Combo::DamageSample",6000) -- should be ~8-12x #Combo::Attack
SetMemoryPoolSize ("Combo::Deflect",200) -- should be ~1x #combo

ReadDataFile("sound\\yav.lvl;yav1cw")
ReadDataFile("dc:SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_sniper",
"rep_inf_ep3_officer",
"rep_inf_ep3_jettrooper",
"rep_hover_fightertank",
"rep_hero_anakin",
"rep_hero_bardan",
"rep_inf_clone_commando",
"rep_inf_ep3_medic",
"rep_inf_support",
"rep_hero_Zey",
"rep_hover_barcspeeder")
ReadDataFile("dc:SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_inf_jettrooper",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_droideka",
"cis_hero_grievous",
"cis_inf_medic",
"cis_inf_support",
"cis_inf_magnaguard",
"cis_hover_aat")



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

SetupTeams{
rep = {
team = REP,
units = 25,
reinforcements = 150,
soldier = { "rep_inf_ep3_rifleman",5, 11},
assault = { "rep_inf_ep3_rocketeer",2, 4},
engineer = { "rep_inf_ep3_medic",2, 4},
sniper = { "rep_inf_ep3_sniper",2, 4},
officer = {"rep_inf_ep3_officer",2, 4},
special = { "rep_inf_support",2, 4},

},
cis = {
team = CIS,
units = 25,
reinforcements = 150,
soldier = { "cis_inf_rifleman",5, 11},
assault = { "cis_inf_rocketeer",2, 4},
engineer = { "cis_inf_medic",2, 4},
sniper = { "cis_inf_sniper",2, 4},
officer = {"cis_inf_officer",2, 4},
special = { "cis_inf_support",2, 4},
}
}

AddUnitClass(CIS,"cis_inf_jettrooper", 1,3)
AddUnitClass(CIS,"cis_inf_magnaguard", 1,1)
AddUnitClass(CIS,"cis_inf_droideka", 2,2)

AddUnitClass(REP,"rep_inf_ep3_jettrooper", 1,3)
AddUnitClass(REP,"rep_hero_bardan", 1,1)
AddUnitClass(REP,"rep_inf_clone_commando", 2,2)

SetHeroClass(CIS, "cis_hero_grievous")
SetHeroClass(REP, "rep_hero_Zey")


-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 2) -- special -> droidekas
AddWalkerType(1, 0) -- 1x2 (1 pair of legs)
AddWalkerType(2, 0) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 0) -- 3x2 (3 pairs of legs)
local weaponCnt = 1024
SetMemoryPoolSize("Aimer", 75)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 40)
SetMemoryPoolSize("EntityFlyer", 32)
SetMemoryPoolSize("EntityHover", 32)
SetMemoryPoolSize("EntityLight", 200)
SetMemoryPoolSize("EntitySoundStream", 4)
SetMemoryPoolSize("EntitySoundStatic", 32)
SetMemoryPoolSize("MountedTurret", 32)
SetMemoryPoolSize("Navigator", 128)
SetMemoryPoolSize("Obstacle", 1024)
SetMemoryPoolSize("PathNode", 1024)
SetMemoryPoolSize("SoundSpaceRegion", 64)
SetMemoryPoolSize("TreeGridStack", 1024)
SetMemoryPoolSize("UnitAgent", 128)
SetMemoryPoolSize("UnitController", 128)
SetMemoryPoolSize("Weapon", weaponCnt)
SetMemoryPoolSize("SoldierAnimation", 1524)
SetMemoryPoolSize("CommandHover", 20)
SetMemoryPoolSize("ParticleTransformer::ColorTrans", 2500)
SetMemoryPoolSize("ParticleTransformer::SizeTransf", 2500)

SetSpawnDelay(10.0, 0.25)
--ReadDataFile("dc:AAB\\AAB.lvl", "AAB_conquest")
ReadDataFile("dc:AAB\\AAB.lvl", "AAB_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
EDIT2:
Do I need to create a .req file perhaps?

EDIT3:
Adding .req files makes no difference. Infact, it causes the crash. I had to do a manual clean to fix that.

EDIT4: Tried to reverse engineer a gunship (changed to CommandFlyer) by taking a dispenser and setting the dispensary to dispense command gunships, intending to then modify the stats of the gunship completely to ensure nothing is left out. Unfortunately, the gunship fails to spawn. I added a new .req file, and added to the LUA, but nothing has helped.

Any new tips?

Has anyone ever created a working spawn beacon? I really want to see if I can get one to work...

Re: Spawn Beacons?

Posted: Fri Apr 12, 2013 9:54 pm
by Dakota
I believe you need the commandFLYER line in your lua, I only saw commandhover.

I've created vehicle dispensers before, I hope having that vehicle be a command vehicle wouldn't be too much of a different process.

Re: Spawn Beacons?

Posted: Sat Apr 13, 2013 6:30 am
by Teancum
Dakota wrote:I believe you need the commandFLYER line in your lua, I only saw commandhover.

I've created vehicle dispensers before, I hope having that vehicle be a command vehicle wouldn't be too much of a different process.
... but he's using a hover.

Re: Spawn Beacons?

Posted: Sat Apr 13, 2013 11:50 am
by Cleb
Teancum wrote:
Dakota wrote:I believe you need the commandFLYER line in your lua, I only saw commandhover.

I've created vehicle dispensers before, I hope having that vehicle be a command vehicle wouldn't be too much of a different process.
... but he's using a hover.
In his last edit he changed it to a flyer. :wink:

Re: Spawn Beacons?

Posted: Sat Apr 13, 2013 12:17 pm
by Slime615
Yes, I changed it to a flyer - and modified the LUA Accordingly as well.

Neither tactic is working.
:(