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

    @Telo

    It looks like this will not be fixed by the permission bridge. I will add a new feature to also allow helppages to be specified by permission nodes.

    Coming soon. Watch this space.
     
  3. Offline

    Knorke

    One of the pictures you posted shows an empty line. How did you do this?
    I can't get it to work.
     
  4. Offline

    ToastedJelly

    Just have an empty line in the page. The definition of the page is posted next to the image
     
  5. Offline

    Knorke

    Well, that was actually the first thing i tried. But it doesnt work.

    Could you please try it on the actual version?
     
  6. Offline

    ToastedJelly

    can you post your
    I'm using the current version myself. Can you post your config to pastebin.com? Or better yet, upload it somewhere, in case the used line break is the problem.
     
  7. Offline

    Knorke

    I guess a Code tag would work too: :)
    Code:
    [[page LazyRoad
    &c--- LAZYROAD - HELP ----------------------------------------
    Insert road, bridge or tunnel for type.
    roadName has to be supplied for all 3 types
    pillarName is only needed for bridges
    
    /type - Shows available presets
    /type roadName [pillarName] [start count] - Starts building
    /type stop - Stops Building
    /type undo - Undo last building (may be Bugged)
    ]]
    I just tried to convert the File to UTF8 and used Win, Mac and Unix style Linefeeds
    -> Problem is still there
     

    Attached Files:

  8. Offline

    ToastedJelly

    tried your config.txt on my test installation and it worked.
    Windows, RB 1000
     
  9. Offline

    Knorke

    Sorry for bothering you, just got the idea to try it on a fresh minecraft.

    Seems like ImprovedChat was the culprit.
     
  10. Offline

    ToastedJelly

    Cool, thanks for letting me know.
     
  11. Offline

    tidge789

    I am using permissions 3 and your plugin sees me in the group default, but i'm in admin and I don't even have a group called default
     
  12. Offline

    ToastedJelly

    That's strange. Which Serverversion are you using and what's the output of /plugins ?
     
  13. Offline

    tidge789

    I am using craftbukkit 1000 and i'm not sure what you mean by the output cuz i'm not very good in english but my plugin folder is at the root of my server where craftbukkit is.
     
  14. Offline

    ToastedJelly

    type the command "/plugins" and copy what it writes...
     
  15. Offline

    tidge789

    [32mHeroChat [37m, [32mPlgColdLightning [37m, [32mMultiVerse [37m, [32mSpawnControl [37m, [32mMineBackup [37m, [32mLockette [37m, [32mNSCommand [37m, [32mDeathTpPlus [37m, [32mxAuth [37m, [32mEssentials [37m, [32mChestShop [37m, [32mIBICF [37m, [32mWorldGuard [37m, [32mPvP Control [37m, [32mColoredSigns [37m, [32mWorldEdit [37m, [32mPermissions [37m, [32mBigBrother [37m, [32mNoGrief [37m, [32mHelpPages [37m, [32mNoGriefLava [37m, [32mEssentialsSpawn [37m, [32mNoGriefHoneyPots [37m, [32mNoGriefIgnite [37m, [32mNoGriefTNT [0m
     
  16. Offline

    ToastedJelly

    Hmm... I have to test this myself, i guess. Can you post your Permissions configuration to pastebin.com?
     
  17. Offline

    tidge789

  18. Offline

    Neils

    Is it working without any problems with Bukkit 1000 ?
     
  19. Offline

    ToastedJelly

    I think so. I'm in the process of changing it to be by permission-based instead of group-based to better suit the bukkit permissions philosophy

    @tidge789: Haven't forgot you, just had to wait for the weekend
     
  20. Offline

    marvinbek

    Or StickyHelp (That i made :p)
     
  21. Offline

    tidge789

    That's fine take your time. :D
     
  22. Offline

    Mathiasbk

    Can you make it possible to use "Æ", "Ø" and "å"? :D
     
  23. Offline

    Cubia

    error
    [​IMG]

    Uploaded with ImageShack.us
    Edit:sorry i forgot to say i typed /help
     
  24. Offline

    Neils

    It's working without any problem with my Server (CB 1000)
     
  25. Offline

    ToastedJelly

    @Cubia
    This is most likely caused by you not having an empty page rule.
    Can you provide your configuration?

    btw ... v2 will be released shortly and will be based on permissions
     
  26. Offline

    Kane

    Yeah default config is actually causing this. Using 1056.

    /help in game
    says /help <page>

    in console:
    Code:
    05:45:23 [SEVERE] java.lang.NullPointerException
    05:45:23 [SEVERE]       at me.ToastedJelly.HelpPages.HelpPagesConfiguration.showHelp(HelpPagesConfiguration.java:331)
    05:45:23 [SEVERE]       at me.ToastedJelly.HelpPages.HelpPagesPlugin.cmdHelp(HelpPagesPlugin.java:75)
    05:45:23 [SEVERE]       at me.ToastedJelly.HelpPages.HelpPagesPlugin.onCommand(HelpPagesPlugin.java:40)
    05:45:23 [SEVERE]       at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
    05:45:23 [SEVERE]       at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:129)
    05:45:23 [SEVERE]       at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:352)
    05:45:23 [SEVERE]       at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:737)
    05:45:23 [SEVERE]       at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:701)
    05:45:23 [SEVERE]       at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:694)
    05:45:23 [SEVERE]       at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
    05:45:23 [SEVERE]       at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    05:45:23 [SEVERE]       at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:89)
    05:45:23 [SEVERE]       at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:434)
    05:45:23 [SEVERE]       at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    05:45:23 [SEVERE]       at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:454)
    05:45:23 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363)
    05:45:23 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
    And using /help in console:
    Code:
    >help
    05:46:51 [INFO] --------------------- HELP 1/2  ---------------------
    05:46:51 [INFO] Hello User, you can use the following commands:
    05:46:51 [INFO] /help [#] - Shows help page [#]
    Clearly it shows you it works. I even deleted all the configs besides userpage with * permissions.
     
  27. Offline

    Jens Andersson

    Is it not compitable with PermissionsBukkit i keep getting this error:

     
  28. Offline

    ToastedJelly

    Thanks. hope to get a new version out till monday...
     
  29. Offline

    Kane

    Should not break though unless it was never codded to standard. The bridge would work.
     
  30. Offline

    ToastedJelly

    Yes, it doesn't - works for me on RB 1000. I think the bugs are from the default definitions using group names that aren't available on default RB 1000 with the bridge, so /help without a page name is not defined. Exceptions will go away once you defined your groups and pages.
     
  31. Offline

    Kane

    Ahh okay thanks for the explanation. It sucks that almost every plugin seams to have a issue in the help related ones.
     

Share This Page