require "lib.moonloader"
local imgui = require "mimgui"
local encoding = require "encoding"
local u8 = encoding.UTF8
encoding.default = "CP1251"
local window = imgui.new.bool(false)
local playerId = nil
local cCode = {
[1] = {
["Глава 1. Причинение вреда здоровью"] = { -- Пункты.
{"1.1", "1.1. Причинение вреда средней степени тяжести без применения какого-либо вида оружия. (3 степень розыска)", 3}, -- Код, причина, розыск.
{"1.2", "1.2. Причинение физического вреда транспортным стредством. (4 степень розыска)", 4},
-- И т.д..
},
},
[2] = {
["Глава 2. Вооруженное нападение"] = {
{"2.1", "2.1. Вооружённое нападение с применением огнестрельного оружия. (6 степень розыска)", 6},
{"2.2", "2.2. Вооружённое нападение с применением холодного оружия. (5 степень розыска)", 5},
-- И т.д..
},
},
[3] = {
["Глава 3. Угон транспортного средства"] = {
{"3.1", "3.1. Попытка угона служебного, либо личного транспортного средства. (2 степень розыска)", 2},
{"3.2", "3.2. Угон служебного, либо личного транспортного средства. (3 степень розыска)", 3},
-- И т.д..
},
},
-- И т.д..
}
imgui.OnInitialize(function()
imgui.GetIO().IniFilename = nil
imgui.GetStyle().WindowTitleAlign = imgui.ImVec2(0.5, 0.5)
end)
function main()
while not isSampAvailable() do wait(100) end
sampRegisterChatCommand("su", function(id)
if tonumber(id) ~= nil and sampIsPlayerConnected(tonumber(id)) then
playerId = tonumber(id)
window[0] = true
end
end)
wait(-1)
end
imgui.OnFrame(function() return window[0] end, function(self)
local sizeX, sizeY = getScreenResolution()
imgui.SetNextWindowPos(imgui.ImVec2(sizeX / 2, sizeY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.SetNextWindowSize(imgui.ImVec2(700, 250), imgui.Cond.FirstUseEver)
imgui.Begin(sampGetPlayerNickname(playerId).."["..playerId.."]", window)
for k, v in ipairs(cCode) do
for header, l in pairs(v) do
if imgui.CollapsingHeader(u8(header)) then
for _, reason in pairs(l) do
if imgui.Button(u8(reason[2]), imgui.ImVec2(-1, 20)) then
-- sampAddChatMessage(string.format("Вы объявили %s[%s] в розык %s-й степени. Причина: %s", sampGetPlayerNickname(playerId), playerId, reason[3], reason[1]), -1)
--[[
playerId – ID, введённый после /su
reason[1] – Код УК. (1.1, 1.2 и т.д)
reason[2] – Полная причина/расшифровка кода.
reason[3] – Уровень розыска.
]]
-- Действие.
window[0] = false
end
end
end
end
end
imgui.End()
end)