| Home Page | Recent Changes

SuperApe/OSMObjectiveManager

UT2004 :: Actor >> Info >> OSMObjectiveManager (Package: OSMT)

This is the main actor responsible for Objective management in OSM Adventure maps. Level designers will use this actor to control a wide variety of aspects of their OSM Adventure. It includes a standardized database of information for each objective, but it's also responsible for launching Intro cutscene Matinees, forcing specific player character profiles, name and inventory. It is also responsible for defining the DeathScene Matinee. This actor handles many hidden aspects of cutscene operation, including player pawn script execution, "bullettime" management, per Objective timelimits and resuming Adrenaline combos that were running at the time a cutscene started. It also handles score/adrenaline awards per Objective.

This actor is part of the Old Skool Monsta Toolz and designed specifically for use in the OSM Adventure gametype.

Struct

struct  ObjectiveInfo
{
    var()   name    AchieveEvent;  // The Event indicating Objective has been reached.
    var()   name    CutSceneTag;  // The Tag of the Matinee (SceneManager) to run.
    var()   bool    bBulletTime;  // Slow to "Bullet Time" during cutscene.
    var()   int     ScoringValue;  // The score award for achieving this Objective.
    var()   int     AdrenalineAward;  // The Adrenaline aware for achieving this Objective.
    var()   name    PlayerStartTag;  // The Tag of the TriggerPlayerStart(s) that should be turned on.
    var()   float   NextObjectiveTimelimit;  // Optional timelimit to reach next Objective.
    var()   string  AdditionalEquipment[16];  // Adds per Objective inventory. (OSMT v1.1 and later)
};

Properties

Main

array<ObjectiveInfo> Objectives
The database of Objectives a player can reach in this OSM Adventure map. These Objectives can be reached in any order, or skipped entirely, as in a branching Objective system.
name IntroCutSceneTag
The Tag of the Matinee (SceneManager) which should run as this adventure's intro cutscene.
float IntroCutSceneLength
The length of time to let the intro cutscene run before starting the countdown to match start.
bool bPreventIntroInterrupt
Allows the player to bypass the intro cutscene with a click. (fire)
name BeginPlayerStartTag
The Tag of the TriggeredPlayerStart(s) that begin the adventure. (These should be the only TriggeredPlayerStarts bEnabled)
name DeathSceneTag
The Tag of the Matinee (SceneManager) that is used as the DeathScene for this OSM Adventure map.
string DefaultCharacter
The character profile to force on the player's Pawn. The player will control this character no matter when their current settings indicate.
string DefaultName
The name to force on the player.
string DefaultEquipment[16]
The equipment the player will always start with (each respawn). This string property expects to be formatted as <PackageName>.<InventoryName>, such as XWeapons.LinkGun.

Hidden

int CurrentObjective
This is the value of the currently playing Objective. (-1 = introductory objective)
name CurrentPStartTag
This is the Tag of the last TriggerPlayerStart(s) that were activated (or the BeginPlayerStarts).
int MatchTimeLimit
This is the total time limit, as set by the player in the game config menu.
float MatchRemainingTime
This is the total remaining time for the match.
float SaveTime
This is a placeholder for MatchRemainingTime, used during per Objective timelimits.
bool bDeathScene
Indicates the currently playing cutscene is a DeathScene.
AIScript NextScript
Indentifies a ScriptedSequence that should be used to control the player Pawn.
class<Combo> LocalPlayerCombo
Placeholder for an Adrenaline combo that was running when a cutscene started, used to restart the combo once the cutscene is done.
Pawn LocalPlayerPawn
Placeholder for the local player's Pawn.

Operation, Rules & Tips

  • It's important to note that each of these properties the level designer can set are optional.
  • It is not necessary for Triggers that fire Objective AchieveEvents to be set to bTriggerOnceOnly. OSMObjectiveManager automatically spawns OSMObjectiveTriggers at the start of the match for each Objective for this purpose.
  • As long as the Objective cutscene is started by the OSMObjectiveManager, the player's Pawn will be controlled during the cutscene by the ScriptedSequence whose Tag matches the Matinee's (SceneManager) PlayerScriptTag property. (This corrects a small bug in the stock code that prevented this operation)
  • In order for the player's Pawn to be controlled by the appropriate ScriptedSequence identified by the Matinee (SceneManager), or for score or Adrenline to be awarded appropriately, the Objective's AchieveEvent must be Instigated by the player Pawn. For more on Trigger System Instigators, see Trigger Systems.
  • Player's who die during cutscenes are automatically revived after the cutscene is done.
  • While IntroCutScenes can be interrupted (if configured by the level designer), both intermediate Objective cutscenes and DeathScenes are not interruptable. Level designers are encouraged to keep these short and to the point for the sake of the player's patience.
  • If an IntroCutScne is interrupted the OSMGame actor fires a special Event meant to signal that the intro cutscene is over and the match is about to begin. This Event, "IntroInterrupted", is mean to help level designers clean up intro cutscene actors and move appropriate Movers to get ready for the start of the match.
  • While match TimeLimits set by the player in the game config menu will time the entire adventure, including the time cutscenes take, per Objective TimeLimits as defined by the level designer in the OSMObjectiveManager do not count the time taken during cutscenes. Per Objective TimeLimits begin after the cutscene is finished and end before the start of the next Objective's cutscene.
  • Adrenaline combos interrupted by cutscenes will be automatically continued after the cutscene ends.
  • If Adrenaline is not desired in this map, simply use a LevelGameRules actor set to the NoAdrenaline mutator.
  • DeathScenes are simply Matinees. If a DeathSceneTag matches a Matinee (SceneManager) Tag, that DeathScene will run whenever the player dies.
  • A DeathScene always centers on the player Pawn or the Pawn's last location if gibbed.
  • DeathScenes have their camera locked at a distance of about 256 UU automatically, so the DeathScene Matinee is simply used to provide camera angle motion.
  • DeathScenes are always in "BulletTime".
  • DeathScenes can utilize all Matinee features, including camera effects and camera overlays. A special bloody "You Died" texture is provided by this actor's Skins property. It is available under the OSMTex texture package for use as a stock DeathScene camera overlay.

External Links

Related Topics

Discussion


Category Custom Class

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

FAQs

Help Desk

Mapping Topics

Mapping Lessons

UnrealEd Interface

UnrealScript Topics

UnrealScript Lessons

Making Mods

Class Tree

Modeling Topics

Chongqing Page

Log In