#---------------------------------------------+
#Created 29.08.16 - 29.08.16 |
#Script-Help by BloodEko |
# |
#Easy way to add a help command for dScripts |
# |
#Permission: scripthelp.use |
# Access to the /shelp command |
# |
#---------------------------------------------+
# Usage: /shelp |
#---------------------------------------------+
# Just create a version script, like the |
# example script to hook it. |
# Note: |
# The name of the script must look like |
# shelp_<replace-with-your-name> |
#---------------------------------------------+
shelp_examplescript1:
type: version
author: BloodEko
name: Script Help
usage: /shelp syntax
version: 0.1
+ id: 105
link: http://old.mcmonkey.org/denizen/repo/entry/105
#--------------------------------------------+
# |
# Internal Scripts |
# |
#--------------------------------------------+
sh_command_handler:
type: command
name: shelp
usage: /shelp | author|version|link|usage <<>page<>>
description: Shows informations about hooked scripts
permission: scripthelp.use
permission message: You don't have the permission for using this command.
script:
#
# /shelp
#
- if <context.args.size> == 0 {
- define scripts_amount "<server.list_scripts.filter[starts_with[s@shelp_]].size||0>"
- if <def[scripts_amount]> < 1 { - narrate "no scripts found" - queue clear }
#
- if <def[scripts_amount]> <= 10 {
- narrate "-----[<&6>Scripts page <&f>1/1 ]-----"
}
else {
- define pages_amount "<def[scripts_amount].div[10].round_up>"
- narrate "-----[<&6>Scripts page <&f>1/<def[pages_amount]> ]-----"
}
- foreach <server.list_scripts.filter[starts_with[s@shelp_]].get[1].to[10]> {
- narrate " <&a><def[value].yaml_key[name]||unkown> <&f>- <&7><def[value].yaml_key[usage]||unkown>"
}
}
#
# /shelp author|version|link
#
else if <context.args.size> == 1 {
- define scripts_amount "<server.list_scripts.filter[starts_with[s@shelp_]].size||0>"
- if <def[scripts_amount]> < 1 { - narrate "no scripts found" - queue clear }
- if !<li@author|version|link|usage.contains[<context.args.get[1]>]> {
- inject locally sh_false_syntax
- queue clear
}
#
- if <def[scripts_amount]> <= 10 {
- narrate "-----[<&6>Scripts page <&f>1/1 ]-----"
}
else {
- define pages_amount "<def[scripts_amount].div[10].round_up>"
- narrate "-----[<&6>Scripts page <&f>1/<def[pages_amount]> ]-----"
}
- foreach <server.list_scripts.filter[starts_with[s@shelp_]].get[1].to[10]> {
- narrate " <&a><def[value].yaml_key[name]||unkown> <&f>- <&7><def[value].yaml_key[<context.args.get[1]>]||unkown>"
}
}
else if <context.args.size> == 2 {
- define scripts_amount "<server.list_scripts.filter[starts_with[s@shelp_]].size||0>"
- if <def[scripts_amount]> < 1 { - narrate "no scripts found" - queue clear }
- if !<li@author|version|link|usage.contains[<context.args.get[1]>]> {
- inject locally sh_false_syntax
- queue clear
}
- if <context.args.get[2]> !matches number {
- narrate "<&4>ERROR <&6><context.args.get[2]> <&4>is no valid number."
- queue clear
}
- define pages_amount "<def[scripts_amount].div[10].round_up>"
- define page "<context.args.get[2].as_int>"
- if <def[pages_amount]> < <context.args.get[2]> {
- narrate "<&6>There are only <&f><def[pages_amount]> <&6>pages. Showing page <&f>1 <&6>instead."
- define page "1"
}
#
- if <def[scripts_amount]> <= 10 {
- narrate "-----[<&6>Scripts page <&f>1/1 ]-----"
}
else {
- narrate "-----[<&6>Scripts page <&f><def[page]>/<def[pages_amount]> ]-----"
}
- define page_from "<el@val[1].add[<el@val[<def[page]>].sub[1].mul[10]>]>"
- define page_to "<def[page].mul[10]>"
- foreach <server.list_scripts.filter[starts_with[s@shelp_]].get[<def[page_from]>].to[<def[page_to]>]> {
- narrate " <&a><def[value].yaml_key[name]||unkown> <&f>- <&7><def[value].yaml_key[<context.args.get[1]>]||unkown>"
}
}
else {
- inject locally sh_false_syntax
}
sh_false_syntax:
- narrate "<&7>Command Syntax"
- narrate "<&7>[1] <&f>/shelp"
- narrate "<&7>[2] <&f>/shelp author | version | link | usage"
- narrate "<&7>[3] <&f>/shelp author | version | link | usage <<><&7>page<&f><>>"