Не работает код

RICJS29_JSJA

Участник
Автор темы
111
4
Версия MoonLoader
Другое
Lua:
local commands = {'Правило 1: Не упоминать о помидорной диете',
'Правило 2: Не упоминать нигде о помидорной диете',
'Правило 3: Участник крикнул "стоп", наелся, выдохся - диета приостановлена',
'Правило 4: Если оскорбили одного, то это не рофл, это статья 103 и штраф от 10 до 15 тысяч',
'Правило 5: Диета проходит без shit',
'Правило 6: Перед употреблением помидора, читать молитву помидорному монстру',
'Правило 7: Диета продолжается столько, сколько нужно',
'Правило 8: Тот, кто впервые сел на диету, первым съест помидор'}

local search = imgui.new.char[256]() -- создаём буфер для поиска

   imgui.InputTextWithHint('##Search',u8'Поиск',search,256) -- создаём инпут поле в котором будет вводится нужный текст
    imgui.SameLine()
    if imgui.Button(u8'Очистить') then -- создаём кнопку, чтобы быстро очищать инпут
        imgui.StrCopy(search,'') -- задаём в инпут пустоту
    end
    for k,v in pairs(commands) do -- парсим таблицу с текстом
        if u8(v):find(ffi.string(search)) then -- если значение с таблицы u8(v) совпадает со значением инпута ffi.string(search), то
            imgui.Text(u8(v)) -- отображаем текст
        end
    end
пытался добавить в
Lua:
  if wpora_window_state.v then
    imgui.SetNextWindowSize(imgui.ImVec2(500, 300), imgui.Cond.FirstUseEver)
    imgui.SetNextWindowPos(imgui.ImVec2((sw / 2), sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))

    imgui.Begin(u8'SCRIPT | Шпора | Версия: 1.0.0', wpora_window_state)

    imgui.End()
  end
а скрипт тупо не запускаеться, что делать?
 
Решение
Посмотреть вложение 235681
а как сделать чтоб текст искало?
используй imgui.Filter(он есть в имгуи)
Lua:
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8

local filter = imgui.ImGuiTextFilter()

local lines = { "текст прикол", "bbb1.c", "ccc1.c", "aaa2.cpp", "bbb2.cpp", "ccc2.cpp", "abc.h", "hello, world" }

function imgui.OnDrawFrame()
    imgui.Begin(u8'Основное окно')

    filter:Draw(u8"Поиск", 80)
    if filter:IsActive() then
        imgui.SameLine()
        if imgui.Button("Clear") then
            filter:Clear()
        end
    end
    for i = 1, #lines do
        if filter:PassFilter(u8(lines[i])) then
            imgui.Text(u8(lines[i]))
        end
    end...

#SameLine

Активный
421
38
У тебя код imgui или mimgui? Если mimgui то поменяй
Lua:
wpora_window_state.v
На
Lua:
wpora_window_state[0]
А если у тебя imgui то поменяй строку
Lua:
local search = imgui.new.char[256]()
Потому что это mimgui строка, с телефона точно не могу написать, но помоему там было imgui.Buffer.....

Вспомнил
Lua:
local search = imgui.ImBuffer(256)
 
Последнее редактирование:

RICJS29_JSJA

Участник
Автор темы
111
4
У тебя код imgui или mimgui? Если mimgui то поменяй wpora_window_state[0] вместо .v. а если у тебя imgui то поменяй строку
local search = imgui.new.char[256]()
Потому что это mimgui строка с телефона точно не могу написать, но помоему там было imgui.Buffer.....

Вспомнил
Lua:
local search = imgui.ImBuffer(256)
imgui

С лога:
[ML] (error) SCRIPT: C:\Games\btfl gta\moonloader\SCRIPT.lua:192: attempt to call field 'InputTextWithHint' (a nil value)
stack traceback:
C:\Games\btfl gta\moonloader\SCRIPT.lua:192: in function 'OnDrawFrame'
C:\Games\btfl gta\moonloader\lib\imgui.lua:1378: in function <C:\Games\btfl gta\moonloader\lib\imgui.lua:1367>
[ML] (error) SCRIPT: Script died due to an error. (13EE9A74)
 

#SameLine

Активный
421
38
imgui


С лога:
[ML] (error) SCRIPT: C:\Games\btfl gta\moonloader\SCRIPT.lua:192: attempt to call field 'InputTextWithHint' (a nil value)
stack traceback:
C:\Games\btfl gta\moonloader\SCRIPT.lua:192: in function 'OnDrawFrame'
C:\Games\btfl gta\moonloader\lib\imgui.lua:1378: in function <C:\Games\btfl gta\moonloader\lib\imgui.lua:1367>
[ML] (error) SCRIPT: Script died due to an error. (13EE9A74)
Обновил локал и так пишет?

Обновил локал и так пишет?
Если да попробуй
Lua:
local search = imgui.ImBuffer(256)()
Давно с imgui не работал
 

RICJS29_JSJA

Участник
Автор темы
111
4
Lua:
local search = imgui.ImBuffer(256)
local commands = [[1
2
3
4]]
  if wpora_window_state.v then
    imgui.SetNextWindowSize(imgui.ImVec2(500, 300), imgui.Cond.FirstUseEver)
    imgui.SetNextWindowPos(imgui.ImVec2((sw / 2), sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))

    imgui.Begin(fa['ICON_FA_USER_TIE'] .. u8' SCRIPT | Шпора ' .. fa['ICON_FA_USER_TIE'], wpora_window_state)
    
    
   imgui.InputTextWithHint('##Search',u8'Поиск',search,256)
   imgui.SameLine()
   if imgui.Button(u8'Очистить') then
       imgui.StrCopy(search,'')
   end
   for k,v in pairs(commands) do
       if u8(v):find(ffi.string(search)) then 
           imgui.Text(u8(v))
       end
   end

    imgui.End

Lua:
local search = imgui.ImBuffer(256)
local commands = [[1
2
3
4]]
  if wpora_window_state.v then
    imgui.SetNextWindowSize(imgui.ImVec2(500, 300), imgui.Cond.FirstUseEver)
    imgui.SetNextWindowPos(imgui.ImVec2((sw / 2), sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))

    imgui.Begin(fa['ICON_FA_USER_TIE'] .. u8' SCRIPT | Шпора ' .. fa['ICON_FA_USER_TIE'], wpora_window_state)
   
   
   imgui.InputTextWithHint('##Search',u8'Поиск',search,256)
   imgui.SameLine()
   if imgui.Button(u8'Очистить') then
       imgui.StrCopy(search,'')
   end
   for k,v in pairs(commands) do
       if u8(v):find(ffi.string(search)) then
           imgui.Text(u8(v))
       end
   end

    imgui.End
так все выставил и не работает

Обновил локал и так пишет?


Если да попробуй
Lua:
local search = imgui.ImBuffer(256)()
Давно с imgui не работал
не работает
 
Последнее редактирование:

#SameLine

Активный
421
38
Lua:
local search = imgui.ImBuffer(256)
local commands = [[1
2
3
4]]
  if wpora_window_state.v then
    imgui.SetNextWindowSize(imgui.ImVec2(500, 300), imgui.Cond.FirstUseEver)
    imgui.SetNextWindowPos(imgui.ImVec2((sw / 2), sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))

    imgui.Begin(fa['ICON_FA_USER_TIE'] .. u8' SCRIPT | Шпора ' .. fa['ICON_FA_USER_TIE'], wpora_window_state)
  
  
   imgui.InputTextWithHint('##Search',u8'Поиск',search,256)
   imgui.SameLine()
   if imgui.Button(u8'Очистить') then
       imgui.StrCopy(search,'')
   end
   for k,v in pairs(commands) do
       if u8(v):find(ffi.string(search)) then
           imgui.Text(u8(v))
       end
   end

    imgui.End


так все выставил и не работает


не работает
Добавь () к коду выше, я у тебя не вижу это
Lua:
local search = imgui.ImBuffer(256)()
попробуй
 

chromiusj

Известный
Модератор
5,656
3,959
Lua:
local commands = {'Правило 1: Не упоминать о помидорной диете',
'Правило 2: Не упоминать нигде о помидорной диете',
'Правило 3: Участник крикнул "стоп", наелся, выдохся - диета приостановлена',
'Правило 4: Если оскорбили одного, то это не рофл, это статья 103 и штраф от 10 до 15 тысяч',
'Правило 5: Диета проходит без shit',
'Правило 6: Перед употреблением помидора, читать молитву помидорному монстру',
'Правило 7: Диета продолжается столько, сколько нужно',
'Правило 8: Тот, кто впервые сел на диету, первым съест помидор'}

local search = imgui.new.char[256]() -- создаём буфер для поиска

   imgui.InputTextWithHint('##Search',u8'Поиск',search,256) -- создаём инпут поле в котором будет вводится нужный текст
    imgui.SameLine()
    if imgui.Button(u8'Очистить') then -- создаём кнопку, чтобы быстро очищать инпут
        imgui.StrCopy(search,'') -- задаём в инпут пустоту
    end
    for k,v in pairs(commands) do -- парсим таблицу с текстом
        if u8(v):find(ffi.string(search)) then -- если значение с таблицы u8(v) совпадает со значением инпута ffi.string(search), то
            imgui.Text(u8(v)) -- отображаем текст
        end
    end
пытался добавить в
Lua:
  if wpora_window_state.v then
    imgui.SetNextWindowSize(imgui.ImVec2(500, 300), imgui.Cond.FirstUseEver)
    imgui.SetNextWindowPos(imgui.ImVec2((sw / 2), sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))

    imgui.Begin(u8'SCRIPT | Шпора | Версия: 1.0.0', wpora_window_state)

    imgui.End()
  end
а скрипт тупо не запускаеться, что делать?
В имгуи нет функции текста с подсказкой,юзай кастомную функцию
 

#SameLine

Активный
421
38
В имгуи нет функции текста с подсказкой,юзай кастомную функцию
Вот я тоже думал так, но потом смотрю он какой-то код умудрился собрать, думаю ну может я imgui забыл
 

RICJS29_JSJA

Участник
Автор темы
111
4
В имгуи нет функции текста с подсказкой,юзай кастомную функцию
1711551587891.png

а как сделать чтоб текст искало?
 
Последнее редактирование:

chromiusj

Известный
Модератор
5,656
3,959
Посмотреть вложение 235681
а как сделать чтоб текст искало?
используй imgui.Filter(он есть в имгуи)
Lua:
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8

local filter = imgui.ImGuiTextFilter()

local lines = { "текст прикол", "bbb1.c", "ccc1.c", "aaa2.cpp", "bbb2.cpp", "ccc2.cpp", "abc.h", "hello, world" }

function imgui.OnDrawFrame()
    imgui.Begin(u8'Основное окно')

    filter:Draw(u8"Поиск", 80)
    if filter:IsActive() then
        imgui.SameLine()
        if imgui.Button("Clear") then
            filter:Clear()
        end
    end
    for i = 1, #lines do
        if filter:PassFilter(u8(lines[i])) then
            imgui.Text(u8(lines[i]))
        end
    end
    imgui.End()
end

function main()
    imgui.Process = true
end
пример кода выше
1711578271043.png

но в твоем случае ты используешь кастомную функцию, и это будет выглядеть как-то так:
Lua:
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8

local text = imgui.ImBuffer(256)
local commands = {'Правило 1: Не упоминать о помидорной диете',
'Правило 2: Не упоминать нигде о помидорной диете',
'Правило 3: Участник крикнул "стоп", наелся, выдохся - диета приостановлена',
'Правило 4: Если оскорбили одного, то это не рофл, это статья 103 и штраф от 10 до 15 тысяч',
'Правило 5: Диета проходит без shit',
'Правило 6: Перед употреблением помидора, читать молитву помидорному монстру',
'Правило 7: Диета продолжается столько, сколько нужно',
'Правило 8: Тот, кто впервые сел на диету, первым съест помидор'}
function imgui.OnDrawFrame()
    imgui.Begin(u8'Основное окно')
    imgui.NewInputText('##SearchBar', text, 300, u8'Поиск по списку', 2)

    if #text.v ~= 0 then
        for k,v in pairs(commands) do
            --imgui.Text(u8(v))
            if u8(v):lower():find(text.v:lower()) then
                imgui.Text(u8(v))
            end
        end
    else
        imgui.Text('nothing..')
    end
    imgui.End()
end

function main()
    imgui.Process = true
end
function imgui.NewInputText(lable, val, width, hint, hintpos)
    local hint = hint and hint or ''
    local hintpos = tonumber(hintpos) and tonumber(hintpos) or 1
    local cPos = imgui.GetCursorPos()
    imgui.PushItemWidth(width)
    local result = imgui.InputText(lable, val)
    if #val.v == 0 then
        local hintSize = imgui.CalcTextSize(hint)
        if hintpos == 2 then imgui.SameLine(cPos.x + (width - hintSize.x) / 2)
        elseif hintpos == 3 then imgui.SameLine(cPos.x + (width - hintSize.x - 5))
        else imgui.SameLine(cPos.x + 5) end
        imgui.TextColored(imgui.ImVec4(1.00, 1.00, 1.00, 0.40), tostring(hint))
    end
    imgui.PopItemWidth()
    return result
end
 
Последнее редактирование:
  • Нравится
Реакции: RICJS29_JSJA