summaryrefslogtreecommitdiffstats
path: root/MCServer/Plugins/Core/console.lua
diff options
context:
space:
mode:
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)