Ultimate Voting Tokens [Bungee & MySQL Support]

Status
This thread has been locked.

HyperCipher

Member
Reputation
0
Posts
73
Reactions
21
Resources
0
lrDuz6G.jpg
DuBdZEC.png

zbDoLC6.png


Introduction:


Listing your server on voting sites is one of, if not the best, methods of advertising. Get to the top of the list, and reap the rewards of hundreds and thousands of players. Of course this is easier said than done, and networks face the additional obstacle of rewarding players across multiple servers.

As a network owner myself, I know how difficult it can be to reward all your players fairly, while preventing cross server trading and making sure players are motivated enough to vote multiple times every day. But look no further, this plugin aims to solve EVERYTHING voting related.

How it works:

The basic principle of the plugin comes down to a currency called "tokens". Every time a player votes for your server, they are awarded a configurable amount of tokens. These tokens can then be spent on items/permissions/anything you want, through the customizable chest GUI stores on each server. This not only allows you to customize rewards per server and give players more freedom and choice. But also wipes out cross server trading of surplus items, which they gain on servers they do not play on across your network.

The plugin works by storing a players token balance via MySQL which can then be called from any server. However this is not all the plugin stores. To encourage players to vote every day, the plugin stores the number of days that player has voted in a row, their "streak". If their streak is more than a week, they will be awarded double tokens every time they vote. If it's more than 2 weeks, triple, and more than 3 weeks, quadruple. However, if a player misses just a single day, their streak gets reset to 0.

Additionally, a constant "bonus multiplier" can be given to a player via commands. Allowing you to give multipliers as donor perks, or prizes. The algorithm used to calculate how many tokens a player receives per vote is: default amount of tokens multiplied by the bonus and streak multiplier added together. Of course this multiplier feature may not be to everyone's liking, as it may unbalance your economy. Therefore you able to individually disable and enable both streak and bonus multipliers within the config file.

And last but not least, the plugin also stores the number of votes per player. Allowing you to hold voting contests across any time period. Simply reset the counter for all players via command, and start your next contest.

Features:
  • Supports 1.7 & 1.8 (should work on any version, but have not tested below 1.7).
  • MySQL supported "token" currency.
  • UUID support ready for name changes.
  • Customize the amount of tokens given per vote.
  • Independent fully customizable chest GUI stores for each server.
  • Give players items/permissions/anything you want as a reward.
  • Set permissions per slot, to only let certain groups purchase certain items.
  • Prevent cross server trading of vote rewards.
  • Encourage players to vote every day with voting "streaks".
  • Award token multipliers for consecutive streaks.
  • Award token multipliers via command for donors or events.
  • Freedom to disable multipliers and keep to the basics.
  • Ability to hold voting contests, by storing the number of votes per player.
  • Customizable "/vote" command, to display voting links.
  • No need for additional plugins! (Except Votifier)
  • HUGELY customizable, to make it feel bespoke for your network.
Installation:
  1. you can download the plugin at http://www.spigotmc.org/resources/ultimate-voting-tokens-bungee-mysql-support.3294/
  2. An installation guide is on the page.
Configuration:

Code:
######################
#+                  +#
#  DATABASE SETTINGS #
#+                  +#
######################

database-settings:
  host: localhost
  port: 3306
  database: Global_Tokens
  username: ChangeMe
  password: ChangeMe

######################
#+                  +#
#  GENERAL SETTINGS  #
#+                  +#
######################

general-settings:

  # prefix - appears as chat prefix - REQUIRED
  prefix: '&9[Tokens]'

  # tokens - the default amount of tokens awarded per vote - REQUIRED
  tokens: 1

  # multipliers - Enable/Disable the streak multipliers feature - REQUIRED
  multipliers: true

  # bonus-multipliers - Enable/Disable the bonus multipliers feature - REQUIRED
  bonus-multipliers: true

######################
#+                  +#
#     TOKEN STORE    #
#+                  +#
######################

menu-settings:

  # name - appears as the title - REQUIRED
  name: '&bToken Store'

  # rows - the number of rows of the chest (1-6) - REQUIRED
  rows: 3

######################
#+                  +#
#     STORE SLOTS    #
#+                  +#
######################

#slot number - the slot in which the item will appear - REQUIRED
0:
  #id - the material id of the item you wish to display - REQUIRED
  id: 266
  #amount - the number which is displayed under the item in the slot (only cosmetic, and does not affect the amount given) - REQUIRED
  amount: 1
  #name - the name of the item - REQUIRED
  name: '&a$200'
  #lore - the lore listed when the item is hovered over - REQUIRED
  lore:
    - '&71 Token'
  #command - the commands to be executed on purchase (executed in order of listing) HINT: You can use %player% to point to the players name who clicked the item. - REQUIRED
  command:
    - 'eco give %player% 200'
  #permission - the permission code required to click the slot
  permission: 'tokens.slot0'
  #price - the amount the item costs in tokens - REQUIRED
  price: 1

1:
  id: 264
  amount: 4
  name: '&a4x Diamond'
  lore:
    - '&75 Tokens'
  command:
    - 'give %player% diamond 4'
  permission: 'tokens.slot1'
  price: 5

2:
  id: 311
  amount: 1
  name: '&aDiamond PvP Kit'
  lore:
    - '&61x Diamond Sword'
    - '&61x Diamond Chestplate'
    - '&61x Diamond Leggings'
    - '&61x Diamond Helmet'
    - '&61x Diamond Boots'
    - '&730 Tokens'
  command:
    - 'give %player% 276 1'
    - 'give %player% 311 1'
    - 'give %player% 312 1'
    - 'give %player% 310 1'
    - 'give %player% 313 1'
  permission: 'tokens.slot2'
  price: 30

26:
  id: 340
  amount: 1
  name: '&aCurrent Balance'
  lore:
    - '&7(Click to display)'
  command:
    - 'sudo %player% tokens balance'
  permission: ''
  price: 0

  • /tokens store
    • Opens the token store
    • Permission: tokens.store
  • /tokens add <name> <amount>
    • Give a player a certain amount of tokens
    • Permission: tokens.manage.addtokens
  • /tokens take <name> <amount>
    • Take a certain amount of tokens from a player
    • Permission: tokens.manage.taketokens
  • /tokens set <name> <amount>
    • Set a players token balance
    • Permission: tokens.manage.settokens
  • /tokens votes add <name> <amount>
    • Add votes to a players vote count
    • Permission: tokens.manage.addvotes
  • /tokens votes take <name> <amount>
    • Take votes from a players vote count
    • Permission: tokens.manage.takevotes
  • /tokens votes set <name> <amount>
    • Set a players vote count
    • Permission: tokens.manage.setvotes
  • /tokens votes reset
    • Reset all players vote count (useful for vote contests)
    • Permission: tokens.manage.resetvotes
  • /tokens streak add <name> <amount>
    • Add days to a players voting streak
    • Permission: tokens.manage.addstreak
  • /tokens streak take <name> <amount>
    • Take days off a players voting streak
    • Permission: tokens.manage.takestreak
  • /tokens streak set <name> <amount>
    • Set a players voting streak
    • Permission: tokens.manage.setstreak
  • /tokens multiplier add <name> <amount>
    • Add to a players token multiplier
    • Permission: tokens.manage.addmultiplier
  • /tokens multiplier take <name> <amount>
    • Take away from a players multiplier
    • Permission: tokens.manage.takemultiplier
  • /tokens multiplier set <name> <amount>
    • Set a players token multiplier
    • Permission: tokens.manage.setmultiplier
  • /tokens balance
    • Print your own token balance/streak/multiplier
    • Permission: tokens.balance.own
  • /tokens balance <name>
    • Print another players token balance/streak/multiplier
    • Permission: tokens.balance.others
  • /tokens help <page>
    • View a full list of commands in game

Dependencies:

  • The plugin requires a MySQL database.
  • The plugin requires votifier on the server which runs "CoreTokens.jar".
Contact:

If you have any suggestions/requests for future features, or just have a question to ask, don't hesitate to contact me. Please post all suggestions/requests on the forum thread. Questions can either be sent to me here, or to my skype "mrhypercipher" (UK).

DOWNLOAD HERE: http://www.spigotmc.org/resources/ultimate-voting-tokens-bungee-mysql-support.3294/
 
Last edited:
ReliableSite: Dedicated Servers

Xeron

Digital Artist
Premium
Reputation
0
Posts
1,115
Reactions
551
Resources
0
Will be buying this right now haha
Maybe make a deal for mc-market buyers? ;)
 

HyperCipher

Member
Reputation
0
Posts
73
Reactions
21
Resources
0
Awesome, hope you enjoy it. If you have any issues or suggestions for new features just give me a shout on spigot, mc market, or skype. As for the discount, I will look into it but I'm not sure how to add coupons or other such things to spigot. If it is possible I may consider it in the future depending on how sales go.
 

Karol Kirdzik

Banned
Reputation
0
Posts
24
Reactions
6
Resources
0
How much again?
 
Banned forever. Reason: Multi-accounting is not permitted.

Xeron

Digital Artist
Premium
Reputation
0
Posts
1,115
Reactions
551
Resources
0
I haven't bought it yet, but how does the reward system work? Do you just put in an item, a name/description, and a command to go with it?
I'm basically wondering if you can only give 'items' with it, or CrateKeys and commands also.
 

HyperCipher

Member
Reputation
0
Posts
73
Reactions
21
Resources
0
Check out the config in the spoiler above. The way it works is that you can list as many commands to be executed as you wish on the click of a slot. So if you want to give and item and have essentials you would use "/give %player% diamond 2" to give them two diamonds. This allows you to do anything you wish with a slot. From sending a player a message, to adding permissions, the world is your oyster. ;)
 

Xeron

Digital Artist
Premium
Reputation
0
Posts
1,115
Reactions
551
Resources
0
All right, is there 'lucky votes' also? :)
 

Xeron

Digital Artist
Premium
Reputation
0
Posts
1,115
Reactions
551
Resources
0
I didn't mean lucky votes, referring to votifier I actually meant does the plugin have a system for a 'lucky' vote.
 

Xeron

Digital Artist
Premium
Reputation
0
Posts
1,115
Reactions
551
Resources
0
Well, same system has on Votifier/GAListener haha.

Users have a (number)% of getting (list) extra items when voting
 

TannerLittle

♨ Java Developer
Banned
Reputation
0
Posts
322
Reactions
308
Resources
0
Wow that is a great feature. Never seen it before, I will start work on adding that in. :)
Never seen lucky votes before? Come on out from under that rock, it's in GAListener and on, like, every server :p
 
Banned forever. Reason: Attempted phishing members of MC-Market.

HyperCipher

Member
Reputation
0
Posts
73
Reactions
21
Resources
0
So I have been thinking about the idea of "lucky votes", and I can't see a sensible way of adding it to the plugin. One of the good features of this plugin is that by making all votes reward the players with tokens instead of items, players cant do cross server trading of surplus items which they earn on servers they don't play on.

Therefore I can't really add a lucky votes feature which would randomly award players with extra items in game, as it defeats the point of the system. I could of course add in the feature which gives the players a random amount of additional tokens, but is this something you guys would still be interested in? Seeing as there are already built in token multipliers for voting streaks and donor perks.

Any suggestions would be much appreciated.
 

Skionz

ogminecraft.com
Premium
Reputation
1
Posts
1,677
Reactions
1,511
Resources
0
So I have been thinking about the idea of "lucky votes", and I can't see a sensible way of adding it to the plugin. One of the good features of this plugin is that by making all votes reward the players with tokens instead of items, players cant do cross server trading of surplus items which they earn on servers they don't play on.

Therefore I can't really add a lucky votes feature which would randomly award players with extra items in game, as it defeats the point of the system. I could of course add in the feature which gives the players a random amount of additional tokens, but is this something you guys would still be interested in? Seeing as there are already built in token multipliers for voting streaks and donor perks.

Any suggestions would be much appreciated.
Code:
if(new Random().nextInt(100000) == 0) {
    //give player 100000000 coins/tokens or whatever (lucky vote)
}
 

HyperCipher

Member
Reputation
0
Posts
73
Reactions
21
Resources
0
Code:
if(new Random().nextInt(100000) == 0) {
    //give player 100000000 coins/tokens or whatever (lucky vote)
}

No, I understand how to implement it code wise. I was just asking the community if they would still be interested in the feature, if the plugin only gives a random amount of extra tokens on lucky votes, or if they wouldn't it use it due the already existing multiplier features.
 

Gruss

Retired MCM Chat Moderator
Supreme
Reputation
24
Posts
2,354
Reactions
1,215
Resources
0
Very interesting plugin. I haven't really seen something like it :) I might actually buy this :D
 

HyperCipher

Member
Reputation
0
Posts
73
Reactions
21
Resources
0
Very interesting plugin. I haven't really seen something like it :) I might actually buy this :D

Glad to hear you like the plugin, and are thinking about purchasing it. If you have questions or if there is anything which is holding you back from purchasing just give me a shout. I am always looking to improve the plugin and add more features.
 
Status
This thread has been locked.
Top
You need to upgrade!
Our dark style is reserved for our Premium members. Upgrade here.