surface.CreateFont("Ban.Hud.Font", {
font = "Roboto",
size = 35,
})
hook.Add("HUDPaint", "ShowBan.HUD", function()
if LocalPlayer().BanReason == nil then return end
draw.SimpleTextOutlined("Вы в бане!", "Ban.Hud.Font", ScrW() * 0.5, ScrH() * 0.05, Color(255, 0, 0), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, Color(0, 0, 0))
draw.SimpleTextOutlined("Осталось: " .. string.NiceTime((LocalPlayer().BanTime - os.time()) or 0), "Ban.Hud.Font", ScrW() * 0.5, ScrH() * 0.085, Color(255, 255, 255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, Color(0, 0, 0))
draw.SimpleTextOutlined("Причина: " .. (LocalPlayer().BanReason or ""), "Ban.Hud.Font", ScrW() * 0.5, ScrH() * 0.12, Color(255, 255, 255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, Color(0, 0, 0))
draw.SimpleTextOutlined("Ваш STEAM:ID: " .. LocalPlayer():SteamID(), "Ban.Hud.Font", ScrW() * 0.5, ScrH() * 0.155, Color(255, 255, 255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, Color(0, 0, 0))
draw.SimpleTextOutlined("Вас забанил: " .. (LocalPlayer().BanAdmin or ""), "Ban.Hud.Font", ScrW() * 0.5, ScrH() * 0.19, Color(255, 255, 255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 1, Color(0, 0, 0))
end)
net.Receive("BanInfo", function()
LocalPlayer().BanReason = net.ReadString()
LocalPlayer().BanTime = net.ReadInt(32)
LocalPlayer().BanAdmin = net.ReadString() -- Нужно чтобы в net.Send тоже отправлялся админ и также вообще сохранялся при бане
if LocalPlayer().BanReason == "" then LocalPlayer().BanReason = nil end
end)
- Я не знаю через что банится игрок и сохраняется ли там вообще админ. Если нет, то нужно добавить сохранение.
- После того, как мы поймём как он сохраняется, нужно добавить в SV часть передачу ника этого админа (или другой информации про него) (В
net.Start("BanInfo")
)
- Вижу тут проблему - а если причина не будет указана при бане? То считается для игрока, что бана нет? Может лучше делать проверку по времени бана?