xVotemap v1.3.1

xVotemap [BF3]

Description

Calls an in-game vote for the next map near the end on the round. Randomly selects four maps (by default, can be adjusted) from the current maplist to vote on. Before the options are displayed, a banner can be shown to get the players attention that voting is about to commence.

The votes are tallied and if there are more votes than the set threshold, the winner is the map with the most votes. If there is a tie, the winner is selected at random from the tied maps. The next map is announced and it can be periodically displayed until the end of the round.

Optional voting banner used to get the attention of players before/during a vote.

Installation

Unzip the 'xVotemap.cs' into your '..\Plugins\BF3\' folder.

In-game Commands

/# While a vote is in progress, votes for the option represented by the #.

/v Displays the vote options while a vote is in progress. If typed before a vote, it will display the predicted amount of time before the vote begins.

/nextmap Displays the next map.

/votemap Initiates/restarts a votemap if the player has map changing priviledges in Procon.

enablevotemap Enables the votemap plugin if the player has map changing priviledges in Procon.

[b]disablevotemap[b] Disables the votemap plugin if the player has map changing priviledges in Procon.

Settings

Display

Enable Vote Banner?: Is the banner (designed to get the attention of players) displayed before the voting commences.

Voting Options Interval: Integer, in seconds, representing how often the map vote options are displayed once the voting poll opens.

Next Map Display Interval: Integer, in seconds, representing how often the winning next map is displayed after the voting is over but the round hasn't ended yet. A value of -1 will disable nextmap messages.

Show Gamemode in Voting Options? Determines if the shorthand notation for the gamemode is displayed in the voting options. This is most useful for those running mixed mode servers, especially if the same map is in the maplist with different gamemodes.

Map Options

Number of Vote Options Integer, between 2 and 8, representing the number of vote options to be displayed when a mapvote is called.

Exclude Current Map From Vote Options?: If yes, the current map with be excluded from the next map voting options, so to not allow the same map to be played twice.

Randomness: An integer from 0 to 10 representing the randomness of the map options for a vote. The algorithm changes the probability of each map and gamemode pair being selected as a vote option depending on how long ago it was last played.

Randomness = 0: Will rotate through the maplist, only showing the maps that haven't been played in a long time. Players should end up playing every map in the cycle.

Randomness = 5: Maps that haven't been played in a long time will have the highest probablity and recently played maps will have the lowest probability of being selected as vote options.

Randomness = 10: Every map has the same chance of being selected as an option. Players will tend to play the most popular maps repeatedly.

Voting

Trigger: If Automatic, the voting will be triggered automatically near the end of the round. If Manual, the voting will have to be triggered manually with the /votemap command.

Voting Threshold: Integer, representing the minimum total number of votes that must cast for the highest voted map to become the nextmap. If no map reaches this threshold, then the map will just roll over to the next map in the maplist.

Voting Duration: Integer, in seconds, representing the target length of time the voting poll is open for.

Time between Voting End and Round End: Integer, in seconds, representing how long from the end of the round the voting will finish. In other words, at what time you want the voting to take place, mear seconds before the end of round or in the middle of round sometime.

Rush Voting Start Time from Start of Round: Integer, representing the time when voting will start, in seconds from the start of the round. In rush, there is no way to predict when the round will finish with the current RCON information, as the status of MCOMs are unknown. So you must estimate how long the shortest rush round would take and start the vote a couple of minutes earlier in order to ensure a vote will take place.

Xtras

Debug Level: Integer between 0 and 5, where 0 outputs no plugin debug messages, and 5 which outputs even the most mundane steps.

Development

Known Issues

If the maplist is changed during a vote the winning map will not correctly be the next map.

Future Work

Improve map sorting algorithm.

Add maplist change event.

Change Log

1.3.1 (09/04/12)

Fixed: /votemap to start a map vote.

1.3.0 (07/04/12)

Added: Yell announcement.

Added: In-game enable and disable.

1.2.3 (30/03/12)

Fixed: Mapnames fixed from patch.

1.2.2 (09/02/12)

Fixed: Maplist sort for 'Map Only' and 'Gametype Only'. Will still work on a better algorithm too.

1.2.1 (06/02/12)

Added: Information link with Ultimate Map Manager to ensure the voted map will be the next map if the maplist needs to change and it is still in the maplist.

Fixed: Remove current map bug.

Added: Improved map options display. Should reduce the chance of very long options.

Fixed: Gamemode should appear throughout the in-game message, if turned on.

1.2.0 (24/01/12)

Added: Ability to disable vote results from being displayed.

Added: Option to change the way the maplist is sorted.

Added: Option to display the nextmap before the vote.

Added: Option to set minimum and maximum player count limits for if the vote will take place.

1.1.5 (19/01/12)

Added: More debug messages

Fix: Serverinfo bug possibly =\

Change: Renamed to xVotemap. Delete old CxVotemap.

1.1.4 Stable (15/01/12)

Fix: /votemap command now works on all rounds.

Fix: Between rounds error bug.

1.1.3 Beta (09/01/12)

Fix: Votemap starting too early.

1.1.2 Beta (09/01/12)

Fix: Minimal changes.

1.1.1 Beta (09/01/12)

Fix: Several bugs that were in the new randomness code. A lot of console debug text has been added, most will be removed or suppressed when this version is proved stable.

1.1.0 Beta (07/01/12)

Added: Randomness, a new algorithm to decide which maps are chosen to be vote options.

Added: Ability to disable votemap starting automatically.

1.0.1 Stable (06/01/12)

Fixed: Tweaked various algorithms

Fixed: Squad rush bug

1.0.0 Stable (05/01/12)

Added: Warning for incorrect vote command

Support

If you like this plugin and want to help support it's development. Feel free to donate. Thanks!