[MISC] ScrollingMenuSign - scrollable command menus with many view types [BukkitDev]

Discussion in 'Archived: Plugin Releases' started by desht, May 24, 2011.

  1. Offline

    desht

    ScrollingMenuSign - scrollable command menus
    Note: ScrollingMenuSign is now on dev.bukkit.org:

    All documentation for the plugin can now be found there. General discussion for the plugin is fine here, but please use dev.bukkit.org tickets for problem reports.

    ScrollingMenuSign lets you attach a scrollable command menu to any sign or map and add menu items to it. Right-click the sign to scroll the list of items, left-click it to select an item and execute its associated command. The inspiration for this plugin was the large number of Minecart Mania station names I (and others) have to remember and type in.



    Some possible uses:
    • A menu of station setting commands for Minecart Mania
    • Newbie user guide menus
    • Warp menus for your favourite teleportation plugin
    • A shop menu - buy/sell/swap items & credits
    • Controlled access to commands that users can't normally run
    Links:
    Changelog

    See the Changelog on dev.bukkit.org
     
    HWei, bluehasia, elmoo32 and 6 others like this.
  2. Offline

    gameswereus

    I am so sorry it took SO long for me to get back to you! Ok so now looking back at what I was doing wrong: I didn't have command signs or minecart mania installed. And THEN I was using the : not | It looks the same on minecraft so I didn't know that :p

    Thanks for this awesome plugin!!
     
  3. Offline

    Cenarius

    Code:
    18:16:58 [SEVERE] Could not pass event PLAYER_ITEM_HELD to ScrollingMenuSign
    java.lang.IllegalStateException: Start block missed in BlockIterator
            at org.bukkit.util.BlockIterator.<init>(BlockIterator.java:170)
            at org.bukkit.util.BlockIterator.<init>(BlockIterator.java:257)
            at org.bukkit.util.BlockIterator.<init>(BlockIterator.java:292)
            at org.bukkit.craftbukkit.entity.CraftLivingEntity.getLineOfSight(CraftL
    ivingEntity.java:93)
            at org.bukkit.craftbukkit.entity.CraftLivingEntity.getTargetBlock(CraftL
    ivingEntity.java:119)
            at me.desht.scrollingmenusign.ScrollingMenuSign.getTargetedMenuSign(Scro
    llingMenuSign.java:310)
            at me.desht.scrollingmenusign.SMSPlayerListener.onItemHeldChange(SMSPlay
    erListener.java:178)
            at org.bukkit.plugin.java.JavaPluginLoader$17.execute(JavaPluginLoader.j
    ava:356)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:321)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:659)
            at net.minecraft.server.Packet16BlockItemSwitch.a(SourceFile:24)
            at net.minecraft.server.NetworkManager.b(NetworkManager.java:223)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    cb935 ... ehummm waiting for the next update :D
    your plugin is truly amazing i can't imagine my server without it ^_^
     
  4. Offline

    desht

    Thanks for the kind words.

    However... I can't reproduce this problem at all. Tested on CB 935 and now also on 953, scrolling menus with the mouse wheel seems to work fine for me. Seems like the Bukkit getTargetBlock() call is the culprit - does this happen with all of your signs, or just certain ones? And if just some, then is there anything unusual about the sign's location/placement etc.?

    Yeah... that's something I really should have thought about when choosing the default separator. Probably not a good idea to change the default now, though. I was thinking about an alternative syntax, however - perhaps something like:

    Code:
    sms add mymenu "The Title" "/thecommand" "Feedback Message"
    
    So space-separated, but each field needs to be quoted. Looks clearer, but more typing... if I added that, I'd keep the old syntax around too.

    Glad you like it :)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  5. Offline

    Cenarius

    Code:
    20:13:16 [SEVERE] ScrollingMenuSign: caught exception loading plugins\ScrollingM
    enuSign\scrollingmenus.yml: special characters are not allowed
    20:13:17 [INFO] ScrollingMenuSign: An error occurred while loading the menus fil
    e, so a backup copy of plugins\ScrollingMenuSign\scrollingmenus.yml is being cre
    ated. The backup can be found at plugins\ScrollingMenuSign\scrollingmenus.yml.BA
    CKUP.8
    it works fine for few times but after few restarts this happen ..
    disabled auto-save, change always use command signs to false and still ..
    this happens over and over again ...
    even thought i add the signs from the same backup everytime but no .. some times it works some times it doesn't knowing that there is always the SAME charcters in the backup ..
    so ..
    what's wrong ?
    and does connecting the plugins to SQL database will make the preformance better, if so ... can you make a version that works with SQL ..
    if it wasn't scrollingmenusigns i world've delete but it's one of my main plugins can't imagine the server without it and the previus versions works great with the old bukkit release it's the first time i see this error ever ..
    so thank you for it ...
    and i hope i can hear your response soon (about the database)
     
  6. Offline

    desht

    Can you send me a copy of your scrollingmenus.yml file please, or make it available on pastebin? I'm not aware of any changes with the latest RB that would cause this and I've not seen this problem myself.

    Regarding SQL... yeah maybe one day. If I can ever figure out how to use the persistence API, which has a lot of problems and limitations, not to mention being seriously confusing and unclear.
     
  7. Offline

    Zerafas

    When setting up the required signs using sms and command signs, and reload or stop the server after saving, the signs appear with text but do nothing, and cannot scroll, as if they were a normal sign. Any thing i might have missed?

    ps they work perfectly b4 i restart, then trip out.
     
  8. Offline

    Infectedd

    After putting a sign with:
    /sms add Night|/@TimE night|It's nighttime!
    and a guest clicks it, it outputs It's nighttime and You do not have access to that command. The time doesn't switch to night. They have the following permissions:
    - scrollingmenusign.execute
    - scrollingmenusign.scroll
    - commandSigns.use

    CommandSigns IS installed. What can i do?

    WAIT WHAT IT WORKS NOW

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  9. Offline

    desht

    Hmm, I've seen reports of this before, but never gotten to the bottom of it.
    • Are there any errors in the server log when saving or reloading the menu file?
    • What does "/sms list" show you after restarting? Is the menu you created still there (and still has the location of the sign you added to it?)
    • Can you see the menu and location in your plugins/ScrollingMenuSign/scrollingmenus.yml file?
    • Are you using colour codes in any menu titles or entries and if so, what locale are you in? (I'm beginning to suspect some kind of Unicode encoding problem when reloading the file if it has colour code characters in it)
     
  10. Offline

    The3vilm0nk3y

    Im trying to setup a macro to describe classes I have available... but the macro won't dispaly text without running a /m or a /me command. How would I do this so only the one person that activated the sign can see the text.
    I'm trying to do it like this:
    /sms macro add BM Fireball-Shoots a FireBall at your Enemy
    /sms macro add BM Volley- Launch a Wave of Arrows Towards Your Enemy
    .....
    /sms add cdesc BattleMage|%BM

    What is it that I am Doing wrong.
     
  11. Offline

    desht

    What you're doing here is setting up the menu entry to run the %BM macro as a command. But if you just want the activating person to see the text, you need to use it as feedback text:

    Code:
    /sms add cdesc BattleMage||%BM
    
    Note two vertical bars there - that has an empty command (second field), and the feedback message (third field) will be the lines of text you added to the macro.

    (If the macro isn't displaying any text at all when being run as a command, my guess is that you also have CommandSigns installed? In that case, the command is passed straight over to CommandSigns, which expects any spoken text to start with a '\').

    OK, there's a test build of ScrollingMenuSign.jar available here:

    http://dl.dropbox.com/u/12467600/ScrollingMenuSign.jar

    This hopefully contains a fix for those people who reported that their signs stop working after a server reload/restart. It doesn't contain any new functionality and is not worth installing if you haven't had any problems like the above.

    Details of the fix: menus are saved to scrollingmenus.yml with UTF-8 encoding, but the code to load the YAML back neglected to specify any encoding. This is fine for some locales (including mine which is why I couldn't ever reproduce the problem), but not others. The result is that whenever non-ASCII characters are used (specifically, the § Minecraft colour code character), the file was considered invalid on reload because it contained illegal characters.

    Anyway the file is now considered as UTF-8 encoded when both saving and loading which I hope will fix the problem!

    So please let me know if this fixes your problems (@Cenarius & @Zerafas in particular). If so, I'll get a 0.4.1 release out soon.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  12. Offline

    Cenarius

    Thanks :D
    Tested and no problems were found when editing the signs ^_^
     
    desht likes this.
  13. Offline

    The3vilm0nk3y

    Thank You... This Works just how i wanted it too. :D
     
  14. Offline

    desht

  15. Offline

    Cenarius

    am on the test .. hope it's gone now :D
    i'll report soon :)

    will i just copied a backup from scrolling menu 6 .yml that i sent you and i get this :
    Code:
    11:33:29 [SEVERE] ScrollingMenuSign: caught exception loading plugins\ScrollingM
    enuSign\scrollingmenus.yml: special characters are not allowed
    11:33:29 [INFO] ScrollingMenuSign: An error occurred while loading the menus fil
    e, so a backup copy of plugins\ScrollingMenuSign\scrollingmenus.yml is being cre
    ated. The backup can be found at plugins\ScrollingMenuSign\scrollingmenus.yml.BA
    CKUP.12
    i wonder if you did change something about the save and if i should make the menus again to solve the problem ..
    or is it just the loading ;)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  16. Offline

    desht

    Yeah I suspect any of your files which have the § symbol in them are going to be problematic, and will probably still not load. But if you recreate the menus one more time and save them, the latest update converts those back to & symbols for the save, which should work a lot better. Sorry for all the hassle.
     
  17. Offline

    Cenarius

    aw one more thing ..
    i dunno if i should've mentioned this before ..
    but even before you gave me the test version ..
    if the error showed up ..
    than i copied everything from other backup i made ..
    and pasted it at once ..
    the error does not go !
    but
    what i stop the server and copy few signs (i usually start with one than i start increasing next time one next time two next time 6 ) until i get them all in the file it seems to fix the signs for a while ..
    but than the error shows up again a while after that :/
    maybe it's not UTF-8 after all ?
    maybe it's the saving function ?
     
  18. Offline

    Kalais

    My users are reporting: "You do not have permission to do this."

    They have these nodes:
    - scrollingmenusign.scroll
    - scrollingmenusign.execute
    - commandSigns.use
     
  19. Offline

    Cenarius

    ehumm what about the permission to the command it self ??
    or if you're using commandsigns ... the special permission part ? you may want to check that out :)
    hope i helped ^_^

    well i'm just here to report the the problem i had seems to be totally gone ..
    i haven't edited a lot of signs lately and i haven't even rewrote the signs i just copied them one by one from the old file only once ..
    made a new sign .. modified an old one and used colours all seems to be working just fine and no problems happened since the day you uploaded the fix ^_^
    Thank you desht !
     
  20. Offline

    Kalais

    They shouldn't need permission to the command. That's what command sign is for.
     
  21. Offline

    desht

    What is the actual command being run that is giving the error?

    And does it work if you put it on a plain CommandSign?
     
  22. Offline

    Kalais

    Fixed the no permissions issue by opping &CommandSigns. However, using WorldGuard commands which have double slashes (//) it doesn't seem to work. I've tried: (/@/) and (//@).

    EDIT: Found the problem. You have to use (/@//).
     
  23. Offline

    desht

    Ah, good. I will add a note in the SMS docs about double-slash commands, that's a gotcha.
     
  24. Offline

    big_hairy_jimbo

    This fixed my issue too.


    Before the above fix, my signs had stopped working, though they looked fine.
    When I checked my server ScrollingMenus.yml file, I had noticed that there was nothnig in it but {} after a server restart.

    HOWEVER, using the above JAR file, this has now rectified the issue after performing a test shutdown and restart of my server.

    Note that my MACRO file was fine, it was just the link between the actual sign and the macro which had gone. Therefore recreating the sign and relinking the macro to it, fixed verything up.

    Thank you VERY MUCH!!!!!!! :)
     
    desht likes this.
  25. Offline

    desht

    New release:

    v0.4.1 - 18 Jul 2011
    • Colour coded menu titles & items are now stored in the scrollingmenus.yml file with & symbols, not the Unicode § symbol. It was proving too problematic ensuring that they got loaded again correctly. This should fix the problems some people were having with menus no longer working after a server reload/restart.
    • Fixed a problem with /sms break ... where it claimed a sign was correctly removed, but wasn't really.
    • /sms sync ... now correctly causes menus to be saved (assuming autosave is set to true).
    • /sms list can now take a menu name to list - it will show the info for only that menu
     
    Cenarius likes this.
  26. Offline

    Cenarius

    lol maybe i was wrong when i copied my signs and didn't remake them using the commands cause before i updated to 0.4.1 i've seen the problem again :/
    but now i've updated and as i've seen from a test you just put the label/title 'like this' (this was already there in the beta you gave me :p but my backup didn't include it :eek:)
    and replace § with & and everything seems to be working fine :D
    also deleted the backup files :)
    this is really awesome :)
    thanks ^_^
     
  27. Offline

    cky2250

    this is not working for my server i have the execute permision for my users but they cant execute only scroll, i know it is only this plugin that is making it not work. since all the commands they can type, all the other sign mods they can use. but this one only i can execute the command from the sign.
     
  28. Offline

    desht

    Can you paste the permissions you're using please?
     
  29. Offline

    cky2250

    i have even tryed adding scrollingmenusign.execute and i get the same problem.
    groups:
    Default:
    default: true
    info:
    prefix: '&2'
    suffix: '&f'
    build: false
    permissions:
    - commandbook.msg
    - commandbook.motd
    - commandbook.spawn
    - commandbook.whereami
    - commandbook.whereami.compass
    - commandbook.clear
    - commandbook.rules
    - commandbook.who
    - commandbook.bans.isbanned
    - commandbook.return
    - commandbook.time.check
    - commandSigns.*
    - scrollingmenusign.commands.*
    - multiverse.tp
    - multiverse.world.setspawn
    - multiverse.world.spawn
    - multiverse.list
    - multiverse.portal.list
    - iConomy.access
    - iConomy.bank.*
    - iConomy.list
    - iConomy.payment
    - iConomy.rank
    - myhome.home.soc.*
    - myhome.home.basic.*
    - iConomyChestShop.shop
    - iConomyChestShop.command.iteminfo
    - herobounty.new
    - herobounty.accept
    - herobounty.list
    - jobs.join.*
    - jobs.world.goodworld
    - jobs.world.homeland
    - jobs.world.homeland_nether
    - DailyBonus.get
    - lockbuy.admin.toggle
    - lockbuy.admin.place
    - lockette.user.create.*
    - dynmap.hide.self
    - dynmap.stats
    - myhome.home.*
    - jail.command.jaillist
    - jail.command.jaillistcells
    - jail.command.jailtelein
    - jail.command.jailteleout
    - jail.command.jailcheck
    - jail.canbestickjailed
    - jail.usercmd.jailpay


    Moderator:
    default: false
    info:
    prefix: '&b'
    suffix: '&f'
    build: true
    inheritance:
    - Default
    permissions:
    - commandbook.mute
    - commandbook.warp.teleport
    - commandbook.warp.set
    - commandbook.warp.teleport.other
    - commandbook.teleport
    - commandbook.teleport.other
    - commandbook.call
    - commandbook.clear.other
    - commandbook.barrage
    - commandbook.shock
    - commandbook.shock.other
    - commandbook.thor
    - commandbook.thor.other
    - commandbook.whois
    - commandbook.whois.other
    - commandbook.kick
    - commandbook.kit.*
    - commandbook.bans.unban
    - commandbook.give
    - commandbook.give.other
    - commandbook.give.infinite
    - commandbook.give.stacks
    - commandbook.give.stacks.unlimited
    - commandbook.more
    - commandbook.more.infinite
    - commandbook.weather
    - commandbook.time
    - commandbook.spawnmob.*
    - iConomy.admin.stats
    - iConomyChestShop.admin
    - iConomyChestShop.shop
    - iConomyChestShop.command.iteminfo
    - jobs.admin.reload
    - DailyBonus.getVIP
    - lockette.admin.create.*
    - lockette.admin.reload
    - dynmap.fullrender
    - myhome.admin
    - jail.command.jail
    - jail.command.unjail
    - jail.usercmd.jailstatus
    - jail.usejailstickX

    Admins:
    default: false
    info:
    prefix: 'Admin'
    suffix: '&f'
    build: true
    permissions:
    - '*'
    track:
    - Default
    - Moderator
    - Admins
     
  30. Offline

    chickenmove

    doesnt work =(
    he writes me: menu-entry must include at least entry label & command
    but i write all i maked a sign
    and than i write /sms add admin Stone:/i 1 64:Have Fun

    can i make it that normal players can use it ??? or only op ?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  31. Offline

    Martin Holík

    Do not know what could be the problem? I use RB # 1000 and I have version 0.4.1
     

Share This Page