2.1.
Все размеры Counter-Strike.
Авторы:
mildarf & DigitalManiac.
Дата обнародования: 26.03.2005.
Дополнение пунктов 1-5, 7 и 11: 02.08.2005.
1. Максимальная высота объектов, на которую игрок может взойти без прыжка в положении стоя и в присяде, = 18 юнитов.
2. Минимальная высота объекта над землей, необходимая прохождения игрока под ним:
стоя = 73 юнита,
в присяде = 37 юнитов.
3. Минимальное расстояние между объектами, необходимая для прохождения игрока между ними, = 33 юнита.
4. Максимальная высота объекта, на которую игрок может запрыгнуть:
с прыжка стоя и в прыжке из присяда = 44 юнита,
в прыжке с присядом = 62 юнита.
5. Максимальное расстояние между двумя объектами одинаковой высоты, на которое может прыгнуть игрок:
в прыжке из присяда = 99 юнитов,
в прыжке при ходьбе = 109 юнитов,
в прыжке с разбега = 239 юнитов,
в прыжке с разбега с присядом = 259 юнитов.
6. Максимальная высота объекта, падение с которого при нормальной гравитации:
не приведет к потере жизней = 161 юнит,
приведёт к смерти игрока = 606 юнитов.
7. Максимальная глубина воды, в которой игрок не тонет:
стоя = 53 юнита,
в присяде, = 30 юнитов.
8. Высота линии глаз и оружия от земли (эти линии не совпадают с фактическим положением глаз у моделей игроков):
стоя = 53 юнита,
в присяде = 29 юнитов.
9. Если поставить энтити респаунов игроков (info_playerstart Или info_deathmatch) слишком близко, то при одновременном появлении в начале раунда один из игроков сразу погибнет, так как его модель появится в запретной зоне другой модели. Поэтому для того, чтобы не происходила автосметрь одного из игроков, расстояние между энтитями респаунов игроков должно быть не менее 50 юнитов.
10. В случае, если необходимо поставить непростреливаемую из винтовок бронированную стену можно поставить два тонких браша параллельно друг другу. При этом минимальное расстояние между ними должно быть 8 юнитов.
11. Максимальное расстояние, на котором отрисовываются падающие капли дождя, = 448 юнитов.
12. Размеры рабочего пространства карты 8192x8192x8192 юнита.
14. Минимальное расстояние между краем рабочего пространства карты и граничным брашем (включая SKY), при котором не возникает ошибка компиляции Brush outside world (+/- 4096), = 32 юнита.
15. Максимальный угол наклона стены:
с которой игрок не падает = 45 градусов;
на которую игрок может взобраться = 70 градусов.
Пояснение:
Для того, чтобы установить стену под углом 70 градусов к земле, необходимо:
1. Поставить галочку на флаге Default to 15 degrees rotation в настройках Valve Hammer Editor.
2. Установить стену под углом 75 градусов.
3. Зажать Shift и повернуть браш на 10 делений к земле. При зажатом Shift'е вращение производится на 0.5 градуса.
2.2. Перемещение моделей в игре.
Авторы: mildarf & Mitoh.
Дата обнародования: 02.08.2005.
Для того, чтобы перемещать модель в игре, необходимо:
1. Создать в Valve Hammer Editor объект, отображающий модели, например, cycler_sprite, и задать в параметре model путь к модели, которую требуется передвигать, например, models/qtruck.mdl. Объект можно поместить в любое место карты. Он необходим для кэширования модели (внедрения в оперативную память) при загрузке карты.
2. Создать любую точечную энтитю, открыть её свойства и в поле Class написать func_train. Появится точечный объект со всеми параметрами брашевого func_train'а. Однако, даже при использовании конфигурационных файлов, способных показывать модели в Valve Hammer Editor, модели, помещённые в точечный поезд, в редакторе не отображаются. Также точечный func_train не поддерживает CLIP-браши, поэтому модель будет нематериальной, даже если убрать галочку в флага Not solid.
3. Отключить кнопку SmartEdit, нажать Add и добавить новый параметр model со значением пути к модели, которую требуется перемещать, в данном случае, models/qtruck.mdl.
4. Для размещения модели под разными углами добавить параметр angles со значениями поворотов по осям X, Y и Z соответственно (например, 30 45 15).
5. При потребности проигрывания анимации модели добавить параметры sequence со значением номера анимации и framerate со значением кадров в секунду.
6. Настроить func_train как обычный поезд (задать имена path_corner'ов, скорость движения и т.д.)
Примечание: Большой минус искусственно созданных точечных объектов заключается в том, что они не сохраняются в RMF- и MAP-файлы, поэтому рекомендуется создавать точечный поезд прямо перед компилированием карты.
2.3. Прошивка текстур в BSP-файл.
Автор: DustmaN.
Редактор: mildarf.
Источник: http://dust.mapping.vbios.com/tut/zhlt_edit.htm.
Дата обнародования: ~ март 2005.
Дата редактирования: 09.06.2005.
По умолчанию в BSP-файл записываются ссылки на все WAD-файлы, указанные в настройках Valve Hammer Editor в момент компиляции, и при загрузке игры CS производит поиск текстур в указанных ссылках. При отсутствии хотя бы одного WAD-файла выдаётся сообщение об ошибке, и игра вылетает. Если CS выдаёт ошибку об отсутствии заявленного в BSP WAD-файла, а посмотреть карту нужно обязательно, то необходимо записать/запомнить путь к файлу, указанный в сообщении об ошибке, скопировать любой файл в указанную папку и переименовать его в соответствии с названием нужного WAD-файла. Теперь карта запустится, но поверхности брашей, которые были окрашены текстурами из данного WAD-фала, будут в фиолетово-чёрную клеточку, используемую в CS по умолчанию. Для того, чтобы исключить возможность возникновения такой ошибки, можно прошить используемые текстуры в BSP-файл.
Способы включения текстур в состав BSP-файла:
1. Добавление к hlcsq.exe параметра -wadinclude [адрес WAD-файла] при компиляции.
Пример: hlcsg название_карты.map -wadinclude нестандартный_wad1.wad -wadinclude нестандартный_wad2.wad.
Примечание: каждый WAD-файл необходимо прописать отдельно, неупомянутые WAD'ы не будут включены в состав BSP, и в случае отсутствия этих WAD-файлов игра не запустится.
2. Добавление к hlcsq.exe параметра -nowadtextures. Прошивка всех используемых на карте текстур в BSP-файл.
Пример: hlcsg название_карты.map -nowadtextures.
Недостаток данного метода: ненужное увеличение размера WAD-файла при использовании на карте стандартных текстур (halflife.wad, cs_havana.wad и т.д.), на которые можно просто дать ссылки в BSP-файле.
3. Добавление к hlcsq.exe параметра -wadautodetect. Для использования данного способа необходимы ZHLT-компиляторы версии 2.5.3 и выше. Включение в состав BSP только тех WAD-файлы, которые реально используются на карте.
Пример: hlcsg название_карты.map -wadautodetect.
Недостаток: функция автоматического определения WAD-файлов (automatic wad detection) иногда дает небольшие сбои.
4. Добавление к hlcsq.exe параметра -wadconfig [название настройки]. При реализации данного метода компилятором используется текстовый файл wad.cfg, поставляющийся с ZHLT. При одновременной работе над несколькими картами, использующими разные WAD-файлы, и их компиляции в BSP записываются ссылки на реально не используемые в каждой из карт WAD'ы. В файле wad.cfg можно прописать индивидуальный схему включения WAD-файлов в BSP для каждой карты.
Пример: hlcsg -wadconfig mapconfiguration1,
где mapconfiguration1 - название настройки (допускается любое название латинскими буквами). В данном случае в wad.cfg должно быть прописано, например:
mapconfiguration1 (название настройки карты)
{ (данная скобка открывает список WAD-файлов)
d:\games\halflife\valve\halflife.wad (добавление в BSP-файл ссылки на данный WAD)
d:\games\halflife\cstrike\cstrike.wad
include d:\games\halflife\cstrike\нестандартный_WAD1.wad (прошивка данного WAD-файла в BSP)
include d:\games\halflife\cstrike\нестандартный_WAD2.wad
} (список закрыт).
Недостаток: необходимость, кроме добавления новых WAD-фалов в настройки Valve Hammer Editor, прописывания названий этих WAD'ов в соответствующую конфигурацию файла wad.cfg.
Преимущества прошивки текстур в BSP-файл:
1. Исключение возможности возникновения ошибки CS при поиске необходимых WAD-файлов;
2. Правовой статус - извлечение текстур из BSP-файла и их использование их на других картах считается воровством;
3. Защита некоторых фототекстур с индивидуальной палитрой от корректного извлечения из BSP-файла.
Предлагаю скачать программу для извлечения текстур из BSP-фала
TextractSuite.
2.4. Метод защиты карт от декомпиляции.
Автор: Trup@c.
Редактор: mildarf.
Источник: http://cs-mapping.vbios.com/articles/.
Дата обнародования: ~ декабрь 2004.
Дата редактирования: 09.06.2005.
В настоящее время для декомпиляции карт CS применяется программа
WinBSPC 1.3,
которая способна конвертировать из формата BSP в MAP карты, использующие менее 4096Kb памяти. Для того, чтобы увеличить объём выделяемой карте памяти и исключить возможность декомпиляции данными программами, необходимо скомпилировать её с добавлением параметра -texdata 8192 ко всем ZHLT-утилитам и реально использовать на карте более 4096Kb текстур, моделей и т.д. Информацию об объёме использованных на карте текстур можно узнать во вкладке Map - окно ShowInformation - величина TextureMemory.
Пример:
hlcsg -texdata 8192
hlbsp -texdata 8192
hlvis -texdata 8192
hlqrad -texdata 8192
Примечание: карта, cкомпилированная с параметрами -texdata 8192, но использующая менее 4096Kb памяти, декомпилируема при помощи Bsp2map и WinBSPC 1.3. В настоящее время разработан новый алгоритм декомпилирования, способный качественно конвертировать все карты из BSP в MAP, использующие любой объём памяти, но оболочка для него пока не создана.
2.5. Использование функции Paste special в Valve Hammer Editor.
Авторы: mildarf & Sh@h.
Дата обнародования: 16.06.2005.
При помощи функции Paste special можно быстро делать, например, ступени, винтовые лестницы, вертушки и т. д. Для того, чтобы вставить на карту систему объектов с заданием отступов и поворотов от центра копируемого объекта, необходимо копировать исходный объект в буфер обмена (Ctrl+C), открыть окно Paste special во вкладке Edit, задать нужные параметры и нажать кнопку "OK".
Поля окна Paste special:
Numbers of copies to paste - [целочисленная] - Число объектов системы, которое нужно вставить.
Offset (accumulative) - Отступы (общее вычисление). Поля X, Y и Z: [действительные числа] задают отступы от точки отсчёта по осям X, Y и Z. При нажатиях на кнопки "<" в поля X, Y и Z автоматически будут записываться параметры длины, ширины и высоты копируемого объекта.
Rotation (accumulative) - Повороты (общее вычисление). Поля X, Y и Z: [действительные числа] задают углы поворота от точки отсчёта по осям X, Y и Z.
Флаги:
Start at center of original - Если отмечено, то точкой отсчёта для вычислений является центр копируемого объета, если нет - то центр экрана в данный момент.
Group copies - Созданные объекты включаются в одну новую группу.
2.6. Инструмент создания арок Arch в Valve Hammer Editor.
Авторы: mildarf & Sh@h.
Дата обнародования: 02.08.2005.
Инструментом Arch можно делать красивые купола церквей, трубы, винтовые лестницы в виде окружности и т.д.
Для создания арки в Valve Hammer Editor необходимо:
1. Поставить галочку на View (верхнее меню) - Screen Elements - Object Bar, в появившемся окне выбрать в параметрах Categories и Objects значения Primitives и arch соответственно.
2. Создать новый браш (Block Tool Shift+B) с нужными размерами длины, ширины, высоты арки и нажать Create Object.
3. В появившемся окне задать следующие параметры:
Wall width = Толщина каждого браша, из которых состоит дуга арки;
Number of Sides = Количество брашей. Чем выше данный показатель, тем круглее арка;
Arc = Величина угла дуги арки в градусах. Нажатие на кнопку Circle задаёт параметр Arc = 360 (круг);
Start Angle = Угол поворота дуги арки от начала отсчета (по умолчанию 0 градусов - правый край окружности). Целесообразно использовать данную функцию при Arc < 360;
Add Height = Увеличение значения высоты каждого последующего браша, из которых состоит арка. В результате получается винтовая лестница в виде окружности;
При нажатии кнопки Preview на экране показывается вид арки с указанными в полях параметрами.
2.7. Команды ZBot.
Автор: Dmitrich.
Редактор: будет время - отредактирую.
bot_add — добавить бота (бот пойдет за команду, указанную параметром bot_join_team)
bot_add_t — за террориста
bot_add_ct — за контра
bot_kill name|all — убить бота по имени или всех сразу (all)
bot_kick name|all — кикнуть бота по имени или всех сразу (all)
bot_knives_only — боты играют только на ножах
bot_pistols_only — только на пистолетах
bot_snipers_only — только со снайперками
bot_all_weapons — использую все оружие
bot_difficulty 0-3 — мастерство бота (3 — самый сильный, действует на новодобавленных ботов; уже играющие боты будут иметь старый уровень мастерства)
bot_quota число — минимальное количество ботов (если вы кикните бота, то новый бот автоматически добавится; значение 0 отключает этот параметр)
bot_prefix имя — данное имя (а точнее префикс) будет добавлено к имени каждого новосозданного бота. Типа, можно симулировать ClanWar ;)
bot_join_team ct|t|any — устанавливает, к какой команде будут присоединяться боты (контры; терры; к обеим)
bot_join_after_player 0|1 — боты присоединяются только, когда хотя бы один «живой» игрок есть на сервере (0 — боты создадутся, даже если людей на сервере нет)
bot_allow_pistols 0|1 — ботам разрешено использовать/покупать пистолеты
bot_allow_shotguns 0|1 — дробовики
bot_allow_sub_machine_guns 0|1 — пистолеты-пулеметы (3-шки)
bot_allow_rifles 0|1 — винтовки, кроме снайперок
bot_allow_machine_guns 0|1 — M249
bot_allow_grenades 0|1 — гранаты
bot_allow_snipers 0|1 — снайперки
bot_allow_shield 0|1 — щит
bot_allow_rogues 0|1 — безбашенные боты (если 1 — боты бегают, никого не слушают и палят во все, что движется :)
Изменение навигации ZBot: Нижеследующие команды предназначены для ручной правки путей ботов (NAV-данных). Рекомендуется забиндить эти команды на какие-нибудь клавиши для удобства использования. ПРЕДОСТЕРЕЖЕНИЕ: операции «отмена» (undo) нет, поэтому почаще сохраняйтесь.
bot_nav_mark Помечает выбранную NAV-область для последующих операций.
bot_nav_delete Удаляет выбранную NAV-область.
bot_nav_split Разделяет выбранную NAV-область на 2 области по БЕЛОЙ линии.
bot_nav_merge Объединяет текущую выбранную NAV-область с предыдущей помеченной. Объединение произойдет только в том случае, если размеры обеих NAV-областей совпадают по линии объединения.
bot_nav_connect Создает однонаправленную связь от текущей помеченной NAV-области до текущей выбранной NAV-области. Это говорит ботам, что они могут бегать ОТ выделенной области ДО выбранной. В большинстве случаев, необходимо соединять области в обоих направлениях. Исключение: области, когда бот должен спрыгнуть куда-то вниз (назад ему уже не попасть).
bot_nav_disconnect Удаляет все связи от текущей помеченной области до текущей выбранной области.
bot_nav_begin_area bot_nav_end_area Эти две команды создают новые области: bot_nav_begin_area помечает один угол области, а bot_nav_end_area — противоположный и собственно, создает область. Для отмены операции напишите команду bot_nav_begin_area снова.
bot_nav_splice Создает новую NAV-область между текущей помеченной областью и текущей выбранной областью и соединяет новую область двусторонней связью. Данная команда особенно полезна в наклонных областях.
bot_nav_crouch Помечает область как «crouch», т.е. застявляет ботов ползти (идти вприсядку) в этой области.
bot_nav_jump Помечает область как «jump», т.е. заставляет ботов прыгать в этой области.
bot_nav_analyze Анализирует NAV-данные и определяет на карте доступные (достижимые) области. Операция может занять несколько минут в зависимости от размеров и сложности строения карты. УТОЧНЕНИЕ: Данная команда требует, чтобы на карте был хотя бы 1 бот. Рекомендуется поступать следующим образом: сохранитесь, добавьте бота и быстренько введите эту команду: bot_analyze.
bot_nav_save Сохраняет навигацию в файле *.NAV в директорию «cstrike/maps» под именем карты.
bot_nav_load Загружает NAV-данные из файла, очистив текущие данные.
Редактирование навигации:
bot_nav_edit 0|1 Значение 1 — позволяет редактировать навигацию вручную.
bot_nav_zdraw значение высоты Устанавливает высоту навигационных элементов над землей в режиме редактирования. Если рельеф карты довольно сильно меняется (подъемы, спуски), то будет полезно увеличить этот параметр до 10 или 15. По умолчанию: 4.
bot_quicksave 0|1 При значение 1 операция анализа карты будет пропущена. Но помните, что без анализа, боты не смогут правильно смотреть.
Отладка:
bot_walk 0|1 Боты не могут бегать (только ходят).
bot_stop 0|1 Боты вообще не двигаются.
bot_show_nav 0|1 При значении 1 навигация будет показана около бота.
bot_show_danger 0|1 При значении 1 «опасность» будет показана для каждой NAV-области в виде вертикальной полоски. СИНЯЯ полоса показывает опасность для контров, а красная — для терров.
bot_traceview значение Используется для внутренней отладки навигации ботов.
bot_debug значение Используется для внутренней отладки поведения ботов.
Разное:
bot_about Показывает номер версии ботов и информацию об авторе.
bot_goto_mark Заставляет 1 бота идти к центру текущей помеченной области. Это полезно при тестировании «проходимости» некоторых мест.