ZH-CN/aclSetRight

From Multi Theft Auto: Wiki
Revision as of 07:16, 6 February 2021 by Qwe7769611 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

此函数用于更改或添加给定ACL中的给定权限。访问可以是“true”或“false”,并指定ACL是否允许访问权限.

语法

bool aclSetRight ( acl theAcl, string rightName, bool hasAccess )

OOP 语法 什么是OOP?

方法: acl:setRight(...)
对称函数: aclGetRight

必填参数

  • theAcl: 要更改其权限的ACL
  • rightName: 添加/更改的访问属性的权限
  • hasAccess: 访问是否应设置为true或false

返回值

如果访问已成功更改,则返回“true”;如果由于某种原因(例如无效的ACL或rightname无效)而失败,则返回“false”或“nil”.

示例

此示例添加了命令“setaclright”,使用该命令可以轻松地向指定的访问控制列表添加新权限.

function setACLRight ( thePlayer, commandName, aclName, rightName, access )
    local ourACL = aclGet ( aclName )
    -- 如果以前没有具有此名称的ACL,则需要创建一个
    if not ourACL then
        ourACL = aclCreate ( aclName )
    end

    -- 将布尔字符串转换为小写
    access = string.lower ( access )
    -- 访问必须是true或false(布尔值)
    if not (access == "true" or access == "false") then
        -- 将错误消息发送到调试窗口
        return outputDebugString ( "Invalid access; true and false are only accepted", 1 )
    end

    -- 将访问权限更改为布尔值
    if access == "true" then
        access = true
    else 
        access = false
    end

    -- 最后让我们确定正确的方向
    aclSetRight ( ourACL, rightName, access )
    -- 不要忘记在修改ACL后保存它
    aclSave ()
end
addCommandHandler ( "setaclright", setACLRight )

See Also