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

Обновлено: 04.07.2024

Как поднять камеру
В файле S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\creatures\actor.ltx найти переменную camera_height_factor и увеличить примерно до 0.95 (это нормальный рост глаза-в-глаза)

Как изменить силу оружия
В папке S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\weapons\ лежат файлы конфигурации – открываешь необходимый тебе и находишь hit_power – изменяешь как тебе заблагорассудится.

Как изменить носимый вес
В файле S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\creatures\actor.ltx находим переменную max_item_mass – это максимальный вес при достижении которго игрок перестает двигаться
В файле S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\ system.ltx изменяем переменную max_weight – это вес который игрок несет не напрягаясь.

Как сделать невидимые аномалии
В папке S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\misc\ находим файл отвечающий за интересующую нас аномалию (например грави - zone_gravi.ltx) в файле находим строку idle_particles = anomaly2\gravity_idle и коментим ее символами «--« - все визуально ничего нет. Что бы отключить еще и звуковое оповещение (а так имхо намного интереснее) находим строку visible_by_detector и меняем значение on на off

Как сделать что бы еда не лечила
Находим в файле S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\misc\items.ltx нужный нам хавчик – например Kolbasa под ним переменную eat_health значение которой меняем на 0

Как изменить силу врагов
В файле S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\creatures\actor.ltx найти строки
hit_probability_gd_novice = 0.20
hit_probability_gd_stalker = 0.30
hit_probability_gd_veteran = 0.40
hit_probability_gd_master = 0.50
они отвечают за вероятность попадания по вам при разных уровнях сложности. Повышаете значение до единицы и наслаждаетесь хардкором.

health_restore_speed скорость восстановления здоровья 0.0001 = +100%
radiation_restore_speed скорость накопления радиации 0.0004 = 4 если поставить отрицательное число будет ускорять выведение радиации

иммунитеты например 0.7 = +30% 0.2 = +80% больше единицы пойдет наоборот в минус 1.3 это -30%

strike_immunity - удар
shock_immunity - электрошок
chemical_burn_immunity - химический ожог
telepatic_immunity - телепатия
radiation_immunity - радиация
wound_immunity - разрыв
explosion_immunity - взрыв
fire_wound_immunity - огнестрел

Уменьшить время спринта
cant_sprint_power_begin = 0.20 ;порог силы меньше которого актер не может бежать в спринте
cant_sprint_power_end = 0.30 ;порог силы больше которого актер сможет бежать в спринте

Система областей поражения. Для свиньи она расположена в секции [m_Boar_damage]. Изначально:
bip01_pelvis = 1, -1, 0.3
bip01_spine = 1, -1, 0.3
bip01_spine1 = 1, -1, 0.3
bip01_neck = 1, -1, 1.5
bip01_head = 2, -1, 0.3, 10
таз - 2 спины - шея - голова. параметр 10 возможно крит

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

Возьмем, для примера, конфиг 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_disp_base = 3.0 - множитель, на который умножается базовая дисперсия оружия, когда ГГ (Главный Герой) стоит на месте в полный рост;
  • PDDM_disp_vel_factor = 1.3 - множитель, на который умножается базовая дисперсия оружия, когда ГГ крутит оружием или бежит;
  • PDM_disp_accel_factor = 1.3 - множитель, на который умножается базовая дисперсия оружия, когда ГГ бежит в спринте;
  • PDM_crouch = 1.0 - множитель, на который умножается базовая дисперсия оружия, когда ГГ идет пригнувшись;
  • PDM_crouch_no_acc = 1.0 - множитель, на который умножается базовая дисперсия оружия, когда ГГ стоит на месте, пригнувшись;
  • hit_power = 0.50, 0.54, 0.57, 0.60 - сила выстрела, зависит от ранга: новичок, опытный, ветеран и мастер соответственно.
  • hit_impulse = 105 - импульс пули (сила, которую летящая пуля передает жертве, влияет на поведение ragdoll-тела. Чем больше поставишь, тем дальше улетит. Если сделать большое отрицательное значение, то жертвы будут прилетать к ГГ)
  • hit_type = fire_wound - тип причиняемых повреждений, в данном случае - пулевые ранения (параметр в синглплеере ни на что не влияет)
  • fire_distance = 600 - максимальная дистанция полета пули, затем она падает на землю и исчезает. Логично прописать значение эффективного огня(пистолеты-пулеметы 50-200м, пистолеты 50м, дробовики 30м и нож полметра), но не имеет смысла устанавливать значение больше радиуса алайфа: ведь за его пределами никого нет.)
  • bullet_speed = 925 - начальная скорость пули
  • rpm = 600 - скорострельность выстрел/минута
  • hud = wpn_g36_hud - внешний вид оружия от 1-ого лица

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

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

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

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

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

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

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

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

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

    Подробный разбор файла actor.ltx

    max_item_mass = 999 ; Стоит указывать значения меньше параметра max_walk_weight (см.выше).
    jump_speed = 60 ; Высота прыжка. Не указывайте астрономические значения. Гл. герой всё равно не улетит в космос ))
    crouch_coef = 1 ; Скорость ползагия "очень сидя" (Ctrl + Shift по умолчанию)
    climb_coef = 2 ; Вроде присев (Ctrl)
    run_coef = 3 ; Обычный бег с параметром консоли "g_always_run" равным 1
    sprint_koef = 4 ; спринт
    run_back_coef = 3 ; бег назад
    walk_back_coef = 2 ; ходьба назад с клавишей Shift
    air_control_param = 1 ; контроль полёта. Выгоден при высоких значениях jump_speed, т.к. можно быстро перемещаться по карте
    walk_accel = 17 ; неизвестный параметр
    pickup_info_radius = 5 ;радиус, в котором над предметами выводятся их названия при нажатии клавиши "F".

    Далее параметры 3d и т.п. смотрим поэтому дальше.

    camera_height_factor = 0.85 ; определяет высоту взгляда. Увеличиваем и игрок станет зрительно выше

    disp_base = 0 ;угол (в градусах) разлета пуль, когда актер стоит на месте
    disp_aim = 0
    disp_vel_factor = 0 ;на сколько увеличится дисперсия при скорости в 10 м/с (не обязательно при беге)
    disp_accel_factor = 0 ;еще на сколько увеличится, если актер бежит (+ скорость)
    disp_crouch_factor = 0 ;уменьшение если актер сидит
    disp_crouch_no_acc_factor = 0 ;уменьшение если актер сидит + no acceleration

    Чтобы уменьшить размер прицела можно сделать так.

    Дальше увидим секцию [actor_immunities_gd_***] (вместо *** нужный ранг)

    Чтобы увеличить живучесть - меняем значение ниже.

    burn_immunity = 0.0
    strike_immunity = 0.0
    shock_immunity = 0.0
    wound_immunity = 0.0
    radiation_immunity = 0.0
    telepatic_immunity = 0.0
    chemical_burn_immunity = 0.0
    explosion_immunity = 0.0
    fire_wound_immunity = 0.0

    Дальше видим [actor_condition]

    И настройка в лучшую сторону будет таковой:

    satiety_v = 0 ;скорость уменьшения сытости со временем
    radiation_v = 1 ;скорость уменьшения радиации
    satiety_power_v = 1 ;увеличение силы при уменьшении сытости
    satiety_health_v = 1 ;увеличение здоровья при уменьшении сытости
    satiety_critical = 0 ;критическое значения сытости (в процентах от 0..1) когда здоровье начинает уменьшаться
    radiation_health_v = 0 ;уменьшение здоровья при воздействии радиации
    morale_v = 1 ;скорость восстановления морали
    psy_health_v = 1 ;скорость восстановления psy-здоровья
    alcohol_v = -1
    health_hit_part = 0 ;процент хита, уходящий на отнимание здоровья
    power_hit_part = 0 ;процент хита, уходящий на отнимание силы
    max_power_leak_speed = 0 ;накопление усталости (макс граница, до которой восстанавливается сила) в секунду игрового времени
    max_walk_weight = 1000 ; Вес, при котором игрок не может двигаться. Указать можно любое значение.

    bleeding_v = 0 ;потеря крови при номинальной ране в секунду
    wound_incarnation_v = 1 ;скорость заживления раны
    min_wound_size = 0 ;минимальный размер раны, после которого она считается зажившей

    min_wound_size,satiety_v,satiety_power,satiety_health,satiety_critical,alcohol_v можно было и не настраивать, если вам нужно бессмертие

    Будем настраивать выносливость.

    Назодим строку "jump_power"

    Меняем так, чтобы игрок никогда не уставал, разве что если нацепит на себя 5 огненных шаров ))

    jump_power = 0 ;умешьшение силы с прыжком без учета веса ноши
    jump_weight_power = 0 ;умешьшение силы с прыжком с учетом веса ноши, для максимального допустимого веса
    overweight_jump_k = 1 ;коэффициент влияние перегрузки прыжок с весом (умножается на jump_weight_power)

    stand_power = 0
    walk_power = 0 ;умешьшение силы за секнду во время ходьбы без учета веса ноши
    walk_weight_power = 0 ;умешьшение силы за секнду во время ходьбы с учетом веса ноши, для максимального допустимого веса
    overweight_walk_k = 1 ;коэффициент влияние перегрузки ноши (умножается на walk_weight_power)
    accel_k = 1;коэффициент на бег (умножается walk_power, walk_weight_power)
    sprint_k = 1 ;коэффициент на "sprint" бег (умножается walk_power, walk_weight_power)

    Значения с комментом "коофициент" и значениями более 1 (необязательно) рекомендую менять на 1.

    limping_health_begin = 0 ;порог здоровья меньше которого актер начинает хромать
    limping_health_end = 0;порог здоровья больше которого актер перестает хромать
    limping_power_begin = 0 ;порог силы меньше которого актер начинает хромать
    limping_power_end = 0 ;порог силы больше которого актер перестает хромать

    cant_walk_power_begin = 0 ;порог силы меньше которого актер не может двигаться
    cant_walk_power_end = 0 ;порог силы больше которого актер сможет двигаться

    cant_sprint_power_begin = 0 ;порог силы меньше которого актер не может бежать в спринте
    cant_sprint_power_end = 0 ;порог силы больше которого актер сможет бежать в спринте

    Дальше идут кости, работающие в 3d, и их тоже можно менять, чтобы уменьшить уязвимость, но пока их настройка не столь нужна. Я лишь скажу, что нужно настраивать 1 (первый) параметр. Чем меньше, тем лучше.

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

    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 - положение рук и оружия для мониторов 16x9
    • hands_orientation_16x9 = 3.649998,1.050001, -0.050000 - направление (ориентация) рук и оружия для мониторов 16x9
    • item_position = 0,0,0 - позиция оружия относительно рук
    • item_orientation = 0,0,0 - ориентация оружия относительно рук
    • aim_hud_offset_pos = -0.129000,0.017000,-0.001500 - смещение рук с оружием при прицеливании
    • aim_hud_offset_rot = -0.012500,0.040000,0.020000 - ориентация рук с оружием при прицеливании
    • aim_hud_offset_pos_16x9 = -0.129000,0.017000,-0.001500 - смещение рук с оружием при прицеливании для мониторов 16x9
    • aim_hud_offset_rot_16x9 = -0.012500,0.040000,0.020000 - ориентация рук с оружием при прицеливании для мониторов 16x9
    • gl_hud_offset_pos = 0,0,0 - смещение рук с оружием при прицеливании из подствольника
    • gl_hud_offset_rot = 0,0,0 - ориентация рук с оружием при прицеливании из подствольника
    • gl_hud_offset_pos_16x9 = 0,0,0 - смещение рук с оружием при прицеливании из подствольника для мониторов 16x9
    • gl_hud_offset_rot_16x9 = 0,0,0 - ориентация рук с оружием при прицеливании из подствольника для мониторов 16x9

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

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

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

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

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

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

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

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

    S.T.A.L.K.E.R.: Зов Припяти: Совет (редактирование оружия)

    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 - в ноги

    Редактирование оружия

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

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

    Читайте также: