Помощь, решение ошибок

function DarkRP.hooks:canGiveLicense(ply, target)
    -- Mayors can hand out licenses
    if ply:isMayor() then return true end

          
    local reason = DarkRP.getPhrase("incorrect_job", "/givelicense")

          
    local players = player.GetAll()
    -- Chiefs can if there is no mayor
    local mayorExists = #fn.Filter(plyMeta.isMayor, players) > 0
    if mayorExists then return false, reason end

          
    if ply:isChief() then return true end

          
    -- CPs can if there are no chiefs nor mayors
    local chiefExists = #fn.Filter(plyMeta.isChief, players) > 0
    if chiefExists then return false, reason end

          
    if ply:isCP() then return true end

          
    return false, reason
end

Сменить на?

function DarkRP.hooks:canGiveLicense(ply, target)
    -- Mayors can hand out licenses
    if ply:isMayor() then return true end

          
    local reason = DarkRP.getPhrase("incorrect_job", "/givelicense")

          
    local players = player.GetAll()
    -- Chiefs can if there is no mayor
    local mayorExists = #fn.Filter(plyMeta.isMayor, players) > 0
    if mayorExists then return false, reason end

          
    if ply:isChief() then return true end

          
    -- CPs can if there are no chiefs nor mayors
    local chiefExists = #fn.Filter(plyMeta.isChief, players) > 0
    if chiefExists then return false, reason end

          
    if ply:isCP() then return true end

          
    return false, reason
end

И куда тогда это девать? Маленько запутался чет

function DarkRP.hooks:canGiveLicense(ply, target)
    
    if ply:isMayor() then return true end

    local reason = DarkRP.getPhrase("incorrect_job", "/givelicense")

    local players = player.GetAll()

    return false, reason
end

Ты тип сказал сунуть в sv_init.lua но потом сказал заменить тот код выше на какой то другой

function DarkRP.hooks:canGiveLicense(ply, target)
    
    if ply:isMayor() then return true end

    local reason = DarkRP.getPhrase("incorrect_job", "/givelicense")

    local players = player.GetAll()

    return false, reason
end

Оффтоп конечно но автор сам не силен в кодинге и пытается помочь другим. А вообще для хуков юзают hook.Add()

1 лайк

А ты можешь помочь?

hook.Add('canGiveLicense', 'restrictnonmayor', function(ply)
    if not ply:isMayor() then return false, 'Ты не мэр' end
end)

Вместо чего заменить? или куда вписать

Просто в любой серверный файл это засунуть (addons/restrictlic/lua/autorun/server/sv_restrictlicense.lua)

Спасибо