Inactive [INFO] HelpPages 1.30 - Group-Specific Custom Help Pages [1337]

Discussion in 'Inactive/Unsupported Plugins' started by ToastedJelly, May 23, 2011.

  1. Offline

    ToastedJelly

    [​IMG]

    Version: v1.30
    CB Builds Tested: 1337,1060, 1000, 953, 935, 928, 860, 818, 803, 798, 766

    Download: Current Version 1.30 - older: V1.21 v1.20 v1.10, v1.00
    Completely customizable Group-Specific Help Pages. Permissions supported, but works without it. Powerful System to define what is shown depending on group and parameter after /help. Unrestricted: /help can be different from /help 1, pageable named help topics like /help warps, /help warps 2 or even /help 42 without having to define /help 41.
    It's recommended to conform to known standards for the normal help pages, but you can additionaly add easter eggs or store clues for treasure hunts etc.

    Features:
    • Simple configuration - No YML madness
    • Automatic configuration reload on change
    • Permissions: Group-Specific Help Pages
    • Supported Permission systems: Permissions 2/3, PermissionsEx, GroupManager, Op
    • Reuse of Help Pages for different groups
    • Numbered or Named Help Pages or a Mix
    • Unlimited Number of Pages and Lines per Page (max 10 recommended)
    • Standard Color Codes
    • Color preserving word-wrapping
    • Mutlilanguage Support - Every Message can be customized
    • Custom Group-Specific Variables
    • Testmode to check Help Pages for other Groups
    • Works in-game and in the Console.
    • Creates a list of all Commands and Descriptions on first Start for easy Copy'n'Paste
    • Updateable by CraftBukkitUpToDate
    How to Install:
    1. Download HelpPages.jar from the above Link.
    2. Put it in your plugins folder.
    3. Run the plugin at least once to create the HelpPages directory
    4. Customize HelpPages/config.txt and that's it. No need to reload the plugin. Configuration changes are automatically reloaded.
    5. To integrate this with other plugins that have a /help command like essentials, open the jar file of the other plugin with something like 7zip, extract the plugins.yml, edit it with a text editor and remove the lines defining the help command - i.e. the line "help:" and the following indented lines starting with "description", "usage" etc. Then add the customized plugins.yml back to the jar file.
    Permissions:
    Permissions are optional. If you don't use Permissions or the Command sender is not a Player (Console), Op-status is checked instead:​
    • HelpPages.setgroup - Allows you to view other groups Help Pages for testing purposes.
    Commands:
    • /help <page_selector> - Shows the selected Page. The page_selector is optional and can be something simple like 1 or something more complex like wolf 2
    • /help <page_selector> @ groupname - Shows help for different groups - needs Permission
    Configuration:
    Basic Configuration (open)

    • Define your Pages and name them. The name is arbitrary, but has to be unique. Example:
      Code:
      [[page Page1
                          	&4---------------- &fSHAFT&7LANDS &4/help 1&c/2 &4----------------
                          	Lock your chests, furnaces and doors by putting &6[private]
                          	signs next to them - for more Options see &3Lockette &fPlugin!
                          	Chat-Colors: &0&&0&1&&1&2&&2&3&&3&4&&4&5&&5&6&&6&7&&7&8&&8&9&&9&a&&a&b&&b&c&&c&d&&d&e&&e&f&&f
                          
                          	&c/help &7#  &f-  Views help page &7#
                          	&c/m  &f-  Sends a private message to the specified player
                          	&c/r  &f-  Reply to the last player you communicated with
                          	&c/me  &f-  Allows you to emote
                          ]]
                          [[page Page2
                          	&4---------------- &fSHAFT&7LANDS &4/help 2&c/2 &4----------------
                          	&c/who  &f-  Lists the players online and how many slots are left
                          	&c/spawn  &f-  Teleports you to the global spawn
                          	&c/home help  &f-  Shows home related help
                          	&c/warp help  &f-  Shows warp related help
                          	&c/kit  &f-  Obtains the specified kit or views all available kits
                          	&c/ping  &f-  Pong! (Check server response time)
                          	&c/getpos  &f-  Displays your current coordinates
                          	&c/back  &f-  Transports you back to your last deathpoint
                          ]]
      [​IMG]
    • As you see, you can use the Standard Color Codes:
      [​IMG]
    • The Order in which the Pages are defined is not important. They are referenced by their name.
    • Then you define which group sees which page depending on the selector
      Code:
      [[group Administrators,Moderators,(OP)
                           =>APage1
                           1=>APage1
                           2=>APage2
                           3=>APage3
                           4=>APage4
                           5=>APage5
                           6=>APage6
                          ]]
                          [[group *
                           =>Page1
                           1=>Page1
                           2=>Page2
                         ]]
    • The Order in which you define those group blocks is important, because the first one that matches your User is used. As you see, Administrators, Moderators (if you use Permissions) and Ops are getting APage1-6 - which I didn't show in the Page definition above and all Users that don't match any of those Groups, fall through and match on * and they get Page1 and Page2. It is recommended to set it up as above - having the empty selector pointing to the same page as the 1 selector, as that's how User expects it to be. You can of course deviate from this, if you know what you're doing.
    • Special groups are (OP) for Ops and Console, (USER) for non-Ops in case you don't have Permissions and * which matches Every User and should be used last as a catch-all, so Everyone gets some Help Pages.
    • Another Example: Setting up the topic Mining with two pages and Monsters with one page.
      Code:
      [[group Whatever
                           mining    => miningPage1
                           mining 1  => miningPage1
                           mining 2  => miningPage2
                           monster   => monsterPage
                           monster 1 => monsterPage
                         ]]
      • Selectors and Page names are case-insensitiv and additional spaces can be used for formatting purposes and are ignored.
      • Test mode Example: /help Creepers 2 @ SemiOps would show what SemiOps would see, if they would type /help Creepers 2 - given you have the permission to set the group - it's ignored otherwise.
    Advanced Configuration: Variables (open)

    • Default Variables available:
      • {name}, {displayname}
      • {group}
      • {world}
      • {health}
      • {pos} and {pos.x}, {pos.y}, {pos.z}
    • Custom Variables Example:
      Code:
                         [[group Administrators,Moderators,(OP)
                           title=noble
                            =>Page1
                           1=>Page1
                           2=>Page2
                         ]]
                         [[group *
                           title=commoner
                            =>Page1
                           1=>Page1
                           2=>Page2
                         ]]
                         ...
                         [[page Page1
                         Hello {title} {displayname}
                         ]]
                         
    • Using Custom Variables to reuse Pages at different Positions
      Code:
                        [[group Administrators,Moderators,(OP)
                          pageCount = 3
                          basicPageNum = 2
                          =>AdminCmds
                          1=>AdminCmds
                          2=>BasicCmds
                          3=>MoreAdminCmds
                        ]]
                        [[group *
                          pageCount = 1
                          basicPageNum = 1
                          =>BasicCmds
                          1=>BasicCmds
                        ]]
                        ...
                        [[page AdminCmds
                        -------- Page 1/3 --------
                        ]]
                        [[page BasicCmds
                        -------- Page {basicPageNum}/{pageCount} --------
                        ]]
                        ...
                        
    • Another extensive Example is available here: http://pastebin.com/3rMq4mc7

    Your turn:
    Do you have any suggestions on features you would like to have or did you find a Bug? Post a reply below! Please use a services like pastebin.com for Exceptions and complete Configuration files. I would also like to hear success stories or unusual use cases.​
    Finally if you like this plugin and would like to express your appreciation monetarily, feel free to​
    [​IMG]

    Changelog:
    • Version 1.30 2011-06-16
      • Tested Builds: 860, 928, 935, 953, 1000, 1060,1337
      • Permissions plugin support added for: Permissions 2/3, PermissionsEx, GroupManager
      • Bugfix: Customized Messages not loaded from configuration file.
    • Version 1.21 2011-06-01
      • Tested Builds: 818, 860
      • Bugfix: Bug introduced with v1.20: default config files isn't created. (Thanks WayGroovy, Azelote)
    • Version 1.20 2011-05-30
      • Tested Builds: 803, 818
      • Automatic reload of changed configuration file
      • removed /hp_reload and corresponding permission node
    • Version 1.10 2011-05-26
      • Tested Builds: 803
      • Color preserving word-wrapping added
      • Variables added
    • Version 1.00 2011-05-23
      • Tested Builds: 766, 798, 803
      • Initial Release
     
    aidancbrady and zipron like this.
  2. Offline

    ToastedJelly

    same questions you didn't answer last time.
     
  3. Offline

    wolf9988

    no /help @ admin didnt work and neither did citizen or outsider
    EDIT: you didnt check it completly i went back and checked there was a missing brackect
     
  4. Offline

    ToastedJelly

    Must have overlooked that. Does it work now?
     
  5. Offline

    wolf9988

    yeah thanx
     
  6. Offline

    TheGurw

    i just have to say, EPIC avatar, mate.

    also: i love this plugin. so specific, very very customizeable. i lurv customizing :p currently have a help set of over 50 pages....and still loving it (i have worldedit to thank for about 20 of those pages :eek:)
     
  7. Offline

    ToastedJelly

    Wow.. That's massive. Thanks for letting me know.
     
  8. Offline

    TheGurw

  9. Offline

    ToastedJelly

    Tested with Build 928
     
  10. Offline

    crueldog

    This works good, HOWEVER, there is a BIG bug where it will sometimes RE-SET YOUR File.
    Just happened to me, and I lost 5 hours of work. You should keep a backup copy of the file in the directory, just in case.
    Good potential though.
     
  11. Offline

    ToastedJelly

    I'm sorry to hear that. Can you reproduce the bug? The File should only be rewritten if the plugin can't find it.
     
  12. Offline

    lolzrofl

    "No Creepers were harmed in the making of this" LOL Creepers aren't harmed, they harm others! (In doing so harming them selves)!
    That aside, awesome plugin!
     
  13. Offline

    Neils

    Is this plugin working with 953 ?
     
  14. Offline

    ToastedJelly

    yes. I will mark it 953 once i did more extensive tests, but a quick test showed no problems
     
    rolandostar likes this.
  15. Offline

    crueldog

    Well, I deleted the plugin, and decided my server will not have a help file.. The file was there, I had it working good, then it just randomly reset itself.
     
  16. Offline

    rolandostar

    Awesome plugin! THX!
     
  17. Offline

    LiamFrazer

    Thank you for developing such a detailed help system. I especially enjoyed viewing all the copy and paste commands, you've saved me a lot of time configuring the file. I'm just giving it a quick test now, but it's extremely likely that I'll stick with this help system. Thanks again.
     
  18. Offline

    Vinceguy1

    WOW IT ACTUALLY WORKS at least help 3 didnt BUT THIS DOES
     
  19. Offline

    ToastedJelly

    Yeah.. that was the plan. :)
     
  20. Offline

    Wulfspider

    Just an idea for you...

    How about adding support for BukkitContrib? You could probably use it to have a custom Help button somewhere on the client or UI or just use the /help to bring it up. Perhaps even a way to keep your place on the GUI and automatically grabbing default commands from plugins if no custom pages are found?
     
  21. Offline

    ToastedJelly

    thanks for the suggestion. I'm not interested in clientside plugins atm, but if you are and want to collab, shoot me a PM with your ideas.
     
  22. Offline

    BrandonHopkins

    Ahhhh This is going to take FOREVER to config :eek:. Just what I needed :) Thanks.
     
  23. Offline

    ToastedJelly

    Let me know if it took forever when you're done :)
     
  24. Offline

    Telo

    anyone tryed this on #1000 ?

    what im doing wrong
    when type /help or /help Page1 or any page from config user group * it returns '/help <page>'
    but if I specify '/help @ *' it works and shows me default page for user group

    when im trying to look what group it see, catcher shows that {group} is empty. http://pastebin.com/UgBgpWP6

    im using #1000 and permissions 1.0 for it. added to permissions HelpPages.help: true
     
  25. Offline

    ToastedJelly

    You may have misspelled the group name. Try including this in your page:
    Your group is: {group}

    Then you can see your group or the group the plugin thinks you're in, in case you found a bug :)

    If this doesn't help, post me your config on pastebin.com
     
  26. Offline

    Telo

    already done =) I updated my post.
    (I can share screen in Skype or TemViewer or what u like.)
    ---UPD
    changed to see more good. If I type /help @ or /help @ * it works but dont show group... Im logged as admin in ops.txt and in permission plugin too.
    [​IMG]

    Uploaded with ImageShack.us
     
  27. Offline

    ToastedJelly

    Hmm... I'm not supporting the new Bukkit Permissions yet, but the "Compatibility layer between original Permissions and Bukkit Superperms" you installed should have helped.

    What is HelpPages printing out on start/reload?
    What do you get for /permissions player groups YOURNAME?
     
  28. Offline

    Telo


    I installed PermissionBridge for support old plugins and setup permission for all reasons:
    Code:
                superpermbridge.HelpPages.help: true
                superpermbridge.HelpPages: true
                HelpPages.help: true
                HelpPages*: true
    when reload server in console;
    Code:
    22:24:41 [INFO] [Graveyard] v0.3.7 loaded successfully!
    22:24:41 [INFO] HelpPages 1.3 enabled
    22:24:41 [INFO] Help Pages reloaded.
    22:24:41 [INFO] HelpPages: Permissions detected
    22:24:41 [INFO] [HeroChat] HeroChat version 4.10.3 enabled.
    when typing /help it shows error like above in this thread when guy have problems with permissions:
    Code:
    22:24:42 [INFO] ControllerBlock: Loaded v4 data - 1 ControllerBlocks loaded
    22:27:28 [SEVERE] java.lang.NullPointerException
    22:27:28 [SEVERE]       at me.ToastedJelly.HelpPages.HelpPagesConfiguration.show
    Help(HelpPagesConfiguration.java:331)
    22:27:28 [SEVERE]       at me.ToastedJelly.HelpPages.HelpPagesPlugin.cmdHelp(Hel
    pPagesPlugin.java:75)
    22:27:28 [SEVERE]       at me.ToastedJelly.HelpPages.HelpPagesPlugin.onCommand(H
    elpPagesPlugin.java:40)
    22:27:28 [SEVERE]       at org.bukkit.command.PluginCommand.execute(PluginComman
    d.java:35)
    22:27:28 [SEVERE]       at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCo
    mmandMap.java:129)
    22:27:28 [SEVERE]       at org.bukkit.craftbukkit.CraftServer.dispatchCommand(Cr
    aftServer.java:320)
    22:27:28 [SEVERE]       at net.minecraft.server.NetServerHandler.handleCommand(N
    etServerHandler.java:713)
    22:27:28 [SEVERE]       at net.minecraft.server.NetServerHandler.chat(NetServerH
    andler.java:677)
    22:27:28 [SEVERE]       at net.minecraft.server.NetServerHandler.a(NetServerHand
    ler.java:670)
    22:27:28 [SEVERE]       at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:3
    3)
    22:27:28 [SEVERE]       at net.minecraft.server.NetworkManager.b(NetworkManager.
    java:226)
    22:27:28 [SEVERE]       at net.minecraft.server.NetServerHandler.a(NetServerHand
    ler.java:85)
    22:27:28 [SEVERE]       at net.minecraft.server.NetworkListenThread.a(SourceFile
    :105)
    22:27:28 [SEVERE]       at net.minecraft.server.MinecraftServer.h(MinecraftServe
    r.java:451)
    22:27:28 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftSer
    ver.java:361)
    22:27:28 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(Sour
    ceFile:422)
    >help
    22:27:59 [INFO] --------------------- HELP 1/2  ---------------------
    22:27:59 [INFO] Hello Admin, you can use the following commands:
    22:27:59 [INFO] /help [#] - Shows help page [#]
    >
    
    BUT if i type /help in console - it works good - it shows admin page for me. I dont know why it works from console.. cause im trying it in game with admin rights ops.txt and permissions too im admin.

    so I think it permissions problem


    What do you get for /permissions player groups YOURNAME?
    [​IMG]


    allright, I see that Telo is admin group but In HelpPages config group is Administrators... so I changed config to "admin" - but not work too. exeption too. {group} empty when /help @ too.
     
  29. Offline

    ToastedJelly

    Thanks. Looks like the bridge doesn't return the groups. I can't check it myself atm, but I will ask the author of the bridge plugin what he thinks.
     
  30. Offline

    PnkPnther

    aaahhh i think im gonna screw it up... cant you make it more user-friendly? please... other than that nice plugin :)
     
  31. Offline

    ToastedJelly

    By doing what?
     

Share This Page