Перейти к контенту

STALKER CS: Final stroke 0.9


monk

Рекомендуемые сообщения

Лицензия 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: От сложности часом не зависит? На мастере играю.

Поделиться этим сообщением


Ссылка на сообщение

Да претензий то никаких. Более того, спасибо тебе (и остальным участникам OGSM и фикса) за этот титанический труд по доведению до ума этой классной игры!

Если работа над модом остановлена - расценивай это как вопрос новичка к ветерану. "Почему так и как можно исправить?"

В случае возможности будущих апдейтов - это еще и предложение по улучшению мода.

Поделиться этим сообщением


Ссылка на сообщение

Поймал стабильный вылет.

Агропром, "Стоянка у валуна". Там две группы монстров (две красных точки): 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 на момент вылета.

Сейвы (перед собаками и с багнутым диалогом) прилагаются

 

Поделиться этим сообщением


Ссылка на сообщение
9 минут назад, monk сказал(а):

у тебя странная манера играть: взял квест - недоделал - бросил - ушёл

Да там два квеста на захват точек, на которые ребята идти ваще не хотят, уже сто лет висят. Тот, что на арт - жаба душит -6 радиации сдавать, Велеса то нету :dry:

 

Еще пара квестов на  вынос ништяков из подземки сюжетной. А она суровая - я туда каааак полез, каааак огреб. Мне страшно теперь. ЧН я ни разу не проходил, кто ж знал что там такой ужас. Вот и коплю на бронетрусы посерьезнее, да бабахалко позлее.

 

Бандиты полезные, я их берегу :ph34r: Они со сталкерами повоюют, я 8 тел обшмонаю, 10-15к как с куста. А если Заря с кого выпадет - так и все 25, благо чинится она тыщи за три и тут же загоняется Дрозду за аж целую десятку!

 

19 минут назад, monk сказал(а):

Чуть не истёк кровью от рваных ран псевдопсов

У меня для сего дела специально обученный шарик с собой, Пламя :biggrin: Я как приобрел его за страшные деньги у какого-то сурового анархиста, так и забыл про бинтики. Вот копятся помаленьку

Поделиться этим сообщением


Ссылка на сообщение

Уже сто лет висят два квеста на удержание точек для сталкеров. Думал, они отменятся, если попробую вступить в другую группировку. Ан нет

 

Поэтому такой вопрос:

Если я в \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

 

и подошел к зависшей точке, чтоб задание выполнилось, больше ничего не нужно?

Ничего не сломается? Правку я откачу после того, как схожу на оба висяка.

Поделиться этим сообщением


Ссылка на сообщение

Не припомню таких. Остальные либо не требуют принадлежности к группировке (зачистить монстров, принести зажигалку и т.п.), либо завершаются и без участия игрока (защитить лагерь).

 

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

Вот хочу я, например, побегать с Трофейным АКМ, который по статам круче обычного. Или оставить Каменный Цветок с болот, который на этом этапе игры как дар божий. Но товарищ 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

Поделиться этим сообщением


Ссылка на сообщение

Задался целью привести привести в порядок цифры апгрейдов брони.

На данный момент ни разу не ясно, сколько получишь после того или иного улучшения

 

Скрытый текст

 

Возьмем Экзоскелет Долга.

Первый апгрейд радио/хим защиты: +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

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@monk С оружием всё слишком печально. В любой ситуации качаешь ветку точности (кроме некоторых дробовиков), даже не смотря на цифры. 7 попаданий из 10 лучше чем 4/20

Тут не фиксить описания нужно, а кардинально перерабатывать все апгрейды, желательно с добавлением новых.

 

Скрытый текст

 

Стрела в колено

Увеличение массы толкаемого пружиной поршня придает выстрелам значительно большую мощность. Теперь все полтора ваших попадания из 100 причиняют гораздо больше ущерба по слабозащищенным местам противника!

Множитель урона по конечностям +50%

 

или

 

Великая точность - великая ответственность

Дульное сужение, обеспеченное примотанным синей изолентой раструбом из обрезка вон той трубы, значительно увеличило точность боя.

Однако подобные кустарные манипуляции не могли не сказаться на скорости износа ствола.

Точность +30%, Надежность -60%

 

 

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

 

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

Очухиваешься через полтора года с десятком опубликованных модов, впятеро больше лежат в папке "разобрать", на рабочем столе ярлычки тыщи новых тулз, от калькулятора с тёмной темой до IDA Pro, а игра так и не пройдена.

 

 

21.05.2021 в 16:47, -Xan39- сказал(а):

думаю, можешь спокойно из SGM CoP вытащить метки для особых тайников

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

Изменено пользователем hetrikWHY
  • Нравится 2

Поделиться этим сообщением


Ссылка на сообщение

Назрела пара вопросов:

 

1. Хочу отключить автосейв при переходе на локацию.

Похоже, надо закомментить функцию "function start_autosave(save_name)" в ogsm.script

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

 

2. У кого-нибудь есть адаптированная под ЧН/OGSM авторазряжалка? На этой странице упоминалась, но ссылки прогоркли.

Если нет, на каких моментах акцентировать тесты если я сам попробую её портировать?

 

Хоть у меня и есть опыт ковыряния множества игр, именно он подсказывает, что в некоторых моментах могут быть нюансы.

Особенно когда правишь куски незнакомого кода на незнакомом языке ни разу не пройденной игры :happy:

 

И если минимальную плотность травы я безбоязненно правил прямо в движке, то там всё было довольно просто и понятно: вот консольная команда с вики, вот заботливо выделенный старой доброй IDA кусок кода, где минимум и максимум ссылаются на переменные из списка. Подбираем нужную, ссылаемся на нее и вуаля. Никаких подводных камней.

А тут я бы не отказался от ваших советов и помощи. Заранее спасибо!

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Вопросы снимаются. Спасибо @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. Да и не уверен я что это сработало бы

Изменено пользователем hetrikWHY

Поделиться этим сообщением


Ссылка на сообщение
(изменено)
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 секунды ему может оказаться маловато чтоб всё прогрузить

Изменено пользователем hetrikWHY

Поделиться этим сообщением


Ссылка на сообщение

Багфикс

 

В файле \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

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Багфикс

 

Файл \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.

 

спасите я хочу играть в сталкер а не в нотепад++ я даже не настоящий сварщик о горе мне

Изменено пользователем hetrikWHY
  • Спасибо 2
  • Полезно 2

Поделиться этим сообщением


Ссылка на сообщение
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. Есть ненулевой шанс, что есть правки, сделанные учитывая (или несмотря на) некорректные результаты рандома.

Не хотелось бы спасать Ньютона от ушиба упавшим яблоком чтоб оказаться в мире не знающем про гравитацию

 

 

Буду надеяться что мои изыскания пригодятся кому-то, занимавшемуся ковырянием трилогии чуть больше чем полчасика раз в пару дней на протяжении месяца :laugh:

 

 

Ну и собственно результаты теста (под спойлером), из которого видно, что 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

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Привет @elrik 

Я конечно не эксперт, и логи поглядел очень бегло.

Но меня крайне смутило "Invalid weather name" в каком-то из них. По моему разумению, при корректной установке чистого мода подобное никак не может появиться.

 

От себя порекомендую:

  • Убедиться что стоит ЧН 1.5.10
  • Скачать мод отсюда (строка "Сборник обновлён 24.01.2021 Ссылка:"), если был взят из другого места
  • Перед установкой полностью удалить папку gamedata
  • Не ставить ничего из идущей с модом папки Дополнительные файлы (как минимум два, авторазряжалка и погода, битые)
  • Мою компиляцию можешь ставить. Перепроверил ещё раз, там те самые фиксы, с которыми я начал новую игру не так давно и пока не поймал ни одного вылета

И ещё, при первом прохождении у меня был стабильный вылет при начале новой игры если скипать катсцены. Может дело в моем стареньком компе и не всё успевало прогрузиться, но факт есть факт.

 

P.S.

Рабочую погоду можно взять там же где и мод ("Выкладываю доп. материал Погода из мода DZM_v1.0_rc1 для OGSM CS 1.8 CE Fixes")

Изменено пользователем hetrikWHY

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Апдейт

Скриншоты новых опций в архиве.

Скрытый текст

 

Скачать

 

Установка:

Распаковать в 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% для всех; прописанные каждому монстру вероятности игнорировались из-за ошибки в скрипте.

 

Исправлен менеджер случайных заданий «принести артефакт» у Каланчи/Сахарова: «принести Снежинку» не выдавалось; условие «имеется детектор уровня Х или выше» частично игнорировалось.

 

 

 

 

UPD: вместо "Распаковать в gamedata": "Распаковать, папку gamedata закинуть в папку с игрой"

Изменено пользователем hetrikWHY
  • Нравится 3
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@Kirgudu 

В function MutantManager:on_death(param), проверки

        if string.find(sect, "crow") then

и

        elseif string.find(sect, "phantom") then

ничего не делают, т.к. они отдельных классов и их смерть не триггерит death_callback из bind_monster.

 

Хочу их убрать, но там ещё коммент 'Порядок проверки не менять!'.

Подумал, может сам факт наличия этих проверок нужен для ogsm_notepad? Я в нём пока не особо разобрался.

Изменено пользователем hetrikWHY

Поделиться этим сообщением


Ссылка на сообщение

@Kirgudu 

Если переместить проверку на какой-нибудь dog выше - до остального, содержащего сочетание dog, не дойдёт.

Других нюансов нет?

 

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

 

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

А улучшения, исправления и всякие мелкие оптимизации пихаю в компиляцию. Жаль, времени свободного почти нет :happy:

Пока даже не всё старое скомпоновал, а уже новое появляется по мере изучения кода и языка.

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

  • Куратор(ы) темы:

AMK-Team.ru

×
×
  • Создать...