From Unreal Wiki, The Unreal Engine Documentation Site
Jump to navigation Jump to search
UT :: Actor >> Triggers (UT) >> SpecialEvent

Replaced in UT2003 by the ScriptedTrigger.

The SpecialEvent actor is a sort of mixed bag of odds and ends. It is essentially a triggerable actor, but what it actually does on being triggered depends on the Object -> InitialState property has been set to.

Rather than list properties, it's probably simpler to list the different states, and for each state which properties are actually relevant.

State PlayerPath

From the script: Sends the player on a spline path through the level.

These spline paths are created using the InterpolationPoint Actors. Take CityIntro for example.

(experimental layout)

SpecialEvent Events -> Tag 'intro'
Object -> InitialState PlayerPath
Trigger Events -> Event 'intro'

There is one SpecialEvent with these options:

  • Events:
    • Event: Path
    • Tag: Intro
  • Object:
    • InitialState: PlayerPath

Now to activate this Cinematic Sequence. There is need of a regular trigger, placed right at the position where the player spawns. This trigger has the following settings:

  • Events:
    • Event: Intro

That should do it ;)

State PlayAmbientSoundEffect

From the script: Place Ambient sound effect on player

This causes the player to emit an ambient sound until his AmbientSound property is reset to None.

State PlayersPlaySoundEffect

From the script: Play a sound.

This state can be used when you want to play sound effects which you want to be heard by all players.

Note: The sounds played here might cut off player speech.

State PlaySoundEffect

From the script: Play a sound.

A sound is played at the location of the SpecialEvent.

State KillInstigator

From the script: Kill the instigator who caused this event.

This kills the pawn that triggers it. This is useful for producing custom death messages at particular spots on a map where using a Zone with kill settings is inconvenient. Set the following properties:

  • DamageType = SpecialDamage
  • DamageString = %o was hacked. %k (for example)

The string is parsed somewhere else in the code – following the chain of code to that point is one of UnrealScript's famous wild goose chases.

  • %o is the player who is being killed
  • %k is the killer – in this case, this is nobody so the %k token will removed from the string with no replacement.

For some arcane reason, the %k is essential. If you omit it, it will not work. See Message Placeholder for more on this.

DamageString is not used, if the SpecialEvent is triggered by a Dispatcher.

State DamageInstigator

From the script: Damage the instigator who caused this event.

This causes the player who triggers it a certain amount of damage. Note that this amount seems to change according to bot skill, and that setting a custom death message should the player be killed by taking this damage does not seem to be possible.

(Also note that the Damage property can be set to a negative number, thus causing the player to be healed by the SpecialEvent. This acts as normal health does, and will not allow a player's health to be increased above 100.)

Prize of 100 guineas to a mapper who can make this (the death message) work... with proof! ;-)

Darthlore: I solved it just by bashing at for five miniutes on a level i am working on :) at first i had tryed using %o and had read above about %k being nessary but ended up with messages like

"%o killed himself trying to jump over the labyrinth wall !! %k"

"Bob killed himself trying to jump over the labyrinth wall !! Bob"

since the victim did kill him self

which of course doesn't look right and no matter what way you try to reright it it still does not look right using the players name twice in the message

I tried using double %o but got no message

then tried double %k and got

"%k killed himself trying to jump over the labyrinth wall !! %k"

"Bob killed himself trying to jump over the labyrinth wall !! %k"

so i got rid of the end %k to get my message

Also DamageType=SpecialDamage

Copy and paste this in to your level

<uscript> Begin Map Begin Actor Class=SpecialEvent Name=SpecialEvent0

   DamageString="%k killed himself trying to jump over the labyrinth wall !!"

End Actor Begin Actor Class=Trigger Name=Trigger0


End Actor End Map </uscript>

Category:Legacy Refactor Me

State DisplayMessage

From the script: Just display the message.

This can be set to either display to all players or just the player who instigated the event.

Related Topics