Skip to content

Commit 9741540

Browse files
committed
nomination: added cvar mapm_nom_remove_maps
1 parent ce3bec5 commit 9741540

2 files changed

Lines changed: 33 additions & 7 deletions

File tree

addons/amxmodx/configs/map_manager.cfg

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,16 +127,21 @@ mapm_nom_dont_close_menu "1"
127127
// seconds
128128
mapm_nom_denominate_time "5"
129129

130+
// Вывод карт в случайном порядке в меню номинации.
131+
// 0 - disable, 1 - enable
132+
mapm_nom_random_sort "0"
133+
134+
// Удалять карты из номинации, которых нет в новом списке карт.
135+
// 0 - disable, 1 - enable
136+
mapm_nom_remove_maps "1"
137+
138+
130139
// Online sorter
131140

132141
// Проверит номирированные карты на соответсвие текущему онлайну при голосовании.
133142
// 0 - disable, 1 - enable
134143
mapm_sort_check_nominated_maps "0"
135144

136-
// Вывод карт в случайном порядке в меню номинации.
137-
// 0 - disable, 1 - enable
138-
mapm_nom_random_sort "0"
139-
140145

141146
// Effects
142147

addons/amxmodx/scripting/map_manager_nomination.sma

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
#endif
88

99
#define PLUGIN "Map Manager: Nomination"
10-
#define VERSION "0.0.4"
10+
#define VERSION "0.0.5"
1111
#define AUTHOR "Mistrick"
1212

1313
#pragma semicolon 1
@@ -35,7 +35,8 @@ enum Cvars {
3535
MAPS_PER_PLAYER,
3636
DONT_CLOSE_MENU,
3737
DENOMINATE_TIME,
38-
RANDOM_SORT
38+
RANDOM_SORT,
39+
REMOVE_MAPS
3940
};
4041

4142
new g_pCvars[Cvars];
@@ -58,6 +59,7 @@ public plugin_init()
5859
g_pCvars[DONT_CLOSE_MENU] = register_cvar("mapm_nom_dont_close_menu", "1"); // 0 - disable, 1 - enable
5960
g_pCvars[DENOMINATE_TIME] = register_cvar("mapm_nom_denominate_time", "5"); // seconds
6061
g_pCvars[RANDOM_SORT] = register_cvar("mapm_nom_random_sort", "0"); // 0 - disable, 1 - enable
62+
g_pCvars[REMOVE_MAPS] = register_cvar("mapm_nom_remove_maps", "1"); // 0 - disable, 1 - enable
6163

6264
register_clcmd("say", "clcmd_say");
6365
register_clcmd("say_team", "clcmd_say");
@@ -92,7 +94,15 @@ public callback_disable_item()
9294
public mapm_maplist_loaded(Array:maplist)
9395
{
9496
g_aMapsList = maplist;
95-
g_aNomList = ArrayCreate(NomStruct, 1);
97+
98+
if(!g_aNomList) {
99+
g_aNomList = ArrayCreate(NomStruct, 1);
100+
}
101+
102+
if(get_num(REMOVE_MAPS)) {
103+
remove_maps();
104+
}
105+
96106
mapm_get_prefix(g_sPrefix, charsmax(g_sPrefix));
97107
}
98108
public client_disconnected(id)
@@ -394,3 +404,14 @@ find_similar_map(map_index, string[MAPNAME_LENGTH])
394404
}
395405
return INVALID_MAP_INDEX;
396406
}
407+
remove_maps()
408+
{
409+
new nom_info[NomStruct];
410+
for(new i; i < ArraySize(g_aNomList); i++) {
411+
ArrayGetArray(g_aNomList, i, nom_info);
412+
if(mapm_get_map_index(nom_info[NomMapName]) == INVALID_MAP_INDEX) {
413+
g_iNomMaps[nom_info[NomPlayer]]--;
414+
ArrayDeleteItem(g_aNomList, i--);
415+
}
416+
}
417+
}

0 commit comments

Comments
 (0)