local scx, scy = guiGetScreenSize()
local myObject, myElement, guiWindow = nil, nil, nil
local myRotation = {180, 180, 0}
function showPlayerSkin()
local x1, y1, z1 = getCameraMatrix()
myElement = createPed(getElementModel(getLocalPlayer()), x1, y1, z1)
myObject = exports.object_preview:createObjectPreview(myElement, 0, 0, 0, 1, 1, 1, 1, true, true, false)
guiWindow = guiCreateWindow((scx / 2) - 100, (scy / 2) - 100, 200, 200, "Test area", false, false)
guiSetAlpha(guiWindow, 0.05)
end
function updatePlayerSkin()
if isElement(myElement) then
destroyElement(myElement)
end
local x1, y1, z1 = getCameraMatrix()
myElement = createPed(getElementModel(getLocalPlayer()), x1, y1, z1)
exports.object_preview:setObjectElement(myObject, myElement)
end
addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), showPlayerSkin)
addEventHandler("onClientElementModelChange", root, function(changedElement)
if changedElement == getLocalPlayer() then
updatePlayerSkin()
end
end)
addEventHandler("onClientVehicleEnter", root, function(vehicle, seat)
if source == getLocalPlayer() and seat == 0 then
if isElement(myElement) then
destroyElement(myElement)
end
local x1, y1, z1 = getCameraMatrix()
myElement = createVehicle(getElementModel(vehicle), x1, y1, z1)
exports.object_preview:setObjectElement(myObject, myElement)
end
end)
addEventHandler("onClientVehicleExit", root, function(vehicle, seat)
if source == getLocalPlayer() and seat == 0 then
updatePlayerSkin()
end
end)
addEventHandler("onClientPreRender", root, function()
if not myElement or not myObject then return end
local projPosX, projPosY = guiGetPosition(guiWindow, true)
local projSizeX, projSizeY = guiGetSize(guiWindow, true)
exports.object_preview:setRotation(myObject, myRotation[1], myRotation[2], myRotation[3])
exports.object_preview:setProjection(myObject, projPosX, projPosY, projSizeX, projSizeY, true, true)
end, true, "high")
addEventHandler("onClientResourceStop", getResourceRootElement(getThisResource()), function()
exports.object_preview:destroyObjectPreview(myObject)
end)