summaryrefslogtreecommitdiffstats
path: root/MCServer/Plugins/Core/console.lua
diff options
context:
space:
mode:
authornielsbreu@gmail.com <nielsbreu@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2013-03-24 16:44:44 +0100
committernielsbreu@gmail.com <nielsbreu@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2013-03-24 16:44:44 +0100
commit03e29802cdde309f3734ab7b6dd17ab60b9a359f (patch)
treebcc0712b29b55fa6ede3df3757f14e0c428b8af4 /MCServer/Plugins/Core/console.lua
parentFixed a problem in Linux handling of ListenThread. (diff)
downloadcuberite-03e29802cdde309f3734ab7b6dd17ab60b9a359f.tar
cuberite-03e29802cdde309f3734ab7b6dd17ab60b9a359f.tar.gz
cuberite-03e29802cdde309f3734ab7b6dd17ab60b9a359f.tar.bz2
cuberite-03e29802cdde309f3734ab7b6dd17ab60b9a359f.tar.lz
cuberite-03e29802cdde309f3734ab7b6dd17ab60b9a359f.tar.xz
cuberite-03e29802cdde309f3734ab7b6dd17ab60b9a359f.tar.zst
cuberite-03e29802cdde309f3734ab7b6dd17ab60b9a359f.zip
Diffstat (limited to 'MCServer/Plugins/Core/console.lua')
-rw-r--r--MCServer/Plugins/Core/console.lua36
1 files changed, 34 insertions, 2 deletions
diff --git a/MCServer/Plugins/Core/console.lua b/MCServer/Plugins/Core/console.lua
index 25c484e79..5a1ce8ef2 100644
--- a/MCServer/Plugins/Core/console.lua
+++ b/MCServer/Plugins/Core/console.lua
@@ -17,6 +17,7 @@ function InitConsoleCommands()
PluginMgr:BindConsoleCommand("save-all", HandleConsoleSaveAll, "Saves all chunks");
PluginMgr:BindConsoleCommand("say", HandleConsoleSay, "Sends a chat message to all players");
PluginMgr:BindConsoleCommand("unload", HandleConsoleUnload, "Unloads all unused chunks");
+ PluginMgr:BindConsoleCommand("rank", HandleConsoleRank, " [Player] [Rank] - to add someone to a group");
end
@@ -166,8 +167,39 @@ function HandleConsoleUnload(Split)
return true;
end
-
-
+function HandleConsoleRank(Split)
+ if Split[2] == nil or Split[3] == nil then
+ LOG("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
+ LOG("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 )
+ LOG("Player " .. Split[2] .. " Was moved to " .. Split[3])
+ return true
+end
function HandleConsole(Split)