19 декабря 2006
Обновлено 17.05.2023

Оружейная Гордона Фримена

Оружейная Гордона Фримена - изображение обложка

Гордон Фримен, раскидывающий зомби налево и направо мощными ударами кулаков, испепеляющий врагов лазером и разрушающий все на своем пути с помощью уникальной атомной пушки — примерно такую вот модификацию мы сделаем сегодня для Half-Life 2: Episode One. Внимательно изучив материал, вы сможете в дальнейшем самостоятельно создавать новое оружие для Half-Life 2 и любых его модификаций.

Начинка стволов

Новое оружие добавляется в игру в несколько этапов. Первый — изменение боевых характеристик. Их вы обнаружите в файлах с именами вида weapon _ X.txt. Файлы, соответствующие оружию, перекочевавшему из оригинального Half-Life 2 в неизменном виде, лежат в директории < Каталог игры>\hl2\scripts, файлы; файлы, описывающие новые стволы, — в < Каталог игры>\episodic\scripts. Если файл продублирован в обеих папках, игра будет учитывать только тот, что лежит в < Каталог игры>\episodic\scripts.

Теперь о том, какой файл какому виду оружия соответствует. Weapon_357.txt — «Магнум», weapon_alyxgun.txt — пистолет Аликс, weapon_ar2.txt — импульсная винтовка, weapon_bugbait.txt — Pheropod\Bugbait (приманка для жуков), weapon_crossbow.txt — арбалет, weapon_crowbar.txt — монтировка, weapon_frag.txt — граната, weapon_physcannon.txt — гравитационная пушка, weapon_pistol.txt — 9-мм пистолет, weapon_rpg.txt — ракетница, weapon_shotgun.txt — шотган, weapon_smg1.txt — автомат. Править файлы можно в любом графическом редакторе, например в «Блокноте». Рассмотрим самые важные параметры.

printname — название оружия, отображаемое в игре. Здесь идет ссылка на одну из строк файла episodic_english.txt или hl2_ english . txt (более детально о названиях оружия мы поговорим чуть позднее);

viewmodel — модель оружия до того, как игрок взял ствол в руки;

playermodel — модель оружия, которую вы видите, когда оно находится в руках у Гордона;

bucket — клавиша с цифрой, которую надо нажать, чтобы взять в руки данное оружие;

bucket_position — порядковый номер в очереди (если одна цифровая клавиша вызывает несколько стволов);

clip_size — вместимость обоймы при основной атаке;

clip2_ size — вместимость обоймы при альтернативной атаке;

default_clip — количество патронов, идущее в комплекте с пушкой (для основной атаки);

default_clip2 — исходное число патронов для альтернативной атаки;

primary_ ammo — вид боеприпасов для основной атаки;

secondary_ ammo — боеприпасы для альтернативной атаки;

weight — вес оружия. Влияет на скорости передвижения героя.

Размеры урона, наносимого оружием, прописаны в файле skill.cfg , который лежит в каталоге \hl2\cfg. Нам нужен раздел WEAPONS (имя блока выделено двумя рядами знаков равенства и закомментировано), в котором вы увидите длинный список атрибутов. Они бывают пяти основных видов:

sk _ plr _ dmg _ X " N" — ущерб здоровью игрока от оружия X. На месте X вы можете встретить те же наименования, что и в названиях разобранных выше оружейных файлов (после слова weapo n и подчерка). N — значение атрибута;

sk _ npc _ dmg _ X — урон, наносимый врагам и NPC оружием X;

sk _ max_ X — максимальное число патронов для основной атаки с помощью оружия X, которое вы можете одновременно носить с собой;

sk _ max_ X_ altfire — максимальное число патронов для альтернативной атаки;

sk _ X_ radius — радиус взрыва (только для оружия с разрывными снарядами).

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

Снайперская винтовка

Изготовить снайперскую винтовку очень просто. Берем арбалет и в соответствующем ему файле — weapon_crossbow.txt (если говорить об обычном Half-Life 2, вы найдете его в директории \hl2\scripts , если об Episode One, то в \episodic\scripts ) — меняем значение атрибутов viewmodel и playermodel. Рекомендуется поставить сюда, соответственно, адреса: models /weapons/v_Physics.mdl и models /weapons/w_Physics.mdl. И вот новое оружие уже выглядит как супергравитационная пушка, но… с возможностью зума. Ну и конечно, не забудьте подправить боевые характеристики ствола (не переставая при этом следить за балансом) и переименовать его.

Кулаки

Первым делом обучим Фримена основам рукопашного боя. Откройте в текстовом редакторе файл weapon_crowbar.txt (ищите его в папке \hl2\scripts ). Заменим лом кулаками. Главная проблема — замена соответствующих моделей: параметрам viewmodel и playermodel необходимо задать значения models /weapons/v_hands.mdl и models /weapons/ w_hands.mdl.

Следующий шаг — редактирование файла skill.cfg (напомню, что он находится в каталоге \hl2\cfg ). Исправьте значения атрибутов sk_plr_dmg_crowbar и sk_npc_dmg_crowbar (какие именно числа сюда подставить, решать вам). По логике они должны быть меньше исходных (где-то в районе 7-8 и 3 соответственно) — все-таки удар ломом посильнее, чем голой рукой. Однако если вы хотите научить своего героя первоклассно драться, подставьте значение побольше.

Осталось дать новому оружию название. В этом вам поможет файл episodic_english.txt , если у вас английская версия игры, и episodic_russian.txt , если русская. И тот, и другой лежат в директории \episodic\resource. Если же вы модифицируете оригинальный Half-Life 2, то вас будут интересовать соответственно файлы hl2_ english . txt и hl2_ russian. txt из папки \hl2\resource.

По структуре все четыре файла совершенно идентичны. Откройте нужный файл и (если у вас английская версия игры) отыщите в нем следующую строку:

" HL2_ Crowbar" " CROWBAR"

Вместо второго слова CROWBAR впишите новое название оружия. «РУКИ» или «КУЛАКИ» — как вам больше нравится (английская версия понимает русские шрифты). И вот уже Гордон Фримен машет кулаками не хуже мастера восточных единоборств.

Атомная пушка

Сильные руки — это, конечно, хорошо, они не раз спасут вам жизнь. Но если в руках пусто, далеко все равно не уйти. Поэтому на очереди у нас атомная пушка. Это мощнейшая вещица, что-то вроде Redeemer из Unreal Tournament. Поставим ее вместо ракетницы. Найдите файл weapon_rpg.txt в каталоге \hl2\scripts. Характеристике default_clip присвойте значение 2. Число рядом с показателем weight исправьте на 8.

Подкорректируйте содержимое файла skill.cfg. Сначала увеличьте ущерб от взорвавшейся ракеты, прописав показателям sk_plr_dmg_rpg_round и sk_npc_dmg_rpg_round значения 220 и 110. Затем сократите максимальное число патронов до двух, приписав характеристике sk_max_rpg_round атрибут 2.

В файле episodic_english.txt из папки \episodic\resource найдите строчку:

“HL2_RPG” “RPG\n(ROCKET PROPELLED GRENADE)”

На месте текста, заключенного в кавычки, укажите новое название — «АТОМНАЯ ПУШКА». Новый ствол более чем в два раза сильнее RPG и как нельзя лучше подходит для массового уничтожения противников. Но он очень тяжелый (а следовательно, серьезно замедляет скорость передвижения игрока) и после каждого выстрела требует перезарядки, да и патронами к нему запастись не получится.

Лазерная винтовка

На десерт у нас лазерная винтовка. Ее мы получим из импульсной винтовки путем несложных преобразований. Производить их следует в основном в двух конфигурационных файлах: weapon_ar2.txt (ищите в директории \hl2\scripts ) и skill.cfg ( \hl2\cfg ).

В первую очередь необходимо уменьшить максимальное и начальное количество патронов в обойме. Для этого атрибутам clip_size и default_clip из файла weapon_ar2.txt нужно присвоить значение 20. Что касается файла skill.cfg , то он пригодится нам для правки такого параметра, как урон от винтовки. Параметрам sk_plr_dmg_ar2 и sk_npc_dmg_ar2 присвойте значения 12 и 5. Число, относящееся к настройке sk_max_ar2 , замените на 50. Параметру sk_max_ar2_altfire присвойте значение 2.

Следующая стадия — изменение названия. В файле episodic_ english . txt найдите строку:

“HL2_Pulse_Rifle” “OVERWATCH STANDARD ISSUE\n(PULSE-RIFLE)”

Содержащийся в кавычках (второй паре) текст исправьте на «ЛАЗЕРНАЯ ВИНТОВКА».

Визуализация

Настало время немного поработать кистью и перерисовать скины оружия. Текстуры имеют формат vtf , который используется во всех играх на движке Source. Чтобы просмотреть и подредактировать изображения, содержащиеся в этих файлах, необходимо перевести их в более привычный формат tga (для этого существуют, например, такие утилиты, как VTFLib и VTEXGUI ) и потом уже править их в графическом редакторе (например, в Photoshop ). Либо сразу открыть vtf -картинки в Photoshop, предварительно установив соответствующий плагин (ждет вас на нашем диске ). Второй вариант требует от вас меньше усилий, но оставляет меньше места для маневра (в частности, двухслойные изображения отображаются плагином в виде однослойных). Описанным ниже способом вы можете редактировать все игровые текстуры.

Инсталляция плагина — дело нескольких секунд. Прежде чем к ней приступить, убедитесь в том, что Photoshop не запущен. Скопируйте файл VTFLib.dll в директорию программы, а VTF.8bi — в папку плагинов ( < Каталог программы>\ Plug- Ins\ File Formats). После этого можно спокойно открывать и редактировать нужный вам vtf -файл в Photoshop.

Текстуры ищите в папке \hl2\materials , если вы имеете дело с обычным Half-Life 2, и в \episodic\materials — если с Episode One. В обоих случаях скины оружия лежат в подкаталоге \models\weapons (директория \ models содержит модели). Каждому стволу здесь отведена отдельная субдиректория с файлами формата vtf и vmt. Нас интересуют только vtf.

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

Например, на атомную пушку (напомню, что ее мы делаем на базе RPG, файл rocket launcher sheet.vtf из каталога \episodic\materials\v_rocket_launcher ) мы поместили знак радиоактивности и предупреждение об опасности (для того чтобы расположить текст под углом, используйте инструмент Edit/ Free Transform ). В случае с лазерной винтовкой править нужно файл V_IRifle.vtf из папки \episodic\materials\V_IRifle. Обязательно покрасьте в красный цвет пули, которыми стреляет оружие (как показано на скриншоте) — тогда возникнет ощущение, что оно стреляет лазером. Ну и конечно, не забудьте нанести на сам ствол пометки, свидетельствующие об его новизне и исключительности.

Когда все графические правки будут внесены, сохраните изменения, не меняя формат ( vtf ). Настройки оставьте стандартными.

Система повреждений

В Half-Life 2 довольно примитивная система повреждений. Ее можно сделать более продуманной и логичной, подправив несколько параметров в файле skill.cfg из папки \hl2\cfg. Откройте его в «Блокноте». В самом конце, следом за комментарием NPC damage adjusters , вы обнаружите атрибуты, которые определяют множитель ущерба от поражения определенной области тела (на указанное число умножается базовый урон от атаки):

sk_npc_head — голова.

sk_npc_chest — грудь.

sk_npc_stomach — живот.

sk_npc_arm — рука.

sk_npc_leg — нога.

Все эти характеристики относятся к врагам и NPC. Далее идут аналогичные параметры (только сокращение npc в данном случае заменяется словом player ), относящиеся к игроку. И в том, и в другом случае значения всех показателей кроме первого (ему соответствует число 3 ) равны 1. Таким образом, урон от попадания в голову является тройным, тогда как остальные зоны повреждений между собой никак не различаются.

Можно задать параметрам sk_npc_chest и sk_player_chest значение 2.5 , sk_npc_stomach и sk_player_stomach2 , sk _ npc _leg и sk _ player_leg1.5. Второй вариант — вместо этих чисел указать следующие: 2 , 1.5 и 1.25.

* * *

Новое оружие готово к применению. Мы изменили не только начинку и название, но и внешний вид. Но не останавливайтесь на достигнутом. Например, несложно создать дополнительную разновидность гранат (как вариант, с небольшим показателем повреждения, но расширенном радиусом взрыва) или лазерный пистолет… Мы описали вам лишь алгоритм действий, а как им воспользоваться, решать исключительно вам.

Комментарии
Чтобы оставить комментарий, Войдите или Зарегистрируйтесь