hetrikWHY 34 Опубликовано 19 Апреля 2021 Лицензия 1.5.10. OGSM CS 1.8 CE Fixes (15.01.2021). Что-то непонятное творится с ценами. Например: Шилов, база Нейтралов (trade_trader_esc_stalker.ltx). Базовые патроны 9х18 (ammo_9x18_fmj), базовая цена - 150р. Непосредственно перед вступлением в нейтралы (шкала друзей - ровно половина, 7 полных желтых делений). Покупает за 52р. Вступаем, шкала друзей полная. Покупает за 45р. И так повсеместно. Проверял нескольких торговцев-Нейтралов, будучи в группировке - если у них на покупку вещей стоит диапазон (вида 0.3, 0.4) - всегда берется меньший коэффициент. С другими группировками не тестил, но внезапно наткнулся на свой же пост от 2015 года (про который я даже не помнил). Также не удавалось продать вещь (для которой у торговца диапазон коэффициентов) по максимуму. С максимально дружественным отношением без вступления в группировку тот же 9х18 - 52р (0.346) при разбросе (0.3, 0.4). Можно ли достичь предела? Есть ли какие-то скрытые параметры, кроме отношения группировки, которые влияют? P.S. как редактировать посты? :D UPDATE: От сложности часом не зависит? На мастере играю. Поделиться этим сообщением Ссылка на сообщение
hetrikWHY 34 Опубликовано 19 Апреля 2021 Да претензий то никаких. Более того, спасибо тебе (и остальным участникам OGSM и фикса) за этот титанический труд по доведению до ума этой классной игры! Если работа над модом остановлена - расценивай это как вопрос новичка к ветерану. "Почему так и как можно исправить?" В случае возможности будущих апдейтов - это еще и предложение по улучшению мода. Поделиться этим сообщением Ссылка на сообщение
hetrikWHY 34 Опубликовано 23 Апреля 2021 Поймал стабильный вылет. Агропром, "Стоянка у валуна". Там две группы монстров (две красных точки): 3 слепых пса и 3 псевдособаки (не пси). Убиваю, лутаю. Начинаются постоянные статтеры раз в несколько секунд, как при подходе к большому скоплению НПС. Далее иду в долговский Тир. Выигрываю одну (ВАЛ, на очки, за 1000). При попытке сохранения - краш. Скрытый текст Error Reason: ---------------------------------------- xrEngine.exe caused BREAKPOINT in module "(путь к игре)\S.T.A.L.K.E.R. Clear Sky\bin\xrCore.dll" at 001B:1001B944, xrDebug::backend()+164 byte(s) User Message: ---------------------------------------- Expression : fatal error Function : CScriptEngine::lua_error File : E:\priquel\sources\engine\xrServerEntities\script_engine.cpp Line : 180 Description : <no expression> Arguments : LUA error: ...\s.t.a.l.k.e.r. clear sky\gamedata\scripts\_g.script:2274: attempt to call global 'exit' (a nil value) Скрытый текст Клиент: Синхронизация... * phase time: 11 ms * phase cmem: 445514 K * [win32]: free[386992 K], reserved[97652 K], committed[1612444 K] * [ D3D ]: textures[707893 K] * [x-ray]: crt heap[445514 K], process heap[874222 K], game lua[67210 K], render[5539 K] * [x-ray]: economy: strings[19462 K], smem[7008 K] * MEMORY USAGE: 461423 K * End of synchronization A[1] R[1] * Saving spawns... * Saving objects... * Log file has been saved successfully! FATAL ERROR [error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : E:\priquel\sources\engine\xrServerEntities\script_engine.cpp [error]Line : 180 [error]Description : <no expression> [error]Arguments : LUA error: ...\s.t.a.l.k.e.r. clear sky\gamedata\scripts\_g.script:2274: attempt to call global 'exit' (a nil value) stack trace: Грешил на пси-атаку псевд, завалил издали - та же фигня. Иногда при тесте Звягинцев даже играть не хочет, только обычный диалог: "Что ты можешь мне предложить?" и "До встречи". ЧН 1.5.10. OGSM CS 1.8 CE Fixes от 15.01.2021. В лимит оперативы не упирается, процесс кушает ~1.45GB на момент вылета. Сейвы (перед собаками и с багнутым диалогом) прилагаются Поделиться этим сообщением Ссылка на сообщение
hetrikWHY 34 Опубликовано 23 Апреля 2021 9 минут назад, monk сказал(а): у тебя странная манера играть: взял квест - недоделал - бросил - ушёл Да там два квеста на захват точек, на которые ребята идти ваще не хотят, уже сто лет висят. Тот, что на арт - жаба душит -6 радиации сдавать, Велеса то нету Еще пара квестов на вынос ништяков из подземки сюжетной. А она суровая - я туда каааак полез, каааак огреб. Мне страшно теперь. ЧН я ни разу не проходил, кто ж знал что там такой ужас. Вот и коплю на бронетрусы посерьезнее, да бабахалко позлее. Бандиты полезные, я их берегу Они со сталкерами повоюют, я 8 тел обшмонаю, 10-15к как с куста. А если Заря с кого выпадет - так и все 25, благо чинится она тыщи за три и тут же загоняется Дрозду за аж целую десятку! 19 минут назад, monk сказал(а): Чуть не истёк кровью от рваных ран псевдопсов У меня для сего дела специально обученный шарик с собой, Пламя Я как приобрел его за страшные деньги у какого-то сурового анархиста, так и забыл про бинтики. Вот копятся помаленьку Поделиться этим сообщением Ссылка на сообщение
hetrikWHY 34 Опубликовано 13 Мая 2021 Уже сто лет висят два квеста на удержание точек для сталкеров. Думал, они отменятся, если попробую вступить в другую группировку. Ан нет Поэтому такой вопрос: Если я в \gamedata\scripts\task_objects.script в функции CCaptureSmartTask:check_title(is_counterattack) делаю так Скрытый текст if self.board.smarts[self.target].smrt.player_name == "none" then if self.board:actor_near_smart(self.board.smarts[self.target].smrt) then убрал эту строку: self.t:set_title("sim_capture_wait_smart") добавил эту: self.last_check_task = "complete" return end end и подошел к зависшей точке, чтоб задание выполнилось, больше ничего не нужно? Ничего не сломается? Правку я откачу после того, как схожу на оба висяка. Поделиться этим сообщением Ссылка на сообщение
hetrikWHY 34 Опубликовано 14 Мая 2021 Не припомню таких. Остальные либо не требуют принадлежности к группировке (зачистить монстров, принести зажигалку и т.п.), либо завершаются и без участия игрока (защитить лагерь). Но было бы неплохо иметь возможность отказаться у квестодателя от задания вроде "вернуть предмет", пусть и ценой репутации. Вот хочу я, например, побегать с Трофейным АКМ, который по статам круче обычного. Или оставить Каменный Цветок с болот, который на этом этапе игры как дар божий. Но товарищ monk категорически не рекомендует оставлять квесты-висяки. А по-другому никак. Есть и другие предложения: Скрытый текст 1. Фиолетовые тайники. Те, на которые покупаешь наводки. Их очень плохо видно. Перекрасить в более яркий. Мне пришлось в ui_common.xml перенаправить ссылки с фиолетовых на зеленые иконки, ибо фотошопа не имею. Сама текстура тут: \gamedata\textures\ui\ui_common.dds 2. Овощная смесь минула ассортимент барменов Файлы: \gamedata\configs\misc\trade\trade_barmen_all.ltx и trade_barmen_freedom.ltx 3. Принести артефакт Каланче/Сахарову Не дают на Снежинку. Сам квест присутствует в конфиге, но ссылки (вида kalancha_b_a_27) в на него нет. Правится здесь: \gamedata\configs\misc\rt_manager.ltx Исправленные файлы из 2 и 3 пунктов залил сюда. И ui_common.xml со ссылками на зеленую иконку до кучи. Еще я бы повысил шанс выпадения щупалец кровососов хотя бы до 0.7, но это уже вкусовщина. Задумка авторов понятна: чаще монстр - реже части. Но эти твари на голову опаснее и проблемнее всяких химер (которые валятся по методу кабанов хоть с ножа, только чуть дольше) и псевдогигантов. Путь: \gamedata\scripts\ogsm_mutants.script И закинул снайперский SIG куда-нибудь не раньше Янтаря, ибо при его наличии надобность в большинстве оружий отпадает, да и флешек на апгрейд не требует. Ну и вопрос: какой файл/строка отвечает (если вообще есть такое) за шанс выпадения артефакта в аномалии? Я бы уменьшил для tier3 и увеличил tier1/2. А то жирновато. Рыбок да Светляков уже десятки, Бенгальский огонь всего раз попался, а Грави даж в глаза не видел. 1 Поделиться этим сообщением Ссылка на сообщение
hetrikWHY 34 Опубликовано 21 Мая 2021 Задался целью привести привести в порядок цифры апгрейдов брони. На данный момент ни разу не ясно, сколько получишь после того или иного улучшения Скрытый текст Возьмем Экзоскелет Долга. Первый апгрейд радио/хим защиты: +32%. При его прокачке получаем +8 хим/радио к базовым 30. То есть, эти 32% не от 100. Может, от базового значения? Тоже нет, 30*0.32=9.6 (10). А у нас 8. У следующих двух апгрейдов указаны +25% и +28%, а на деле всё те же +8 единиц. Какая прелесть И так везде. Большая часть циферок будто бы взята из rand(99), в т.ч. на ванильных костюмах. И если на большей части шмота можно прокачать, заценить и загрузиться, то у экз с научками такой фокус не прокатит без флешек. Что сделано: Фактические показатели не затрагивались, только описание Значения апгрейдов Аномальной защиты и Защищённости из процентов переведены в единицы. У Пси-защиты также указано число, в довесок к пространному описанию. На апгрейдах Прочности указан процент, соответствующий реальному положению дел. Скрытый текст Почему единицы, а не проценты? Во-первых, нагляднее. Во-вторых, из-за парных апгрейдов (термо/электро, радио/хим). Нередко у двух защит разное базовое значение. Та же экза долга: 30радио/24хим. Соответственно один процент дает разный прирост, чего нет по факту. Зачем цифры добавлены пси защите? А изначально их не было, потому что. . гладиолус? Чем она хуже огня или химии? Странное решение разрабов ЧН Откуда такие странные показатели прочности? Возьмем ту же "СЕВА", которой я указал +50% на первом и +150% на втором апгрейде. Базовые иммунитеты: 0.03 (в основном), первый ап - 0.02 и второй - 0.01. Рассмотрим поподробнее: Пусть у костюма x очков жизни (прочность) Возьмем эти три коэффициента: 0.03, 0.02, 0.01 При базовых 0.03 нам нужно нанести х/0.03 ==> 33.3*х очков урона по нему до полной поломки При 0.02: х/0.02 ==> уже 50х (+50%) А при 0.01: х/0.01 ==> 100х (+200% от базового, т.е. +150% с учетом первого +50% апгрейда) Уменьшение коэффициента втрое - увеличивает втрое урон, который может вытерпеть броня, тем самым фактически втрое (+200%) увеличивая ее прочность. На данный момент готовы и протестированы все научки и экзы. Приобщиться можно здесь Если кому-нибудь сие поделие старого дотошного экономиста придётся по нраву, доделаю остальные броньки. В противном случае буду довольствоваться уже готовым, благо остальной шмот - лишь ступеньки к получению этих топовых цацок, и большей частью идет на продажу, моментально уплывая из памяти. UPD: Ах да. Скриншоты, скриншотики 1 Поделиться этим сообщением Ссылка на сообщение
hetrikWHY 34 Опубликовано 23 Мая 2021 По многочисленным просьбам трудящихся выкладываю свою поделку, под громким названием Скрытый текст Ссылка: https://www.mediafire.com/file/0o4exnc4934y5bp/OCD_Fixes_-_Outfit_Upgrades_1.0_%2823.05.21%29.zip/file Установка: Распаковать в gamedata Требования: OGSM CS 1.8 CE Fixes от 15.01.21 Основные изменения: Всем костюмам (51шт, в т.ч. неиграбельным СКАТ-10 и СКАТ-10м) изменены описания модификаций Защищенность, Термо/Электро/Радио/Хим-защита - теперь корректные и в единицах Пси-защита - указано количественное значение (в единицах) Прочность - показывает реальный прирост Мелкие правки: ПСЗ-9д "Броня Долга" изменены ошибочные иконки модификаций модификация "Двухслойный бронежилет" - исправлен бонус Прочности Бронекостюм ЧН-2 модификация "Двухслойный бронежилет" не давала никакого эффекта Облегчённый комбинезон наёмников модификация "Двухслойный бронежилет" - исправлен бонус Прочности Скрытый текст ПСЗ-9д "Броня Долга" Поменял иконки в o_dolg_outfit_up.ltx на соответствующие апгрейдам остальной брони этого уровня (upgrade_scheme_u14b). А картинка к апу Защищённости второго ряда вообще была от Прочности. Ссылку на иммунитет также перенаправил, дабы прочность была +100% - как у остальных с этой схемой. Ибо негоже Защитникам Человечества™ в рванье ходить Судя по тому, что эти иконки присутствуют во втором ряду костюмов (вроде svoboda_heavy_outfit и specops_outfit), в оригинале бывших ступенью выше, а также наличию у dolg_outfit третьей секции имунитетов в outfit.ltx, изначально она планировалась трёхрядной, но была разжалована Бронекостюм ЧН-2 Добавил cs_standart_outfit вторую секцию иммунитета и перенаправил ссылку у апгрейда. Ранее ссылалось на единственную базовую, т.е. ап прочности ничего не давал Облегчённый комбинезон наёмников Перенаправил апгрейд прочности на _2 секцию. Ранее ссылался на _1, давая +33% прочности. Апы остальных костюмов этой схемы давали +100%, в т.ч. у Бандитского комбинезона, коий по описанию - упрощённая версия наймовского 2 2 2 Поделиться этим сообщением Ссылка на сообщение
hetrikWHY 34 Опубликовано 24 Мая 2021 (изменено) @monk С оружием всё слишком печально. В любой ситуации качаешь ветку точности (кроме некоторых дробовиков), даже не смотря на цифры. 7 попаданий из 10 лучше чем 4/20 Тут не фиксить описания нужно, а кардинально перерабатывать все апгрейды, желательно с добавлением новых. Скрытый текст Стрела в колено Увеличение массы толкаемого пружиной поршня придает выстрелам значительно большую мощность. Теперь все полтора ваших попадания из 100 причиняют гораздо больше ущерба по слабозащищенным местам противника! Множитель урона по конечностям +50% или Великая точность - великая ответственность Дульное сужение, обеспеченное примотанным синей изолентой раструбом из обрезка вон той трубы, значительно увеличило точность боя. Однако подобные кустарные манипуляции не могли не сказаться на скорости износа ствола. Точность +30%, Надежность -60% Всегда находится мелочь, которую хочется добавить, подкрутить или вырезать. А я в кои-то веки хочу пройти игру, а не увязнуть на месяцы в моддинге, как это было с некоторыми другими играми. Очухиваешься через полтора года с десятком опубликованных модов, впятеро больше лежат в папке "разобрать", на рабочем столе ярлычки тыщи новых тулз, от калькулятора с тёмной темой до IDA Pro, а игра так и не пройдена. 21.05.2021 в 16:47, -Xan39- сказал(а): думаю, можешь спокойно из SGM CoP вытащить метки для особых тайников Да я уже решил что ну их, пусть будут зеленые. В конце концов, особые от случайных вообще ничем не отличаются с точки зрения необходимости отдельной иконки на миникарте. Изменено 24 Мая 2021 пользователем hetrikWHY 2 Поделиться этим сообщением Ссылка на сообщение
hetrikWHY 34 Опубликовано 25 Мая 2021 Назрела пара вопросов: 1. Хочу отключить автосейв при переходе на локацию. Похоже, надо закомментить функцию "function start_autosave(save_name)" в ogsm.script Просветите, я правильно делаю и безопасно ли это? Где-то мельком читал что переходы между локациями сделаны через сохранение и последующую загрузку, но подробностей не помню. 2. У кого-нибудь есть адаптированная под ЧН/OGSM авторазряжалка? На этой странице упоминалась, но ссылки прогоркли. Если нет, на каких моментах акцентировать тесты если я сам попробую её портировать? Хоть у меня и есть опыт ковыряния множества игр, именно он подсказывает, что в некоторых моментах могут быть нюансы. Особенно когда правишь куски незнакомого кода на незнакомом языке ни разу не пройденной игры И если минимальную плотность травы я безбоязненно правил прямо в движке, то там всё было довольно просто и понятно: вот консольная команда с вики, вот заботливо выделенный старой доброй IDA кусок кода, где минимум и максимум ссылаются на переменные из списка. Подбираем нужную, ссылаемся на нее и вуаля. Никаких подводных камней. А тут я бы не отказался от ваших советов и помощи. Заранее спасибо! Поделиться этим сообщением Ссылка на сообщение
hetrikWHY 34 Опубликовано 26 Мая 2021 (изменено) Вопросы снимаются. Спасибо @nasar75 за консультацию и @Купер что напомнил про наличие доп. файлов в комплекте с самим модом, где эта разряжалка и лежит. Скрытый текст [error]Arguments : LUA error: ... clear sky\gamedata\scripts\sim_squad_generic.script:1242: attempt to index global 'ogsm' (a nil value) Где файл скрипта всё время разнился. Бегло проглядев, заметил что перед -- авторазряжалка оружия on_take_callback не хватает end. Проставил и всё(?) заработало. Но странно, что до меня никем это дело не проверялось. Исправленная версия. И к другим новостям. Выровнял мушку АПС при прицеливании (для разрешения 5:4). Скрины: от бедра, прицел до, прицел после. Скачать фикс А также вопрос ко всем: Какие у вас ноу-хау для подобных правок конфигов? Я с этой мушкой минут 40 убил, из них добрые 35 на перезапуск игры. При правках trade или апгрейдов костюмов достаточно загрузки сейва, а тут ни в какую обновлять положение не хотело. Дописывание "-noprefetch -noshadows -r4xx" к ярлыку сэкономило мне от силы 10 секунд из 70 с каждого запуска. Пробовал консолью cfg_load делать, но ругается мол cannot open script file. Да и не уверен я что это сработало бы Изменено 26 Мая 2021 пользователем hetrikWHY Поделиться этим сообщением Ссылка на сообщение
hetrikWHY 34 Опубликовано 27 Мая 2021 (изменено) 7 часов назад, monk сказал(а): Проверялось и давно исправлено. Все рабочие ссылки на последнюю версию мода (от 24.01.2021) и доп. материалы находятся на сайте ap-pro. Скрытый текст https://ap-pro.ru/forums/topic/819-ogsm-cs-18-ce-fixes Сборник обновлён 24.01.2021 Ссылка: https://yadi.sk/d/Jczo37J4Fabu7A SHA256: B1DBC2DDE1E21F74E1E27BE833710E8458789394F737466AEA8534E82CF42F3B И там, в \OGSM_CS_1.8_CE_Fixes (15.01.2021)\Дополнительные файлы\Разряжание оружия (по мотивам TS MOD для COP от Tonny S.)\Разряжалка оружия\gamedata\scripts\ogsm.script не хватает одного 'end' 7 часов назад, monk сказал(а): Так что, хуже может быть. А вот и он, нюанс! Значится, откатываю правки. Тогда что насчет 25.05.2021 в 20:04, nasar75 сказал(а): может "слететь" логика объектов\рестрикторов Если изменить bind_physic_object.script как написано у nasar75 под спойлером, могут быть побочные эффекты? UPD: в том же самом ogsm.script, изменение iAutoSaveTimeout с 3 до, скажем, 7, мне не аукнется чем-нибудь? Комп у меня откровенно слабоват и со своей колокольни мне видится что 3 секунды ему может оказаться маловато чтоб всё прогрузить Изменено 27 Мая 2021 пользователем hetrikWHY Поделиться этим сообщением Ссылка на сообщение
hetrikWHY 34 Опубликовано 10 Июня 2021 Багфикс В файле \configs\misc\rt_manager.ltx параметры, где идет перечисление детекторов, нужно передавать через ":" вместо ", " сейчас: (detector_advanced, detector_elite) должно быть: (detector_advanced:detector_elite) Скачать Там исправленный файл (включая фикс Снежинки из этого сообщения) и тестовый файл (см. ниже) Скрытый текст Ставим файл из папки "тест", кондиции там такие: в медузе (detector_advanced, detector_elite) в выверте (detector_advanced:detector_elite) все остальные - (detector_elite) Идем к Каланче/Сахарову, имея из детекторов только Отклик На Медузу задание выдается, на Выверт - нет. Скрытый текст Открываем rt_manager в Notepad++ Ctrl+H все галочки кроме Wrap Around отключаем Find what: ", d" Replace with: ":d" (без кавычек) жмем Replace All UPD: надо бы пояснить про что я ваще Задумка мода такова, что задания "принести артефакт" выдаются лишь на те арты, которые может обнаружить имеющийся у ГГ детектор (если в инвентаре есть разные, то лучший из них). То есть, бегая с Откликом тебя не отправят за Вывертом, с Медведем - за Цветком. Но по факту это работало только для Медведя. 1 2 Поделиться этим сообщением Ссылка на сообщение
hetrikWHY 34 Опубликовано 11 Июня 2021 (изменено) Багфикс Файл \scripts\ogsm.script, function spawn_item_in_inv. Следует поменять math.random(0,1) на math.random() Скрытый текст math.random(a,b) - выдает целое число (integer) x в диапазоне a<=x<=b math.random() - выдает вещественное число (real number) от 0 до 1 (типа '0.55766475200653') Смотрим функцию: function spawn_item_in_inv(spawn_item, npc, p) if npc == nil then npc = db.actor end if p == nil then p = 1 end if math.random(0,1) <= p then return alife():create(spawn_item, npc:position(), npc:level_vertex_id(), npc:game_vertex_id(), npc:id()) end end Где 'p' это взятый из ogsm_mutants шанс выпадения части На данный момент шанс дропа с любого мутанта, будь то тушкан (0.02) или химера (0.9), равен 50% Ибо результат рандома может быть только 0 или 1. Какой шанс ни укажи - 0.0000001 или 0.99 - оно либо больше нуля, либо меньше единицы. Скачать фикс (для OGSM CS 1.8 CE Fixes от 15.01.21) Но если наворачивали что-нибудь поверх мода и не уверены, затрагивался ли ogsm.script (а он мог быть перезаписан аддоном 'Разряжание оружия' и бог знает чем еще), лучше открыть ваш файл и поправить самостоятельно, благо удалить 3 символа из скобок и нажать Ctrl+S это не rocket science. спасите я хочу играть в сталкер а не в нотепад++ я даже не настоящий сварщик о горе мне Изменено 11 Июня 2021 пользователем hetrikWHY 2 2 Поделиться этим сообщением Ссылка на сообщение
hetrikWHY 34 Опубликовано 14 Июня 2021 13.06.2021 в 05:23, monk сказал(а): объединить все правки Уже есть в планах, скоро выложу А когда планируется выход новой версии? Можно ли получить бету? Или ченджлог, иметь карту подводных камней чтоб не споткнуться тоже неплохо. P.S. Мельком поглядел участки с math.random в OGSM и ванилле, на предмет соответствия желаемого действительному. Скрытый текст Скрытый текст function action_mgun:check_fire_time() self.start_delaying_time = time_global() + math.random(-0.2, 0.2)*1000*self.st.fire_time math.random(-0.2, 0.2) - всегда выдает 0 Следовательно, self.start_delaying_time = time_global() + 0 Скрытый текст function action_go_position:execute () local delta_dist = math.random(0,0.5) math.random(0,0.5) - всегда 0 function CKampManager:getDestVertex(npc, radius) radius = self.position[self.npc[npc_id].position].radius or ( radius + math.random(-0.3,0.3) ) --#SM+#-- math.random(-0.3,0.3) - всегда 0 Скрытый текст function get_dest_vertex(npc, pp, pos_tbl, npc_pos, path_walk) local radius = 2 + math.random(-0.3,0.3) math.random(-0.3,0.3) - всегда 0 function action_surge_hide_go_position:execute() local delta_dist = math.random(0.8,0.8) math.random(0.8,0.8) - всегда 1 И вообще это ооочень странная конструкция, даже если закрыть глаза на нюансы рандома. Случайное число от 0.8 до 0.8? Мсье знает толк в извращениях! Причем в оригинале ЧН эта строка выглядит так: local delta_dist = math.random(0,0.5) (всегда выдавая 0) Конечно, можно было бы изменить эти конструкции для получения желаемого результата. Там, где планировался диапазон с точностью до одного знака после запятой, просто меняем math.random(-0.3,0.3) на ( math.random(-3,3) / 10 ) Но делать я этого не стал по двум причинам 1. У меня недостаточно знаний и опыта в области таких аспектов Сталкера, как логика и позиционирование. А лезть, плохо представляя даже тестирование изменений, чревато. 2. Есть ненулевой шанс, что есть правки, сделанные учитывая (или несмотря на) некорректные результаты рандома. Не хотелось бы спасать Ньютона от ушиба упавшим яблоком чтоб оказаться в мире не знающем про гравитацию Буду надеяться что мои изыскания пригодятся кому-то, занимавшемуся ковырянием трилогии чуть больше чем полчасика раз в пару дней на протяжении месяца Ну и собственно результаты теста (под спойлером), из которого видно, что math.random(0.8,0.8) всегда =1, а остальные - всегда =0. Добыто путем добавления нижеследующих строк в ogsm_marauder.script и последующим расстрелом базы ЧН во имя науки printff("math.random(0,0.5) = "..math.random(0,0.5)) printff("math.random(-0.3,0.3) = "..math.random(-0.3,0.3)) printff("math.random(0.8,0.8) = "..math.random(0.8,0.8)) printff("math.random(-0.2, 0.2) = "..math.random(-0.2, 0.2)) Скрытый текст ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 ! Cannot find saved game :>math.random(0,0.5) = 0 ! Cannot find saved game :>math.random(-0.3,0.3) = 0 ! Cannot find saved game :>math.random(0.8,0.8) = 1 ! Cannot find saved game :>math.random(-0.2, 0.2) = 0 1 Поделиться этим сообщением Ссылка на сообщение
hetrikWHY 34 Опубликовано 16 Июня 2021 Скомпоновал свои правки Скрытый текст Скачать сборник фиксов для фиксов к патчу для мода на ЧН Установка: Распаковать в gamedata Требования: OGSM CS 1.8 CE Fixes от 15.01.21 Список изменений: Исправлено описание эффекта апгрейдов аномальной защиты, защищённости и прочности у всех костюмов. Ранее показатели не имели ничего общего с реальностью. Добавлено численное описание эффекта у апгрейда пси-защиты Исправлен параметр прочности апгрейда «Двухслойный бронежилет» у броников «ПСЗ-9д», «ЧН-2», «Облегчённый комбинезон наемников» Скорректировано положение АПС при прицеливании на квадратных мониторах (5:4) Добавлена овощная смесь в ассортимент барменов Исправлено выпадение частей монстров. Ранее было 50% для всех; прописанные каждому монстру вероятности игнорировались из-за ошибки в скрипте. Исправлен менеджер случайных заданий «принести артефакт» у Каланчи/Сахарова: «принести Снежинку» не выдавалось; условие «имеется детектор уровня Х или выше» частично игнорировалось Скрытый текст костюмы куски собак снежинка и детектор X скрины к АПС 1 2 3 Поделиться этим сообщением Ссылка на сообщение
hetrikWHY 34 Опубликовано 23 Июня 2021 (изменено) Привет @elrik Я конечно не эксперт, и логи поглядел очень бегло. Но меня крайне смутило "Invalid weather name" в каком-то из них. По моему разумению, при корректной установке чистого мода подобное никак не может появиться. От себя порекомендую: Убедиться что стоит ЧН 1.5.10 Скачать мод отсюда (строка "Сборник обновлён 24.01.2021 Ссылка:"), если был взят из другого места Перед установкой полностью удалить папку gamedata Не ставить ничего из идущей с модом папки Дополнительные файлы (как минимум два, авторазряжалка и погода, битые) Мою компиляцию можешь ставить. Перепроверил ещё раз, там те самые фиксы, с которыми я начал новую игру не так давно и пока не поймал ни одного вылета И ещё, при первом прохождении у меня был стабильный вылет при начале новой игры если скипать катсцены. Может дело в моем стареньком компе и не всё успевало прогрузиться, но факт есть факт. P.S. Рабочую погоду можно взять там же где и мод ("Выкладываю доп. материал Погода из мода DZM_v1.0_rc1 для OGSM CS 1.8 CE Fixes") Изменено 23 Июня 2021 пользователем hetrikWHY Поделиться этим сообщением Ссылка на сообщение
hetrikWHY 34 Опубликовано 28 Июня 2021 (изменено) Апдейт Скриншоты новых опций в архиве. Скрытый текст Скачать Установка: Распаковать в gamedata Требования: OGSM CS 1.8 CE Fixes от 15.01.21 Список изменений: --------- 1.1 (от 28.06.21) --------- Исправлена редкая ситуация, когда стоимость ремонта уже выросла, а индикатор сломанного оружия еще отсутствует. Добавлена опция показа состояния вещи в окне ремонта. Включается в ocd_options.script. Добавлена опция привязки индикатора сломанного оружия от абстрактных величин к геймплейным: торговцы перестают покупать и удорожание ремонта из-за износа. Плюс индикатор для носимого костюма. Настраивается в ocd_options.script. --------- 1.0 (от 16.06.21) --------- Исправлено описание эффекта апгрейдов аномальной защиты, защищённости и прочности у всех костюмов. Ранее показатели не имели ничего общего с реальностью. Добавлено численное описание эффекта у апгрейда пси-защиты. Исправлен параметр прочности апгрейда «Двухслойный бронежилет» у броников «ПСЗ-9д», «ЧН-2», «Облегчённый комбинезон наемников». Исправлены ошибочные иконки апгрейдов у «ПСЗ-9д». Скорректировано положение АПС при прицеливании на квадратных мониторах (5:4). Добавлена овощная смесь в ассортимент барменов. Исправлено выпадение частей монстров. Ранее было 50% для всех; прописанные каждому монстру вероятности игнорировались из-за ошибки в скрипте. Исправлен менеджер случайных заданий «принести артефакт» у Каланчи/Сахарова: «принести Снежинку» не выдавалось; условие «имеется детектор уровня Х или выше» частично игнорировалось. Скрытый текст костюмы куски собак снежинка и детектор X скрины к АПС UPD: вместо "Распаковать в gamedata": "Распаковать, папку gamedata закинуть в папку с игрой" Изменено 28 Июня 2021 пользователем hetrikWHY 3 1 Поделиться этим сообщением Ссылка на сообщение
hetrikWHY 34 Опубликовано 13 Июля 2021 (изменено) @Kirgudu В function MutantManager:on_death(param), проверки if string.find(sect, "crow") then и elseif string.find(sect, "phantom") then ничего не делают, т.к. они отдельных классов и их смерть не триггерит death_callback из bind_monster. Хочу их убрать, но там ещё коммент 'Порядок проверки не менять!'. Подумал, может сам факт наличия этих проверок нужен для ogsm_notepad? Я в нём пока не особо разобрался. Изменено 13 Июля 2021 пользователем hetrikWHY Поделиться этим сообщением Ссылка на сообщение
hetrikWHY 34 Опубликовано 14 Июля 2021 @Kirgudu Если переместить проверку на какой-нибудь dog выше - до остального, содержащего сочетание dog, не дойдёт. Других нюансов нет? Про ковыряния уже уяснил. Позицию автора вполне понимаю и в чём-то разделяю Правки баланса и прочую вкусовщину, выходящую за рамки предназначения мода, я стараюсь больше не упоминать и тем более не выкладываю. А улучшения, исправления и всякие мелкие оптимизации пихаю в компиляцию. Жаль, времени свободного почти нет Пока даже не всё старое скомпоновал, а уже новое появляется по мере изучения кода и языка. Поделиться этим сообщением Ссылка на сообщение