[FAdmin]Cooldown

Как сделать задержку на команды fadmin

В DarkRP/gamemode/modules/fadmin/fadmin/commands/sv_chatcommands.lua после 28 строки добавь:

local canUse, reason = hook.Run('FAdmin_CanExecuteCommand', ply, Command, Args)
if canUse == false then
    FAdmin.Messages.SendMessage(ply, 1, reason or 'Ты не можешь выполнить эту команду')
    return ''
end

В DarkRP/gamemode/modules/fadmin/fadmin/commands/sv_chatcommands.lua после 18 строки добавь:

local canUse, reason = hook.Run('FAdmin_CanExecuteCommand', ply, name, args2)
if canUse == false then return FAdmin.Messages.SendMessage(ply, 1, reason or 'Ты не можешь выполнить эту команду') end

И потом в какой-нибудь серверсайд-файл добавь этот код:

-- Кулдаун у каждой команды будет свой. Если несколько команд выполняют одну и ту же функцию, то указать нужно все
local cooldowns = {
    ['goto'] = .5,
    ['bring'] = 1,
    ['tp'] = 1,
}

hook.Add('FAdmin_CanExecuteCommand', 'cmds_cooldown', function(ply, cmd, args)
    if ply.fadmin_cooldowns and (ply.fadmin_cooldowns[cmd] or 0) > CurTime() then return false, 'Подожди немного' end
end)

hook.Add('FAdmin_OnCommandExecuted', 'cmds_cooldown', function(ply, cmd, args)
    local cd = cooldowns[cmd]
    if not cd then return end

    ply.fadmin_cooldowns = ply.fadmin_cooldowns or {}
    ply.fadmin_cooldowns[cmd] = CurTime() + cd
end)