Оружие сталкера
Оружие сталкера | |
Дата публикации |
26 июня 2007 (17 лет) [1] |
Автор | Андрей Верещагин |
Сталкер вот уже десять минут полз по зараженной территории. За ним гналась огромная банда, вооруженная «калашами». Шансов выжить практически не было, в пистолете оставался всего один патрон. Найденный в куче радиоактивного хлама старенький автомат сулил лишь небольшую отсрочку верной гибели.
Но первый же выстрел разрезал одного из бандитов надвое. Второй — рассек сразу двух. Уничтожив почти всех бандитов, сталкер принялся внимательно изучать найденный ствол. Странная надпись Made in Igromania на прикладе и ядерная символика на затворе однозначно говорили о том, что оружие не простое, а модифицированное.
В «Сталкере» представлено в основном оружие советского производства. Сегодня мы пополним арсенал несколькими футуристическими экземплярами. Хотите прожигать врагов лазером и стирать мутантов с лица земли атомными зарядами? Всегда пожалуйста!
Содержание
Тренировка
Все самое ценное разработчики спрятали от пытливых глаз в архивы[2]. Всего их одиннадцать, и все имеют одно и то же имя — gamedata. Разница в расширении. Оно выглядит как db* (на месте звездочки стоит цифра или буква, своя для каждого файла). Для распаковки этих архивов можно использовать утилиту STALKER Data Unpacker (забирайте ее с нашего DVD из раздела «Игрострой»). Пользоваться программкой несложно. Скопируйте в игровую папку файл STALKER_Data_Unpacker_RU.exe, если у вас русская версия игры, или STALKER_Data_Unpacker_EN.exe, если вдруг английская, и запустите с параметром: gamedata.db* [Каталог для распаковки внутри игровой папки] (последний можно и не указывать — тогда архив распакуется прямо в каталог с игрой). Например: STALKER_Data_Unpacker_RU.exe gamedata.db0 gamedata.
После того как вы внесете изменения в разархивированные файлы, создайте в игровом каталоге папку \gamedata и поместите их туда, сохраняя иерархию подкаталогов, в которых они находятся (приоритет игра будет отдавать новым файлам, а не тем, что упакованы в архивы). Скажем, для ltx-файлов из архива gamedata.db0 (они описывают оружие) в директории \config\weapons следует создать в игровом каталоге папку \gamedata\config\weapons и складывать их именно туда.
Вы можете немного ускорить процесс загрузки игры, если распакуете все одиннадцать архивов в директорию <Каталог игры>\gamedata. Плюс, после этого все файлы будут у вас на виду и создавать моды станет удобнее.
Что касается самих архивов, то в этот раз нам пригодятся gamedata.db0 и gamedata.db8. Последний набит рассортированными по подкаталогам текстурами, в том числе и оружейными; gamedata.db0 же несет в себе, помимо всего прочего, папку \config, наполненную разнообразными конфигурационными файлами (как правило, имеющими расширение ltx). Те из них, что посвящены оружию, лежат в подкаталоге \weapons — каждый такой файл соответствует отдельной пушке. Исключение составляют только delayed_action_fuse.ltx и weapons.ltx (в нем находятся характеристики боеприпасов и всяческих примочек к стволам).
Структура ltx-файлов (редактировать можно в обычном «Блокноте») построена по следующему принципу. Все они состоят из разделов, имена которых маркированы квадратными скобками. В файлах оружия их, как правило, два: первый вмещает в себя боевые характеристики ствола, второй (в имени содержится аббревиатура hud) отвечает за экран героя, вооруженного указанной пушкой.
Параметры внутри блоков в некоторых случаях снабжены комментариями на русском — с такими атрибутами вы без труда разберетесь самостоятельно. Но большинство из них подсказками все же не сопровождается. Ознакомление с важнейшими из этих параметров поможет вам сделать желаемое оружие.
cost
— стоимость оружия.
hit_power
— урон от оружия. Значение параметра состоит из четырех чисел: первое обозначает минимальный ущерб, последнее — максимальный, средние два, соответственно, промежуточный.
hit_impulse
— сила тряски, которой подвергается жертва.
fire_distance
— дальнобойность.
bullet_speed
— стартовая скорость полета пули. Этот и три предыдущих параметра в некоторых файлах имеют аналоги с префиксом silencer_
, эти характеристики описывают ствол при надетом на него глушителе.
hit_type
— тип повреждения, наносимого оружием. Огнестрельное ранение — fire_wound
, ножевое — wound
и wound_2
, взрыв — explosion
.
rpm
— скорострельность.
hit_power_2
— урон от альтернативной атаки.
hit_impulse_2
— тряска жертвы, атакованной альтернативным ударом/выстрелом.
hit_type_2
— тип повреждения от альтернативной атаки.
startup_ammo
— начальное количество патронов.
ammo_limit
— максимальное число патронов к пушке, которое вы можете носить в рюкзаке единомоментно.
ammo_mag_size
— вместимость обоймы.
ammo_class
— тип патронов. В области значения этого и следующего параметров указывается название соответствующего раздела файла weapons.ltx.
grenade_class
— тип гранат, которыми стреляет пушка (если она, конечно, наделена такой способностью).
explode_duration
— продолжительность взрыва (только для оружия, стреляющего разрывными снарядами) в секундах.
sprint_allowed
— определяет, в состоянии ли бежать персонаж с этой пушкой (true
— да, false
— нет).
inv_weight
— вес.
shell_particles
— модель гильз, отлетающих в разные стороны при стрельбе.
Следующие три характеристики указывают на наличие у ствола определенного дополнения. Возможные значения: 0
— отсутствует вообще, 1
— имеется сразу, 2
— может быть присоединено.
scope_status
— снайперский прицел.
silencer_status
— глушитель.
grenade_launcher_status
— подствольный гранатомет.
zoom_enabled
— возможность зумирования (true
— имеется, false
— нет).
scope_zoom_factor
— максимальный зум. Обратите внимание, что зависимость здесь обратно пропорциональна: чем выше значение показателя, тем меньше приближение. Этот же параметр, к слову, присутствует и в файле weapons.ltx, в разделах, посвященных съемным прицелам.
Замах, удар — и враг повержен! Кинжал — это вам не нож, он может сразить противника одним ударом. |
Кинжал
Добавим в игру несколько новых видов оружия. Делать их мы будем на базе уже имеющихся экземпляров. Весь этот процесс состоит из трех основных стадий, первая — редактирование боевых характеристик.
Начнем с холодного оружия, которое в игре представлено одним лишь ножом. Превратим его в кинжал. Для начала откройте в «Блокноте» файл w_knife.ltx и внесите в него небольшую правку. Повысьте значение характеристики cost до 100, в результате чего цена на это орудие вырастет до 100 рублей.
Возрастет в нашем моде и наносимое им повреждение — параметрам hit_power и hit_power_2 присвойте серию чисел 2.00, 2.20, 2.40, 2.60 в первом случае и 2.10, 2.25, 2.40, 2.55 во втором. Изначально у ножа сила альтернативной атаки почти дублирует основную. Отличия только в анимации.
С кинжалом все будет по-другому. Первый вид удара, как видите, здесь имеет больший разброс в силе — следовательно, атака может получиться как сильной, так и не очень. Альтернативный взмах кинжалом более стабилен, но нанести очень уж серьезное ранение врагу не получится.
Не забудьте об атрибутах hit_impulse
и hit_impulse_2
, которым следует присвоить значения 140 и 125. Первый вид атаки после этого будет сильнее отталкивать врагов от главного героя, что в некоторых случаях усложняет добивание.
Немного поработаем над балансом. Атрибутам inv_weight
, rpm
(минимальный временной интервал между двумя атаками) и bullet_speed
(быстрота нанесения удара) определите соответственно значения 0.8 и 600. В отличие от ножа, кинжал, хоть и немного, но сколько-то весит, а значит, занимает чуточку места в вашем рюкзаке — это, согласитесь, вполне естественно.
В вашем распоряжении превосходное оружие ближнего боя. Один точный укол в тело слабого неприятеля — и тот испускает дух. Единственный недостаток кинжала по сравнению с ножом кроется в сниженной скорости. Главный герой машет кинжалом немного медленней, но уж если попадет... В оригинальной игре почти никто не пользовался ножом, слишком уж он слабенький. Кинжал же — вполне серьезное подспорье пистолету. С его помощью можно легко валить некоторых мутантов и добивать раненых бандитов.
Кинжал внешне отличается от ножа яркой гравировкой... | ...А атомная пушка от РПГ — знаком радиации на верхней части корпуса. |
Лазерная винтовка
Теперь займемся созданием футуристических стволов. Первый из них — лазерная винтовка. Делать ее мы будем на основе снайперки СВУмк2, которая детально описана в файле w_svu.ltx. Начните опять же с цены, подняв число, соответствующее показателю Cost
, до 12000. А вот запас патронов следует ограничить, задав характеристикам ammo_limit
, ammo_current
, ammo_mag_size
и startup_ammo
значения 40 (первой из них) и 6 (остальным трем).
Не помешает также чуть утяжелить винтовку (пропишите параметру inv_weight
значение 5.2) и усилить ее (в этом нам поможет регулировка настроек hit_power
и hit_impulse
). Первой теперь должно соответствовать значение 1.20, 1.30, 1.40, 1.50, второй — 180. Скорость полета снаряда и дальность стрельбы тоже увеличиваем: параметрам bullet_speed
и fire_distance
пропишите 1130. А вот скорострельность (rpm
) лучше снизить до 150.
Ослабим у пушки зум, приписав атрибуту scope_zoom_factor
число 30 — увеличение из трехкратного станет двукратным. Значение же показателя shell_particles
следует обнулить, удалив прежнее weapons\generic_shells. В результате при стрельбе из винтовки больше не будут видны падающие на землю гильзы, что нам и нужно. Стреляет-то она теперь лазером. Наконец, слегка повысьте быстроту изнашиваемости ствола: у показателя condition_shot_dec
пропишите число 0.00035.
Лазерная винтовка готова. Она дает большой урон, имеет высокую точность и большую дальность стрельбы, бешеную скорость полета заряда, но вот перезарядка происходит довольно медленно. Это оружие открывает совершенно новые тактики ведения боя. Можно притаиться за каким-либо сооружением, стоящим на возвышенности, дождаться группы бандитов, подпустить их на дистанцию выстрела и начать постепенно отступать, отстреливая догоняющих вас врагов.
До этого подобная тактика со снайперкой не работала, потому что бегущие впереди противники догоняли вас раньше, чем вы их уничтожали. Но с лазерной винтовкой можно убивать незащищенных врагов с одного выстрела. Главное, научиться метко стрелять.
А вот пытаться засесть с лазерной винтовкой на верхотуре однозначно не стоит. Из-за того, что она долго перезаряжается, враги успеют подобраться к вам в промежутке между выстрелами.
Атомная пушка
На десерт у нас атомная пушка. Ее мы получим из ракетницы (РПГ-7у). Следовательно, править нужно файл w_rpg7.ltx, и первое, что стоит сделать, — поднять цену на оружие (cost
) до 14000. Показателю ammo_limit
следует придать значение 10, чтобы понизить скорость полета снаряда, к характеристикам launch_speed
, bullet_speed
и fragment_speed
подставьте соответственно числа 3, 50 и 30. Скорострельность тоже снижаем: сбавляем обороты параметра rpm
до отметки 100, а дальнобойность (fire_distance
) уменьшаем до 300.
Теперь поработаем над отдачей. У столь мощной пушки она должна быть весьма ощутимой. Посему настройкам cam_relax_speed
, cam_dispersion
и cam_max_angle
следует задать значения 1, 8 и 12 соответственно.
Но баланс пока все равно остается перекошенным: слишком уж мощная штука у нас получилась. Добавим стволу еще один серьезный недостаток — сделаем его быстро изнашиваемым. Атрибуту condition_shot_dec
логично будет поставить значение 0.00150. Кроме того, вероятность осечки при максимальном износе (misfire_probability
) надо сделать равной 0.01. Понятно, что и вес у громоздкой новинки будет соответствующий: этого можно добиться, прописав показателю inv_weight
число 8.
Одним выстрелом из атомной пушки можно не только подорвать танк, но и зачистить стоящую неподалеку вышку. |
Повреждения же от новой пушки будут поистине громадными. Задайте параметрам hit_power
, hit_impulse
и explode_duration
значения 5, 600 и 8. Также необходимо отредактировать третий раздел файла wpn_rpg7_missile (все оставшиеся изменения производите именно в нем), характеризующего непосредственно ракету. Здесь вы снова встретите показатель explode_duration
, которому и в этот раз надо присвоить значение 8. Чтобы сделать взрыв ракеты еще более мощным, «привяжите» к настройке blast
число 8, к blast_impulse
— 450, а чтобы расширить его радиус — увеличьте показатель blast_r
до 18.
Рекомендуем сделать взрыв более эффектным. В этом вам поможет изменение значений параметров light_range
и light_time
соответственно на 50 и 2.6. Это сделает вспышку после разрыва снаряда более длительной и яркой. Увеличению не помешало бы подвергнуть и следы на стенах, остающиеся после взрыва: задайте атрибуту wm_size
значение 0.3.
Напоследок установите цену на снаряд (cost
) в размере 300 рублей. Получившееся орудие убийства будет в игре на вес золота — по убойной силе ему просто нет равных. Хотя, конечно, им одним никак не обойдешься. Здесь сказывается и дефицит зарядов, и медлительность, и невысокая дальность стрельбы. Да и изнашивается оно очень быстро.
Тем не менее в некоторых заварушках, когда на вас нападает целая толпа мутантов или бандитов, только атомная пушка может спасти от неминуемой гибели. Всего один выстрел — и вокруг остаются только горы трупов.
Визуализация
Вторая стадия разработки вооружения — графическая. На ней мы будем обновлять текстуры оружия. При этом понадобится набор инструментов DXT Tools (обращайтесь за ним на наш DVD, в раздел «Игрострой»). Что касается самих картинок, то они представлены файлами формата dds, лежат в архивах gamedata.db5, gamedata.db6, gamedata.db7 и gamedata.db8. Именно последний, как уже было упомянуто, несет в себе оружейные скины, которые внутри архива размещаются в каталоге \textures\wpn. Ножу здесь соответствует файл wpn_knife.dds, СВУмк2 — wpn_svu-a.dds, РПГ-7у — wpn_rpg-7.dds.
Перевести DDS-файлы в знакомый всем TGA-формат вам поможет как раз таки DXT Tools. Делается это по следующей схеме. Скопируйте выбранный dds-файл в директорию, куда вы установили пакет утилит. Находясь в папке, введите в командной строке: readdxt <имя dds-файла> (например, readdxt wpn_colt.dds). В результате этого в директории появится файл test.tga с интересующей вас картинкой.
Можете смело перерисовывать ее в графическом редакторе (например, в Photoshop). После завершения правки переведите измененный рисунок обратно в формат dds, набрав в командной строке (естественно, не покидая каталог DXT Tools) nvdxt test.tga. Вам останется только вернуть полученному в итоге файлу test.dds прежнее имя (в приведенном примере это wpn_colt.dds) и положить в соответствующую папку (в случае с оружием это <Каталог игры>\gamedata\textures\wpn).
Пора приступать непосредственно к перерисовке текстур, чтобы новые виды оружия обрели неповторимый облик. Например, почему бы вам не выгравировать на лезвии кинжала какую-нибудь надпись или несложный рисунок? Что касается лазерной винтовки, то на ее «шкурке» все еще красуется маркировка СВУ-АС 62x54 мм, которую желательно заменить хотя бы простейшей аббревиатурой ЛВ-1. Наконец, на корпусе атомной пушки пришелся бы к месту ваш аватар, логотип вашего клана, любимого журнала или какая-то еще картинка. И это только простейшие примеры того, как можно украсить новинки.
* * *
Вместе с вами мы добавили в игру три новых орудия убийства: смертоносный кинжал, меткую и убойную лазерную винтовку и всеразрушающую атомную пушку. Причем атомная пушка и винтовка удивительным образом придают игре ощущение, что вы находитесь в далеком будущем.
Все оружие отлично сбалансировано и позволяет использовать дополнительные тактики в бою, которые с оригинальным оружием просто не работают. Кинжал позволяет шинковать врагов на ближней дистанции, лазерная винтовка хороша при ведении боя на средней дистанции (только не вздумайте сидеть с ней на одном месте). Атомная же пушка как нельзя лучше поможет вам разобраться с большим скоплением врагов.
Если же вам мало этих трех новинок, то вы можете добавить игру любое количество оружия, создавая их по алгоритму, описанному в статье. Мы же продолжим вскрытие «Сталкера» в одном из ближайших номеров «Игромании», но расскажем вам уже не об оружии, а совсем о других, но не менее интересных вещах.