AclGroupListObjects: Difference between revisions
Jump to navigation
Jump to search
(Added 2nd example) |
No edit summary |
||
| Line 56: | Line 56: | ||
end | end | ||
for i, name in ipairs(admins) do -- loop through the table "admins" | for i, name in ipairs(admins) do -- loop through the table "admins" | ||
outputChatBox(tostring(i).." : "..tostring(name), | outputChatBox(tostring(i).." : "..tostring(name), player, 140, 220, 140) | ||
-- output will look like this: "1 : John" | -- output will look like this: "1 : John" | ||
end | end | ||
Revision as of 10:23, 25 February 2018
This function returns a table over all the objects that exist in a given ACL group. These are objects like players and resources.
Syntax
table aclGroupListObjects ( aclgroup theGroup )
OOP Syntax Help! I don't understand this!
- Method: aclgroup:listObjects(...)
- Variable: .objects
Required Arguments
- theGroup: The ACL group to get the objects from
Returns
Returns a table of strings in the given ACL group. This table might be empty. Returns false or nil if theGroup is invalid or it fails for some other reason.
Examples
This example outputs a list of Objects if the ACL Group is given. (TESTED!)
Click to collapse [-]
Example 1: ServeraddCommandHandler("aclObjectList",function(player,command,aclGroup)
if(aclGroup~="")then
table = aclGroupListObjects(aclGetGroup(aclGroup))
count = 0
for objects,name in pairs(table)do
outputChatBox("ACL LIST: "..aclGroup.." #"..tostring(count).." Object: "..name..".",player)
count = count + 1
end
else
outputChatBox("Please add the aclGroup you want the list of.",player)
outputChatBox("Syntax: /aclObjectList aclGroup",player)
end
end)
This example outputs through the command "getAdminAccounts" all accounts added to the "Admin" group.
Click to collapse [-]
Example 2: Serverfunction outputAdminGroupAccounts( player )
local admins = {} -- creates the table in which will be added the accounts of "Admin" group
local group = aclGetGroup( "Admin" )
-- should return the "aclgroup" if the "Admin" group be found in ACL
if (group) then
for _, object in ipairs(aclGroupListObjects(group) or {}) do
local objType = gettok( object, 1, string.byte('.') )
-- objType: gets the object type only, which can be either "user" or "resource"
if (objType == "user") then -- checks if it's a player account
local _name = gettok( object, 2, string.byte('.') ) -- ignores "user." by separating that from the account name
table.insert( admins, _name ) -- adds the account name to the "admins" table
end
end
end
for i, name in ipairs(admins) do -- loop through the table "admins"
outputChatBox(tostring(i).." : "..tostring(name), player, 140, 220, 140)
-- output will look like this: "1 : John"
end
end
addCommandHandler("getAdminAccounts", outputAdminGroupAccounts)
-- adds the command "getAdminAccounts" and attaches it to the function "outputAdminGroupAccounts"
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