Вопрос Как запретить выкидывание оружия с q menu ?

  • 66
  • 1
  • 1
Контакты для связи отсутствуют.
Lua:
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)
 
Последнее редактирование:
  • 248
  • 5
  • 32
Lua:
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)
Chat GPT MOMENT
 
Сверху Снизу