add sborka

This commit is contained in:
2026-03-31 10:27:04 +03:00
commit f5e5f56c84
2345 changed files with 382127 additions and 0 deletions

View File

@@ -0,0 +1,155 @@
if (!SH_REPORTS.ActiveReports) then
SH_REPORTS.ActiveReports = {}
end
function SH_REPORTS:ReportCreated(data)
chat.AddText(self.Style.header, "[" .. self:L("reports") .. "] ", color_white, self:L("report_received", data.reporter_name, data.reported_name, self.ReportReasons[data.reason_id])) -- 76561198398853149
if (self.NewReportSound.enabled) then
surface.PlaySound(self.NewReportSound.path)
end
self:MakeNotification(data)
self:MakePending(data)
if (!self.ActiveReports) then
self.ActiveReports = {}
end
table.insert(self.ActiveReports, data)
end
hook.Add("Think", "SH_REPORTS.Ready", function()
if (IsValid(LocalPlayer())) then
hook.Remove("Think", "SH_REPORTS.Ready")
easynet.SendToServer("SH_REPORTS.PlayerReady")
end
end)
easynet.Callback("SH_REPORTS.SendList", function(data)
local pendings = {}
for _, report in pairs (SH_REPORTS.ActiveReports) do
if (IsValid(report.pending)) then
pendings[report.id] = report.pending
end
end
SH_REPORTS.ServerTime = data.server_time
SH_REPORTS.ActiveReports = data.struct_reports
for _, report in pairs (SH_REPORTS.ActiveReports) do
report.pending = pendings[report.id]
end
SH_REPORTS:ShowReports()
end)
easynet.Callback("SH_REPORTS.MinimizeReport", function(data)
if (IsValid(_SH_REPORTS_VIEW)) then
_SH_REPORTS_VIEW:Close()
end
local report
for _, rep in pairs (SH_REPORTS.ActiveReports) do
if (rep.id == data.report_id) then
report = rep
break
end
end
if (report) then
SH_REPORTS:MakeTab(report)
end
end)
easynet.Callback("SH_REPORTS.ReportClosed", function(data)
for k, rep in pairs (SH_REPORTS.ActiveReports) do
if (rep.id == data.report_id) then
if (IsValid(rep.line)) then
rep.line:Close()
end
if (IsValid(rep.pending)) then
rep.pending:Close()
end
SH_REPORTS.ActiveReports[k] = nil
end
end
if (IsValid(_SH_REPORTS_TAB) and _SH_REPORTS_TAB.id == data.report_id) then
_SH_REPORTS_TAB:Close()
end
SH_REPORTS:ClosePendingPanel(data.report_id)
end)
easynet.Callback("SH_REPORTS.ReportClaimed", function(data)
for _, rep in pairs (SH_REPORTS.ActiveReports) do
if (rep.id == data.report_id) then
rep.admin_id = data.admin_id
if (IsValid(rep.line)) then
rep.line.claimed.avi:SetSteamID(data.admin_id)
rep.line.claimed.avi:SetVisible(true)
local admin = player.GetBySteamID64(data.admin_id)
if (IsValid(admin)) then
rep.line.claimed.name:SetTextInset(32, 0)
rep.line.claimed.name:SetContentAlignment(4)
rep.line.claimed.name:SetText(admin:Nick())
end
end
if (IsValid(rep.pending)) then
rep.pending:Close()
end
if (data.admin_id ~= LocalPlayer():SteamID64() and IsValid(rep.line) and IsValid(rep.line.delete)) then
rep.line.delete:Remove()
end
end
end
SH_REPORTS:ClosePendingPanel(data.report_id)
end)
easynet.Callback("SH_REPORTS.Notify", function(data)
-- do NOT do this
SH_REPORTS:Notify(SH_REPORTS:L(unpack(string.Explode("\t", data.msg))), nil, data.positive and SH_REPORTS.Style.success or SH_REPORTS.Style.failure)
end)
easynet.Callback("SH_REPORTS.Chat", function(data)
chat.AddText(SH_REPORTS.Style.header, "[" .. SH_REPORTS:L("reports") .. "] ", color_white, data.msg)
end)
easynet.Callback("SH_REPORTS.ReportCreated", function(data)
SH_REPORTS:ReportCreated(data)
end)
easynet.Callback("SH_REPORTS.ReportsPending", function(data)
chat.AddText(SH_REPORTS.Style.header, "[" .. SH_REPORTS:L("reports") .. "] ", color_white, SH_REPORTS:L("there_are_x_reports_pending", data.num)) -- 76561198398853124
SH_REPORTS.ActiveReports = table.Copy(data.struct_reports)
for _, report in pairs (SH_REPORTS.ActiveReports) do
SH_REPORTS:MakePending(report)
end
end)
easynet.Callback("SH_REPORTS.AdminLeft", function(data)
for _, rep in pairs (SH_REPORTS.ActiveReports) do
if (rep.id == data.report_id) then
rep.admin_id = ""
if (IsValid(rep.line)) then
rep.line.claimed.avi:SetVisible(false)
rep.line.claimed.name:SetTextInset(0, 0)
rep.line.claimed.name:SetContentAlignment(5)
rep.line.claimed.name:SetText(SH_REPORTS:L("unclaimed"))
end
end
end
end)
-- vk.com/urbanichka