Как убрать аномалии в сталкере тень чернобыля

Обновлено: 03.07.2024

Небольшой читерский модик. Основная функция - чтобы Круглова не убивало аномалиями после туннеля с жарками, второстепенная - чит. Позволяет убирать большинство аномалий и восстанавливать их случайно (как после выброса) по желанию игрока.
"Установка:"

Код
elseif dik == DIK_keys.DIK_F1 then
amk_anoms.pre_blow_off()
elseif dik == DIK_keys.DIK_F2 then
amk_anoms.after_blow_on()

Скопировать вышеприведенный код в файл ui_main_menu.script в папке scripts папки gamedata после строки
Код
-- self:OnButton_load_spawn()

"Было:"
function main_menu:OnKeyboard(dik, keyboard_action) --virtual function
CUIScriptWnd.OnKeyboard(self,dik,keyboard_action)
local bind = dik_to_bind(dik)
local console = get_console()

if keyboard_action == ui_events.WINDOW_KEY_PRESSED then
if dik == DIK_keys.DIK_ESCAPE then
if level.present() and (db.actor

= nil) and db.actor:alive() then
console:execute("main_menu off")
end
end

-- раскоментируем и заоодно включим убранное спавн меню
if dik == DIK_keys.DIK_S then
-- self:OnButton_load_spawn()

return true
end

"Стало:"
function main_menu:OnKeyboard(dik, keyboard_action) --virtual function
CUIScriptWnd.OnKeyboard(self,dik,keyboard_action)
local bind = dik_to_bind(dik)
local console = get_console()

if keyboard_action == ui_events.WINDOW_KEY_PRESSED then
if dik == DIK_keys.DIK_ESCAPE then
if level.present() and (db.actor

= nil) and db.actor:alive() then
console:execute("main_menu off")
end
end

-- раскоментируем и заоодно включим убранное спавн меню
if dik == DIK_keys.DIK_S then
-- self:OnButton_load_spawn()

return true
end

"Управление:"
В игре выйти в главное меню. Кнопка F1 - удалить все аномалии. Кнопка F2 - снова случайно их заспавнить.

как сказали выше "какая тогда это игра будет"
а так распакуй all.spawn и удали все секции с аномалиями.

Ты черт возьми издеваешься? ! Какой к черту сталкер без аномалий! Чувак книги по игре читай. Уберешь аномалии - игра станет гавном.

ты просто ламер! ! играй на ветеране! только ветеран-только хардкор! а так-никак! без аномалий только ламеры играют! и то в ТЧ аномалий мало

Поставь мод Бессмертие И не надо убирать аномалии Или сам в файле actor.ltx сделай изминения

Идём \gamedata\scripts\ файл amk_anoms.script и ищем

Если значения поставить раза в 3-5 меньше, соответственно аномалий будет в два раза меньше.
Альтернатива: находим строчку, которая отвечает за количество аномалий на Кордоне (а вы к примеру, правьте те локации, которые вам нужны): 

Во, хоть один нормально по существу ответил. Спасибо. А остальные.
"- Йогурт свежий?
- Грушовый!"

ребята в сталкере зп альянс 3 связь времен не поможет даже бессмертие против некоторых аномалий да а в бессмертии после провала операции ты все равно умреш

прикинь да. есть смерть от аномалии потому что она сносит тебе хп и когда кол-во хп достигает нуля актор умирает, а есть скриптовая смерть.

object 'ххххххх_restrictor': section 'sr_idle': field 'on_npc_in_zone': there is no object with story_id 'ххххх'
Важно! Делайте копии оригинальных файлов.. Удаляйте объекты, будучи в полной уверенности, что они больше не нужны!

Для удаления объектов из игры используйте уже имеющийся (закомментированный) блок кода в скрипте bind_stalker.script
[center]Как все это правильно сделать - читаем ниже, под спойлером:

Порядок действий и примеры удаления!

--[[local bad_object_names = --"wpn_lr30025601", "wpn_lr30028817","wpn_lr30033589"
local i, se_name, se_obj

for i, se_name in ipairs(bad_object_names) do
se_obj = alife():object(se_name)
if se_obj then
news_manager.send_tip(db.actor,"Удалили глючный ствол:"..se_name,nil,nil,1000)
alife():release(se_obj, true)
end
end]]

2 . Убрать комментарии --[[ в начале перед local и ]] в конце после end -- не забываем удалить и двойное тире перед первой строкой, не только скобки!

Пример 1. Удаление глючного ствола

[error]Description : Invalid vertex for object
[error]Arguments : wpn_ ххххххххх

-- Где вместо "wpn_хххххххх" - будет название вашего "глючного" ствола (либо любого другого предмета/объекта), который и нужно удалить из игры, вставив его в код для удаления.

Правильный код должен выглядеть так:

local bad_object_names =
local i, se_name, se_obj

for i, se_name in ipairs(bad_object_names) do
se_obj = alife():object(se_name)
if se_obj then
news_manager.send_tip(db.actor,"Удалили глючный ствол:"..se_name,nil,nil,1000)
alife():release(se_obj, true)
end
end

Пример 2. Удаляем глючного наемника на "Дикой территории"

Description : any vertex in patrol path [ ros_sniper2_walk ] in inaccessible for object [ ros_sniper2 ]

-- Где вместо "ros_sniper2" , в случае подобного вылета, может быть другое название НПС, смотрим у себя в логе.
Вставлять для удаления то, что идет вслед за inaccessible for object , в конце строки.

Правильный код:

local bad_object_names = ros_sniper2 " >
local i, se_name, se_obj

for i, se_name in ipairs(bad_object_names) do
se_obj = alife():object(se_name)
if se_obj then
news_manager.send_tip(db.actor,"Удалили глючный ствол:"..se_name,nil,nil,1000)
alife():release(se_obj, true)
end
end

При удалении объекта, на который идет ругань в "консоли", типа: ! Cannot find saved game

object 'ххххххх_restrictor': section 'sr_idle': field 'on_npc_in_zone': there is no object with story_id 'ххххх'
вставляем для удаления это: ххххххх_restrictor , или то, что идет вслед за

-- где вместо: ххххххх -- будет название вашего заглючившего рестриктора/ объекта.

После успешного удаления лучше (не критично) восстановить комментарии в коде --[[ в начале перед local и ]] в конце после end , по необходимости по ходу игры повторить операции с п.1 для другого объекта (объектов).

Правильный порядок дейтвий при удалении от камрада MAV

Находим там слова
localweight_max (третья строчка с верху) и меняем на цифры чтоб
Было на 500 больше чем в самой первой правки.

Пример:
local weight_max = 1300 — вес рюкзака, выше которого начнётся
выпадение предметов

Все закрываем файл ded_moroz с сохранением. (Комп сам попросит
сохранения при закрытии).

Теперь последний этап
Открываем файл – drrr он находится по пути gamedata/ scripts /drrr

Находим там слова
localweight_max (вторая строчка с верху) меняем на цифры чтоб
Было на 500 больше чем в самой первой правки.
Пример:

local weight_max = 1300
Все закрываем файл drrr с сохранением.
(Комп сам попросит сохранения при закрытии).

Мы увеличили переносимый вес
Меченого до 800 кг.

Как изменить музыку в преемнике у Сидоровича?

Берём любимую музыку сохраняем в формате ogg (моно, 44000) обзываем его magnitofon_2.ogg
Заменяем существующий файл и будет Ваша мелодия.

В баре. Если есть распакована игра в папке sound ищи музыку что в баре играет, берете свою музыку переводите в формат OGG 44-64ГЦ и переименуете в те которые у баре играют


В файле actor.ltx в папке gamedata/config/creatures, находим параметр jump_speed и ставим нужную величину, чем больше цифра тем выше ГГ будет прыгать.

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


Вес прописан в gamedata/config/creatures/actor.ltx строчка max_walk_weight
Отображение веса в инвентаре (выше этого значения нельзя бегать): gamedata/config/inventory_sect.ltx строчка max_weight.

[actor_immunities_gd_xxxxx]
burn_immunity = 1.0;коэффициенты иммунитета
strike_immunity = 1.0
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

Поменяв цифры на 0 - ГГ будет бессмертным. Можно не все менять, тогда можно сделать, например, что ГГ будет пуленепробиваемым, но будет дохнуть в аномалиях и т. п.

Рассмотрим некоторые переменные на примере actor.ltx

visual – модель персонажа.
max_walk_weight - максимальный вес, при достижении которого игрок перестает двигаться.
pickup_info_radius – радиус от ГГ, в котором над предметами выводятся их названия.
camera_height_factor – высота ГГ. По умолчанию стоит 0.85, но можно увеличить рост ГГ до 0.95 например.
disp_base – разброс. Если уменьшать, то и разлёт уменьшается соответственно.
wound_incarnation_v - скорость заживления раны.
cant_sprint_power_begin - порог силы меньше которого актер не может бежать в спринте.
hit_probability_gd_novice
hit_probability_gd_stalker
hit_probability_gd_veteran
hit_probability_gd_master
Эти строчки отвечают за вероятность попадания по вам, при разных уровнях сложности.
Также есть переменные в файле system.ltx
config/system.ltx:
start_blood_size - размер раны чтобы начала капать кровь.
stop_blood_size - размер раны чтобы кровь остановилась.
max_weight – вес, с которым ГГ может бежать.


Настроить выброс

У тех у кого запакованная НС:

Установка: распаковать архив и папку gamedata поместить в каталог игры. Ну а там уже првить на Ваше усмотрение.

Отключить выброс на ЧАЭС 1

Затем, вызов функции в таком виде:


Вставить в любой ближайший диалог.

Сохранить изменения, грузить сейв перед заходом на ЧАЭС-1 и потом переходить, или загружаться с автосейва перехода, тоже сработает.

После, как перешли на ЧАЭС-1 и выброс отключился - сохраняемся, выходим из игры и удаляем строку arhara_dialog.dell_duratskiy_timer() из файла bind_stalker.script
Правка (romale).

Отключить Час ужаса.

Выпадение денег с мёртвый персонажей


Как реализовать качание прицела?



Как сделать, чтобы у главного героя было много денег?

Выпадение денег с нпс, эффект запотевания, эффект ранения, эффект плохого самочувствия.

Правим кому как нужно:


Трупы на Карте

Не отображаются трупы на карте:
файл map_spots_relations.xml
строка (сделать её такой)

<deadbody_mini_spot width="4" height="4" stretch="1" alignment="c">
Параметры width="4" height="4" размеры точк


Уменьшить или увеличить количество Аномалий.

Если значения поставить раза в 3-5 меньше, соответственно аномалий будет в два раза меньше.
Альтернатива: находим строчку, которая отвечает за количество аномалий на Кордоне (а вы к примеру, правьте те локации, которые вам нужны):

Отключить шатание при ходьбе

[bobbing_effector]

run_amplitude = 0.0075 - изменять эту строку например на 0.0005 почти не шатается, желаемого результата добивайтесь методом перебора
walk_amplitude = 0.005
limp_amplitude = 0.011


Музыкальные флешки.
Пути нахождения и исправления файлов:

Инструкция по самостоятельному созданию музыки для флешек к муз.плееру

Упрощённая инструкция

Как изменить время респауна?

Как увеличить респаун у сталкеров/животных?

Как поднять камеру? (увеличить рост персонажа?)

Как изменить силу оружия?

Как изменить носимый вес?

Как сделать невидимые аномалии?

Как сделать, чтобы еда не лечила?

Как изменить силу врагов?

Как изменить разброс при стрельбе?

Как сделать много крови?

Как изменить музыку в приемнике у Сидоровича?

P.S. в самом начале «родного» конфига гранаты,
в секции description написать el_grenade_desc вместо того, чтобыло изначально.
Есть небольшой касяк сописанием… (по возможности выясню почему так)

Аномальная электрошоковая граната.

ДОБАВЛЕНИЕ В ИГРУ

P.S.2 если вникнуть в суть написанного и понять принципы работы кофигов,
а также понять структуру, то можно сделать и гравитационную гранату)))

; далее идут параметры иконки в инвентаре.

inv_grid_width
= 2
inv_grid_height
= 3
inv_grid_x
= 6
inv_grid_y
= 15
full_icon_name
= npc_icon_stalker_outfit ; название
иконки.

cost = 5000 ; базовая цена
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

Меняем слова: «Комбинезон «Заря»» на своё, например
«Комбенизон «Закат»»
Потом ищем строчки:

Производимый народными умельцами
комбинезон сталкера представляет собой сочетание двухслойной прорезиненной
ткани с плексигласовой прокладкой и встроенного бронежилета. Несмотря на то,
что бронежилет пробивается даже пистолетной пулей, костюм очень распространён
из-за дешевизны и широких возможностей для улучшения. Оснащён встроенными
контейнерами для артефактов.

Теперь
пишем своё вместо то что выделено выше, например:

Создан
Карданом для своих друзей Баржи и Шутника перед последней их вылазкой. Из каких
материалов сделан неизвестно, кроме того что за основу был взят комбинезон
«Заря». Обладает отличным защитным свойством против радиации и химикатов.

Вот и готов наш костюм, можно тестировать.
Создание новогошлема.
Открываем файл outfit.ltx находится он
"gamedata/configs/misc/"

И так для начала разберемся что и как,возмём к примеру
стандартный шлем [helm_respirator] его
код выглядит так:

inv_weight =
4.0 - Вес шлема

inv_grid_width =
2 - Ширина иконки в ui_icon_equipment.dds
inv_grid_height =
2 - Высота иконки в ui_icon_equipment.dds
inv_grid_x = 4 - Положение по Х в
ui_icon_equipment.dds
inv_grid_y = 18 - Положение по У в
ui_icon_equipment.dds

upgr_icon_x =
20 - Тут всё тоже самое но только для иконки Апгрейда - ui_actor_armor.dds
upgr_icon_y =
619 - Тут всё тоже самое но только для иконки Апгрейда - ui_actor_armor.dds
upgr_icon_width =
106 - Тут всё тоже самое но только для иконки Апгрейда - ui_actor_armor.dds
upgr_icon_height = 149 - Тут всё тоже самое но только для
иконки Апгрейда - ui_actor_armor.dds

cost = 1000 - Цена

immunities_sect
=
sect_helm_respirator_immunities - секции имунитета
bones_koeff_protection =
actor_helm_respirator - это помоему защита головы ГГ

telepatic_protection
= 0.0200 - защита от
телепатии
radiation_protection
= 0.0015 - защита от
радиации
chemical_burn_protection
= 0.0500 - защита от
химических ожогов

upgrades = up_gr_firstab_helm_respirator
- это код на
Апгрейд
installed_upgrades =
upgrade_scheme = upgrade_scheme_helm_respirator - это код
на схему Апгрейд

[sect_helm_respirator_immunities] - коэффициенты иммунитета
самого костюма, то
есть - то, насколько сильно он сам подвержен повреждениям от
различных типов
воздействий. по значениям каждого типа

burn_immunity =
0.04 - защита от воздействия огня (костры,аномалия "Жарка" и т.д.)
strike_immunity =
0.0 - защита от ударов (наносятся мутантами, например, псевдогигантом)
shock_immunity =
0.04 - ащита от поражения электричеством.
wound_immunity =
0.0 - защита от ранений (наносятся мутантами, например, собаками, кровососами и
т.д.)
wound_2_immunity =
0.0 - защита от ранений (наносятся мутантами, например, собаками, кровососами и
т.д.)
radiation_immunity =
0.0 - защита от радиации.
telepatic_immunity =
0.0 - защита от пси-воздействия (например, присутствие контроллера серьезно
влияет на psy_health)
chemical_burn_immunity =
0.04 - защита от химического воздействия.
explosion_immunity =
0.04 - защита от взрывов/осколков.
fire_wound_immunity =
0.04 - защита от огнестрельного оружия.

1) Создаем файл effect_blood.script и записываем туда следущее:

вначале список-это время, потом характеристики для каждого часа

[default_weather_02] ambient = 0.0025, 0.005, 0.0075 hemi_color = 0.025, 0.05, 0.075, 0.1

Для предыдущих блоков стоит тоже отрегулировать чтобы темнота не обрушилась резко.

Открываем файл character_desc_. xml (в зависимости от локи)

Код

Тестовый
ui_npc_u_stalker_do_nauchniy

sim_stalker_master_bio

test
stalker stalker_terrain

2. Открываем amk_npc_profile.xml и пишем:

3. Открываем spawn_sections.ltx и пишем:

4. Создаём файл test_npc_logic.ltx в папке config/scripts и пишем там:

[logic]active = camper
combat_ignore = combat_ignore

[camper]sniper = false
radius = 5
no_move = true
def_state_campering = threat_na
path_walk = mil_zomb_stalker_walk1
path_look = mil_zomb_stalker_look1

5. Создаём любой скрипт и пишем туда:

Прописываем функцию в любой диалог и разговариваем в игре.
В итоге наш НПС заспавнится в домике, где стоит Сумасшедший сталкер (на милитари).

Файлы:spawn_sections.ltx,devices.ltx,любой стандартный диалог.
Для того, чтобы замерить координаты можно воспользоватся аддончиком Position Informer.

1.Создаём файл ваше_название_скрипта.script в папке gamedata/scripts и пишем в него:

Код
function ваше_название_функции() $$$НАЗВАНИЕ ФУНКЦИИ$$$
alife():create(section,position,levelvertex,gamevertex) $$$ЭТО ТОЧКА ГДЕ СПАВНИТСЯ ПРЕДМЕТ$$$
end

2.В папке config/scripts создаём файл m_taynik.ltx и пишем в него:
Код
[spawn]$$$ Это то, что появится в тайнике $$$
предмет
предмет
предмет
предмет
предмет

3. Открываем файл spawn_sections.ltx из папки gamedata/config/creatures и пишем:

4. Открываем файл devices.ltx и пишем:

5. Пихаем в любой диалог функцию спавна:

Например в dialogs_trading.xml в диалоге doctor_dialog_start после фразы doctor_dialog_start_13
Пишем ваше_название_скрипта.ваше_название_функции

Теперь после того как поговорите с Доктором (NLC5) по заданным координатам появится рюкзак.

Содержание
1 Небольшое вступление
2 Описание параметров
3 Небольшая наглядность
4 Авторы

"Перемещающиеся" аномалии с самого момента релиза очень заинтересовали коммьюнити. Выдвигалось множество предположений о принципе их работы. На самом деле, всё сделано достаточно незамысловато. В свойствах аномалий прописываются параметры, в которых указывается в какой промежуток времени они будут активны. Таким образом создаются целые цепочки из аномалий, параметры которых взаимосвязаны. В оригинале всего две таких цепочки: в туннеле на Кордоне и в подземелье Агропрома.

Всего используются три параметра:
enabled_time - через какое время после начала отсчёта аномалия включится.
disabled_time - через какое время после начала отсчёта аномалия отключится.
start_time_shift - на сколько сдвинется момент начала отсчёта времени. (Использовать необязательно)

После отключения аномалии процесс повторяется. Следующее включение произойдёт через промежуток времени прописанный в disable_time.

В Level Editor'е эти параметры находятся в свойствах аномалии. При использовании ACDC параметры прописываются "в теле" нужной аномалии. Значения указываются в секундах.

Создадим "перемещающуюся" аномалию, которая будет менять своё местоположение каждые четыре секунды. Для этого создадим несколько аномалий (для примера взято 3 штуки).

Для первой аномалии пропишем:
enabled_time = 4
disabled_time = 8
start_time_shift = 8

Для второй:
enabled_time = 4
disabled_time = 8
start_time_shift = 4

Для третьей:
enabled_time = 4
disabled_time = 8

Таким образом, первой будет активироваться третья аномалия, работать четыре секунды и деактивироваться. Сразу после неё будет активироваться вторая аномалия, работать 4 секунды, ну и так далее. Вот так и создаётся ощущение того, что аномалия перемещается. Конечно, это только один из примеров использования этих параметров. Обладая должным желанием и терпением, можно делать целые аномальные поля, где каждая аномалия будет вести себя независимо от других, но вместе они будут образовывать смертельно опасное место.

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