blob: fe8c50492db8d2ab480604066ca6cb04b705e68e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
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, Command .. HelpString )
end
PluginManager:ForEachCommand( Process )
-- CurrentPage now contains the total number of pages, and Output has the individual help lines to be sent
SendMessage( Player, "Page " .. PageRequested .. " out of " .. CurrentPage .. "." )
SendMessage( Player, "'-' means no prefix, '~' means a value is required." )
for idx, msg in ipairs( Output ) do
SendMessage( Player, msg )
end
return true
end
|