echo "Executing Map Manager Configuration File"
// Core
// Префікс перед повідомленнями плагіна.
// !d - default, !t - team, !g - green
// ^1 - default, ^3 - team, ^4 - green
mapm_prefix "^4[MapManager]"
// Число карт у голосуванні.
mapm_votelist_size "5"
// Як відображати стан голосування.
// Якщо вам потрібна зміна зброї, ставити 2. Використання меню блокує зміну зброї.
// 0 - disable, 1 - menu, 2 - hud
mapm_show_result_type "1"
// Виведення повідомлень про вибрану карту
// 0 - disable, 1 - all
mapm_show_selects "1"
// Виведення відсотків у меню голосування
// 0 - disable, 1 - always, 2 - after vote
mapm_show_percent "1"
// Змінює порядок нумерації у меню.
// 0 - disable, 1 - enable
mapm_random_nums "0"
// Час перед голосуванням.
// seconds
mapm_prepare_time "5"
// Час на голосування
// seconds
mapm_vote_time "10"
// Усунення пунктів голосування.
// За замовчуванням пункти починаються з 1, ставте квар рівним 4 і початок буде з 5.
mapm_vote_item_offset "0"
// Scheduler
// Тип зміни карти після голосування.
// 0 - after end vote, 1 - in round end, 2 - after end map
mapm_change_type "1"
// Запуск голосування за N хвилин до кінця картки.
// minutes
mapm_timeleft_to_vote "2"
// Запуск голосування за N раундів до mp_winlimit чи mp_maxrounds.
// Має бути більше нуля.
// rounds
mapm_rounds_to_vote "2"
// Запуск голосування за N-фрагів до mp_fraglimit.
// frags
mapm_frags_to_vote "5"
// Голосування лише на початку нового раунду.
// 0 - disable, 1 - enable
mapm_vote_in_new_round "0"
// Дозволяє дограти раунд після голосування.
// 0 - disable, 1 - enable
mapm_last_round "0"
// Друге голосування з двома картами, які набрали найбільше голосів.
// 0 - disable, 1 - enable
mapm_second_vote "0"
// Якщо карта набирає менше відсотків, ніж у кварі, відбувається друге голосування.
mapm_second_vote_percent "50"
// Якщо вийшов останній гравець, за кілька хвилин змінити на карту за замовчуванням.
// 0 - disable
// minutes
mapm_change_to_default_map "0"
// Карта за замовчуванням.
mapm_default_map "de_dust2"
// Тип продовження картки.
// 0 - minutes, 1 - rounds
mapm_extended_type "0"
// Максимальна кількість продовжень карти mapm_extended_type "0".
mapm_extended_map_max "3"
// Продовження у хвилинах mapm_extended_type "1".
// minutes
mapm_extended_time "15"
// Продовження в раундах для
// rounds
mapm_extended_rounds "3"
// GUI
// Швидкість курсору
mapm_cursor_sens "2.5"
// Blocklist
// Кількість останніх карток, які заблокує від попадання до голосування.
mapm_blocklist_ban_last_maps "10"
// Rtv
// Тип ртв.
// 0 - percents, 1 - players
mapm_rtv_mode "0"
// Змінити карту після голосування від rtv, якщо "mapm_change_type" не нуль.
// 0 - disable, 1 - enable
mapm_rtv_change_after_vote "0"
// Необхідний процент голосів для дострокового голосування.
mapm_rtv_percent "60"
// Необхідна кількість голосів для дострокового голосування.
mapm_rtv_players "5"
//Забороняє ртв на N хвилин після початку карти.
// minutes
mapm_rtv_delay "0"
// Дозволяє продовжувати картку при ртв.
// 0 - disable, 1 - enable
mapm_rtv_allow_extend "0"
// Nomination
// Тип номінації.
// 0 - стандартний, дозволяє гравцям номувати кілька карток, з яких кілька випадкових попадуть в голосування.
// 1 - фіксований, перші гравці забивають слоти номінації та більше ніхто номінувати не може.
mapm_nom_type "0"
// Максимальна кількість номінованих карток у голосуванні.
mapm_nom_maps_in_vote "3"
// Скільки карт може номінувати кожен гравець.
mapm_nom_maps_per_player "3"
// Не закривати меню номінації, якщо гравець номінував максимум карт.
// 0 - disable, 1 - enable
mapm_nom_dont_close_menu "1"
// Захист від спаму номінацією. Забороняє знімати номінацію частіше, ніж зазначено в кварі.
// seconds
mapm_nom_denominate_time "5"
// Виведення карт у випадковому порядку в меню номінації.
// 0 - disable, 1 - enable
mapm_nom_random_sort "0"
// Видаляти карти з номінації, яких немає у новому списку карток.
// 0 - disable, 1 - enable
mapm_nom_remove_maps "1"
// У меню номінації виводити активні списки карток (з advanced lists)
// 0 - disable, 1 - enable
mapm_nom_show_lists "0"
// Online sorter
// Перевіряти номіновані карти на відповідність поточному онлайнові при голосуванні.
// 0 - disable, 1 - enable
mapm_sort_check_nominated_maps "0"
// Effects
// Чорний екран під час голосування.
// 0 - disable, 1 - enable
mapm_black_screen "1"
// Блокування чату під час голосування.
//
// Якщо у вас стоїть чат менеджер, то він має бути прописаний нижче у списку плагінів
// За замовчуванням усі плагіни ММ винесені до окремого plugins.ini, який читає пізніше
// основного, через що ЧС стоїть вище і аддон не може блокувати чат під час голосування.
//
// 0 - disable, 1 - enable
mapm_block_chat "1"
// Блокування голосового чату під час голосування.
// 0 - disable, 1 - enable
mapm_block_voice "1"
// Заморожування гравців під час голосування.
// При mapm_vote_in_new_round "1" використовується mp_freezetime.
// Якщо поставити значення квара "2", то завжди буде використовуватися заморожування за допомогою флагів.
// 0 - disable, 1 - enable, 2 - force use flags
mapm_freeze_in_vote "1"
; Format
; <map name> [min players, def 0] [max players, def 32] [priority, def 100]
; Examples:
; de_nuke
; de_dust 0 10
; de_dust2 5 32 70
/**
* Load maps from file.
* File loads from configs dir.
*
* @param filename File name
* @param clearlist Clear old maplist before new load.
* @param silent If false then will be call forward mapm_maplist_loaded.
*
* @noreturn
*/
native mapm_load_maplist(filename[], bool:clearlist = true, bool:silent = false);
/**
* Load maps from file.
* File loads from configs dir.
*
* @param array Array with item size MapStruct.
* @param filename File name
*
* @return 1 if success load, 0 otherwise
*/
native mapm_load_maplist_to_array(Array:array, filename[]);
/**
* Block default load maplist.
* Use before call plugin_cfg().
*
* @noreturn
*/
native mapm_block_load_maplist();
/**
* Add map to maplist
*
* @param name Map name
* @param minplayers Min players for sort
* @param maxplayers Max players for sort
*
* @return 0 if invalid map or already in array
*/
native mapm_add_map_to_list(name[], minplayers = 0, maxplayers = 32);
/**
* Get map index in mapslist array.
*
* @param map Map name
*
* @return Map index or INVALID_MAP_INDEX if map not exist in mapslist
*/
native mapm_get_map_index(map[]);
/**
* Get prefix from core.
*
* @param prefix Prefix string
* @param len String lenght
*
* @noreturn
*/
native mapm_get_prefix(prefix[], len);
/**
* Set value for vote finished variable.
*
* @param value Bool value
*
* @noreturn
*/
native mapm_set_vote_finished(bool:value);
/**
* Start vote.
*
* @param type Vote type, use const VOTE_BY_*
*
* @noreturn
*/
native mapm_start_vote(type);
/**
* Stop vote.
*
* @noreturn
*/
native mapm_stop_vote();
/**
* Blocks show vote menu from core.
*
* @noreturn
*/
native mapm_block_show_vote();
/**
* Get votelist size const from core.
*
* @return Votelist size
*/
native mapm_get_votelist_size();
/**
* Set max items in vote.
*
* @param value Amount items in vote
*
* @noreturn
*/
native mapm_set_votelist_max_items(value);
/**
* Push map in votelist.
*
* @note Use native in forward mapm_prepare_votelist().
*
* @param map Map name
* @param type Type for addons
* @param ignore_check Allow ignore some checks, bit sum, use const CHECK_*
*
* @return Result of pushing, const PUSH_*
*/
native mapm_push_map_to_votelist(map[], type = PUSH_BY_NATIVE, ignore_check = CHECK_NOT_IGNORED);
/**
* Get amount maps in votelist.
*
* @note Use in mapm_analysis_of_results()
*
* @noreturn
*/
native mapm_get_count_maps_in_vote();
/**
* Get info about votelist item.
*
* @note Use in mapm_analysis_of_results()
*
* @param item Index in votelist
* @param map Map name
* @param len Map name string lenght
*
* @return Votes
*/
native mapm_get_voteitem_info(item, map[], len);
/**
* Returns vote type.
*
* @return Type of vote, used const VOTE_BY_*
*/
native mapm_get_vote_type();
/**
* Adds votes to vote item.
*
* @note Use while vote continues.
*
* @param item Index in votelist
* @param value Map name
*
* @return 1 if success
*/
native mapm_add_vote_to_item(item, value);
/**
* Returns if vote started.
*
* @return true/false
*/
native bool:is_vote_started();
/**
* Returns if vote finished.
*
* @return true/false
*/
native bool:is_vote_finished();
/**
* Called after load map list.
*
* @param maplist Array with loaded maps
* @param nextmap Nextmap after current map in loaded list
*
* @noreturn
*/
forward mapm_maplist_loaded(Array:maplist, const nextmap[]);
/**
* Called after clear maplist.
*
* @noreturn
*/
forward mapm_maplist_unloaded();
/**
* Called every second before vote or in vote.
*
* @param type Type of countdown, used const COUNTDOWN_*
* @param time Current second of countdown
*
* @noreturn
*/
forward mapm_countdown(type, time);
/**
* Called before vote.
*
* @param type Type of vote, used const VOTE_BY_*
*
* @noreturn
*/
forward mapm_prepare_votelist(type);
/**
* Called when core or addons are trying add map in votelist.
*
* @param map Map name
* @param type Type of vote, used const VOTE_BY_*
* @param index Index in mapslist array
*
* @return MAP_ALLOWED
* MAP_BLOCKED
*/
forward mapm_can_be_in_votelist(const map[], type, index);
/**
* Called for permission to extend current map.
*
* @param type Type of vote, used const VOTE_BY_*
*
* @return EXTEND_ALLOWED to allow extend current map
* EXTEND_BLOCKED to block extend current map
*/
forward mapm_can_be_extended(type);
/**
* Called when core start show menu with vote.
*
* @param type Type of vote, used const VOTE_BY_*
*
* @noreturn
*/
forward mapm_vote_started(type);
/**
* Called when core canceled vote.
*
* @param type Type of vote, used const VOTE_BY_*
*
* @noreturn
*/
forward mapm_vote_canceled(type);
/**
* Called before vote finish.
*
* @param type Type of vote, used const VOTE_BY_*
* @param total_votes Count of players votes
*
* @return ALLOW_VOTE to allow finish vote
* ABORT_VOTE to block finish vote, forward mapm_vote_finished() will not be called
*/
forward mapm_analysis_of_results(type, total_votes);
/**
* Called when vote finished.
*
* @note Can be blocked in forward mapm_analysis_of_results()
*
* @param map Nextmap
* @param type Type of vote, used const VOTE_BY_*
* @param total_votes Count of players votes
*
* @noreturn
*/
forward mapm_vote_finished(const map[], type, total_votes);
/**
/**
* Start vote by scheduler, work with own cvars.
*
* @param type Type of vote, used const VOTE_BY_*
*
* @noreturn
*/
native map_scheduler_start_vote(type);
/**
* Extend current map time.
*
* @param count Extend time param, bonus time = count * cvarnum(extend_time)
*
* @noreturn
*/
native map_scheduler_extend_map(count = 1);
/**
* Returns true if vote will in next round.
*
* @return true/false
*/
native bool:is_vote_will_in_next_round();
/**
* Returns true if now is last round.
*
* @return true/false
*/
native bool:is_last_round();
/**
* Check map if it in blocklist.
*
* @param map Map name
*
* @return Blocked count
*/
native mapm_get_blocked_count(map[]);