Сталкер изменение параметров оружия

Материал из S.T.A.L.K.E.R. Ins >

Содержание

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

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

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

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

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

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

    description = enc1weapons1_wpn_g36 – ссылка на string_ >Второй раздел

Содержит модификаторы, которые даются к углу зрения/дальности обзора 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_ >Четвертый раздел

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

  • 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 – это параметр качания ствола в руках ГГ при движении в режиме прицеливания. добавил дядяСаша imgal@mail.ru)

  • 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 = weaponsg36wpn_g36.ogf – модель оружия, используемая NPC, а также игроком при виде от третьего лица
  • ph_mass = 4 – физическая масса, используемая при расчетах
  • scope_status = 2 – ситуация со съемным прицелом
  • silencer_status = 1 – ситуация с несъемным глушителем
  • grenade_launcher_status = 0 – ситуация с отсутствующим подствольным гранатометом
  • Параметры:
  • – нет, новый прикрепить нельзя
  • 1 – уже есть, несъемный
  • 2 – нет, но можно установить
  • zoom_enabled = true – есть ли зум (прицеливание)
  • scope_zoom_factor = 33.3 – какой зум дает прицеливание (здесь 60/33.3 = 1.8х)
  • scope_texture = wpnwpn_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 = weaponsg36wpn_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
Читайте также:  Fl studio fl slayer

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

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

Описания оружия хранятся в файле: . S.T.A.L.K.E.Rgamedataconfig ext
usstring_table_enc_weapons.xml

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

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

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

HUD модель была разделена на 2 части – руки и, собственно, само оружие. Это было сделано для того, чтобы добиться смены визуалов рук при смене комбинизона. Из-за этого (и не только из-за этого) большая часть конфига, находящаяся под "[wpn_xxx_hud]: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 – положение рук и оружия для мониторов 16×9
  • hands_orientation_16x9 = 3.649998,1.050001, -0.050000 – направление (ориентация) рук и оружия для мониторов 16×9
  • 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 – смещение рук с оружием при прицеливании для мониторов 16×9
  • aim_hud_offset_rot_16x9 = -0.012500,0.040000,0.020000 – ориентация рук с оружием при прицеливании для мониторов 16×9
  • gl_hud_offset_pos = 0,0,0 – смещение рук с оружием при прицеливании из подствольника
  • gl_hud_offset_rot = 0,0,0 – ориентация рук с оружием при прицеливании из подствольника
  • gl_hud_offset_pos_16x9 = 0,0,0 – смещение рук с оружием при прицеливании из подствольника для мониторов 16×9
  • gl_hud_offset_rot_16x9 = 0,0,0 – ориентация рук с оружием при прицеливании из подствольника для мониторов 16×9

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

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

  • 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

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

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

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

  • upgr_icon_x = 304 – координаты по х (горизонтально)
  • upgr_icon_y = 627 – координаты по у (вертикально)
  • upgr_icon_w >Авторы

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

Немного поправил Chriotmao 05.09.2013

. S.T.A.L.K.E.Rgamedataconfigweaponsw_[. ].ltx
Разбор структуры конфига

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

Здесь хранится общая информация о оружии – его класс, тип, ссылки на спавн и т. д. Нас интересуют следующие строки:
description = enc_weapons1_wpn-g36 – ссылка на string_id, из которого игра подгружает описание этого оружия.
ef_main_weapon_type = 2 – основной тип, к которому принадлежит оружие
ef_weapon_type = 6 – подтип, к которому принадлежит оружие
Второй раздел

Читайте также:  Программа для восстановления удаленных данных с флешки

Содержит модификаторы, которые даются к углу зрения/дальности обзора NPC, держащего это оружие в руках:
holder_range_modifier = 1.85 – во сколько раз увеличивается eye_range
holder_fov_modifier = 0.3 – во сколько раз увеличивается eye_fov
Третий раздел

Содержит данные о самом оружии, его некоторых характеристиках:
cost = 18000 – базовая цена (торговцы умножают её на некоторый коэффициент)
weapon_ >ammo_mag_size = 30 – размер магазина
ammo_ >grenade_ >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_gr >inv_gr >inv_gr >inv_gr >Четвертый раздел

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

Открываем файл effectors.ltx ( gamedataconfigmisceffectors.ltx) и находим строки :

[zoom_inertion_effector]
camera_move_epsilon = 0.03
disp_min = 0.0
speed_min = 0.001
zoom_aim_disp_k = 0.18
zoom_aim_speed_k = 0.00
delta_time = 1350

Чтобы отредоктировать отдачу открой текстовый документ с нужным тебе оружие(допустим ВАЛ) там ищи вот такие строчки те строчки которые тебе нужны я выделю жирным шрифтом

cam_return = 0
cam_relax_speed = 4 ;скорость возврата в исходное положение это скоростьскоторой прицел опуститься на исходное положение выстрела. можно нетрогать короче
cam_relax_speed_ai = 360
cam_dispersion = 0.005 ;увеличения угла (в градусах) с каждым выстрелом если поставить 0 отдача опять же пропадёт=)
cam_dispersion_inc = 0.25 ;увеличениe cam_dispersion с каждым выстрелом
cam_dispersion_frac = 0.7 ;ствол будет подыматься на cam_dispersion*cam_dispersion_frac +- cam_dispersion*(1-cam_dispersion_frac)
cam_max_angle = 5.0 ;максимальный угол отдачи если хочеш убрать отдачу пиши 0
cam_max_angle_horz = 50.0 ;(degree) maximum shot horizontal degree
cam_step_angle_horz = 0.7 ;(degree) size of step camera moved in horizontal position while shooting

Вот так немудрёно можно убрать отдачу и придать точность а для того чтобы увеличить дистанцию тебе нужна строчка
fire_distance = 200 чем больше тем лучше
для того чтобы люди улетали строчка:
hit_impulse = 500
Для того чтобы изменить патроны строчка:
ammo_mag_size = 20
Эти строчки отвечают за износ:
misfire_probability = 0.005 ;вероятность осечки при максимальном износе . old – now not working
;изношенность, при которой появляется шанс осечки
misfire_start_condition = 0.00000000000000000006
;изношеность при которой шанс осечки становится константным
misfire_end_condition = 0.00000000001
;шанс осечки при изношености больше чем misfireStartCondition
misfire_start_prob = 0.0000000000004
;шанс осечки при изношености больше чем misfireEndCondition
misfire_end_prob = 0.00000000000057
;увеличение изношености при одиночном выстреле
condition_shot_dec = 0.000000000011
;увеличение изношености при выстреле очередью
condition_queue_shot_dec = 0.000000000013

Скорость пули. мало нужно но всё же
bullet_speed = 1300
Вес:
inv_weight = 1.5
Урон,чем выше число тем лучше. невздумайте ставить больше 3 оружие врагов тоже улучшаеться и тогда вам придёт ПЗДЦ))
hit_power = 1.42 – в голову, 0.92 – в шею, 0.62 – в торс, 0.42 – в ноги

Вот так нехитро можно улучшитьухудшить оружие