Полоска от персонажа к обьекту

Versaces

Активный
Автор темы
301
30
Салам, нужно чтобы от моего персонажа рисовалась полоска( как на рендерах) к зеленомым пикапам дома (1273) при появлении их в зоне видимости
 

Dmitriy Makarov

25.05.2021
Проверенный
2,484
1,114
Lua:
-- В начало
local font = renderCreateFont("Tahoma", 8, 5)


-- Беск. цикл
for _, v in pairs(getAllPickups()) do
    local minDist = 333
    local x, y, z = getPickupCoordinates(v)
    local pX, pY = convert3DCoordsToScreen(x, y, z)
    local mX, mY, mZ = getCharCoordinates(PLAYER_PED)
    local draw1, draw2 = convert3DCoordsToScreen(mX, mY, mZ)
    local dist = math.sqrt((x - mX)^2 + (y - mY)^2 + (z - mZ)^2)
    if dist < minDist then
        if isPointOnScreen(x, y, z, 1.0) then -- С радиусом поиграйся, если полоска с текстом рисуется только если пикап в центре экрана.
            renderDrawLine(draw1, draw2, pX, pY, 2.0, 0xFFFFFFFF)
            renderFontDrawText(font, string.format("Distance: %0.1fm", dist), pX, pY, -1)
        end
    end
end
 

Versaces

Активный
Автор темы
301
30
Lua:
-- В начало
local font = renderCreateFont("Tahoma", 8, 5)


-- Беск. цикл
for _, v in pairs(getAllPickups()) do
    local minDist = 333
    local x, y, z = getPickupCoordinates(v)
    local pX, pY = convert3DCoordsToScreen(x, y, z)
    local mX, mY, mZ = getCharCoordinates(PLAYER_PED)
    local draw1, draw2 = convert3DCoordsToScreen(mX, mY, mZ)
    local dist = math.sqrt((x - mX)^2 + (y - mY)^2 + (z - mZ)^2)
    if dist < minDist then
        if isPointOnScreen(x, y, z, 1.0) then -- С радиусом поиграйся, если полоска с текстом рисуется только если пикап в центре экрана.
            renderDrawLine(draw1, draw2, pX, pY, 2.0, 0xFFFFFFFF)
            renderFontDrawText(font, string.format("Distance: %0.1fm", dist), pX, pY, -1)
        end
    end
end
Почему то не робит