I love the smell of UnrealEd crashing in the morning. – tarquin
Legacy:Volume
A native actor parent class for all Volumes. These actors define an area and track other actors entering and exiting it.
Contents
Properties[edit]
Main[edit]
- name AssociatedActorTag
- Connects the Volume to an Actor whose Events -> Tag property matches this. The associated actor gets Touch and UnTouch events when something enters or leaves the Volume. You can use this feature to associate a Trigger with the Volume which will effectively make the whole Volume act like that Trigger. To do this, set the volume's AssociatedActor property to the Events -> Tag of the trigger to fire.
- int LocationPriority
- In areas where Volumes overlap, this property determines which LocationName is used. The higher the number, the more priority the volume has. If you have nested volumes (volumes in a volume, in a volume, in a volume, etc.), the volume that is the most nested, the nestee, should have a higher number than the nester, and so on.
- string LocationName (localized)
- A description of this zone. This is what appears on the scoreboard or HUD messages in team games as the location of teammate players. This property overrides that of a ZoneInfo. (In UT, LocationIDs were used for this purpose.)
- DecorationList DecoList (edfindable)
- A list of decorations to be spawned inside the volume when the level starts.
Hidden[edit]
- Actor AssociatedActor
- This actor gets Touch() and UnTouch() event notifications as the volume is entered or left.
Functions[edit]
- bool Encompasses( Actor Other )
- Returns True if the center of the actor is within this volume.
Inherited From Actor[edit]
- PostBeginPlay()
- Fills in the AssociatedActor variable if AssociatedActorTag was specified. If an associated actor is found the volume goes to the AssociatedTouch state.
- DisplayDebug( Canvas C, out float YL, out float YPos )
- Adds the AssociatedActor to the debug information displayed.
Events[edit]
Touch() and UnTouch() event notifications to the volume as actors enter or leave it ActorEnteredVolume() and ActorLeavingVolume() notifications when center of actor enters the volume Pawns with bIsPlayer==true cause PlayerEnteredVolume() notifications instead of ActorEnteredVolume().
The events PawnEnteredVolume() and PawnLeavingVolume() are available for PhysicsVolume and its child classes.
States[edit]
AssociatedTouch[edit]
Forwards Touch() and UnTouch() events to the AssociatedActor. During BeginState() is forwards a Touch() event to all TouchingActors.
Known Subclasses[edit]
Volume +- ASCriticalObjectiveVolume (UT2004) +- BlockingVolume | +- HitScanBlockingVolume +- LimitationVolume (UT2004) +- PhysicsVolume | +- DefaultPhysicsVolume | +- LadderVolume | +- LavaVolume | +- PressureVolume | +- WaterVolume | +- xFallingVolume +- SnipingVolume
XIII[edit]
- LethalVolume
- SixSenseForcedVolume
Custom[edit]
Related Topics[edit]
Discussion[edit]
Unknown: If you create a new volume subclass, you must load your mod's .u file while map editing for the new class to show up in the list.
SuperApe: As with any custom asset package.
Sivak: Hi. I have a working pressure volume and wanted to know if there was a way to get bots to try triggering it when someone is in there. There isn't a Trap thing in UT2004... Thanks.
SuperApe: Sort of. This falls under Strategic Bots behavior. You could have them activate a UseTrigger set to activate a VolumeTrigger which would in turn toggle the PressureVolume (or a modified PhysicsVolume). Problem is, bots love to run to UseTriggers and automatically trigger them upon Touch, so to get them to be a little more discreet about it, you'll have to get tricky with an AIScript and TriggerSystem.
Tarquin: This could be an interesting topic for a tutorial on AIScripts...