StartPlayerTeleport
DocsStartPlayerTeleport(player, x, y, z, heading, teleportWithVehicle, findCollisionLand, p7)Description
Teleports the player to the given coordinates.
If findCollisionLand is true it will try to find the Z value for you, this however has a timeout of 100 frames.
When trying to find the Z value the native will take longer the higher the difference from the given Z to the ground, this combined with the timeout can cause the teleport to just teleport to the given Z value, so try to estimate the z value, so don't just pass in 1000.0.
Also if you're in a vehicle and teleportWithVehicle is true it will not find the Z value for you.
Parameters
| Name | Type | Description |
|---|---|---|
player | Player | — |
x | float | — |
y | float | — |
z | float | — |
heading | float | — |
teleportWithVehicle | BOOL | Teleports the player along with the vehicle they are in. |
findCollisionLand | BOOL | Attempt to find a ground coordinate at the given XY location; overriding the Z value. |
p7 | BOOL | — |
Quick Snippet: Get Coordinatesxyzheading
xyzheadingAdd 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 Playerplayer
playerUse this to get the local player ID or a target player's server ID.
-- Get the local player index (client-side)
local playerId = PlayerId()
-- Get the local player's server ID (for server events)
local serverId = GetPlayerServerId(playerId)
print("Player ID: " .. playerId)
print("Server ID: " .. serverId)
-- Get player ped from a server ID:
-- local targetPed = GetPlayerPed(GetPlayerFromServerId(targetServerId))Returns
voidThis native does not return a value.
Examples
local coords = vector3(100.0, 100.0, 50.0)
StartPlayerTeleport(PlayerId(), coords.x, coords.y, coords.z, 0.0, false, true, true)
while IsPlayerTeleportActive() do
Citizen.Wait(0)
end
--- If you would want to make 100% sure the ped is on the ground here you would have to do some additional checks here
--- Easiest would be a simple: GetEntityHeightAboveGround(PlayerPedId())