local on = require "lib.samp.events"
local inicfg = require 'inicfg'
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
local mxIni = inicfg.load(nil, "jailing")
if mxIni == nil then
local mxIni = inicfg.load({
stat = {
['jailov'] = 0,
['day'] = math.floor(os.date('%w') + 1),
['ob'] = false
},
jail = {
[1] = 0, -- Воскресение
[2] = 0,
[3] = 0, -- Вторник
[4] = 0,
[5] = 0, -- Четверг
[6] = 0,
[7] = 0 -- Суббота
}
})
inicfg.save(mxIni,"jailing")
reloadScripts()
end
local main_window_state = imgui.ImBool(true)
function main()
while true do wait(0)
if mxIni.stat.day ~= math.floor(os.date('%w') + 1) then mxIni.stat.day = math.floor(os.date('%w') + 1) inicfg.save(mxIni,"jailing") end
if mxIni.stat.day == 1 and not mxIni.stat.ob then mxIni.stat.ob = true inicfg.save(mxIni,"jailing") end
if mxIni.stat.day == 2 and mxIni.stat.ob then mxIni.stat.ob = false for i = 1, 7 do mxIni.jail[i] = 0 end inicfg.save(mxIni,"jailing") end
imgui.ShowCursor = false
imgui.Process = main_window_state.v
end
end
function imgui.OnDrawFrame()
local resX, resY = getScreenResolution()
if main_window_state.v then
imgui.SetNextWindowPos(imgui.ImVec2(resX-155,resY/2), imgui.Cond.FirstUseEver)
imgui.SetNextWindowSize(imgui.ImVec2(150, 185), imgui.Cond.FirstUseEver)
imgui.Begin(' ', main_window_state, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoMove + imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoTitleBar)
imgui.PushStyleColor(imgui.Col.Border, imgui.ImVec4(0.0, 0.0, 0.0, 0.0))
imgui.Columns(2,'xz',true)
imgui.TextColored(imgui.ImVec4(0.0, 1.0, 0.0, 1.0 ), u8' Дни')
imgui.NextColumn()
imgui.TextColored(imgui.ImVec4(0.0, 1.0, 0.0, 1.0 ), u8' Кол-во')
imgui.Separator()
imgui.NextColumn()
imgui.Text(u8'Воск')imgui.NextColumn()imgui.Text(tostring(mxIni.jail[1]))imgui.NextColumn()
imgui.Separator()
imgui.Text(u8'Пон')imgui.NextColumn() imgui.Text(tostring(mxIni.jail[2]))imgui.NextColumn()
imgui.Separator()
imgui.Text(u8'Вт')imgui.NextColumn() imgui.Text(tostring(mxIni.jail[3]))imgui.NextColumn()
imgui.Separator()
imgui.Text(u8'Ср')imgui.NextColumn() imgui.Text(tostring(mxIni.jail[4]))imgui.NextColumn()
imgui.Separator()
imgui.Text(u8'Четв')imgui.NextColumn() imgui.Text(tostring(mxIni.jail[5]))imgui.NextColumn()
imgui.Separator()
imgui.Text(u8'Пят')imgui.NextColumn() imgui.Text(tostring(mxIni.jail[6]))imgui.NextColumn()
imgui.Separator()
imgui.Text(u8'Суб')imgui.NextColumn() imgui.Text(tostring(mxIni.jail[7]))
imgui.PopStyleColor(1)
imgui.End()
end
end
function on.onServerMessage(color, text)
if text:find('Администратор (%w+_%w+)%[(%d+)%] посадил игрока (%w+_%w+)%[(%d+)%] в деморган на (%d+) минут. Причина: (.+)') then
anick, aid, nick, id, time, pri = text:match('(%w+_%w+)%[(%d+)%] посадил игрока (%w+_%w+)%[(%d+)%] в деморган на (%d+) минут. Причина: (.+)')
if tonumber(id) == select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)) and nick == sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))) then
sampAddChatMessage(string.format("Вас посадил Администратор %s[%d] в деморган на %d минут. Причина: %s",anick,aid,time,pri),0xFFFF00)
inicfg.save(mxIni,"jailing")
--return false -- чтобы не отображалось сообщение
end
end
end