Lua Config

enyag

Известный
Автор темы
345
12
Версия MoonLoader
.026-beta
почему код не робит? после релога не выводит то, что в textdraw1 и textdraw2
Lua:
        if third_window_state.v then
            local sw, sh = getScreenResolution()
            imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.CondFirstUseEver, imgui.ImVec2(0.5, 0.5))
            imgui.SetNextWindowSize(imgui.ImVec2(1250, 343), imgui.Cond.FirstUseEver)
        imgui.Begin(u8"Смена лого и ника", third_window_state, imgui.WindowFlags.NoResize)
        imgui.InputText(u8'Введите первый текстдрав(Pears)', pearsBufferText)
        imgui.InputText(u8'Введите второй текстдрав(Project)', projectBufferText)
        pears = pearsBufferText.v
        project = projectBufferText.v
        imgui.Text(u8'Сейчас вы можете выбрать подходящий цвет для вашего лого.\nОчень жаль что так мало цветов, но что есть, то есть :(')
        if imgui.CollapsingHeader(u8'Цвета первого текстдрава(Pears)', imgui.ImVec2(100, 50)) then
            if imgui.ColorEdit3(u8'Выбор цвета 1 текстдрава', colortd) then
                clrtd = join_argb(0, colortd.v[1] * 255, colortd.v[2] * 255, colortd.v[3] * 255)
                local x1, y1 = sampTextdrawGetLetterSizeAndColor(2)
                local newcolortd = '0xFF' .. ('%06X'):format(clrtd)
                sampTextdrawSetLetterSizeAndColor(2, x1, y1, newcolortd)
            end
    end
        if imgui.CollapsingHeader(u8'Цвета второго текстдрава(Project)', imgui.ImVec2(100, 50)) then
            imgui.SameLine()
            imgui.TextQuestion(u8'Позволяет изменить цвет первого текстдрава')
            if imgui.ColorEdit3(u8'Выбор цвета 2 текстдрава', colortd_2) then
                clrtd_2 = join_argb(0, colortd_2.v[1] * 255, colortd_2.v[2] * 255, colortd_2.v[3] * 255)
                local x2, y2 = sampTextdrawGetLetterSizeAndColor(3)
                local newcolortd = '0xFF' .. ('%06X'):format(clrtd_2)
                sampTextdrawSetLetterSizeAndColor(3, x2, y2, newcolortd)
            end



if imgui.Button(u8'Сохранить', imgui.ImVec2(90, 25)) then
                mainIni.textdraws.textdraw1 = pears
                mainIni.textdraws.textdraw2 = project
                if inicfg.save(mainIni, directIni) then
                end
                if sampTextdrawIsExists(2) and sampTextdrawIsExists(3) then
                    sampTextdrawSetString(2, mainIni.textdraws.textdraw1)
                    sampTextdrawSetString(3, mainIni.textdraws.textdraw2)
                    sampAddChatMessage("Успешно сохранено, первый текстдрав "..mainIni.textdraws.textdraw1..". Второй текстдрав "..mainIni.textdraws.textdraw2, -1)
                end
            end
 

Fott

Простреленный
3,461
2,374
почему код не робит? после релога не выводит то, что в textdraw1 и textdraw2
Lua:
        if third_window_state.v then
            local sw, sh = getScreenResolution()
            imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.CondFirstUseEver, imgui.ImVec2(0.5, 0.5))
            imgui.SetNextWindowSize(imgui.ImVec2(1250, 343), imgui.Cond.FirstUseEver)
        imgui.Begin(u8"Смена лого и ника", third_window_state, imgui.WindowFlags.NoResize)
        imgui.InputText(u8'Введите первый текстдрав(Pears)', pearsBufferText)
        imgui.InputText(u8'Введите второй текстдрав(Project)', projectBufferText)
        pears = pearsBufferText.v
        project = projectBufferText.v
        imgui.Text(u8'Сейчас вы можете выбрать подходящий цвет для вашего лого.\nОчень жаль что так мало цветов, но что есть, то есть :(')
        if imgui.CollapsingHeader(u8'Цвета первого текстдрава(Pears)', imgui.ImVec2(100, 50)) then
            if imgui.ColorEdit3(u8'Выбор цвета 1 текстдрава', colortd) then
                clrtd = join_argb(0, colortd.v[1] * 255, colortd.v[2] * 255, colortd.v[3] * 255)
                local x1, y1 = sampTextdrawGetLetterSizeAndColor(2)
                local newcolortd = '0xFF' .. ('%06X'):format(clrtd)
                sampTextdrawSetLetterSizeAndColor(2, x1, y1, newcolortd)
            end
    end
        if imgui.CollapsingHeader(u8'Цвета второго текстдрава(Project)', imgui.ImVec2(100, 50)) then
            imgui.SameLine()
            imgui.TextQuestion(u8'Позволяет изменить цвет первого текстдрава')
            if imgui.ColorEdit3(u8'Выбор цвета 2 текстдрава', colortd_2) then
                clrtd_2 = join_argb(0, colortd_2.v[1] * 255, colortd_2.v[2] * 255, colortd_2.v[3] * 255)
                local x2, y2 = sampTextdrawGetLetterSizeAndColor(3)
                local newcolortd = '0xFF' .. ('%06X'):format(clrtd_2)
                sampTextdrawSetLetterSizeAndColor(3, x2, y2, newcolortd)
            end



if imgui.Button(u8'Сохранить', imgui.ImVec2(90, 25)) then
                mainIni.textdraws.textdraw1 = pears
                mainIni.textdraws.textdraw2 = project
                if inicfg.save(mainIni, directIni) then
                end
                if sampTextdrawIsExists(2) and sampTextdrawIsExists(3) then
                    sampTextdrawSetString(2, mainIni.textdraws.textdraw1)
                    sampTextdrawSetString(3, mainIni.textdraws.textdraw2)
                    sampAddChatMessage("Успешно сохранено, первый текстдрав "..mainIni.textdraws.textdraw1..". Второй текстдрав "..mainIni.textdraws.textdraw2, -1)
                end
            end
Ты делаешь проверку на сохранение, но не сохраняешь.
if inicfg.save(mainIni, directIni) then end поменяй на inicfg.save(mainIni, directIni)
 
  • Bug
Реакции: Cosmo

Cosmo

Известный
Друг
653
2,723
Ты делаешь проверку на сохранение, но не сохраняешь.
if inicfg.save(mainIni, directIni) then end поменяй на inicfg.save(mainIni, directIni)
Без разницы, у него просто нет ничего в условии. Сохранение всё равно пройдёт таким способом
Lua:
if inicfg.save(cfg, 'namecfg') then
    sampAddChatMessage('Настройки сохранены!')
end
 

CaJlaT

07.11.2024 14:55
Модератор
2,831
2,661
всё и до этого сохраняется, просто sampTextdrawSetString не берет из cfg файла то что нужно и текстдрав не заменяется
Так он у тебя заменяется только при нажатии на кнопку 🧐
 

enyag

Известный
Автор темы
345
12
просто в цикл сунь
да всё сработало, а как цвет сохранить также?
надо чтобы и цвет сохранялся

Lua:
-- main  
    inicfg.load(mainIni.config.textdraw1, directIni)
    inicfg.load(mainIni.config.textdraw2, directIni)
    sampTextdrawSetString(2, mainIni.config.textdraw1)
    sampTextdrawSetString(3, mainIni.config.textdraw2)



-- imguiondrawframe

      
    if third_window_state.v then
            local sw, sh = getScreenResolution()
            imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.CondFirstUseEver, imgui.ImVec2(0.5, 0.5))
            imgui.SetNextWindowSize(imgui.ImVec2(1250, 343), imgui.Cond.FirstUseEver)
        imgui.Begin(u8"Смена лого и ника", third_window_state, imgui.WindowFlags.NoResize)
        if sampTextdrawIsExists(2) and sampTextdrawIsExists(3) then
        imgui.InputText(u8'Введите первый текстдрав(Pears)', pearsBufferText)
        imgui.InputText(u8'Введите второй текстдрав(Project)', projectBufferText)
        pears = pearsBufferText.v
        project = projectBufferText.v
        imgui.Text(u8'Сейчас вы можете выбрать подходящий цвет для вашего лого.\nОчень жаль что так мало цветов, но что есть, то есть :(')
        if imgui.CollapsingHeader(u8'Цвета первого текстдрава(Pears)', imgui.ImVec2(100, 50)) then
            if imgui.ColorEdit3(u8'Выбор цвета 1 текстдрава', colortd) then
                clrtd = join_argb(0, colortd.v[1] * 255, colortd.v[2] * 255, colortd.v[3] * 255)
                local x1, y1 = sampTextdrawGetLetterSizeAndColor(2)
                local newcolortd = '0xFF' .. ('%06X'):format(clrtd)
                sampTextdrawSetLetterSizeAndColor(2, x1, y1, newcolortd)
                sampTextdrawSetString(2, mainIni.config.textdraw1)
            end
    end
        if imgui.CollapsingHeader(u8'Цвета второго текстдрава(Project)', imgui.ImVec2(100, 50)) then
            imgui.SameLine()
            imgui.TextQuestion(u8'Позволяет изменить цвет первого текстдрава')
            if imgui.ColorEdit3(u8'Выбор цвета 2 текстдрава', colortd_2) then
                clrtd_2 = join_argb(0, colortd_2.v[1] * 255, colortd_2.v[2] * 255, colortd_2.v[3] * 255)
                local x2, y2 = sampTextdrawGetLetterSizeAndColor(3)
                local newcolortd = '0xFF' .. ('%06X'):format(clrtd_2)
                sampTextdrawSetLetterSizeAndColor(3, x2, y2, newcolortd)
                sampTextdrawSetString(3, mainIni.config.textdraw2)
            end
            
    end
            if imgui.Button(u8'Сохранить', imgui.ImVec2(90, 25)) then
                mainIni.config.textdraw1=pears
                mainIni.config.textdraw2=project
                inicfg.save(mainIni, directIni)
                    sampAddChatMessage("{349eeb}[Pears Script]: Успешно сохранено, первый текстдрав "..mainIni.config.textdraw1..". Второй текстдрав "..mainIni.config.textdraw2, -1)
                end
            end
            --[[imgui.Separator()
            if imgui.ColorEdit3(u8'Выбор цвета никнейма', colorr) then
                clrr = join_argb(0, colorr.v[1] * 255, colorr.v[2] * 255, colorr.v[3] * 255)
            end
            imgui.SameLine()
            imgui.TextQuestion(u8'Позволяет изменить цвет вашего никнейма\nИзмененный цвет видите только вы сами.')]]
            imgui.End()
        end
    end
end
так вот, как это сделать?
 
Последнее редактирование: