The very first problem I encountered when using AMXx was that when mapchooser.amxx is enabled, sayNextMap() would display the next map (as it should) before a vote, but of course this would rarely turn out to be the actual next map to be played.
Would it be possible to include the changes I've made to nextmap.sma? You'd obviously need to include a check to see if mapchooser.sma is running to ensure this isn't utilised inappropriately.
Code:
public sayNextMap()
{
new name[32]
getNextMapName(name, 31)
new timeleft
timeleft = get_timeleft()
new minsuntilvote
minsuntilvote = timeleft / 60 - 2
if (timeleft < 111)
{
client_print(0, print_chat, "%L %s", LANG_PLAYER, "NEXT_MAP", name)
} else {
client_print(0, print_chat, "[AMX] There will be a vote in approximately %i minutes to choose the next map or extend the current one.", minsuntilvote)
}
}
There are clearly numerous improvements to be made, such as changing 111 to the exact time at which the vote would end or even putting this in mapchooser.sma somehow, but this is just to show you what I'm suggesting.