Список исправлений. 1) Болото. Восстановлены четыре ассортимента у торговца, в зависимости от состояния войны с ренегатами. 2) Кордон. Исправлена ошибка, из-за которой невозможно получить тайник с флешкой от Бродяги. 3) Кордон. Исправлена ошибка, из-за которой невозможно снять флешку с трупа Генерала. 4) Янтарь. Исправлена ошибка, из-за которой невозможно попасть к Сахарову, дверь в бункер закрыта. 5) Склады. Убрано появление 'пройденного' задания с Янтаря: следовать на крышу ангара за сталкером. -----05.10.08----- 6) Болото. Восстановлено одно не работавшее второстепенное задание. 7) Везде. Исправлен вылет при попытке лечения любого раненного ЧН-ца. 8) Везде. Исправлено странное исчезновение сталкеров рядом с ГГ. -----07.10.08----- Файлы tm_marsh.ltx и sim_combat.script были от патча 04. Это не критично, но часть правок 5-го патча не работала. Переделал эти файлы. За подсказу спасибо AshenFace с форума gameru.net Что и где правлено ==================== -------------------- ----- 01.10.08 ----- -------------------- ---------------------------------------------------------------------------- 1) Болото. Восстановлены четыре ассортимента у торговца, в зависимости от состояния войны с ренегатами. ---------------------------------------------------------------------------- Некоторые варианты товаров не могли попасть к торговцу из-за ошибочной проверки 'дружественности' группировки. Файл xr_conditions.script #775 function is_faction_friend_to_actor(actor, npc, p) #776 if(p[1]~=nil) then #778-- return relation_registry.community_goodwill(p[1], db.actor:id())>1000 #778++ return relation_registry.community_goodwill(p[1], db.actor:id())>=1000 #779 else #780 return false #781 end #782 end ------------------------------------------------------------------------------- 2) Кордон. Исправлена ошибка, из-за которой невозможно получить тайник с флешкой от Бродяги. ------------------------------------------------------------------------------- Было указано неверное имя Бродяги (esc_stalker_novice_quest) в описании тайника, из-за чего тайник не мог попасть в диалог. Файл treasure_escape.ltx Изменено имя проверяемого персонажа на esc_stalker_novice #253 [esc_quest_treasure_9] ;Набор обычных патронов для дробовика #254 target = esc_q9_t_a #255 name = st_esc_q9_t_a #256 description = st_esc_q9_t_a_descr #257 items = flesh_up_bd_wincheaster1300, 1, ammo_12x70_buck, 20, grenade_rgd5, 1 #258-- condlist = {=actor_on_level(escape) =check_npc_name(esc_stalker_novice_quest)} true, false #258++ condlist = {=actor_on_level(escape) =check_npc_name(esc_stalker_novice)} true, false #259 treasure_cost = 800 #260 say_item_name = true ------------------------------------------------------------------------------- 3) Кордон. Исправлена ошибка, из-за которой невозможно снять флешку с трупа Генерала. ------------------------------------------------------------------------------- Теряется из-за удаление в death_manager-е. Файл death_generic.ltx В список неудаляемых вещей добавлена строка с флешкой #44 [keep_items] #45++ flesh_up_ac_ak74u = true #46 device_pda_digger = true ------------------------------------------------------------------------------- 4) Янтарь. Исправлена ошибка, из-за которой невозможно попасть к Сахарову, дверь в бункер закрыта. ------------------------------------------------------------------------------- Похоже проблема в рестрикте, который разово блокирует бункер при первом заходе ГГ на территорию базы. Проявляется, если при первом заходе на Янтарь уничтожить всех зомби, атакующих бункер, из далека, т.е. не заходя в периметр базы учёных. Файл yan_space_restrictor_in_base_for_actor.ltx Попытка отключения рестрикта для любой стадии игры. #4 [sr_idle@1] #5-- ;on_actor_inside = %+yan_alarm_signal_stalkers_cut2% sr_idle@stop #6++ on_actor_inside = nil #7 #8 [sr_idle@stop] #9++ on_info = {=is_smart_in_combat(yan_smart_terrain_6_4)} nil, {=smart_captured_by_faction(yan_smart_terrain_6_4:zombied)} nil, nil %-yan_alarm_signal_stalkers_cut2% ------------------------------------------------------------------------------- 5) Склады. Убрано появление 'пройденного' задания с Янтаря: следовать на крышу ангара за сталкером. ------------------------------------------------------------------------------- Если во время выполнения задания по охлаждению установки на Янтаре не проследовать точно в указанное место на крыше, то можно пройти дальше, но задание с крышей остаётся активным. В начале этого не заметно, т.к. приоритеты других сюжетных заданий выше, но после оно вылезает на первое место. Файл tm_yantar.ltx Для данного квеста добавлена проверка на завершение всей операции по отключению установки. #27 [yan_repair_defend] #28 prior = 3 #29 type = storyline #30 task_type = storyline #31 icon = ui_mt_image_attack_tower #32 target_story_ids = 801 #33 name = yan_repair_defend_name #34 text = yan_repair_defend_text #35 condlist_0 = {+yan_ready_actor_position_cut6} complete #36++ condlist_1 = {+yan_stop_spawn_cut6} complete #37 on_complete = %+yan_hold_position_cut6% -------------------- ----- 05.10.08 ----- -------------------- ---------------------------------------------------------------------------- 6) Болото. Восстановлено одно не работавшее второстепенное задание. ---------------------------------------------------------------------------- Из-за ошибки в описании, задание на поиск артефакта не работало. Файл tm_marsh.ltx #390 [mar_recover_item_3] ;Артефакт #391 type = recover_item #392 task_type = additional #393 name = st_recover_item_3_name #394 text = st_recover_item_3_text #395 target_npc_or_box_name = mar_recover_item_3_stalker #396 distanse = 100 #397 prior = 2 #398 faction = csky #399-- on_init = {=actor_on_level(marsh) -mar_recover_item_3_done} true, false #400-- on_complete = %+mar_recover_item_3_done% #399++ target_cond = {=actor_on_level(marsh) -mar_recover_item_3_done} true, false #400++ on_init = %+mar_recover_item_3_done% #401 requested_items = mar_quest_af_cristall_flower_1 #402 community_relation_delta_complete = 300 #403 reward_money = {~20} 1000, {~50} 750, 500 #404 auto_faction = true ---------------------------------------------------------------------------- 7) Везде. Исправлен вылет при попытке лечения любого раненного ЧН-ца. ---------------------------------------------------------------------------- В описании фраз, используемых для лечения, нет группировки ЧН, что в пятом патче приводит к вылету при попытке дать раненому аптечку. Файл dialog_manager.ltx Прописал для ЧН несколько фраз. #3281 [dm_help_1] #3282 category = intro #3283-- npc_community = stalker, freedom, dolg, killer, bandit #3283++ npc_community = stalker, freedom, dolg, killer, bandit, csky #3284 level = all #3285 wounded = true #3299 [dm_help_4] #3300 category = intro #3301-- npc_community = stalker, freedom, dolg, killer #3301++ npc_community = stalker, freedom, dolg, killer, csky #3302 level = all #3303 wounded = true #3317 [dm_help_7] #3318 category = intro #3319-- npc_community = stalker, freedom, dolg, killer #3319++ npc_community = stalker, freedom, dolg, killer, csky #3320 level = all #3320 wounded = true #3329 [dm_help_9] #3330 category = intro #3331-- npc_community = stalker, freedom, dolg, killer #3331++ npc_community = stalker, freedom, dolg, killer, csky #3332 level = all #3333 wounded = true ---------------------------------------------------------------------------- 8) Везде. Исправлено странное исчезновение сталкеров рядом с ГГ. ---------------------------------------------------------------------------- Баг связан с неправильным определением расстояния от атакующего отряда до атакуемого лагеря. Считалось расстояние от текущего положения (локальные координаты) отряда до положения (локальные координаты) лагеря. Не учитывались локации этих позиций. Иногда возникали ситуации, при которых локальные координаты совпадали для разных локаций. При этом включался механизм офлайного боя. Если ГГ находился рядом с одним из отрядов, то 'бой' был односторонним, т.к. рядом стоящие бойцы были в онлайне. При этом происходит безнаказанное уничтожение онлайновых бойцов офлайновыми с другой локации. Файл sim_combat.script (и fixme.script) Добавлена проверка уровня. #446 if data._stage == "move" then #447 if not squad.squad_online then #448 local comander = alife():object(squad.commander_id) #449-- if comander.attack_position ~= nil and #449++ if comander.attack_position ~= nil and fixme.is_same_level(self.smart, comander) and #450 comander.position:distance_to_sqr(comander.attack_position) < SQUAD_COME_ATTACK_OFFLINE_DIST #451 then #452 data._stage = "prepare" #453 end #454 end #455 end
|