Это популярное сообщение. monk 2 882 Опубликовано 23 Мая 2013 Это популярное сообщение. Поделиться Опубликовано 23 Мая 2013 СТАЛКЕР CS: Final stroke 0.9 Авторы: monk, Kirgudu. Тестер: -Xan39- Размер архива: 1351 Мб Скрытый текст Представляем вашему вниманию мод STALKER CS: Final stroke. STALKER CS: Final stroke — это переосмысление мода OGSM CS 1.8 CE Fixes, призванный во первых устранить, по возможности, недочёты дефолтной игры, дать дальнейшее развитие модам Old Good Stalker Mod: Clear Sky 1.8 Community Edition и OGSM CS 1.8 CE Fixes. Плюс просто захотелось добавить разных «красивостей», которые не влияют на баланс игры, но привносят разнообразие в игровой процесс. Скрытый текст Порядок установки: 1) Русская лиц-я версия ЧН 1.5.10; 2) СТАЛКЕР CS: Final stroke 0.9; После установки начать новую игру. Примечание: мод OGSM CS 1.8 CE Fixes уже включён в данный архив, отдельно ставить не надо. Примечание 2: Файл настройки опций мода fsm_options.script находится по адресу gamedata/scripts. Сборник обновлён 15.03.2026 Ссылки на последнюю версию: Часть 1 https://disk.yandex.ru/d/E0Y5aNFxIZMEXQ Часть 2 https://disk.yandex.ru/d/PmhnKdIy-gUJ8Q Скрытый текст Выражаю огромную признательность тем людям, чьи наработки и идеи я так или иначе использовал. Отдельная благодарность за помощь, советы, идеи: @Kirgudu, @warwer, @Charsi, @Jurok, @power-cat, @Cyclone, @Chriotmao, @Dimus, @Korpus, @gridgt, @-Xan39-, @Bak, @Part1san, @BFG, @nasar75, @Капрал Хикс, @Maksud, @Купер, @alex5773, @Igrok1122, @Ekaina, Pilot, ted.80, volk_40k, hetrikWHY, Nestandart_5443, Драный, Mass, Eduardito, andreyholkin. При описании своей проблемы с модом, обязательно указывайте какая версия игры и мода установлена. Лог вылета выкладывайте начиная со строки "Клиент: Синхронизация". Если строка "Клиент: Синхронизация" в логе отсутствует, то копируйте 10 строк выше строки "FATAL ERROR ". При несоблюдении указанных требований, ваша проблема может остаться только вашей проблемой. Не пользуйтесь автосейвами и квиксейвами. Все сохранения и загрузки только через главное меню игры. Если что-либо самостоятельно правили в моде, то прошу про глюки, вылеты и баги в данной теме не отписывать. Решайте свои проблемы самостоятельно. Никакие ошибки GOG, трилогий, правильных топологий, репаков и прочей пиратской дряни, а также серебряных и иже с ними версий не принимаются. Если у вас такая стоит - это уже ваши проблемы. В теме можете не писать - отвечать не буду. В топике указан правильный порядок установки, ему и следуем. Стим версия также не рассматривается. © monk 20 60 1 1 3 Мятеж не может кончиться удачей, - В противном случае его зовут иначе. С.Я. Маршак Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/
Kirgudu 1 370 Опубликовано 4 Марта 2015 Поделиться Опубликовано 4 Марта 2015 Возможно ли ввести в уборщик запрет на удаление трупа, если его инвентарь открыт игроком? Возможно отсрочить уборку трупов, если вообще открыт какой-либо диалог. Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-921794
warwer 900 Опубликовано 4 Марта 2015 Поделиться Опубликовано 4 Марта 2015 А разве трупы убираются не при переходе на другую локу? Что то я запамятовал... HARDWARM☢D Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-921809
Kirgudu 1 370 Опубликовано 4 Марта 2015 Поделиться Опубликовано 4 Марта 2015 При переходе убираются трупы мутантов, оружие, а также могут убираться трупы некоторых квестовых НПС. Обычные же НПС при смерти помещаются в специальную сохраняемую таблицу. Затем, при смерти следующих НПС, идёт перебор этой таблицы, и если время, прошедшее с момента смерти записанного НПС, превышает определённую величину, тогда удаляется этот старый труп. Так вот, можно добавить дополнительную проверку, чтобы такое удаление не происходило в то время, как открыто любое скриптовое окно. К сожалению, я не знаю способа проверить принадлежность открытого инвентаря конкретному объекту. Поэтому только так. Сделать? Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-921813
monk 2 882 Опубликовано 4 Марта 2015 Автор Поделиться Опубликовано 4 Марта 2015 Сделать? Думаю, что надо попробовать. Лишним не будет. Мятеж не может кончиться удачей, - В противном случае его зовут иначе. С.Я. Маршак Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-921819
Kirgudu 1 370 Опубликовано 4 Марта 2015 Поделиться Опубликовано 4 Марта 2015 https://yadi.sk/d/pqhjUPmsf35zc Заодно слегка оптимизировал чистильщик OGSM. Точно надо проверить, что при удалении любых старых трупов НПС не появилось ошибок. Желательно проверить, что они вообще продолжают удаляться. Вторая задача - проверить отсутствие вылета во время уборки трупа, в инвентаре которого шарим. Но это сложнее поймать, так что как повезёт. В качестве условия можно принять то, что период «состаривания» трупа НПС в скрипте задан равным 15 минутам реального времени. Вот от этого можно и плясать. Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-921824
monk 2 882 Опубликовано 4 Марта 2015 Автор Поделиться Опубликовано 4 Марта 2015 (изменено) @Kirgudu, пойду проверять. По результату отпишусь. Спасибо. Изменено 4 Марта 2015 пользователем monk Мятеж не может кончиться удачей, - В противном случае его зовут иначе. С.Я. Маршак Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-921825
alex5773 1 335 Опубликовано 4 Марта 2015 Поделиться Опубликовано 4 Марта 2015 (изменено) Kirgudu, и это нормально, так и надо? В смысле "^" , что это означает то, и зачем оно? ---------------------------- Copyright 2010-2011 Minister --------------------------------------------- “борщик бесхозного оружиЯ и залежалых трупов мутантов ----------------------------------------------- Last edit: 04.03.2015 ---------------------------------function clean()local actor_loc = game_graph():vertex(alife():actor().m_game_vertex_id):level_id()for i = 1, 65535 dolocal obj = alife():object(i)if obj thenlocal obj_loc = game_graph():vertex(obj.m_game_vertex_id):level_id()if obj_loc ~= actor_loc then-- if ((IsMonster(obj) and obj.alive and not obj:alive()) orif (isWeapon(obj) and obj.parent_id == 65535 and try_to_release(obj))or (IsStalker(obj) and try_to_release_special_npc(obj))thenogsm.dbglog("ogsm_cleaner_release_"..obj:name())alife():release(obj, true)endendendendendlocal holy_objects = {"^wpn_desert_eagle","^wpn_fn2000","^wpn_aps","^wpn_gsh18","^wpn_tt33","^wpn_fn57","^wpn_akm","^wpn_rpk","^wpn_ak101","^wpn_ak108","^wpn_ump45","^wpn_sig550sniper","^wpn_p90","^mar_wpn_mp5","^mar_wpn_ak74","^mar_wpn_ak74u","^mar_wpn_ak74u_0000","^mar_wpn_ak74u_0001","^mar_boar_weak","^mar_boar_strong","^mar_boar_weak_0000","^mar_boar_weak_0001","^mar_boar_weak_0002","^mar_wpn_vintorez","^gar_dog_normal_messenger_dead_1","^gar_dog_normal_messenger_dead_2","^gar_dog_normal_messenger_dead_3","^gar_dog_normal_messenger_dead_4","^gar_wpn_pm","^esc_wpn_ak74u","^esc_grenade_rgd5","^esc_grenade_rgd5_0000","^esc_grenade_rgd5_0001","^esc_grenade_rgd5_0002","^esc_grenade_rgd5_0003","^esc_dog_normal","^esc_dog_normal_0000","^esc_dog_normal_0001","^esc_dog_weak","^esc_dog_weak_0000","^esc_dog_strong","^esc_dog_strong_0000","^esc_wpn_wincheaster1300","^esc_grenade_rgd5_0004","^esc_wpn_fort","^esc_medkit","^agr_dog_strong","^agr_dog_strong_0000","^agr_dog_normal","^agr_dog_weak","^agr_dog_strong_0001","^agr_dog_weak_0000","^agr_dog_strong_0002","^agr_dog_strong_0003","^agr_dog_strong_0004","^agr_dog_normal_0000","^agr_dog_weak_0001","^agr_dog_normal_0001","^agr_dog_strong_0005","^agr_dog_normal_0002","^agr_dog_weak_0002","^agr_dog_weak_0003","^agr_bloodsucker_normal_0000","^agr_dog_normal_0003","^agr_dog_normal_0004","^agr_dog_strong_0007","^agr_dog_strong_0008","^agr_dog_weak_0004","^agr_dog_weak_0005","^agr_dog_normal_0005","^agr_tushkano_normal","^agr_tushkano_normal_0000","^agr_tushkano_normal_0001","^agr_tushkano_normal_0002","^agr_tushkano_normal_0004","^agr_tushkano_normal_0006","^agr_tushkano_normal_0007","^agr_wpn_walther","^agr_grenade_rgd5","^mil_bloodsucker_strong","^mil_wpn_ak74","^mil_wpn_ak74_0000","^mil_wpn_ak74_0001","^mil_wpn_ak74_0002","^mil_grenade_f1","^mil_grenade_f1_0000","^mil_grenade_f1_0001","^mil_wpn_abakan","^mil_wpn_abakan_0000","^mil_wpn_abakan_0001","^mil_wpn_abakan_0002","^red_wpn_rg%-6","^lim_wpn_rg%-6"}function try_to_release(obj)local obj_name = obj:name()for i = 1, #holy_objects doif string.find(obj_name, holy_objects) then return false endendreturn trueendfunction try_to_release_special_npc(obj)-- экологи на Ѓолотах после первого перехода на другую локациюif string.find(obj:name(), "^marsh_dead_ecolog") then return true end-- бойцы —Ќ на Ѓолотах после посещениЯ Љордонаif has_alife_info("esc_visited_level") and string.find(obj:name(), "^mar_stalker") then return true end-- бандиты на Љордоне после финального диалога с •алецким (или о •алецком с ‚алерьЯном?)if has_alife_info("esc_prisoner_complete_dialog") and string.find(obj:name(), "^esc_bandit_dead") then return true end-- сталкеры на ‘валке после перехода в ’Юмную долинуif has_alife_info("val_talked_to_blockpost_leader_complete") thenif string.find(obj:name(), "^gar_stalker_corpse") or string.find(obj:name(), "^gar_sim_default_digger") then return true endend-- бойцы ‘вободы в ’Юмной долине после перехода на Ђгропромif has_alife_info("agr_garbage_end") thenif string.find(obj:name(), "^val_freedom_dead_blockpost") or string.find(obj:name(), "^val_stalker_corpse") then return true endend-- сталкеры на Ђгропроме после ???if has_alife_info("agr_actor_inside_9") and string.find(obj:name(), "^agr_stalker_corpse") then return true end-- сталкеры в ђыжем лесу после нахождениЯ телепортаif has_alife_info("red_actor_find_teleport") and string.find(obj:name(), "^red_stalker_0001") then return true endend---------------- “борщик бесхозного оружиЯ и залежалых трупов мутантов -------------------------------------------- Copyright 2010-2011 Minister ----------------------------- Изменено 4 Марта 2015 пользователем alex5773 Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-921851
Max Warlock 398 Опубликовано 4 Марта 2015 Поделиться Опубликовано 4 Марта 2015 @alex5773, что-то вроде, "если в X содержится y". Хотя я тоже не понимаю, зачем это в некоторых местах. Как по мне, то лишний наворот. Не везде он необходим. Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-921852
Kirgudu 1 370 Опубликовано 5 Марта 2015 Поделиться Опубликовано 5 Марта 2015 (изменено) Использование знака «^» при вызове метода string.find( a, b ) означает, что строка b должна найтись в самом начале строки a. Пример: string.find("Слон может работать хоботом", "^Слон может") - вернёт 1, 10 (начало и конец найденного фрагмента) string.find("Слон может работать хоботом", "^работать хоботом") - вернёт nil Впрочем, давайте не оффтопить, это вопрос для темы «Скриптование». А вот что я увидел - так это какую-то неправильную, судя по русскому тексту, кодировку файла. Возможно, Mac-кодировка затесалась. Поправлю и перешлю автору. Изменено 5 Марта 2015 пользователем Kirgudu Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-921957
monk 2 882 Опубликовано 6 Марта 2015 Автор Поделиться Опубликовано 6 Марта 2015 По результату отпишусь. Пока вылетов не обнаружено. Тестю дальше. 2 Мятеж не может кончиться удачей, - В противном случае его зовут иначе. С.Я. Маршак Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-922339
DJ.Orb.Warpal 40 Опубликовано 9 Марта 2015 Поделиться Опубликовано 9 Марта 2015 Фикс включен в сборник? Ну где вылет на агропроме? Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-923083
Dimus 121 Опубликовано 9 Марта 2015 Поделиться Опубликовано 9 Марта 2015 Отвечу вопросом на вопрос: каким образом этот фикс может быть включен в сборник фиксов от 30.12.2014, если вылет на Агропроме был обнаружен уже после выпуска этой версии сборника? Ведь @monk выкладывал обязательный фикс (рабочая ссылка на предыдущей странице), а не перезаливал исправленную версию сборника. Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-923125
monk 2 882 Опубликовано 9 Марта 2015 Автор Поделиться Опубликовано 9 Марта 2015 Всё-таки словил вылет при обыске трупа... Ладно, тестю дальше. Мятеж не может кончиться удачей, - В противном случае его зовут иначе. С.Я. Маршак Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-923252
Dimus 121 Опубликовано 10 Марта 2015 Поделиться Опубликовано 10 Марта 2015 Хочу спросить у знатоков следующее: почему у тайников, наводки на которые продают NPC в баре на базе "Долга", указано community = duty? [agr_duty_trader_secret_1] target = agr_duty_trader_secret_1 name = agr_duty_trader_secret_1_name description = agr_duty_trader_secret_1_descr items = medkit_army, 1, antirad, 2 community = duty condlist = {-agr_duty_trader_secret_1 +agr_duty_trader_secret_1_give} true treasure_cost = 800 say_item_name = false [agr_duty_bar_secret_1] target = agr_duty_bar_secret_1 name = agr_duty_bar_secret_1_name description = agr_duty_bar_secret_1_descr items = ammo_vog-25, 4 community = duty condlist = {-agr_duty_bar_secret_1 +agr_duty_bar_secret_1_give} true treasure_cost = 300 say_item_name = false [agr_duty_bar_secret_2] target = agr_duty_bar_secret_2 name = agr_duty_bar_secret_2_name description = agr_duty_bar_secret_2_descr items = medkit_army, 1, ammo_m209, 2 community = duty condlist = {-agr_duty_bar_secret_2 +agr_duty_bar_secret_2_give} true treasure_cost = 900 say_item_name = false [agr_duty_bar_secret_3] target = agr_duty_bar_secret_3 name = agr_duty_bar_secret_3_name description = agr_duty_bar_secret_3_descr items = ammo_m209, 4 community = duty condlist = {-agr_duty_bar_secret_3 +agr_duty_bar_secret_3_give} true treasure_cost = 400 say_item_name = false [agr_duty_bar_secret_4] target = agr_duty_bar_secret_4 name = agr_duty_bar_secret_4_name description = agr_duty_bar_secret_4_descr items = medkit, 2, medkit_army, 1, antirad, 1 community = duty condlist = {-agr_duty_bar_secret_4 +agr_duty_bar_secret_4_give} true treasure_cost = 1200 say_item_name = false Во первых, почему именно duty, а не dolg? Во вторых, у прочих квестовых тайников не указана принадлежность к группировке. Насколько я понял, параметр community нужен для случайных тайников. Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-923335
monk 2 882 Опубликовано 10 Марта 2015 Автор Поделиться Опубликовано 10 Марта 2015 @Dimus, так как тайники покупные, то вообще не важно, что там написано дути или долг. Можешь написать хоть монолит, хоть вообще убрать - всё равно их будут продавать посетители бара Колобка. Мятеж не может кончиться удачей, - В противном случае его зовут иначе. С.Я. Маршак Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-923337
Dimus 121 Опубликовано 10 Марта 2015 Поделиться Опубликовано 10 Марта 2015 А как насчёт тайников типа "Сейф Валерьяна", "Тайник майора Халецкого", "Тайник Контрабандиста" и т.п.? Там нужно указывать параметр community? Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-923349
monk 2 882 Опубликовано 10 Марта 2015 Автор Поделиться Опубликовано 10 Марта 2015 (изменено) @Dimus, не знаю. Но если убрать этот параметр у тайника Репкина или Сидора, то они не продают тайники. Можно поэкспериментировать с тайниками Валерьяна и Халецкого. Но вот скажи: зачем оно тебе? Всё работает? Работает. Так, как говорится, зачем чинить то, что не сломано? Изменено 10 Марта 2015 пользователем monk 1 Мятеж не может кончиться удачей, - В противном случае его зовут иначе. С.Я. Маршак Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-923353
Dimus 121 Опубликовано 12 Марта 2015 Поделиться Опубликовано 12 Марта 2015 У кого и при каких условиях в моде OGSM со сборником фиксов можно получить на Кордоне наводку на тайник новичка? [esc_treasure_novice_stalker] ;Тайник новичка target = esc_treasure_novice_stalker name = esc_treasure_novice_stalker_name description = esc_treasure_novice_stalker_descr items = ammo_5.45x39_ap, 180 community = stalker condlist = false Информация об остальных тайниках на этой локации (включая все случайные) уже получена. Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-923866
monk 2 882 Опубликовано 12 Марта 2015 Автор Поделиться Опубликовано 12 Марта 2015 @Dimus, этот тайник продаёт Бродяга, которого спасаешь по просьбе Волка. И мод ОГСМ или мой сборник тут совсем не причём, так с дефолта ещё идёт. Мятеж не может кончиться удачей, - В противном случае его зовут иначе. С.Я. Маршак Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-923879
Dimus 121 Опубликовано 13 Марта 2015 Поделиться Опубликовано 13 Марта 2015 (изменено) Извини, но здесь ты неправ, потому что Бродяга продаёт наводку на другую нычку: [esc_quest_treasure_9] ;Кейс за свалкойtarget = esc_q9_t_aname = st_esc_q9_t_adescription = st_esc_q9_t_a_descritems = antirad, 5condlist = {=check_npc_name(esc_stalker_novice) +esc_wolf_novice_3} true, falsetreasure_cost = 1400say_item_name = false Спасённый из бандитского плена Пёс продаёт наводку на этот тайник: [esc_quest_treasure_8] ;Ложная могилаtarget = esc_q8_nname = st_esc_q8_ndescription = st_esc_q8_n_descritems = explosive_dinamit, 3condlist = {=check_npc_name(wolf_brother) +esc_wolf_brother_3} true, falsetreasure_cost = 1000say_item_name = false А Волк торгует информацией о тайнике другого новичка: [esc_quest_treasure_7] ;Кейс под вагономtarget = esc_q7_nname = st_esc_q7_ndescription = st_esc_q7_n_descritems = mutant_dog_tail, 2condlist = {=check_npc_name(esc_wolf) +esc_wolf_novice_4} true, falsetreasure_cost = 1600say_item_name = false Наводки на эти и все другие тайники на Кордоне (покупные и случайные), кроме esc_treasure_novice_stalker, у меня уже есть. Ещё у меня есть пара вопросов: 1. Иногда при отсутствии радиоактивного заражения Шрам заявляет, что не может заснуть до тех пор, пока не закусит антирадом. Повторная попытка поспать без использования антирада работает без проблем. Почему это происходит? 2. Введённые в последнем сборнике фиксов задания вида "принести предметы" (оружие, патроны, гранаты, медикаменты и водку) не блокируют квесты "принести особый предмет" (уникальное оружие, особый артефакт и т.п.)? Потому что командиры отрядов чаще всего давали задания на захват определённой точки и доставку обычных предметов. P.S.: конечно, я знаю о заблокированном случайном тайнике под тепловозом, [esc_treasure_6] ;Под локомотивом target = esc_treasure_6 name = st_esc_rucksack_01_pod_train description = st_esc_rucksack_01_pod_train_descr items = conserva, 4, vodka, 1, energy_drink, 2 community = stalker condlist = {=actor_on_level(escape:garbage)} true, false потому что на его месте по квесту "принести особый предмет" появляется "волшебная" водка. Изменено 13 Марта 2015 пользователем Dimus 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/12743-stalker-cs-final-stroke-09/page/56/#findComment-923983
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти