Inactive [MECH] SignLink v1.24 - Show text on signs based on keys [2320]

Discussion in 'Inactive/Unsupported Plugins' started by bergerkiller, Sep 3, 2011.

  1. Offline

    bergerkiller

    [​IMG]

    Description

    This plugin acts as a bridge between plugins and signs to easily display text on signs. Instead of entering commands, clicking the sign, or any other routine plugins could use, players can enter 'variables', key values starting (and ending) with %, to show information at that spot.

    It also includes features no other plugin is needed for, such as custom text and ticker values you can set in values.yml. Signs are stored on file, they survive reloads and server restarts.

    A simple video showing what it does:


    See WIKI page for more information

    Configuration

    The linkedsigns.txt contains information of where signs are located. The values.yml sets the (standard) usable keys. If your ticker message does not 'flow' over all signs, add more spaces at the end or start of your message. This is simply how it works. :)
    Show Spoiler

    Code:
    # In here you can set default values for this plugin.
    # The ticker property can be LEFT, RIGHT or NONE and sets the direction message is 'ticked'.
    # tickerInterval sets the amount of ticks (1/20 of a second) are between the ticker update.
    # The value is the thing to display or tick.
    # To use colors in your text, use the § sign followed up by a value from 0 - F.
    # Example: §cRed to display a red colored 'Red' message.
    # You can find all color codes on the internet (they may use & there, ignore that!)
    sign:
        ticker: NONE
        value: This is a regular message you can set and is updated only once.
    test:
        tickerInterval: 3
        ticker: LEFT
        value: 'This is a test message being ticked from right to left. '


    time and date formats

    These can be set in the config.yml file:
    You can find more help on the format on the internet, search for 'system date format'.

    pauses

    As for 1.o1 you can set ticker pauses. This example shows the test message, with a pause of 10 ticks (2 * 5) after each word.
    Show Spoiler
    Code:
    test:
        tickerInterval: 2
        ticker: LEFT
        pauseDelays: [5, 3, 2, 5, 8, 6, 7, 5, 6, 3, 6]
        pauseDurations: [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
        value: 'This is a test message being ticked from right to left. '

    Simply put: it ticks as long as the first delay, then pauses the duration, then goes to the next pause segment. This does not reset after ticking the full line, so try to use delays the length of the entire String. (or use none)

    Permissions and commands

    Use /togglesignupdate to turn sign updating on or off, just in case someone made a huge amount of updating signs that causes lag. Use /reloadsignlink to reload the values.yml.
    Permission nodes (Bukkit permissions):
    Code:
        signlink.addsign:
            description: Allows you to build signs containing variables
            default: op
        signlink.toggleupdate:
            description: Allows you to set if signs are being updated or not
            default: op
        signlink.reload:
            description: Allows you to reload the values.yml
            default: op
    TODO
    - Fix values.yml to allow multiple player-specific values (90% done)
    - Commands to set variables and tickers
    - Possible to set time and date formats

    Plugins that use SignLink

    TrainCarts (arrival signs)
    WebAuctionPlus

    Download

    Download SignLink from GitHub
    View the source code at GitHub

    Changelog

    Show your appreciation for my plugins by donating
    [​IMG]
     
    woodzy and fromgate like this.
  2. Offline

    M4xwellou

    Lol, believe me, if your plugin works for me, It'll works with everyone else, ask rominos2 about it xD
    Thanks for your quick response, I'll wait the next release :p
     
  3. Offline

    bergerkiller

    Ok updated it. Also added a few more improvements I had planned:
    - /reloadsignlink command to reload the variables from values.yml
    - A single % on the sign to denote the end of a lone over multiple signs
    - Adding a color before a long line will colorize the entire line. (&a%test will show a long green test message)
    - Fixed the bug @M4xwellou mentioned
    - Made a 'somewhat understandable' sign coloring demo video in the meantime...now editing it
     
  4. Offline

    M4xwellou

  5. Offline

    PaintballPuppy

    Hi,
    Wonderful plugin you have here! I do not know how you can improve it, I am deeply impressed. It could fit nicely in many themes. I will have to check this plugin out, I love sign plugins :D
     
  6. Offline

    cholo71796

    The ticker is genius, I never would have thought of doing that
     
  7. Offline

    bergerkiller

    Thanks for the feedback. :)
     
  8. Offline

    bergerkiller

    Updated for craftbukkit #1185 and a little fix for combined-sign display
     
  9. Offline

    DeathQueen

    Lol and just as I downloaded the unstable version :"P
     
  10. Offline

    bergerkiller

    @DeathQueen it is pretty much the same though, only re-built it against the new craftbukkit and added three lines of code under Variable.removeLocation... xd

    Still, it could optimize it. NoLagg CAUSED lag when I built it using 1124 and ran it in 1060... :)
     
  11. Offline

    DeathQueen

    Lol well, I don't deal with any non-RB's so #1185 is all I care about :p
     
  12. Offline

    TheVnChecker

    I have a problem.
    i write %test in a sign but the signs next to this sign will not linked.

    Can someone help me?


    [​IMG]

    After this:

    [​IMG]
     
  13. Offline

    DeathQueen

    You have to put %test on all lines.
     
  14. Offline

    TheVnChecker

    i have put it on all lines *see 1. pic* or do you mean in all sign?
     
  15. Offline

    DeathQueen

    No, I couldn't see the pic sadly. It comes up as an error.

    Oh now I can see it. Put a percent sign on the right side, not the left. I believe that may fix it,

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

    TheVnChecker

    i have try it but the bug will not fixed
     
  17. Offline

    Monstertke

    Great job on this.

    2 quick questions, How intensive is this, and are the hundreds of signs I have created with signcolors going to stay colored? (It also uses &1-9a-f and isnt editable or !scrolling!)

    Thanks.
     
  18. Offline

    bergerkiller

    @Monstertke Yes, this plugin is external-coloring plugin friendly. The actual text on the sign is never changed, it is only made virtual. Every time you do sign.getLines it will return the actual line on the sign, %test. However, clients receive packets where %test is replaced by the value of this variable. This means: no disk usage, and chunks don't get changed 24/7 while the ticker runs. on top of that, it will only update the variable (send packets) to players nearby the sign, so not everyone in the world receives this flow of signupdate packets.

    During every 'update call' it checks if the background text got changed by some other plugin, and if this is the case, update the virtual text. It is pretty complicated, but luckily it worked out. :)

    So in short: SignLink does NOT alter the actual text on the signs, so nothing can get messed up. Got problems with SignLink? Disable it and you will see all signs left unchanged, since nothing got changed. :)

    About the bug, not sure what it is, but it should simply display on all signs to the right if the first sign says %test. Do make sure you do the first sign lastly, or it won't register the other signs as potential linked signs. You can right-click the first sign and press done to do the same, or reload the server.

    If this is not the actual bug I'll have to look into it in a few hours...kinda busy atm.
     
  19. Offline

    TheVnChecker

    it's still bugged. I had try some things but it's will not fix.

    ps: sry für bad english xD
     
  20. Offline

    bergerkiller

    @TheVnChecker wow my bad, it appears to be bugged here too. Let me update this in a bit...
     
  21. Offline

    TheVnChecker

    yeah ok. i can wait ;D
     
  22. Offline

    bergerkiller

    Ok updated it all, fixing quite some bugs I encountered while debugging...seems 1185 caused more issues than I thought. Most were player-specific though. See the changelog for a nice list of freshly added features. :)

    Player-specific values is still a bit failing unfortunately (YML keys get overwritten), don't use it yet since I'm going to change the syntax.
     
  23. Offline

    TheVnChecker

    The Bug isn't fixed.
    Maybe you can join my server and help me.

    IP: nightly.minecraft.to
     
  24. Offline

    bergerkiller

    @TheVnChecker don't have time to play atm, heavily working on a WIKI page. :)
    I guess if you tell me what you want to do, show me the values.yml (or part of it) you want to use, and explain how it fails, I can help you out at some point.
     
  25. Offline

    TheVnChecker

    i want to do a 5sign long text but it's only 1sign long

    here values.yml and linkedsigns.txt
     

    Attached Files:

  26. Offline

    bergerkiller

    @TheVnChecker I noticed the following in your linkedsigns.txt:
    Code:
        "world" 75 49 -487 0 NONE
        "world" 75 49 -487 1 NONE
        "world" 75 49 -487 2 NONE
        "world" 75 49 -487 3 NONE
    If you want to display the variable on multiple signs, use %test on the first sign and leave the signs to the right blank. It is also possible to use test% on the last sign. Use a single %, or % followed up by a space with some text, to denote the end of a Variable display ONLY if this is needed.
    Code:
    %test |    |    |
    %test |    |    |
    %test |    |    |
    %test |    |    |
    Also, if the line is not long enough, it will not display on all signs. In that case add spaces. (main page)
     
  27. Offline

    TheVnChecker

    I have try to do your tutorial but they dont linked... Do you need a screen again or maybe a video?
     
  28. Offline

    11Spedy11

    The plugin don't load
    This is what i get :S

    Code:
    2011-09-30 18:03:24 [SEVERE] Could not load 'plugins\SignLink.jar' in folder 'plugins':
    java.util.zip.ZipException: error in opening zip file
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(Unknown Source)
        at java.util.jar.JarFile.<init>(Unknown Source)
        at java.util.jar.JarFile.<init>(Unknown Source)
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:60)
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:213)
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:136)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:138)
        at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:408)
        at org.bukkit.Bukkit.reload(Bukkit.java:173)
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:22)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:163)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:353)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:349)
        at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:499)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:478)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
     
  29. Offline

    ledhead900

    Need to check this out again.

    Sometimes when I hold the sign and click it blanks the sign I tried to edit other times it will function as expected.
     
  30. Offline

    TheVnChecker

    Hey killer,

    i have find a new bug, it's very important cause its the source of much laggs.

    The sign's are registred in a file right? The Problem is: When you reload or restart your server then the plugin write doubleposts in the file. If you restart again then they do it again. Here the buggy "linkedsign.txt"

    Ps: sry for bad english...
     

    Attached Files:

  31. Offline

    bergerkiller

    I'll update this in a few minutes or hours. Got to update MyWorlds first (spawn location and create fix for 1185)

    EDIT

    Um it appears to be related to NoLaggChunks...:eek:
    If you encounter this weird edit issue and don't use the add-on, reply again please.

    EDIT2

    @TheVnChecker Added a simple check to see if a duplicate of the sign location is not already present. AFAIK there are no bugs when saving, it could be that bugs exist when creating signs in the game. Would love to update...but it's a bit too small to make people re-download it. I'll re-upload it as the same version. (uploaded)
     

Share This Page