-- LockDown system
-- Zaqq
surface.CreateFont("big", {
font = "Inter",
extended = true,
size = 32
})
surface.CreateFont("small", {
font = "Inter",
extended = true,
size = 25
})
surface.CreateFont("verysmall", {
font = "Inter",
extended = true,
size = 21
})
local isldwn = GetGlobalBool('DarkRP_LockDown')
local timeRemaining = 300
local arrestTime = 100
local timersCreated = false
local function decreaseTime()
local ply = LocalPlayer()
if timeRemaining > 0 then
timeRemaining = timeRemaining - 1
else
timer.Remove("DecreaseTimeTimer")
if not ply:isMayor() then
return
end
ply:ConCommand("darkrp unlockdown")
hook.Remove("HUDPaint", "lockdownHud")
end
end
local function decreaseArrestTime()
if arrestTime > 0 then
arrestTime = arrestTime - 1
else
timer.Remove("decreaseArrestTime")
end
end
local function drawLockdownHUD()
draw.SimpleText("LockDown!", "big", 30, 42, Color(255, 255, 255, 255))
draw.SimpleText("Back to your home!", "big", 33, 70, Color(255, 255, 255, 255))
draw.SimpleText("Police can arrest you after: " .. arrestTime, "small", 33, 105, Color(255, 255, 255, 255))
draw.SimpleText("Left lockdown: " .. timeRemaining, "small", 33, 130, Color(255, 255, 255, 255))
return
end
hook.Add("HUDPaint", "lockdownHud", function()
if isldwn then
drawLockdownHUD()
if not timersCreated then
timer.Create("DecreaseTimeTimer", 1, 0, decreaseTime)
timer.Create("decreaseArrestTime", 1, 0, decreaseArrestTime)
timersCreated = true
end
else
hook.Remove("HUDPaint", "lockdownHud")
timer.Remove("DecreaseTimeTimer")
timer.Remove("decreaseArrestTime")
timersCreated = false
timeRemaining = 300
arrestTime = 100
end
end)
hook.Add("ShutDown", "cleanupLockdownTimers", function()
timer.Remove("DecreaseTimeTimer")
timer.Remove("decreaseArrestTime")
end)