Zum Hauptinhalt springen
Version: latest - a1.169.2 ⚖️

🪤 Trigger

A Trigger class is a utility class to trigger events when any Entity enters an Area.

Client & Server🔁Not Distributable🧑‍💻API Source
👪Inheritance
This class shares methods and events from Base Entity, Base Actor.

🎒 Examples​

local sphere_trigger = Trigger(Vector(-200, 100, 500), Rotator(), Vector(100), TriggerType.Sphere, true, Color(1, 0, 0))

sphere_trigger:Subscribe("BeginOverlap", function(trigger, actor_triggering)
Console.Log("Something entered my Sphere Trigger")
end)

local box_trigger = Trigger(Vector(300, 200, 500), Rotator(0, 45, 0), Vector(150, 150, 150), TriggerType.Box, true, Color(0, 1, 0))

box_trigger:Subscribe("BeginOverlap", function(trigger, actor_triggering)
Console.Log("Something entered my Box Trigger")
end)

box_trigger:Subscribe("EndOverlap", function(trigger, actor_triggering)
Console.Log("Something left my Box Trigger")
end)
(Trigger.SetOverlapOnlyClasses) Sets to only overlap Characters
my_trigger:SetOverlapOnlyClasses({ "Character", "CharacterSimple" })

🛠 Constructors​

Default Constructor​

No description provided

local my_trigger = Trigger(location, rotation, extent, trigger_type?, is_visible?, color?, overlap_only_classes?)

Parameters

TypeNameDefaultDescription
Vectorlocation Required parameter World location to spawn at
Rotatorrotation Required parameter World rotation to spawn with
Vector or floatextent Required parameter Size of the Trigger. If using TriggerType.Sphere it is treated as radius, otherwise as Vector extent
TriggerTypetrigger_typeTriggerType.SphereShape of the Trigger, sphere or box
booleanis_visiblefalseUseful for debugging
ColorcolorColor.REDColor to paint the Trigger bounds - if Visible
table of stringoverlap_only_classes{}Filter Trigger to only overlap specific Classes. Leave it empty for all Classes

🗿 Static Functions​

Inherited Entity Static Functions
Trigger inherits from Base Entity Class, sharing it's methods and functions:
Base Entityscripting-reference/classes/base-classes/entity
ReturnsNameDescription
table of Base EntityGetAllReturns a table containing all Entities of the class this is called on
Base EntityGetByIndexReturns a specific Entity of this class at an index
integerGetCountReturns how many Entities of this class exist
table of tableGetInheritedClassesGets a list of all directly inherited classes from this Class created with the Inheriting System
iteratorGetPairsReturns an iterator with all Entities of this class to be used with pairs()
table or nilGetParentClassGets the parent class if this Class was created with the Inheriting System
tableInheritInherits this class with the Inheriting System
booleanIsChildOfGets if this Class is child of another class if this Class was created with the Inheriting System
functionSubscribeSubscribes to an Event for all entities of this Class
functionSubscribeRemoteSubscribes to a custom event called from server
UnsubscribeUnsubscribes all callbacks from this Event in this Class within this Package, or only the callback passed

This class doesn't have own static functions.

🦠 Functions​

Inherited Entity Functions
Trigger inherits from Base Entity Class, sharing it's methods and functions:
Base Entityscripting-reference/classes/base-classes/entity
ReturnsNameDescription
BroadcastRemoteEventCalls a custom remote event directly on this entity to all Players
BroadcastRemoteInRadiusEventCalls a custom remote event directly on this entity to all Players in a radius
CallRemoteEventCalls a custom remote event directly on this entity to a specific Player
CallRemoteEventCalls a custom remote event directly on this entity
CallRemotePlayersEventCalls a custom remote event directly on this entity to a list of Players
DestroyDestroys this Entity
FinishSpawnFinish the spawning process and send the entity to clients if it was spawned with a deferred spawn_mode
table of stringGetAllValuesKeysGets a list of all values keys
tableGetClassGets the class of this entity
integerGetIDGets the universal network ID of this Entity (same on both client and server)
anyGetValueGets a Value stored on this Entity at the given key
booleanHasAuthorityGets if the local context has authority over this Entity (true if spawned by the client, false if spawned by the server)
booleanIsARecursively checks if this entity is inherited from a Class
booleanIsBeingDestroyedReturns true if this Entity is being destroyed
booleanIsSpawnedGets if this Entity finished spawning
booleanIsValidReturns true if this Entity is valid (i.e. wasn't destroyed and points to a valid Entity)
SetSpawnModeOverrides when this Entity finishes spawning, from the Constructor of an Inherited Class
SetValueSets a Value in this Entity
functionSubscribeSubscribes to an Event on this specific entity
functionSubscribeRemoteSubscribes to a custom event called from server on this specific entity
UnsubscribeUnsubscribes all callbacks from this Event in this Entity within this Package, or only the callback passed
Inherited Actor Functions
Trigger inherits from Base Actor Class, sharing it's methods and functions:
Base Actorscripting-reference/classes/base-classes/actor
ReturnsNameDescription
AddActorTagAdds an Unreal Actor Tag to this Actor
AddAngularImpulseAdd an angular impulse to this Actor. Good for one time instant burst
AddImpulseAdd an impulse to this Actor. Good for one time instant burst
booleanAttachToAttaches this Actor to any other Actor, optionally at a specific bone
DetachDetaches this Actor from AttachedTo Actor
table of stringGetActorTagsGets all Unreal Actor Tags on this Actor
VectorGetAngularForceGets this Actor's angular force (set by SetAngularForce())
floatGetAngularVelocityGibt die Winkelgeschwindigkeit dieses Actors zurück
table of Base ActorGetAttachedEntitiesGets all Actors attached to this Actor
Base Actor or nilGetAttachedToGets the Actor this Actor is attached to
stringGetAttachedToSocketGibt den Namen des Knochens oder Socket zurück, an dem dieser Actor befestigt ist
tableGetBoundsGibt die Begrenzungen dieses Actors zurück, um seine Größe in der Spielwelt zu bestimmen
CollisionTypeGetCollisionGets this Actor's collision type
integerGetDimensionGets this Actor's dimension
floatGetDistanceFromCameraGets the distance of this Actor from the Camera
VectorGetForceGets this Actor's force (set by SetForce())
floatGetLifeSpanGibt die verbleibende Zeit (in Sekunden) bis zur Zerstörung dieses Actors zurück
VectorGetLocationGets this Actor's location in the game world
floatGetMassGibt die Masse dieses Actors zurück
Player or nilGetNetworkAuthorityGets this Actor's Network Authority Player
VectorGetRelativeLocationGets this Actor's Relative Location if it's attached
RotatorGetRelativeRotationGets this Actor's Relative Rotation if it's attached
RotatorGetRotationGets this Actor's angle in the game world
VectorGetScaleGets this Actor's scale
floatGetScreenPercentageGets the percentage of this Actor size in the screen
tableGetSocketTransformGets a Socket Transform in world space given a bone or socket name
VectorGetVelocityGets this Actor's current velocity
booleanHasNetworkAuthorityReturns true if the local Player is currently the Network Authority of this Actor
booleanIsGravityEnabledReturns true if gravity is enabled on this Actor
booleanIsImpulseOnDamageGibt true zurück, wenn erlittene Schäden den Physikkörper dieses Actors wegstoßen
booleanIsInWaterReturns true if this Actor is in water
booleanIsNetworkDistributedReturns true if this Actor is currently network distributed
booleanIsVisibleReturns true if this Actor is visible
RemoveActorTagRemoves an Unreal Actor Tag from this Actor
ResetVelocitySetzt die lineare und winkelbezogene Geschwindigkeit dieses Actors auf null zurück
RotateRelativeToDreht diesen angehängten Actor innerhalb einer bestimmten Zeit gleichmäßig auf einen Winkel relativ zu seinem übergeordneten Actor
RotateToSmoothly rotates this actor to an angle over a certain time
SetAngularForceAdds a permanent angular force to this Actor, set to Vector(0, 0, 0) to cancel
SetCastShadowSets this Actor's to cast shadows or not
SetCollisionSets this Actor's collision type
SetDimensionLegt die Dimension dieses Actors fest. Actors können nur Entitäten sehen und mit ihnen interagieren, die sich in derselben Dimension befinden
SetDistanceOptimizationMultiplierLegt den Entfernungsoptimierungs-Multiplikator dieses Actors fest
SetForceAdds a permanent force to this Actor, set to Vector(0, 0, 0) to cancel
SetGravityEnabledSets whether gravity is enabled on this Actor
SetHighlightEnabledSets whether the highlight is enabled on this Actor, and which highlight index to use
SetImpulseOnDamageLegt fest, ob erlittener Schaden (durch Schüsse, Nahkampfangriffe oder Explosionen) den Physikkörper dieses Actors wegstößt
SetLifeSpanSets the time (in seconds) before this Actor is destroyed. After this time has passed, the actor will be automatically destroyed.
SetLocationSets this Actor's location in the game world
SetNetworkAuthoritySets the Player to have network authority over this Actor
SetNetworkAuthorityAutoDistributedSets if this Actor will auto distribute the network authority between players
SetOutlineEnabledSets whether the outline is enabled on this Actor, and which outline index to use
SetRelativeLocationSets this Actor's relative location in local space (only if this actor is attached)
SetRelativeRotationSets this Actor's relative rotation in local space (only if this actor is attached)
SetRenderCullDistanceSets this Actor's render cull distance
SetRotationSets this Actor's rotation in the game world
SetScaleSets this Actor's scale
SetVisibilitySets whether the actor is visible or not
TranslateRelativeToBewegt diesen angehängten Actor innerhalb einer bestimmten Zeit gleichmäßig zu einer Position relativ zu seinem übergeordneten Actor
TranslateToSmoothly moves this actor to a location over a certain time
booleanWasRecentlyRenderedGets if this Actor was recently rendered on screen
ReturnsNameDescription
ForceOverlapCheckingForces an Overlap check to occur, will immediately trigger overlaps
booleanIsOverlappingReturns if an Actor is inside this Trigger right now
SetColorSets the Trigger color (if visible)
SetExtentSets the extent size of this trigger (sphere triggers can receive as float for radius)
SetOverlapOnlyClassesSets the filter to Trigger to only overlap specific Classes. Leave it empty for all Classes

Slow

ForceOverlapChecking​

Forces an Overlap check to occur, will immediately trigger overlaps
my_trigger:ForceOverlapChecking()

Moderate

IsOverlapping​

Returns if an Actor is inside this Trigger right now.

Tests the Actor's location against the Trigger's shape at the moment of the call
local ret = my_trigger:IsOverlapping(actor)

Parameters

TypeParameterDefaultDescription
Base Actoractor Required parameter The Actor to test

Returns

TypeDescription
booleanWhether the Actor is inside

Optimal

SetColor​

Sets the Trigger color (if visible)
my_trigger:SetColor(color)

Parameters

TypeParameterDefaultDescription
Colorcolor Required parameter The new Trigger color

Optimal

SetExtent​

Sets the extent size of this trigger (sphere triggers can receive as float for radius)
my_trigger:SetExtent(extent)

Parameters

TypeParameterDefaultDescription
Vector or floatextent Required parameter The new extent size of this trigger

Moderate

SetOverlapOnlyClasses​

Sets the filter to Trigger to only overlap specific Classes. Leave it empty for all Classes
my_trigger:SetOverlapOnlyClasses(overlap_only_classes)

Parameters

TypeParameterDefaultDescription
table of stringoverlap_only_classes Required parameter The new filter to Trigger to only overlap specific Classes. Leave it empty for all Classes
Trigger.SetOverlapOnlyClasses Examples
Sets to only overlap Characters
my_trigger:SetOverlapOnlyClasses({ "Character", "CharacterSimple" })

🚀 Events​

Inherited Entity Events
Trigger inherits from Base Entity Class, sharing it's events:
Base Entityscripting-reference/classes/base-classes/entity
NameDescription
ClassRegisterTriggered when a new Class is registered with the Inheriting System
DestroyTriggered when an Entity is destroyed
SpawnTriggered when an Entity is spawned/created
ValueChangeTriggered when an Entity has a value changed with :SetValue()
Inherited Actor Events
Trigger inherits from Base Actor Class, sharing it's events:
Base Actorscripting-reference/classes/base-classes/actor
NameDescription
DimensionChangeWird ausgelöst, wenn ein Actor seine Dimension wechselt
EnterWaterWird ausgelöst, wenn ein Actor in ein Gewässer eintritt
LeaveWaterWird ausgelöst, wenn ein Actor ein Gewässer verlässt
NetworkAuthorityChangeWird ausgelöst, wenn sich der Netzwerk-Autoritäts-Spieler eines Actors ändert
NetworkAuthorityChangeWird ausgelöst, wenn der lokale Spieler die Netzwerk-Autorität über diesen Actor erhält oder verliert
NameDescription
BeginOverlapTriggered when something overlaps this Trigger
EndOverlapTriggered when something leaves this Trigger

BeginOverlap​

Triggered when something overlaps this Trigger
Trigger.Subscribe("BeginOverlap", function(self, entity)
-- BeginOverlap was called
end)

Arguments

TypeArgumentDescription
TriggerselfThe Trigger entity
Base ActorentityAny Actor which overlaps

EndOverlap​

Triggered when something leaves this Trigger
Trigger.Subscribe("EndOverlap", function(self, entity)
-- EndOverlap was called
end)

Arguments

TypeArgumentDescription
TriggerselfThe Trigger entity
Base ActorentityAny Actor which left the Trigger