Paste #35659: Diff note for paste #35658

Date: 2016/08/29 04:43:59 UTC-07:00
Type: Diff Report

View Raw Paste Download This Paste
Copy Link


 #---------------------------------------------+
 #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 <&lt>page<&gt>
   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 <&lt><&7>page<&f><&gt>"