ИсточникЦитата:
Вторая публичная версия дллки. Перечень нововведений и исправлений значительно увеличился. Главная задача разработки - обеспечить максимально удобную игру в HLDM, насколько это позволяет клиентская часть игры.
Список фиксов:
+ автозапись демки при заходе в игру
+ отключаемые чёрные полосы в режиме спектатора
+ плавная прокрутка чата и детлога
+ отключаемые трупы (2 режима)
+ краткая запись HP/AP в ТДМ при наведении на игрока
+ спидометр
+ индикатор расстояния прыжка
+ индикатор скорости прыжка
+ звуковое оповещение при входе/выходе игрока
+ настраиваемый цветной худ (3 режима раскраски)
+ отключаемый звук чата (2 режима)
+ оповещение в чате при заходе нового игрока
+ отображение "лосса" в таблице (потеря пакетов)
+ таймер
+ лог чата в valve/chatlog.txt (2 режима)
+ время сообщений чата в консоли и чатлоге
+ увеличена длина имени сервера в таблице и МОТД (с 31 и 32 до 53 и 41 символов соответственно)
+ оптимизация точек прострелов (+фпс) и зависимость их размера от урона
+ отключаемые шарики от попаданий гауссом (точки от прострелов горят всегда; +фпс)
+ мгновенное логирование чата в консоль - теперь последние сообщения не исчезают при выходе с сервера
+ цветной чат, детлог и ники при наведении (как в аг и ку3)
+ фильтрация ключей цвета в таблице и на панели спектатора
+ правильный предикт распрыга на клиенте, режим автоопределения
* исправлено отсутствие реакции вида на очень медленное движение мыши
* исправлена красная полоса, выделяющая в таблице у жертвы убившего игрока
Консольные переменные (со значением по умолчанию):
cl_autorecord 5
- Автозапись демо при заходе в игру. Демки именуются в формате temp0, temp1, tempN (N - значение переменной минус 1). Переменная указывает количество демок, temp0 - всегда последняя по дате. Нулевое значение отключает автозапись.
cl_bhop_mode 2
- Режим предикта распрыга:
0 = ограничение скорости в 1.7х (HLDM)
1 = нет ограничения скорости (AG)
2 = автоопределение (режим определится при первом пересечении лимита в 1.7х, то есть дёрнет только один раз и только на сервере без распрыга)
cl_chatlog 2
- Логирование чата и системных серверных сообщений (опционально) в valve\chatlog.txt.
0 = выкл.
1 = игнорировать серверные сообщения (Например, Next map is...)
2 = логировать всё
cl_gauss_balls 1
- Маленькие прыгающие шарики от попаданий гауссом. Выключение сэкономит немного фпс. Яркие точки от прострелов не отключаются.
0 = выкл.
1 = вкл.
cl_gauss_hits 1
- Большой светящийся спрайт от попаданий гауссом. Хавает фпс довольно сильно (для моего компа).
0 = выкл.
1 = вкл.
cl_remove_dead 0
- Режим отключения трупов игроков:
0 = отображать
1 = выключать только статические трупы
2 = выключать и трупы, и только что убитых игроков, не успевших появиться
hud_alpha 100
- Яркость HUD'а в пределах 0..255.
hud_chatsound 1
- Режим звукового оповещения сообщения в чате (звук valve\sound\misc\talk.wav):
0 = выкл.
1 = озвучивать только сообщения игроков
2 = озвучивать все сообщения
hud_color auto
- Режим окраски худа:
auto = окрашивать элементы в зависимости от значения (режим прежней версии):
0..25hp, 0..20% ammo - красный;
26..50hp, 0..50ap, 21..50% ammo - оранжевый;
51..90hp, 51..90ap, 51..90% ammo - жёлтый;
91..100hp, 91..100ap, 91..100% ammo - зелёный.
"R G B" = статичный цвет всех элементов худа. R, G и B указывать в пределах 0..255. Обязательно поставить кавычки. Например, "255 160 0" - стандартный жёлто-оранжевый цвет HUD'а халфы.
"R1 G1 B1 R2 G2 B2" = режим градиента, в котором при 100% значения элемент окрашивается в цвет 1, а при приближении к 0% - в цвет 2. Также необходимы кавычки.
hud_colortext 1
- Цветной чат и ники (везде, кроме панели спектатора и таблицы):
0 = выкл.
1 = окрашивать в зависимости от ключа ^n (n = 0..9). ^1 - красный, ^2 - зелёный, и т. д.
2 = фильтровать ключи цвета, но не окрашивать текст
hud_health_divider 1
- Отображать полоску-разделитель после здоровья
0 = выкл.
1 = вкл.
hud_join_leave_sound 1
- Звуковое оповещение при заходе или выходе игроков
0 = выкл.
1 = вкл.
hud_jumpspeed 0
- Индикатор скорости в момент прыжка. Мигает зелёным, если скорость на текущем прыжка больше, чем на предыдущем, и красным наоборот. Хорош для задрачивания circle-jump.
0 = выкл.
1 = вкл.
2 = включен, но не мигает.
hud_jumplength 0
- Индикатор расстояния последнего прыжка. Мигает зелёным, если последний прыжок был дальше предыдущего, и красным наоборот. Пригодится на KZ и тренировочных картах.
0 = выкл.
1 = вкл.
2 = включен, но не мигает.
hud_lists_glide 1
- Плавное скольжение строк чата и детлога (лога убийств).
0 = выкл.
1 = вкл.
Далее идут команды для тонкой настройки положения элементов HUD'а. Значение auto означает положение по умолчанию. Значение в формате "X Y" определяет положение на экране, причём X и Y указываются в интервале 0.000000 - 1.000000 (то есть "0.5 0.5" - посередине, отрисовка идёт с угла элемента).
hud_pos_health auto
hud_pos_suit auto
hud_pos_flashlight auto
hud_pos_ammo auto
hud_pos_chat auto
hud_pos_deathlog auto
hud_pos_speedo auto
hud_pos_jmpspd auto
hud_pos_jmplen auto
hud_pos_items_left 0
- Отображать подобранные предметы слева или справа.
0 = справа
1 = слева
hud_reverse 0
- Развернуть порядок отрисовки некоторых элементов, чтобы значок следовал за цифрами.
0 = сперва значок, затем цифры
1 = сперва цифры, затем значок
hud_spec_bars 0
- Показывать чёрные полосы сверху и снизу экрана в режиме спектатора.
0 = не показывать
1 = показывать
hud_speedo 1
- Отображать спидометр. Показывает горизонтальную скорость перемещения. Работает в демках и спектаторе.
0 = выкл.
1 = вкл.
hud_timer 1
- Отображать время до перехода. Запрос идёт через чат, значение таймера берётся из ответа сервера на timeleft с погрешностью +- 1сек. На сервере должен стоять AMX и таймлимит, не равный нулю.
0 = выкл.
1 = отображать таймер, при этом автоматически отправлять запрос (say timeleft) при заходе на сервер. В стандартном ДМ игроки не увидят автоматический запрос, т.к. команда выглядит так: "say_team timeleft;say timeleft". Таймер корректируется при каждом ответе сервера на подобный запрос, ручной или автоматический. Например, вследствие продолжительных лагов таймер может значительно отклониться от серверного и повторный запрос скорректирует его.
2 = аналогично первому режиму, но без автоматического запроса (остаётся реакция на ответ сервера команде timeleft)
hud_timer_pre_timeleft 600
- Интервал перед автоматическим запросом при hud_timer 1. При слишком низких значениях автозапрос почему-то не срабатывает. Кое-где приходится даже увеличивать.
Установка:
Извлечь содержимое архива в HL\valve\.
Разработка продолжается. Жду сообщений по поводу багов, вылетов и недочётов. Также всегда готов выслушать предложения о нововведениях.
PS. Thanks Mav, Rau and крепкий учебник for teaching me c++!
Лично мне dll'ка понравилась за счёт некоторых полезных для меня функций, например логирование чата, отключение трупов, таймер, взуковые оповещения.