Сталкер не работает actor

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

Настройка актёра. Написано by Rekongstor.
Старался описать каждую мелочь.
Немаловажно при тестировании модов и для читерских модов (иногда необходимо быстрей пройти тот или иной момент)

И изменим весь блок десятью строчками ниже так:

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 и его можно настроить на любое значение. Увеличивает радиус отображения названия предмета при нажатии «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 (первый) параметр. Чем меньше, тем лучше.

Источник

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

Настройка актёра. Написано by Rekongstor.

Путь к нужному файлу: /userdata/savedgames/user_quicksave.dds/user_quicksave.sav
Открываем в Notepad++ в верхнем меню нажимаем «Синтаксис» — «L» — «Lua»

И изменим весь блок десятью строчками ниже так:

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 (первый) параметр. Чем меньше, тем лучше.

Источник

Общие правки игровых файлов Сталкер

Наверняка каждый из игроков в Сталкер рано или поздно задумывался о том, как же увеличить высоту прыжка или переносимый вес. Наверняка были и те, кто хотел ещё более углубиться в дебри «читерства» и сделать своего ГГ бессмертным. Естественно, что заниматься «читерством» довольно нечестно и по отношению к себе, и по отношению к авторам модов, которые старались сделать своё детище максимально увлекательным. Однако, многие игроки в Сталкер, в особенности новички, сталкиваются с различными проблемами, которые легче всего решить правками игровых файлов. Вспомнить хотя бы мод «Закоулки Правды», где построить пирамиду из грави-пушки, предложенной разработчиками, для того, чтобы достать третий тайник в Мёртвом Городе, оказывалось не под силу даже ветеранам игры в Сталкер. Приходилось лезть в конфиги, править высоту прыжка, потом ставить всё обратно. А если игрок впервые сталкивается с такими трудностями и совершенно ничего не знает о правках игровых файлов? Именно для растолкования того, как же править файлы игры Сталкер, и создана эта тема. Также рекомендую обратить внимание на тему Модостроение — создаем моды на Сталкер, в которой обсуждаются более глубокие вопросы модостроения.
Обратите внимание:
— В некоторых модах невозможно изменить их файлы, так как они используют систему «античит», которая скрывает важнейшие файлы для редактирования. Примером таких модов является серия «Гладиатор».
— Также, в некоторых модах игровые файлы запакованы в архивы, которые лучше не трогать, так как процесс их редактирования очень сложен. Примером таких модов является «Упавшая звезда. Честь Наёмника». (Устаревшая информация)

  • Дегтярёв

Мне кажется многие задавались вопросом «Как же создать худ маски»? Немного пораздумав, я создал функцию, которая крепит текстуру к определенному костюму.

Опытным модмейкерам может показаться моя функция усложненной, но главное, что все работает и не вылетает!
[править] Практика
[править] Работа со скриптами

Первым делом в директории 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

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

Теперь зайдем в 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)

[править] Работа с XML — описателем

Итак, заходим в директорию 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 ;время через которое эффектор меняет направление движения (в милисекундах)

все настройки, связанные с ассортиментом торговцев в игре, находятся в файлах gamedata\configs\misc\trade_***.ltx
для всех остальных сталкеров — gamedata\configs\misc\trade_generic.ltx
Структура файла
Секция [trader_generic_buy]
Эта секция описывает какие товары торговец будет покупать.
Название предмета = минимальная цена покупки, максимальная цена покупки
Например:
wpn_vintorez = 0.5, 0.7Это значит что торговец купит оружие от 50% полной его стоимости до 70%, т.е. если Винторез стоит 1000, то торговец купит его в диапазоне от 500 до
700 рублей. Диапазон зависит от отношения торговца к Меченому — чем лучше, тем дороже купит

Секция [supplies_start]
Эта секция описывает какие товары у торговца будут вначале.
Название предмета = количество, вероятность появления
Например:
bandage = 5, 1Это значит что у торговеца всегда будут 5 бинтов, с 100 процентной вероятностью появления в магазине.
bandage = 5, 0.6 А тут уже вероятность появления 60%. Т.е. бинты не всегда будут.

Секция [supplies_after_***]
Тоже самое, что в секции [supplies_start], но после выполнения квестов торговца.

Секция [trader_start_sell]
Эта секция описывает за какую цену торговец будет продавать.
Название предмета = минимальная цена продажи, максимальная цена продажиНапример:
wpn_vintorez = 1, 2Это значит что торговец продаст оружие от 100% полной его стоимости до 200%, т.е. если Винторез стоит 1000, то торговец продаст его в диапазоне от
1000 до 2000 рублей. Диапазон зависит от отношения торговца к Меченому — чем лучше, тем дешевле продаст

Секция [trader_after_***_sell]
Тоже самое, что в секции [trader_start_sell], но после выполнения квестов торговца.

деньги торговцев правятся в character_desc_название локации.xml, например, в character_desc_escape.xml такая строка:
(если infinitive=»1″ — бесконечные деньги)

Часть 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.Дописываем инфопоршень в скелет диалога:

test_pogovoril — если ГГ получил инфопоршень, диалог не показывать.

test_pogovoril — дать ГГ инфопоршень.

Получается, что когда ГГ скажет любую из 2 фраз, диалог больше не появится.

Часть 3
Сложность:Сложно

-Как сделать разные action в диалогах.

1.Создаём обычный диалог:

C такими текстами:

Я тестю функции.

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.Впишем функции в диалог:

Это значит что после после фразы

ГГ дадут 3000руб.

Это значит что после после фразы

Это значит что после после фразы

Часть 4
Сложность: Очень сложно

-Как сделать разные precondition в диалогах.
Прекондишоны — это проверки на появление диалога

1.Создаём обычный диалог:

C такими текстами:

Эта фраза появляется если у ГГ есть . рублей.

Эта фраза появляется если у ГГ есть . предмет.

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рублей
Это значит что фраза

появится если у ГГ есть ПМ.

[af_medusa]:af_base —Название артефакта
GroupControlSection = spawn_group —хз
$spawn = «artifacts\moscito medusa» —спаун

$prefetch = 64 -=-
cform = skeleton =-=Эти три строки не трогать.
class = ARTEFACT -=-

visual = physics\anomaly\artefact_blackdrip.ogf —-визуал артефакта
description = enc_zone_artifact_af-medusa —описание
inv_name = af-medusa —имя
inv_name_short = —имя но короткое,в игре для артов не испоьлзуется
inv_weight = 0.5 —вес

inv_grid_x = 9 -=-Координаты по оси Х
inv_grid_y = 4 -=-Координаты по оси У

jump_height = .5 —высота прыжка

;подсветка арта
lights_enabled = true
trail_light_color = 2.5, 2.4, 0
trail_light_range = 1.0

;скорости увеличения (уменьшения) — думаю обьяснять не нужно
health_restore_speed = 0.0
radiation_restore_speed = 0.0007
satiety_restore_speed = 0.0
power_restore_speed = 0.0
bleeding_restore_speed = 0.0
hit_absorbation_sect = af_medusa_absorbation

[af_medusa_absorbation] — а вот здесь загвоздочка.Допустим вы поставили burn_immunity = 2.0. а в игре заметили что она уменьшает на 100 защиту от ожогов.Ставить нужно наоборот,то есть.хочешь чтобы медуза давала 30 пулестойкости из 100-30=70.Ставишь на fire_wound_immunity = 0.70
burn_immunity = 1.0
strike_immunity = 0.97
shock_immunity = 1.0
wound_immunity = 1.0
radiation_immunity = 1.0
telepatic_immunity = 1.0
chemical_burn_immunity = 1.0
explosion_immunity = 1.0
fire_wound_immunity = 1.0

Рассмотрим костюм долга

;———————————————————————————————
; ОБЫЧНЫЙ КОСТЮМ ДОЛГА
;———————————————————————————————
[dolg_outfit]:outfit_base —Название костюма в документах(в скриптах и ltx файлах)
GroupControlSection = spawn_group —Этого я не знаю,и лучше не трогать,обычно вылет
discovery_dependency = —Тоже какая то функция
$spawn = «outfit\dolg_outfit» —Спаун,то есть,костюм лежащий на земле
;$prefetch = 32 —ХЗ
class = E_STLK —класс
cform = skeleton —НЕ ТРОГАТЬ!
visual = equipments\dolg_suit —Визуал костюма лежащий на земле
actor_visual = actors\hero\stalker_dolg.ogf —Визуал НПС,В нашем случае ГГ

ef_equipment_type = 3 —Опять же ХЗ

inv_name = dolg_outfit_name —Название костюма
inv_name_short = dolg_outfit_name —Название костюма(короткое)
description = dolg_outfit_description —Описание(можно и не прописывать их в string_table,можно писать через кавычки.Ставьте «» и пишите описание костюма.Например: «Костюм долга,хорошая защита.» Без кавычек пробелы не буду засчитыватся)
inv_weight = 7.0 —ВЕС
inv_grid_width = 2 -=Эти четыре строки отвечают за иконку в инвентаре,не одетого костюма
inv_grid_height = 3 -=
inv_grid_x = 12 -=
inv_grid_y = 16 -=
full_icon_name = npc_icon_dolg_outfit —Название иконки

cost = 15000 —Цена
slot = 6 —Слот для костюма.НЕ ТРОГАТЬ!
full_scale_icon = 8,11 —иконка сталкера в костюме в полный рост
nightvision_sect = effector_nightvision_good —Прибор ночного видения

immunities_sect = sect_dolg_outfit_immunities —Название иммунитета,для нового костюма введите свой вместо dolg_outfit

ЭТО ЗАЩИТА КОТОРУЮ ДАЕТ КОСТЮМ

burn_protection = 0.1 = Ожог
strike_protection = 0.1 = Удар
shock_protection = 0.1 = Электрошок
wound_protection = 0.1 = Разрыв
radiation_protection = 0.1 = Радиация
telepatic_protection = 0.1 = Телепатия
chemical_burn_protection = 0.1 = Хим.ожог
explosion_protection = 0.1 = Взрыв
fire_wound_protection = 0.1 = Пулестойкость

additional_inventory_weight = 13 —Дополнительный переносимый вес
additional_inventory_weight2 = 13 —Дополнительный переносимый вес второй,но ставьте как на первом

bones_koeff_protection = kombez_antigas_damage —ХЗ,но если делать костюм со средней защитой ставьте такой.Научу ниже

[sect_dolg_outfit_immunities]
burn_immunity = 0.03 —коэффициенты иммунитета самого костюма(чем меньше значение,тем медленнее костюм портиться.Если на все поставить 0.0 костюм не будет портиться никогда)
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

Обещал рассказать что такое Бонес коэфф протекшн
bones_koeff_protection = kombez_antigas_damage
Оно отвечает за то,как сильно будет защищать костюм.Если например поставить вместо: kombez_antigas_damage ,вот это: kurtka_mask_damage,то сколько бы ты не ставил защиту,она будет слабой.А если поставить exo_helmet_damage то будет высокая защита.Поставите очень много защиты,вы будете бессмертны,и костюм будет защищать вас очень хорошо(то есть,бывает например,оденешь экзоскелет,и иногда пули попадают и наносят совсем крохотный урон.Вот,если поставить экзо хелмет то такие маленьки уроны будут чаще,а если поставить куртка маск то такие случаи будут редкими.)

КСТАТИ:если вы хотите создать свой документ с костюмами,нужно будет в конфиге outfit в само конце написать
#include «Название вашего документа.ltx»

Например я создал документ с названием nanosuit, я написал вот так.
#include «nanosuit.ltx»

Все,можете приступать к созданию ваших костюмов,при это зная,в каком документе лежат новые костюмы.

Источник

Читайте также:  Samsung galaxy a51 не работает экран что делать
Оцените статью
  • Дегтярёв