HELP onShowDialog Как заменить найденный старый текст новым текстом?

saradaken

Участник
Автор темы
41
6
Версия MoonLoader
Другое
привет
Если в скобках ищется '{FFFFFF}P: {B83434}%[(.-)%]' и я нахожу слово Женщина, можно ли показать Woman и вставить его в
imgui.textfont('{ffffff}gender: ' .. genders, samll_font)

Я отредактировал код. )
Lua:
        if genders == text:match(u8:decode("Женщина")) then
            genders = "woman"
        elseif genders:match(u8:decode("Мужчина")) then
            genders = "man"
               else
            sampAddChatMessage("notfound", -1)
        end


Lua:
local rentmoney
local accid , serverday , azcoins , username , genders

local statistics = {
    '{FFFFFF}Номер аккаунта:%s*{B83434}(%d+)',
    '{FFFFFF}Авторизация на сервере:%s*{B83434}(%d%d:%d%d %d%d%.%d%d%.%d%d%d%d)',
    '{FFFFFF}Текущее состояние счета:%s*{FFFF00}(%d+) AZ%-Coins',
    '{FFFFFF}Имя: {B83434}%[(%w+_%w+)%]',
    '{FFFFFF}Пол: {B83434}%[(.-)%]'
}

function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    currentDialogId = sampGetCurrentDialogId()
  
    if dialogId == 235 then
        if text:find(u8:decode(statistics[1])) then accid = text:match(u8:decode(statistics[1])) end
        if text:find(u8:decode(statistics[2])) then serverday = text:match(u8:decode(statistics[2])) end
        if text:find(u8:decode(statistics[3])) then azcoins = text:match(u8:decode(statistics[3])) end
        if text:find(u8:decode(statistics[4])) then username = text:match(u8:decode(statistics[4])) end
        if text:find(u8:decode(statistics[5])) then genders = text:match(u8:decode(statistics[5])) end
      
        if genders == text:match(u8:decode("Женщина")) then
            genders = "woman"
        elseif genders:match(u8:decode("Мужчина")) then 
            genders = "man"
               else
            sampAddChatMessage("notfound", -1)
        end

            sampAddChatMessage(genders, -1)
        mm_menu_stat[0] = true
    else
        mm_menu_stat[0] = false
    end

    return true
end





local STAT = imgui.OnFrame(function() return mm_menu_stat[0] end, function(player)

---------------------------------------- BeginMain ----------------------------------------

        imgui.SetNextWindowPos(imgui.ImVec2(sizeX / 2, sizeY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(410, 600), imgui.Cond.FirstUseEver)
      
        imgui.PushStyleColor(imgui.Col.WindowBg, imgui.ImVec4(0.050, 0.050, 0.050, 1.0))
        imgui.Begin("STAT", mm_menu_1,
                        imgui.WindowFlags.NoResize +
                        imgui.WindowFlags.NoScrollbar +
                        imgui.WindowFlags.NoTitleBar +
                        imgui.WindowFlags.NoCollapse
                    )
                      
        imgui.SetWindowFocus()
---------------------------------------- BeginChild 1 ----------------------------------------
        imgui.GetStyle().ChildRounding = 5
        imgui.PushStyleColor(imgui.Col.Border, imgui.ImVec4(0, 0, 0, 1))
        imgui.PushStyleColor(imgui.Col.ChildBg, imgui.ImVec4(0, 0, 0, 0.5))
        imgui.SetCursorPos(imgui.ImVec2(5, 5))

        -- เพิ่ม WindowFlags
        local flags = imgui.WindowFlags.NoResize +
                      imgui.WindowFlags.NoScrollbar +
                      imgui.WindowFlags.NoTitleBar +
                      imgui.WindowFlags.NoCollapse

        imgui.BeginChild("STAT_1", imgui.ImVec2(425, 25), false, flags)
        imgui.SetCursorPosY(imgui.GetCursorPosY() - 0.5)
        imgui.SetCursorPos(imgui.ImVec2(5, 5))
        imgui.textfont('{ffffff}เลือกการกระทำ', head_font)

        imgui.EndChild()
        imgui.PopStyleColor(2)
      
---------------------------------------- BeginChild 1 Emd ----------------------------------------     
      

---------------------------------------- BeginChild 2 ----------------------------------------     
        imgui.GetStyle().ChildRounding = 5
        imgui.PushStyleColor(imgui.Col.Border, imgui.ImVec4(0, 0, 0, 1))
        imgui.PushStyleColor(imgui.Col.ChildBg, imgui.ImVec4(0, 0, 0, 0.5))
        imgui.SetCursorPos(imgui.ImVec2(5, 35))

        local flags = imgui.WindowFlags.NoResize +
                      imgui.WindowFlags.NoScrollbar +
                      imgui.WindowFlags.NoTitleBar +
                      imgui.WindowFlags.NoCollapse

        imgui.BeginChild("STAT_2", imgui.ImVec2(400, 500), false, flags)
        imgui.SetCursorPos(imgui.ImVec2(0, 5))
      
        imgui.textfont('{ffffff}acc: ' .. accid, samll_font)
        imgui.textfont('{ffffff}server: ' .. serverday ,samll_font)
        imgui.textfont(string.format('{ffffff}donate: %d AZ Coins', azcoins), small_font)
        imgui.textfont('{ffffff}name ' .. username, samll_font)
        imgui.textfont('{ffffff}gender: ' .. genders, samll_font)
      
  
      
        imgui.NewLine() 


        imgui.EndChild()

---------------------------------------- BeginChild 2 Emd ----------------------------------------     

            imgui.SetCursorPosY(imgui.GetCursorPosY() +5)
            imgui.SetCursorPosX(imgui.GetCursorPosX() +70)


            if CustomButton("choose", imgui.ImVec2(100, 30),bottoms_font) then
                 openAllDialogs(true)
            end
            imgui.SameLine(0,30)
            if CustomButton("clse", imgui.ImVec2(100, 30),bottoms_font) then
                closeAllWindows(true)
            end
          
        imgui.End()
--------------------------------------- BeginMain Emd ---------------------------------------- 
return true
end)
 
Последнее редактирование: