99#endif
1010
1111# define PLUGIN " Map Manager: Scheduler"
12- # define VERSION " 0.1.7 "
12+ # define VERSION " 0.1.8 "
1313# define AUTHOR " Mistrick"
1414
1515#pragma semicolon 1
@@ -59,7 +59,8 @@ enum Cvars {
5959 CHATTIME,
6060 FRAGLIMIT,
6161 FRAGSLEFT,
62- NEXTMAP
62+ NEXTMAP,
63+ EXTEND_MAP_IF_NO_VOTES
6364};
6465
6566new g_pCvars[Cvars];
@@ -99,6 +100,7 @@ public plugin_init()
99100 g_pCvars[EXTENDED_MAX] = register_cvar (" mapm_extended_map_max" , " 3" );
100101 g_pCvars[EXTENDED_TIME] = register_cvar (" mapm_extended_time" , " 15" ); // minutes
101102 g_pCvars[EXTENDED_ROUNDS] = register_cvar (" mapm_extended_rounds" , " 3" ); // rounds
103+ g_pCvars[EXTEND_MAP_IF_NO_VOTES] = register_cvar (" mapm_extend_map_if_no_votes" , " 0" ); // 0 - disable, 1 - enable
102104
103105 g_pCvars[MAXROUNDS] = get_cvar_pointer (" mp_maxrounds" );
104106 g_pCvars[WINLIMIT] = get_cvar_pointer (" mp_winlimit" );
@@ -496,8 +498,12 @@ public mapm_vote_finished(const map[], type, total_votes)
496498 }
497499 g_bVoteInNewRound = false ;
498500
501+ new extend_map_no_votes = get_num (EXTEND_MAP_IF_NO_VOTES);
502+
503+ new bool: can_be_extend = bool: (equali (map, g_sCurMap) || ! total_votes && extend_map_no_votes && g_iExtendedNum < get_num (EXTENDED_MAX));
504+
499505 // map extended
500- if (equali (map, g_sCurMap) ) {
506+ if (can_be_extend ) {
501507 g_iExtendedNum++ ;
502508
503509 new win_limit = get_num (WINLIMIT);
@@ -512,12 +518,23 @@ public mapm_vote_finished(const map[], type, total_votes)
512518 if (max_rounds > 0 ) {
513519 set_num (MAXROUNDS, max_rounds + rounds);
514520 }
515-
516- client_print_color (0 , print_team_default, " %s ^1 % L % L." , g_sPrefix, LANG_PLAYER, " MAPM_MAP_EXTEND" , rounds, LANG_PLAYER, " MAPM_ROUNDS" );
521+
522+ if (! total_votes && extend_map_no_votes) {
523+ client_print_color (0 , print_team_default, " %s ^1 % L % L % L." , g_sPrefix, LANG_PLAYER, " MAPM_NOBODY_VOTE" , LANG_PLAYER, " MAPM_MAP_EXTEND" , rounds, LANG_PLAYER, " MAPM_ROUNDS" );
524+ }
525+ else {
526+ client_print_color (0 , print_team_default, " %s ^1 % L % L." , g_sPrefix, LANG_PLAYER, " MAPM_MAP_EXTEND" , rounds, LANG_PLAYER, " MAPM_ROUNDS" );
527+ }
517528 } else {
518529 new min = get_num (EXTENDED_TIME);
519530
520- client_print_color (0 , print_team_default, " %s ^1 % L % L." , g_sPrefix, LANG_PLAYER, " MAPM_MAP_EXTEND" , min, LANG_PLAYER, " MAPM_MINUTES" );
531+ if (! total_votes && extend_map_no_votes) {
532+ client_print_color (0 , print_team_default, " %s ^1 % L % L % L." , g_sPrefix, LANG_PLAYER, " MAPM_NOBODY_VOTE" , LANG_PLAYER, " MAPM_MAP_EXTEND" , min, LANG_PLAYER, " MAPM_MINUTES" );
533+ }
534+ else {
535+ client_print_color (0 , print_team_default, " %s ^1 % L % L." , g_sPrefix, LANG_PLAYER, " MAPM_MAP_EXTEND" , min, LANG_PLAYER, " MAPM_MINUTES" );
536+ }
537+
521538 set_float (TIMELIMIT, get_float (TIMELIMIT) + float (min));
522539 }
523540
@@ -529,7 +546,7 @@ public mapm_vote_finished(const map[], type, total_votes)
529546
530547 // change map
531548 if (! total_votes) {
532- client_print_color (0 , print_team_default, " %s ^1 % L" , g_sPrefix, LANG_PLAYER, " MAPM_NOBODY_VOTE" , map);
549+ client_print_color (0 , print_team_default, " %s ^1 % L % L " , g_sPrefix, LANG_PLAYER, " MAPM_NOBODY_VOTE" , LANG_PLAYER, " MAPM_NEXTMAP_BY_VOTE " , map);
533550 } else {
534551 client_print_color (0 , print_team_default, " %s ^1 % L^3 %s ^1." , g_sPrefix, LANG_PLAYER, " MAPM_NEXTMAP" , map);
535552 }
0 commit comments