Рендер текста на экране и привязка его к автомобилю

user1241

Активный
Автор темы
410
43
Версия MoonLoader
.026-beta
Вот, проблемка - текст не на машине. Пытался исправить ии - не получилос.
Lua:
local font = nil

function main()
    while not isSampAvailable() do wait(0) end
    font = renderCreateFont('Segoe UI', 10, 5)

    while true do
        wait(0)

        for _, veh in ipairs(getAllVehicles()) do
            local result, serverId = sampGetVehicleIdByCarHandle(veh)

            if result then
                local vx, vy, vz = getCarCoordinates(veh)
                local px, py, pz = getCharCoordinates(PLAYER_PED)
                local dist = getDistanceBetweenCoords3d(px, py, pz, vx, vy, vz)

                if dist <= 20 then
                    local modelId = getCarModel(veh)
                    local vx, vy, vz = getCarCoordinates(veh)
                    local onScreen, sx, sy = convert3DCoordsToScreen(vx, vy, vz)

                    if onScreen then
                        local text = string.format('[Model: %d]\n[Serve: %d]', modelId, serverId)
                        renderFontDrawText(font, text, sx, sy, 0xFFFFFFFF, true)
                    end
                end
            end
        end
    end
end

@Cosmo, увидел у тебя в тулсе примерно такую же штуку, где отображается название авто и ID, сможешь, пожалуйста, помочь?
 

Вложения

  • 1784743498024.png
    1784743498024.png
    938.4 KB · Просмотры: 33
Последнее редактирование:
Решение
Вот, проблемка - текст не на машине. Пытался исправить ии - не получилос.
Lua:
local font = nil

function main()
    while not isSampAvailable() do wait(0) end
    font = renderCreateFont('Segoe UI', 10, 5)

    while true do
        wait(0)

        for _, veh in ipairs(getAllVehicles()) do
            local result, serverId = sampGetVehicleIdByCarHandle(veh)

            if result then
                local vx, vy, vz = getCarCoordinates(veh)
                local px, py, pz = getCharCoordinates(PLAYER_PED)
                local dist = getDistanceBetweenCoords3d(px, py, pz, vx, vy, vz)

                if dist <= 20 then
                    local modelId = getCarModel(veh)
                    local vx, vy, vz =...

Masayuki

Участник
96
38
Вот, проблемка - текст не на машине. Пытался исправить ии - не получилос.
Lua:
local font = nil

function main()
    while not isSampAvailable() do wait(0) end
    font = renderCreateFont('Segoe UI', 10, 5)

    while true do
        wait(0)

        for _, veh in ipairs(getAllVehicles()) do
            local result, serverId = sampGetVehicleIdByCarHandle(veh)

            if result then
                local vx, vy, vz = getCarCoordinates(veh)
                local px, py, pz = getCharCoordinates(PLAYER_PED)
                local dist = getDistanceBetweenCoords3d(px, py, pz, vx, vy, vz)

                if dist <= 20 then
                    local modelId = getCarModel(veh)
                    local vx, vy, vz = getCarCoordinates(veh)
                    local onScreen, sx, sy = convert3DCoordsToScreen(vx, vy, vz)

                    if onScreen then
                        local text = string.format('[Model: %d]\n[Serve: %d]', modelId, serverId)
                        renderFontDrawText(font, text, sx, sy, 0xFFFFFFFF, true)
                    end
                end
            end
        end
    end
end

@Cosmo, увидел у тебя в тулсе примерно такую же штуку, где отображается название авто и ID, сможешь, пожалуйста, помочь?
convert3DCoordsToScreen возвращает только x, y, в остальном вроде всё ок
 

AntonAnton123

Известный
210
104
Вот, проблемка - текст не на машине. Пытался исправить ии - не получилос.
Lua:
local font = nil

function main()
    while not isSampAvailable() do wait(0) end
    font = renderCreateFont('Segoe UI', 10, 5)

    while true do
        wait(0)

        for _, veh in ipairs(getAllVehicles()) do
            local result, serverId = sampGetVehicleIdByCarHandle(veh)

            if result then
                local vx, vy, vz = getCarCoordinates(veh)
                local px, py, pz = getCharCoordinates(PLAYER_PED)
                local dist = getDistanceBetweenCoords3d(px, py, pz, vx, vy, vz)

                if dist <= 20 then
                    local modelId = getCarModel(veh)
                    local vx, vy, vz = getCarCoordinates(veh)
                    local onScreen, sx, sy = convert3DCoordsToScreen(vx, vy, vz)

                    if onScreen then
                        local text = string.format('[Model: %d]\n[Serve: %d]', modelId, serverId)
                        renderFontDrawText(font, text, sx, sy, 0xFFFFFFFF, true)
                    end
                end
            end
        end
    end
end

@Cosmo, увидел у тебя в тулсе примерно такую же штуку, где отображается название авто и ID, сможешь, пожалуйста, помочь?
lua:
local font = nil

function main()
    while not isSampAvailable() do wait(0) end
    font = renderCreateFont('Segoe UI', 10, 5)

    while true do
        wait(0)

        for _, veh in ipairs(getAllVehicles()) do
            local result, serverId = sampGetVehicleIdByCarHandle(veh)

            if result then
                local vx, vy, vz = getCarCoordinates(veh)
                local px, py, pz = getCharCoordinates(PLAYER_PED)
                local dist = getDistanceBetweenCoords3d(px, py, pz, vx, vy, vz)

                if dist <= 20 then
                    local modelId = getCarModel(veh)
sx, sy = convert3DCoordsToScreen(vx, vy, vz)

if isCarOnScreen(veh) then
                        local text = string.format('[Model: %d]\n[Serve: %d]', modelId, serverId)
                        renderFontDrawText(font, text, sx, sy, 0xFFFFFFFF, true)
                    end
                end
            end
        end
    end
end

пробуй