THIS IS CURRENTLY UNDER CONSTRUCTION AND WILL BE UPDATED DAILY BY TW DEVS UNTIL ITS COMPLETE.
This thread is to explain some of the basic functionality that will help you get your map up and running. For basic or advanced UE3 editor tutorials or questions refer to the Unreal Developer Network. This thread is for explaining Red Orchestra 2 related setups and actors.
ROVolumePlayerStartGroup - This volume is used to identify start locations for each team. Ideally you will want to have the same number of player starts as the max player load for the team. For example in a 8v8 each spawn location should have at least 8 spawns locations. You MUST set at LEAST the ROSpawnCameraActor in the volume properties. You will most likely want to use spawn protection volumes as well. Roles in the WorldInfo must be set in order to spawn.
If you split 32 spawns between 2 locations, all 32 people will spawn in the 1st spawn. If there is not enough spawns for all 32 they will start spawning inside of each other.
ROSpawnCameraActor - An actor that is used as a POV for when a player is selecting a spawn location. A reference of this actor should be associated with the ROVolumePlayerStartGroup.
ROSpawnProtectionVolume - This is a volume that represents the bounds of the spawn protection. A reference of this actor should be associated with the ROVolumePlayerStartGroup.
ROVolumeNoArtillery - This volume is used to disallow placement of artillery markers. Generally speaking so the area in front of a spawn protection volume doesn't get spammed with artillery if it happens to be an isolated route.
ROPlayerStart - This Navigation actor is used to identify where players will spawn. Use the rotation gizmo to orient the player start in the direction the players should be heading. Unchecking the bPrimaryStart in the properties of the ROPlayerStart will define the ROPlayerStart as a squad leader spawn location.
EnablePlayerStartGroup - This is a Kismet action that will set the state of a ROVolumePlayerStartGroup.
Spawning tanks is similar to spawning players. The main difference is using a ROVolumePlayerStartGroupTankCrew. You must have tank roles specified for the team you're trying to spawn. Only tanks can spawn in this volume.
When setting up the squads for tanks, specifically tank only, do not use the squadleader nor the commander slots in the WorldInfo role section for tank roles. Instead, make a squad, then a fire team then add a tank squadleader, a hull machine gunner, and a driver in the first fire team. Make a new fire team then add a tank commander, hull machine gunner, and driver. Typically, we do not assign more than 3 tank teams to a particular squad excluding the Tank Squad Leader. The Tank Platoon Commander role should be used in a squad and fire team of it's own.
Spawn on Squad Leader
Set ROPlayerStart to have bPrimaryStart=False. This is to allow people to spawn on the squad leader in the event the squad leader is near the spawn and no enemies can see the player spawn.
It's recommended you make a special group for these spawns so you do not get them mixed up with normal spawn playerstarts.
Role Selection Technical Info
The UI for squad selection only supports 10 squad members including the squad leader. There is a limit of 12 squads total per team. The commander is not considered a squad.
Roles for Countdown MUST be mirrored between the two teams. This is to avoid issues with players getting the wrong class when teams switch between round. Use the console command 'CountdownCheckRoles' to see if your roles match up.
To add new roles to your level. go into the world info and add a ROMapInfo (under 'My Map Info'
Roles are broken down into the Team Leader (Commander), squader leader and fire team members. There can only be 10 people in a squad and only 10 squads. Minimum Players - This determines at what point the squad/fireteam will become active based on how many people are in the server.
Countdown roles are set up similiarly to territory roles. The major thing to keep in mind that the roles must be mirroed between Axis and Allies. This is to insure no issues when the team swap happens between rounds.
This determines the roles that will be aviliable for Fire Fight. There only needs to be one of each class for each team in order for them to show up in the class selection menu.
Tank roles are signifanctly different than infantry roles. Each fireteam is a new tank. The Tank Platoon Commander does not go in the Team Leader spot. The Tank Platoon Commander must be in a squad like the rest of the tanks.
Since each fireteam is a new tank - the roles for tank commander, tank driver and tank hull mg must be added.
Squad type must be set to Vehicle along with the Vehicle Class and the Opposing Team Vehicle Class.
Territory Type Objectives
Using the ROObjective actor you can assign a ROPlaceable Volume in the 'Obj Volume' field. This will allow you to enable/activate/check status in kismet.
Make sure to enable the objectives you want at level reset by using the 'Level Reset' kismet action.
Obj Index - 0-99 number used to ID the objective order of enable objectives. These number do not need to be unique. Obj Rep Index - A 0-64 number used for replication of the objective. This number must be unique for each objective.
Setting up Radios
1> Place a ROFixedMGSpawnPoint at the location you'd like to have a fixed MG at
NOTE: Actor -> Note -> ROSkeletalMeshSpawnPoint -> ROFixedMGSpawnPoint
2> Select either the Maxim of the MG34 skeletalmesh from the content browser.
3> Open the properties of the ROFixedMGSpawnPoint and add the skeletalmesh from the content browser and add it to the field in the ROFixedMGSpawnPoint. That will give you a visual aid in placing the actual FMG.
3b> (OPTIONAL) The ROFixedMGSpawnPoint has another field called Yaw Limit Override and Pitch Limit Override. The default value are based on the actual Yaw and Pitch capabilities of the weapon historically. However, if you are not happy with those values you can add your own values knowing you are deviating from the actual capabilities of the weapon.
4> In Kismet, paste the following in.
Begin Object Class=SeqVar_Named Name=SeqVar_Named_5
Begin Object Class=SeqVar_Named Name=SeqVar_Named_4
Begin Object Class=SeqVar_Object Name=SeqVar_Object_60
Begin Object Class=SeqVar_Object Name=SeqVar_Object_59
Begin Object Class=SeqVar_Object Name=SeqVar_Object_58
Begin Object Class=SeqVar_Object Name=SeqVar_Object_57
Begin Object Class=SeqAct_ActorFactoryEx Name=SeqAct_ActorFactoryEx_1
Begin Object Class=ROActorFactoryFixedMG Name=ROActorFactoryFixedMG_1
VariableLinks(0)=(LinkedVariables=(SeqVar_Object'S eqVar_Object_57',SeqVar_Object'SeqVar_Object_59'), DrawX=2415,OverrideDelta=16)
VariableLinks(2)=(ExpectedType=Class'Engine.SeqVar _Object',LinkedVariables=(SeqVar_Object'SeqVar_Obj ect_60'),LinkDesc="Spawned 2",bWriteable=True,MinVars=0,DrawX=2563,OverrideDe lta=156)
Begin Object Class=SeqAct_Destroy Name=SeqAct_Destroy_1
VariableLinks(0)=(LinkedVariables=(SeqVar_Named'Se qVar_Named_4',SeqVar_Named'SeqVar_Named_5'),DrawX= 2159,OverrideDelta=16)
On the ActorFactory EX, connect the SPAWN POINT connection(s) to the ROSkeletalMeshSpawnPoint you placed in your level.
NOTE: The reason we destroy the fixed MGs is because no more than one FMG will spawn at a location. When the map restarts, we always want fresh equipment in the field.
IMPORTANT: Do NOT destroy the spawn location(s) but rather the object that represents the fixed MG in Kismet instead. I have called it FMG_RussianA and FMG_RussianB in my example.
The Spawn Count (ActorFactoryEX -> SeqAct_ActorFactory -> Spawn Count) section allows for random selection a spawn location when the number is less than the total number of attached spawn locations.
That should get you going with fixed MGs.
Map Bounds/Overhead Map
Setting up the Overhead Map
Obstacle Static Meshes
Cover Nodes and Slots
Destructible Static Meshes
This action is called when an objective is called. It does not keep track of the current objective status.
This action allows you to specify different kismet layouts for each player size group (16, 32, 64).
This action allows you specify matinee tracks to be played for when aerial recon is called in for each team. There is code to replace the interpactor you specify in the matinee so the correct model is displayed for each team's plane.
The action allows you specify the team to spawn in the associated volumes. You can also disable all volumes associated.
This action takes the associated objective and make its it active as long as it is both enabled and not locked. You can also use this action to disable objectives.
By default all objectives are disabled. This action will enable the associated objective(s) for later activation. This can also disable radios.
This action will enable all radios associated with it. There is no need to further activate it like the objectives.
This action will check current status of the objective associated with it when called. You then can specify a new chain of events based whether Axis/Allies own the objective (or Neutral).
This action will lock all objectives associated with it so it cannot be activated by other kismet actions. It can also be used to unlock objectives.