Как держать форму. Массаж. Здоровье. Уход за волосами

Как изменить параметры оружия в сталкере. Сталкер как изменить параметры оружия

Общие положения

Сегодня мы разберем то, каким образом можно редактировать оружие в игре - от характеристик до описания. Характеристики оружия хранятся здесь:

...\S.T.A.L.K.E.R\gamedata\config\weapons\w_[...].ltx

Разбор структуры конфига

Возьмем, для примера, конфиг w_g36.ltx . Он делится на разделы:

Первый раздел

Здесь хранится общая информация о оружии - его класс, тип, ссылки на спавн и т.д. Нас интересуют следующие строки:

  • description = enc_weapons1_wpn-g36 - ссылка на string_id, из которого игра подгружает описание этого оружия.
  • ef_main_weapon_type = 2 - основной тип, к которому принадлежит оружие
  • ef_weapon_type = 6 - подтип, к которому принадлежит оружие
  • default_to_ruck = false - значит, если при пустой ячейке под автомат, подобрать автомат он будет помещён в ячейку; если true автомат в ячейку помещён не будет
  • sprint_allowed = true - эта строка означает можно ли бегать с данным оружием (true-можно;false-нельзя)

Второй раздел

Содержит модификаторы, которые даются к углу зрения/дальности обзора NPC, держащего это оружие в руках:

  • holder_range_modifier = 1.85 - во сколько раз увеличивается eye_range
  • holder_fov_modifier = 0.3 - во сколько раз увеличивается eye_fov

Третий раздел

Содержит данные о самом оружии, его некоторых характеристиках:

  • cost = 18000 - базовая цена (торговцы умножают её на некоторый коэффициент)
  • weapon_class = assault_rifle - класс оружия (здесь - штурмовая винтовка)
  • ammo_mag_size = 30 - размер магазина
  • ammo_class = ammo_5.56x45_ss190, ammo_5.56x45_ap - типы используемых патронов
  • grenade_class = ammo_m209 - тип используемых гранат
  • fire_modes = 1, -1 - режимы ведения огня
  • hand_dependence = 1 - засивимость о рук (?) - возможно, речь идет о качании ствола
  • single_handed = 0 - держится ли только в одной руке
  • slot = 2 - слот в инвентаре
  • animation_slot = 2 - вид анимации (для пистолета/для винтовки)
  • inv_name = wpn-g36 - ссылка на имя, отображаемое в инвентаре, тоже берется из string table, как и описание
  • inv_name_short = wpn-g36 - короткое имя; в данном случае используется то же самое
  • inv_weight = 3.6 - вес
  • inv_grid_width = 5 - длина иконки (кол-во клеток по х)
  • inv_grid_height = 2 - высота иконки (кол-во клеток по у)
  • inv_grid_x = 0 - координаты первого угла иконки по x
  • inv_grid_y = 10 - координаты первого угла иконки по y

Четвертый раздел

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

  • cam_relax_speed = 5.7 - скорость возврата в исходное положение
  • cam_dispersion = 0.2 - увеличения угла (в градусах) с каждым выстрелом
  • fire_dispersion_condition_factor = 5 - увеличение дисперсии в процентах при максимальном износе
  • misfire_probability = 0.003 - вероятность осечки при максимальном износе
  • misfire_condition_k = 0.05 - порог (в данном случае - 5%), после которого оружие может заклинивать
  • condition_shot_dec = 0.0002 - увеличение износа при каждом выстреле

Пятый раздел

Здесь хранится множество параметров, из которых наиболее интересны эти:

  • PDM_disp_base = 3.0 - множитель, на который умножается базовая дисперсия оружия, когда ГГ (Главный Герой) стоит на месте в полный рост;
  • PDDM_disp_vel_factor = 1.3 - множитель, на который умножается базовая дисперсия оружия, когда ГГ крутит оружием или бежит;
  • PDM_disp_accel_factor = 1.3 - множитель, на который умножается базовая дисперсия оружия, когда ГГ бежит в спринте;
  • PDM_crouch = 1.0 - множитель, на который умножается базовая дисперсия оружия, когда ГГ идет пригнувшись;
  • PDM_crouch_no_acc = 1.0 - множитель, на который умножается базовая дисперсия оружия, когда ГГ стоит на месте, пригнувшись;
  • hit_power = 0.50, 0.54, 0.57, 0.60 - сила выстрела
  • hit_impulse = 105 - импульс пули (сила, которую летящая пуля передает жертве, влияет на поведение ragdoll-тела)
  • hit_type = fire_wound - тип причиняемых повреждений, в данном случае - пулевые ранения (параметр в синглплеере ни на что не влияет)
  • fire_distance = 600 - максимальная дистанция для выстрела
  • bullet_speed = 925 - начальная скорость пули
  • hud = wpn_g36_hud - внешний вид оружия

Шестой раздел

  • position = -0.026, -0.132, 0.0 - позиция по отношению к игроку (?)
  • orientation = 0, 0, 0 - направление, в которое смотрит ствол (?)

Седьмой раздел

Содержит описания визуальной стороны оружия и некоторые другие параметры:

  • startup_ammo = 90 - как нетрудно догадаться, стартовое количество патронов (в синглплеере ни на что не влияет)
  • visual = weapons\g36\wpn_g36.ogf - модель оружия, используемая NPC, а также игроком при виде от третьего лица
  • ph_mass = 4 - физическая масса, используемая при расчетах
  • scope_status = 1 - ситуация со съемным прицелом
  • silencer_status = 0 - ситуация со съемным глушителем
  • grenade_launcher_status = 0 - ситуация с подствольным гранатометом
  • Параметры:
    • 0 - нет, новый прикрепить нельзя
    • 1 - уже есть, несъемный
    • 2 - нет, но можно установить новый
  • zoom_enabled = true - есть ли зум (прицеливание)
  • scope_zoom_factor = 33.3 - какой зум дает прицеливание (здесь - 1.8х)
  • scope_texture = wpn\wpn_crosshair_g36 - текстура прицельной сетки
  • shell_point = 0.15, 0.0, -0.05 - точка вылета гильз
  • shell_dir = 0.0, 1.0, 0.0
  • fire_point = -0.000000,0.062000,0.134000 - точка выстрела
  • fire_point2 = 0.30, 0.00, 0.05 - точка выстрела (2)
  • fire_bone = wpn_body
  • orientation = 0, 0, 0 - направление
  • position = 0, 0, 0 - позиция
  • visual = weapons\g36\wpn_g36_hud.ogf - модель, отображаемая у нас в руках

Изменение описаний

Описания оружия хранятся в файле: ...\S.T.A.L.K.E.R\gamedata\config\text\rus\string_table_enc_weapons.xml

В нем хранятся строки с названиями и описаниями, на которые ссылаются конфиги оружия. Например, тот же G36 ссылается сюда:

[...] Штурмовая винтовка немецкого производства, представляющая собой первоклассный образец современного оружия - лёгкого, надёжного и эргономичного.\n Боеприпасы:\n обычный 5,56x45 мм SS109,\n бронебойный 5,56x45 мм АР. [...] ГП37 [...]

Меняя их содержимое, мы меняем описания/названия данного оружия.

Изменение патронов

Параметры патронов хранятся в файле:

...\S.T.A.L.K.E.R\gamedata\config\weapons\weapons.ltx

Найдем, например, раздел, отвечающий за патроны к тому же G36 (о них мы узнали из параметра ammo_class ), и разберем, что означает каждый параметр:

  • visual = weapons\ammo\ammo_556x45_ss190.ogf - модель коробки с патронами
  • description = enc_weapons1_ammo_ammo-5.56x45-ss190 - ссылка на string_id, из которого игра подгружает описание этого типа патронов
  • cost = 320 - стоимость одной коробки
  • box_size = 30 - количество патронов в одной коробке
  • inv_name = ammo-5.56x45-ss190 - ссылка на string_id, содержащий имя для инвентаря
  • inv_name_short = ammo-5.56x45-ss190_s - ссылка на string_id, содержащий краткое имя для инвентаря
  • inv_weight = 0.33 - вес
  • inv_grid_width = 2 - длина иконки (кол-во клеток, занимаемое в инвентаре)
  • inv_grid_height = 1 - ширина иконки
  • inv_grid_x = 14 - координаты первого угла иконки по x
  • inv_grid_y = 11 - координаты первого угла иконки по y
  • k_dist = 1 - коэффициент дальности, сама дальность - в стволе, тупо расстояние.
  • k_disp = 2.5 - кучность, завязана с кучностью в стволе
  • k_hit = 1 - убойность, завязана с убойностью в стволе
  • k_impulse = 1 - чисто наскока эффектно ногами непись дрыгнет во время кердыка
  • k_pierce = 1 - коэффициент наскока испорится броня при попадании
  • impair = 1 - коэффициент износа ствола от пули
  • buck_shot = 1 - кол-во составляющих в пуле (напр картечь - 4, пуля - 1)
  • tracer = on - является ли патрон трассирующим (on/off)
  • wm_size = 0.05 - визуальный размер дырки на стене от пули

Авторы

Статья создана:

Статья отличная, но не сказано про параметр патронов "explosive". Не подствольников и ракет, а именно патронов! Даже в оригинальном файле "weapons.ltx" в свойствах патронов 5.45x39 для АК к конце всегда есть строка "explosive = off". Достаточно изменить ее на "explosive = on" и мы имеем разрывной снаряд, ну разрывной он в просторечье, а так - бронебойно-зажигательный. И при выстреле таким снарядом мы увидим как 2 секунды после выстрела в месте попадания разгорается и тухнет оранжевое пламя. Но это всего лишь анимация, так что если будете делать такие патроны, не забывайте увеличить их бронебойную способность и останавливающее действие. К стати это не только для патронов АК сделать можно, а для любых всего одной строкой. Удачи!

Характеристики оружия лежат в файлах.ltx в папке configs/weapons. Чтоб они там появились папку надо распаковать. Качайте распаковщик например здесь
http://stalker-inside.ru/page.php?al=stalker_cop_unpacker
Следуйте инструкциям.
Все приведенные ниже параметры подлежат правке.

Сравним Калаш обычный и G36 по реальным характеристикам. Просто как пушку с очень большим разбросом и наоборот с самой малой отдачей.
СРАВНИМ В РЕАЛЬНЫХ ЦИФРАХ ИЗ КОНФИГОВ.

Повреждение: (Hit_power) G36 - 0.32 / Калаш - 0.31
Начальная скорость пули (параметр, как я понял из конфигов апгрейда оружия напрямую связан с "настильностью", т.е. при апгрейде на настильность увеличивается именно этот параметр оружия в конфиге, настильность - снижение пули с увеличением расстояния, т.е. чем выше настильность тем более по "прямой" летит пуля, не отклоняясь с пройденным расстоянием вниз): (bullet_speed)
G36 - 570 / Калаш - 550
Скорострельность техническая (rpm) - G36 - 630 / Калаш - 570

Далее интересные факты, которые некоторые, возможно, не знают.
Оружие имеет разный износ при стрельбе очередью и одиночными, т.е. если вы отстреляете рожок одиночными или выпустите его весь одной очередью - износ будет разный.
увеличение изношености при одиночном выстреле: G36 - 0.0008 , Калаш - 0.001 ВЫВОД! - при стрельбе одиночными G36 имеет полный ресурс - 1250 выстрелов, Калаш - ровно 1000.
увеличение изношености при выстреле очередью: G36 - 0.0009, Калаш - 0.0012 Вывод - при стрельбе очередями G36 имеет полный ресурс - 1111 выстрелов, Калаш - 833.
Тут в конфигах еще заданы зависимости вероятности осечки от износа.
Также можно сделать любое оружие одноручным)))) И задать произвольные модели огня, например поставить отсечку на очереди скажем по 7 патронов) Ну это уже модерские заморочки.

Так теперь самое интересное - точность и отдача.
Точность задается таким параметром как "базовая дисперсия" - то есть угол в градусах на который может отклонится ствол (=пуля) при полностью неподвижном оружии. Считайте это собственной точностью ствола без учета всех остальных факторов (положение стрелка, отдача и т.д.) Т.е. мы стреляем тщательно прицелившись присев и заняв позицию в некую точку, так вот даже при одиночном выстреле пуля несколько отклонится от этой точки, на небольшой угол, буквально десятые доли градуса. Соответсвенно на большом расстоянии это отклонение может привести к промаху на несколько сантиметров и даже десятков сантиметров. Это и есть точность. Т.е. чем это отклонение меньше тем лучше.
Базовое рассеивание:
Для G36 максимальное отклонение пули от точки прицеливания: 0.24 градуса.
Для G36 максимальное отклонение пули от точки прицеливания: 0.33 градуса.
Т.е. G36 точнее Калаша при стрельбе одиночными в 1.375 раза. Или если угодно на 37.5%. Прилично! Еще раз поясню - пуля Калаша отклонится от идеальной траектории почти на 40% дальше чем пуля G36.

Отдача! Вот чем эти ушки различаются очень сильно! И это хорошо видно из конфигов:
Отдача задается двумя параметрами. Рассеивание - т.е. ухудшение "абсолютной точности (см. предыдущий абзац) за каждый выстрел. И "задирание ствола" при стрельбе.
Угол в градусах на который падает точность после каждого выстрела: G-36 - 0.2 градуса, Калаш - 1.0
Таки образом точность первого выстрела (см абзац выше) для G36 была 0.24 - после первого выстрела, точность второго следующего за ним в очереди станет 0.24+0.2 = 0.44 , для Калаша - первый был 0.33 - а второй уже 1.33 !!! Т.е. если при первом выстреле точность этих двух пушек различалась на 37.5% то при втором выстреле (в одной очереди) - уже как 0.44 к 1.33 = в 3 раза!!! То есть вторая пуля G36 летит почти как первая пуля Калаша, а вторая пуля Калаша летит черт знает куда с коэффициентом рассеивания 1.33. :weep:

Далее, конфиги содержат дополнительный модификатор, на который точность будет падать при следующих выстрелах (в одной очереди)
Для G36 он равен 0.1, для Калаша - 0.5.
Поясняю. Мы уже посчитали выше точность первого и второго выстрела для G36 и Калаша, теперь можем посчитать точность остальных: для G36 - первый выстрел (=базовое рассеивание, см раздел точность) - 0.24, второй (угол на который падает точность после первого выстрела + базовое рассеивание) = 0.24+0.2=0.44, точность следующих выстрелов будет падать постоянно на 0.1 градуса (модификатор рассеивания выстрелов в очереди) - 0.44 + 0.1 (+0.1+0.1+0.1... и т.д. для каждого следующего выстрела) т.е. третий выстрел будет иметь точность 0.54, четветрый 0.64, пятый 0.74 и т.д.

То есть составим список точности первых пяти выстрелов в очереди для G36 - 0.24/0.44/0.54/0.64/0.74
А теперь такой же для Калаша - 0.33/1.33/1.83/2.33/2.83
Что мы видим? - В рамках очереди ПЯТЫЙ выстрел G36 будет в два раза точнее ВТОРОГО выстрела Калаша. А пятый выстрел самого калаша (коэффициент рассеивания 2.83) в 4 раза менее точен чем пятый выстрел G36 (коэффициент рассеивания 0.74). И с каждым следующим выстрелом эта разница будет только расти.

Теперь задирание ствола вверх - ту тдана сложная формула с несколькими переменными.
Для тех кому хватит терпения посчитать напишу ее по русски:
Угол подьема ствола при каждом выстреле = (угол рассеивания с каждым следующим выстрелом в очереди) х (коэффициент подъема ствола) +\- [(угол рассеивания с каждым следующим выстрелом в очереди)х(1-)коэффициент подъема ствола)]
Т.е. формула дает непостоянный результат и задирание ствола при каждой очереди будет разное. Коэффициент подъема ствола для и для Калаша и ДЛя G36 равен 1, и у остального оружия похоже тоже.
Прикидочно подставим его в формулу.
Для G36 = Угол подьема ствола при первом выстреле = (0.24) х 1 +\- [(0.24)х(1-1)] т.е. = 0.24 - ствол поднимется вверх на 0.24 градуса после первого выстрела
Второго выстрела = (0.44) х 1 +\- [(0.44)х(1-1)] т.е. = 0.44 - ствол поднимется вверх на 0.44 градуса после второго выстрела
Третьего = (0.54) х 1 +\- [(0.54)х(1-1)] т.е. = 0.54 - ствол поднимется вверх на 0.24 градуса после третьего выстрела
суммарный подъем ствола за 3 выстрела составит 0.24 + 0.44 + 0.54 = 1.22 градуса, и будет расти дальше по арифметической прогрессии.

Короче говоря - во второй части все время получается ноль. И отдача ствола вверх равна падению точности с каждым выстрелом.(1-1) - этот модификатор сделан для апгрейдов, напрмер при апгрейде "отдача - 10%" он становится равным = 0.9 (1- 10%)
И мы получаем:
Для G36 = Угол подьема ствола при первом выстреле = (0.24) х 0.9 +\- [(0.24)х(1-0.9)] т.е. = 0.216 +\- 0.024 = 0.192 или 0.24 градуса
Второго выстрела = (0.44) х 0.9 +\- [(0.44)х(1-0.9)] т.е. = 0.396 +\- 0.044 = 0.352 или 0.44 градуса
Третьего = (0.54) х 0.9 +\- [(0.54)х(1-0.9)] т.е. = 0.486 +\- 0.054 = 0.432 или 0.54

Таки образом - все очереди по отдаче разные - в худшем случае даже при полном апгрейде на отдачу можно получить очередь как у стандартного образца задирание ствола - 1.22 градуса (но шанс этого очень мал). В лучшем случае отдача за эти три выстрела составит 0.192+0.352+0.432 = 0.967 градуса (против стандартных 1.22) - то есть будет меньше на 26%. В среднем по теории вероятности половина выстрелов придет в плюс половина в минус и уменьшение отдачи как раз составит около 10%.

Далее чтоб не утомлять я провел все те-же расчеты для трех выстрелов из Калаша без прокачки.
Для G36 угол подъема ствола за три выстрела составит 1.22 градуса. Для Калаша - 0.33+1.33+1.83 = 2.49 градуса тут разница вдвое.
Тоже для пяти выстрелов - ствол G36 сместится вверх на 2.6 градуса ствол Калаша на 8.65 градусов. Тут разница вообще в три с лишним раза, почти в 4.
При больших очередях разница вообще становится огромной.

Вот разобрали по винтам два ствола) Хотел короткий пост написать, а написал FAQ по модификации оружия для модостроителей) Выложу ка на ПС. Массивно получилось, надеюсь хоть кто-то осилит.
Кстати есл икому интересно могу посмотреть точные характеристики другого оружия. В цифрах, по формулам уж сами считайте, а то я аж вспотел)

Если охота обсудить)

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

Но первый же выстрел разрезал одного из бандитов надвое. Второй - рассек сразу двух. Уничтожив почти всех бандитов, сталкер принялся внимательно изучать найденный ствол. Странная надпись Made in Igromania на прикладе и ядерная символика на затворе однозначно говорили о том, что оружие не простое, а модифицированное.

В «Сталкере» представлено в основном оружие советского производства. Сегодня мы пополним арсенал несколькими футуристическими экземплярами. Хотите прожигать врагов лазером и стирать мутантов с лица земли атомными зарядами? Всегда пожалуйста!

Тренировка

Все самое ценное разработчики спрятали от пытливых глаз в архивы. Всего их одиннадцать, и все имеют одно и то же имя - 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 рублей . Получившееся орудие убийства будет в игре на вес золота - по убойной силе ему просто нет равных. Хотя, конечно, им одним никак не обойдешься. Здесь сказывается и дефицит зарядов, и медлительность, и невысокая дальность стрельбы. Да и изнашивается оно очень быстро.

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

Y

X здесь - кодовое наименование объекта (в данном случае - оружия, приспособлений к нему или боеприпасов), к которому относится надпись. Y - текст (как вариант - название объекта).

Найти нужный раздел несложно - в его заголовке (X) неизменно фигурирует краткое название ствола (то самое, что следует в имени соответствующего ltx -файла из папки \config\weapons после приставки w_ ).

Зададим новому оружию подходящие названия. Название ножа указано в файле string_table_general.xml (содержащем базовые игровые термины и понятия и имеющем ту же структуру, что и string_table_enc_weapons.xml ). Оно располагается в блоке st_knife . Прописанное здесь слово Нож замените на Кинжал .

Следующие преобразования касаются исключительно файла string_table_enc_weapons.xml . Название модифицированной нами снайперки вы встретите в разделе wpn-svu , в котором сокращение СВУмк2 необходимо исправить на Лазерная винтовка . Что же касается ракетницы, то ей разработчики выделили блок wpn-rpg7 , где аббревиатуру РПГ-7у надо заместить фразой Атомная пушка . Новое оружие называется теперь как положено, вот только описания пока остаются прежними - желательно подкорректировать и их.

Ножу отведен блок enc_weapons1_wpn-knife . Помещенное в него словосочетание Охотничий нож можно переделать, например, в Острый кинжал . Характеристики же СВУмк2 содержатся в разделе enc_weapons1_wpn-svu , а РПГ-7у - в enc_weapons1_wpn-rpg7 . В первом случае на место Y можно вписать, скажем, такой текст: Новейшая разработка отечественных ученых. Стреляет лазером , во втором - такой: Мощнейшее оружие. Создано на территории Зоны специально для борьбы с мутантами. Использует атомную энергию . Несложно придумать и более изысканные описания - главное, теперь вы знаете, куда их ставить.

И последнее. Подредактированные файлы string_table_general.xml и string_table_enc_weapons.xml переместите в папку <Каталог игры>\gamedata\config\text\rus .

Вторая стадия разработки вооружения - графическая. На ней мы будем обновлять текстуры оружия. При этом понадобится набор инструментов 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 . Наконец, на корпусе атомной пушки пришелся бы к месту ваш аватар, логотип вашего клана, любимого журнала или какая-то еще картинка. И это только простейшие примеры того, как можно украсить новинки.

* * *

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

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

Если же вам мало этих трех новинок, то вы можете добавить игру любое количество оружия, создавая их по алгоритму, описанному в статье. Мы же продолжим вскрытие «Сталкера» в одном из ближайших номеров «Игромании» , но расскажем вам уже не об оружии, а совсем о других, но не менее интересных вещах.