From f0a9e7ddc854678d716afb90ae06e120480290a0 Mon Sep 17 00:00:00 2001 From: Diego Martinez Date: Thu, 22 May 2014 13:08:25 -0300 Subject: [PATCH] Sort commands and privs alphabetically in '/help'. Also make a stray variable local. --- builtin/game/chatcommands.lua | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/builtin/game/chatcommands.lua b/builtin/game/chatcommands.lua index 6c5fea693..fb08d2a6b 100644 --- a/builtin/game/chatcommands.lua +++ b/builtin/game/chatcommands.lua @@ -56,24 +56,37 @@ core.register_chatcommand("help", { end if param == "" then local msg = "" - cmds = {} + local cmds = {} for cmd, def in pairs(core.chatcommands) do if core.check_player_privs(name, def.privs) then table.insert(cmds, cmd) end end + table.sort(cmds) core.chat_send_player(name, "Available commands: "..table.concat(cmds, " ")) core.chat_send_player(name, "Use '/help ' to get more information, or '/help all' to list everything.") elseif param == "all" then - core.chat_send_player(name, "Available commands:") + local cmds = {} for cmd, def in pairs(core.chatcommands) do if core.check_player_privs(name, def.privs) then - core.chat_send_player(name, format_help_line(cmd, def)) + table.insert(cmds, cmd) end end + table.sort(cmds) + core.chat_send_player(name, "Available commands:") + for _, cmd in ipairs(cmds) do + local def = core.chatcommands[cmd] + core.chat_send_player(name, format_help_line(cmd, def)) + end elseif param == "privs" then - core.chat_send_player(name, "Available privileges:") + local privs = {} for priv, def in pairs(core.registered_privileges) do + table.insert(privs, priv) + end + table.sort(privs) + core.chat_send_player(name, "Available privileges:") + for _, priv in ipairs(privs) do + local def = core.registered_privileges[priv] core.chat_send_player(name, priv..": "..def.description) end else