de29399987
Made some changes to WebAdmin to make the new plugins work Old plugins still work like they're supposed to Not all hooks have been programmed for the new plugins yet, this still needs to be done git-svn-id: http://mc-server.googlecode.com/svn/trunk@182 0a769ca7-a7f5-676a-18bf-c427514a06d6
54 lines
1.9 KiB
Lua
54 lines
1.9 KiB
Lua
function HandleHelpCommand( Split, Player )
|
|
local PluginManager = cRoot:Get():GetPluginManager()
|
|
|
|
local LinesPerPage = 9
|
|
local CurrentPage = 1
|
|
local CurrentLine = 0
|
|
|
|
if( #Split == 2 ) then
|
|
CurrentPage = tonumber(Split[2])
|
|
end
|
|
|
|
local Pages = {}
|
|
|
|
local PluginList = PluginManager:GetAllPlugins()
|
|
for i, Plugin in ipairs( PluginList ) do
|
|
local Commands = Plugin:GetCommands()
|
|
for i, v in ipairs( Commands ) do
|
|
if( Player:HasPermission( v.Permission ) ) then
|
|
local PageNum = math.floor( CurrentLine/LinesPerPage )+1
|
|
if( Pages[ PageNum ] == nil ) then Pages[ PageNum ] = {} end -- Create page
|
|
|
|
if( Pages[ PageNum ].ShownName ~= Plugin:GetName() and SHOW_PLUGIN_NAMES == true ) then
|
|
if( CurrentLine == LinesPerPage * PageNum -1 ) then -- Don't add if it's the last line of the page, it looks silly
|
|
-- Add it to the next page instead
|
|
CurrentLine = CurrentLine+1
|
|
PageNum = math.floor( CurrentLine/LinesPerPage )+1
|
|
|
|
if( Pages[ PageNum ] == nil ) then Pages[ PageNum ] = {} end -- Create page
|
|
table.insert( Pages[ PageNum ], cChatColor.Gold .. Plugin:GetName() )
|
|
else
|
|
Pages[ PageNum ].ShownName = Plugin:GetName()
|
|
table.insert( Pages[ PageNum ], cChatColor.Gold .. Plugin:GetName() )
|
|
end
|
|
CurrentLine = CurrentLine+1
|
|
PageNum = math.floor( CurrentLine/LinesPerPage )+1
|
|
if( Pages[ PageNum ] == nil ) then Pages[ PageNum ] = {} end -- Create page
|
|
end
|
|
local Message = cChatColor.Blue .. v.Command .. v.Description;
|
|
table.insert( Pages[ PageNum ], Message )
|
|
CurrentLine = CurrentLine+1
|
|
end
|
|
end
|
|
end
|
|
|
|
Player:SendMessage( cChatColor.Purple .. "- All commands - " .. cChatColor.Gold .. "[Page " .. (CurrentPage) .."/"..#Pages.."]" )
|
|
|
|
if( Pages[CurrentPage] ~= nil ) then
|
|
for i, v in ipairs(Pages[CurrentPage]) do
|
|
Player:SendMessage( v )
|
|
end
|
|
end
|
|
|
|
return true
|
|
end |