Помощь по луа скрипту

mane111

Участник
Автор темы
88
14
Короче чат Джпт сделал мне скрипт который может отображать количество проданных лицензий в автошколе в аризоне, он по идеи должен выводить окно в котором есть строки, он то включаеться, но окно не выводиться вот код:


код:
script_name("Лицензии с HUD")
script_author("ChatGPT")

local imgui = require 'imgui'
local sampev = require 'lib.samp.events'
local encoding = require 'encoding'
local bit = require 'bit'
encoding.default = 'CP1251'
local u8 = encoding.UTF8

local font = nil

local licenseStats = {
    ["Авто"] = 0,
    ["Мото"] = 0,
    ["Рыболовство"] = 0,
    ["Плавание"] = 0,
    ["Оружие"] = 0,
    ["Охота"] = 0,
    ["Раскопки"] = 0,
    ["Такси"] = 0,
    ["Полёты"] = 0,
}

local showWindow = true
local moveMode = false
local windowPos = imgui.ImVec2(20, 250)


local keywords = {
    {key = "авто", field = "Авто"},
    {key = "мото", field = "Мото"},
    {key = "рыбалк", field = "Рыболовство"},
    {key = "водного", field = "Плавание"},
    {key = "оружие", field = "Оружие"},
    {key = "охот", field = "Охота"},
    {key = "раскопк", field = "Раскопки"},
    {key = "такси", field = "Такси"},
    {key = "полет", field = "Полёты"},
    {key = "полёт", field = "Полёты"},
}

function sampev.onServerMessage(color, text)
    local text_l = text:lower()
    for _, item in ipairs(keywords) do
        if text_l:find(item.key) then
            licenseStats[item.field] = licenseStats[item.field] + 1
            break
        end
    end
end

function main()
    while not isSampAvailable() do wait(100) end

    font = imgui.CreateFont("moonloader/fonts/Roboto-Regular.ttf", 16, imgui.fontConfig())

    sampRegisterChatCommand("hud", function()
        showWindow = not showWindow
        sampAddChatMessage("[HUD] Отображение: " .. (showWindow and "вкл" or "выкл"), -1)
    end)

    sampRegisterChatCommand("scalehud", function()
        moveMode = not moveMode
        sampAddChatMessage("[HUD] Режим перемещения: " .. (moveMode and "включён" or "выключен"), -1)
    end)

    while true do
        wait(0)
    end
end

function imgui.OnDrawFrame()
    if not showWindow then return end

    local size = imgui.ImVec2(220, 220)
    local pos = windowPos

    local draw_list = imgui.GetForegroundDrawList()
    local col_bg = imgui.ImColor(0, 0, 0, 0.6)
    draw_list:AddRectFilled(pos, imgui.ImVec2(pos.x + size.x, pos.y + size.y), col_bg, 8)

    local baseFlags = imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize + imgui.WindowFlags.AlwaysAutoResize
    local flags

    if moveMode then
        flags = bit.band(baseFlags, bit.bnot(imgui.WindowFlags.NoMove))
    else
        flags = bit.bor(baseFlags, imgui.WindowFlags.NoMove)
    end

    imgui.SetNextWindowPos(pos, imgui.Cond.Always)
    imgui.SetNextWindowSize(size, imgui.Cond.Always)

    imgui.Begin("Лицензии", nil, flags)

    if font then imgui.PushFont(font) end

    img

Помогите пж

Что то типа такого должно быть:

Снимок экрана 2025-08-29 003142.png



Но без Значков а то я хз где их искать
 
  • Нравится
Реакции: FineApple

neronedadaz?

Участник
25
13
Так попроси что бы завершил код тебе, раз на то дело пошло. У тебя код не закончен и само собой нету закрытия OnDrawFrame
imgui.End()
end (закрытие функции).
Одним словом к херам надо переписывать, chatGPT калла накидал 😃
 
  • Нравится
Реакции: FineApple

mane111

Участник
Автор темы
88
14
Так попроси что бы завершил код тебе, раз на то дело пошло. У тебя код не закончен и само собой нету закрытия OnDrawFrame
imgui.End()
end (закрытие функции).
Одним словом к херам надо переписывать, chatGPT калла накидал 😃
блин, я вообще не шарю, я думал чат джпт сделает нормальное, а по итогу кал(
 
  • Влюблен
Реакции: FineApple

fsrxvdd

Активный
259
66
Короче чат Джпт сделал мне скрипт который может отображать количество проданных лицензий в автошколе в аризоне, он по идеи должен выводить окно в котором есть строки, он то включаеться, но окно не выводиться вот код:


код:
script_name("Лицензии с HUD")
script_author("ChatGPT")

local imgui = require 'imgui'
local sampev = require 'lib.samp.events'
local encoding = require 'encoding'
local bit = require 'bit'
encoding.default = 'CP1251'
local u8 = encoding.UTF8

local font = nil

local licenseStats = {
    ["Авто"] = 0,
    ["Мото"] = 0,
    ["Рыболовство"] = 0,
    ["Плавание"] = 0,
    ["Оружие"] = 0,
    ["Охота"] = 0,
    ["Раскопки"] = 0,
    ["Такси"] = 0,
    ["Полёты"] = 0,
}

local showWindow = true
local moveMode = false
local windowPos = imgui.ImVec2(20, 250)


local keywords = {
    {key = "авто", field = "Авто"},
    {key = "мото", field = "Мото"},
    {key = "рыбалк", field = "Рыболовство"},
    {key = "водного", field = "Плавание"},
    {key = "оружие", field = "Оружие"},
    {key = "охот", field = "Охота"},
    {key = "раскопк", field = "Раскопки"},
    {key = "такси", field = "Такси"},
    {key = "полет", field = "Полёты"},
    {key = "полёт", field = "Полёты"},
}

function sampev.onServerMessage(color, text)
    local text_l = text:lower()
    for _, item in ipairs(keywords) do
        if text_l:find(item.key) then
            licenseStats[item.field] = licenseStats[item.field] + 1
            break
        end
    end
end

function main()
    while not isSampAvailable() do wait(100) end

    font = imgui.CreateFont("moonloader/fonts/Roboto-Regular.ttf", 16, imgui.fontConfig())

    sampRegisterChatCommand("hud", function()
        showWindow = not showWindow
        sampAddChatMessage("[HUD] Отображение: " .. (showWindow and "вкл" or "выкл"), -1)
    end)

    sampRegisterChatCommand("scalehud", function()
        moveMode = not moveMode
        sampAddChatMessage("[HUD] Режим перемещения: " .. (moveMode and "включён" or "выключен"), -1)
    end)

    while true do
        wait(0)
    end
end

function imgui.OnDrawFrame()
    if not showWindow then return end

    local size = imgui.ImVec2(220, 220)
    local pos = windowPos

    local draw_list = imgui.GetForegroundDrawList()
    local col_bg = imgui.ImColor(0, 0, 0, 0.6)
    draw_list:AddRectFilled(pos, imgui.ImVec2(pos.x + size.x, pos.y + size.y), col_bg, 8)

    local baseFlags = imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize + imgui.WindowFlags.AlwaysAutoResize
    local flags

    if moveMode then
        flags = bit.band(baseFlags, bit.bnot(imgui.WindowFlags.NoMove))
    else
        flags = bit.bor(baseFlags, imgui.WindowFlags.NoMove)
    end

    imgui.SetNextWindowPos(pos, imgui.Cond.Always)
    imgui.SetNextWindowSize(size, imgui.Cond.Always)

    imgui.Begin("Лицензии", nil, flags)

    if font then imgui.PushFont(font) end

    img

Помогите пж

Что то типа такого должно быть:

Посмотреть вложение 277451


Но без Значков а то я хз где их искать
значки: https://www.blast.hk/threads/151050/
ты походу не до конца код скопировал, ибо у тебя не дописано
 
  • Нравится
Реакции: FineApple