Сталкер чистое небо глушитель. Редактирование оружия

Данная статья посвящена возможности прикрепления обвесов на оружие просто не имеющих их в модели HUD. То есть при выполнении всего ниже сказанного можно будет повесить глушитель на СВД, прицел на ТОЗ-34 и т.д (Подствольник на данный момент установить не получится - как не крути понадобится новая анимация). И ещё один нюанс - аддон на пушке можно будет сделать либо несъемным, либо отсутствующий (при попытке сделать обвес съемным, игра вылетает с банальным логом «stack trace»). Делал с замахом на ЗП, ЧН, но подходит и к ТЧ - различия только из - за разделения мешей и анимаций - руки от оружия.

Ну давайте собственно перейдем к делу.

Необходимый минимум

  • Самое главное - прямые руки растущие из плеч и умеющая мыслить голова.
  • Умение работать с 3D редакторами и конфигами оружия или желание научиться там работать и хотя бы немного времени.
  • Milkshape 3D или любой другой редактор с нужными плагинами импорта\экспорта .
  • Сталкер SDK не суть важно какой.
  • Конвертер Бардака (понадобится для вытаскивания анимаций и файла.bones) и умение с ним работать.
  • Распакованные архивы Сталкера.

Этап I - редактирование модели

  • Для начала импортируем нужную модель.
  • Импортируете требуемые вам аддоны(если вместе с ними импортируются новые кости - удалите их), редактируете их по своему вкусу и ставите куда вам больше нравится.
  • Далее создаете новую кость под аддон (wpn_scope - для оптики и wpn_silenser для глушителя) на том джоинте который не должен двигаться относительно обвеса. К примеру оба аддона для ТОЗ-34 будут завязаны на переламывающемся стволе - кость с названием bend_reload. Новая кость должна находиться на той же координате что и кость-основа. Оригинальные джоинты не двигать!!!
  • Осталось прибиндидь аддоны к соответствующим костям и экспортировать в.object.
  • А для World модели просто создаете дополнительные джоинты не суть важно где.
  • Этап редактирования закончен.

Этап II - настройка модели в SDK

Импортирование файла.bones и анимаций

Начнём с форматов. .bones - это формат зон соприкосновения мешей с окружающим миром. Содержится в мировой модели. .skls - это формат множественной анимаций (1 файл - несколько анимаций). Содержится либо в HUD"е модели (в основном ТЧ), либо в.omf файла имеющего вид wpn_(название оружия)_hud_animation.omf

Теперь я расскажу о создании.bat файла требуемого для работы с конвертером Бардака, так как здесь погорело не мало народу. Технология довольна проста - создаёте.txt файл, набиваете требуемую команду (например: converter -skls wpn_svd_hud_animation.omf) и "сохранить как".

Ставите вот это в соответствующих строках:

Имя файла: (любое).bat

Тип файла: все файлы

И сохраняете. Готово.

Настройка в SDK

Загружаете ранее созданный.object Настраиваете вкладки surfaces и object по своему вкусу.

Настройка для HUD модели - вкладка motions. Импортируете вытащенный skls через edit\append (через motion reference получите вылет в игре). Экспортируете на замену оригинальному wpn_(название)_hud.ogf

Настройка для World модели - вкладка bones. Загружаете.bones через file\load и настраиваете. Экспортируете на замену оригинальному wpn_(название).ogf

Более подробно о настройке в SDK можно узнать в этой статье . А о настройке конфигов в этой и этой статьях.

От автора

Теперь если вы ни где не накосячили, всё должно работать. Удачи вам в ваших творческих свершениях! И ещё, если кто найдет способ устранения вылета не дающего сделать новый аддон съемным, прошу - дополните эту статью.

Заранее спасибо!

Дополнение: редактирование моделей ТЧ

К сожалению, описанный выше способ не сработает при редактировании моделей ТЧ – по двум причинам:

  • в Milkshape если просто добавить кости с помощью инструмента Joint – при просмотре анимаций модель завяжется в узел;
  • при импорте анимаций SDK выдаст нечто наподобие «не могу найти кость в анимации » и, соответственно, откажется импортировать.

Придется действовать по-другому. Из инструментов, кроме выше перечисленного, понадобится .

Порядок действий:

1. Создаем копию исходной модели.
2. В копии добавляем нужные кости.

3. Добавленные кости поварачиваем на -90 градусов по оси Х относительно родительской кости (далее станет видно для чего). К сожалению поворот костей в Milkshape работает как-то странно – поэтому придется вручную разместить кости так, как будто всю совокупность костей повернули.


4. С помощью Hierarchy Editor ’а в копии отсоединяем старшую из созданных костей от ее родителя.


5. Всю изначальную геометрию и весь изначальный скелет в копии удаляем (таким образом должны остаться только созданные кости).
6. Открываем оригинал и подгружаем (Merge ) копию.
7. В оригинале модели с помощью Hierarchy Editor ’а привязываем созданные кости к нужным родителям.

Как видим, совокупность созданных костей повернулась на +90 градусов и оказалась расположена там, где требовалось. Сохраняем (+ экспортируем в .object ).
8. Поочередно импортируем и пересохраняем с измененным скелетом все анимации.

После этого из полученных .object и .skl файлов в SDK как обычно собираем модель. Теперь к созданным костям спокойно можно присоединять аддоны – анимации будут корректны, аддоны будут одеваться/сниматься.

Пояснение: процесс «создание костей – отсоединение – удаление исходной геометрии и скелета – объединение моделей – присоединение костей» необходим для решения первой из указанных проблем – завязывания модели в узел. Вторая проблема решается пересохранением всех анимаций.

Важное замечание: для того, чтобы съемные аддоны работали корректно, созданным костям нужно дать стандартные имена:

  • wpn_silencer – для глушителя;
  • wpn_scope – для оптического прицела;
  • wpn_grenade_launcher и wpn_grenade – для подствольного гранатомета (возможно понадобятся еще кости – для прицела и спускового крючка).

Вырезанное оружие Часть 1

  • 1) АКМС - первый предшественник АКМ-74/2. Был вырезан из игры, но имеет модель в ранних сборках. Использовал патроны 5,45х39 FMJ и 5,45х39 AP (вместо 7,62х39). Имелась возможность установки глушителя и подствольного гранатомёта (хотя глушитель устанавливался лишь на АКМБ, а возможность установки ГП-25 «Костёр» на АКМБ отсутствовала, но была возможна на АКМ/АКМС
  • 2) ТОЗ-34 (Охотничье ружьё)

    Охотничье ружьё - двуствольный дробовик с вертикальным расположением стволов. Используется в основном новичками, бандитами или теми, у кого мало денег. Распространено среди охотников.
    Встречается в ЧН и ЗП. Однако есть и в ТЧ,его можно найти в игровых архивах игры и можно получить его прописав его на продажу торговцам или вооружив НПС.
    В финальном трейлере ТЧ оружие было показано,но под самый релиз его убрали.

  • 3) Minigun М134
    M134 Minigun - ручной пулемёт, вырезанный ещё на самых ранних этапах разработки игры (2002 год). Встречается в билдах 1098, 1114, 1096.

    Представляет собой многоствольный авиационный пулемёт, собранный по схеме Гатлинга. Привод поворота блока стволов - электрический. Скорострельность регулируется реостатом электропривода и варьируется от 2500 до 6000 выстрелов в минуту. Масса установки составляет 22.7 кг без учёта систем боепитания.

    Используемый боеприпас: патрон 7,62 НАТО. Питание патронами может осуществляться из стандартной рассыпной ленты или при помощи механизма беззвеньевой подачи патронов. В первом случае на пулемет ставится специальный механизм «delinker», осуществляющий извлечение патронов из ленты перед их подачей в пулемет. Лента подается к пулемету через специальный металлический гибкий рукав от коробов, имеющих типовую емкость от 1500 (полный вес: 58 кг) до 4500 (полный вес: 134 кг) патронов. На тяжелых вертолётах (CH-53, CH-47) ёмкость патронных коробов для питания одного пулемёта может достигать 10 000 и даже более патронов.

    Интересные факты:
    1.Данный агрегат был вырезан из-за того, что не вписывался в атмосферу и концепцию игры.
    2.Пулемёт представлен в главном меню S.T.A.L.K.E.R.: Чистое небо.
    Фактически мог использоваться только в экзоскелете ввиду большой массы и громоздкости.
    3.Несмотря на отсутствие в финальной версии игры самого пулемёта, в файлах осталась его модель.
    4.Вполне мог использоваться «Монолитом».

    Двустволка - ружьё, вырезанное из S.T.A.L.K.E.R.: Тень Чернобыля, в финальной версии присутствует только его обрез. Воспользоваться двустволкой можно в нескольких ранних билдах игры.
    " Охотничье ружьё-горизонталка. Довольно мощное, в самый раз для охоты"
    Изначально Охотник в баре давал квест на поиск двустволки. Но из-за того, что это оружие было вырезано, в квесте стал фигурировать обычный обрез.
    В описании билда 2205 говорилось, что двустволка перезаряжается медленнее, чем охотничье ружьё.
    Не имеет целика, однако мушка присутствует.
    Именно из этого ружья делают обрезы.

    Бульдог-6 М209 -модификация гранатомёта Бульдог-6, главной чертой которого является то, что для стрельбы он использует НАТОвские гранаты М209. Бульдог-6 M209 вырезан из S.T.A.L.K.E.R.: Тень Чернобыля, однако его можно прописать в продажу торговцам, т.к. модель готова.

  • 6) Аномальный АКС-74У (он же Радиоактивный АКС-74У) - уникальный образец автомата АКМ-74/2У. Вырезан из игры S.T.A.L.K.E.R.: Тень Чернобыля. Его можно найти в ресурсах сборок.

    В разных сборках описание разное:

    Сборка 2559 и 2571
    “По слухам, этот ствол нашли в груде ржавчины на Свалке - на том самом месте, где три месяца находилась гравитационная аномалия. Удивительно, что сам ствол не проржавел. Наоборот - уже сколько из него стреляли, а износ так и не заметен.”
    Сборка 2604
    “По слухам, этот автомат был найден в груде ржавого железа на Свалке, причём на том самом месте, где три месяца «жила» гравитационная аномалия. Как ни странно, АКС оказался в отличном состоянии, а пребывание в аномалии сказалось на нём удивительным образом: выпущенные из этого оружия пули обладают значительно большей энергией.

    Пулемёт - РПК-74 (видимо, отсюда игровое название РП-74). В ранних альфа-билдах имел текстуру как у АКМ-74/2, коробчатый магазин на 45 патронов 5,45x39, возможность крепления прицела и подствольного гранатомёта.

  • 8) СВДм-2 "Дальнобольщик"

    СВДм-2 «Дальнобойщик» - модифицирована оптика, за счет чего увеличена кратность увеличения. Улучшен баланс оружия, в результате уменьшена отдача. Вырезанный из ТЧ образец.

  • 9) АН-94 "Абакан" утяжеленный

    АН-94 «Абакан» утяжелённый - в этом экземпляре за счёт свинцовых брусков в прикладе увеличена масса ствола. Хоть носить его стало и тяжелее, зато отдача уменьшилась. Вырезан из ТЧ

  • 10) FN 2000 (Билдовский)
    В билдах у него была совсем другая модель,отличия просто огромные

    билде 1114 на ней, желтым цветом, была надпись монолога одного из разработчиков:
    "Чё делать сегодня будешь? Только не говори что работать:)"

    В ранних билдах игры была возможность насадки Отечественных штучек Например прицел "ПСО-1" и подствольный гранатомёт "ГП-5 Костёр "
    Может быть планировалось как уникальное оружие.

    P90 - бельгийский пистолет-пулемёт, запланированный для S.T.A.L.K.E.R.: Тень Чернобыля. В процессе разработки был вырезан по неизвестным причинам. Известно то, что FN P90 появляется вбилде 1935, где для него уже были сделаны модель, текстура, характеристики и иконка. Специально были созданы патроны, подходящие только под P90. В архиве осталась 3D-модель, иконка и его текстура.

    В ТЧ сохранились патроны от этого ПП - их можно восстановить в игре. У них глючная иконка в инвентаре, но есть собственная текстура коробки, на которой есть соответствующая надпись «FN P90». Пользы от них нет.

  • 13) СГИ -5k Штурмовой (Штурмовой СИП)

    Штурмовой СИП - уникальный образец штурмовой винтовки СГИ-5к. Должен был появиться в S.T.A.L.K.E.R.: Тень Чернобыля, но по неизвестным причинам был вырезан из игры. Возможно, разработчики забыли прописать винтовку в игру
    По характеристикам известно то, что оружие стало заметно легче: вес стал равен 2.2 килограммам. Но в жертву этому на оружие нельзя прикрепить ни подствольный гранатомёт, ни прицел

Вырезанное оружие Часть 2

ГШ-18 - российский пистолет, разработанный в конце 1990-х годов конструкторами Грязевым и Шипуновым, откуда и появилась аббревиатура. Предназначен для вооружения спецподразделений Российской Федерации.

Является не реализованным оружием,в билдах у него есть своя иконка и заготовка текстуры

Пистолет западного образца, достаточно популярен в Зоне. Довольно надёжное и мощное оружие.
Встречается в ЧН и ЗП.Вырезан из ТЧ,но его можно прописать в продажу или вооружить им НПС

Единственный ручной гранатомёт в серии, хотя в билдах появлялся ГМ-94. Был вырезан разработчиками, но по какой причине - неизвестно.

  • 17) РПГ-7у
    Модифицированный вариант РПГ,отличался мощностью и своим видом в отличии от оригинала
  • 18) Гром С14 (Гроза)
    Значительное изменение потерпело и это оружие. Здесь предоставлен билдовский вариант
    Грозы.
  • 20) Именной Винтарь-ВС

    «Отбойник» - гладкоствольный боевой дробовик, произведённый в ЮАР. Сконструирован по револьверной схеме. Появляется только в игре S.T.A.L.K.E.R.: Зов Припяти.
    Планировался ещё для ТЧ, однако дальше ранних билдов не прошёл.

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

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

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

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

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

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

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

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

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

    • holder_range_modifier = 1.85 - во сколько раз увеличивается eye_range ботов. Он производит умножение дальности обзора ботов с данным оружием в руках.
    • holder_fov_modifier = 0.3 - во сколько раз увеличивается eye_fov ботов. При редактировании этого параметра случаются проблемы с обзором нпс - могут не увидеть монстра в упор.

    Следующие значения могут находится в другой части файла, но относятся они к обзору.

    • min_radius = 30 - минимальное расстояние с которого боты начинают использовать данное оружие. Для всего оружия кроме снайперских винтовок, гранат и гранатомётов рекомендуется ставить 0. Используется для того, чтобы боты с гранатомётами и снайперками переключались при приближении врага на второе оружие, а также не бросали гранаты себе под ноги.
    • max_radius = 100 - максимальное расстояние на котором боты используют данное оружие. Рекомендуется делать максимально большим каким возможно, учитывая при этом точность оружия. Вы наверно часто сталкивались с ситуациями, когда отстреливаете ботов с дальней дистанции они целятся в Вас, ходят из стороны в сторону, но не стреляют. Данные баги связаны с недостаточным размером данного параметра. Ограничивать данный параметр стоит для пистолетов, дробовиков и огнемёта.

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

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

    • cost = 2200000 - базовая цена (торговцы умножают её на некоторый коэффициент)
    • weapon_class = assault_rifle - класс оружия (здесь - штурмовая винтовка)
    • ammo_mag_size = 300 - размер магазина
    • 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 - увеличение дисперсии в процентах при максимальном износе. Мало кто понимает, но этот параметр указан не в градусах - это множитель. 5 - это 5000% разброса при максимальном износе. Подобный разброс IRL можно получить только рассверлив ПМ перфоратором. Все стволы в оригинальной игре имеют множитель 5, а начиная с CS маразм разработчиков начал крепчать и многие стволы получили значение 15. В CoP эта тенденция усилилась и ещё больше стволов получили значение 15. Каждый нормальный модер уменьшит это значение. Для пистолетов рекомендуется 3 - 4, автоматов 2 - 2.5, снайперок 1 - 1.5
    • misfire_probability = 0.003 - вероятность осечки при максимальном износе
    • misfire_condition_k = 0.05 - коэффициент. Проще не трогать, т.к. настроить два параметра для каждого ствола в оружейном паке гораздо легче чем три. Может понабиться только для оружия с небольшим настрелом типа ВСС.
    • condition_shot_dec = 0.0002 - увеличение износа при каждом выстреле. Если вписать -1, то оружие полностью отремонтируется после первого выстрела.

    Пятый раздел

    Здесь хранится множество параметров, из которых наиболее интересны эти:(PDM - это параметр качания ствола в руках ГГ при движении в режиме прицеливания. добавил дядяСаша [email protected])

    • 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 - максимальная дистанция полета пули, затем она падает на землю и исчезает. Логично прописать значение эффективного огня(пистолеты-пулеметы 50-200м, пистолеты 50м, дробовики 30м и нож полметра), но не имеет смысла устанавливать значение больше радиуса алайфа: ведь за его пределами никого нет.)
    • bullet_speed = 925 - начальная скорость пули
    • rpm = 600 - скорострельность выстрел/минута
    • hud = wpn_g36_hud - внешний вид оружия от 1-ого лица

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

    • = x, y, z
    • position = -0.026, -0.132, 0.0 - позиция оружия на спине по отношению к НПС при виде от 3-его лица
    • orientation = 0, 0, 0 - вращение оружия на спине НПС при виде от 3-его лица

    Примечание В ЧН\ЗП будет выглядеть так:

    • position = -0.026, -0.132, 0.0 - позиция оружия в руках НПС
    • orientation = 0, 0, 0 - вращение оружия в руках НПС
    • strap_position = -0.26,-0.11,0.25 - позиция оружия на спине по отношению к НПС при виде от 3-его лица
    • strap_orientation = -15,-9,110 - вращение оружия на спине НПС при виде от 3-его лица

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

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

    • startup_ammo = 90 - как нетрудно догадаться, стартовое количество патронов (в синглплеере ни на что не влияет)
    • visual = weapons\g36\wpn_g36.ogf - модель оружия, используемая NPC, а также игроком при виде от третьего лица
    • ph_mass = 4 - физическая масса, используемая при расчетах
    • scope_status = 2 - ситуация со съемным прицелом
    • silencer_status = 1 - ситуация с несъемным глушителем
    • grenade_launcher_status = 0 - ситуация с отсутствующим подствольным гранатометом
    • Параметры:
      • 0 - нет, новый прикрепить нельзя
      • 1 - уже есть, несъемный
      • 2 - нет, но можно установить
    • zoom_enabled = true - есть ли зум (прицеливание)
    • scope_zoom_factor = 33.3 - какой зум дает прицеливание (здесь 60/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 - точка выстрела из подствольного гранатомета
    • fire_bone = wpn_body
    • orientation = 0, 0, 0 - ориентация ствола оружия в направлении точки попадания пули(это центр монитора). Некоторые мододелы ориентируют оружие по линии прицеливания- это не правильно, ибо пуля вылетает из ствола, а не из прицела.
    • position = 0, 0, 0 - позиция. Первая координата отвечает за перемещение в стороны (положительная - вправо, отрицательная - влево), вторая - перемещение по высоте (положительная - вверх, отрицательная - вниз), третья - перемещение по горизонтали (положительная - вперед, отрицательная - назад)
    • visual = weapons\g36\wpn_g36_hud.ogf - модель, отображаемая у нас в руках
    • grenade_bone = grenade

    Далее идут различные анимации при различных действиях ГГ с оружием (стрельба, перезарядка и т.д.). Но они нам особо не нужны. Но не в этом суть, суть в том, что уже давно, никто не замечал несколько строк, а именно, 3 строчки которые отвечают за позицию оружия при прицеливании:

    • zoom_offset = -0.123900,0.012450,-0.1377700000 - тут всё точно так же как и с позицией (которая идёт после fire_bone)
    • zoom_rotate_x = 0.024750
    • zoom_rotate_y = 0.001300

    Их так же нужно править, если меняли позицию самого оружия, иначе прицеливаться ГГ будет не в центр экрана, а ниже/выше и левее/правее. Для настройки этой фичи был сделан hud_adjust_mode, но его, почему-то не оставили... Частично вам может помочь такая штука, как:

    • zoom_hide_crosshair - скрывать ли перекрестие прицела при прицеливании

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

    Описания оружия хранятся в файле: ...\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 [...]

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

    Нововведения в ЗП

    HUD

    HUD модель была разделена на 2 части - руки и, собственно, само оружие. Это было сделано для того, чтобы добиться смены визуалов рук при смене комбинизона. Из-за этого (и не только из-за этого) большая часть конфига, находящаяся под ":hud_base" претерпела некоторые изменения - о них я и расскажу.

    Добавлены:

    • hands_position = 0.020500,-0.206999,0.261999 - положение рук и оружия
    • hands_orientation = 3.349998,2.599999,-0.050000 - направление (ориентация) рук и оружия
    • hands_position_16x9 = 0.020500, -0.165999,0.209500 - положение рук и оружия для мониторов 16x9
    • hands_orientation_16x9 = 3.649998,1.050001, -0.050000 - направление (ориентация) рук и оружия для мониторов 16x9
    • item_position = 0,0,0 - позиция оружия относительно рук
    • item_orientation = 0,0,0 - ориентация оружия относительно рук
    • aim_hud_offset_pos = -0.129000,0.017000,-0.001500 - смещение рук с оружием при прицеливании
    • aim_hud_offset_rot = -0.012500,0.040000,0.020000 - ориентация рук с оружием при прицеливании
    • aim_hud_offset_pos_16x9 = -0.129000,0.017000,-0.001500 - смещение рук с оружием при прицеливании для мониторов 16x9
    • aim_hud_offset_rot_16x9 = -0.012500,0.040000,0.020000 - ориентация рук с оружием при прицеливании для мониторов 16x9
    • gl_hud_offset_pos = 0,0,0 - смещение рук с оружием при прицеливании из подствольника
    • gl_hud_offset_rot = 0,0,0 - ориентация рук с оружием при прицеливании из подствольника
    • gl_hud_offset_pos_16x9 = 0,0,0 - смещение рук с оружием при прицеливании из подствольника для мониторов 16x9
    • gl_hud_offset_rot_16x9 = 0,0,0 - ориентация рук с оружием при прицеливании из подствольника для мониторов 16x9

    Апгрейды и изнашиваемость

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

    • upgrades = up_gr_firstab_ak74, up_gr_seconab_ak74, up_gr_thirdab_ak74, up_gr_fourtab_ak74, up_gr_fifthab_ak74, * up_gr_fifthcd_ak74 - части апгрейд схемы
    • installed_upgrades = - установленные апгрейды
    • upgrade_scheme = upgrade_scheme_ak74 - апгрейд-схема

    Так-же в ЗП была создана более продуманная схема изнашиваемости, вот строки которые за это отвечают:

    • misfire_start_condition = 0.6 - изношенность, при которой появляется шанс осечки
    • misfire_end_condition = 0.1 - изношенность при которой шанс осечки становится константным
    • misfire_start_prob = 0.003 - шанс осечки при изношенности больше чем misfireStartCondition
    • misfire_end_prob = 0.043 - шанс осечки при изношенности больше чем misfireEndCondition
    • condition_shot_dec = 0.001 - увеличение изношенности при одиночном выстреле
    • condition_queue_shot_dec = 0.0012 - увеличение изношенности при выстреле очередью

    Изношенность нового ствола = 1.0

    Основной конфиг

    Здесь изменений не так много:

    Иконка используемая при апгрейде. Координаты отсчитываются с левого верхнего угла по пикселям. Файл с иконками находится по пути textures\ui\ui_actor_weapons.dds

    • upgr_icon_x = 304 - координаты по х (горизонтально)
    • upgr_icon_y = 627 - координаты по у (вертикально)
    • upgr_icon_width = 295 - ширина иконки
    • upgr_icon_height = 110 - высота иконки
    • * scopes_sect = scope_ak74, scope_x2.7_ak74, scope_live_detector_ak74, scope_night_ak74 - ссылки на вторичный конфиг прицела
    • - собственно сам вторичный конфиг
    • scope_name = wpn_addon_scope - ссылка на конфиг прицела
    • scope_x = 47 - расположение иконки установленного прицела на иконке оружия по x(в пикселях)
    • scope_y = 0 - по у

    Авторы

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

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