summaryrefslogtreecommitdiffstats
path: root/MCServer/Plugins/Core/rank-groups.lua
diff options
context:
space:
mode:
authorbearbin <bearbin@gmail.com>2013-07-27 18:19:22 +0200
committerbearbin <bearbin@gmail.com>2013-07-27 18:19:22 +0200
commit1d0b57d8abf2297614659e1115b81d569612a402 (patch)
treedf7d0acb85b3ef5c4783f721a83908ddc5130ef7 /MCServer/Plugins/Core/rank-groups.lua
parentMerge pull request #7 from tigerw/master (diff)
parentMerge pull request #8 from mc-server/master (diff)
downloadcuberite-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.lua48
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