Название: MISERY 2.2.1 Разработчик: MISERY Development Team Платформа: Зов Припяти 1.6.02 Официальный сайт:MiseryMod Официальная группа VK:vk.com Скачать модификацию:с ModDB, с Яндекс.Диск Последнее обновление русификатора:Яндекс.Диск FAQ (часто задаваемые вопросы):на страничке VK Народные дополнения:на страничке VK • Оружейный аддон TAZ:moddb • Адаптация GUNSLINGER:vk.com
STALKER MISERY — геймплейная модификация на платформе STALKER Зов Припяти, призванная вывести игру на новый уровень. Модификация представляет собой глобальное обновление оригинальной игры, направленное на то, чтобы добавить сложности, реализма и погрузить игрока в игровой процесс с новыми функциями, обширными расширениями большинства аспектов и радикальными изменениями существующего содержимого исходной игры. Единственное, что остается нетронутым — это сюжетная линия оригинальной игры.
Неполный
Реализм
• Добавлен небольшой бонус к здоровью для всей чистой и высококачественной пищи и напитков (зависит от класса); • Все классы немного более устойчивы к повреждениям пули; • Все классы должны есть больше чтобы быть полностью сытым, а также получить бонус к выносливости от сытости; • Вес и выносливость подкорректированы у всех классов (что означает, что выносливость истощается немного медленнее); • Дальность обзора NPC установлена в 250 м; • NPC значительно хуже видят ночью; • Все костюмы теперь имеют эффект маскировки (не только Ghillie); • Аспекты Stealth (стелса) усилены; ••• НОВОЕ: Камуфлированное оружие и шлемы дают бонус к стелсу (в дополнении к костюмам); ••• НОВОЕ: Тяжелые винтовки и блестящее огнестрельное оружие (серебряное/золотое) уменьшают процент стелса.
Оптимизация и исправления
• Несколько больших и маленьких багов исправлены (всё еще работаем над всеми остальными); ••• НОВОЕ: Оптимизация оперативной памяти; ••• НОВОЕ: Оптимизация процессора и памяти на 4-9%; ••• НОВОЕ: Квест в Детском саду: трупы разведчиков остаются, пока Вы не заберете взрывчатку;
••• НОВОЕ: Игра на поздней стадии должна быть существенно улучшена за счет нового скрипта, который очищает всех незадействованных отрядов на других картах (спасибо kcs); ••• НОВОЕ: Погода больше не меняется резко после загрузки сохранения (спасибо kcs); ••• НОВОЕ: Игра больше не должна вылетать при открытии холодильника с солдатом в Детском саду (спасибо kcs);
И многие другие изменения в этом плане…
Пользовательский интерфейс
• Обновленный установщик; • Теперь дата начала игры будет 2015; • Реализованы реальные украинские имена (спасибо _Tamas_); • Отображенное количество приготовленных частей мутантов; ••• НОВОЕ: Все UI теперь более чувствительны к действиям игрока (?); ••• НОВОЕ: Все UI получили бонус к хитрости, такие как намеки (?); • И другие обновления…
Визуальные изменения
• Исправленные BumpMap у ОЦ-33 ТТ33; • Добавлены недостающие bumpmaps для Colt 1911 и SVU; • Оптимизация текстур формата dds, mipmap и bumpmaps (снижен размер текстур на 32 мб); • Исправлен icon_equipment.dds (очистка заднего фона, специально для SVU); • Оптимизация для всех расходных материалов и prop текстур; • Оптимизация для некоторых текстур оружия; • Уменьшен размер данных текстур на 55 мб;
Баланс
• Медик и бармены теперь продают также частично истощенные расходные материалы и препараты; • Бармен продает вещи, на которых он специализируется, дешевле, чем поставщик оружия; • Большинство мутантов чуть менее устойчивы к повреждениям;
A-LIFE
• Включен спавн гражданских зомби (из оригинальной игры); • У Тремора меньше медикаментов в продаже на 33%, чтобы снизить стоимость добычи, которую можно получить после его самоубийства; • Увеличен спавн отрядов сталкеров (различных группировок) на 33%; • Участие в перестрелке на Шевченко или в сделке на Лесничестве за одну сторону, реагирует на спавн друзей/врагов; • Теперь легче стать друзьями со сталкерами/бандитами (очень большие изменения в этой ветке);
• Отряды нейтральных к Вам фракций могут путешествовать по всей карте, в то время как враждебные отряды ограничены зоной своей фракции (за исключением элитных отрядов, которых все же можно встретить за территорией противника); • Если ГГ нейтрален с бандитами – наемники также нейтральны. Этим отрядам разрешено посещать Скадовск и Янов, таким образом эти лагеря будут более заполнены в плане НПС. • Отряды могут иметь цель в виде «атаковать определенное место», которое может являться стоянкой/постоянной базой враждебной фракции или другим опасным местом.
Снаряжение и экипировка
• Броня теперь эффективнее против атак мутантов на 25%-33%; • Броня ухудшается от 1.33х (легкая броня) до 2х (тяжелая броня) быстрее от атак мутантов; • Научный шлем теперь имеет ПНВ 2-го уровня; • НОВИНКА: Memo «состояние экипировки», что даст Вам мгновенную информацию о состоянии всего что на Вас есть;
Оружие
• Новое оружие: - СВД камуфлированная; - НОВОЕ: АК-47 в нескольких вариантах; - НОВОЕ: АКМС в нескольких вариантах; - НОВОЕ: МР-412 Rex; - НОВОЕ: АКМ Свободы; - НОВОЕ: АКМ Долга;
• Новые текстуры оружия: Альтернативная Beretta, все виды Colt, обе Грозы, Белый и Поношенный Desert Eagle, СВД Шустрого, Альтернативный SIG550, SIG550 Стрелка, SIG220, Walther, ПКМ Зулуса, ВСК-94 и UMP-45;
• Обновления оружия: - FAMAS: новые прицелы; - SVU: правильная модель, которая показывает, прикручен ли глушитель или нет; - IMI Galil: новые прицелы; - STG-44: новые прицелы; - VSK-94: новая модель, похожая на оригинальную, + прицелы со светящимися знаками; - UMP-45: новые прицелы + возможность прикреплять прицелы ACOG; - SVD альтернативная: модель, которая показывает, прикреплен ли прицел или нет; - НОВОЕ: SIG550 – зеркальные модели; - НОВОЕ: GSH-18 – новая модель; - НОВОЕ: АКМ – новые модели; - НОВОЕ: АКС74 зеркальная модель + новые принадлежности;
Минимальная конфигурация Тип процессора: Intel Core i3 - i5 / AMD эквивалентный процессор (2.5 GHz и более) 3 Гб ОЗУ 512 Mб DirectX® 8.0 совместимая карта
Рекомендуемая конфигурация Тип процессора: Intel Core i5 - i7 / AMD эквивалентный процессор (3.2 GHz и более) 6 Гб ОЗУ 1024MB (1GB) DirectX® 10.0 совместимая карта/ nVIDIA® GeForce™ GTX-2xx, GTX-4xx, GTX-5xx, GTX-6xx and GTX-7xx / ATI Radeon™ HD5xxx, HD6xxx and HD7xxx серии
Порядок установки: 1. Зов Припяти версии 1.6.02 2. MISERY 2.2 3. Обновление русификатора 4.Дополнения (по желанию)
Установите Зов Припяти версии 1.6.02 и скачайте архив с MISERY (обн. русификатора и дополнения ставятся поверх уже установленного мода). Распакуйте скачанный архив и из уже распакованной папки запустите от им. администратора «MISERY_v2.2 setup.exe». Укажите путь в папку с игрой. Установщик спросит, какие опции вы желаете выбрать: 1. В моде доступно три класса: Штурмовик, Разведчик, Снайпер. Класс потом можно будет сменить в игре. Какой лучше — подробнее в FAQ. 2. Язык текста и озвучки: русский. 3. FOV (Field Of View) — угол обзора/поле зрения камеры от первого лица. Рекомендуемое значение — 83. 4. A-life distance — дистанция симуляции жизни. Рекомендуемое значение — 300. 5. Сложность: Misery mode — стандартная (рекомендуется); Rookie mode — для новичков. 6. Режим игры: Normal mode — обычный режим (рекомендуется); Dark mode — постоянный радиационный фон днем. Примечание: выбранные значения, кроме пунктов 2, 5 и 6, можно сменить после установки — подробнее в FAQ.
• В случае ошибок с архивом во время установки: убедиться, что вы сперва распаковываете архив, а потом из уже распакованного запускаете установщик от им. администратора; распаковывать через 7-Zip; перекачать с ModDB.
• Скачать оптимизированные текстуры (сильно снижают качество картинки, помогут преимущественно при слабом компьютере). • Открыть «gamedata\configs\alife.ltx» и в строчке «switch_distance» сменить ПЕРВОЕ значение на 150-250 (чем меньше, тем больше производительность, но меньшая дальность обработки симуляции жизни A-life). • Перейти на более низкое освещение, отключить в игре тень от солнца, понизить дальность видимости — FPS значительно возрастет. • Скачайте CPU-Control, установите, запустите от им. администратора и выставите (при запущенной игре) процессу «xrEngine.exe» все ядра.
Примечание: падение кадров и фризы будут даже на самых производительных компьютерах, проблема со стороны мода в оптимизации.
Сообщение отредактировал arsh1234 - Пятница, 19.06.2020, 07:26
Я поставил Nodvd после установки мода на лицуху (требуется какой-то ключ или активация), то есть заменил уже имеющийся xr3d на нодвд-шный, чтобы игра запускалась. Использование Nodvd версии чревато или не стоит беспокоится?
И ещё, заметил много аддонов что в папке русификатора, что в самой папке мизери - это всё устанавливать по желанию после установки русификатора?
Сообщение отредактировал дышлон - Четверг, 03.01.2019, 18:43
Stern-13, спасибо, перепутал названия Maximouse, благодарю, а что это за дополнения в папках OptionalSphere 0.8_12upgrade , Alternative AN3 Sky ? К ним не приложены никакие описания.
Сообщение отредактировал дышлон - Четверг, 03.01.2019, 19:54
Следовал той же последовательности что и при первой успешной установке мода, так что дело явно не в "кривости" рук, на что любят ссылаться многие. Кто-то на 60-й странице уже спрашивал об этом вылете, но ему этот вылет оправдали кривостью установки.
Сообщение отредактировал дышлон - Четверг, 03.01.2019, 21:37
Сначала установил с фовом 83 - не понравилось, решил переустановить с фовом 67.5
ФОВ можно сменить без переустановки, достаточно переименовать и забросить нужный в папку _bin_. Файл вида _1602_fovXX.dll, где ХХ и есть ФОВ (там их будет несколько), переименовать в _xrGame.dll_. На замену, естественно, соглашаемся, но про бэки не забываем и делаем предварительно.
Maximouse, да, я так и сделал. Только вот при прицеливании (без обвесов) оружие всё равно отдаляется и видно как приклад автоматов "обрубается" ближе к игроку. Это как-то правится?
Насчёт обновления русификации, тут у меня бредовая надпись в КПК "Артефакты , собранные сталкерами" Что это такое? Я так полагаю это просто про арты собранные ГГ. У меня изза этого сомнения , что я правильно установил русификацию, там надо было сделать какие-то танцы с бубном в специализации , сменить туда-сюда или чтото в этом роде, и это я сделал. Просто не верю , что за всё это время не исправлен этот нелепый перевод.
Вопрос такой: как убедиться , что обнова русификации установлена правильно? Может кто помнит содержание какого-нить текста до и после него?
Сообщение отредактировал дышлон - Суббота, 05.01.2019, 11:10
Насчёт обновления русификации, тут у меня бредовая надпись в КПК "Артефакты , собранные сталкерами" Что это такое? Я так полагаю это просто про арты собранные ГГ.
У всех так.И да,похоже эта как раз про арты собранные всеми нпс.Я тут недавно начал ЧД,с одной жизнью,в аномалии особо не лез(вдруг погибну),а циферка в статистике менялась.
NicholasLazarev, здравствуйте! Версия 2.2.1. Стабильно ловлю вылет при подходе к Заводу Юпитер и Бетонной ванне с любой стороны (а-лайф - 350м). Стоит русификатор с его же дополнениями, а также фикс битых сохранений. Я так полагаю, что загвоздка кроется в зомби-гражданских. Помогите решить, прошу. Кусок лога:
Error Reason: ---------------------------------------- xrEngine.exe caused BREAKPOINT in module "D:\Games\S.T.A.L.K.E.R. Call of Pripyat\bin\xrCore.dll" at 0023:02A0E12E, xrDebug::backend()+174 byte(s)
User Message: ---------------------------------------- Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ...call of pripyat\gamedata\scripts\bind_monster.script:290: attempt to index field '?' (a nil value)
function bind(obj) printf("_bp: monster.bind: name='%s', id='%d'", obj:name(), obj:id())
-- Для спауна --xr_spawner.spawn_client(obj)
local new_binder = generic_object_binder(obj) obj:bind_object(new_binder) end
local last_update = 0 -- combat ------------------------------------------------------------------------------------ class "generic_object_binder" (object_binder)
function generic_object_binder:__init(obj) super(obj) self.loaded = false end
function generic_object_binder:reload(section) object_binder.reload(self, section) end
function generic_object_binder:reinit() object_binder.reinit(self)
function generic_object_binder:update(delta) object_binder.update(self, delta)
if xr_combat_ignore.fighting_with_actor_npcs[self.object:id()] and self.object:best_enemy() == nil then xr_combat_ignore.fighting_with_actor_npcs[self.object:id()] = nil end
local squad = get_object_squad(self.object) local object_alive = self.object:alive() --' printf("_bp: generic_object_binder: UPDATE [name='%s' time=%d]", --' self.object:name(), time_global()) -- fluffy22 if not object_alive then local looted = xr_logic.pstor_retrieve(self.object,"looted",nil) if not (looted) then -- credits to ARS and TGZ teams for this - mutant looting self.object:set_callback(callback.use_object, self.use_callback, self) self.object:set_tip_text(game.translate_string("st_corpse_loot_caption")) -- Plaargath, txt moved to st_itms_refunct.xml else self.object:set_callback(callback.use_object, nil) self.object:set_tip_text("") end return end -- fluffy22
-- Swartz if object_alive then if (m_mines) then m_mines.chek_target(self.object) end end -- Swartz
self.object:set_tip_text("") local st = db.storage[self.object:id()] if st ~= nil and st.active_scheme ~= nil then xr_logic.try_switch_to_another_section(self.object, st[st.active_scheme], db.actor) end -- Апдейт отряда if squad ~= nil then if squad:commander_id() == self.object:id() then squad:update() end end
self.object:info_clear()
local active_section = db.storage[self.object:id()] and db.storage[self.object:id()].active_section if active_section then self.object:info_add("section: " .. active_section) end local best_enemy = self.object:best_enemy() if best_enemy then self.object:info_add("enemy: " .. best_enemy:name()) end self.object:info_add(self.object:name().." ["..self.object:team().."]["..self.object:squad().."]["..self.object:group().."]")
if alife():object(self.object:id()) == nil then return end
if squad ~= nil then self.object:info_add("squad_id: " .. squad:section_name()) if squad.current_action ~= nil then local target = squad.assigned_target_id and alife():object(squad.assigned_target_id) and alife():object(squad.assigned_target_id):name() self.object:info_add("current_action: " .. squad.current_action.name .."["..tostring(target).."]") end end
-- Если есть враг , то идем в комбат !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! if self.object:get_enemy() then if xr_logic.mob_captured(self.object) then xr_logic.mob_release(self.object) end return end
if squad and squad.current_action and squad.current_action.name == "reach_target" then local squad_target = simulation_objects.get_sim_obj_registry().objects[squad.assigned_target_id] if squad_target == nil then return end -- printf("_bp: mob_reach_task:reset_scheme: %s", self.object:name())
local target_pos, target_lv_id, target_gv_id = squad_target:get_location() -- if not xr_logic.mob_captured(self.object) then xr_logic.mob_capture(self.object, true) -- end if squad:commander_id() == self.object:id() then action(self.object, move(move.walk_with_leader, target_pos), cond(cond.move_end)) else local commander_pos = alife():object(squad:commander_id()).position if commander_pos:distance_to(self.object:position()) > 10 then action(self.object, move(move.run_with_leader, target_pos), cond(cond.move_end)) else action(self.object, move(move.walk_with_leader, target_pos), cond(cond.move_end)) end end return end
if self.st.active_section ~= nil then xr_logic.issue_event(self.object, self.st[self.st.active_scheme], "update", delta) end end
function generic_object_binder:extrapolate_callback() -- Проверяем, что объект еще в онлайне if db.storage[self.object:id()] == nil or db.storage[self.object:id()].object == nil then return end
local cur_pt = self.object:get_current_point_index() if self.object:get_script() == false then return false end
local patrol_path = self.object:patrol() if not level.patrol_path_exists(patrol_path) then return false --abort("bind_monster:extrapolate_callback(). There is no patrol path [%s]", tostring(patrol_path)) end if patrol(patrol_path):flags(cur_pt):get() == 0 then --printf("_bp: generic_object_binder: extrapolate_callback: cur_pt = %d: true", cur_pt) return true end --printf("_bp: generic_object_binder: extrapolate_callback: cur_pt = %d: false", cur_pt) return false end
function generic_object_binder:waypoint_callback(obj, action_type, index) if self.st.active_section ~= nil then xr_logic.issue_event(self.object, self.st[self.st.active_scheme], "waypoint_callback", obj, action_type, index) end end
function generic_object_binder:death_callback(victim, who) printf("stop_dead_id"..self.object:id())
self:hit_callback(victim, 1, vector():set(0,0,0), who, "from_death_callback") if who:id() == db.actor:id() then xr_statistic.inc_killed_monsters_counter() xr_statistic.set_best_monster(self.object) end
if self.st.mob_death then xr_logic.issue_event(self.object, self.st.mob_death, "death_callback", victim, who) end
if self.st.active_section then xr_logic.issue_event(self.object, self.st[self.st.active_scheme], "death_callback", victim, who) end
local obj_clsid = self.object:clsid() if obj_clsid == clsid.poltergeist_s then printf("releasing object ["..self.object:name().."]") if alife():object(self.object:id()) ~= nil then alife():release(alife():object(self.object:id()), true) end else release_body_manager.get_release_body_manager():moving_dead_body(self.object,true) end
-- Alundaio if (axr_main) then axr_main.monster_on_death_callback(victim,who) end db.storage[self.object:id()].death_time = game.get_game_time() -- End Alundaio end
if(who:id()==db.actor:id()) then xr_statistic.set_best_weapon(amount) end
if self.st.hit then xr_logic.issue_event(self.object, self.st.hit, "hit_callback", obj, amount, local_direction, who, bone_index) end
if amount > 0 then -- Alundaio if (axr_main) then axr_main.monster_on_hit_callback(obj, amount, local_direction, who, bone_index) end -- End Alundaio printf("HIT_CALLBACK: %s amount=%s bone=%s who:id() = [%s] actor:id() = [%s]", obj:name(), amount, tostring(bone_index), who:id(), db.actor:id()) end end
function generic_object_binder:hear_callback(self, who_id, sound_type, sound_position, sound_power) if who_id == self:id() then return end xr_hear.hear_callback(self, who_id, sound_type, sound_position, sound_power) end
-- fluffy22 function generic_object_binder:use_callback(obj, who) -- Alundaio if (axr_main) then axr_main.monster_on_actor_use_callback(obj,who) end -- Alundaio end -- fluffy22
function generic_object_binder:net_spawn(sobject) if not object_binder.net_spawn(self, sobject) then return false end
-- Alundaio if (axr_main) then axr_main.monster_on_net_spawn(self.object) end -- Alundaio
local on_offline_condlist = db.storage[self.object:id()] and db.storage[self.object:id()].overrides and db.storage[self.object:id()].overrides.on_offline_condlist if on_offline_condlist ~= nil then xr_logic.pick_section_from_condlist(db.actor, self.object, on_offline_condlist) end
if not self.object:alive() then release_body_manager.get_release_body_manager():moving_dead_body(self.object) return true end if alife():object(self.object:id()) == nil then return false end
--******************************* Телепорт на первую точку пути работы смарттеррейна...***************************** local se_obj = alife():object(self.object:id()) if db.spawned_vertex_by_id[se_obj.id] ~= nil then self.object:set_npc_position(level.vertex_position(db.spawned_vertex_by_id[se_obj.id])) db.spawned_vertex_by_id[se_obj.id] = nil elseif db.offline_objects[se_obj.id] ~= nil and db.offline_objects[se_obj.id].level_vertex_id ~= nil then printf("changing position for object[%s] from %s to %s : level vertex [%s] to [%s]", se_obj:name(), vec_to_str(se_obj.position), vec_to_str(level.vertex_position(db.offline_objects[se_obj.id].level_vertex_id)), tostring(se_obj.m_level_vertex_id), tostring(db.offline_objects[se_obj.id].level_vertex_id)) self.object:set_npc_position(level.vertex_position(db.offline_objects[se_obj.id].level_vertex_id)) elseif se_obj.m_smart_terrain_id ~= 65535 then local smart_terrain = alife():object(se_obj.m_smart_terrain_id) if smart_terrain.arriving_npc[se_obj.id] == nil then local smart_task = smart_terrain.job_data[smart_terrain.npc_info[se_obj.id].job_id].alife_task self.object:set_npc_position(smart_task:position()) end end --******************************************************************************************************************
local st = db.storage[self.object:id()] if st and st.active_scheme then xr_logic.issue_event(self.object, st[st.active_scheme], "net_destroy") end
-- Запоминаем позицию и активную секцию -------- if db.offline_objects[self.object:id()] then db.offline_objects[self.object:id()].level_vertex_id = self.object:level_vertex_id() db.offline_objects[self.object:id()].active_section = db.storage[self.object:id()].active_section end ------------------------------------------------n
db.del_obj(self.object) db.storage[self.object:id()] = nil object_binder.net_destroy(self) end
function generic_object_binder:reload(section) object_binder.reload(self, section) --printf("generic_object_binder:reload(): self.object:name()='%s'", self.object:name()) end
function generic_object_binder:net_save_relevant() --printf("generic_object_binder:net_save_relevant(): self.object:name()='%s'", self.object:name()) return true end
function generic_object_binder:save(packet) set_save_marker(packet, "save", false, "generic_object_binder") if not (self.object:alive()) then utils.w_CTime(packet,db.storage[self.object:id()].death_time or game.get_game_time(),"bind_monster") end object_binder.save(self, packet) xr_logic.save_obj(self.object, packet) set_save_marker(packet, "save", true, "generic_object_binder") end
function generic_object_binder:load(reader) self.loaded = true set_save_marker(reader, "load", false, "generic_object_binder") if not (self.object:alive()) then db.storage[self.object:id()].death_time = utils.r_CTime(reader,"bind_monster") end object_binder.load(self, reader) xr_logic.load_obj(self.object, reader) set_save_marker(reader, "load", true, "generic_object_binder") end
Я так понимаю, Ною прописать бессмертие уважаемым разрабам религия не позволила, ну да ладно - у каждого в голове свой Сяк Пришлось идти напрямик к Хутору и в своей Заре сразбегу прыгать в телепорт - надеюсь тем самым я ничего не поломаю в дальнейшем?
И вообще, прошу совета от бывалых ходоков, как избежать ситуации на подобии таких бессмысленных, не льстящих ни хардкору, ни чему-то другому, смертей, как у Ноя? Чего порекомендуете избегать, кого пытаться сохранить? Тот же Путруха наверняка тоже склонен умирать "вне зоны доступа"?
Я так понимаю, Ною прописать бессмертие уважаемым разрабам религия не позволила, ну да ладно - у каждого в голове свой Сяк
Я как то решил глянуть,а как Ной держится против мутантов(версия 2.2 была).Чтоб заспавнить мутантов на барже,я включил бессмертие ГГ через Пов.Зоны. Несколько штук снорков и пси собак сделал.Сколько Ной держался,я точно не помню)),но ГГ не долго продержался после смерти Ноя.Вот и бессмертие))) Прыгая в телепорт,вы ничего не ломаете.Компас по квесту потом на барже будет.В рюкзаке. Тополь всё так же может погибнуть.так что не тяните с квестами на учёных.И Бродяга может погибнуть.Его правда сталкеры норовят убить(наймо-бандосы).А так всё норм))
Я так понимаю, Ною прописать бессмертие уважаемым разрабам религия не позволила, ну да ладно - у каждого в голове свой Сяк
Я вижу пока один простой способ сберечь Ноя, Спартака, Тополя или Тесака (Тесака, если Спартак накрылся). Устанавливаю алайф 150 м, проходил так неоднократно, эти неписи живут до конца прохождения мода. Устанавливаю алайф 350 м, проходил так неоднократно, эти неписи живут до первой атаки тушканов или кота, не говоря о крупных мутантах или двуногих. Ещё borbos дверь на Шевченко минировал, чтобы Ноя обезопасить, я так побоялся, не сапер, не рискнул. Можно спросить, он поделится опытом.
Чего порекомендуете избегать, кого пытаться сохранить? Тот же Путруха наверняка тоже склонен умирать "вне зоны доступа"?
Извин., а кто это Путруха? В моем Misery вроде не пересекался с ним. Нужный NPC? Влияет на дальнейшее прохождение? Вот, например, если при взятии гаус-винтовки в Припяти не допустить потерь военных, (кроме снайпера, похоже там заскриптовано) и также без потерь на этапе эвакуации и возле Прометея, то концовка бонусная. А если есть потери среди лс, то обычная концовка.