ZH-CN/aclSetRight: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
Qwe7769611 (talk | contribs) No edit summary  | 
				Qwe7769611 (talk | contribs)  No edit summary  | 
				||
| Line 1: | Line 1: | ||
__NOTOC__    | __NOTOC__    | ||
{{Server function}}    | {{Server function}}    | ||
此函数用于更改或添加给定ACL中的给定权限。访问可以是“true”或“false”,并指定ACL是否允许访问权限.  | |||
==  | ==语法==    | ||
<syntaxhighlight lang="lua">  | <syntaxhighlight lang="lua">  | ||
bool aclSetRight ( acl theAcl, string rightName, bool hasAccess )  | bool aclSetRight ( acl theAcl, string rightName, bool hasAccess )  | ||
</syntaxhighlight>    | </syntaxhighlight>    | ||
{{  | {{OOP_ZH-CN||[[acl]]:setRight||aclGetRight}}  | ||
===  | ===必填参数===    | ||
*'''theAcl:'''   | *'''theAcl:''' 要更改其权限的ACL  | ||
*'''rightName:'''   | *'''rightName:''' 添加/更改的访问属性的权限  | ||
*'''hasAccess:'''   | *'''hasAccess:''' 访问是否应设置为true或false  | ||
===  | ===返回值===  | ||
如果访问已成功更改,则返回“true”;如果由于某种原因(例如无效的ACL或rightname无效)而失败,则返回“false”或“nil”.  | |||
==  | ==示例==    | ||
此示例添加了命令“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 )  | ||
     --   |      -- 如果以前没有具有此名称的ACL,则需要创建一个  | ||
     if not ourACL then  |      if not ourACL then  | ||
         ourACL = aclCreate ( aclName )  |          ourACL = aclCreate ( aclName )  | ||
     end  |      end  | ||
     --   |      -- 将布尔字符串转换为小写  | ||
     access = string.lower ( access )  |      access = string.lower ( access )  | ||
     --   |      -- 访问必须是true或false(布尔值)  | ||
     if not (access == "true" or access == "false") then  |      if not (access == "true" or access == "false") then  | ||
         --   |          -- 将错误消息发送到调试窗口  | ||
         return outputDebugString ( "Invalid access; true and false are only accepted", 1 )  |          return outputDebugString ( "Invalid access; true and false are only accepted", 1 )  | ||
     end  |      end  | ||
     --   |      -- 将访问权限更改为布尔值  | ||
     if access == "true" then  |      if access == "true" then  | ||
         access = true  |          access = true  | ||
| Line 41: | Line 41: | ||
     end  |      end  | ||
     --   |      -- 最后让我们确定正确的方向  | ||
     aclSetRight ( ourACL, rightName, access )  |      aclSetRight ( ourACL, rightName, access )  | ||
     --   |      -- 不要忘记在修改ACL后保存它  | ||
     aclSave ()  |      aclSave ()  | ||
end  | end  | ||
Latest revision as of 07:16, 6 February 2021
此函数用于更改或添加给定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
- aclCreate
 - aclCreateGroup
 - aclDestroy
 - aclDestroyGroup
 - aclGet
 - aclGetGroup
 - aclGetName
 - aclGetRight
 - aclGroupAddACL
 - aclGroupAddObject
 - aclGroupGetName
 - aclGroupList
 - aclGroupListACL
 - aclGroupListObjects
 - aclGroupRemoveACL
 - aclGroupRemoveObject
 - aclList
 - aclListRights
 - aclReload
 - aclRemoveRight
 - aclSave
 - aclSetRight
 - hasObjectPermissionTo
 - isObjectInACLGroup