Чтобы отредоктировать отдачу открой текстовый документ с нужным тебе оружие(допустим ВАЛ) там ищи вот такие строчки те строчки которые тебе нужны я выделю жирным шрифтом
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 — в ноги
Вот так нехитро можно улучшитьухудшить оружие
Содержание
- 1 Общие положения
- 2 Разбор структуры конфига
- 2.1 Первый раздел
- 2.2 Второй раздел
- 2.3 Третий раздел
- 2.4 Четвертый раздел
- 2.5 Пятый раздел
- 2.6 Шестой раздел
- 2.7 Седьмой раздел
- 3 Изменение описаний
- 4 Нововведения в ЗП
- 4.1 HUD
- 4.2 Апгрейды и изнашиваемость
- 4.3 Основной конфиг
- 5 Авторы
Общие положения
Сегодня мы разберем то, каким образом можно редактировать оружие в игре — от характеристик до описания.
Характеристики оружия хранятся здесь:
…S.T.A.L.K.E.Rgamedataconfigweaponsw_[…].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 — это параметр качания ствола в руках ГГ при движении в режиме прицеливания. добавил дядяСаша 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 — ситуация с отсутствующим подствольным гранатометом
- Параметры:
- 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
Их так же нужно править, если меняли позицию самого оружия, иначе прицеливаться ГГ будет не в центр экрана, а ниже/выше и левее/правее. Для настройки этой фичи был сделан hud_adjust_mode, но его, почему-то не оставили…
Частично вам может помочь такая штука, как:
- zoom_hide_crosshair — скрывать ли перекрестие прицела при прицеливании
Изменение описаний
Описания оружия хранятся в файле:
…S.T.A.L.K.E.Rgamedataconfigtextrusstring_table_enc_weapons.xml
В нем хранятся строки с названиями и описаниями, на которые ссылаются конфиги оружия. Например, тот же G36 ссылается сюда:
[...] <string id="enc_weapons1_wpn-g36"> <text>Штурмовая винтовка немецкого производства, представляющая собой первоклассный образец современного оружия - лёгкого, надёжного и эргономичного.n Боеприпасы:n обычный 5,56x45 мм SS109,n бронебойный 5,56x45 мм АР.</text> [...] <string id="wpn-g36"> <text>ГП37</text> [...]
Меняя их содержимое, мы меняем описания/названия данного оружия.
Нововведения в ЗП
HUD
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_width = 295 — ширина иконки
- upgr_icon_height = 110 — высота иконки
- * scopes_sect = scope_ak74, scope_x2.7_ak74, scope_live_detector_ak74, scope_night_ak74 — ссылки на вторичный конфиг прицела
- [scope_ak74] — собственно сам вторичный конфиг
- scope_name = wpn_addon_scope — ссылка на конфиг прицела
- scope_x = 47 — расположение иконки установленного прицела на иконке оружия по x(в пикселях)
- scope_y = 0 — по у
Авторы
Статья создана:
- BAC9-FLCL
- Ya.D
Статья средняя, но не сказано про параметр патронов «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 — подтип, к которому принадлежит оружие - 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
= weaponsg36wpn_g36.ogf — модель оружия, используемая NPC, а также игроком при виде от третьего лица
- ph_mass
= 4 — физическая масса, используемая при расчетах
- scope_status
= 1 — ситуация со съемным прицелом - silencer_status
= 0 — ситуация со съемным глушителем - grenade_launcher_status
= 0 — ситуация с подствольным гранатометом
- Параметры:
- 0
— нет, новый прикрепить нельзя - 1
— уже есть, несъемный - 2
— нет, но можно установить новый
- 0
- zoom_enabled
= true — есть ли зум (прицеливание) - scope_zoom_factor
= 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 — точка выстрела (2) - fire_bone
= wpn_body - orientation
= 0, 0, 0 — направление - position
= 0, 0, 0 — позиция - visual
= weaponsg36wpn_g36_hud.ogf — модель, отображаемая у нас в руках
Изменение описаний
Описания оружия хранятся в файле:
…S.T.A.L.K.E.Rgamedataconfigtextrusstring_table_enc_weapons.xml
В нем хранятся строки с названиями и описаниями, на которые ссылаются конфиги оружия. Например, тот же G36
ссылается сюда:
[…]
Штурмовая винтовка немецкого производства, представляющая собой первоклассный образец
современного оружия — лёгкого, надёжного и эргономичного.n Боеприпасы:n обычный 5,56×45 мм
SS109,n бронебойный 5,56×45 мм АР.
[…]
ГП37
[…]
Меняя их содержимое, мы меняем описания/названия данного оружия.
Изменение патронов
Параметры патронов хранятся в файле:
…S.T.A.L.K.E.Rgamedataconfigweaponsweapons.ltx
Найдем, например, раздел, отвечающий за патроны к тому же G36
(о них мы узнали из параметра ammo_class
), и разберем, что означает каждый параметр:
- visual
= weaponsammoammo_556x45_ss190.ogf — модель коробки с патронами - description
= enc_weapons1_ammo_ammo-5.56×45-ss190 — ссылка на string_id, из которого игра подгружает описание этого типа патронов
- cost
= 320 — стоимость одной коробки
- box_size
= 30 — количество патронов в одной коробке
- inv_name
= ammo-5.56×45-ss190 — ссылка на string_id, содержащий имя для инвентаря - inv_name_short
= ammo-5.56×45-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.45×39 для АК к конце всегда есть
строка «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 по модификации оружия для модостроителей) Выложу ка на ПС. Массивно получилось, надеюсь хоть кто-то осилит.
Кстати есл икому интересно могу посмотреть точные характеристики другого оружия. В цифрах, по формулам уж сами считайте, а то я аж вспотел)
Если охота обсудить)
Всем игрокам в сталкер, при прохождении возникало желание улучшить оружие, хотя в Зов Припяти такая возможность есть(только за деньги). В данной статье рассмотрим вариант как самому редактировать оружие в S.T.A.L.K.E.R. — Тень Чернобыля. теперь можно самому выбирать характеристики, и так же самому делать моды.
Сегодня мы разберем то, каким образом можно редактировать оружие в игре S.T.A.L.K.E.R. — Тень Чернобыля — от характеристик до описания. Характеристики оружия хранятся здесь:
…S.T.A.L.K.E.Rgamedataconfigweaponsw_[…].ltx (файл можно открыть в любом TXT — редакторе)
Разбор структуры конфига
Возьмем, для примера, конфиг w_g36.ltx. Он делится на разделы:
1 раздел структуры конфига
Здесь хранится общая информация о оружии — его класс, тип, ссылки на спавн и т.д. Нас интересуют следующие строки:
description = enc_weapons1_wpn-g36 — ссылка на string_id, из которого игра подгружает описание этого оружия.
ef_main_weapon_type = 2 — основной тип, к которому принадлежит оружие
ef_weapon_type = 6 — подтип, к которому принадлежит оружие
2 раздел структуры конфига
Содержит модификаторы, которые даются к углу зрения/дальности обзора NPC, держащего это оружие в руках:
holder_range_modifier = 1.85 — во сколько раз увеличивается eye_range
holder_fov_modifier = 0.3 — во сколько раз увеличивается eye_fov
3 раздел структуры конфига
Содержит данные о самом оружии, его некоторых характеристиках:
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 — координаты первого угла иконки по x
inv_grid_height = 2 — координаты первого угла иконки по y
inv_grid_x = 0 — координаты второго угла иконки по x
inv_grid_y = 10 — координаты второго угла иконки по y
4 раздел структуры конфига
Содержит информацию о износе/отдаче оружия. Практически все параметры там снабжены комментариями, поэтому приведу лишь самые интересные:
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 — увеличение износа при каждом выстреле
5 раздел структуры конфига Любите Shadow Fight 2?
Здесь хранится множество параметров, из которых наиболее интересны эти:
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 — внешний вид оружия
6 раздел структуры конфига
position = -0.026, -0.132, 0.0 — позиция по отношению к игроку (?)
orientation = 0, 0, 0 — направление, в которое смотрит ствол (?)
7 раздел структуры конфига
Содержит описания визуальной стороны оружия и некоторые другие параметры:
startup_ammo = 90 — как нетрудно догадаться, стартовое количество патронов (в синглплеере ни на что не влияет)
visual = weaponsg36wpn_g36.ogf — модель оружия, используемая NPC, а также игроком при виде от третьего лица
ph_mass = 4 — физическая масса, используемая при расчетах
scope_status = 1 — ситуация со съемным прицелом
silencer_status = 0 — ситуация со съемным глушителем
grenade_launcher_status = 0 — ситуация с под ствольным гранатометом
Параметры:
0 — нет, новый прикрепить нельзя
1 — уже есть, несъемный
2 — можно прикрепить
После изменения конфигурации оружия необходимо перезагрузить игру (обязательно)
После редактирования оружия его надо найти, для этого есть мод с спавн меню, где можно добавить любое оружие, смотрим на этой странице
Сегодня мы разберем то, каким образом можно редактировать оружие в игре — от характеристик до описания.
Характеристики оружия хранятся здесь:
…S.T.A.L.K.E.Rgamedataconfigweaponsw_[…].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
= weaponsg36wpn_g36.ogf — модель оружия, используемая NPC, а также игроком при виде от третьего лица
- ph_mass
= 4 — физическая масса, используемая при расчетах
- scope_status
= 2 — ситуация со съемным прицелом - silencer_status
= 1 — ситуация с несъемным глушителем - grenade_launcher_status
= 0 — ситуация с отсутствующим подствольным гранатометом
- Параметры:
- 0
— нет, новый прикрепить нельзя - 1
— уже есть, несъемный - 2
— нет, но можно установить
- 0
- 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
Их так же нужно править, если меняли позицию самого оружия, иначе прицеливаться ГГ будет не в центр экрана, а ниже/выше и левее/правее. Для настройки этой фичи был сделан hud_adjust_mode, но его, почему-то не оставили…
Частично вам может помочь такая штука, как:
- zoom_hide_crosshair
— скрывать ли перекрестие прицела при прицеливании
Изменение описаний
Описания оружия хранятся в файле:
…S.T.A.L.K.E.Rgamedataconfigtextrusstring_table_enc_weapons.xml
В нем хранятся строки с названиями и описаниями, на которые ссылаются конфиги оружия. Например, тот же G36
ссылается сюда:
[…]
Штурмовая винтовка немецкого производства, представляющая собой первоклассный образец
современного оружия — лёгкого, надёжного и эргономичного.n Боеприпасы:n обычный 5,56×45 мм
SS109,n бронебойный 5,56×45 мм АР.
[…]
ГП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 — положение рук и оружия для мониторов 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_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.45×39 для АК к конце всегда есть строка «explosive = off». Достаточно изменить её на «explosive = on» и при выстреле таким снарядом мы увидим как в месте попадания разгорается и тухнет оранжевое пламя. Но это всего лишь анимация, так что если будете делать такие патроны, не забывайте увеличить их бронебойную способность и останавливающее действие. Кстати, это не только для патронов АК сделать можно, а для любых всего одной строкой. Удачи!
ВАЖНО! ПЕРЕД ИЗМНЕНИЕМ КАКОГО ЛИБО ФАЙЛА ОБЯЗАТЕЛЬНО СДЕЛАЙТЕ С НЕГО КОПИЮ! Для этого достаотчно создать прямо в папке с файлами, который собираетесь изменять его архивную копию, только архив не самораспаковывающийся. Таким образом, если вы что то не то наделаете с файлом у вас будет его копия и вы можете все вернуть на свои места. При открытии указанных файлов система спросит чем именно файлы открывать и вывалит список приложений. Необходимо выбрать БЛОКНОТ и не забыть поставить галочку — мол такие файлы всегда открывать БЛОКНОТОМ.
Для начала разберемся с оружием:
Параметры стволов заданы в конфигурационных файлах по адресу gamedataconfigsweapons. Возьмем, для примера, конфиг 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_class = assault_rifle — класс оружия (здесь — штурмовая винтовка)
ammo_mag_size = 30 — размер магазина
ammo_class = ammo_5.56x45_ss190, ammo_5.56x45_ap — типы используемых патронов
grenade_class = ammo_m209 — тип используемых гранат
fire_modes = 1, 2, -1 — режимы ведения огня, в данном случае это одиночные выстрелы, выстрелы по два патрона сразу и очередь. Например в моде ЗОНА ПОРАЖЕНИЯ 2 есть скоростерльны шестиствольный пулемет, довольно удобно в этой строке поставить вместо 1 и 2 цифорки 10 и 20. Теперь пулемет будет стрелять короткими очередями по 10 и 20 патронов.
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 — координаты первого угла иконки по x
inv_grid_height = 2 — координаты первого угла иконки по y
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 — множитель, на который умножается базовая дисперсия оружия, когда ГГ стоит на месте в полный рост;
PDM_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 — сила выстрела, именно этот параметр влияет на поражающую способность оружия, у гаусс пушки он некоторых версиях игры больше 100, что гарантирует убийство химеры с одного выстрела даже через кирпичную стену
hit_impulse = 105 — импульс пули (сила, которую летящая пуля передает жертве, влияет на поведение убитого тела — оно просто «сползет по стенке или сделает кувырок через голову)
hit_type = fire_wound — тип причиняемых повреждений, в данном случае — пулевые ранения (параметр в синглплеере ни на что не влияет)
fire_distance = 600 — максимальная дистанция для выстрела
bullet_speed = 925 — начальная скорость пули, от этого зависит как быстро пуля достигнет жертвы, как изменит траекторию полета и какое надо делать упрежение при стрельбе — чем выше, тем дальше пуля летит по прямой. Однако тут можно наступить на грабли — слишком большая скорость увеличивает и дальность полета и однажды во время боя пуля, пробив наемника улетела за горизонт и попала… Да, да, попала в баржу Скадовска, хотя ее даже в бинокль не было видно, где незамедлительно на главного героя навесили ярлык ВРАГ и начали стрелять как только он приблизился к этой барже.
rpm = 600 — скорострельность, выстрелов в минуту
hud = wpn_g36_hud — внешний вид оружия
Шестой раздел
position = -0.026, -0.132, 0.0 — позиция по отношению к игроку (?)
orientation = 0, 0, 0 — направление, в которое смотрит ствол (?)
Седьмой раздел
Содержит описания визуальной стороны оружия и некоторые другие параметры:
startup_ammo = 90 — как нетрудно догадаться, стартовое количество патронов (в синглплеере ни на что не влияет)
visual = weaponsg36wpn_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 = 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 — точка выстрела (2) fire_bone = wpn_body orientation = 0, 0, 0 — направление position = 0, 0, 0 — позиция
visual = weaponsg36wpn_g36_hud.ogf — модель, отображаемая у нас в руках
Изменение описаний Описания оружия хранятся в файле: …gamedataconfigtextrusstring_table_enc_weapons.xml. В нем хранятся строки с названиями и описаниями, на которые ссылаются конфиги оружия. Например, тот же G36 ссылается сюда: […]
Штурмовая винтовка немецкого производства, представляющая собой первоклассный образец современного оружия — лёгкого, надёжного и эргономичного.n Боеприпасы:n обычный 5,56×45 мм SS109,n бронебойный 5,56×45 мм АР. […] ГП37 […]Меняя их содержимое, мы меняем описания/названия данного оружия.
Так же не следует забывать, что изменяя свойства оружия оно меняется и у противников, следовательно если из модернизированного оружия попадут в вашего героя, то урон будет конечно более значительным и чаще всего фатальным. Поэтому для ТЕНИ ЧЕРНОБЫЛЯ лучше выбрать оружие которым не пользуются сталкеры, например Винторез встречается крайне редко, FN2000 тоже встречается не часто, а вот ГРОМ, или ГРОЗА даже если и стреляет патронами 5,45, основные параметры берет из 9-ти мм брата-близнеца.
Для геймеров ЗОВ ПРИПЯТИ есть правда лазейка — рядовые сталкеры не пользуются модификациями оружия, поэтому свое творчество по поднятию мощности вооружения лучше направить именно туда.
Открываем…gamedataconfigsweaponsupgrades и выбираем из списка то оружие, которое наиболее популярно у вас и открываем его. Как правило там есть комментарии, если же их нет, то орентируясь по выше написанному можно менять параметры в ту или иную сторону. Если же вы пользуетесь оружием заказанным у Шустрого, то тут все упрощется еще сильнее — в файлах основного оружие, которое может принести Шустрый, в самом конце есть сноска — свойства уникальных экземпляров. Тут уже можно «накрутить» все, что угодно, вплоть до магазинов на 500 патроновпосле первой же модификации, и такое оружие будет в зоне в одном экземпляре. Если имеющиеся в строка УНИКАЛЬНОГО оружия нет, того, чтобы вам хотелось изменить, то их можно копировать из параметров брата-близнеца, например в оригинале строка
hit_power = 0.62,0.62, 0.62, 0.62 имеет такой вид, то в данных УНИКАЛЬНОГО ОРУЖИЯ можно копировать эту строчку и отредактировать, например так:
hit_power = 2.62, 2.62, 2.62, 2.62 теперь УНИКАЛЬНОЕ ОРУЖИЕ имеет поражающую способность выше СВД
Точно так же можно копировать, а затем изменить другие наиболее ответсвенные строчки, например сделать ammo_mag_size = 60 — теперь емкость магазина у основных вариантов останется не изменной, у заказанного у Шустрого емкость магазина будет 60 патронов. Так же можно подправить УНИКАЛЬНЫЙ ГРОМ, подкорректировав строку ammo_class и поставив в ее конце запятую добавить ammo_5.56x45_ss190, ammo_5.56x45_ap, Теперь принесенный Шустрым ГРОМ будет стрелять патронами 5,45 мм и патронами 5,56 мм, что довольно удобно. Однако не стоит забыват, что при модификации меняются некоторые свойства оружия на свои, заложенные изначально, поэтому может получиться не приятная ситуция — после модификации оружие стало хуже, а имено оно поменяло свои свойства на свойства модификации изменив заложенные изначально, хотя они и были лучше. Это прежде всего касается увеличение точности и уменьшение отдачи и увеличению надежности. Увеличение темпа огня просто добавляет к имеющейся определенную цифру
Для игроков ТЕНИ ЧЕРНОБЫЛЯ этот вариант не подходит — свойства уникальных вариантов храняться в недоступных архивах и корректироваться не могут.
Разумеется, что какое бы не было мощное оружие без боеприпасов оно ни чего из себя не представлет, поэтому будет не безполезным покопаться в файле weapons.ltx, храняящемся там же, где и описание оружия. Иногда этот файл может иметь другое имя (ammo.ltx, или еще как то), но в любом случае содержимое файла довольно легко узнаваемое — в нем довольно большой перечень используемых в игре патронов и описания их свойств.
Наиболее важными являются следующие параметры боеприпасов:
visual = weaponsammoammo_556x45_ss190.ogf — модель коробки с патронами
description = enc_weapons1_ammo_ammo-5.56×45-ss190 — ссылка на string_id, из которого игра подгружает описание этого типа патронов
cost = 320 — базовая стоимость одной коробки
box_size = 30 — количество патронов в одной коробке, увеличив этот параметр автоматически увеличивается количество не только продаваемых боеприпасов, но и трофейных, найденых у трупов. Для ЗОВ ПРИПЯТИ довольно полезно подкорректировать количество патронов для гауус пушки, которые делает Кардан — по 6 штук за одну покупку… Ну не хватит ни каких ног бегать за ними, а они еще и не совсем дешовые. Строчки для патронов Кардана написаны чуть ниже свойств самих патронов.
inv_name = ammo-5.56×45-ss190 — ссылка на string_id, содержащий имя для инвентаря
inv_name_short = ammo-5.56×45-ss190_s — ссылка на string_id, содержащий краткое имя для инвентаря
inv_weight = 0.33 — вес
inv_grid_width = 2 — координаты первого угла иконки по x
inv_grid_height = 1 — координаты первого угла иконки по y
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 — пробивная способность пули, как правило меньше единицы, например 0.5 или 0.75, у гаусспушки в некоторых модаж стояло 500
impair = 1 — коэффициент износа ствола от пули
buck_shot = 1 — кол-во составляющих в пуле, например дрорбь — 15, картечь — 4, пуля — 1. В одном моде на гранотомет стояло 100, после выстрела место куда попадало ЭТО было похоже на фейверк, причем наиболее крупными фрагметнами этого салюта были тела противника, поскольку строка k_impulse равнялоась тоже 100.
tracer = on — является ли патрон трассирующим (on/off)
wm_size = 0.05 — визуальный размер дырки на стене от пули, обычно на всех патрона одинаков. Однако для большей нагрядности патроны для ружей калибра 12 мм лучше подправить на 0.12, для 9-ти мм соответсвенно на 0.09.
Далеко не всегда нравится ассортимент и закупочно-продажняя стоимость торговцев. Для редактирования свойств торговцев следует обратиться с файлу gamedataconfigsmisctrade_***.ltx для всех остальных сталкеров — gamedataconfigsmisctrade_generic.ltx Вместо *** стоит кто именно это есть, например бармен — barman.
Структура файла Секция
Эта секция описывает какие товары торговец будет покупать. Название предмета = минимальная цена покупки, максимальная цена покупки
Например:
wpn_vintorez = 0.5, 0.7 Это значит что торговец купит оружие от 50% полной его стоимости до 70%, т.е. если Винторез стоит 1000, то торговец купит его в диапазоне от 500 до 700 рублей. Диапазон зависит от отношения торговца к Меченому — чем лучше, тем дороже купит
Секция Эта секция описывает какие товары у торговца будут вначале. Название предмета = количество, вероятность появления, например:
bandage = 5, 1 Это значит что у торговеца всегда будут 5 бинтов, с 100 процентной вероятностью появления в магазине. bandage = 5, 0.6 А тут уже вероятность появления 60%. Т.е. бинты не всегда будут.
Секция Тоже самое, что в секции , но после выполнения квестов торговца.
Секция Эта секция описывает за какую цену торговец будет продавать. Название предмета = минимальная цена продажи, максимальная цена продажи, например: wpn_vintorez = 1, 2 Это значит что торговец продаст оружие от 100% полной его стоимости до 200%, т.е. если Винторез стоит 1000, то торговец продаст его в диапазоне от 1000 до 2000 рублей. Диапазон зависит от отношения торговца к Меченому — чем лучше, тем дешевле продаст
Секция Тоже самое, что в секции , но после выполнения квестов торговца. деньги торговцев правятся в character_desc_название локации.xml, например, в character_desc_escape.xml такая строка: (если infinitive=»1″ — бесконечные деньги)
Ну поскольку Сталкер по зоне бегает не голиком, а всеж одетым, значит есть свойства и у одежды, а именно бронекостюмы. Описания бронекостюмов обычно храняться здесь: gamedataconfigmiscoutfit.ltx
Рассмотрим, например, параметры классического костюма сталкера. :
outfit_base ; название секции костюма. именно к нему игра будет обращаться.
outfit_base — базовая (наследуемая) секция (изменять строго не рекомендуется).
visual = equipmentsstalker_suit ; модель, используемая для сложенного костюма, лежащего на земле.
actor_visual = actorsherostalker_hood.ogf ; модель, используемая для игрока, когда на нем надет костюм.
inv_name = stalker_outfit_name ; название в инвентаре.
inv_name_short = stalker_outfit_name ; название в инвентаре (в принципе, можно здесь продублировать значение предыдущего параметра — так чаще всего и делают).
description = stalker_outfit_description ; ссылка на текстовую строку с описанием.
inv_weight = 5.0 ; вес самого костюма;
далее идут параметры иконки в инвентаре.
inv_grid_width = 2 inv_grid_height = 3 inv_grid_x = 6 inv_grid_y = 15 full_icon_name = npc_icon_stalker_outfit ; название иконки.
cost = 15000 ; базовая цена.
full_scale_icon = 14,11 ; иконка сталкера в костюме в полный рост (отображается в инвентаре справа).
nightvision_sect = effector_nightvision_bad ; тип ПНВ («плохой» — зеленый, «хороший» — синий). ;
ниже идут параметры защиты владельца от различных типов воздействий, обеспечиваемые костюмом.
burn_protection = 0.5 ; защита от воздействия огня (костры, аномалия «Жарка» и т.д.).
strike_protection = 0.5 ; защита от ударов (наносятся мутантами, например, псевдогигантом).
shock_protection = 0.5 ; защита от поражения электричеством.
wound_protection = 0.4 ; защита от ранений (наносятся мутантами, например, собаками, кровососами и т.д.).
radiation_protection = 0.5 ; защита от радиации.
telepatic_protection = 0.0 ; защита от пси-воздействия (например, присутствие контроллера серьезно влияет на psy_health).
chemical_burn_protection = 0.5 ; защита от химического воздействия.
explosion_protection = 0.3 ; защита от взрывов/осколков.
fire_wound_protection = 0.3 ; защита от огнестрельного оружия (наиболее важный параметр для большинства костюмов).
power_loss = 0.87 bones_koeff_protection = gilet_antigas_damage ;
коэффициенты иммунитета самого костюма, то есть — то, насколько сильно он сам подвержен повреждениям от различных типов воздействий. по значениям каждого типа — см. выше.
burn_immunity = 0.03
strike_immunity = 0.01
shock_immunity = 0.03
wound_immunity = 0.015
radiation_immunity = 0.00
telepatic_immunity = 0.00
chemical_burn_immunity = 0.03
explosion_immunity = 0.03
fire_wound_immunity = 0.01
Можно конечно навертеть себе одежду не пробиваемую, однако такая же появится и у противников, поэтому все, что можно тут исправить, так это свойства самого костюма, чтобы он во время боя и прочих злоключений сам не сильно трепался, можно подкорректировать свою защиту от пси излучения и от радиации. Пулестойкость и взрывозащиту луше не менять — даже с супер оружия пробить супер защиту довольно сложно и теряется смысл увеличения мощи оружия.
Есть еще одна вещь, измение которой может координально изменить судьбу вашего сталкера. Это артифакты, поскольку их можно продавать и они имеют довольно большой список как полезных, так и вредных свойств. Файл с описанием свойств артифактов хранится обычно gamedataconfigsmisc и иментуется artefacts.ltx. После названия артифакта, которое перевести не трудно — МЕДУЗА — medusа, ОГНЕНЫЙ ШАР — fairboll и т.д.
Наиболее интересными являются следущие строки в описании каждого артифакта:
inv_weight = 0.5 вес самого артифакта
cost = 15000 базовая стоимость артифакта
health_restore_speed = 0 остановка кровотечения
radiation_restore_speed = 0.001 если положительное значение — радиактивен, если отрицательное — поглощает радиацию.
satiety_restore_speed = 0 насыщение, правда все равно сталкер кушать просит
power_restore_speed = 0 востановление сил, выносливость
bleeding_restore_speed = 0
additional_inventory_weight = 20 увеличение переносимо груза, правда работает только в ЗОВ ПРИПЯТИ и его модах
burn_immunity = 0 ожог от пламени
strike_immunity = 0 удар физический, например от топтуна
shock_immunity = 0 защита от электричества
wound_immunity = 0 скорость заживления ран
radiation_immunity = 0 защита от радиации
telepatic_immunity = 0.5 защита от телепатии, т.е. от контроллеров
chemical_burn_immunity = 0 защита от химических ожогов
explosion_immunity = 0 защита от взрыва
fire_wound_immunity = 0.5 защита от пуль
Две последние строчки в ЗОВ ПРИПЯТИ не выводятся в информационное окно, но во время игры просчитываются, т.е. если установлено значение 0.5, то это означает защиту на 50% от пуль или взрыва, хотя ни где это не будет показываться в описании артифакта и имея два таких артифакта с 50% пулестойкости получаем не пробиваемого сталкера. И еще есть особенность — в СТАЛКЕРЕ ТЕНИ ЧЕРНОБЫЛЯ нулевая защита прописана как 1, а для 100% защиты параметр должен быть равен 0. В СТАКЕРЕ ЗОВ ПРИПЯТИ наоброт, если параметр прописать 1, то это 100 % защиты, а если прописано в свойствах 0, то и толку от этой защиты ноль.
Как правильно апгрейдить оружие в «Сталкере»?
Важный вопрос для всех сталкероманов — как правильно улучшать характеристики, какие параметры оружия следует апгрейдить в первую очередь? Однозначного решения нет, всё зависит от вида вооружения и этапе прохождения игры. Важно понимать: правильное улучшение — залог успеха нашего выживания в зоне.
На начальных этапах выгоднее всего начинать улучшение с повышения надёжности ствола. Если это возможно, то стоит также уменьшать вес оружия. Такие апгрейды позволят нам экономить деньги на первых локациях при ремонтах, а также брать больше хабара для продажи торговцам. В итоге наш капитал будет существенно и быстро расти.
На более поздних этапах игры улучшение оружия зависит от его типа. Поэтому мы рассмотрим порядок улучшений в соответствии с четырьмя основными видами вооружения в «Сталкере», не считая редко используемых в условиях игры гранатомётов и гаусс-пушки.
Для пистолетов обязательно апгрейдим величину магазина, точность и скорострельность. Для прицельной стрельбы на ближних и средних дистанциях точность и скорострельность имеют важное значение, иначе наша пистолетная стрельба будет малоэффективна.
Для дробовиков такие параметры как настильность и удобность совершенно не нужны, их оставляем сразу. Тем более для дроби не нужна точность, ведь дробовик как раз нужен нам из-за его огромного разлёта дроби при выстреле, чтобы уверенно поражать группы целей. Поэтому в дробовиках улучшаем ёмкость магазина, отдачу и скорострельность. Скорострельность особо важна, потому что у дробовиков она низкая.
Для автоматов апгрейдим отдачу — особенно это актуально для АК с их конской отдачей. Также стоит уделить внимание точности, если планируем пользоваться оптическим прицелом для поражения дальних целей, то можем немного улучшить настильность. Для автоматов наш приоритет в апгрейдах — это отдача и точность. Скорострельность у них обычно отличная по умолчанию.
Для снайперских винтовок приоритетом в апгрейдах будут настильность и точность, это важные параметры для стрельбы на большом расстоянии. Если винтовка стреляет одиночными выстрелами, то отдачу можно вообще не улучшать. Для автоматической стрельбы очередями нужно поработать и над уменьшением отдачи. Также очень поможет улучшение темпа стрельбы, ведь снайперки обычно стреляют медленно.
Материал из Mod Wiki.
Перейти к: навигация, поиск
Содержание
- 1 Общие положения
- 2 Разбор структуры конфига
- 2.1 Первый раздел
- 2.2 Второй раздел
- 2.3 Третий раздел
- 2.4 Четвертый раздел
- 2.5 Пятый раздел
- 2.6 Шестой раздел
- 2.7 Седьмой раздел
- 3 Изменение описаний
- 4 Изменение патронов
- 5 Авторы
Общие положения
Сегодня мы разберем то, каким образом можно редактировать оружие в игре — от характеристик до описания.
Характеристики оружия хранятся здесь:
…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 — подтип, к которому принадлежит оружие
- sprint_allowed = true — возможность спринта с этим оружием(false-выкл, true-вкл)
Второй раздел
Содержит модификаторы, которые даются к углу зрения/дальности обзора 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 — координаты первого угла иконки по x
- inv_grid_height = 2 — координаты первого угла иконки по y
- 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 — увеличение износа при каждом выстреле
Пятый раздел
Здесь хранится множество параметров, из которых наиболее интересны эти:
- 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 = weaponsg36wpn_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 = 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 — точка выстрела (2)
- fire_bone = wpn_body
- orientation = 0, 0, 0 — направление
- position = 0, 0, 0 — позиция
- visual = weaponsg36wpn_g36_hud.ogf — модель, отображаемая у нас в руках
Изменение описаний
Описания оружия хранятся в файле:
…S.T.A.L.K.E.Rgamedataconfigtextrusstring_table_enc_weapons.xml
В нем хранятся строки с названиями и описаниями, на которые ссылаются конфиги оружия. Например, тот же G36 ссылается сюда:
[...] <string id="enc_weapons1_wpn-g36"> <text>Штурмовая винтовка немецкого производства, представляющая собой первоклассный образец современного оружия - лёгкого, надёжного и эргономичного.n Боеприпасы:n обычный 5,56x45 мм SS109,n бронебойный 5,56x45 мм АР.</text> [...] <string id="wpn-g36"> <text>ГП37</text> [...]
Меняя их содержимое, мы меняем описания/названия данного оружия.
Изменение патронов
Параметры патронов хранятся в файле:
…S.T.A.L.K.E.Rgamedataconfigweaponsweapons.ltx
Найдем, например, раздел, отвечающий за патроны к тому же G36 (о них мы узнали из параметра ammo_class), и разберем, что означает каждый параметр:
- visual = weaponsammoammo_556x45_ss190.ogf — модель коробки с патронами
- description = enc_weapons1_ammo_ammo-5.56×45-ss190 — ссылка на string_id, из которого игра подгружает описание этого типа патронов
- cost = 320 — стоимость одной коробки
- box_size = 30 — количество патронов в одной коробке
- inv_name = ammo-5.56×45-ss190 — ссылка на string_id, содержащий имя для инвентаря
- inv_name_short = ammo-5.56×45-ss190_s — ссылка на string_id, содержащий краткое имя для инвентаря
- inv_weight = 0.33 — вес
- inv_grid_width = 2 — координаты первого угла иконки по x
- inv_grid_height = 1 — координаты первого угла иконки по y
- 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 — визуальный размер дырки на стене от пули
Авторы
Статья создана:
- BAC9-FLCL





