Master_11 Posted May 30, 2018 Share Posted May 30, 2018 Hi, I am facing a problem in making this small script, well my Idea is to show all the accounts added in an ACL group to a GUI grid list, for example group 'admin' and I want all the account Names present in that ACL group to show in the grid list even if the player is offline. Client: function GetAccList(accName) if (not accName) then return false end local acsrow = guiGridListAddRow(AccountList) guiGridListSetItemText(AccountList, acsrow, accNameCol, accName, false, false) guiGridListSetItemText(AccountList, acsrow, accNameCol, plrName, false, false) end addEvent("GetACSList", true) addEventHandler("GetACSList", root, GetAccList) Server: function OutputaccList(client, accName, plrName) local ACSList = {} local accountTable = getAccounts() for theKey, theAccount in pairs (accountTable) do local thePlayer = getAccountPlayer(theAccount) accountname = getAccountName(getPlayerAccount(thePlayer)) if (not isObjectInACLGroup("user."..accountname, aclGetGroup("Admin"))) then return false end local plrName = getPlayerName(thePlayer) local accName = accountname ACSList[accName] = plrname end triggerClientEvent(client, "GetACSList", source, ACSList) end addCommandHandler("adminpanel", OutputaccList) To open the panel the command is same "adminpanel". Link to comment
Addlibs Posted May 30, 2018 Share Posted May 30, 2018 (edited) Why not just use aclGroupListObjects(aclGetGroup ("Admin")) This will return all objects in the ACL group, with the prefix I believe, so now all you need to do is filter out everything other than what starts with "user." When it comes to the code you posted above, you cannot use return in a loop in the way you used it on line 8. This aborts the loop, so as soon as an account that isn't in the admin group is iterated, the loop completely ends. In such loops, I believe the only way is to have all the code conditional on the if, rather than a return statement on the if. Edited May 30, 2018 by MrTasty Link to comment
Master_11 Posted May 30, 2018 Author Share Posted May 30, 2018 I tried it, MrTasty and thanks it worked fine but the problem I face now is triggerClientEvent. This gives me an error of [Expected string at argument 1, got nil] Here is my script Client: function OutputAdminList(list) adminlist = list guiGridListClear(AccountList) local acclist = {} for k in pairs(adminlist) do table.insert(acclist, k) end table.sort(acclist) for i, k in ipairs(acclist) do local name = accName local row = guiGridListAddRow(AccountList, accName) end end addEvent("GetAdminList", true) addEventHandler("GetAdminList", resourceRoot, OutputAdminList) Server: function OutputAdminList(player) local adminlist = {} local group = aclGetGroup("Admin") if (not group) then return false end for i, object in ipairs(aclGroupListObjects(group) or {}) do local objType = gettok(object, 1, string.byte('.')) if (objType == "user") then local name = gettok(object, 2, string.byte('.')) table.insert(adminlist, name) end end triggerClientEvent(client, "GetAdminList", source, adminlist) end addCommandHandler("adminpanel", OutputAdminList) Link to comment
Z4Zy Posted May 30, 2018 Share Posted May 30, 2018 (edited) Server Side Script line 14 replace 1st argument of "triggerClientEvent" to player and 3rd to resourceRoot Edited May 30, 2018 by DeadthStrock Link to comment
Master_11 Posted May 30, 2018 Author Share Posted May 30, 2018 36 minutes ago, DeadthStrock said: Server Side Script line 14 replace 1st argument of "triggerClientEvent" to player and 3rd to resourceRoot Thanks, pal, it worked. For those who may use this as a reference, I replaced client with: function OutputAdminList(list, name) adminlist = list guiGridListClear(AccountList) for i, name in ipairs(adminlist) do local row = guiGridListAddRow(AccountList, name) end end addEvent("GetAdminList", true) addEventHandler("GetAdminList", resourceRoot, OutputAdminList) Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now