Скрипт крашит при посадке в машину

Порожденный

Активный
Автор темы
353
55
Нейролоп:
require 'lib.moonloader'

script_author('TyphoonWw')
script_name('Vehicle-Info-Hud')
script_version('1.1')

-- Настройки из HPHud_NoCarHP.lua
razmer_teksta    = 8
cvet_hp_igroka   = 0xAAFF2222
cvet_ap_igroka   = 0xFFFFFFFF
cvet_veh_info    = 0xFFFFFF00 -- Желтый цвет для инфо о машине
shrift           = 'Verdana'

local font_flag  = require('moonloader').font_flag
local font_name  = shrift
local font       = renderCreateFont(font_name, razmer_teksta, font_flag.BOLD + font_flag.SHADOW)

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    
    while true do
        wait(0)

        -- Получаем координаты игрока для отрисовки текста
        local pX, pY, pZ = getCharCoordinates(PLAYER_PED)
        local ppX, ppY = convert3DCoordsToScreen(pX, pY, pZ)

        -- Отображение HP игрока[cite: 1]
        if getCharHealth(PLAYER_PED) > 0 then
            renderFontDrawText(font, getCharHealth(PLAYER_PED), ppX, ppY, cvet_hp_igroka)
        end

        -- Отображение брони игрока[cite: 1]
        if getCharArmour(PLAYER_PED) > 0 then
            renderFontDrawText(font, getCharArmour(PLAYER_PED), ppX, ppY + 10, cvet_ap_igroka)
        end

        -- НОВОЕ: Информация о машине
        if isCharInAnyCar(PLAYER_PED) then
            local veh = storeCarCharIsInNoSave(PLAYER_PED)
            local model = getCarModel(veh)
            local name = getNameOfVehicleModel(model) -- Название модели
            local result, id = sampGetVehicleIdByHandle(veh) -- ID машины в SAMP
            
            -- Проверка замка (0 - открыта, другое - закрыта)
            local lockStatus = isVehicleCarLock(veh) and "Закрыта" or "Открыта"
            
            -- Формируем строку
            local infoText = string.format("%s [%s] | %s", name, result and id or "N/A", lockStatus)
            
            -- Выводим текст чуть ниже брони
            renderFontDrawText(font, infoText, ppX, ppY + 20, cvet_veh_info)
        end
    end
end
 
Решение
lua:
-- Настройки из HPHud_NoCarHP.lua
razmer_teksta    = 8
cvet_hp_igroka   = 0xAAFF2222
cvet_ap_igroka   = 0xFFFFFFFF
cvet_veh_info    = 0xFFFFFF00 -- Желтый цвет для инфо о машине
shrift           = 'Verdana'

local font_flag  = require('moonloader').font_flag
local font_name  = shrift
local font       = renderCreateFont(font_name, razmer_teksta, font_flag.BOLD + font_flag.SHADOW)

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    
    while true do
        wait(0)

        -- Получаем координаты игрока для отрисовки текста
        local pX, pY, pZ = getCharCoordinates(PLAYER_PED)
        local ppX, ppY = convert3DCoordsToScreen(pX, pY, pZ)...

AntonAnton123

Известный
212
107
lua:
-- Настройки из HPHud_NoCarHP.lua
razmer_teksta    = 8
cvet_hp_igroka   = 0xAAFF2222
cvet_ap_igroka   = 0xFFFFFFFF
cvet_veh_info    = 0xFFFFFF00 -- Желтый цвет для инфо о машине
shrift           = 'Verdana'

local font_flag  = require('moonloader').font_flag
local font_name  = shrift
local font       = renderCreateFont(font_name, razmer_teksta, font_flag.BOLD + font_flag.SHADOW)

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    
    while true do
        wait(0)

        -- Получаем координаты игрока для отрисовки текста
        local pX, pY, pZ = getCharCoordinates(PLAYER_PED)
        local ppX, ppY = convert3DCoordsToScreen(pX, pY, pZ)

        -- Отображение HP игрока[cite: 1]
        if getCharHealth(PLAYER_PED) > 0 then
            renderFontDrawText(font, getCharHealth(PLAYER_PED), ppX, ppY, cvet_hp_igroka)
        end

        -- Отображение брони игрока[cite: 1]
        if getCharArmour(PLAYER_PED) > 0 then
            renderFontDrawText(font, getCharArmour(PLAYER_PED), ppX, ppY + 10, cvet_ap_igroka)
        end

        -- НОВОЕ: Информация о машине
        if isCharInAnyCar(PLAYER_PED) then
            local veh = storeCarCharIsInNoSave(PLAYER_PED)
            local model = getCarModel(veh)
            local name = getNameOfVehicleModel(model) -- Название модели
            local result, id = sampGetVehicleIdByCarHandle(veh) -- ID машины в SAMP
            
            -- Проверка замка (0 - открыта, другое - закрыта)
           local lockStatus = getCarDoorLockStatus(veh) and "Открыта" or "Закрыта"
            
            -- Формируем строку
            local infoText = string.format("%s [%s] | %s", name, result and id or "N/A", lockStatus)
            
            -- Выводим текст чуть ниже брони
            renderFontDrawText(font, infoText, ppX, ppY + 20, cvet_veh_info)
        end
    end
end

так пробуй

Нейролоп:
require 'lib.moonloader'

script_author('TyphoonWw')
script_name('Vehicle-Info-Hud')
script_version('1.1')

-- Настройки из HPHud_NoCarHP.lua
razmer_teksta    = 8
cvet_hp_igroka   = 0xAAFF2222
cvet_ap_igroka   = 0xFFFFFFFF
cvet_veh_info    = 0xFFFFFF00 -- Желтый цвет для инфо о машине
shrift           = 'Verdana'

local font_flag  = require('moonloader').font_flag
local font_name  = shrift
local font       = renderCreateFont(font_name, razmer_teksta, font_flag.BOLD + font_flag.SHADOW)

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
   
    while true do
        wait(0)

        -- Получаем координаты игрока для отрисовки текста
        local pX, pY, pZ = getCharCoordinates(PLAYER_PED)
        local ppX, ppY = convert3DCoordsToScreen(pX, pY, pZ)

        -- Отображение HP игрока[cite: 1]
        if getCharHealth(PLAYER_PED) > 0 then
            renderFontDrawText(font, getCharHealth(PLAYER_PED), ppX, ppY, cvet_hp_igroka)
        end

        -- Отображение брони игрока[cite: 1]
        if getCharArmour(PLAYER_PED) > 0 then
            renderFontDrawText(font, getCharArmour(PLAYER_PED), ppX, ppY + 10, cvet_ap_igroka)
        end

        -- НОВОЕ: Информация о машине
        if isCharInAnyCar(PLAYER_PED) then
            local veh = storeCarCharIsInNoSave(PLAYER_PED)
            local model = getCarModel(veh)
            local name = getNameOfVehicleModel(model) -- Название модели
            local result, id = sampGetVehicleIdByHandle(veh) -- ID машины в SAMP
           
            -- Проверка замка (0 - открыта, другое - закрыта)
            local lockStatus = isVehicleCarLock(veh) and "Закрыта" or "Открыта"
           
            -- Формируем строку
            local infoText = string.format("%s [%s] | %s", name, result and id or "N/A", lockStatus)
           
            -- Выводим текст чуть ниже брони
            renderFontDrawText(font, infoText, ppX, ppY + 20, cvet_veh_info)
        end
    end
end
 
Последнее редактирование:
  • Нравится
Реакции: Порожденный