- 64
- 29
Хочу сделать что бы если строка из чата содержала " от продажи (комиссия 4 процент(а))" то она выводилась в imgui и следующая которая содержит это выводилась в новую строку
Вот набросил в фотошопе как хочу
Я пока сделал только что бы выводило последнюю строку
Вот набросил в фотошопе как хочу
Я пока сделал только что бы выводило последнюю строку
ы:
local imgui = require 'imgui'
local key = require 'vkeys'
local encoding = require 'encoding' -- загружаем библиотеку
encoding.default = 'CP1251' -- указываем кодировку по умолчанию, она должна совпадать с кодировкой файла. CP1251 - это Windows-1251
u8 = encoding.UTF8 -- и создаём короткий псевдоним для кодировщика UTF-8
-- одно из основных отличий от оригинального апи
-- все переменные, значения которых записываются в ImGui по указателю, могут использоваться только через специальные типы
oldStr = ''
local main_window_state = imgui.ImBool(false)
function imgui.OnDrawFrame()
if main_window_state.v then -- чтение и запись значения такой переменной осуществляется через поле v (или Value)
imgui.SetNextWindowSize(imgui.ImVec2(150, 200), imgui.Cond.FirstUseEver) -- меняем размер
-- но для передачи значения по указателю - обязательно напрямую
-- тут main_window_state передаётся функции imgui.Begin, чтобы можно было отследить закрытие окна нажатием на крестик
imgui.Begin('My window', main_window_state)
imgui.Text(u8(oldStr))
imgui.End()
end
end
function main()
while true do
wait(0)
if wasKeyPressed(key.VK_X) then -- активация по нажатию клавиши X
main_window_state.v = not main_window_state.v -- переключаем статус активности окна, не забываем про .v
end
str = select(1, sampGetChatString(99)) --получаем последнюю строку из чата
if str ~= oldStr then --делаем проверку на то изменилась ли строка
oldStr = str -- если изменилась то присваиваем новое значение
end
imgui.Process = main_window_state.v -- теперь значение imgui.Process всегда будет задаваться в зависимости от активности основного окна
end
end