Ultimate Mapchooser 3.4.5
Опубликовано: 01.12.2012, 15:54

Ultimate Mapchooser 3


Требования:
Sourcemod 1.3 и выше

Описание:
Ultimate Mapchooser – очень гибкий плагин для sourcemod с множеством функций и огромным количеством настроек. В нем вы найдете все, чего так не хватало в стандартном mapchooser.smx и даже больше. Плагин постоянно обновляется, улучшается и преобретает новые функции.

Ultimate Mapchooser обеспечивает повышенный контроль над выбором карт.

Включает в себя:

-=-Случайный выбор следующей карты.
-=-Какие карты добавлять в голосование.
-=-Какие карты доступны для номинаций.

Вы можете управлять работой случайного выбора карт, разделяя ротацию карт на группы, и определяя весомость каждой группы или отдельной карты, определяя максимальное или минимальное число игроков, разрешенных на сервере чтобы карта стала доступной, определяя сколько карт из группы доступно для голосования и т.д.

Для того, чтобы все это работало, пришлось полностью обойти RTV, Mapchooser, и Nominations, а это значит, что я переписал их функциональность в одном плагине. Вы можете управлять каждой из этих возможностей через параметры Ultimate Mapchooser’а.

Возможности:
Любые или вообще все функции можно включать и отключать.
1) Исключение карт. Карты могут иметь определенное минимальное и максимально количество игроков, так же как и минимальное и максимальное время суток, в течение которого они могут играться. Если параметры сервера не соответствуют условиям для данной карты, то карта не будет выбрана.

2) Случайный выбор следующей карты. Функция похожа на встроенную в randomcycle.smx, но случайные карты выбираются в конце текущей, а не в начале, и карты проверяются на исключения перед тем, как быть выбранными.

3) Голосование в конце карты. Функция похожа на встроенную в mapchooser.smx, но у вас появляется больше возможностей управлять заполнением голосования. Карты могут быть разделены в группы, которые затем будут распределены в голосовании, как Вы считаете целесообразным. Хотите убидиться, что некоторые карты всегда появляются в голосовании? Это полностью осуществимо.

4) Rock The Vote. Функция похожа на встроенную в rockthevote.smx, но имеет те же самые возможности настройки, как и голосование в конце карты в Ultimate Mapchooser.

5) Номинации. Функция похожа на встроенную в nominations.smx. Исключение карт не влияет на меню номинаций; номинированные карты проверяются на исключения в момент голосования/выбора случайной карты.

6) Проверка количества игроков. Если текущая карта имеет ограничения по количеству игроков, и ограничения нарушены посредством прихода и ухода игроков с сервера, Ultimate Mapchooser может сменить карту на какую-нибудь другую, которая соответствует текущему количеству игроков.

7) Предупреждения о голосовании. Вы можете определить некое время до начала голосования в конце карты, когда появится уведомление, предупреждающее игроков о приближающемся голосовании.

8) Звук голосования. Вы можете определить звуки, которые будут проигрываться в начале и в конце голосования.

9) Блокировка слотов голосования. У вас есть возможность заблокировать первые три слота в голосвании, для предотвращения случайных голосов.

10) Повтор голосования. Если голосование кончается, и выигрывающая голосование карта не получила большинство голосов, будет проведено другое голосование между катрами-победителями (до получения большинства голосов).

11) Случайное совпадение. Вы можете изменить вероятность случая, что карта/группа карт должна быть выбрана в произвольном порядке (вставленная в голосование, выбранная для следующей карты, и т.д.).

Установка:

Распакуйте zip архив в директорию игры. Полная инструкция по установке на аглийском языке находиться >>тут<<

Замечание: Если вы планируете использовать возможности Nomination, Random Next Map, End of Map Vote или RTV, рекомендуем соответствующим образом отключить nominations.smx, randomcycle.smx, mapchooser.smx и rockthevote.smx.

Настройка:
Существует два основных файла нстройки:

cfg/sourcemod/ultimate_mapchooser.cfg – Все параметры поведения плагина настраиваются в этом файле.

umc_mapcycle.txt Все карты и группы настраиваются в этом файле.

Существует один необязательный конфиг:

addons/sourcemod/configs/vote_warnings.txt – Уведомления о приближающемся голосовании настраиваются здесь.

Включена обширная информация обо всех параметрах настройки в файлах, содержащихся в приложенном архиве. Удостоверьтесь, что вы прочитали их, прежде чем что-то менять.

Использование:

-=-Если функция RTV включена, игроки могут писать «rtv» в чате, чтобы начать Rock The Vote.
-=-Если функция Nominations включена, игроки могут писать «nominate» в чате, чтобы номинировать карту для RTV или голосования в конце карты.
-=-Если функция голосования в конце карты включена, голосование появится в определенный момент, где игроки смогут проголосовать за следующую карту.
-=-Если функция случайного выбора следующей карты включена, следующая карта будет выбрана в конце карты автоматически.

Админские команды:
sm_umc_mapvote - Starts a map vote. Use this to test to see if your votes are the way you want them. Requires the umc-votecommand.smx module to be active.
sm_umc_reload_mapcycles - Reloads all UMC-Mapcycles.
sm_umc_randcycle_picknextmapnow- Sets a random next map. Requires the umc-randomcycle.smx module to be active.
sm_setnextmap - Sets the nextmap, disabling the end of map vote. Replicated from original mapchooser.
sm_umc_stopvote - Stops any UMC vote currently in progress.
sm_umc_maprate_testreweight - Displays how Map Rate's ratings are affecting a given map. Requires the umc-maprate-reweight.smx module to be active.
Для использования этих команд на сервере вам необходимо иметь флаг доступа g (смена карты)

Пример:
umc_mapcycle.txt
PHP код:
"umc_rotation" 

    
"Attack & Defend" 
    

        
"maps_invote" "1" 
        "next_mapgroup" "Payload" 

        "cp_dustbowl" 
        

            
"weight" "2" 
        


        
"cp_gravelpit" {} 

        
"cp_steel" {} 

        
"cp_egypt_final" {} 

        
"cp_junction_final" {} 

        
"cp_gorge" 
        

            
"max_players" "16" 
        

    } 

    
"Payload" 
    

        
"maps_invote" "1" 

        "pl_goldrush" 
        

            
"weight" "2" 
        


        
"pl_badwater" 
        

            
"weight" "4" 
        


        
"pl_thundermountain" {} 

        
"pl_upward" {} 

        
"pl_hoodoo_final" {} 
    } 

    
"5-Point CP (Push)" 
    

        
"maps_invote" "1" 
        "default_min_players" "2" 
        "group_weight" "2" 

        "cp_granary" 
{} 

        
"cp_well" 
        

            
"weight" ".5" 
            "min_players" "12" 
        


        
"cp_coldfront" {} 

        
"cp_yukon_final" {} 

        
"cp_badlands" {} 

        
"cp_fastlane" {} 
    } 

    
"Capture The Flag" 
    

        
"ctf_2fort" {} 

        
"ctf_well" 
        

            
"min_time" "1200" 
            "max_time" "2359" 
        


        
"ctf_turbine" {} 

        
"ctf_sawmill" {} 
    } 

    
"Payload Race" 
    

        
"default_min_time" "0000" 
        "default_max_time" "1200" 

        "plr_pipeline" 
        
{} 

        
"plr_hightower" 
        
{} 
    } 

    
"King of the Hill" 
    

        
"command" "mp_timelimit 0" 

        "koth_sawmill" 
{} 

        
"koth_nucleus" {} 

        
"koth_viaduct" {} 
    } 
}
Краткий обзор этого файла:

* Карты были разбиты на 6 групп
* Из каждой группы в голосовании появится до одной карты: это может быть как RTV голосование, так и голосование в конце карты
* «5-Point CP (Push)» имеет в два раза больше шансов быть случайно выбранной чем любая другая группа (это не касается голосований, только случайный выбор следующей карты).
* Если в какой-то момент карта выбрана из группы «Attack & Defend»—для госования или случайного выбора карты—в следующий раз случайно выбранная карта будет из группы «Payload» (это не относится к голосованиям, только к случайному выбору следующей карты)
* Некоторые карты могут быть отобраны с большей или меньшей вероятностью, чем другие в той же группе (параметр «weight»)
* Группа «5 Point CP (Push)» может быть выбрана только тогда, когда на сервере более двух человек (у каждой карты есть параметр «min_players», значение которого как минимум 2)
«cp_well» может быть выбран если на сервере есть как минимум 12 человек
«cp_gorge» не может быть выбран, если на сервере более 16 человек
«ctf_well» может играться только между 12:00 и 23:59
* Группа «Payload Race» может быть выбрана только между 00:00 и 12:00

Так будет выглядеть обычное RTV-голосование или голосование в конце карты с использованием ротации:

  
Обратите внимание, что каждая карта соответствует группе в той последовательности, в которой группы определены в random_mapcycle.txt. Также обратите внимание на то, что в голосовании нету карт из группы «5 Point CP (Push)», так как на сервере менее двух человек.

Путем изменения cvar’а в ultimate_mapchooser.cfg, вы можете перемешать карты меню голосования. Вот скриншот другого голосования с тем же файлом random_mapcycle.txt, но с включенной функцией перемешивания:

  
Вы также можете выводить в голосовании имя каждой категории. Если параметр категории «maps_invote» больше нуля, она появится в голосовании. Эта возможность активируется через cvar’ы в ultimate_mapchooser.cfg.

По-порядку:

  
Перемешанные:

  
И вновь обратите внимание на то, что категория «5 Point CP (Push)» не включена в голосование, так как на сервере не достаточно игроков.

vote_warnings.txt:
PHP код:
"vote_warnings" 

    
"default" 
    

        
"message" "{TIME} seconds until vote." 
        "notification" "C" 
        "sound" "" 
    


    
"60" 
    

        
"message" "1 minute until vote." 
        "notification" "S" 
    


    
"30" 
    

        
"notification" "S" 
    


    
"10" { } 

    
"5" 
    

        
"sound" "vo/announcer_end_5sec.wav" 
    


    
"4" 
    

        
"sound" "vo/announcer_end_4sec.wav" 
    


    
"3" 
    

        
"sound" "vo/announcer_end_3sec.wav" 
    


    
"2" 
    

        
"sound" "vo/announcer_end_2sec.wav" 
    


    
"1" 
    

        
"sound" "vo/announcer_end_1sec.wav" 
    


    
"0" { } 
}
Краткий обзор этого файла:

* Предупреждение «default» содержит значения, которые будут использованы, если настройки текущего предупреждения будут проигнорированы. Например, в предупреждении «60″ не определен звук, поэтому будет использован звук, обозначенный в «default» (которого в данном случае нету).
* Названия определяют за сколько времени до начала голосования (в секундах) показать предупреждение. В этом примере, предупреждения определены за 60, 30, 10, 5, 4, 3, 2, 1, и 0 секунд.
* Опция «message” определяет текстовое сообщение для предупреждения.
* Опция «message» может содержать строку «{TIME}.» Если эта строка присутствует в «message,» при выводе предупреждение она будет заменена на время до голосования. (Это полезно только для обозначения в "default”).
* Опция «notification» определяет каким образом будет выводиться предупреждение на сервере. В "default” в данном примере, «C» означает, что уведомление будет появляться в центре экрана. Для предупреждения «60″, «S» означет, что уведомление появится в чате.
* Опция «sound» определяет звуковой файл, относящийся к папке «sound», который будет проигрываться в момент предупреждения. Если оставить пустым («»), никакой звук не будет воспроизвдиться.

Наглядный пример настройки ротации карт в ultimate mapchooser:
Пример будет приведен для игры Half-Life 2: Deathmatch. Всегда комфортнее играть, когда на сервере достаточно играков, чтобы не искать их долго по карте и в то же время не слишком много, иначе будет «мясо». Перед изучением этого примера следует иметь представления о работе Ultimate Mapchooser. Все карты разбиваем следующим образом на группы:
PHP код:
"umc_rotation" 

    
"Empty server" 
    

        
"default_max_players" "1" 
        "maps_invote" "6" 
        "aim_arena_reloaded" 
{} 
        
"dm_biohazard_cal" {} 
        
"dm_lockdown" {} 
        
"dm_lostarena_rpg" {} 
        
"dm_lostvillage_r1" {} 
        
"dm_octagon" {} 
        
"dm_tigcrik_r2" {} 
    } 
    
"1v1 CU maplist" 
    

        
"default_min_players" "2" 
        "default_max_players" "4" 
        "maps_invote" "3" 
        "aim_arena_reloaded" 
{} 
        
"dm_biohazard_cal" 
        

            
"weight" "2" 
        

        
"dm_caverns_r1" {} 
        
"dm_intensity" {} 
        
"dm_is_alive" {} 
        
"dm_lockdown" {} 
        
"dm_lostarena_rpg" {} 
        
"dm_lostvillage_r1" {} 
        
"dm_octagon" {} 
        
"dm_overwatch_cu" {} 
        
"dm_tigcrik_r2" {} 
    } 
    
"1v1 maplist" 
    

        
"default_min_players" "2" 
        "default_max_players" "4" 
        "maps_invote" "3" 
        "dm_atrium_b4" 
{} 
        
"dm_backdoor" {} 
        
"dm_collapse_r2" {} 
        
"dm_ethic" {} 
        
"dm_feudal" {} 
        
"dm_infinity" {} 
        
"dm_joyride_r1" {} 
        
"dm_killbox_kbh_2p" {} 
        
"dm_lockdown_r5" {} 
        
"dm_lockdown_r6" {} 
        
"dm_organic_b5" {} 
        
"dm_overwatch_r1" {} 
        
"dm_sandtrap_r1" {} 
        
"dm_thumper" {} 
        
"dm_voltage_test" {} 
    } 
    
"2v2 CU maplist" 
    

        
"default_min_players" "5" 
        "default_max_players" "8" 
        "maps_invote" "3" 
        "dm_atrium_b4" 
{} 
        
"dm_biohazard_cal" {} 
        
"dm_caverns_r1" {} 
        
"dm_collapse_r2" {} 
        
"dm_frenzy_cu" {} 
        
"dm_intensity" {} 
        
"dm_is_alive" {} 
        
"dm_lockdown" {} 
        
"dm_lostarena_rpg" {} 
        
"dm_lostvillage_r1" {} 
        
"dm_octagon" {} 
        
"dm_overwatch_cu" {} 
        
"dm_resident_r1" {} 
    } 
    
"2v2 maplist" 
    

        
"default_min_players" "5" 
        "default_max_players" "8" 
        "maps_invote" "3" 
        "dm_airfusion" 
{} 
        
"dm_amplitude_r2" {} 
        
"dm_asylum_rc2" {} 
        
"dm_avalon_b1" {} 
        
"dm_decoy_r1" {} 
        
"dm_decoy_r3" {} 
        
"dm_helix" {} 
        
"dm_hydroponicz_cu" {} 
        
"dm_jaeger_rc3" {} 
        
"dm_joyride_r1" {} 
        
"dm_killbox_kbh_2p" {} 
        
"dm_lockdown_r5" {} 
        
"dm_lockdown_r6" {} 
        
"dm_metalbase_rc1" {} 
        
"dm_milieu_final" {} 
        
"dm_mudafuga" {} 
        
"dm_np_refinery" {} 
        
"dm_orange_rc1" {} 
        
"dm_overwatch_r1" {} 
        
"dm_pueblo" {} 
        
"dm_qtech_r3" {} 
        
"dm_riposte_utd" {} 
        
"dm_servus" {} 
        
"dm_sewerz" {} 
        
"dm_substorage" {} 
        
"dm_undercastle_r1" {} 
        
"dm_voltage_test" {} 
        
"dm_wardon" {} 
        
"dm_warlock_r4" {} 
        
"dm_zeta_rc2" {} 
    } 
    
"3v3 CU maplis" 
    

        
"default_min_players" "9" 
        "maps_invote" "3" 
        "dm_biohazard_cal" 
{} 
        
"dm_caverns_r1" {} 
        
"dm_frenzy_cu" {} 
        
"dm_helix" {} 
        
"dm_hydroponicz_cu" {} 
        
"dm_lockdown" {} 
        
"dm_lostarena_rpg" {} 
        
"dm_lostvillage_r1" {} 
        
"dm_octagon" {} 
        
"dm_overwatch_cu" {} 
        
"dm_resident_r1" {} 
        
"dm_zeta_rc2" {} 
    } 
    
"3v3 maplis" 
    

        
"default_min_players" "9" 
        "maps_invote" "3" 
        "dm_airfusion" 
{} 
        
"dm_amplitude_r2" {} 
        
"dm_asylum_rc2" {} 
        
"dm_avalon_b1" {} 
        
"dm_backbone" {} 
        
"dm_decoy_r1" {} 
        
"dm_decoy_r3" {} 
        
"dm_jaeger_rc3" {} 
        
"dm_joyride_r1" {} 
        
"dm_lockdown_r5" {} 
        
"dm_lockdown_r6" {} 
        
"dm_metalbase_rc1" {} 
        
"dm_milieu_final" {} 
        
"dm_mudafuga" {} 
        
"dm_np_refinery" {} 
        
"dm_orange_rc1" {} 
        
"dm_overwatch_r1" {} 
        
"dm_pueblo" {} 
        
"dm_qtech_r3" {} 
        
"dm_riposte_utd" {} 
        
"dm_servus" {} 
        
"dm_substorage" {} 
        
"dm_undercastle_r1" {} 
        
"dm_wardon" {} 
        
"dm_warlock_r4" {} 
    } 
}
Начнем разбираться. Первая группа «Empty server» содержит самые популярные карты, подходящие для игры, когда на сервере очень мало народу, и они будут крутиться на сервере, когда он пуст. Опция default_max_players имеет значение 1, т.к. я точно не знаю, учитывается ли включенный SourceTV бот при подсчете игроков на сервере . Опция «maps_invote» "6" означает, что в голосовании в конце карты появится 6 карт из этой группы на тот случай, если на сервере будет 1 человек и начнется голосование (SourceTV бот выключен или не учитывается плагином).

Далее идут еще 3 пары групп, разбитые по количеству игроков на сервере:

1v1 CU maplist
1v1 maplist
2v2 CU maplist
2v2 maplist
3v3 CU maplis
3v3 maplis
В каждой паре содержится группа популярных карт, играющихся в лиге, и группа остальных карт, не вошедших в список популярных, но подходящих для данного количества игроков. Опциями default_min_players и default_max_players эти пары групп карт ограничиваются от других пар, опция maps_invote опять же определяет количесвто появящихся в голосовании карт из данной группы: т.е. в голосовании будут 6 карт (рандомно 3 популярных и 3 непопулярных, т.о. есть выбор из 3х привычных карт и продвижение 3х малоизвестных карт).

Тот факт, что некоторые карты (например, dm_octagon) находятся в несольких списках объясняется тем, что эти карты прекрасно подходят для разного количества одновременно играющих человек. Остальное вроде и так понятно.

Поддержка:

Если у вас возникли проблемы с этим плагином, вы можете получить поддержку в официальной теме плагина, оставьте в сообщении следующие данные вместе со своей проблемой:
=Ваш ultimate-mapchooser.cfg.
=Ваш umc_mapcycle.txt
=Обычный лог и лог ошибок сорсмод за период, в который возникла проблема
=Если у вас проблемы с предупреждением о голосовании, также необходимо прикрепить ваш vote_warnings.txt файл
Оригинал
Категория: Плагины sourcemod | Добавил: root Просмотров: 4005 | Загрузок: 201 | Рейтинг: 5.0/15
Скачивать и комментировать могут только зарегистрированные пользователи.

Регистрация или Вход

  1. Комментарии ВКонтакте
  2. Комментарии на сайте
Всего комментариев: 0