55#endif
66
77# define PLUGIN " Map Manager"
8- # define VERSION " 2.5.59 "
8+ # define VERSION " 2.5.60 "
99# define AUTHOR " Mistrick"
1010
1111#pragma semicolon 1
2929
3030# define BLOCK_MAP_COUNT 5
3131
32- # define MAX_ROUND_TIME 3 .5
3332# define MIN_DENOMINATE_TIME 3
3433
3534new const PREFIX[] = " ^4[MapManager]" ;
@@ -131,6 +130,7 @@ new g_iTeamScore[2];
131130new g_szCurrentMap[32 ];
132131new g_bVoteStarted;
133132new g_bVoteFinished;
133+ new g_bNotUnlimitTime;
134134
135135new g_eMenuItems[SELECT_MAPS + 1 ][VOTEMENU_INFO];
136136new g_iMenuItemsCount;
@@ -358,7 +358,7 @@ public Command_StartVote(id, flag)
358358 }
359359 else
360360 {
361- g_bStartVote = true ;
361+ SetNewRoundVote () ;
362362 client_print_color (0 , print_team_default, " %s ^1 % L" , PREFIX, LANG_PLAYER, " MAPM_VOTE_WILL_BEGIN" );
363363 }
364364
@@ -507,7 +507,7 @@ public Command_RockTheVote(id)
507507 }
508508 else
509509 {
510- g_bStartVote = true ;
510+ SetNewRoundVote () ;
511511 client_print_color (0 , print_team_default, " %s ^1 % L" , PREFIX, LANG_PLAYER, " MAPM_START_VOTE_NEW_ROUND" );
512512 }
513513 return PLUGIN_HANDLED;
@@ -534,7 +534,7 @@ public Command_RockTheVote(id)
534534#if defined FUNCTION_NOMINATION
535535public Command_Say (id)
536536{
537- if (g_bVoteStarted) return ;
537+ if (g_bVoteStarted || g_bVoteFinished ) return ;
538538
539539 #if defined FUNCTION_NIGHTMODE
540540 if (g_bNightMode) return ;
@@ -907,6 +907,15 @@ public plugin_end()
907907}
908908public plugin_cfg ()
909909{
910+ new filepath[256 ]; get_localinfo (" amxx_configsdir" , filepath, charsmax (filepath));
911+ add (filepath, charsmax (filepath), " /mapmanager.cfg" );
912+
913+ if (file_exists (filepath))
914+ {
915+ server_cmd (" exec %s " , filepath);
916+ server_exec ();
917+ }
918+
910919 g_aMaps = ArrayCreate (MAP_INFO);
911920
912921 #if defined FUNCTION_NOMINATION
@@ -1216,14 +1225,8 @@ public Task_CheckTime()
12161225
12171226 if (get_pcvar_float (g_pCvars[TIMELIMIT]) <= 0 .0 ) return PLUGIN_CONTINUE;
12181227
1219- new Float: fRoundTime = get_pcvar_float (g_pCvars[ROUNDTIME]);
12201228 new Float: fTimeToVote = get_pcvar_float (g_pCvars[START_VOTE_BEFORE_END]);
12211229
1222- if (fRoundTime > fTimeToVote && fRoundTime < MAX_ROUND_TIME)
1223- {
1224- set_pcvar_float (g_pCvars[START_VOTE_BEFORE_END], (fTimeToVote = fRoundTime + 1 .0 ));
1225- }
1226-
12271230 new iTimeLeft = get_timeleft ();
12281231 if (iTimeLeft <= floatround (fTimeToVote * 60 .0 ))
12291232 {
@@ -1234,7 +1237,7 @@ public Task_CheckTime()
12341237 }
12351238 else
12361239 {
1237- g_bStartVote = true ;
1240+ SetNewRoundVote () ;
12381241 }
12391242 }
12401243
@@ -1311,7 +1314,7 @@ public Task_CheckNight()
13111314 }
13121315 else
13131316 {
1314- g_bStartVote = true ;
1317+ SetNewRoundVote ()
13151318 client_print_color (0 , print_team_default, " %s ^1 % L" , PREFIX, LANG_PLAYER, " MAPM_NIGHT_NEXT_ROUND_CHANGE2" );
13161319 }
13171320 }
@@ -1326,7 +1329,16 @@ public Task_CheckNight()
13261329 }
13271330}
13281331#endif
1329-
1332+ SetNewRoundVote ()
1333+ {
1334+ g_bStartVote = true ;
1335+ g_fOldTimeLimit = get_pcvar_float (g_pCvars[TIMELIMIT]);
1336+ if (g_fOldTimeLimit > 0 .0 )
1337+ {
1338+ g_bNotUnlimitTime = true ;
1339+ set_pcvar_float (g_pCvars[TIMELIMIT], 0 .0 );
1340+ }
1341+ }
13301342public StartVote (id)
13311343{
13321344 if (g_bVoteStarted) return 0 ;
@@ -1468,7 +1480,7 @@ public StartVote(id)
14681480}
14691481CheckAllowExtendMap ()
14701482{
1471- new bAllow = get_pcvar_num (g_pCvars[EXTENDED_TYPE]) == 1 && (get_pcvar_num (g_pCvars[MAXROUNDS]) || get_pcvar_num (g_pCvars[WINLIMIT]));
1483+ new bAllow = g_bNotUnlimitTime || get_pcvar_num (g_pCvars[EXTENDED_TYPE]) == 1 && (get_pcvar_num (g_pCvars[MAXROUNDS]) || get_pcvar_num (g_pCvars[WINLIMIT]));
14721484
14731485 #if defined FUNCTION_RTV && defined FUNCTION_NIGHTMODE
14741486 if ((get_pcvar_float (g_pCvars[TIMELIMIT]) > 0 .0 || bAllow) && ! g_bRockVote && g_iExtendedMax < get_pcvar_num (g_pCvars[EXTENDED_MAX]) && (g_bNightMode && g_bCurMapInNightMode || ! g_bNightMode))
@@ -1490,6 +1502,8 @@ CheckAllowExtendMap()
14901502 {
14911503 g_bExtendMap = false ;
14921504 }
1505+
1506+ g_bNotUnlimitTime = false ;
14931507}
14941508ResetInfo ()
14951509{
@@ -1718,6 +1732,12 @@ FinishVote()
17181732 }
17191733 }
17201734
1735+ if (g_fOldTimeLimit > 0 .0 )
1736+ {
1737+ set_pcvar_float (g_pCvars[TIMELIMIT], g_fOldTimeLimit);
1738+ g_fOldTimeLimit = 0 .0 ;
1739+ }
1740+
17211741 if (! g_iTotalVotes || (iMaxVote != g_iMenuItemsCount))
17221742 {
17231743 if (g_iTotalVotes)
0 commit comments