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,69 @@
local PLUGIN = PLUGIN
util.AddNetworkString("ixKitMenu")
util.AddNetworkString("ixKitSync")
util.AddNetworkString("ixKitClaim")
function PLUGIN:SaveData()
self:SetData(self.kits)
end
function PLUGIN:LoadData()
self.kits = self:GetData() or {}
end
function PLUGIN:SyncKits(client)
net.Start("ixKitSync")
net.WriteTable(self.kits)
if (client) then
net.Send(client)
else
net.Broadcast()
end
end
function PLUGIN:PlayerLoadedCharacter(client, character)
self:SyncKits(client)
end
net.Receive("ixKitClaim", function(len, client)
local character = client:GetCharacter()
if (!character) then return end
local weaponClass = net.ReadString()
local kit = PLUGIN.kits[weaponClass]
if (!kit) then return end
-- Проверка группы
local allowedGroups = {
["superadmin"] = true,
["sponsor"] = true,
["prem"] = true
}
if (!allowedGroups[client:GetUserGroup()]) then
client:Notify("У вас нет доступа.")
return
end
-- Проверка КД на персонаже
local cooldowns = character:GetData("kit_cooldowns", {})
local lastClaim = cooldowns[weaponClass] or 0
local remaining = (lastClaim + kit.cooldown) - os.time()
if (remaining > 0) then
client:Notify("Откат еще " .. math.ceil(remaining / 60) .. " мин.")
return
end
-- Выдача
client:Give(weaponClass)
client:SelectWeapon(weaponClass)
-- Установка КД
cooldowns[weaponClass] = os.time()
character:SetData("kit_cooldowns", cooldowns)
client:Notify("Вы получили кит: " .. kit.name)
end)