ZH-CN/AclGet: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
__NOTOC__  
__NOTOC__  
{{Server function}}  
{{Server function}}  
Get the ACL with the given name. If need to get most of the ACL's, you should consider using [[aclList]] to get a table of them all.
获取具有给定名称的ACL。如果需要获取大多数ACL,您应该考虑使用[[aclist]]来获取所有ACL的表.


==Syntax==  
==语法==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
acl aclGet ( string aclName )
acl aclGet ( string aclName )
</syntaxhighlight>  
</syntaxhighlight>  
{{OOP|This function is a static function underneath the ACL class.|[[ACL]].get||}}
{{OOP_ZH-CN|This function is a static function underneath the ACL class.|[[ACL]].get||}}
===Required Arguments===  
===必填参数===  
*'''aclName:''' The name to get the ACL belonging to
*'''aclName:''' 获取ACL所属的名称


===Returns===
===返回值===
Returns the ACL with that name if it could be retrieved, ''false''/''nil'' if the ACL does not exist or it fails for some other reason.
如果可以检索,则返回具有该名称的ACL;如果ACL不存在或由于其他原因失败,则返回“false”/“nil”.


==Example==  
==示例==  
This example adds a command ''setaclright'' with which you can easily add new rights to specified access control lists.
此示例添加了命令“setaclright”,使用该命令可以轻松地向指定的访问控制列表添加新权限.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function setACLRight ( thePlayer, commandName, aclName, rightName, access )
function setACLRight ( thePlayer, commandName, aclName, rightName, access )
     local ourACL = aclGet ( aclName )
     local ourACL = aclGet ( aclName )
     -- if there is no previous ACL with this name, we need to create one
     -- 如果以前没有具有此名称的ACL,则需要创建一个
     if not ourACL then
     if not ourACL then
         ourACL = aclCreate ( aclName )
         ourACL = aclCreate ( aclName )
     end
     end


     -- turn the boolean string to lower case
     -- 将布尔字符串转换为小写
     access = string.lower ( access )
     access = string.lower ( access )
     -- access has to be either true or false (booleans)
     -- 访问必须是true或false(布尔值)
     if not (access == "true" or access == "false") then
     if not (access == "true" or access == "false") then
         -- print out error message to debug window
         -- 将错误消息打印到调试窗口
         return outputDebugString ( "Invalid access; true and false are only accepted", 1 )
         return outputDebugString ( "Invalid access; true and false are only accepted", 1 )
     end
     end


     -- change the access to boolean
     -- 将访问权限更改为布尔值
     if access == "true" then
     if access == "true" then
         access = true
         access = true
Line 39: Line 39:
     end
     end


     -- and finally let's set the right
     -- 最后让我们确定正确的方向
     aclSetRight ( ourACL, rightName, access )
     aclSetRight ( ourACL, rightName, access )
     -- don't forget to save the ACL after it has been modified
     -- 不要忘记在修改ACL后保存它
     aclSave ()
     aclSave ()
end
end

Revision as of 03:27, 6 February 2021

获取具有给定名称的ACL。如果需要获取大多数ACL,您应该考虑使用aclist来获取所有ACL的表.

语法

acl aclGet ( string aclName )

OOP 语法 什么是OOP?

提示: This function is a static function underneath the ACL class.
方法: ACL.get(...)

必填参数

  • aclName: 获取ACL所属的名称

返回值

如果可以检索,则返回具有该名称的ACL;如果ACL不存在或由于其他原因失败,则返回“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