Required Arguments

theComponent: A vehicle component (this is the frame name from the model file of the component you wish to modify)

Optional Arguments

base: A string representing what the returned position is relative to. It can be one of the following values:

parent: The position is relative to the parent component.

root: The position is relative to the root component.

world: The position is a world position.

Returns

Returns three floats indicating the position of the component, x, y and z respectively.

Example

Click to collapse [-]

This example gets the name and the position of the components and outputs it in the chat.

addCommandHandler("vcp", -- short for 'vehicle component position'
function()
local theVeh = getPedOccupiedVehicle(localPlayer)
local getComponent = getVehicleComponents(theVeh) -- returns table with all the components of the vehicle
if (theVeh) then
for k in pairs (getComponent) do
local x, y, z = getVehicleComponentPosition(theVeh, k)
outputChatBox("Position of "..k.." is"..x.." "..y.." "..z)
end
end
end
)

Click to collapse [-]

This example shows every components name in 3D(Only for streamedin vehicles)

local showComponents = false
bindKey("f5", "down", function() showComponents = not showComponents end)
addEventHandler("onClientRender", root,
function()
if (showComponents) then
for _, veh in pairs(getElementsByType("vehicle", root, true)) do
for compname in pairs(veh:getComponents()) do
local x, y = getScreenFromWorldPosition(veh:getComponentPosition(compname, "world"))
if (x) then
dxDrawText(compname, x, y, 0, 0, tocolor(255, 255, 255))
end
end
end
end
end
)