| Home Page | Recent Changes | Preferences

# Event Triggers

There is some low-level link between the key bindings and the UI events. For example, in User.ini, under [Engine.input], we have the following line:

     Escape=SendEvent ShowMenus

This states that pressing escape will trigger ShowMenus. This relates to the following in U2Menus.ui

     [Root]
     Class=MultiStateComponent
     State=NonMain
     State=Main
     Transition=ResetMenus,0,0,0,NULL
     Transition=ShowMenus,1,1,0,NULL
     TriggerEvent=0,0.0,CodeMonkey,UnPause
     TriggerEvent=1,0.0,CodeMonkey,Pause
     TriggerEvent=1,0.0,Event,MenuBackgroundBlurry.FadeOut
     TriggerEvent=1,0.0,Event,MainMenuBackgroundLarge.Grow
     TriggerEvent=1,0.0,Event,MainMenuBackgroundSmall.Show
     DrawOrder=99
     Localize=true

The line:

     Transition=ShowMenus,1,1,0,NULL

defines this particular event.

I tested this by creating a useless event, which does the same thing as notifying you of a new objective. In U2HUD.ui, this defines the ObjectiveNotify component:

     [ObjectiveNotify]
     Class=MultiStateComponent
     State=NULL
     State=ObjectiveNotifyText
     Transition=NewObjective,1,0,4.0,ObjectiveNotifyText:NewObjective
     Transition=Honestly,1,0,4.0,ObjectiveNotifyText:Honestly
     Transition=ObjectiveCompleted,1,0,4.0,ObjectiveNotifyText:ObjectiveCompleted
     Transition=ObjectiveFailed,1,0,4.0,ObjectiveNotifyText:ObjectiveFailed
     TweenLocation=false
     TweenAlpha=true
     DrawOrder=1

I added the line in bold here. Then, I entered the corresponding keybinding in User.ini:

     F3=SendEvent Honestly

Finally, in U2HUD.int, the text is defined:

     [General]
     AutoTurret=Auto Turret
     RocketTurret=Rocket Turret
     FieldGenerator=Field Generator
     ProximitySensor=Proximity Sensor
     XMP_Unknown=Unknown
     Objectives=OBJECTIVES
     NewObjective=F4 - New Objective
     Honestly=Honestly!
     ObjectiveCompleted=F4 - Objective Completed
     ObjectiveFailed=F4 - Objective Failed
     EndGame_LoadMenu=Load menu
     EndGame_QuickLoad=Quick load
     EndGame_RestartLevel=Restart
     EndGame_Quit=QUIT
     Confirmation_Ok=Ok
     Confirmation_Cancel=Cancel
     Confirmation_QuickLoad=REALLY LOAD?

Thus, when I press F3 during the game, "Honestly!" appears in the bottom left corner of the screen.

Normally, Objective notify events will be triggered from UnrealScript - the U2GameInfo class, in function UpdateObjective()

    switch(Status)
    {
      case OBJECTIVE_Incomplete: class'UIConsole'.static.SendEvent("NewObjective"); break;
      case OBJECTIVE_Completed: class'UIConsole'.static.SendEvent("ObjectiveCompleted"); break;
      case OBJECTIVE_Failed: class'UIConsole'.static.SendEvent("ObjectiveFailed"); break;
    }

This acheives exactly the same result, and the same native function must be called, if not from UnrealScript, in the first case I described.

MythOpus: I believe EventTriggers? are only used in Unreal 2 am I right?

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Image Uploads

Random Page

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

Mapping Topics

Mapping Lessons

UnrealEd Interface

Questions&Answers

Scripting Topics

Scripting Lessons

Making Mods

Class Tree

Questions&Answers

Modeling Topics

Questions&Answers

Log In