Передвижение статистики

shadow80962

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

Lua:
local stats_settings =
{
    moving_stats = new.bool(false),
    position_X = new.int(cfg.stats.position_X),
    position_Y = new.int(cfg.stats.position_Y),
}

function main()
    while true do
        wait(0)
       
        if stats_settings.moving_stats[0] then
            stats_settings.position_X[0], stats_settings.position_Y[0] = getCursorPos()
            stats_settings.position_X[0] = stats_settings.position_X[0] + 1
            stats_settings.position_Y[0] = stats_settings.position_Y[0] + 1

            if isKeyDown(VK_LBUTTON) then
                cfg.stats.position_X = stats_settings.position_X[0] + 1
                cfg.stats.position_Y = stats_settings.position_Y[0] + 1
                inicfg.save(cfg, directConfig)
                sampAddChatMessage("[Редактирование]{FFFFFF} Позиция была успешно сохранена.", 0x2DF61C)
                stats_settings.moving_stats[0] = false
            end
        end
       
    end
end

-- Кнопка
            if imgui.Button(fa.ICON_FA_ARROWS_ALT .. u8' Редактировать позицию на экране', imgui.ImVec2(-1, 25)) then
                sampAddChatMessage("[Редактирование]{FFFFFF} Позиция редактируется, для сохранения нажмите ЛКМ в нужной позиции.", 0x2DF61C)
                lua_thread.create(function() stats_settings.moving_stats[0] = true end)
            end

-- Окно
local window_stats = imgui.OnFrame(
    function() return stats_settings.show_stats end,
    function(player)
        player.HideCursor = true
        imgui.SetNextWindowPos(imgui.ImVec2(stats_settings.position_X[0], stats_settings.position_Y[0]), imgui.Cond.FirstUseEver,imgui.ImVec2(0.5,0.5))
 

UBP

Технический специалист
Проверенный
376
265
Убери imgui.ImVec2(0.5,0.5),
Советую проверять на изменение позиции окна от предыдущего и автоматически сохранять.
Lua:
if imgui.GetWindowsPos().x ~= lastX then --LastX значение из конфига
   LastX = imgui.GetWindowsPos().x
   LastY = imgui.GetWindowsPos().y
   --сохраняшь
end