цвета

westbounds

Новичок
Автор темы
12
1
Версия MoonLoader
.026-beta
как сделать чтобы цвета квадратов менялись вместе с худом, они при заходе в игру уже изначально белые
 

Вложения

  • ColorHUD - Copy.lua
    3.2 KB · Просмотры: 8
Решение
default colors:
local colors = {
    ["Money"] = imgui.new.float[4](0.20392, 0.40784, 0.14902, 1),
    ["Health"] = imgui.new.float[4](0.70588, 0.10196, 0.10980, 1),
    ["Wanted"] = imgui.new.float[4](0.55686, 0.37647, 0.07451, 1)
}
У тебя изначально были выставлены цвета на белый, я предоставил код стандартных цветов концепции худа GTA SA, таким образом в Imgui по умолчанию будут стоять эти цвета, но, чтобы динамически менять цвета в процессе переключения сохраненных конфигов(которые у тебя лежат в colorhud.json)
Тебе стоит написать функцию по конвертировании m, h, w в RGBA0-1. Да и вообще я бы посоветовал описать стандартные значения в RGB и после конвертировать их в RGBA0-1, так же и сохранять их.

1718649825823.png

newgen

Новичок
10
0
как сделать чтобы цвета квадратов менялись вместе с худом, они при заходе в игру уже изначально белые
не понимаю, чтобы у тебя абсолютно все цвета были одни и те же? используй одну и ту же переменную в таком случае
lua:
script_author("manul")

local ffi = require("ffi")
local imgui = require("mimgui")
local memory = require("memory")

local state = imgui.new.bool(false)
local name = imgui.new.char[25]("")

local colors = {
    ["Color"] = imgui.new.float[4](1, 1, 1, 1)
}

local list = {}

sampRegisterChatCommand("colorhud", function() state[0] = not state[0] end)

function get_color_u32(arr)
    return imgui.GetColorU32Vec4(imgui.ImVec4(arr[0], arr[1], arr[2], arr[3]))
end

function set_colors(color)
    memory.write(0xBAB230, color, 4, true)
end

function disable_other()
    for key, val in pairs(list) do
        val.s = false
    end
end

function load_list()
    local f = io.open(getWorkingDirectory() .. "\\colorhud.json", "r")
    if f ~= nil then
        list = decodeJson(f:read("*a"))
        f:close()
    end
end

function save_json()
    local f = io.open(getWorkingDirectory() .. "\\colorhud.json", "w")
    f:write(encodeJson(list))
    f:close()
end

function main()
    load_list()

    for key, val in pairs(list) do
        if val.s then
            set_colors(val.m, val.h, val.w)
        end
    end

    imgui.OnInitialize(init_handler)
    imgui.OnFrame(function() return state[0] end, draw_handler)
end

function init_handler()
    imgui.SwitchContext()
    local style = imgui.GetStyle()

    style.WindowPadding = imgui.ImVec2(4.00, 4.00)
    style.ItemSpacing = imgui.ImVec2(3.00, 4.00)

    style.WindowRounding = 0
    style.ChildRounding  = 0
    style.FrameRounding  = 0
end

function draw_handler(player)
    imgui.SetNextWindowSize(imgui.ImVec2(400, 425), imgui.Cond.FirstUseEver)
    imgui.Begin("Interface colors", state, imgui.WindowFlags.NoResize)

    imgui.InputTextWithHint("###name", "Config name", name, 25)

    imgui.SameLine()

    if imgui.Button("Add", imgui.ImVec2(imgui.GetContentRegionAvail().x / 2, 20.0)) and ffi.string(name) ~= "" then
        disable_other()
        list[ffi.string(name)] = {
            m = get_color_u32(colors["Color"]),
            s = true,
        }
        save_json()
    end

    imgui.SameLine()
    
    if imgui.Button("Delete", imgui.ImVec2(imgui.GetContentRegionAvail().x, 20.0)) and ffi.string(name) ~= "" then
        list[ffi.string(name)] = nil
        save_json()
    end

    for key, _ in pairs(colors) do
        if imgui.ColorEdit4(key, colors[key], imgui.ColorEditFlags.AlphaBar) then
            set_colors(get_color_u32(colors["Color"]), get_color_u32(colors["Color"]), get_color_u32(colors["Color"]))
        end
    end

    imgui.BeginChild("###list", imgui.GetContentRegionAvail(), true)

    for key, val in pairs(list) do
        if imgui.Selectable(key, val.s) then
            disable_other()
            set_colors(val.m, val.h, val.w)
            val.s = true
            save_json()
        end
    end

    imgui.EndChild()

    imgui.End()
end
 

westbounds

Новичок
Автор темы
12
1
не понимаю, чтобы у тебя абсолютно все цвета были одни и те же? используй одну и ту же переменную в таком случае
нет, смотри
этот скрипт должен менять цвета худа, но при заходе в игру они уже белые, и если начать менять какой то пункт то весь худ станет белым. он не берет уже изначально из худа цвета, и если листать сохраненные настройки то они тоже не меняют цвета.

если уж совсем просто, то мне надо чтобы цвета в меню совпадали с цветом на худе
1718569603700.png
 

newgen

Новичок
10
0
нет, смотри
этот скрипт должен менять цвета худа, но при заходе в игру они уже белые, и если начать менять какой то пункт то весь худ станет белым. он не берет уже изначально из худа цвета, и если листать сохраненные настройки то они тоже не меняют цвета.

если уж совсем просто, то мне надо чтобы цвета в меню совпадали с цветом на худе
Посмотреть вложение 243650
у тебя просто скрипт не работает, или что?
 

зач хейт

Потрачен
114
43
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
нет, смотри
этот скрипт должен менять цвета худа, но при заходе в игру они уже белые, и если начать менять какой то пункт то весь худ станет белым. он не берет уже изначально из худа цвета, и если листать сохраненные настройки то они тоже не меняют цвета.

если уж совсем просто, то мне надо чтобы цвета в меню совпадали с цветом на худе
Посмотреть вложение 243650
эээхз спизди адреса памяти и меняй як хочеш
 

westbounds

Новичок
Автор темы
12
1
у тебя просто скрипт не работает, или что?
он работает, он меняет цвета, но почему они в игре изначально БЕЛЫЕ?
цвет хп не красный как должен быть, то же самое с другими пунктами, они белые и они меняются, но они белые
да боже, засунь скрипт себе в гта и посмотри просто и ты поймешь в чем проблема
 

newgen

Новичок
10
0
он работает, он меняет цвета, но почему они в игре изначально БЕЛЫЕ?
цвет хп не красный как должен быть, то же самое с другими пунктами, они белые и они меняются, но они белые
да боже, засунь скрипт себе в гта и посмотри просто и ты поймешь в чем проблема
у тебя цвет не сохраняется или что? я реально не понимаю суть твоей проблемы
 

Mamashin

Известный
1,094
588
default colors:
local colors = {
    ["Money"] = imgui.new.float[4](0.20392, 0.40784, 0.14902, 1),
    ["Health"] = imgui.new.float[4](0.70588, 0.10196, 0.10980, 1),
    ["Wanted"] = imgui.new.float[4](0.55686, 0.37647, 0.07451, 1)
}
У тебя изначально были выставлены цвета на белый, я предоставил код стандартных цветов концепции худа GTA SA, таким образом в Imgui по умолчанию будут стоять эти цвета, но, чтобы динамически менять цвета в процессе переключения сохраненных конфигов(которые у тебя лежат в colorhud.json)
Тебе стоит написать функцию по конвертировании m, h, w в RGBA0-1. Да и вообще я бы посоветовал описать стандартные значения в RGB и после конвертировать их в RGBA0-1, так же и сохранять их.

1718649825823.png