-- Предметы, которые можно спавнить только админам
local restricted_entities = {
["gmod_admin_suitcase"] = true,
["weapon_physgun"] = true,
["npc_strider"] = true,
["prop_dynamic"] = true,
}
-- Проверка: можно ли спавнить
local function CanSpawnRestricted(ply, class)
if ply:IsAdmin() then return true end
if restricted_entities[class] then
ply:ChatPrint("[Сервер] Этот предмет доступен только администраторам.")
return false
end
return true
end
-- Хуки под разные типы спавна
hook.Add("PlayerSpawnSENT", "Restrict_Admin_Spawn_SENT", function(ply, class)
return CanSpawnRestricted(ply, class)
end)
hook.Add("PlayerGiveSWEP", "Restrict_Admin_GiveSWEP", function(ply, class, swep)
return CanSpawnRestricted(ply, class)
end)
hook.Add("PlayerSpawnSWEP", "Restrict_Admin_SpawnSWEP", function(ply, class)
return CanSpawnRestricted(ply, class)
end)
hook.Add("PlayerSpawnNPC", "Restrict_Admin_SpawnNPC", function(ply, class)
return CanSpawnRestricted(ply, class)
end)
hook.Add("PlayerSpawnVehicle", "Restrict_Admin_SpawnVehicle", function(ply, class, tbl)
return CanSpawnRestricted(ply, class)
end)
-- Пример ограничения пропов по модели
hook.Add("PlayerSpawnProp", "Restrict_Admin_SpawnProp", function(ply, model)
if not ply:IsAdmin() and string.find(model:lower(), "combine") then
ply:ChatPrint("[Сервер] Этот проп доступен только администраторам.")
return false
end
end)