An advanced voting plugin!
Features:
- A clean, optional UI. Workshop link here!
- Give rewards
- Items, vehicles, ranks, exp, Uconomy money
- Custom, command-based rewards
- Give ranks to players for voting today
- Give ranks to repeat voters
- Have votes reset to encourage more votes
- Add custom sites! (Read below)
- Store votes in either a Json file or a MySQL database!
- Optimized, meaning zero lag!
- Completely configurable!
Commands:
When UI is enabled:
- /vote
- /reward
- /votes [<player>]
When UI is disabled
- /vote <site> - Vote on a site
- /reward <site> - Check the site for a reward
- /votes [<player>] - Check how many votes a player has
Permissions:
OpenMod:
- Johnanater.IceVote:commands.vote
- Johnanater.IceVote:commands.votes
- Johnanater.IceVote:commands.votes.other
- Johnanater.IceVote:commands.reward
RocketMod:
- icevote.vote
- icevote.votes
- icevote.votes.other
- icevote.reward
Configuration:
The plugin and it's messages are completely configurable! Click to see the config (OpenMod) (RocketMod), and the translations (OpenMod) (RocketMod)
Add custom sites:
This plugin will work with sites that return 0, 1, and 2 for vote statuses. The default config comes with all the sites I could find that actually support this. Simply find the API that checks for a vote and replace the API key with {0}, and the Steam64 with {1}. Same with claiming a vote.
In order to test your setup, you can set a Site's HasVotedUrl to a URL that will always return 1, meaning it will think they always voted, such as this.
Add custom rewards:
Want to add custom rewards? That's easy! Simply add more another CustomRewardType to the config. There are a few examples that show what they can do. Once you create a CustomRewardType, you can create a Reward with the Type of your CustomRewardType's name.
List of variables:
- %player% - Player's DisplayName
- %steam64% - Player's Steam64 ID
- %value% - The value passed by the the associated Reward
Migrating from RocketMod
If you are upgrading from the RocketMod version to the OpenMod version, you can migrate your database to the new system. If you are using json for storage, you can simply copy paste the file to the new plugin directory. If you are using MySQL, you can run the command /icevote rmmigrate <tableName> <ipAddress> <databaseName> <username> <password> <port>
.
Want a custom UI Made?
Want a custom UI to make your server extra special? Send me a message on Discord and we can talk about it!
Support:
If you need some help, feel free to contact me on Discord! Johnanater#6836
Or send me an email at [email protected]!