Small update. Added 2nd parameter to amx_help for server. Server can type "amx_help 1 150" to view 150 help cmds at once.

This commit is contained in:
Johnny Bergström 2004-05-16 11:31:41 +00:00
parent 2cf4801f6b
commit 7bb4c78a33

View File

@ -41,34 +41,49 @@ new g_timeInfo1[] = "Time Left: %d:%02d min. Next Map: %s"
new g_timeInfo2[] = "No Time Limit. Next Map: %s" new g_timeInfo2[] = "No Time Limit. Next Map: %s"
public plugin_init() { public plugin_init() {
register_plugin("Admin Help","0.16","AMXX Dev Team") register_plugin("Admin Help","0.16","AMXX Dev Team")
register_concmd("amx_help","cmdHelp",0,"- displays this help") register_concmd("amx_help","cmdHelp",0,"<page> [nr of cmds (only for server)] - displays this help")
setHelp(0) setHelp(0)
} }
public client_putinserver(id) public client_putinserver(id)
setHelp(id) setHelp(id)
public cmdHelp(id,level,cid){ public cmdHelp(id,level,cid) {
new arg1[8],flags = get_user_flags(id) new arg1[8], flags = get_user_flags(id)
new start = read_argv(1,arg1,7) ? str_to_num(arg1) : 1 new start = read_argv(1,arg1,7) ? str_to_num(arg1) : 1
if (--start < 0) start = 0
new clcmdsnum = get_concmdsnum(flags,id) new lHelpAmount = HELPAMOUNT
if (start >= clcmdsnum) start = clcmdsnum - 1 if (id == 0 && read_argc() == 3)
console_print(id,"^n----- AMX Mod X Help: Commands -----") lHelpAmount = read_argv(2, arg1, 7) ? str_to_num(arg1) : HELPAMOUNT
new info[128], cmd[32], eflags
new end = start + HELPAMOUNT if (--start < 0)
if (end > clcmdsnum) end = clcmdsnum start = 0
for (new i = start; i < end; i++){
get_concmd(i,cmd,31,eflags,info,127,flags,id) new clcmdsnum = get_concmdsnum(flags,id)
console_print(id,"%3d: %s %s",i+1,cmd,info)
} if (start >= clcmdsnum)
console_print(id,"----- Entries %d - %d of %d -----",start+1,end,clcmdsnum) start = clcmdsnum - 1
if (end < clcmdsnum)
console_print(id,"----- Use 'amx_help %d' for more -----",end+1) console_print(id,"^n----- AMX Mod X Help: Commands -----")
else new info[128], cmd[32], eflags
console_print(id,"----- Use 'amx_help 1' for begin -----") new end = start + lHelpAmount // HELPAMOUNT
return PLUGIN_HANDLED
if (end > clcmdsnum)
end = clcmdsnum
for (new i = start; i < end; i++) {
get_concmd(i,cmd,31,eflags,info,127,flags,id)
console_print(id,"%3d: %s %s",i+1,cmd,info)
}
console_print(id,"----- Entries %d - %d of %d -----",start+1,end,clcmdsnum)
if (end < clcmdsnum)
console_print(id,"----- Use 'amx_help %d' for more -----",end+1)
else
console_print(id,"----- Use 'amx_help 1' for begin -----")
return PLUGIN_HANDLED
} }
public dispInfo(id){ public dispInfo(id){
@ -80,12 +95,12 @@ public dispInfo(id){
new timeleft = get_timeleft() new timeleft = get_timeleft()
if (timeleft > 0){ if (timeleft > 0){
if (id) client_print(id,print_chat, g_timeInfo1 , timeleft / 60, timeleft % 60,nextmap) if (id) client_print(id,print_chat, g_timeInfo1 , timeleft / 60, timeleft % 60,nextmap)
else server_print( g_timeInfo1 , timeleft / 60, timeleft % 60,nextmap) else server_print( g_timeInfo1 , timeleft / 60, timeleft % 60,nextmap)
} }
} }
else if (id) client_print(id,print_chat, g_timeInfo2 ,nextmap) else if (id) client_print(id,print_chat, g_timeInfo2 ,nextmap)
else server_print( g_timeInfo2 ,nextmap) else server_print( g_timeInfo2 ,nextmap)
} }
setHelp(id) setHelp(id)
set_task(15.0,"dispInfo",id) set_task(15.0,"dispInfo",id)