diff options
author | bearbin <bearbin@gmail.com> | 2013-07-27 18:19:22 +0200 |
---|---|---|
committer | bearbin <bearbin@gmail.com> | 2013-07-27 18:19:22 +0200 |
commit | 1d0b57d8abf2297614659e1115b81d569612a402 (patch) | |
tree | df7d0acb85b3ef5c4783f721a83908ddc5130ef7 /MCServer/Plugins/Core/rank-groups.lua | |
parent | Merge pull request #7 from tigerw/master (diff) | |
parent | Merge pull request #8 from mc-server/master (diff) | |
download | cuberite-1d0b57d8abf2297614659e1115b81d569612a402.tar cuberite-1d0b57d8abf2297614659e1115b81d569612a402.tar.gz cuberite-1d0b57d8abf2297614659e1115b81d569612a402.tar.bz2 cuberite-1d0b57d8abf2297614659e1115b81d569612a402.tar.lz cuberite-1d0b57d8abf2297614659e1115b81d569612a402.tar.xz cuberite-1d0b57d8abf2297614659e1115b81d569612a402.tar.zst cuberite-1d0b57d8abf2297614659e1115b81d569612a402.zip |
Diffstat (limited to 'MCServer/Plugins/Core/rank-groups.lua')
-rw-r--r-- | MCServer/Plugins/Core/rank-groups.lua | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/MCServer/Plugins/Core/rank-groups.lua b/MCServer/Plugins/Core/rank-groups.lua new file mode 100644 index 000000000..157d91744 --- /dev/null +++ b/MCServer/Plugins/Core/rank-groups.lua @@ -0,0 +1,48 @@ +function HandleRankCommand( Split, Player ) + if Split[2] == nil or Split[3] == nil then + Player:SendMessage(cChatColor.Rose .. "Usage: /rank [Player] [Group]") + return true + end + local GroupsIni = cIniFile("groups.ini") + if( GroupsIni:ReadFile() == false ) then + LOG("Could not read groups.ini!") + end + if GroupsIni:FindKey(Split[3]) == -1 then + Player:SendMessage(cChatColor.Rose .. "Group does not exist") + return true + end + local UsersIni = cIniFile("users.ini") + if( UsersIni:ReadFile() == false ) then + LOG("Could not read users.ini!") + end + UsersIni:DeleteKey(Split[2]) + UsersIni:GetValueSet(Split[2], "Groups", Split[3]) + UsersIni:WriteFile() + local loopPlayers = function( Player ) + if Player:GetName() == Split[2] then + Player:SendMessage( cChatColor.Green .. "You were moved to group " .. Split[3] ) + Player:LoadPermissionsFromDisk() + end + end + local loopWorlds = function ( World ) + World:ForEachPlayer( loopPlayers ) + end + cRoot:Get():ForEachWorld( loopWorlds ) + Player:SendMessage(cChatColor.Green .. "Player " .. Split[2] .. " Was moved to " .. Split[3]) + return true +end + +function HandleListGroupsCommand( Split, Player ) + local GroupsIni = cIniFile("groups.ini") + if GroupsIni:ReadFile() == false then + Player:SendMessage( cChatColor.Green .. "No groups found" ) + end + Number = GroupsIni:NumKeys() - 1 + Groups = {} + for i=0, Number do + table.insert( Groups, GroupsIni:KeyName(i) ) + end + Player:SendMessage( cChatColor.Green .. "Groups:" ) + Player:SendMessage( cChatColor.Green .. table.concat( Groups, ", " ) ) + return true +end
\ No newline at end of file |