local key = require 'vkeys'
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
local main_window_state = imgui.ImBool(false)
local test_text_buffer = imgui.ImBuffer(256)
local butt = {
['xyi'] = 'xyi - xz',
['xyiznai'] = 'xyiznai - xz',
['tevirp'] = 'tevirp - privet',
['krumnach'] = 'krumnach согл?',
['leninkracava'] = 'leninkracava, а почему бы нет?',
['mashina'] = 'ленинград - mashina',
['stalinstaralca'] = 'stalinstaralca кто не согл тот гей',
['BMW'] = 'какое BMW'
}
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end
while true do wait(0)
if...
local key = require 'vkeys'
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
local main_window_state = imgui.ImBool(false)
local test_text_buffer = imgui.ImBuffer(256)
local butt = {
['xyi'] = 'xyi',
['xyiznai'] = 'xyiznai',
['tevirp'] = 'tevirp',
['krumnach'] = 'krumnach',
['leninkracava'] = 'leninkracava',
['mashina'] = 'mashina',
['stalinstaralca'] = 'stalinstaralca',
['BMW'] = 'BMW'
}
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end
while true do wait(0)
if wasKeyPressed(key.VK_O) then main_window_state.v = not main_window_state.v end
imgui.Process = main_window_state.v
end
end
function imgui.OnDrawFrame()
resX, resY = getScreenResolution()
if main_window_state.v then
imgui.SetNextWindowPos(imgui.ImVec2(resX / 2, resY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.Begin("XZ", main_window_state, imgui.WindowFlags.AlwaysAutoResize )
imgui.InputText(u8'Что ищем?', test_text_buffer)
for i,k in pairs(butt) do
if i:find(test_text_buffer.v) then
imgui.Button(i)
end
end
imgui.End()
end
end
Да , спасибо большое 3 дня искал, не мог найти как примерно это сделатьТак?
Lua:local key = require 'vkeys' local imgui = require 'imgui' local encoding = require 'encoding' encoding.default = 'CP1251' u8 = encoding.UTF8 local main_window_state = imgui.ImBool(false) local test_text_buffer = imgui.ImBuffer(256) local butt = { ['xyi'] = 'xyi', ['xyiznai'] = 'xyiznai', ['tevirp'] = 'tevirp', ['krumnach'] = 'krumnach', ['leninkracava'] = 'leninkracava', ['mashina'] = 'mashina', ['stalinstaralca'] = 'stalinstaralca', ['BMW'] = 'BMW' } function main() if not isSampLoaded() or not isSampfuncsLoaded() then return end while not isSampAvailable() do wait(100) end while true do wait(0) if wasKeyPressed(key.VK_O) then main_window_state.v = not main_window_state.v end imgui.Process = main_window_state.v end end function imgui.OnDrawFrame() resX, resY = getScreenResolution() if main_window_state.v then imgui.SetNextWindowPos(imgui.ImVec2(resX / 2, resY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) imgui.Begin("XZ", main_window_state, imgui.WindowFlags.AlwaysAutoResize ) imgui.InputText(u8'Что ищем?', test_text_buffer) for i,k in pairs(butt) do if k:find(test_text_buffer.v) then imgui.Button(k) end end imgui.End() end end
Просто есть ещё 1 вопросик - можно ли к этим кнопкам привязать - "sampSetCurrentDialogEditboxText"Так?
Lua:local key = require 'vkeys' local imgui = require 'imgui' local encoding = require 'encoding' encoding.default = 'CP1251' u8 = encoding.UTF8 local main_window_state = imgui.ImBool(false) local test_text_buffer = imgui.ImBuffer(256) local butt = { ['xyi'] = 'xyi', ['xyiznai'] = 'xyiznai', ['tevirp'] = 'tevirp', ['krumnach'] = 'krumnach', ['leninkracava'] = 'leninkracava', ['mashina'] = 'mashina', ['stalinstaralca'] = 'stalinstaralca', ['BMW'] = 'BMW' } function main() if not isSampLoaded() or not isSampfuncsLoaded() then return end while not isSampAvailable() do wait(100) end while true do wait(0) if wasKeyPressed(key.VK_O) then main_window_state.v = not main_window_state.v end imgui.Process = main_window_state.v end end function imgui.OnDrawFrame() resX, resY = getScreenResolution() if main_window_state.v then imgui.SetNextWindowPos(imgui.ImVec2(resX / 2, resY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) imgui.Begin("XZ", main_window_state, imgui.WindowFlags.AlwaysAutoResize ) imgui.InputText(u8'Что ищем?', test_text_buffer) for i,k in pairs(butt) do if k:find(test_text_buffer.v) then imgui.Button(k) end end imgui.End() end end
local key = require 'vkeys'
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
local main_window_state = imgui.ImBool(false)
local test_text_buffer = imgui.ImBuffer(256)
local butt = {
['xyi'] = 'xyi - xz',
['xyiznai'] = 'xyiznai - xz',
['tevirp'] = 'tevirp - privet',
['krumnach'] = 'krumnach согл?',
['leninkracava'] = 'leninkracava, а почему бы нет?',
['mashina'] = 'ленинград - mashina',
['stalinstaralca'] = 'stalinstaralca кто не согл тот гей',
['BMW'] = 'какое BMW'
}
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end
while true do wait(0)
if wasKeyPressed(key.VK_O) then main_window_state.v = not main_window_state.v end
imgui.Process = main_window_state.v
end
end
function imgui.OnDrawFrame()
resX, resY = getScreenResolution()
if main_window_state.v then
imgui.SetNextWindowPos(imgui.ImVec2(resX / 2, resY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.Begin("XZ", main_window_state, imgui.WindowFlags.AlwaysAutoResize )
imgui.InputText(u8'Что ищем?', test_text_buffer)
for i,k in pairs(butt) do
if i:find(test_text_buffer.v) then
if imgui.Button(i) then
sampSetCurrentDialogEditboxText(k)-- будет вводить то что идет после = в таблице
end
end
end
imgui.End()
end
end
Слушай такое дело, так как у меня текст на руском должен быть в названии Кнопки. При поиске он не видит русскийLua:local key = require 'vkeys' local imgui = require 'imgui' local encoding = require 'encoding' encoding.default = 'CP1251' u8 = encoding.UTF8 local main_window_state = imgui.ImBool(false) local test_text_buffer = imgui.ImBuffer(256) local butt = { ['xyi'] = 'xyi - xz', ['xyiznai'] = 'xyiznai - xz', ['tevirp'] = 'tevirp - privet', ['krumnach'] = 'krumnach согл?', ['leninkracava'] = 'leninkracava, а почему бы нет?', ['mashina'] = 'ленинград - mashina', ['stalinstaralca'] = 'stalinstaralca кто не согл тот гей', ['BMW'] = 'какое BMW' } function main() if not isSampLoaded() or not isSampfuncsLoaded() then return end while not isSampAvailable() do wait(100) end while true do wait(0) if wasKeyPressed(key.VK_O) then main_window_state.v = not main_window_state.v end imgui.Process = main_window_state.v end end function imgui.OnDrawFrame() resX, resY = getScreenResolution() if main_window_state.v then imgui.SetNextWindowPos(imgui.ImVec2(resX / 2, resY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) imgui.Begin("XZ", main_window_state, imgui.WindowFlags.AlwaysAutoResize ) imgui.InputText(u8'Что ищем?', test_text_buffer) for i,k in pairs(butt) do if i:find(test_text_buffer.v) then if imgui.Button(i) then sampSetCurrentDialogEditboxText(k)-- будет вводить то что идет после = в таблице end end end imgui.End() end end
кодировку изменять пробовал?Слушай такое дело, так как у меня текст на руском должен быть в названии Кнопки. При поиске он не видит русский
Суть не в том, пишет в названии кнопки на русском , а вот при поиске например слова "Продам" он его не ищиткодировку изменять пробовал?
Тут уже моя ошибка то что не учел русс язык, Прошу прощениеСлушай такое дело, так как у меня текст на руском должен быть в названии Кнопки. При поиске он не видит русский
local key = require 'vkeys'
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
local main_window_state = imgui.ImBool(false)
local test_text_buffer = imgui.ImBuffer(256)
local butt = {
['хуй'] = 'xyi - xz',
['хуйзнает'] = 'xyiznai - xz',
['tevirp'] = 'tevirp - privet',
['krumnach'] = 'krumnach согл?',
['leninkracava'] = 'leninkracava, а почему бы нет?',
['mashina'] = 'ленинград - mashina',
['stalinstaralca'] = 'stalinstaralca кто не согл тот гей',
['BMW'] = 'какое BMW'
}
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end
while true do wait(0)
if wasKeyPressed(key.VK_O) then main_window_state.v = not main_window_state.v end
imgui.Process = main_window_state.v
end
end
function imgui.OnDrawFrame()
resX, resY = getScreenResolution()
if main_window_state.v then
imgui.SetNextWindowPos(imgui.ImVec2(resX / 2, resY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.Begin("XZ", main_window_state, imgui.WindowFlags.AlwaysAutoResize )
imgui.InputText(u8'Что ищем?', test_text_buffer)
for i,k in pairs(butt) do
if i:find(u8:decode(test_text_buffer.v)) then
if imgui.Button(u8(i)) then
sampSetCurrentDialogEditboxText(k)-- будет вводить то что идет после = в таблице
end
end
end
imgui.End()
end
end
скрипт крашит, если в инпут ввести знаки [] ()Тут уже моя ошибка то что не учел русс язык, Прошу прощение
Lua:local key = require 'vkeys' local imgui = require 'imgui' local encoding = require 'encoding' encoding.default = 'CP1251' u8 = encoding.UTF8 local main_window_state = imgui.ImBool(false) local test_text_buffer = imgui.ImBuffer(256) local butt = { ['хуй'] = 'xyi - xz', ['хуйзнает'] = 'xyiznai - xz', ['tevirp'] = 'tevirp - privet', ['krumnach'] = 'krumnach согл?', ['leninkracava'] = 'leninkracava, а почему бы нет?', ['mashina'] = 'ленинград - mashina', ['stalinstaralca'] = 'stalinstaralca кто не согл тот гей', ['BMW'] = 'какое BMW' } function main() if not isSampLoaded() or not isSampfuncsLoaded() then return end while not isSampAvailable() do wait(100) end while true do wait(0) if wasKeyPressed(key.VK_O) then main_window_state.v = not main_window_state.v end imgui.Process = main_window_state.v end end function imgui.OnDrawFrame() resX, resY = getScreenResolution() if main_window_state.v then imgui.SetNextWindowPos(imgui.ImVec2(resX / 2, resY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) imgui.Begin("XZ", main_window_state, imgui.WindowFlags.AlwaysAutoResize ) imgui.InputText(u8'Что ищем?', test_text_buffer) for i,k in pairs(butt) do if i:find(u8:decode(test_text_buffer.v)) then if imgui.Button(u8(i)) then sampSetCurrentDialogEditboxText(k)-- будет вводить то что идет после = в таблице end end end imgui.End() end end
используй тогда imgui.filterскрипт крашит, если в инпут ввести знаки [] ()
используй тогда imgui.filter
if string.find(i, test_text_buffer.v, nil, true)
end