diff options
author | Alexander Harkness <bearbin@gmail.com> | 2013-07-27 17:24:03 +0200 |
---|---|---|
committer | Alexander Harkness <bearbin@gmail.com> | 2013-07-27 17:24:03 +0200 |
commit | 983d87e44356c4cfc8f8908ec365006323a4dbe0 (patch) | |
tree | b035a1f68cf97fd3fbfbf5fed187d3f465835f3b /MCServer/Plugins/Core/help.lua | |
parent | Removed extraneous core. (diff) | |
download | cuberite-983d87e44356c4cfc8f8908ec365006323a4dbe0.tar cuberite-983d87e44356c4cfc8f8908ec365006323a4dbe0.tar.gz cuberite-983d87e44356c4cfc8f8908ec365006323a4dbe0.tar.bz2 cuberite-983d87e44356c4cfc8f8908ec365006323a4dbe0.tar.lz cuberite-983d87e44356c4cfc8f8908ec365006323a4dbe0.tar.xz cuberite-983d87e44356c4cfc8f8908ec365006323a4dbe0.tar.zst cuberite-983d87e44356c4cfc8f8908ec365006323a4dbe0.zip |
Diffstat (limited to 'MCServer/Plugins/Core/help.lua')
-rw-r--r-- | MCServer/Plugins/Core/help.lua | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/MCServer/Plugins/Core/help.lua b/MCServer/Plugins/Core/help.lua new file mode 100644 index 000000000..339fc054b --- /dev/null +++ b/MCServer/Plugins/Core/help.lua @@ -0,0 +1,41 @@ +function HandleHelpCommand(Split, Player) + local PluginManager = cRoot:Get():GetPluginManager() + + local LinesPerPage = 8; + local CurrentPage = 1; + local CurrentLine = 0; + local PageRequested = 1; + local Output = {}; + + if (#Split == 2) then + PageRequested = tonumber(Split[2]); + end + + local Process = function(Command, Permission, HelpString) + if not(Player:HasPermission(Permission)) then + return false; + end; + if (HelpString == "") then + return false; + end; + + CurrentLine = CurrentLine + 1; + CurrentPage = math.floor(CurrentLine / LinesPerPage) + 1; + if (CurrentPage ~= PageRequested) then + return false; + end; + table.insert(Output, cChatColor.Blue .. Command .. HelpString); + end + + PluginManager:ForEachCommand(Process); + + -- CurrentPage now contains the total number of pages, and Output has the individual help lines to be sent + + Player:SendMessage(cChatColor.Purple .. "---------- [COMMANDS HELP " .. cChatColor.Gold .. "(Page " .. PageRequested .. " / " .. CurrentPage .. ")" .. cChatColor.Purple .. "] -----------"); + Player:SendMessage(cChatColor.Purple .. "'-' means no prefix, '~' means a value is required."); + for idx, msg in ipairs(Output) do + Player:SendMessage(msg); + end; + + return true +end
\ No newline at end of file |