Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- script_name('order-this_cold')
- script_author('imring')
- local https = require 'ssl.https'
- local imgui = require 'imgui'
- local encoding = require 'encoding'
- encoding.default = 'CP1251'
- local u8 = encoding.UTF8
- local cID = -1
- local cCode = {}
- local x, y = getScreenResolution()
- local requestWanted = imgui.ImBool(false)
- local function apply_custom_style()
- imgui.SwitchContext()
- local style = imgui.GetStyle()
- local colors = style.Colors
- local clr = imgui.Col
- local ImVec4 = imgui.ImVec4
- style.WindowRounding = 2.0
- style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84)
- style.ChildWindowRounding = 2.0
- style.FrameRounding = 2.0
- style.ItemSpacing = imgui.ImVec2(5.0, 4.0)
- style.ScrollbarSize = 13.0
- style.ScrollbarRounding = 0
- style.GrabMinSize = 8.0
- style.GrabRounding = 1.0
- colors[clr.FrameBg] = ImVec4(0.16, 0.29, 0.48, 0.54)
- colors[clr.FrameBgHovered] = ImVec4(0.26, 0.59, 0.98, 0.40)
- colors[clr.FrameBgActive] = ImVec4(0.26, 0.59, 0.98, 0.67)
- colors[clr.TitleBg] = ImVec4(0.04, 0.04, 0.04, 1.00)
- colors[clr.TitleBgActive] = ImVec4(0.16, 0.29, 0.48, 1.00)
- colors[clr.TitleBgCollapsed] = ImVec4(0.00, 0.00, 0.00, 0.51)
- colors[clr.CheckMark] = ImVec4(0.26, 0.59, 0.98, 1.00)
- colors[clr.SliderGrab] = ImVec4(0.24, 0.52, 0.88, 1.00)
- colors[clr.SliderGrabActive] = ImVec4(0.26, 0.59, 0.98, 1.00)
- colors[clr.Button] = ImVec4(0.26, 0.59, 0.98, 0.40)
- colors[clr.ButtonHovered] = ImVec4(0.26, 0.59, 0.98, 1.00)
- colors[clr.ButtonActive] = ImVec4(0.06, 0.53, 0.98, 1.00)
- colors[clr.Header] = ImVec4(0.26, 0.59, 0.98, 0.31)
- colors[clr.HeaderHovered] = ImVec4(0.26, 0.59, 0.98, 0.80)
- colors[clr.HeaderActive] = ImVec4(0.26, 0.59, 0.98, 1.00)
- colors[clr.Separator] = colors[clr.Border]
- colors[clr.SeparatorHovered] = ImVec4(0.26, 0.59, 0.98, 0.78)
- colors[clr.SeparatorActive] = ImVec4(0.26, 0.59, 0.98, 1.00)
- colors[clr.ResizeGrip] = ImVec4(0.26, 0.59, 0.98, 0.25)
- colors[clr.ResizeGripHovered] = ImVec4(0.26, 0.59, 0.98, 0.67)
- colors[clr.ResizeGripActive] = ImVec4(0.26, 0.59, 0.98, 0.95)
- colors[clr.TextSelectedBg] = ImVec4(0.26, 0.59, 0.98, 0.35)
- colors[clr.Text] = ImVec4(1.00, 1.00, 1.00, 1.00)
- colors[clr.TextDisabled] = ImVec4(0.50, 0.50, 0.50, 1.00)
- colors[clr.WindowBg] = ImVec4(0.06, 0.06, 0.06, 0.94)
- colors[clr.ChildWindowBg] = ImVec4(1.00, 1.00, 1.00, 0.00)
- colors[clr.PopupBg] = ImVec4(0.08, 0.08, 0.08, 0.94)
- colors[clr.ComboBg] = colors[clr.PopupBg]
- colors[clr.Border] = ImVec4(0.43, 0.43, 0.50, 0.50)
- colors[clr.BorderShadow] = ImVec4(0.00, 0.00, 0.00, 0.00)
- colors[clr.MenuBarBg] = ImVec4(0.14, 0.14, 0.14, 1.00)
- colors[clr.ScrollbarBg] = ImVec4(0.02, 0.02, 0.02, 0.53)
- colors[clr.ScrollbarGrab] = ImVec4(0.31, 0.31, 0.31, 1.00)
- colors[clr.ScrollbarGrabHovered] = ImVec4(0.41, 0.41, 0.41, 1.00)
- colors[clr.ScrollbarGrabActive] = ImVec4(0.51, 0.51, 0.51, 1.00)
- colors[clr.CloseButton] = ImVec4(0.41, 0.41, 0.41, 0.50)
- colors[clr.CloseButtonHovered] = ImVec4(0.98, 0.39, 0.36, 1.00)
- colors[clr.CloseButtonActive] = ImVec4(0.98, 0.39, 0.36, 1.00)
- colors[clr.PlotLines] = ImVec4(0.61, 0.61, 0.61, 1.00)
- colors[clr.PlotLinesHovered] = ImVec4(1.00, 0.43, 0.35, 1.00)
- colors[clr.PlotHistogram] = ImVec4(0.90, 0.70, 0.00, 1.00)
- colors[clr.PlotHistogramHovered] = ImVec4(1.00, 0.60, 0.00, 1.00)
- colors[clr.ModalWindowDarkening] = ImVec4(0.80, 0.80, 0.80, 0.35)
- end
- function main()
- while not isSampAvailable() do wait(0) end
- while sampGetGamestate() ~= 3 do wait(0) end
- local ip, port = sampGetCurrentServerAddress()
- if ip .. ':' .. port ~= '176.32.37.62:7777' then script.this:unload() end
- local ccode = https.request('https://pastebin.com/raw/iHnuYRXb')
- ccode = u8:decode(ccode)
- for w in ccode:gmatch('[^\r\n]+') do
- if w:find('^Часть') then
- cCode[#cCode + 1] = { name = w }
- elseif w:find('^Статья') then
- local c = cCode[#cCode]
- c[#c + 1] = w
- end
- end
- sampRegisterChatCommand('su', function(id)
- id = tonumber(id)
- if not id or not sampIsPlayerConnected(id) then return end
- cID = id
- imgui.Process = not imgui.Process
- end)
- wait(-1)
- end
- function imgui.BeforeDrawFrame()
- if not fontChanged then
- fontChanged = true
- local glyph_ranges = imgui.GetIO().Fonts:GetGlyphRangesCyrillic()
- imgui.GetIO().Fonts:Clear()
- imgui.GetIO().Fonts:AddFontFromFileTTF(getFolderPath(0x14) .. '\\arialbd.ttf', 12, nil, glyph_ranges)
- imgui.RebuildFonts()
- end
- end
- apply_custom_style()
- function imgui.OnDrawFrame()
- imgui.SetNextWindowPos(imgui.ImVec2(x / 2, y / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
- imgui.SetNextWindowSize(imgui.ImVec2(800, 480), imgui.Cond.FirstUseEver)
- imgui.Begin(u8('Умная выдача розыска'))
- for i = 1, #cCode do
- local c = cCode[i]
- if imgui.CollapsingHeader(u8(c.name)) then
- for j = 1, #c do
- if imgui.Selectable(u8(c[j])) then
- local wanted = c[j]:match('%| (%d+)$')
- local article = c[j]:match('^Статья (%d+%.%d+)')
- if requestWanted.v then sampSendChat('/r Объявите в розыск человека по номеру '..cID..', статья '..article..' '..wanted..' уровень розыска.')
- else sampSendChat('/su '..cID..' '..wanted..' '..article) end
- imgui.Process = false
- cID = -1
- end
- end
- end
- end
- imgui.End()
- imgui.SetNextWindowPos(imgui.ImVec2(x / 1.25, y / 5), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
- imgui.SetNextWindowSize(imgui.ImVec2(270, 25), imgui.Cond.FirstUseEver)
- imgui.Begin(u8('Умная выдача розыска1'), nil, imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize)
- imgui.Checkbox(u8('Запрашивать выдачу розыска через рацию'), requestWanted)
- imgui.End()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement