DynamicSigns
DynamicSigns
epGK8sV.png

FRESHDESK AND CREATE A TICKET


Tutorial/Showcase


Test it live @
RyanM's test server

testplugins.com

header_about.png

DynamicSigns is a plugin that allows you to let your players (or yourself) use animated sign lines that are configured in the config.

Every sign line can have its own individual permission or you can give someone permission to create all sign lines you configured.

The sign lines can contain any of my large list of 500+ placeholders. Every sign containing a sign line is unique to each player, so placeholders that are specific to a user will be different for each player.

Features:
  • Animated sign lines
  • 4000+ placeholders
  • Personal sign lines
  • Incredible performance (only send when in view)
  • No lagg
  • Clickable sign actions with commands (that also can contain one of my many placeholders)

2015-01-26_19.22.35.png

c4be7e40e5b4a68778bcbb34107a2c93.gif


Usage
  1. Configure the sign lines or add extra sign lines in the config
  2. Do not forget to reload with /dsigns reload
  3. Give yourself dsigns.use.* or dsigns.use.yourlinename
  4. Create a new sign on the place you want the line write [dsign:yourline]
  5. Need help? PM me , I'll be glad to help you

! READ THIS
The usage for this plugins is designed for server admins that wish to set up some signs for information. The performance and usability is focused on having something stable once made but not something to be created/destroyed 100 times an hour. It is not something every player can/should use throughout the game. I will not be adding ingame animation creators, sign limiters ,... . Signs are stable once you made them. Deleting them with f.ex. pistons or other contraptions can cause bugs.

So once again. This plugin is meant to place somewhere in an information center or buildings that are made by a server owner. Not as something you should give to players or VIP's so they can create a lot of animated signs around the world.
! READ THIS


About Me
Well, my name is Maxim Van de Wynckel but most people know me as Maximvdw. I live in Belgium (the Flemish part) so my timezone is GMT+1 (KEEP THIS IN MIND). I started creating a few plugins on Bukkit >3 years ago after hMod got discontinued. I've been programming for around 11 years (since I was 8y/o) where 6 of them are in Java , C# ,.. . After some public plugins on DevBukkit I started to create free private plugins for people that asked for it. I created a lot of plugins back then but due to the lack of respect on dev bukkit (death threads, no 'ty' for plugins I made, etc...) I left bukkit and started to spend more of my time into making custom quality plugins on my site. I became an owner of a server I loved that was left abandoned but it lacked high performance resources so I became extremely worried about performance. At first I tried to limit my ideas to limit the use of resources but that wasn't the way to go since No fancy things means No fancy players. I started to spend 90% of my time on a plugin on testing performance (and 10% on coding and testing the features).

Now I am a busy developer, I still get around 5-6 plugin request a day (but can only handle 1 or 2 a day). In my free time,.. I created plugins I love and think others will love (like this one <3). Some servers may find it bad that I ask money for most of my plugins, but I think for servers that even do not make a lot of money the features and coolyness of this plugin will be worth the money :D, if you have a problem you can always skype me, email me, leave a comment, PM me or ... find another way to contact me.

What makes this plugin worth the price? [5$]
    • I am a developer who maintains my plugins.
    • The way it is made ActionBar, Tab, TitleAdvanced,AnimatedNames, FeatherBoard and DynamicSigns have similar components (placeholders and animations) If I update it on one of them I can provide easy updates for all of them. This allows me to easy add placeholders or new animation presets.
    • You will have to try hard to find this plugin in your timings (unless you use CTRL +F or only have 1 plugin)
    • The plugins is very configurable

header_configuration.png


A few things you have to know is that apart from the normal configuration. There are also separated config files for some groups of placeholders. (like bungeecord ,...)

IMPORTANT: Default the placeholder_bungeecord.yml interval is set to 100 ticks. To get a more accurate result when using {bungeecount} set this to 20. If you want to completely disable it set it to -1.


CONFIG.YML

Code (Text):

# ------------------------------ #
#
# DynamicSigns 3
# (c) Maxim Van de Wynckel
#
# ------------------------------ #

# Variables: These variables can be used in the TEXT section
# of both the header as the footer.
#
# {PLAYER} - Player name
# {PLAYERNICK} - Player nickname
# {SERVER} - Server name
# {PLAYERCOUNT} - Server player count
# {BUNGEECOUNT} - Bungee network player count
# 4000+ more ... see spigot page

# Formatting: These are formatting tags allowing you to format the animations
# or placeholders.
#
# Substring: This allows you to split a word (even a placeholder) in parts
# example: <substring begin=0 end=3>Hello World</substring> = Hel
# usage: This can be used to split placeholders when creating a typewriter
# or to split the colors in a placeholder.
#
# Scroll: This creates a scrolling animation of the text inside it. It accepts
# two arguments (the length and space between scrolls).
# example: <scroll width=20 spaces=20>&2This is a &atest</scroll>
#
# PLENTY MORE! See spigot page

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# GENERAL PLUGIN SETTINGS
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

## Config version (DO NOT EDIT)
config: 3

## Language file
lang: 'en'

## Debug mode
debug: false

## Log to file
log:
enabled: true
# Reset log on startup
reset: false

## Update checking
update:
check: true # RECOMMENDED YOU LEAVE THIS TRUE

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# PLUGIN SPECIFIC SETTINGS
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#


## IMPORTANT:
## 1) When you have questions/problems send me a PM first
## 2) It is advised to keep your interval above 15 when you have a lot
## of signs. This is also (just like the tweaks) something you have to
## experiment with and see what gives you the best performance.
## 3) The plugin won't cause server lagg. The only lagg that can occur
## is system lagg due to having fast intervals (packets that flood clients)

## -- Following tweaks depend on the usage and performance of the server/clients ---
## If you have a server where you join right next to animated signs (hub,..) it is advised to
## add a bit of a delay before sending the sign updates.
## If you place signs near warps ,.. it is advised to increase the delay of teleporting a bit.
## These values are things you need to experiment with, they are not 'optimal' out of the box
## Test it like default first, then lower/increase it.
## ---------------------------------------------------------------------------------

# Sign update distance. This is the distance the sign updates the changes to the player
# decrease this if you have a lot of signs at the same location or if the intervals
# are too fast.
update-distance: 7

# Join delay. This is the delay used to wait until sending the signs. This
# delay is used to prevent "Unknown Sign at ...." errors when chunks are not loaded
# for a specific player (in ticks)
join-delay: 25

# Teleport delay. This is the delay used to wait until sending the signs. This
# delay is used to prevent "Unknown Sign at ...." errors when chunks are not loaded
# for a specific player (in ticks)
teleport-delay: 25

# Respawn delay. This is the delay used to wait until sending the signs. This
# delay is used to prevent "Unknown Sign at ...." errors when chunks are not loaded
# for a specific player (in ticks)
respawn-delay: 25


# Placeholder settings
placeholder:
# logs the memory usage of placeholders on startup
log-memory: false
# Clear unused placeholders that are not enabled.
clear-unused: true


# Animated sign lines
lines:
# You can create multiple lines to replace
# on signs with the format [dsign:xxxx]
line1: # [dsign:line1] - This is a line that adds a scroll message
text:
- '<scroll width=15>&4Warning: &8You are now using the DynamicSigns plugin made by &7Maximvdw&8!</scroll>'
# The interval in ticks to switch text (20 ticks = 1 second)
interval: 4
# Define if the text should be randomized. Animation formatting tags
# won't be affected.
random: false
# Command(s) to execute on click (leave empty for nothing)
# The command supports placeholders
commands:
- 'chat:I clicked a damn cool sign!'
- 'delay:2000'
- 'console:say {player} clicked a cool sign!'
line2: # [dsign:line2] - This line shows the ram and tps
text:
- '<repeat times=50>&a{tps_rounded}&8&l/&820</repeat>' # the <repeat> tag makes sure the tps updates 50 times (every 4 ticks)
- '<repeat times=50>&a{usedram}&8MB &l/&7{totalram}&8MB</repeat>'
interval: 4
# Randomize the contents in text
random: false
# Command(s) to execute on click (leave empty for nothing)
# The command supports placeholders
commands:
- 'say The server is running at {tps} Ticks per second!'

commands:
Execute commands on clicking the sign:
player:/commandasplayerhere
chat:Hello World!
oppedplayer:/commandasoppedplayer
console:say Console command here
delay:50 #Wait 50 ms


So what about you have 5 server in your network that all need the same config? Do I have to copy paste it every time?
No. DynamicSigns comes with a MASTER -> SLAVE config synchronization that allows you (when enabled) to set up a MASTER (a config that you edit) that will allow SLAVES (other servers) to fetch that config.

Code (Text):

# ---------------------------- #
# Remote Configuration Syncing #
# v1.0.0 #
# (c) MVdW Software #
# ---------------------------- #

# Description: This MVdW Software design will allow
# you to sync your plugin config with other servers
# You have two types of configuration:
# - 1 Master configuration
# - 1 or more Slave configurations
#
# The master is the plugin/server that will be used
# as the main config.
# The slaves will USE (not copy) the config of the master
# When the master is offline, the slaves will use their own
# config (or the last fetched config).

# When enabled the configuration must be valid
# Enable this if you configure the master OR the slave(s)
enabled: false

# Define if the configuration of this server
# will be used as the master config.
master: false

# THESE SETTINGS ONLY APPLY IF THIS SERVER
# IS THE MASTER
master-config:
# Port used to listen for slaves
port: 7899
# Password to identify the slaves (DO NOT USE SOMETHING YOU USE ELSEWHERE)
password: 'ILoveSpigot'

# THESE SETTINGS ONLY APPLY IF THIS SERVER
# IS A SLAVE
slave-config:
# Hostname or IP of the master
hostname: 'localhost'
# Port used by the master
port: 7899
# Password used by the master
password: 'ILoveSpigot'
# Sync interval IN MINUTES (you can force a sync using a command)
interval: 5 # Currently not 100% implemented

Language file(s):
The plugin allows multiple language files in the /lang folder. If available the language messages from the client language will be used (when a langauge file in that language is available)



header_commands.png

/dsigns or /dynamicsigns
Main command: alias for /dsigns help

/dsigns about
Show the version information. ALWAYS give this version when reporting errors.

/dsigns uploadconfig
For the lazy ones this will upload the config (config.yml) to pastebin.
ALWAYS give this config when reporting errors.

/dsigns uploadlog
This is a SIMPLE log about the plugin it will upload that simple log to pastebin. It is recommended to still send the logs from the console rather then this log!

/dsigns resetconfig
Did a missile blow up your config (we all know it was you ;) ) then use this to reset it.

/dsigns permissions
This gives a list of all default permissions in the plugin (commands, etc..)

/dsigns help
Shows a list of all commands. You can configure the help in the language file.

/dsigns reload
Reload the config and animations.
Do not use plugman or any other plugin tool to reload the plugin. (even first load)
It is advised not to use this frequently

/dsigns changelog
This command is not used unless a mayor release is uploaded.

/dsigns placeholders
A hoverable list of placeholders and their result

/dsigns debug
CREATE A DEBUG DUMP. ALWAYS USE THIS COMMAND FOR ERROR REPORTING.
SUPPORT REQUESTS WITHOUT THIS DUMP WILL BE IGNORED!!!
Note: The command will upload your log.log, so make sure this file isn't too big!

/dsigns scan
/dsigns scan 10
Rescan the area around you for dsigns. Mostly for WorldEdited signs or moved signs
A RADIUS HIGHER THEN 5 IS AT YOUR OWN RISK
17-05-2015_00-54-21.png


/dsigns signs
Shows a clickable list of dynamic signs allowing you to teleport
or remove the animation of a sign.
30-01-2015_00-36-51.png



header_permissions.png


Every animated sign line you create in the config can be individually granted with the permission:
dsigns.use.mysignline (lowercase)
If you want them all you can use the wildcard
dsigns.use.*

NOTE: You can't limit who sees a line, only who creates one (the permissions above are for creating a sign with an animated line)

Code (Text):
dsigns.reload:
description: Reload the configuration
default: op
dsigns.help:
description: Show plugin help
default: true
dsigns.uploadlog:
description: Upload log
default: op
dsigns.uploadconfig:
description: Upload config
default: op
dsigns.about:
description: About the plugin
default: true
dsigns.permissions:
description: List all permissions
default: true
dsigns.resetconfig:
description: Reset the configuration file
default: false
dsigns.placeholders:
description: Available placeholders
default: op


header_placeholder.png

Spigot does not seem to like the amount of placeholders on one single page... So this is a link to a wiki page with all of the placeholders.

CLICK HERE FOR PLACEHOLDERS


header_preseteffects.png

You can basically create any effect you like. But if you want to make quick or more advanced changes you can use these formatting tags


CLICK HERE FOR EFFECTS


Troubleshooting
(This title does not mean you should start shooting when you have a problem)

Q: My players receive "Unknown sign at xxxxx"
A: This means you have not tweaked the settings in the config. This is a warning send clientside. If you get them while creating or destroying a sign this can happen if the interval is too fast (but you should not worry about it).

Q: My players receive "Unknown sign at xxxxx" when walking around
A: First thing to check is your update distance. Make sure this is not incredibly high. Try lowering this and see if it makes a difference.

Q: My players receive "Unknown sign at xxxxx" when joining
A: Increase the join sending delay, so the player has time to receive chunk packets first. If the error still persists, try checking the update distance.

Q: My players receive "Unknown sign at xxxxx" when teleporting
A: Increase the teleport sending delay, so the player has time to receive chunk packets first. If the error still persists, try checking the update distance.

Q: My players receive "Unknown sign at xxxxx" when respawning
A: Increase the respawn sending delay, so the player has time to receive chunk packets first. If the error still persists, try checking the update distance.

Q: My players receive "Unknown sign at xxxxx" when they break a sign
A: This usually means your refresh rate (interval) is below 10. Also keep in mind that the plugin is meant to 'setup up' signs (read the READ ME above) breaking a sign can sometimes trigger this message. If you really don't want it you can easily solve this by increasing your interval.

Q: Colors do not work on signs
A: This plugin does not handle colors on non-dynamic signs. Meaning all other signs that do not have any animation won't have colors added by this plugin.

Q: My config keeps resetting and creating a backup
A: This most commonly means you have a broken configuration. If it is the default config and you have not even opened it send your startup log to Maximvdw (PM in a (private) pastebin).

Q: The placeholders do not update even despite I set a quick interval
A: Placeholders can be throttled by the plugin in case they take too long to fetch. Like intensive mysql actions,... Try lowering your interval.

Q: I am getting a lot of lagg but my TPS is fine
A: This means your client is receiving too many packets. Most commonly this means that the tweaks are not optimal
- You are receiving too many updates a second (lower the interval of the sign lines)
- You are receiving the updates of too many signs (lower the update distance)

Q: When I join/teleport/respawn I see "[dsign:Xxxx]" on the signs
A: This is the join/teleport/respawn sending delay. The signs are not updated immediately after join. You can try to lower this.

Q: What is the recommended interval?
A: It depends on each server and situation. Interval also means placeholder updates (what can cause MySQL problems if it is not cached) but mainly overflood the client with new sign updates. I would say around 15 ticks is recommended if you have multiple signs. 4ticks if there are just a few signs, but personally I would not go under 4 (100ms).

Q: Sign lines randomly stop updating
A: In 99.99% caused by a plugin that cancels all tasks of all plugins.(Bukkit.getScheduler().cancelAllTasks() ).

Q: A placeholders is not working
A: I have 880+ placeholders, I can't test them all if another plugin updates. Just message me with a PM and I will fix it for the next version.

Q: Why is the file so big?
A: Keep in mind disk space is not RAM. There are over 2k placeholders and ~1k not enabled/under-construction placeholders included. These classes are not loaded when the plugin needed for these placeholders is not existent. You should expect the file to be max. 5MB in the future with dependencies being downloaded when needed (such as a HTTP client that could be 12MB, or other API frameworks)

Q: I configured a sign line, but when I create a sign it remains [dsign xxxx]
A: Did you reload the config after creating it? If none of the signs show the animation this could be due to "Sign lines randomly stop updating"

Q: I have copy pasted the signs with worldedit and it no work!
A: Signs have to be created manually in order to be created. WorldEdit or any other copy/paste tool is not supported.

Q: My sign line looks weird with cut off colors ,etc...
A: Signs can max be 16 chars long. Make sure to set scrolling animations to 15 using the width parameter.e

Q: On startup it says "Removing sign at ..." in the console
A: DynamicSigns will check the signs on startup to see if they are still there.

Q: This plugin is too cool
A: Sry, you can leave a review to express your feelings <3


header_updating.png

I am someone who provides quite a lot of updates, mainly because placeholders are things I can't build up. People request it , complain if it takes too long ,etc.. .
You can update the plugin manually and receive spigot notifications when a new update is available (or console notifications).

Config resets will always be mentioned in bold red letters on the update description. Make sure to make a backup of your config.

Updates after spigot updates can take 1,5 week to be ready.
Also keep in mind I won't be able to update when on vacation, this is usually mentioned on my description page for months when this period arrives.




Developer API
Add placeholders to this plugin or any other MVdW Placeholder plugin.
https://www.spigotmc.org/resources/mvdwplaceholderapi.11182/


header_tos.png

By downloading this plugin you agree with our terms of service
http://www.mvdw-software.com/terms-of-service

You may use this plugin on 1 server or network only
    • Do not discuss the price
    • Put errors in code tags or pastebin
    • Describe errors. Don't just say "it doesn't work"
    • Use /dsigns uploadconfig to get a pastebin link of your config when reporting errors
    • My timezone is GMT+1 (Just so you know) Do not start spamming me on 3am in the morning asking why I don't reply within 10 minutes
WHAT TO DO AFTER BUYING:
  1. Test the default config
  2. Learn the default config see how it works, play with the values
  3. Found a problem? Contact me on skype, email, pm or in the comments first. It may be a bug but it can be misconfiguration so make sure to add the CONFIG and possible error logs.
  4. Plugins are tested by a team before uploaded, so sometimes new changes can take some time. but this means every update works, so if you have a plugin fault (not starting, loading,..) this usually means an issue on your side. Feel free to contact me
  5. Have an idea or feature? Submit it: Most accepted features (that can be done fast) are placeholders
  6. Do you like the plugin? Leave a rating it helps :)
  7. Want to help improve the plugin? PM me your experience (timings, config, animations you made ,...) I want to know these things so I can base my placeholders, preset animations ,.. on things people actually use.

DEVELOPER API:
http://dl.mvdw-software.be/manuals/SpigotAnimationPluginsDevelopersGuide.pdf

KNOWN BUGS (being fixed):
- [29/12/2014#2] Multiple color + effect doesn't work well in scroll (like bold + color) keep this in mind when buying

Thanks to: Funnycube for the logo

Similar resources

DynamicSigns - BLACKSPIGOT EDITION - Supporter Only, LATEST version. THE BEST COPY ON THE INTERNET K
0.00 star(s) 0 ratings
Downloads
62
Updated
DynamicSigns - OFFICIAL BSMC RELEASE BlackSpigot.com
Animated sign lines unique for each player (4000+ placeholders)
5.00 star(s) 2 ratings
Downloads
621
Updated
BlackSpigot General Chat
Rules Help Users
    G @ GhostRice23: How can i open a Support Ticket?
    Top