local banEndTime = 0 -- время, когда бан должен закончиться
local function updateBanTime()
if banEndTime > 0 then
local timeLeft = banEndTime - os.time() -- определение времени до окончания бана
if timeLeft > 0 then
local message = "Осталось до разбана: " .. string.FormattedTime(timeLeft, "%02i:%02i:%02i") -- формируем сообщение с отображаемым временем
ULib.tsayError(LocalPlayer(), message) -- выводим сообщение на экран игрока
else
banEndTime = 0 -- обнуляем время окончания бана
end
end
end
hook.Add("Think", "banCountdown", updateBanTime) -- хук на обновление времени
-- Функция для открытия сайта разбана
local function unbanWebsite(ply)
gui.OpenURL("https://example.com/unban")
end
-- Хук на начало бана игрока
hook.Add("ULibPlayerBanned", "banHook", function(ply, reason, time_, admin)
banEndTime = os.time() + time_ -- устанавливаем время, когда бан должен закончиться
local button = vgui.Create("DButton") -- создаем кнопку разбана
button:SetText("Разбан")
button:SetSize(50, 20)
button:SetPos(ScrW() - button:GetWide(), 0)
button.DoClick = unbanWebsite -- назначаем функцию, которая открывает сайт разбана
timer.Simple(time_, function()
if not IsValid(button) then return end
button:Remove() -- удаляем кнопку разбана после окончания бана
end)
end)