Изменение оружия в сталкере зов припяти. Редактирование оружия. Разбор структуры конфига

Характеристики оружия лежат в файлах.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.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 - можно прикрепить

После изменения конфигурации оружия необходимо перезагрузить игру (обязательно)

После редактирования оружия его надо найти, для этого есть мод с спавн меню, где можно добавить любое оружие, смотрим на этой странице

Ответ от NeKeT[активный]
не нужен Сегодня мы разберем то, каким образом можно редактировать оружие в игре - от характеристик до описания. Характеристики оружия хранятся здесь: ...\\S.T.A.L.K.E.R\\gamedata\\config\\weapons\\w_[...].ltx Разбор структуры конфига Возьмем, для примера, конфиг w_g36.ltx. Он делится на разделы: Первый раздел Здесь хранится общая информация о оружии - его класс, тип, ссылки на спавн и т. д. Нас интересуют следующие строки: description = enc_weapons1_wpn-g36 - ссылка на string_id, из которого игра подгружает описание этого оружия. ef_main_weapon_type = 2 - основной тип, к которому принадлежит оружие ef_weapon_type = 6 - подтип, к которому принадлежит оружие Второй раздел Содержит модификаторы, которые даются к углу зрения/дальности обзора 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 - направление, в которое смотрит ствол (?)



Что еще почитать