Vehicle
Vehicles are wheeled entities which Characters can possesses and drive.
💂Authority
This class can only be spawned on 🟦 Server side.
👪Inheritance
Any Skeletal Mesh can be used to create a Vehicle, although only Skeletal Meshes with Wheels bones can use the built-in feature of animated Wheels.
Examples​
Server/Index.lua
-- Spawns a Pickup Vehicle
local vehicle = Vehicle(location or Vector(), rotation or Rotator(), "helix::SK_Pickup", CollisionType.Normal, true, false, true, "helix::A_Vehicle_Engine_10")
-- Configure it's Engine power and Aerodynamics
vehicle:SetEngineSetup(700, 5000)
vehicle:SetAerodynamicsSetup(2500)
-- Configure it's Steering Wheel and Headlights location
vehicle:SetSteeringWheelSetup(Vector(0, 27, 120), 24)
vehicle:SetHeadlightsSetup(Vector(270, 0, 70))
-- Configures each Wheel
vehicle:SetWheel(0, "Wheel_Front_Left", 27, 18, 45, Vector(), true, true, false, false, false, 1500, 3000, 1000, 1, 3, 20, 20, 250, 50, 10, 10, 0, 0.5, 0.5)
vehicle:SetWheel(1, "Wheel_Front_Right", 27, 18, 45, Vector(), true, true, false, false, false, 1500, 3000, 1000, 1, 3, 20, 20, 250, 50, 10, 10, 0, 0.5, 0.5)
vehicle:SetWheel(2, "Wheel_Rear_Left", 27, 18, 0, Vector(), false, true, true, false, false, 1500, 3000, 1000, 1, 4, 20, 20, 250, 50, 10, 10, 0, 0.5, 0.5)
vehicle:SetWheel(3, "Wheel_Rear_Right", 27, 18, 0, Vector(), false, true, true, false, false, 1500, 3000, 1000, 1, 4, 20, 20, 250, 50, 10, 10, 0, 0.5, 0.5)
-- Adds 6 Doors/Seats
vehicle:SetDoor(0, Vector( 50, -75, 105), Vector( 8, -32.5, 95), Rotator(0, 0, 10), 70, -150)
vehicle:SetDoor(1, Vector( 50, 75, 105), Vector( 25, 50, 90), Rotator(0, 0, 0), 70, 150)
vehicle:SetDoor(2, Vector( -90, -75, 130), Vector( -90, -115, 155), Rotator(0, 90, 20), 60, -150)
vehicle:SetDoor(3, Vector( -90, 75, 130), Vector( -90, 115, 155), Rotator(0, -90, 20), 60, 150)
vehicle:SetDoor(4, Vector(-195, -75, 130), Vector(-195, -115, 155), Rotator(0, 90, 20), 60, -150)
vehicle:SetDoor(5, Vector(-195, 75, 130), Vector(-195, 115, 155), Rotator(0, -90, 20), 60, 150)
-- Make it ready (so clients only create Physics once and not for each function call above)
vehicle:RecreatePhysics()
Constructors​
Default Constructor​
local my_vehicle = Vehicle(location, rotation, asset, collision_type?, gravity_enabled?, auto_create_physics?, auto_unflip?, engine_sound?, horn_sound?, brake_sound?, engine_start_sound?, vehicle_door_sound?, auto_start_engine?, custom_animation_blueprint?)
Type | Name | Default | Description |
---|---|---|---|
Vector | location | ||
Rotator | rotation | ||
SkeletalMesh Reference | asset | ||
CollisionType | collision_type | CollisionType.Normal | |
boolean | gravity_enabled | true | |
boolean | auto_create_physics | true | Can be disabled to improve performance when setting several configs. Must call RecreatePhysics() after all |
boolean | auto_unflip | true | Auto rotates the vehicle if flipped |
Sound Reference | engine_sound | helix::A_Vehicle_Engine_01 | |
Sound Reference | horn_sound | helix::A_Vehicle_Horn_Toyota | |
Sound Reference | brake_sound | helix::A_Vehicle_Brake | |
Sound Reference | engine_start_sound | helix::A_Car_Engine_Start | |
Sound Reference | vehicle_door_sound | helix::A_Vehicle_Door | |
boolean | auto_start_engine | true | |
Blueprint Reference | custom_animation_blueprint |
|
Static Functions​
Inherited Entity Static Functions
Base Entityscripting-reference/classes/base-classes/Entity
Returns | Name | Description | |
---|---|---|---|
table of Base Entity | GetAll | Returns a table containing all Entities of the class this is called on | |
Base Entity | GetByIndex | Returns a specific Entity of this class at an index | |
integer | GetCount | Returns how many Entities of this class exist | |
iterator | GetPairs | Returns an iterator with all Entities of this class to be used with pairs() | |
table | Inherit | Inherits this class with the Inheriting System | |
table of table | GetInheritedClasses | Gets a list of all directly inherited classes from this Class created with the Inheriting System | |
table or nil | GetParentClass | Gets the parent class if this Class was created with the Inheriting System | |
boolean | IsChildOf | Gets if this Class is child of another class if this Class was created with the Inheriting System | |
function | Subscribe | Subscribes to an Event for all entities of this Class | |
function | SubscribeRemote | Subscribes to a custom event called from server | |
Unsubscribe | Unsubscribes all callbacks from this Event in this Class within this Package, or only the callback passed |
Functions​
Inherited Entity Functions
Base Entityscripting-reference/classes/base-classes/Entity
Returns | Name | Description | |
---|---|---|---|
integer | GetID | Gets the universal network ID of this Entity (same on both client and server) | |
table | GetClass | Gets the class of this entity | |
boolean | IsA | Recursively checks if this entity is inherited from a Class | |
function | Subscribe | Subscribes to an Event on this specific entity | |
function | SubscribeRemote | Subscribes to a custom event called from server on this specific entity | |
Unsubscribe | Unsubscribes all callbacks from this Event in this Entity within this Package, or only the callback passed | ||
SetValue | Sets a Value in this Entity | ||
any | GetValue | Gets a Value stored on this Entity at the given key | |
Destroy | Destroys this Entity | ||
boolean | IsValid | Returns true if this Entity is valid (i.e. wasn't destroyed and points to a valid Entity) | |
CallRemoteEvent | Calls a custom remote event directly on this entity to a specific Player | ||
CallRemoteEvent | Calls a custom remote event directly on this entity | ||
BroadcastRemoteEvent | Calls a custom remote event directly on this entity to all Players |
Inherited Actor Functions
Base Actorscripting-reference/classes/base-classes/Actor
Returns | Name | Description | |
---|---|---|---|
AddImpulse | Applies a force in world world to this Actor | ||
AttachTo | Attaches this Actor to any other Actor, optionally at a specific bone | ||
Detach | Detaches this Actor from AttachedTo Actor | ||
SetCollision | Sets this Actor's collision type | ||
SetDimension | Sets this Actor's Dimension | ||
SetForce | Adds a permanent force to this Actor, set to Vector(0, 0, 0) to cancel | ||
SetGravityEnabled | Sets whether gravity is enabled on this Actor | ||
SetVisibility | Sets whether the actor is visible or not | ||
SetHighlightEnabled | Sets whether the highlight is enabled on this Actor, and which highlight index to use | ||
SetOutlineEnabled | Sets whether the outline is enabled on this Actor, and which outline index to use | ||
SetLifeSpan | Sets the time (in seconds) before this Actor is destroyed. After this time has passed, the actor will be automatically destroyed. | ||
SetLocation | Sets this Actor's location in the game world | ||
SetRotation | Sets this Actor's rotation in the game world | ||
SetRelativeLocation | Sets this Actor's relative location in local space (only if this actor is attached) | ||
SetRelativeRotation | Sets this Actor's relative rotation in local space (only if this actor is attached) | ||
SetScale | Sets this Actor's scale | ||
SetNetworkAuthority | Sets the Player to have network authority over this Actor | ||
SetNetworkAuthorityAutoDistributed | Sets if this Actor will auto distribute the network authority between players | ||
TranslateTo | Smoothly moves this actor to a location over a certain time | ||
RotateTo | Smoothly rotates this actor to an angle over a certain time | ||
boolean | IsBeingDestroyed | Returns true if this Actor is being destroyed | |
boolean | IsVisible | Returns true if this Actor is visible | |
boolean | IsGravityEnabled | Returns true if gravity is enabled on this Actor | |
boolean | IsInWater | Returns true if this Actor is in water | |
boolean | IsNetworkDistributed | Returns true if this Actor is currently network distributed | |
table of Base Actor | GetAttachedEntities | Gets all Actors attached to this Actor | |
Base Actor or nil | GetAttachedTo | Gets the Actor this Actor is attached to | |
table | GetBounds | Gets this Actor's bounds | |
CollisionType | GetCollision | Gets this Actor's collision type | |
Vector | GetLocation | Gets this Actor's location in the game world | |
Vector | GetRelativeLocation | Gets this Actor's Relative Location if it's attached | |
Player or nil | GetNetworkAuthority | Gets this Actor's Network Authority Player | |
Rotator | GetRotation | Gets this Actor's angle in the game world | |
Rotator | GetRelativeRotation | Gets this Actor's Relative Rotation if it's attached | |
Vector | GetForce | Gets this Actor's force (set by SetForce() ) | |
integer | GetDimension | Gets this Actor's dimension | |
boolean | HasNetworkAuthority | Returns true if the local Player is currently the Network Authority of this Actor | |
boolean | HasAuthority | Gets if this Actor was spawned by the client side | |
Vector | GetScale | Gets this Actor's scale | |
Vector | GetVelocity | Gets this Actor's current velocity | |
AddActorTag | Adds an Unreal Actor Tag to this Actor | ||
RemoveActorTag | Removes an Unreal Actor Tag from this Actor | ||
table of string | GetActorTags | Gets all Unreal Actor Tags on this Actor | |
boolean | WasRecentlyRendered | Gets if this Actor was recently rendered on screen | |
float | GetDistanceFromCamera | Gets the distance of this Actor from the Camera | |
float | GetScreenPercentage | Gets the percentage of this Actor size in the screen |
Inherited Paintable Functions
Base Paintablescripting-reference/classes/base-classes/Paintable
Returns | Name | Description | |
---|---|---|---|
SetMaterial | Sets the material at the specified index of this Actor | ||
SetMaterialFromCanvas | Sets the material at the specified index of this Actor to a Canvas object | ||
SetMaterialFromSceneCapture | Sets the material at the specified index of this Actor to a SceneCapture object | ||
SetMaterialFromWebUI | Sets the material at the specified index of this Actor to a WebUI object | ||
ResetMaterial | Resets the material from the specified index to the original one | ||
SetMaterialColorParameter | Sets a Color parameter in this Actor's material | ||
SetMaterialScalarParameter | Sets a Scalar parameter in this Actor's material | ||
SetMaterialTextureParameter | Sets a texture parameter in this Actor's material to an image on disk | ||
SetMaterialVectorParameter | Sets a Vector parameter in this Actor's material | ||
SetPhysicalMaterial | Overrides this Actor's Physical Material with a new one |
Returns | Name | Description | |
---|---|---|---|
AddStaticMeshAttached | Spawns and Attaches a StaticMesh into this Vehicle | ||
Horn | Starts or stops the vehicles horn | ||
RecreatePhysics | Recreate the Vehicle Physics | ||
RemoveStaticMeshAttached | Removes, if existing, a StaticMesh from this Vehicle given it's custom ID | ||
RemoveAllStaticMeshesAttached | Removes all StaticMeshes attached | ||
SetCameraOffset | Sets the Vehicle Camera Offset | ||
SetAutoStartEngine | Sets if the Engine auto starts when the driver enters the Vehicle | ||
SetEngineStarted | Sets if the Engine is turned off/on | ||
SetSteeringSetup | Configures the Vehicle Steering | ||
SetEngineSetup | Configures the Vehicle Engine (Torque, RPM, Braking) | ||
SetAerodynamicsSetup | Configures the Vehicle Aerodynamics Settings | ||
SetTransmissionSetup | Configures the Vehicle Transmission | ||
SetWheel | Configures a Vehicle Wheel | ||
SetDoor | Adds a Door to the Vehicle | ||
SetSteeringWheelSetup | Configures where the Steering Wheel is located | ||
SetHeadlightsSetup | Configures the Headlights Offset and Color. | ||
SetTaillightsSetup | Configures the Taillights Offset. | ||
PlayAnimation | Plays an Animation on this Vehicle | ||
VehiclePath | GetMesh | Gets the Asset name | |
table | GetDoors | Gets all configured Doors | |
table | GetBoneTransform | Gets a Bone Transform in world space given a bone name | |
Character | GetPassenger | Gets a passenger from a seat | |
table of Character | GetPassengers | Gets all passengers | |
integer | GetRPM | Gets the current RPM | |
integer | GetGear | Gets the current Gear |
AddStaticMeshAttached
​
Spawns and Attaches a StaticMesh into this Vehicle in a Socket with relative Location and Rotation. Uses a custom ID to be used for removing it further
For customizing the Materials specific of a StaticMeshAttached, please use the following syntax as theparameter_name
in the Paintable methods:attachable///[ATTACHABLE_ID]/[PARAMETER_NAME]
, where [ATTACHABLE_ID] is the ID of the Attachable, and [PARAMETER_NAME] is the name of the parameter you want to change.
my_vehicle:AddStaticMeshAttached(id, static_mesh_asset?, socket?, relative_location?, relative_rotation?)
Type | Parameter | Default | Description |
---|---|---|---|
string | id | Used further for removing or applying material settings on it | |
StaticMesh Reference | static_mesh_asset? |
| |
string | socket? |
| |
Vector | relative_location? | Vector(0, 0, 0) | |
Rotator | relative_rotation? | Rotator(0, 0, 0) |
Horn
​
Starts or stops the vehicles horn
my_vehicle:Horn(enable_horn)
Type | Parameter | Default | Description |
---|---|---|---|
boolean | enable_horn |
RecreatePhysics
​
Call this after configuring the vehicle if passed auto_create_physics
to constructor
my_vehicle:RecreatePhysics()
RemoveStaticMeshAttached
​
Removes, if existing, a StaticMesh from this Vehicle given it's custom ID
my_vehicle:RemoveStaticMeshAttached(id)
Type | Parameter | Default | Description |
---|---|---|---|
string | id |
RemoveAllStaticMeshesAttached
​
Removes all StaticMeshes attached
my_vehicle:RemoveAllStaticMeshesAttached()
SetCameraOffset
​
Sets the Vehicle Camera Offset
my_vehicle:SetCameraOffset(offset)
Type | Parameter | Default | Description |
---|---|---|---|
Vector | offset |
SetAutoStartEngine
​
Sets if the Engine auto starts when the driver enters the Vehicle
my_vehicle:SetAutoStartEngine(auto_start)
Type | Parameter | Default | Description |
---|---|---|---|
boolean | auto_start |
SetEngineStarted
​
Sets if the Engine is turned off/on (this will affect Lights, Sounds and ability to Throttle)
my_vehicle:SetEngineStarted(started)
Type | Parameter | Default | Description |
---|---|---|---|
boolean | started |
SetSteeringSetup
​
Configures the Vehicle Steering
my_vehicle:SetSteeringSetup(steering_type, angle_ratio?)
Type | Parameter | Default | Description |
---|---|---|---|
SteeringType | steering_type | ||
float | angle_ratio? | 0.7 | Only applies when AngleRatio is selected |
SetEngineSetup
​
Configures the Vehicle Engine (Torque, RPM, Braking)
my_vehicle:SetEngineSetup(max_torque?, max_rpm?, idle_rpm?, brake_effect?, rev_up_moi?, rev_down_rate?)
Type | Parameter | Default | Description |
---|---|---|---|
integer | max_torque? | 700 | Max Engine Torque (Nm) is multiplied by TorqueCurve |
integer | max_rpm? | 5700 | Maximum revolutions per minute of the engine |
integer | idle_rpm? | 1200 | Idle RMP of engine then in neutral/stationary |
float | brake_effect? | 0.05 | Braking effect from engine, when throttle released |
integer | rev_up_moi? | 5 | Affects how fast the engine RPM speed up |
integer | rev_down_rate? | 600 | Affects how fast the engine RPM slows down |
SetAerodynamicsSetup
​
Configures the Vehicle Aerodynamics Settings
my_vehicle:SetAerodynamicsSetup(mass?, drag_coefficient?, vehicle_chassis_width?, vehicle_chassis_height?, vehicle_downforce_coefficient?, center_of_mass_override?)
Type | Parameter | Default | Description |
---|---|---|---|
integer | mass? | 1500 | Mass of the vehicle chassis |
float | drag_coefficient? | 0.3 | Force resisting forward motion at speed |
integer | vehicle_chassis_width? | 180 | Chassis width used for drag force computation (cm) |
integer | vehicle_chassis_height? | 140 | Chassis height used for drag force computation (cm) |
float | vehicle_downforce_coefficient? | 0.3 | Force pressing vehicle into ground at speed |
Vector | center_of_mass_override? | Vector(0, 0, 50) | Overrides the center of mass. Good for curves stabilization. Ideally the Z should be the same as the wheels radius |
SetTransmissionSetup
​
Configures the Vehicle Transmission
my_vehicle:SetTransmissionSetup(transmission_final_ratio?, transmission_change_up_rpm?, transmission_change_down_rpm?, transmission_gear_change_time?, transmission_efficiency?)
Type | Parameter | Default | Description |
---|---|---|---|
float | transmission_final_ratio? | 3.08 | The final gear ratio multiplies the transmission gear ratios |
integer | transmission_change_up_rpm? | 4500 | Engine Revs at which gear up change ocurrs |
integer | transmission_change_down_rpm? | 2000 | Engine Revs at which gear down change ocurrs |
float | transmission_gear_change_time? | 0.4 | Time it takes to switch gears (seconds) |
float | transmission_efficiency? | 0.94 | Mechanical frictional losses mean transmission might operate at 0.94 (94% efficiency) |
SetWheel
​
Wheels can be updated in runtime by calling SetWheel again, you can for example change the suspension high or disable a wheel totally by toggling affected_by_engine off or setting radius to 0.
my_vehicle:SetWheel(index, bone_name, radius?, width?, max_steer_angle?, offset?, is_affected_by_engine?, is_affected_by_brake?, is_affected_by_handbrake?, has_abs_enabled?, has_traction_control_enabled?, max_brake_torque?, max_handbrake_torque?, cornering_stiffness?, side_slip_modifier?, friction_force_multiplier?, slip_threshold?, skid_threshold?, suspension_spring_rate?, suspension_spring_preload?, suspension_max_raise?, suspension_max_drop?, suspension_smoothing?, suspension_damping_ratio?, suspension_wheel_load_ratio?, suspension_axis?, suspension_force_offset?)
Type | Parameter | Default | Description |
---|---|---|---|
integer | index | Index of the wheel (0-N). Set it in ASC order | |
string | bone_name | Name of the bone to attach this wheel to | |
integer | radius? | 32 | Radius of the wheel |
integer | width? | 20 | Width of the wheel |
integer | max_steer_angle? | 50 | Steer angle in degrees for this wheel |
Vector | offset? | Vector(0, 0, 0) | If bone_name is specified, offset the wheel from the bone's location. Otherwise this offsets the wheel from the vehicle's origin |
boolean | is_affected_by_engine? | true | Whether engine should power this wheel |
boolean | is_affected_by_brake? | true | Whether brake should affect this wheel |
boolean | is_affected_by_handbrake? | true | Whether handbrake should affect this wheel |
boolean | has_abs_enabled? | false | Advanced Braking System Enabled |
boolean | has_traction_control_enabled? | false | Straight Line Traction Control Enabled |
integer | max_brake_torque? | 1500 | Max brake torque for this wheel (Nm) |
integer | max_handbrake_torque? | 3000 | Max handbrake brake torque for this wheel (Nm). A handbrake should have a stronger brake torque than the brake |
integer | cornering_stiffness? | 1000 | Tyre Cornering Ability |
float | side_slip_modifier? | 1.0 | Wheel Lateral Skid Grip Loss, lower number less grip on skid |
float | friction_force_multiplier? | 2.0 | Friction Force Multiplier |
float | slip_threshold? | 20.0 | Wheel Longitudinal Slip Threshold |
float | skid_threshold? | 20.0 | Wheel Lateral Skid Threshold |
float | suspension_spring_rate? | 250.0 | Spring Force (N/m) |
float | suspension_spring_preload? | 50.0 | Spring Preload (N/m) |
float | suspension_max_raise? | 10.0 | How far the wheel can go above the resting position |
float | suspension_max_drop? | 10.0 | How far the wheel can drop below the resting position |
float | suspension_smoothing? | 0.0 | Smooth suspension [0-off, 10-max] - Warning might cause momentary visual inter-penetration of the wheel against objects/terrain |
float | suspension_damping_ratio? | 0.5 | Suspension damping, larger value causes the suspension to come to rest faster [range 0 to 1] |
float | suspension_wheel_load_ratio? | 0.5 | Amount wheel load effects wheel friction. - At 0 wheel friction is completely independent of the loading on the wheel (This is artificial as it always assumes even balance between all wheels) - At 1 wheel friction is based on the force pressing wheel into the ground. This is more realistic. - Lower value cures lift off over-steer, generally makes vehicle easier to handle under extreme motions. |
Vector | suspension_axis? | Vector(0, 0, -1) | Local body direction in which where suspension forces are applied (typically along -Z-axis) |
Vector | suspension_force_offset? | Vector(0, 0, 0) | Vertical offset from where suspension forces are applied (along Z-axis) |
SetDoor
​
Adds a Door at offset_location from root which will pose the Character at seat_location with seat_rotation rotation.
my_vehicle:SetDoor(seat_index, offset_location, seat_location, seat_rotation, trigger_radius, leave_lateral_offset)
Type | Parameter | Default | Description |
---|---|---|---|
integer | seat_index | ||
Vector | offset_location | ||
Vector | seat_location | ||
Rotator | seat_rotation | ||
integer | trigger_radius | ||
integer | leave_lateral_offset | It's where the Character will be ejected when leaving it (e.g. -150 for left door or 150 for right door) |
SetSteeringWheelSetup
​
Configures where the Steering Wheel is located, so Characters can grab it procedurally properly
my_vehicle:SetSteeringWheelSetup(location, radius)
SetHeadlightsSetup
​
Configures the Headlights Offset and Color.
my_vehicle:SetHeadlightsSetup(location, color?)
SetTaillightsSetup
​
Configures the Taillights Offset.
my_vehicle:SetTaillightsSetup(location)
Type | Parameter | Default | Description |
---|---|---|---|
Vector | location |
PlayAnimation
​
Plays an Animation on this Vehicle
my_vehicle:PlayAnimation(animation_path, slot_name?, loop_indefinitely?, blend_in_time?, blend_out_time?, play_rate?, stop_all_montages?)
Type | Parameter | Default | Description |
---|---|---|---|
Animation Reference | animation_path | ||
string | slot_name? | DefaultSlot | |
boolean | loop_indefinitely? | false | This parameter is only used if the Vehicle has an Animation Blueprint |
float | blend_in_time? | 0.25 | This parameter is only used if the Vehicle has an Animation Blueprint |
float | blend_out_time? | 0.25 | This parameter is only used if the Vehicle has an Animation Blueprint |
float | play_rate? | 1.0 | This parameter is only used if the Vehicle has an Animation Blueprint |
boolean | stop_all_montages? | false | Stops all running Montages from the same Group. This parameter is only used if the Vehicle has an Animation Blueprint |
GetMesh
​
Gets the Asset name
— Returns VehiclePath (asset path).
local ret = my_vehicle:GetMesh()
GetDoors
​
Gets all configured Doors
— Returns table (with this format).
local ret = my_vehicle:GetDoors()
GetBoneTransform
​
Gets a Bone Transform in world space given a bone name
— Returns table (with this format).
local ret = my_vehicle:GetBoneTransform(bone_name)
Type | Parameter | Default | Description |
---|---|---|---|
string | bone_name |
GetPassenger
​
Gets a passenger from a seat
— Returns Character (or nil if no passenger in seat).
local ret = my_vehicle:GetPassenger(seat)
Type | Parameter | Default | Description |
---|---|---|---|
integer | seat |
GetPassengers
​
Gets all passengers
— Returns table of Character.
local ret = my_vehicle:GetPassengers()
GetRPM
​
Gets the current RPM
— Returns integer.
local ret = my_vehicle:GetRPM()
GetGear
​
Gets the current Gear
— Returns integer.
local ret = my_vehicle:GetGear()
Events​
Inherited Entity Events
Base Entityscripting-reference/classes/base-classes/Entity
Name | Description | |
---|---|---|
Spawn | Triggered when an Entity is spawned/created | |
Destroy | Triggered when an Entity is destroyed | |
ValueChange | Triggered when an Entity has a value changed with :SetValue() | |
ClassRegister | Triggered when a new Class is registered with the Inheriting System |
Inherited Actor Events
Base Actorscripting-reference/classes/base-classes/Actor
Name | Description | |
---|---|---|
Spawn | Triggered when an Entity is spawned/created | |
Destroy | Triggered when an Entity is destroyed | |
ValueChange | Triggered when an Entity has a value changed with :SetValue() | |
ClassRegister | Triggered when a new Class is registered with the Inheriting System |
Name | Description | |
---|---|---|
Horn | Triggered when Vehicle honks | |
Hit | Triggered when Vehicle hits something | |
CharacterEnter | Triggered when a Character fully enters the Vehicle | |
CharacterLeave | Triggered when a Character fully leaves the Vehicle | |
CharacterAttemptEnter | Triggered when a Character attempts to enter the Vehicle | |
CharacterAttemptLeave | Triggered when a Character attempts to leave the Vehicle | |
TakeDamage | Triggered when this Vehicle takes damage |
Horn
​
Triggered when Vehicle honks
Vehicle.Subscribe("Horn", function(self, is_honking)
-- Horn was called
end)
Hit
​
Triggered when Vehicle hits something
Vehicle.Subscribe("Hit", function(self, impact_force, normal_impulse, impact_location, velocity)
-- Hit was called
end)
Type | Argument | Description |
---|---|---|
Vehicle | self | |
integer | impact_force | The intensity of the Hit normalized by the Vehicle's weight |
Vector | normal_impulse | The impulse direction it hits |
Vector | impact_location | The world 3D location of the impact |
Vector | velocity | The Vehicle velocity at the moment it hits |
CharacterEnter
​
Triggered when a Character fully enters the Vehicle
Vehicle.Subscribe("CharacterEnter", function(self, character, seat)
-- CharacterEnter was called
end)
CharacterLeave
​
Triggered when a Character fully leaves the Vehicle
Vehicle.Subscribe("CharacterLeave", function(self, character)
-- CharacterLeave was called
end)
CharacterAttemptEnter
​
Triggered when a Character attempts to enter the Vehicle
Return false to prevent it
Vehicle.Subscribe("CharacterAttemptEnter", function(self, character, seat)
-- CharacterAttemptEnter was called
end)
CharacterAttemptLeave
​
Triggered when a Character attempts to leave the Vehicle
Return false to prevent it
Vehicle.Subscribe("CharacterAttemptLeave", function(self, character)
-- CharacterAttemptLeave was called
end)
TakeDamage
​
Triggered when this Vehicle takes damage
Returnfalse
to cancel the damage (will still display animations, particles and apply impact forces)
Vehicle.Subscribe("TakeDamage", function(self, damage, bone, type, from_direction, instigator, causer)
-- TakeDamage was called
end)