local PLAYER = FindMetaTable("Player")
function PLAYER:GiveCustom(weaponClass, isDroppedByQMenu)
local wep = self:Give(weaponClass)
if not IsValid(wep) then return end
if isDroppedByQMenu then
wep.IsDroppedByQMenu = true
end
return wep
end
local oldPlayerGive = PLAYER.Give
function PLAYER:Give(weaponClass, ...)
return self:GiveCustom(weaponClass, false, ...)
end
hook.Add("PlayerSpawn", "CheckQMenuWeapon", function(ply)
for k, v in pairs(ply:GetWeapons()) do
if ply.SpawnedViaQMenu then
v.IsDroppedByQMenu = true
end
end
end)
hook.Add("PlayerSay", "BlockConsoleCommands", function(ply, text, teamChat)
-- Проверяем, является ли сообщение консольной командой
if string.sub(text, 1, 1) == "/drop" then
-- Проверяем, не заблокировано ли использование консольных команд для заспавненного из QMenu оружия
if IsValid(ply:GetActiveWeapon()) and ply:GetActiveWeapon().IsDroppedByQMenu then
ply:ChatPrint("Вы не можете использовать консольные команды с этим оружием!")
return ""
end
end
end)