Custom Votes Redux
Summary
Allows server owners to creates dynamic votes accessible by players that run specified commands when passed.
Remake of
https://forums.alliedmods.net/showthread.php?t=72216
Features
- Anti Vote Evasion - Tired of griefers and hackers evading votes by disconnecting and reconnecting while voting is underway? Custom Votes now makes it hard for those scoundrels to get away with it.
- Admin Immunity- Admins can be excluded from votes by configurable immunity levels.
- Fully Configurable Votes - Now offers a fully configurable configuration file for creating and editing players, map, and option votes. (Will supply full list later)
Commands
- sm_votemenu - Opens the vote menu
- sm_customvotes_reload - Reloads the configuration file (Clears all votes)
How To Use
This plugin allows for creating votes for about anything. At the moment, the plugin has three base types of votes:
- players - Vote selections are populated with the current online players of the server
- map - Vote selections are populated with the maps from a specific map list from maplists.cfg
- list - Vote selections are populated with custom options designated by the configuration
Creating Votes
To create a vote, simply input a new column of keys into the configuration file
customvotes.cfg and set the type of the vote to one of the types above.
PHP Code:
"Custom Votes"
{
"Ban player"
{
"type" "players"
}
}
The new vote will be named
Ban player which is populated with a list of online players. To fully configure the vote, you must input specific keys into the new vote you just created.
Valid Keys
- vote - Determine if a vote is called to determine the result of the selection, or if each selection is chosen manually by the players
- cvar - Control variable being changed
- override - Admin override (Use this with admin_overrides.cfg to prohibit access from specific players)
- delay - Delay in seconds before players can cast a selecting after the map has changed
- cooldown - Delay in seconds before players can vote again after casting a selection
- ratio - Ratio of players required to cast a selection
- multiple - Allow/disallow players from casting a selection on more than one option
- minimum - Minimum votes required for the vote to pass (Overrides ratio)
- maxcalls - Maximum times a player can cast a selection (0 = No Limit)
- maxpasses - Maximum amount of times the vote can be passed
- command - Command(s) ran when a vote is passed
- chattrigger - Chat trigger to open the vote selections (Do not include ! or / in the trigger)
- start_notify - Printed to everyone's chat when a player starts a vote
- call_notify - Printed to everyone's chat when a player casts a selection
- pass_notify - Printed to everyone's chat when the vote passes
- fail_notify - Printed to everyone's chat when the vote fails to pass
- immunity - Admins with equal or higher immunity are removed from the vote
- team - Restricts players to only casting selections on team members
- bots - Allows/disallows casting selections on bots
- maplist - List of maps to populate the selection list (See maplist.cfg)
- currentmap - Allows/disallows casting selections on the current map
- recentmaps - How many recent maps will be removed from the vote selections
To create a list vote, you must create a column of input options into the vote's key structure.
PHP Code:
"Custom Votes"
{
"My Vote"
{
"options"
{
"optionname" "optionresult"
}
}
}
Replace
optionname with the name of the option and
optionresult with the result of the option be passed.
Installation
- customvotes-redux.smx to plugins
- customvotes.phrases.txt to translations
- customvotes.cfg to configs
Overrides
- customvotes_cooldown - Immunity to vote cool-downs
- customvotes_maxvotes - Immunity to maximum votes allowed
Versions- Version 1.8 - 7/21/15
- Updated to use GetClientAuthId
- Added version that uses NativeVotes
- Version 1.7 - 6/12/14
- Fixed issues where commands were not executing (ex: sm_kick <player>)
- Fixed config errors
- Version 1.7 - 6/12/14
- Fixed simple votes not being executed by chat triggers
- Added override for vote cool-downs. Use customvotes_cooldown in the admin_overrides.cfg to change the default flag b to grant immunity to specific players.
- Added override for maximum votes allowed. Use customvotes_maxvotes in the admin_overrides.cfg to change the default flag b to grant immunity to specific players.
- Version 1.6 - 4/21/14
- Fixed issue where {TARGET_STEAMID} wouldn't return a string
- Version 1.5 - 4/13/14
- Fixed array index out of bounds errors
- Version 1.4 - 3/13/14
- Fixed invalid client errors
- Added fix for clients who disconnect before they get voted on
- Version 1.3 - 3/1/14
- Added ability to start votes rather than having player manually choose selections
- Added On/Off on/off formatting for control variable votes
- Added Yes/No yes/no formatting for vote casts
- Added simple votes which don't require vote selections
- Added chat notifications for when a vote starts, is cast upon, passes, or fails
- Added {VOTER_STEAMID} and {TARGET_STEAMID} to vote formatting
- Removed bots from ratio calculations
- Version 1.2 - 2/20/14
- Fixed improper votes being reset upon client connect and disconnects
- Fixed array index out of bounds errors
- Fixed bug where votes would have the required votes to pass but don't trigger
- Fixed exploit where opening a vote with chat triggers would ignore delay and override configuration protocols
- Fixed chat triggers not being executed when a ! or / is found
- Changed max maps to 128
- Changed max votes to 32
- Added excluding bots from players type votes
- Added restricting players type votes to team member selections
- Version 1.1 - 2/16/14
- Added players, maps, and list votes
- Now remembers players who were voted upon who disconnect and reconnect (Anti vote evasion)
- Added several new options to the configuration file (See example config included in download)
- Version 1.0 - 2/8/14
My Plugins
intox Gaming