NetVehicle
This is the server-side class for NetVehicle.
Class Instance Methods
Inherited methods from NetObject
NetObject:SetData(key: string, value: any, broadcast: bool): boolean
Sets generic data on the object. Value must be a number, string, bool, vec2, vec3, vec4, or quat. If broadcast is true, the data will be synchronized to all clients. Returns true if the data was set successfully, false otherwise (for unsupported types).
Parameters:
key: string- The key to store the data undervalue: any- The value to store (must be a supported type)broadcast: bool- Whether to synchronize the data to all clients
Returns: boolean - true if the data was set successfully, false otherwise
Example:
-- Set data and broadcast to all clients
local success = object:SetData("serverValue", 100, true)
if success then
print("Data set and broadcast successfully")
else
print("Failed to set data")
end
-- Set data only on server
local success = object:SetData("localValue", 50, false)
NetObject:SetHealth(health: number): void
Sets the health of the network object. This change is synchronized to all players.
Parameters:
health: number- The new health value for the object
Example:
-- Set object health to 100
object:SetHealth(100)
NetObject:SetPosition(position: vec3): void
Sets the position of the network object. This change is synchronized to all players.
Parameters:
position: vec3- The new position for the object
Example:
-- Teleport object to a new position
object:SetPosition(vec3(100, 50, 200))
NetObject:SetRotation(rotation: quat): void
Sets the rotation of the network object. This change is synchronized to all players.
Parameters:
rotation: quat- The new rotation for the object
Example:
-- Rotate object to face north
object:SetRotation(quat(0, 0, 1, 0))
NetObject:SetVelocity(velocity: vec3): void
Sets the velocity of the network object. This change is synchronized to all players.
Parameters:
velocity: vec3- The new velocity for the object
Example:
-- Launch object forward at high speed
object:SetVelocity(vec3(100, 0, 0))
NetObject:SetAngularVelocity(velocity: vec3): void
Sets the angular velocity (rotation speed around each axis) of the network object. This change is synchronized to all players. Note: This method works only for anything but NetPlayer.
Parameters:
velocity: vec3- The new angular velocity for the object (in radians per second)
Example:
-- Make object spin around Y axis
object:SetAngularVelocity(vec3(0, 5, 0))
-- Stop rotation
object:SetAngularVelocity(vec3(0, 0, 0))
NetObject:GetPosition(): vec3
Returns the position of the object.
Returns: vec3 - The position of the object
Example:
local position = object:GetPosition()
print("Object position: " .. tostring(position))
NetObject:GetRotation(): quat
Returns the rotation of the object.
Returns: quat - The rotation of the object
Example:
local rotation = object:GetRotation()
print("Object rotation: " .. tostring(rotation))
NetObject:GetEulerRotation(): vec3
Returns the Euler rotation of the object.
Returns: vec3 - Euler rotation
Example:
local eulerRotation = object:GetEulerRotation()
print("Object euler rotation: " .. tostring(eulerRotation))
NetObject:GetHealth(): number
Returns the current health of the object.
Returns: number - The current health of the object
Example:
local health = object:GetHealth()
print("Object health: " .. health)
NetObject:GetMaxHealth(): number
Returns the maximum health of the object.
Returns: number - The maximum health of the object
Example:
local maxHealth = object:GetMaxHealth()
print("Object max health: " .. maxHealth)
NetObject:GetVelocity(): vec3
Returns the velocity of the object.
Returns: vec3 - The velocity of the object
Example:
local velocity = object:GetVelocity()
print("Object velocity: " .. tostring(velocity))
NetObject:GetAngularVelocity(): vec3
Returns the angular velocity of the object.
Returns: vec3 - The angular velocity of the object
NetObject:GetNetId(): number
Returns the network ID of the object.
Returns: number - The network ID of the object
Example:
local netId = object:GetNetId()
print("Object network ID: " .. netId)
NetObject:GetData(key: string): any
Gets generic data from the object.
Parameters:
key: string- The key of the data to retrieve
Returns: any - The stored data value
Example:
local value = object:GetData("customValue")
print("Retrieved value: " .. tostring(value))
NetObject:AsPlayer(): NetPlayer | nil
Returns a NetPlayer instance if the object is a player, otherwise returns nil. This is a safe way to cast a NetObject to a NetPlayer.
Returns: NetPlayer instance if the object is a player, nil otherwise
Example:
-- Safe casting to NetPlayer
local netObject = someNetObject -- Assume this is a NetObject instance
local player = netObject:AsPlayer()
if player then
print("This is a player: " .. player:GetNick())
else
print("This is not a player")
end
NetObject:AsVehicle(): NetVehicle | nil
Returns a NetVehicle instance if the object is a vehicle, otherwise returns nil. This is a safe way to cast a NetObject to a NetVehicle.
Returns: NetVehicle instance if the object is a vehicle, nil otherwise
Example:
-- Safe casting to NetVehicle
local netObject = someNetObject -- Assume this is a NetObject instance
local vehicle = netObject:AsVehicle()
if vehicle then
print("This is a vehicle at position: " .. tostring(vehicle:GetPosition()))
else
print("This is not a vehicle")
end
NetObject:AsMountedGun(): NetMountedGun | nil
Returns a NetMountedGun instance if the object is a mounted gun, otherwise returns nil. This is a safe way to cast a NetObject to a NetMountedGun.
Returns: NetMountedGun instance if the object is a mounted gun, nil otherwise
Example:
-- Safe casting to NetMountedGun
local netObject = someNetObject -- Assume this is a NetObject instance
local mountedGun = netObject:AsMountedGun()
if mountedGun then
print("This is a mounted gun with health: " .. mountedGun:GetHealth())
else
print("This is not a mounted gun")
end
NetObject:AsRigidObject(): NetRigidObject | nil
Returns a NetRigidObject instance if the object is a rigid object, otherwise returns nil. This is a safe way to cast a NetObject to a NetRigidObject.
Returns: NetRigidObject instance if the object is a rigid object, nil otherwise
Example:
-- Safe casting to NetRigidObject
local netObject = someNetObject -- Assume this is a NetObject instance
local rigidObject = netObject:AsRigidObject()
if rigidObject then
print("This is a rigid object with velocity: " .. tostring(rigidObject:GetVelocity()))
else
print("This is not a rigid object")
end
NetObject:AsNPC(): NetNPC | nil
Returns a NetNPC instance if the object is an NPC, otherwise returns nil. This is a safe way to cast a NetObject to a NetNPC.
Returns: NetNPC instance if the object is an NPC, nil otherwise
Example:
-- Safe casting to NetNPC
local netObject = someNetObject -- Assume this is a NetObject instance
local npc = netObject:AsNPC()
if npc then
print("This is an NPC with ID: " .. npc:GetId())
else
print("This is not an NPC")
end
NetObject:AsTether(): NetTether | nil
Returns a NetTether instance if the object is a tether, otherwise returns nil. This is a safe way to cast a NetObject to a NetTether.
Returns: NetTether instance if the object is a tether, nil otherwise
Example:
-- Safe casting to NetTether
local netObject = someNetObject -- Assume this is a NetObject instance
local tether = netObject:AsTether()
if tether then
print("This is a tether")
else
print("This is not a tether")
end
NetObject:GetType(): NetObjectType
Returns the network object type. Use the NetObjectType enum to compare types.
Returns: The type of the network object as a NetObjectType enum value
Example:
-- Check object type
local netObject = someNetObject -- Assume this is a NetObject instance
local objectType = netObject:GetType()
if objectType == NetObjectType.Player then
print("This is a player object")
elseif objectType == NetObjectType.Vehicle then
print("This is a vehicle object")
end
NetVehicle:GetId(): number
Returns the ID of the vehicle.
Returns: number - The unique ID of the vehicle
Example:
local vehicleId = vehicle:GetId()
print("Vehicle ID: " .. vehicleId)
NetVehicle:GetVelocity(): vec3
Gets the vector3 velocity of the vehicle.
Returns: vec3 - The velocity vector of the vehicle
Example:
local velocity = vehicle:GetVelocity()
print("Vehicle velocity: " .. tostring(velocity))
NetVehicle:IsWheelDrifting(wheel: number, threshold: number): boolean
Returns true if the specified wheel is currently drifting, false otherwise. Wheel is the index of the wheel to check, and threshold is the threshold where it returns true. Threshold should be a value between 0 and 1 where a low value will detect drifting more easily.
Parameters:
wheel: number- The index of the wheel to check (0-based)threshold: number- The threshold for detecting drift (0-1)
Returns: boolean - true if the wheel is drifting, false otherwise
Example:
local isDrifting = vehicle:IsWheelDrifting(0, 0.5)
if isDrifting then
print("Front wheel is drifting!")
end
NetVehicle:GetNumberOfWheelsOnGround(): number
Returns the number of wheels of the vehicle that are currently touching the ground.
Returns: number - The number of wheels on the ground
Example:
local wheelsOnGround = vehicle:GetNumberOfWheelsOnGround()
print("Wheels on ground: " .. wheelsOnGround)
NetVehicle:SetCloak(enabled: bool): void
Enables or disables cloaked mode. When cloaked mode is enabled, the vehicle will become mostly invisible with a shine on them.
Parameters:
enabled: bool- Whether to enable or disable cloaked mode
Example:
-- Enable cloaked mode
vehicle:SetCloak(true)
-- Disable cloaked mode
vehicle:SetCloak(false)
NetVehicle:IsCloaked(): boolean
Returns true if the vehicle is currently cloaked, false otherwise.
Returns: boolean - true if the vehicle is cloaked, false otherwise
NetVehicle:GetDirt(): float
Returns the current dirt level of the vehicle as a float value.
Returns: float - The dirt level of the vehicle
NetVehicle:GetPrimaryColor(): vec3
Returns the primary color of the vehicle as a vec3 RGB value.
Returns: vec3 - The primary RGB color of the vehicle
NetVehicle:GetSecondaryColor(): vec3
Returns the secondary color of the vehicle as a vec3 RGB value.
Returns: vec3 - The secondary RGB color of the vehicle
NetVehicle:GetTertiaryColor(): vec3
Returns the tertiary color of the vehicle as a vec3 RGB value.
Returns: vec3 - The tertiary RGB color of the vehicle
NetVehicle:GetSpecularGloss(): float
Returns the specular gloss value of the vehicle's material.
Returns: float - The specular gloss value of the vehicle
NetVehicle:GetClearCoat(): float
Returns the clear coat value of the vehicle's material.
Returns: float - The clear coat value of the vehicle
NetVehicle:GetMetallic(): float
Returns the metallic value of the vehicle's material.
Returns: float - The metallic value of the vehicle
NetVehicle:GetPartState(part: VehiclePart): VehiclePartState
Returns the current state of the specified vehicle part.
Parameters:
part: VehiclePart- The part to get the state of
Returns: VehiclePartState - The state of the vehicle part
NetVehicle:SetPrimaryColor(r: number, g: number, b: number): void
Sets the primary color of the vehicle. RGB values should be floats between 0 and 1.
Parameters:
r: number- Red component (0-1)g: number- Green component (0-1)b: number- Blue component (0-1)
Example:
-- Set primary color to red
vehicle:SetPrimaryColor(1.0, 0.0, 0.0)
-- Set primary color to blue
vehicle:SetPrimaryColor(0.0, 0.0, 1.0)
NetVehicle:SetSecondaryColor(r: number, g: number, b: number): void
Sets the secondary color of the vehicle. RGB values should be floats between 0 and 1.
Parameters:
r: number- Red component (0-1)g: number- Green component (0-1)b: number- Blue component (0-1)
Example:
-- Set secondary color to green
vehicle:SetSecondaryColor(0.0, 1.0, 0.0)
NetVehicle:SetTertiaryColor(r: number, g: number, b: number): void
Sets the tertiary color of the vehicle. RGB values should be floats between 0 and 1.
Parameters:
r: number- Red component (0-1)g: number- Green component (0-1)b: number- Blue component (0-1)
Example:
-- Set tertiary color to yellow
vehicle:SetTertiaryColor(1.0, 1.0, 0.0)
NetVehicle:SetSpecularGloss(value: number): void
Sets the specular gloss of the vehicle. Value should be a float between 0 and 1.
Parameters:
value: number- The specular gloss value (0-1)
Example:
-- Set high specular gloss for a shiny look
vehicle:SetSpecularGloss(0.9)
NetVehicle:SetClearCoat(value: number): void
Sets the clear coat value of the vehicle. Value should be a float between 0 and 1.
Parameters:
value: number- The clear coat value (0-1)
Example:
-- Set clear coat for extra shine
vehicle:SetClearCoat(0.8)
NetVehicle:SetMetallic(value: number): void
Sets the metallic value of the vehicle. Value should be a float between 0 and 1.
Parameters:
value: number- The metallic value (0-1)
Example:
-- Set metallic finish
vehicle:SetMetallic(0.7)
NetVehicle:SetDirt(value: number): void
Sets the dirt level of the vehicle. Value should be a float between 0 and 1, although higher values can make the vehicle extremely dirty.
Parameters:
value: number- The dirt level (0-1, can be higher)
Example:
-- Make vehicle slightly dirty
vehicle:SetDirt(0.3)
-- Make vehicle very dirty
vehicle:SetDirt(2.0)
NetVehicle:SetPartState(part: ArticulatedPartsSlot, state: ArticulatedPartState): void
Sets the state of a specific articulated vehicle part (such as doors, trunk, hood, etc.).
Parameters:
part: ArticulatedPartsSlot- The part slot to modifystate: ArticulatedPartState- The state to set the part to
Example:
-- Open the vehicle's hood
vehicle:SetPartState(ArticulatedPartsSlot.Hood, ArticulatedPartState.Open)
-- Close all doors
vehicle:SetPartState(ArticulatedPartsSlot.Doors, ArticulatedPartState.Closed)
NetVehicle:SetLocked(locked: boolean): void
Sets whether the vehicle is locked or unlocked.
Parameters:
locked: boolean- Whether the vehicle should be locked (true) or unlocked (false)