AclGet: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(6 intermediate revisions by 6 users not shown)
Line 7: Line 7:
acl aclGet ( string aclName )
acl aclGet ( string aclName )
</syntaxhighlight>  
</syntaxhighlight>  
 
{{OOP|This function is a static function underneath the ACL class.|[[ACL]].get||}}
===Required Arguments===  
===Required Arguments===  
*'''aclName:''' The name to get the ACL belonging to
*'''aclName:''' The name to get the ACL belonging to
Line 29: Line 29:
     if not (access == "true" or access == "false") then
     if not (access == "true" or access == "false") then
         -- print out error message to debug window
         -- print out error message to debug window
         outputDebugString ( "Invalid access; true and false are only accepted", 1 )
         return outputDebugString ( "Invalid access; true and false are only accepted", 1 )
        -- exit function
        return
     end
     end


Line 39: Line 37:
     else  
     else  
         access = false
         access = false
    end


     -- and finally let's set the right
     -- and finally let's set the right
Line 50: Line 49:
==See Also==
==See Also==
{{ACL_functions}}
{{ACL_functions}}
[[ar:aclGet]]
[[en:AclGet]]
[[zh-cn:AclGet]]

Latest revision as of 18:21, 21 February 2021

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.

Syntax

acl aclGet ( string aclName )

OOP Syntax Help! I don't understand this!

Note: This function is a static function underneath the ACL class.
Method: ACL.get(...)


Required Arguments

  • aclName: The name to get the ACL belonging to

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.

Example

This example adds a command setaclright with which you can easily add new rights to specified access control lists.

function setACLRight ( thePlayer, commandName, aclName, rightName, access )
    local ourACL = aclGet ( aclName )
    -- if there is no previous ACL with this name, we need to create one
    if not ourACL then
        ourACL = aclCreate ( aclName )
    end

    -- turn the boolean string to lower case
    access = string.lower ( access )
    -- access has to be either true or false (booleans)
    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 )
    end

    -- change the access to boolean
    if access == "true" then
        access = true
    else 
        access = false
    end

    -- and finally let's set the right
    aclSetRight ( ourACL, rightName, access )
    -- don't forget to save the ACL after it has been modified
    aclSave ()
end
addCommandHandler ( "setaclright", setACLRight )

See Also