- 39
- 2
- Версия MoonLoader
- .026-beta
Привет всем.
Скрипт отправляет значение полное, но при этом не закрывает окно.
Скрипт отправляет значение полное, но при этом не закрывает окно.
Код скрипта:
if ReportWindow.v then
local sw, sh = getScreenResolution()
imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.SetNextWindowSize(imgui.ImVec2(465, 215), imgui.Cond.FirstUseEver)
imgui.Begin(u8'Жалоба/Вопрос', ReportWindow, imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoResize + imgui.WindowFlags.NoMove + imgui.WindowFlags.NoSavedSettings + imgui.WindowFlags.AlwaysAutoResize)
imgui.Text(u8"Жалоба от: ".. nick_rep .."[".. report_id .."]")
imgui.SameLine()
imgui.PushStyleColor(imgui.Col.Text, imgui.ImVec4(0.92549020051956, 0.6745098233223, 0.6745098233223, 1))
imgui.Text(fa.ICON_FA_DESKTOP..'')
imgui.PopStyleColor()
imgui.SameLine()
if imgui.CogButton() then
sampSendDialogResponse(20, 1, _, "Уважаемый игрок, начинаю следить за Вами")
text_buffer_rep.v = ''
ReportWindow.v = false
sampSendChat('/re '..report_id)
end
imgui.Hint('slejkare', u8'Перейти в слежку за автором репорта')
imgui.SameLine(435)
imgui.Text(fa.ICON_FA_WRENCH..'')
imgui.Hint('helpcur', u8'Если у вас забагался курсор, то пофиксить проблему\nможно переведя раскладку на англ. яз., после откройте чат,\nдалее закройте его, и поле ввода снова станет доступно!')
imgui.Separator()
imgui.Text(u8:encode(report_text))
imgui.Separator()
local otvet = text_buffer_rep.v
if len(text_buffer_rep.v) > 55 then
imgui.CenterTextColoredRGB('{fe4e4e} Ответ должен содержать не более 70 символов ['..len(text_buffer_rep.v)..'/70]')
end
imgui.PushItemWidth(415)
if len(text_buffer_rep.v) >= 70 then
imgui.InputText(u8'##sfdkdfkdar', text_buffer_rep, imgui.InputTextFlags.ReadOnly)
else
imgui.InputText(u8'##sfdkdfkdar', text_buffer_rep, imgui.InputTextFlags.AutoSelectAll)
end
imgui.SameLine()
imgui.Text(fa.ICON_FA_RETWEET..'')
if len(text_buffer_rep.v) >= 70 then
if imgui.Button(u8'Сбросить поле ввода', imgui.ImVec2(444, 20)) then
text_buffer_rep.v = ''
end
end
imgui.Separator()
if imgui.Button(fa.ICON_FA_ROBOT..u8' Слежу за наруш', imgui.ImVec2(145, 20)) then
if report_text:match("(%d+)") ~= nil then
if sampIsPlayerConnected(report_text:gmatch("(%d+)")) then
local template = u8:decode(reason_settings_report[4].v)
local template = template:gsub('{nick_rep}', nick_rep)
local template = template:gsub('{my_id}', my_id)
local template = template:gsub('{id_rep}', id_rep)
local template = template:gsub('{my_name}', my_name)
sampSendDialogResponse(20, 1, _, template)
for idjb in report_text:gmatch("(%d+)") do
if idjb then
if sampIsPlayerConnected(idjb) then
sampSendChat('/re '..idjb )
end
end
end
text_buffer_rep.v = ''
reconusers_state.v = true
ReportWindow.v = false
else
sampAddChatMessage("{808080}[Слежка] Вы не можете начать следить за нарушителем,т.к не указан айди в репорте или игрок оффлайн.",-1)
end
end
end
imgui.SameLine()
if imgui.Button(fa.ICON_FA_PEOPLE_CARRY..u8' Помочь автору', imgui.ImVec2(145, 20)) then
local template = u8:decode(reason_settings_report[2].v)
local template = template:gsub('{nick_rep}', nick_rep)
local template = template:gsub('{my_id}', my_id)
local template = template:gsub('{id_rep}', id_rep)
local template = template:gsub('{my_name}', my_name)
sampSendDialogResponse(20, 1, _, template)
text_buffer_rep.v = ''
ReportWindow.v = false
sampSendChat('/re ' .. report_id)
sampAddChatMessage("[Автоматическая слежка] Вы ушли в слежку за " .. nick_rep .. "[" .. report_id .. "]", 14628149)
end
imgui.SameLine()
if imgui.Button(fa.ICON_FA_COMMENTS..u8' Переслать в /a чат', imgui.ImVec2(145, 20)) then
sampSendChat("/a >>> [РЕПОРТ] ".. report_name .."[".. report_id .."]: " .. report_text.. " ")
sampSendDialogResponse(20, 1, _, "Уважаемый игрок, передал Ваш репорт в чат администраторов")
text_buffer_rep.v = ''
ReportWindow.v = false
end
if imgui.Button(fa.ICON_FA_MAP_MARKED_ALT..u8' Помощь по GPS', imgui.ImVec2(145, 20)) then
if not doesFileExist(getGameDirectory()..'//moonloader//AdminTools//gps.json') then
sampAddChatMessage(tag..'У вас отсутствует файл с навигацией для GPS!', -1)
else
imgui.OpenPopup(u8'Помощь по GPS')
end
end
if imgui.BeginPopupModal(u8'Помощь по GPS', ReportWindow, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoTitleBar) then
local gps = io.open('moonloader\\AdminTools\\gps.json', 'a+')
gpsqwd = decodeJson(gps:read('*a'))
gps:close()
imgui.PushItemWidth(-1)
imgui.InputText(u8"##4112dasdasadsads4124124124124", buffer34)
imgui.PopItemWidth()
if imgui.Button(u8'Закрыть', imgui.ImVec2(510, 25)) then
imgui.CloseCurrentPopup()
end
lua_thread.create(function()
local search = u8:decode(buffer34.v)
if search ~= '' then
searchv = true
for i, v in ipairs(gpsqwd) do
local ansi_v = u8:decode(v)
if ansi_v ~= nil then
otvetslow = rusLower(ansi_v)
searchlow = rusLower(search)
if string.find(otvetslow, searchlow, 1, true) then
if imgui.Button(v, imgui.ImVec2(510, 25)) then
sampSendDialogResponse(20, 1, _, ansi_v)
text_buffer_rep.v = ''
imgui.Process = false
end
end
end
end
else
searchv = false
end
end)
for i, v in ipairs(gpsqwd) do
if not searchv then
if imgui.Button(v, imgui.ImVec2(510, 25)) then
local ansi_v = u8:decode(v)
sampSendDialogResponse(20, 1, _, ansi_v)
text_buffer_rep.v = ''
imgui.Process = false
end
end
end
imgui.EndPopup()
end
imgui.SameLine()
if imgui.Button(fa.ICON_FA_LEVEL_UP_ALT..u8' ТП к игроку', imgui.ImVec2(145, 20)) then
sampSendDialogResponse(20, 1, _, 'Уважаемый игрок, сейчас попробую вам помочь!')
text_buffer_rep.v = ''
ReportWindow.v = false
sampSendChat('/g ' ..report_id)
end
imgui.SameLine()
if imgui.Button(fa.ICON_FA_TABLET_ALT..u8' Список команд', imgui.ImVec2(145, 20)) then
if not doesFileExist(getGameDirectory()..'//moonloader//AdminTools//commands.json') then
sampAddChatMessage(tag..'У вас отсутствует файл со списком команд!', -1)
else
imgui.OpenPopup(u8'Список команд')
end
end
if imgui.BeginPopupModal(u8'Список команд', ReportWindow, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoTitleBar) then
local commands = io.open('moonloader\\AdminTools\\commands.json', 'a+')
commandsqwd = decodeJson(commands:read('*a'))
ommands:close()
imgui.PushItemWidth(-1)
imgui.InputText(u8"##4112dasdasadsads4124124124124", buffer38)
imgui.PopItemWidth()
if imgui.Button(u8'Закрыть', imgui.ImVec2(510, 25)) then
imgui.CloseCurrentPopup()
end
lua_thread.create(function()
local search = u8:decode(buffer38.v)
if search ~= '' then
searchv = true
for i, v in ipairs(commandsqwd) do
local ansi_v = u8:decode(v)
if ansi_v ~= nil then
otvetslow = rusLower(ansi_v)
searchlow = rusLower(search)
if string.find(otvetslow, searchlow, 1, true) then
if imgui.Button(v, imgui.ImVec2(510, 25)) then
sampSendDialogResponse(20, 1, _, ansi_v)
text_buffer_rep.v = ''
imgui.Process = false
end
end
end
end
else
searchv = false
end
end)
for i, v in ipairs(commandsqwd) do
if not searchv then
if imgui.Button(v, imgui.ImVec2(510, 25)) then
local ansi_v = u8:decode(v)
sampSendDialogResponse(20, 1, _, ansi_v)
text_buffer_rep.v = ''
imgui.Process = false
end
end
end
imgui.EndPopup()
end
if imgui.Button(fa.ICON_FA_PALETTE..u8' Таблица цветов', imgui.ImVec2(145, 20)) then
ColorsWindow.v = not ColorsWindow.v
imgui.Process = ColorsWindow.v
end
imgui.SameLine()
if imgui.Button(fa.ICON_FA_CAR_CRASH..u8' Флипнуть', imgui.ImVec2(145, 20)) then
sampSendChat('/flip '..report_id)
sampSendDialogResponse(20, 1, _, 'Уважаемый '..nick_rep..', флипнул Вас.')
text_buffer_rep.v = ''
ReportWindow.v = false
end
imgui.SameLine()
if imgui.Button(fa.ICON_FA_USER..u8' Заспавнить', imgui.ImVec2(145, 20)) then
sampSendChat('/spawn ' .. report_id)
local template = u8:decode(reason_settings_report[6].v)
local template = template:gsub('{nick_rep}', nick_rep)
local template = template:gsub('{my_id}', my_id)
local template = template:gsub('{id_rep}', id_rep)
local template = template:gsub('{my_name}', my_name)
sampSendDialogResponse(20, 1, _, template)
text_buffer_rep.v = ''
ReportWindow.v = false
end
if imgui.Button(fa.ICON_FA_MEDKIT..u8' Выдать HP', imgui.ImVec2(445, 20)) then
sampSendChat('/hp ' .. report_id .. ' 100')
local template = u8:decode(reason_settings_report[7].v)
local template = template:gsub('{nick_rep}', nick_rep)
local template = template:gsub('{my_id}', my_id)
local template = template:gsub('{id_rep}', id_rep)
local template = template:gsub('{my_name}', my_name)
sampSendDialogResponse(20, 1, _, template)
text_buffer_rep.v = ''
ReportWindow.v = false
end
imgui.Separator()
reportenter = 0
for qw, er in pairs(cfg.reportname) do
if imgui.Button(u8(er), imgui.ImVec2(145, 20)) then
if cfg.reportstyle[qw] == 0 then
if cfg.reportotvet[qw] ~= "" then
sampSendDialogResponse(20, 1, _, cfg.reportotvet[qw])
ReportWindow.v = false
else
sampAddChatMessage("[Ошибка] Введите ответ. Либо закройте репорт.", 14628149)
end
elseif cfg.reportstyle[qw] == 1 then
text_buffer_rep.v = u8(cfg.reportotvet[qw])
end
end
reportenter = reportenter + 1
if reportenter == 3 then
reportenter = 0
elseif #cfg.reportname ~= qw then
imgui.SameLine()
end
end
imgui.Separator()
imgui.PushStyleColor(imgui.Col.Button, imgui.ImVec4(0.090196080505848, 0.52549022436142, 0.52549022436142, 1))
if imgui.Button(u8'Отправить',imgui.ImVec2(145, 20)) then
sampSendDialogResponse(20, 1, _, u8:decode(otvet))
text_buffer_rep.v = ''
ReportWindow.v = false
end
imgui.SameLine()
imgui.SetCursorPosX(308)
if imgui.Button(u8'Закрыть',imgui.ImVec2(145, 20)) then
imgui.OpenPopup(u8'Подтверждение закрытия')
end
imgui.PopStyleColor()
if imgui.BeginPopupModal(u8'Подтверждение закрытия', ReportWindow, imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoScrollbar + imgui.WindowFlags.NoResize + imgui.WindowFlags.NoMove) then
local size = imgui.GetWindowSize()
btns_sizeX = size.x / 2 - 10
imgui.Text(u8'Вы действительно хотите закрыть репорт?')
if imgui.Button(u8' Да',imgui.ImVec2(btns_sizeX,20)) then ReportWindow.v = false imgui.CloseCurrentPopup() end
imgui.SameLine()
if imgui.Button(u8' Нет', imgui.ImVec2(btns_sizeX, 20)) then
imgui.CloseCurrentPopup()
end
imgui.EndPopup()
end
imgui.End()
end
Последнее редактирование: