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

    ledhead900

    @bergerkiller

    In your other plugin update rush, I know your excited to get working on the spout issue I am too to see it work but neglecting this one for 2 reco builds is going to put Traincarts and Myworld in danger of this being outdated if the rate your updating them continues just trying to be helpful in case you forgot about this.
     
  3. Offline

    bergerkiller

    @ledhead900 it's still compatible, even in the CB#1317 build. Sooo I don't really feel like updating it atm. :)
    (I'll change the build nr tho)
     
  4. Offline

    ledhead900

    yea I realized it still worked no pressure was just saying might be a good idea to check up on it once in a while.
     
  5. Offline

    bergerkiller

    @ledhead900 Actually, I DO need to fix something. Sign editing doesn't fire the line change to other plugins, so sign-text-change protection plugins could fail. I noticed it when editing a portal in MyWorlds. Will fix that in a few mins.

    EDIT

    Updated.
     
  6. Offline

    darxler

    I'm running the latest update and I still cant link signs together. Known issue?

    Here are my config files:
    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 § or & sign followed up by a value from 0 - F.
    # Example: §cRed and &cRed to display a red colored 'Red' message.
    # You can find all color codes on the internet
    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. '
    rgreet:
        tickerInterval: 3
        ticker: LEFT
        value: ' Welcome to &c Vermillion &f , land of the great! '
    Code:
    # Stores the variables displayed by various signs. Format:
    # variablename
    #     "worldname" x y z line direction
    # Where the direction can be NONE, LEFT and RIGHT. (line overlap)
    sign
    time
    playername
    test
    rgreet
    date
     
  7. Offline

    bergerkiller

    @darxler I see no locations defined. If you place a sign with on the first line:
    Do you get a 'you placed a sign linking to variable 'rgreet'!' message? Does it display the message on there? Are you using Spout, or any other plugin regarding signs?
     
  8. Offline

    bergerkiller

    Ok updated it. Contained a severe bug where no one could join a world because of a sign with a too long line, this is now fixed. Also fixes linked signs not working. (added a delay between sign creation and variable binding)
     
  9. Offline

    darxler

    I'm using Lockette and Chestshop. Would they interfere?

    Also, Yes I do get that message but the signs don't link together.
     
  10. Offline

    bergerkiller

    @darxler wish I could help more...but if it all works I can't really test it...
    So...routine questions:
    - Do you have the latest Craftbukkit (version?) and plugin version?
    - If you run only with Signlink, does it then work?
    - From above: which plugin causes interference (if it works w/o other plugins)
    - Do single-linked signs work?

    Also, I think you got an older version (1.06), in that one linking did fail. You had to edit the sign with the variable and click 'done' again, and then it worked. I fixed that in 1.07.
     
    darxler likes this.
  11. Offline

    fussel

    Bukkit Ver. 1366
    Plugin V1.07
    Permissions Problem.
    I am Admin with permisssons - ´*´
    If i want to create a sign :
    "you dont have permissions to use dynamic text on sign."
    I have tried to get the permissions manually with - signlink.* in the User Perms,
    but the same warning !

    Any Idea ???
     
  12. Offline

    bergerkiller

    @fussel you can't use '*' for permissions. Stick with the three nodes:
     
  13. Offline

    fussel

    i have inserted the permissions :

    [​IMG]

    but there is anyway the same warning ?

    I have added it to the Group and to the User but it takes no effect.

    BR
    fussel
     
  14. Offline

    darxler

    A single sign will have scrolling text, but I can't link multiple signs together.

    I looked through your videos and it feels as if I'm not doing something. I don't get the same messages you get. I don't get "You are now painting all the lines of this sign" or anything else like that.

    Running CB 1337, Plugin version 1.08

    I haven't tried removing plugins but both Lockette and Chestshop are relatively command-less, so they take 99% of their cues from signs and operate without a database and with very simple configs.
     
  15. Offline

    bergerkiller

    @darxler
    Is not in SignLink, that message is of a custom plugin I made a while back.
    And it all appears to be working, on both 1317 and 1337...
    Still try to remove them, the fact that they work without commands can cause it to fail, if, for example, lockette replaces the sign, making onSignChange fail.
     
    darxler likes this.
  16. Offline

    darxler

    Well, I found an alternative to Lockette and Chestshop with spout so maybe SignLink will start working. I hope so cause I really like this plugin. Thanks for your help !
     
  17. Offline

    Chett

    Colors do not work for me, everything else is fine. Bukkit 1337.
     
  18. Again, thank you for this plugin!

    Colors do work for me right now, tested, use per exemple '&9 this is a test' on your sign.

    Btw, something what could be good is setting variables on redstone powered signs. Per exemple, if I power a sign containing

    trigger
    dest
    Heaven

    It would set the variable %dest% with 'Heaven' on other signs :)

    Another thing would be default values, for the train triggered ones, as as long the variable's not set, you see the variable name on the sign
     
  19. Offline

    bergerkiller

    @Psychokiller1888 Someone else was 'going to' do this, redstone systems using SignLink, for example:
    • Set a variable
    • Compare variable values and toggle a lever
    Afraid it kinda died...
     
  20. Well, gonna do it this way: I gonna try to take a look, as a java dev it kindda burns my fingers to take a look how minecraft plugin dev looks like. But don't expect anything directly, as our project is in a hard and large developpment period and i'm kindda busy with it...
     
  21. Offline

    bergerkiller

    @Psychokiller1888 Lucky for you, SignLink has an easy to understand API. You can get and set virtually everything without too much code on your side. You can get the Variable from the name, get the linked signs that display it, and get the signs from there linked signs, and get the text on these signs that is set for specific players.
     
  22. Offline

    bergerkiller

    Going to implement tickers into the variables themselves, allowing player-specific tickers, values and variable commands.​
     
  23. Offline

    Red_Barchetta

    Hey, Is it possible to make it saying something like 10:25 PM instead of 22:25:10 for the time?

    Everyone is asking to fix it.
     
  24. Offline

    kahlilnc

    Looks amazing :D How does this impact server cpu/ram wise ? Other words lag :D
     
  25. Offline

    bergerkiller

    @kahlilnc it doesn't impact CPU that much, since it uses smart 'is line on sign changed' features. Tickers simply change the text, which directly change the expected text on all associated signs, which triggers the scheduled sign update task to re-send the sign information to the clients. It could impact CPU if you use hundreds of tickers on your server, but I don't expect people do that. Even then, there's a command to disable sign updates.

    @Red_Barchetta It's possible, but not yet implemented. Will add it to the TODO list for 1.10.

    EDIT

    Time and date formats are now fully implemented. :)
    Still gotto finish off the new Variable system...

    Good news everyone! SignLink variable values will now be persistent!

    It is now possible to set variable values permanently without reloading or editing the values.yml file. It is also possible to set multiple player-specific values for each variable, allowing pretty awesome hidden messages :)

    Adding to this, you can also set tickers for every variable you wish, also from within a plugin if you use SignLink for display. Downside is that the ticker resets whenever you change the text, so might have to change that somehow...

    I might even make it compatible with permissions, so players require a certain permission to see something. However, as the coding is now, it might get complicated.

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

    w4ssup

    cool but confusing
     
  27. Offline

    bergerkiller

    Ok updated it to v1.10. Lots of bug fixes and now has command-based variable editing. Variable values are also persistent. Going to work on a WIKI page for this later, since it requires a lot more information to get you started.

    I'll write a bit here.
    Step 1: Place the variable on a sign. Let's start simple:
    Step 2: Edit this variable through the chat. In the following order:
    This will show the welcome message to everyone, but show the 'not welcome' message only to the player called 'Hackzor'. You can have as many %var% on signs as you please. Whenever this is found, it will be updated on the sign, clean and simple. You can also use multiple signs to display this message:
    This will use the 3 signs to display the message. You can take corners, whatever you want. Very useful for large message boards! :)

    Updated to v1.11, major improvements in the player-variable-on-sign handling. It is a lot more easier to get your variables just right, for example, it will not run variables over variables. Now working on the WIKI page.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
  28. someone please help me , why does it keep telling me that i don't have permissions to place dynamic signs?
     
  29. Offline

    bergerkiller

    @Brandon Boisclair you need to have the 'signlink.addsign' permission node to use variables on signs.
     
  30. yeah i have that but i have permissions plugin i dont use bukkit permissions would that make a difference?
    Code:
     Owner:
            default: false
            info:
                prefix: '&6[Owner]&f'
                suffix: ''
                build: true
            inheritance: Admins
            permissions:
            - worldedit.minemaze.maze
            - instabreak.ranged
            - instabreak.config
            - worldedit.'*'
            - '*'
            - SimpleJail.*
            - SimpleJail.setjail
            - SimpleJail.jail
            - SimpleJail.unjail
            - signlink.addsign
            - signlink.toggleupdate
            - signlink.reload
     
  31. Offline

    bergerkiller

    @Brandon Boisclair it depends, most (all?) plugins use Bukkit permissions, so does SignLink. Note that you have to add the 'signlink.edit.*' node as well to edit variables through commands. (see the WIKI which I am still building up a bit...)
    Does /togglesignupdate work?
     

Share This Page