Помощь в скрипте.

$Mr.R1ch$

Участник
Автор темы
90
23
Версия MoonLoader
Другое
Итак. Суть скрипта - система умного выдачи розыска. Скрипт сам почти готов но нужно сделать такие функции.
Lua:
imgui.OnFrame(function() return MainWindow[0] and not isGamePaused() end, function()
imgui.SetNextWindowPos(imgui.ImVec2(1700, 500), imgui.Cond.FirstUseEver, imgui.ImVec2(0.2, 0.9))
imgui.SetNextWindowSize(imgui.ImVec2(599, 140), imgui.Cond.Always)
    imgui.Begin(u8'MVDHELPER', MainWindow, imgui.WindowFlags.NoDecoration)
    if imgui.Checkbox(u8'Запрашивать выдачу розыска через рацию', checkboxfive) then
    else
     imgui.Checkbox(u8'Писать уровень розыска при запросе ', checkboxthere)
    imgui.Checkbox(u8'Пояснять причину след. сообщением в рацию', checkboxfour)
    end
imgui.End()
end)
imgui.OnFrame(function()
  return WinState[0]
end, function(player)
  imgui.SetNextWindowPos(imgui.ImVec2(1150, 560), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
  imgui.SetNextWindowSize(imgui.ImVec2(800, 700), imgui.Cond.Always)
  imgui.Begin(u8'Умная выдача розыска', WinState, imgui.WindowFlags.NoResize)
  imgui.InputTextWithHint('##Search',u8'Поиск',search,256)
  imgui.SameLine()
    if imgui.Button(u8'Очистить') then
        imgui.StrCopy(search,'')  
        else
        imgui.SetCursorPos(imgui.ImVec2(745, 39))
     if imgui.Button(faicons('gear'), imgui.ImVec2(50, 50)) then
     MainWindow[0] = not MainWindow[0]
     end
   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
if imgui.CollapsingHeader(u8'Глава 1. Нанесение телесных повреждений.') then
    imgui.TextWrapped(u8'1.1 УК | Нанесение телесных повреждений по неосторожности гражданскому лицу  | 1*.')
   if imgui.IsItemClicked() then
    if pID ~= -1 then
        lua_thread.create(function()
        WinState[0] = not WinState[0]
            sampSendChat('/me зажал кнопку на опции и сообщил диспетчеру приметы подозреваемого')
            wait(1200)
             sampSendChat('/su '..pID..' 1 1.1 УК')
            wait(1200)
           sampSendChat('/do Преступник занесен в базу данных.')
            wait(1200)
        end)
    end
end

Итак, здесь надо сделать такую функцию, чтобы при активации чекбокса (if imgui.Checkbox(u8'Запрашивать выдачу розыска через рацию', checkboxfive) выводилось другое сообщение

Код:
if imgui.CollapsingHeader(u8'Глава 1. Нанесение телесных повреждений.') then --вывод если чекбокс имеет статус false (выключен)
    imgui.TextWrapped(u8'1.1 УК | Нанесение телесных повреждений по неосторожности гражданскому лицу  | 1*.')
   if imgui.IsItemClicked() then
    if pID ~= -1 then
        lua_thread.create(function()
        WinState[0] = not WinState[0]
            sampSendChat('/me зажал кнопку на опции и сообщил диспетчеру приметы подозреваемого')
            wait(1200)
             sampSendChat('/su '..pID..' 1 1.1 УК')
            wait(1200)
           sampSendChat('/do Преступник занесен в базу данных.')
            wait(1200)
        end)
    end
end


if imgui.CollapsingHeader(u8'Глава 1. Нанесение телесных повреждений.') then --вывод сообщения если чекбокс имеет статус true (включен)
    imgui.TextWrapped(u8'1.1 УК | Нанесение телесных повреждений по неосторожности гражданскому лицу  | 1*.')
   if imgui.IsItemClicked() then
    if pID ~= -1 then
        lua_thread.create(function()
        WinState[0] = not WinState[0]
            sampSendChat('/r ini.set.name на CONTROL. Запрашиваю объявление в розыск дело N-'..pID..' ')
            wait(1200)
             sampSendChat('/r Причина объявления: 1.1 УК')
            wait(1200)
    end
end
А также при выключение чекбокса, всё возвращалось на свои места

И как сделать поиск по imgui.CollapsingHeader ? (По этим столбикам):
IMG_20231201_202149.jpg
 
Последнее редактирование:

shuzaru

Потрачен
162
37
Итак. Суть скрипта - система умного выдачи розыска. Скрипт сам почти готов но нужно сделать такие функции.
Lua:
imgui.OnFrame(function() return MainWindow[0] and not isGamePaused() end, function()
imgui.SetNextWindowPos(imgui.ImVec2(1700, 500), imgui.Cond.FirstUseEver, imgui.ImVec2(0.2, 0.9))
imgui.SetNextWindowSize(imgui.ImVec2(599, 140), imgui.Cond.Always)
    imgui.Begin(u8'MVDHELPER', MainWindow, imgui.WindowFlags.NoDecoration)
    if imgui.Checkbox(u8'Запрашивать выдачу розыска через рацию', checkboxfive) then
    else
     imgui.Checkbox(u8'Писать уровень розыска при запросе ', checkboxthere)
    imgui.Checkbox(u8'Пояснять причину след. сообщением в рацию', checkboxfour)
    end
imgui.End()
end)
imgui.OnFrame(function()
  return WinState[0]
end, function(player)
  imgui.SetNextWindowPos(imgui.ImVec2(1150, 560), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
  imgui.SetNextWindowSize(imgui.ImVec2(800, 700), imgui.Cond.Always)
  imgui.Begin(u8'Умная выдача розыска', WinState, imgui.WindowFlags.NoResize)
  imgui.InputTextWithHint('##Search',u8'Поиск',search,256)
  imgui.SameLine()
    if imgui.Button(u8'Очистить') then
        imgui.StrCopy(search,'') 
        else
        imgui.SetCursorPos(imgui.ImVec2(745, 39))
     if imgui.Button(faicons('gear'), imgui.ImVec2(50, 50)) then
     MainWindow[0] = not MainWindow[0]
     end
   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
if imgui.CollapsingHeader(u8'Глава 1. Нанесение телесных повреждений.') then
    imgui.TextWrapped(u8'1.1 УК | Нанесение телесных повреждений по неосторожности гражданскому лицу  | 1*.')
   if imgui.IsItemClicked() then
    if pID ~= -1 then
        lua_thread.create(function()
        WinState[0] = not WinState[0]
            sampSendChat('/me зажал кнопку на опции и сообщил диспетчеру приметы подозреваемого')
            wait(1200)
             sampSendChat('/su '..pID..' 1 1.1 УК')
            wait(1200)
           sampSendChat('/do Преступник занесен в базу данных.')
            wait(1200)
        end)
    end
end

Итак, здесь надо сделать такую функцию, чтобы при активации чекбокса (if imgui.Checkbox(u8'Запрашивать выдачу розыска через рацию', checkboxfive) выводилось другое сообщение

Код:
if imgui.CollapsingHeader(u8'Глава 1. Нанесение телесных повреждений.') then --вывод если чекбокс имеет статус false (выключен)
    imgui.TextWrapped(u8'1.1 УК | Нанесение телесных повреждений по неосторожности гражданскому лицу  | 1*.')
   if imgui.IsItemClicked() then
    if pID ~= -1 then
        lua_thread.create(function()
        WinState[0] = not WinState[0]
            sampSendChat('/me зажал кнопку на опции и сообщил диспетчеру приметы подозреваемого')
            wait(1200)
             sampSendChat('/su '..pID..' 1 1.1 УК')
            wait(1200)
           sampSendChat('/do Преступник занесен в базу данных.')
            wait(1200)
        end)
    end
end


if imgui.CollapsingHeader(u8'Глава 1. Нанесение телесных повреждений.') then --вывод сообщения если чекбокс имеет статус true (включен)
    imgui.TextWrapped(u8'1.1 УК | Нанесение телесных повреждений по неосторожности гражданскому лицу  | 1*.')
   if imgui.IsItemClicked() then
    if pID ~= -1 then
        lua_thread.create(function()
        WinState[0] = not WinState[0]
            sampSendChat('/r ini.set.name на CONTROL. Запрашиваю объявление в розыск дело N-'..pID..' ')
            wait(1200)
             sampSendChat('/r Причина объявления: 1.1 УК')
            wait(1200)
    end
end
А также при выключение чекбокса, всё возвращалось на свои места

И как сделать поиск по imgui.CollapsingHeader ? (По этим столбикам):
Посмотреть вложение 222952
можешь еще попробовать тему создать в https://www.blast.hk/forums/110/