diff options
author | nielsbreu@gmail.com <nielsbreu@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2013-03-24 16:44:44 +0100 |
---|---|---|
committer | nielsbreu@gmail.com <nielsbreu@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2013-03-24 16:44:44 +0100 |
commit | 03e29802cdde309f3734ab7b6dd17ab60b9a359f (patch) | |
tree | bcc0712b29b55fa6ede3df3757f14e0c428b8af4 /MCServer/Plugins/Core/console.lua | |
parent | Fixed a problem in Linux handling of ListenThread. (diff) | |
download | cuberite-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.lua | 36 |
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)
|