88 lines
2.6 KiB
Modula-2
88 lines
2.6 KiB
Modula-2
#script=help
|
|
|
|
set,argstr ?{lowercase ${@def}}
|
|
lsplit,args,{ } ${argstr}
|
|
|
|
out == ${@version} :: help ==
|
|
|
|
if ?{not ?{llen args}}
|
|
log - type "help list" to list all avalible help topics
|
|
out - type "help basic" for some basic usage information.
|
|
out >> visit http:\//www.mangosclient.org for more information
|
|
out - type "help <cmd>" to see detailed information about a command
|
|
return
|
|
endif
|
|
|
|
if ?{equal,basic ?{lindex,args 0}}
|
|
out >> "say ..." to say something (might not work on servers blocking global language).
|
|
out >> "say,<language> ..." to say something in specified language (ID or name).
|
|
out >> "yell", "sayguild", "sayparty" is used in the same manner.
|
|
out >> there is a fun command, "sl,<language> <text>" that says text in leetspeak.
|
|
out >> "whisper,<playername>,<language>" to whisper to a player, language is optional, like in "say".
|
|
out >> "joinchannel <channelname>" joins a channel, "leavechannel <...>" leaves a channel".
|
|
out >> "chan,<channelname>,<language> <text>" says something in a channel. language is optional.
|
|
out >> "me <emote>" performs an emote. ID or emote name can be used.
|
|
return
|
|
endif
|
|
|
|
if ?{equal,list ?{lindex,args 0}}
|
|
out == Help topics avalible: ?{llen reg_name}
|
|
set,i 0
|
|
loop
|
|
if ?{bigger_eq,${i} ?{llen reg_name}}
|
|
exitloop
|
|
endif
|
|
out "help ?{lindex,reg_name ${i}}"
|
|
add,i 1
|
|
endloop
|
|
return
|
|
endif
|
|
|
|
set,i ?{lfind,reg_name ?{lindex,args 0}}
|
|
if ?{strlen ${i}}
|
|
?{lindex,reg_func ${i}} ?{ljoin,args { }} // call the function attached to the specified name, with all args passed to this func
|
|
else
|
|
logerror No help exists for "${argstr}"...
|
|
endif
|
|
|
|
|
|
|
|
//--------------------------------------------------------
|
|
#script=RegisterHelpTopic
|
|
//--------------------------------------------------------
|
|
// @def: topic name "help <this>"
|
|
// @0: function name to call
|
|
set,topic ?{lowercase ${@def}}
|
|
set,func ?{lowercase ${@0}}
|
|
if ?{not ?{strlen ${topic}}}
|
|
return
|
|
endif
|
|
if ?{not ?{strlen ${name}}}
|
|
return
|
|
endif
|
|
|
|
if ?{not ?{lcontains,#help::reg_name ${topic}}}
|
|
lappend,#help::reg_name ${topic}
|
|
lappend,#help::reg_func ${func}
|
|
endif
|
|
|
|
|
|
|
|
//======================================================================================
|
|
//=== Help for some internal/predefined commands =======================================
|
|
//======================================================================================
|
|
|
|
#script=dummy
|
|
#onload
|
|
RegisterHelpTopic,help__say say
|
|
RegisterHelpTopic,help__yell yell
|
|
RegisterHelpTopic,help__chan chan
|
|
RegisterHelpTopic,help__sl sl
|
|
#/onload
|
|
|
|
|
|
|
|
#script=help__say
|
|
// to be written.....
|
|
|