SetEntityRotation
DocsSetEntityRotation(entity, pitch, roll, yaw, rotationOrder, bDeadCheck)Description
Introduced in build 323
Sets the rotation of a specified entity in the game world.
Parameters
| Name | Type | Description |
|---|---|---|
entity | Entity | The entity to rotate. |
pitch | float | The pitch (X-axis) rotation in degrees. |
roll | float | The roll (Y-axis) rotation in degrees. |
yaw | float | The yaw (Z-axis) rotation in degrees. |
rotationOrder | int | Specifies the order in which yaw, pitch, and roll are applied, see [`GET_ENTITY_ROTATION`](#\_0xAFBD61CC738D9EB9) for the available rotation orders. |
bDeadCheck | BOOL | Usually set to `true`. Determines whether to check if the entity is dead before applying the rotation. |
Quick Snippet: Get Coordinatesyaw
yawAdd this command to your client script to retrieve precise locations in-game.
-- Add this to your client.lua. Type /pos in-game to copy coords.
RegisterCommand('pos', function()
local ped = PlayerPedId()
local coords = GetEntityCoords(ped)
local heading = GetEntityHeading(ped)
local output = string.format("vector4(%.2f, %.2f, %.2f, %.2f)", coords.x, coords.y, coords.z, heading)
print(output)
TriggerEvent('chat:addMessage', { args = { '^4[COORD]^0', output } })
end)Quick Snippet: Get Entityentity
entityUse this to obtain an entity handle from the player's aim or crosshair.
-- Get the entity the player is aiming at
local ped = PlayerPedId()
local hit, entity = GetEntityPlayerIsFreeAimingAt(PlayerId())
if hit and entity ~= 0 then
print("Entity: " .. entity)
print("Model: " .. GetEntityModel(entity))
print("Type: " .. GetEntityType(entity)) -- 1=Ped, 2=Vehicle, 3=Object
endReturns
voidThis native does not return a value.
Examples
Official
-- Example of rotating a vehicle 360 degrees
RegisterCommand('360', function()
local playerPed = PlayerPedId() -- Get the player's Ped
local vehicle = GetVehiclePedIsIn(playerPed, false) -- Get the vehicle the player is currently in.
if not vehicle or not DoesEntityExist(vehicle) then
print("You are not in a vehicle")
return
end
local rot = GetEntityRotation(vehicle, 2)
local roll, pitch, yaw = rot.x, rot.y, rot.z
local finalYaw = yaw + 360
local steps = 20 -- Reduced the number of steps so each rotation is larger
-- Function to perform the rotation gradually
local function doRotation()
local currentYaw = yaw
-- Loop to adjust the rotation in steps
for i = 1, steps do
Citizen.Wait(20) -- Increases the delay between each adjustment to make the animation slower
currentYaw = currentYaw + (360 / steps) -- Increments the rotation
if currentYaw >= finalYaw then
currentYaw = finalYaw
end
-- Apply the current rotation
SetEntityRotation(vehicle, roll, pitch, currentYaw % 360, 2, true)
if currentYaw == finalYaw then
break -- Stops the loop once the rotation is complete
end
end
end
-- Execute the rotation in a coroutine to not block the main thread
Citizen.CreateThread(doRotation)
end, false)