Last server records
Pro Nub

Дополнительные функции LAN сборки

Posted by Kpoluk 30 Mar 2019 in 05:57
Если вы уже ознакомились с основными командами сборки и разобрались с меню настроек, но всё ещё хотите узнать больше о возможностях LAN сервера, то эта статья для вас.

Содержание:

Дополнительные настройки
VIP меню и голосовалка
Топы и сокращения
KZ-Rush Bot
Подсветка entity
Замер времени между двумя позициями
Звуки


Дополнительные настройки


Большую часть кваров из конфига ...\cstrike\addons\amxmodx\configs\kz_demo.cfg можно изменить через меню Settings (об этом подробно написано в этой статье). В статье про запись демо упоминается самая главная настройка kz_mode (режим записи демо), которая вынесена в главное меню, а также там есть информация о кваре kz_name). Но этим конфиг kz_demo.cfg не ограничивается.

Как вы возможно знаете, на определённых картах мы принимаем демки с чекпоинтами. Правила записи демок для них немного отличаются, например можно использовать специальный nightvision, не влияющий на fps игрока. За его включение отвечает квар kz_newnightvision (по умолчанию вставлен 0, то есть используется обычный nightvision).

Квар kz_semiclip даёт возможность игрокам проходить друг сквозь друга. Если вы с другом решили пройти 2man карту, то вам понадобится возможность подсаживать друг друга, для этого достаточно поставить kz_semiclip 0. Также можно регулировать расстояние, начиная с которого при включённом semiclip игроки становятся полупрозрачными, за это отвечает квар kz_transparency_radius (он может меняться в пределах от 0 до 250, значение 0 означает отключение прозрачности).

Скорость hook'а можно менять с помощью kz_hookspeed (по умолчанию 500), а его цвет RGB задаётся кварами kz_hook_red, kz_hook_green, kz_hook_blue (по умолчанию выставлено 0, 255, 0, то есть зелёный). Если задать 0, 0, 0, то цвет хука будет меняться случайным образом каждый фрейм.

По умолчанию наша сборка удаляет с карт все объекты типа game_player_equip (дают гранаты или оружие) и player_weaponstrip (отбирают всё оружие). Однако если вы всё же не хотите удалять их, используйте kz_remove_equip 0.

Будет ли включён список наблюдателей при заходе на сервер определяется кваром kz_speclist (позже его можно включить/выключить командой чата /speclist), а цвет этого списка можно изменить кварами kz_spec_red, kz_spec_green, kz_spec_blue (по умолчанию выставлено 255, 255, 255, то есть белый). Горизонтальное положение списка на экране задаётся кваром kz_spec_x, а вертикальное - кваром kz_spec_y_alive для живых игроков и kz_spec_y_dead для наблюдателей (диапазон значений от 0.0 до 1.0, -1 означает выравнивание по центру).

Также можно задать, будут ли при заходе на сервер отображаться нажимаемые клавиши, для этого есть квары kz_speckeys для наблюдателей (позже можно включить/выключить командой /speckeys) и kz_showkeys для живых игроков (позже можно включить/выключить командой /showkeys).

Помимо перечисленных есть ещё настройки бота, о них речь пойдёт чуть ниже. Краткое описание всех кваров можно найти в файле kz_demo_info[RU].txt (в той же папке, что и сам конфиг).


VIP меню и голосовалка


VIP меню на LAN сервере во многом похоже на версию VIP меню на пабликах. Вызвать его можно из основного меню или командой чата /vip:


Отсюда можно замьютить (Gag Menu), забанить (Ban Menu), а также телепортироваться (Teleport Menu) к определённому игроку. Кстати, если захотите кого-то телепортировать к себе, то для этого есть меню из стандартного набора AMXX, вызываемое консольной командой amx_teleportmenu.

В конфиге amxx.cfg (лежит в ...\cstrike\addons\amxmodx\configs) среди прочих настроек прописана длительность карты в минутах: mp_timelimit 0. Нулевое значение означает, что лимита по времени нет. Поэтому в VIP меню пункт Extend Map for 15 minutes (продление карты на 15 минут) не активен. Тем не менее, вызвать голосование с помощью Force RTV всё же можно.

Если вы используете ненулевой mp_timelimit, то перед сменой карты появится голосование. Карты для голосования берутся из файла \cstrike\addons\amxmodx\data\maps.txt. При первом запуске сервера в него автоматически запишутся все карты из папки cstrike/maps. Если позже вы поставите карту, которой не окажется в maps.txt, то он сам обновится. Помимо этого у него есть ещё одна функция - если при смене карты через консоль вы используете неправильный регистр в названии (например changelevel hb_shock вместо changelevel hb_ShoCk), то сборка заметит несоответствие с maps.txt и поправит вас.


Топы и сокращения


Top10 в LAN сборке открывается командами чата /top, /pro, /nub и позволяет отслеживать свои лучшие прохождения на картах. Настройки Top10 вы уже могли видеть на последней странице меню Settings. Обратите внимание, что в топ не попадают прохождения, в которых использовались hook, noclip или пауза (если демка не пишется, то таймер можно остановить и запустить командой /pause). Кстати кроме паузы у создавшего сервер есть ещё и возможность сохранить позицию и время рана (команда /save), чтобы потом даже после перезахода в игру загрузить сохранённый ран (команда /load), причём на попадание в топ это не влияет.

Если же вы хотите сравнить своё прохождение с сайтовыми или серверными рекордами, то можно сделать это прямо на лане с помощью команды /records. С помощью команды /sc можно посмотреть скриншоты сокращений. Фактически, обе эти команды показывают разные вкладки из сайтового профиля карты.


KZ-Rush Bot


В сборке есть возможность создать точно такого же бота, как на наших серверах. Мало того, им можно управлять с помощью меню /bot:


Первые пять пунктов позволяют останавливать, ускорять, проматывать вперёд и назад, начинать с начала. Седьмым пунктом можно выбрать конкретного бота (если их доступно несколько) либо всех сразу, после чего восьмым пунктом создать или удалить их. Шестым пунктом идут настройки ботов:


1. Download New Bots (квар kz_bot_download) - разрешить скачивание бота с нашего специального сервера. Если эта настройка включена, то при старте карты в папку ...\cstrike\addons\amxmodx\data\kzbot\mapname скачивается один или несколько файлов с расширением .nav. По умолчанию стоит Off, то есть скачивания не происходит. После включения этого пункта нужно обязательно сохранить настройки (пункт 7. Save Settings) и перезапустить LAN (команда restart в консоли). Затем можно создать бота через меню /bot.

2. Remove Old Bots (квар kz_bot_removeold) - если первый пункт включён, то эта настройка определяет, нужно ли хранить старые .nav файлы. По умолчанию стоит Off, то есть старые файлы не будут автоматически удаляться.

3. Show only New Bots (квар kz_bot_showonlynew) - если во втором пункте стоит Off, то эта настройка определяет, будут ли старые боты доступны для управления через меню. По умолчанию выбрано Off, то есть даже если файлы будут сохраняться, в меню старые боты мешаться не будут.

4. Create on Connect (квар kz_bot_autocreate) - создаёт ботов автоматически при старте карты (при наличии конечно). По умолчанию выбрано Off, то есть создание происходит вручную через меню.

5. Execute use command (квар kz_bot_usecmd) - разрешает боту выполнять команду +use, то есть он сможет нажимать на карте кнопки (однако действия, привязанные к этим кнопкам, производиться не будут). По умолчанию выбрано Off.

6. Sync with Start Timer (квар kz_bot_sync) - если игрок в демке нажимал старт, то это нажатие можно синхронизировать с вашим. То есть при нажатии на кнопку старта бот будет начинать прохождение вместе с вами. Иногда в демке может оказаться несколько нажатий, и синхронизация будет неточной. Чтобы плагин понял, какое именно нажатие запустило таймер, включите пятый пункт и дождитесь в чате сообщения "Bot found real start, now you can sync with it". По умолчанию выбрано Off.

Заметьте, что некоторые архивы с демками имеют неправильные названия, из-за чего автоматическое создание бота для них становится невозможным. В связи с этим у вас может возникнуть потребность создать .nav файл самим. Для этого достаточно закинуть демку с прохождением в папку cstrike, перезапустить LAN, открыть меню /bot и выбрать 9. Parse Demo. В открывшемся меню найдите и выберите свою демку. Как только создание .nav файла закончится, можете запустить сервер на необходимой карте и создать своего бота. При этом в настройках бота должны быть отключены пункты Remove Old Bots (иначе ваш .nav при загрузке карты посчитается старым ботом и будет удалён) и Show only New Bots (иначе в меню нельзя будет выбрать вашего бота).

Примечание: использование бота запрещено во время записи демо.


Подсветка entity


Иногда на карте необходимо найти определённые объекты (entity) - кнопки, двери, разбивающиеся стены, телепорты и т. д. Для этого в нашей сборке есть меню, позволяющее подсвечивать различные entity.


Entity разбиты на три основные группы - func_ объекты, триггеры и другие. Существует три режима для их подсветки, задаваемые в пятом пункте:

  • Mode: All
    В этом режиме достаточно с помощью первых трёх пунктов выбрать нужные типы объектов, и все они будут подсвечены:


  • Mode: Aim and Shoot
    В этом режиме объекты подсвечиваются по одному. Для выбора объекта нужно либо посмотреть на него и нажать кнопку атаки (не важно с ножом или оружием), либо найти объект перебором с помощью первых трёх пунктов меню. Перебор удобен в случае, если вы не знаете, где конкретно находится объект. К примеру, нам нужно найти все кнопки типа func_button. Мы ставим пункт 7. Centerline в On (чтобы отрисовывать линию, проходящую до центра кнопки), заходим в пункт 1. Funcs и начинаем нажимать пункт с названием func_button. При этом все кнопки на карте будут поочерёдно подсвечиваться, и каждую можно найти, двигаясь вдоль линии Centerline. При необходимости информацию по выбранному объекту можно получить, выбрав в основном меню 4. Print entity info in console или прописав в чате /entinfo (либо /fullentinfo для полного списка свойств объекта). Если ни один объект не выбран, команда чата покажет свойства worldspawn.


    Чтобы по пути случайно не подсветить кнопкой атаки другой объект, можно поставить пункт 8. Lock в On (перебор func_button через меню при этом всё ещё будет работать).
  • Mode: Touch. Ещё один режим для подсветки объектов по одному, однако здесь подсветка происходит по касанию. Сначала с помощью первых трёх пунктов меню нужно выбрать те типы объектов, для которых будет срабатывать касание, а затем просто подойти вплотную к func_ объекту или пройти через триггер, который вас интересует. Пункты 7. Centerline и 8. Lock работают здесь точно так же, как и для режима Aim and Shoot.

    Этот режим может быть крайне полезен для подсветки триггеров. Дело в том, что на картах, скомпилированных компилятором типа vhlt, подсветить триггеры обычным способом (когда в пункте 6. Draw Touched Triggers выбрано Highlight) не получится, так как в файле карты не хватает нужной информации (с точки зрения компилятора это "оптимизация"). Для примера рассмотрим один из телепортов на bhop дорожке на карте fu_evening. В пятом пункте выбираем 5. Mode: Touch, во втором пункте находим и выбираем тип trigger_teleport, в пункте 6. Draw Touched Triggers ставим Outline + Crossline, то есть отрисовку границ объекта и линий, соединяющих противоположные вершины. Дальше остаётся спрыгнуть в нужный телепорт, и мы увидим следующее:


    Линий оказалось так много, что плагину приходится отображать их по очереди (на скриншоте этого не видно, но отрисовка появляется периодически). Благодаря этим линиям мы можем заметить, что боковая стенка телепорта не такая уж и высокая, а значит её можно перепрыгуть, сократив несколько бхоп секций.

Примечание: использование подсветки entity запрещено во время записи демо. Чтобы отключить её, используйте пункт 9. Reset.


Замер времени между двумя позициями


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


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

Пункты 3 и 4 позволяют сбросить текущий таймер и установленные области. Также в меню есть несколько настроек:
5. Show Coordinates - показывать в первых двух пунктах координаты центров областей
6. Show Difference - показывать в названии меню разницу с лучшим временем
7. Show Best Result - показывать в названии меню лучшее время
8. Display Timer - отображать таймер


Звуки


Иногда на картах встречаются часто повторяющиеся или просто раздражающие звуки. В таком случае все посторонние звуки на карте можно заблокировать, прописав её название в файле ...\cstrike\addons\amxmodx\data\silent_maps.txt.

Что касается стандартных звуков (шаги, выстрелы, удары ножом, звуки урона), то согласно нашим правилам при записи демки блокировать их запрещено. Однако есть способ сделать это, не нарушив правил. Допустим, нам не нравится звук ...\valve\sound\doors\doorstop3.wav, который можно слышать когда игрок ходит в HP бустере. Нужно лишь скопировать файл ...\valve\sound\common\null.wav, положить его рядом с doorstop3.wav, переименовать doorstop3.wav в doorstop3_original.wav (на случай, если захочется вернуть прежний звук), а null.wav в doorstop3.wav. Готово! Теперь вы не услышите неприятный звук, а те, кто зайдут к вам на сервер или будут смотреть вашу демку, ничего не заметят.