AclGroupListObjects: Difference between revisions
Jump to navigation
Jump to search
(Added 2nd example) |
m (Removed comments, improved examples) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
{{Server function}} | {{Server function}} | ||
This function returns a table over all the objects that exist in a given ACL group. These are objects like players and resources. | This function returns a table over all the objects that exist in a given ACL group. These are objects like players and resources. | ||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
table aclGroupListObjects ( aclgroup theGroup ) | table aclGroupListObjects ( aclgroup theGroup ) | ||
Line 12: | Line 9: | ||
{{OOP||[[aclgroup]]:listObjects|objects|}} | {{OOP||[[aclgroup]]:listObjects|objects|}} | ||
===Required Arguments=== | ===Required Arguments=== | ||
*'''theGroup:''' The ACL group to get the objects from | *'''theGroup:''' The ACL group to get the objects from | ||
===Returns=== | ===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. | 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== | ==Examples== | ||
This example outputs a list of Objects if the ACL Group is given | This example outputs a list of Objects if the ACL Group is given | ||
<section name="Example 1: Server" class="server" show="true"> | <section name="Example 1: Server" class="server" show="true"> | ||
<syntaxhighlight lang="lua">addCommandHandler("aclObjectList",function(player,command,aclGroup) | <syntaxhighlight lang="lua"> | ||
if(aclGroup | addCommandHandler("aclObjectList",function(player,command,aclGroup) | ||
if aclGroup == '' then | |||
outputChatBox("Please add the aclGroup you want the list of.", player) | |||
outputChatBox("Syntax: /aclObjectList aclGroup", player) | |||
return | |||
end | |||
local objects = aclGroupListObjects(aclGetGroup(aclGroup)) | |||
for k,v in ipairs(objects) do | |||
outputChatBox("ACL LIST: "..aclGroup.." #"..k.." Object: "..v,player) | |||
end | end | ||
end) | end) | ||
Line 41: | Line 35: | ||
This example outputs through the command "getAdminAccounts" all accounts added to the "Admin" group. | This example outputs through the command "getAdminAccounts" all accounts added to the "Admin" group. | ||
<section name="Example 2: Server" class="server" show="true"> | <section name="Example 2: Server" class="server" show="true"> | ||
<syntaxhighlight lang="lua" >function outputAdminGroupAccounts( player ) | <syntaxhighlight lang="lua"> | ||
function 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 not group then return end | |||
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 | |||
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 | ||
Line 67: | Line 61: | ||
==See Also== | ==See Also== | ||
{{ACL_functions}} | {{ACL_functions}} | ||
[[zh-cn:aclGroupListObjects]] |
Latest revision as of 12:09, 18 October 2023
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
Click to collapse [-]
Example 1: ServeraddCommandHandler("aclObjectList",function(player,command,aclGroup) if aclGroup == '' then outputChatBox("Please add the aclGroup you want the list of.", player) outputChatBox("Syntax: /aclObjectList aclGroup", player) return end local objects = aclGroupListObjects(aclGetGroup(aclGroup)) for k,v in ipairs(objects) do outputChatBox("ACL LIST: "..aclGroup.." #"..k.." Object: "..v,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 not group then return end 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 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