Файлы > Модификации > Зов Припяти > Мануал по правке некоторых конфигов
Небольшая шпаргалка, которая поможет изменить баланс игры больше, чем это позволяют её настройки.
Конфигурационные файлы открываются обычным «Блокнотом». Необходимый для изменения параметр можно найти по его названию, когда файл, в котором они находятся, открыт «Блокнотом», (Правка/Найти далее).
Как изменить живучесть героя.
Параметры, отвечающие за потерю НР: satiety_critical = 0.0;критическое значения сытости (в процентах от 0..1) когда здоровье начианает уменьшаться radiation_health_v = 0.004;уменьшение здоровья при воздействии радиации health_hit_part = 1.0;процент хита, уходящий на отнимание здоровья power_hit_part = 0.1;процент хита, уходящий на отнимание силы bleeding_v = 0.002; 0.0005;потеря крови при номинальной ране в секунду Сделайте их равными 0.0 и вы бессмертны
——————————————————————————— Увеличьте эти параметры и гг станет менее уязвим: wound_incarnation_v = 0.0001; 0.003;скорость заживления раны min_wound_size = 0.0256;минимальный размер раны, после которого она считается зажившей psy_health_v = 0.001;скорость восстановления psy-здоровья ———————————————————————————
satiety_v = 0.00015;скорость уменьшения сытости со временем radiation_v = 0.00001;скорость уменьшения радиации satiety_power_v = 0.00055;увеличение силы при уменьшении сытости satiety_health_v = 0.00001;увеличение здоровья при уменьшении сытости satiety_critical = 0.00000;критическое значения сытости (в процентах от 0..1) когда здоровье начианает уменьшаться
Смена длительности дня и ночи:
За это отвечает строка #time_factor = 10; 1; ;396.0;
Время и дата старта игры:
Период автосохранения:
Радиус загрузки локации
Рассмотрим некоторые параметры.
Гранаты:
Примечание: изменения вступят в силу после начала новой игры.
*Файлы xml так же открываются «Блокнотом».
Статья по материалам от: Empro,Хемуль,BAC9-FLCL и других неустановленных авторов. Если вы узнали свой материал, сообщите авторство.
подскажите у кого спросить: как поправить мини карту, поменять цвета точек друзей, врагов, нейтралов и трупов? настроить под дальтоника
откройте файл gamedata\configs\creatures\actor.ltx, найдите там строку max_walk_weight =60, это максимальный вес(60кг), в файле gamedata\configs\system.ltx найдите строку max_weight = 50 (если несёте больше этого веса, то быстро расходуется сила), поменяйте эти значения на желаемые.
Как сделать главного героя бессмертным, бесконечно выносливым?
Параметры, отвечающие за потерю НР находятся в файле gamedata\configs\creatures\actor.ltx, эти строки: . satiety_critical = 0.0 ;критическое значения сытости (в процентах от 0..1) когда здоровье начианает уменьшаться radiation_health_v = 0.004 ;уменьшение здоровья при воздействии радиации health_hit_part = 1.0 ;процент хита, уходящий на отнимание здоровья power_hit_part = 0.1 ;процент хита, уходящий на отнимание силы bleeding_v = 0.002 ;0.0005 ;потеря крови при номинальной ране в секунду . сделайте их равными 0.0 и вы бессмертны . wound_incarnation_v = 0.0001 ;0.003 ;скорость заживления раны min_wound_size = 0.0256 ;минимальный размер раны, после которого она считается зажившей psy_health_v = 0.001 ;скорость восстановления psy-здоровья . увеличьте эти параметры в несколько раз для бесконечной выносливости обнулите эти параметры: walk_power = 0.00001 ;умешьшение силы за секнду во время ходьбы без учета веса ноши walk_weight_power = 0.00005; ;умешьшение силы за секнду во время ходьбы с учетом веса ноши, для максимального допустимого веса для увеличения высоты прыжка, измените этот параметр: jump_speed = 6
Параметры стволов заданы в конфигурационных файлах по адресу gamedata\configs\weapons Возьмем, для примера, конфиг w_g36.ltx. Он делится на разделы:
Как изменить параметры конкретного боеприпаса?
Как заставить фонарик светить дальше?
Как редактировать торговцев, торговлю с обычными сталкерами?
Секция [supplies_start] Эта секция описывает какие товары у торговца будут вначале. Название предмета = количество, вероятность появления Например: bandage = 5, 1Это значит что у торговеца всегда будут 5 бинтов, с 100 процентной вероятностью появления в магазине. bandage = 5, 0.6 А тут уже вероятность появления 60%. Т.е. бинты не всегда будут.
Секция [supplies_after_***] Тоже самое, что в секции [supplies_start], но после выполнения квестов торговца.
Секция [trader_after_***_sell] Тоже самое, что в секции [trader_start_sell], но после выполнения квестов торговца.
Изменить эти строки в файле gamedata\scripts\sr_no_weapon.script
function action_no_weapon:zone_enter() self.state = state_inside bind_stalker.restore_weapon(self.object:id()) end function action_no_weapon:zone_leave() self.state = state_outside bind_stalker.restore_weapon(self.object:id()) end
Как сделать вид от третьего лица?
В конце файла C:\Documents and Settings\All Users\Documents\STALKER-STCS\user.ltx (путь к папке STALKER-STCS может быть другим) добавить эти строки: bind cam_1 kF1 bind cam_2 kF2 bind cam_3 kF3 bind cam_4 kF4
Как редактировать гранаты?
Конфиги лежат по адресу gamedata\configs\weapons в файлах w_f1.ltx для Ф1 и w_rgd5.ltx для РГД-5; важные параметры: destroy_time = 1800 ; Время детонации 1.8 секунды blast = 3.0 ; Урон наносимый фугасным воздействием blast_r = 8 ; радиус фугасного воздействия blast_impulse = 550 ; Сила удара от фугаса frags = 300 ; Количество осколков frags_r = 25 ; Радиус разлета осколков frag_hit = 3.50; Урон от осколка frag_hit_impulse = 300 ; Сила удара от осколков fragment_speed = 500 ; Скорость осколков
Как реализовать качание прицела?
Конфиги, отвечающие за эту особенность, в файле gamedata\configs\misc\effectors.ltx: [zoom_inertion_effector] camera_move_epsilon = 0.03 ;разница между двумя векторами направления камера, когда считается что камера двинулась disp_min = 0.01 speed_min = 0.00001 zoom_aim_disp_k = 1.0 ;коэффициенты соотношения полной дисперсии стрельбы zoom_aim_speed_k = 0.0025 ;и покачивания прицела delta_time = 3000 ;время через которое эффектор меняет направление движения (в милисекундах)
Как отключить вспышку выстрела у винтореза, вала, ПБ?
Теперь после выстрела появляется легкая дымка, как при стрельбе с обычным глушителем, для этого в файлах gamedata\configs\weapons\w_vintorez.ltx, gamedata\configs\weapons\w_val.ltx, gamedata\configs\weapons\w_pb.ltx изменить параметр flame_particles = weapons\generic_shoot_00
Как сделать, чтобы у главного героя было много денег?
Как «изменить» рост главного героя?
В файле gamedata\configs\creatures\actor.ltx поменять параметр camera_height_factor = 0.92
Где лежат конфиги сталкеров и существ Зоны?
В файлах gamedatabig\configs\creatures\m_название объекта.ltx
Дата: Воскресенье, 31.05.2009, 09:52 | Сообщение # 1
——————————————————————————— Как увеличить максимальный переносимый вес? ——————————————————————————— откройте файл gamedata\configs\creatures\actor.ltx, найдите там строку max_walk_weight =60, это максимальный вес(60кг), в файле gamedata\configs\system.ltx найдите строку max_weight = 50 (если несёте больше этого веса, то быстро расходуется сила), поменяйте эти значения на желаемые.
——————————————————————————— Как сделать главного героя бессмертным, бесконечно выносливым? ——————————————————————————— Параметры, отвечающие за потерю НР находятся в файле gamedata\configs\creatures\actor.ltx, эти строки: . satiety_critical = 0.0 ;критическое значения сытости (в процентах от 0..1) когда здоровье начианает уменьшаться radiation_health_v = 0.004 ;уменьшение здоровья при воздействии радиации health_hit_part = 1.0 ;процент хита, уходящий на отнимание здоровья power_hit_part = 0.1 ;процент хита, уходящий на отнимание силы bleeding_v = 0.002 ;0.0005 ;потеря крови при номинальной ране в секунду . сделайте их равными 0.0 и вы бессмертны . wound_incarnation_v = 0.0001 ;0.003 ;скорость заживления раны min_wound_size = 0.0256 ;минимальный размер раны, после которого она считается зажившей psy_health_v = 0.001 ;скорость восстановления psy-здоровья . увеличьте эти параметры в несколько раз для бесконечной выносливости обнулите эти параметры: walk_power = 0.00001 ;умешьшение силы за секнду во время ходьбы без учета веса ноши walk_weight_power = 0.00005; ;умешьшение силы за секнду во время ходьбы с учетом веса ноши, для максимального допустимого веса для увеличения высоты прыжка, измените этот параметр: jump_speed = 6
——————————————————————————— Как изменить длину палочки прицела? ——————————————————————————— в gamedata\configs\system.ltx отредактировать эти строки: [hud_cursor] ;все размерv в процентах от длинv экрана cross_length = 0.015 ;длина «палочки» прицела min_radius = 0.0 ;минимальнvй радиус прицела (при нулевой дисперсии) max_radius = 1.0 ;максимальнvй радиус radius_lerp_speed = 0.08 ;скорость интерполљции положений прицела cross_color = 0.7,0.7,0.7,0.5 ;цвет прицела disp_scale = 0.08 ;масштаб прицела (относительно радиан)
Секция [supplies_start] Эта секция описывает какие товары у торговца будут вначале. Название предмета = количество, вероятность появления Например: bandage = 5, 1Это значит что у торговеца всегда будут 5 бинтов, с 100 процентной вероятностью появления в магазине. bandage = 5, 0.6 А тут уже вероятность появления 60%. Т.е. бинты не всегда будут.
Секция [supplies_after_***] Тоже самое, что в секции [supplies_start], но после выполнения квестов торговца.
Секция [trader_after_***_sell] Тоже самое, что в секции [trader_start_sell], но после выполнения квестов торговца.
function action_no_weapon:zone_enter() self.state = state_inside bind_stalker.restore_weapon(self.object:id()) end function action_no_weapon:zone_leave() self.state = state_outside bind_stalker.restore_weapon(self.object:id()) end
——————————————————————————— Как редактировать гранаты? ——————————————————————————— Конфиги лежат по адресу gamedata\configs\weapons в файлах w_f1.ltx для Ф1 и w_rgd5.ltx для РГД-5; важные параметры: destroy_time = 1800 ; Время детонации 1.8 секунды blast = 3.0 ; Урон наносимый фугасным воздействием blast_r = 8 ; радиус фугасного воздействия blast_impulse = 550 ; Сила удара от фугаса frags = 300 ; Количество осколков frags_r = 25 ; Радиус разлета осколков frag_hit = 3.50; Урон от осколка frag_hit_impulse = 300 ; Сила удара от осколков fragment_speed = 500 ; Скорость осколков
——————————————————————————— Как реализовать качание прицела? ——————————————————————————— Конфиги, отвечающие за эту особенность, в файле gamedata\configs\misc\effectors.ltx: [zoom_inertion_effector] camera_move_epsilon = 0.03 ;разница между двумя векторами направления камера, когда считается что камера двинулась disp_min = 0.01 speed_min = 0.00001 zoom_aim_disp_k = 1.0 ;коэффициенты соотношения полной дисперсии стрельбы zoom_aim_speed_k = 0.0025 ;и покачивания прицела delta_time = 3000 ;время через которое эффектор меняет направление движения (в милисекундах)
——————————————————————————— Как отключить вспышку выстрела у винтореза, вала, ПБ? ——————————————————————————— Теперь после выстрела появляется легкая дымка, как при стрельбе с обычным глушителем, для этого в файлах gamedata\configs\weapons\w_vintorez.ltx, gamedata\configs\weapons\w_val.ltx, gamedata\configs\weapons\w_pb.ltx изменить параметр flame_particles = weapons\generic_shoot_00
——————————————————————————— Где лежат конфиги артефактов? ——————————————————————————— Все артефакты описаны в файле gamedatabig\configs\misc\artefacts.ltx
Волк0325
Дата: Воскресенье, 17.11.2013, 18:32 | Сообщение # 2
грамотно описал изменение но бессмертие выглядит вот так для тени чернобыля: [actor_terrain] 255,255,000,255
; visibility parameters DynamicObjectsCount = 32 min_view_distance = 1.0 ; коэффициент, который множится на eye_range, в зависимости от угла max_view_distance = 1.0 ; коэффициент, который множится на eye_range, в зависимости от угла visibility_threshold = 1.0 ; значение, при достижении суммой которого объект считается видимым always_visible_distance = 1.0 time_quant = 0.005 decrease_value = 0.1 ; значение, на которое уменьшается вес, если объект попал в фрустум, но отсёкся по каким-то причинам velocity_factor = 0.5 luminocity_factor = 0.5;0 ; фактор освещения (только для Актёра) transparency_threshold = 0.4 ; 0.25 still_visible_time = 5000 ; время, которое объект всё ещё считается видимым, даже если он уже не во фрустуме
bleeding_v = 0.0 ;потеря крови при номинальной ране в секунду wound_incarnation_v = 9999.99999999 ;скорость заживления раны min_wound_size = 0.0256 ;минимальный размер раны, после которого она считается зажившей
jump_power = 0.0 ;0.0 ;умешьшение силы с прыжком без учета веса ноши jump_weight_power = 0.0 ;0.0 ;умешьшение силы с прыжком с учетом веса ноши, для максимального допустимого веса overweight_jump_k = 0;0 ;0 ;коэффициент влияние перегрузки прыжок с весом (умножается на jump_weight_power)
; хромота limping_health_begin = 0.0 ;порог здоровья меньше которого актер начинает хромать limping_health_end = 0.0 ;порог здоровья больше которого актер перестает хромать limping_power_begin = 0.0 ;порог силы меньше которого актер начинает хромать limping_power_end = 0.0 ;порог силы больше которого актер перестает хромать use_limping_state = on
cant_walk_power_begin = 0.0 ;порог силы меньше которого актер не может двигаться cant_walk_power_end = 0.0 ;порог силы больше которого актер сможет двигаться
cant_sprint_power_begin = 0.0 ;порог силы меньше которого актер не может бежать в спринте cant_sprint_power_end = 0.0 ;порог силы больше которого актер сможет бежать в спринте
Мне кажется многие задавались вопросом «Как же создать худ маски»? Немного пораздумав, я создал функцию, которая крепит текстуру к определенному костюму.
Опытным модмейкерам может показаться моя функция усложненной, но главное, что все работает и не вылетает! [править] Практика [править] Работа со скриптами
Первым делом в директории gamedata\scripts создайте файл с названием xr_mask.script
Открываем его пишем:
function hud_gas() local slot_stalker = db.actor:item_in_slot(6) local object_1 = db.actor:object(«stalker_outfit») local slot_killer = db.actor:item_in_slot(6) local object_2 = db.actor:object(«killer_outfit») if slot_stalker and slot_stalker:section() == «stalker_outfit» and object_1
= nil or slot_killer and slot_killer:section() == «killer_outfit» and object_2
= nil then local hud = get_hud() local custom_static = hud:GetCustomStatic(«hud_gas») if custom_static == nil then hud:AddCustomStatic(«hud_gas», true) end else local hud = get_hud() local custom_static = hud:GetCustomStatic(«hud_gas») if custom_static
= nil then hud:RemoveCustomStatic(«hud_gas», false) end end end
= nil or slot_killer and slot_killer:section() == «killer_outfit» and object_2
Теперь зайдем в bind_stalker.script, который находится в gamedata\scripts, найдем функцию: function actor_binder:update(delta) и после пишем: xr_mask.hud_gas() в итоге:
function actor_binder:update(delta) xr_mask.hud_gas() object_binder.update(self, delta) local time = time_global() game_stats.update (delta, self.object)
Итак, заходим в директорию gamedata\config\ui, находим файл с названием ui_custom_msgs, открываем его и в самом конце перед строкой: пишем:
— текстура маски. Посмотрите внимательно в скрипте мы указывали »’hud_gas»’
Теперь заходим в gamedata\textures\ui, находим файл с названием ui_mainmenu.dds. Копируем его, заходим в gamedata\textures\hud вставляем его и переминуем в hud_gas.dds Открываем программой Adobe Photoshop и рисуем подходящую для вас маску.
Конфиги, отвечающие за эту особенность, в файле gamedata\configs\misc\effectors.ltx: [zoom_inertion_effector] camera_move_epsilon = 0.03 ;разница между двумя векторами направления камера, когда считается что камера двинулась disp_min = 0.01 speed_min = 0.00001 zoom_aim_disp_k = 1.0 ;коэффициенты соотношения полной дисперсии стрельбы zoom_aim_speed_k = 0.0025 ;и покачивания прицела delta_time = 3000 ;время через которое эффектор меняет направление движения (в милисекундах)
у меня лично стоит так:
[zoom_inertion_effector] camera_move_epsilon = 0.03 ;разница между двумя векторами направления камера, когда считается что камера двинулась disp_min = 0.02 speed_min = 0.0001 zoom_aim_disp_k = 1.18 ;коэффициенты соотношения полной дисперсии стрельбы zoom_aim_speed_k = 0.0015 ;и покачивания прицела delta_time = 1350 ;время через которое эффектор меняет направление движения (в милисекундах)
Секция [supplies_start] Эта секция описывает какие товары у торговца будут вначале. Название предмета = количество, вероятность появления Например: bandage = 5, 1Это значит что у торговеца всегда будут 5 бинтов, с 100 процентной вероятностью появления в магазине. bandage = 5, 0.6 А тут уже вероятность появления 60%. Т.е. бинты не всегда будут.
Секция [supplies_after_***] Тоже самое, что в секции [supplies_start], но после выполнения квестов торговца.
Секция [trader_after_***_sell] Тоже самое, что в секции [trader_start_sell], но после выполнения квестов торговца.
Часть 1 Сложность: Легко Как сделать простой диалог. 1. Открываем, например файл dialogs_escape.xml (gamedata/config/gameplay) и пишем в конец:
Это скелет диалога. В нём будут написаны все инфопоршни и actions.
— это название диалога, которое нужно будет написать НПС.
2. Теперь нужно написать тексты диалога. Заходим в файл «stable_dialogs_bar.xml» (gamedata/config/text/rus) и пишем в конце:
Это тэстовый диалог
— это то, на что ссылается скелет диалога.
Это тэстовый диалог
. ВНИМАНИЕ. Все диалоги начинаются со слов Меченого.
3. Теперь нужно прописать этот диалог НПС. Например Бармену. Открываем файл «character_desc_bar.xml» и находим секцию Бармена. Она идёт самой первой. После всех . Прописываем свой: test_dialog
Часть 2 Сложность:Средне
Как создать диалог посложнее. Как создать диалог с разными вариантами ответов. Как создать диалог который исчезнет после прочтения.
1. Открываем, например файл dialogs_escape.xml (gamedata/config/gameplay) и пишем в конец:
2 и 3 это возможные ответы Меченого.
2. Теперь нужно написать тексты диалога. Заходим в файл «stable_dialogs_bar.xml» (gamedata/config/text/rus) и пишем в конце:
Нормально, а у тебя?
3.Чтобы этот диалог не появлялся, пишем инфопоршень. Например в файле info_l01escape.xml
4.Дописываем инфопоршень в скелет диалога:
Получается, что когда ГГ скажет любую из 2 фраз, диалог больше не появится.
Часть 3 Сложность:Сложно
-Как сделать разные action в диалогах.
1.Создаём обычный диалог:
2.Создаём свой скрипт в папке gamedata/script например test.script и пишем в него 3 функции:
Код function dat_dengi(first_speaker, second_speaker) dialogs.relocate_money(second_speaker, 3000, «in») end
Это функция отдачи денег ГГ. На месте 3000 любое число. На месте dat_dengi любое название. ————————————————————
Код function dat_item(first_speaker, second_speaker) dialogs.relocate_item_section(second_speaker, «wpn_pm», «in») end
Это функция отдачи предмета ГГ. На месте wpn_pm любой предмет. На месте dat_item любое название. ————————————————————
Код function spawn_item_or_monster_or_stalker() alife():create(«wpn_pm»,vector():set(pos),lvid,gvid) end
Это функция спавна чего либо. На месте wpn_pm любой предмет,монстр или сталкер. На месте (pos),lvid,gvid) любые координаты. На месте spawn_item_or_monster_or_stalker любое название. ———————————————————— Так же функция может быть одна, но с несколькими действиями. Например:
Код function all(first_speaker, second_speaker) dialogs.relocate_money(second_speaker, 3000, «in») dialogs.relocate_item_section(second_speaker, «wpn_pm», «in») alife():create(«wpn_pm»,vector():set(pos),lvid,gvid) end
Значит что одновременно ГГ дадут 3000 рублей, ПМ и по заданным координатам заспавнится ПМ. ————————————————————
3.Впишем функции в диалог:
Это значит что после после фразы
Это значит что после после фразы
Это значит что после после фразы
Часть 4 Сложность: Очень сложно
1.Создаём обычный диалог:
2.Создаём свой скрипт в папке gamedata/script например test.script и пишем в него 3
Код function has_money_. () local money = math.floor(200 *
xr_statistic_freeplay.get_freeplay_statistic():get_found_pda_discount()) return db.actor:money()>=money end
Это функция проверки количества денег ГГ. На месте 200 любое число. На месте has_money_. любое название. ————————————————————
Код function has_item(task, objective) if db.actor
= nil then return db.actor:object(«wpn_pm»)
= nil end return false end
Это функция проверки наличия какого либо предмета у ГГ. На месте wpn_pm любой предмет. На месте has_item любое название. ————————————————————
3.Впишем функции в диалог:
Это значит что фраза
появится если у ГГ есть 200рублей Это значит что фраза