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

STALKER CS: Final stroke 0.9

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

@Dimus, таймеры из HWM не подойдут, так как они тесно переплетены с расширенным хранилищем игровых данных в сэйвах, а интегрировать ещё и хранилище не хотелось бы, так как это однозначно приведёт не только к необходимости новой игры, но и к продолжительным тестам с моей стороны, на что я сейчас не способен.

Упрощённый вариант для OGSM выложу чуть позже.

Ссылка на комментарий

Лично я считаю, что текущая реализация воздействия выбросов на Шрама противоречит словам профессора Каланчи об относительной устойчивости Шрама к выбросам. Если он смог выжить без укрытия во время двух выбросов (в интро у перехода с НИИ Агропром на Болота и в игре у наблюдательной вышки), то почему он обязан дохнуть от каждого последующего выброса?

Ты не подкрепляешь свою выкладку логикой действий.

Пример: на Болотах ГГ, оба раза, после выброса нашли и его лечил профессор Каланча. О результате мы слышим в стартовом ролике.

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

Если попытаться реализовать вариант с телепортом ГГ на какую то базу после выброса то, сделать это крайне затруднительно... как минимум в плане анимирования и, желательно, диалогов.

Да и вообще это будет выглядеть глуповато. Даны средства спасения от выброса - бег. Почему им не пользоваться?

Ссылка на комментарий

@ WARWER:

Ты не подкрепляешь свою выкладку логикой действий.

 

Вроде бы стараюсь делать это. Разумеется, что после выбросов в интро и на форпосте Шрама лечил профессор Каланча. Но даже он не смог бы оживить мертвеца. Следовательно, у наёмника есть какой-то шанс выжить после выброса. Но при этом не надо превращать его в аналог майора Дегтярёва из ЗП после получения им абилки "Отмеченный Зоной". Также имеет право на существование и версия, что из-за действий группы Стрелка О-Сознание усилило энергию выбросов и поэтому даже Шрам не сможет выжить, если вовремя не найдёт укрытие.

Если попытаться реализовать вариант с телепортом ГГ на какую то базу после выброса то, сделать это крайне затруднительно... как минимум в плане анимирования и, желательно, диалогов.

 

Поэтому я и отбросил вариант с телепортом ГГ после выброса.

Ссылка на комментарий

Для меня, в сложившейся ситуации, был бы приемлем вариант процентного выживания ГГ во время выброса. Других интересных вариантов я не вижу. Хотя, остаюсь при своём мнении - оставить как есть.

Ссылка на комментарий

Разумеется, процентного. Причём можно начать с какой-то величины, скажем 50% шанса, что Шрам выживет при третьем выбросе (если считать за первые два те, что были в начале игры), запоминать её, а с каждым следующим выбросом понижать на 5%, то есть при четвёртом выбросе шанс выживания составит 45%, при пятом - 40%, и так далее. Таким образом получит жизнь ещё одно утверждение Каланчи о том, что с каждым выбросом уникальная особенность Шрама слабеет. Начальный шанс на выживание и его дельту по времени можно подобрать, исходя из игровых предпочтений и средней длительности одной игры (предположим, к моменту прихода на ЧАЭС выброс должен приводить к +-100% смерти).

Плюс, естественно, другие пенальти - здоровье, поломанные вещи и т. д. по списку.

  • Нравится 3
Ссылка на комментарий
(предположим, к моменту прихода на ЧАЭС выброс должен приводить к +-100% смерти)

А как 100% смерть от выброса будет согласовываться с выживанием Шрама в последнем выбросе на ЧАЭС и последующим переходом во фриплей? Поэтому логичнее будет оставить ему хотя бы 5% шанс на выживание. Также я предлагаю во время первого выброса в игре убить оружие, полученное от Суслова для похода к форпосту - пусть игрок потратит на его ремонт награду за помощь форпосту.

Изменено пользователем Dimus
Ссылка на комментарий

Держите 64-разрядные таймеры: https://yadi.sk/d/CD3HIfiTZcMZA

Сам проверить не могу вообще никак, надежда на вас. Если будут какие-либо ошибки - сразу лог сюда или мне в личку.

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

Новая игра теоретически не требуется, постарался сделать таким образом, чтобы старые таймеры автоматически преобразовались в новые при загрузке. Однако сохранение должно быть сделано до критического момента, в первые 25 дней игрового времени. Если 32-разрядный счётчик уже был перезапущен один раз, автоматическое преобразование даст неверные настройки 64-разрядных таймеров.

 

 

 

Также я предлагаю во время первого выброса в игре убить оружие, полученное от Суслова для похода к форпосту - пусть игрок потратит на его ремонт награду за помощь форпосту

Может не хватить денег на починку. И даже если хватит - как потом воевать во время второго выхода, если снарягу не купить?

  • Нравится 1
Ссылка на комментарий
Может не хватить денег на починку. И даже если хватит - как потом воевать во время второго выхода, если снарягу не купить?

У меня почти всегда хватало денег не только на починку слегка повреждённого HK MP3-A3 ЧНовца на вышке, но и на покупку у Холода информации о тайнике с Mossberg Maverick 88 Cruiser (2200 рублей), который значительно облегчает войну с "Ренегатами" до тех пор, пока среди них не появляются элитные бойцы с АКС-74У. Если не хватит денег на ремонт снаряжения, то можно продать Суслову найденный по дороге к форпосту артефакт "Медуза", но я не уверен, что большинство игроков воспримут полученную от профессора Лебедева информацию, что в аномалиях можно найти артефакты, как руководство к действию.

Изменено пользователем Dimus
Ссылка на комментарий

Monk, здесь часто пишут о багах, начинающихся при перезаходе на локацию. О причинах ты, наверное, знаешь?

При заходе на локацию создаётся автосейв - обычный, а затем OGSMовский. Если играть дальше и делать квиксейвы, то ничего страшного не прооисходит. Но, если игрок погибает, и грузит последний сейв, то грузится сейв OGSM. А сейвы эти в 25% (как минимум) неправильные. Логика игры на момент сейва не успевает инициализироваться. Начинаются баги. Особенно часто случается это на Кордоне, Свалке и в ТД, при первых заходах почти всегда.

Этот автосейв - штука ужасно глючная. Предлагаю два варианта:

1) Избавиться от него совсем и изавиться вместе с ним от кучи глюков и связанных с ними постов.

2) Повесить автосейв на таймеры. Мои проверки показывали, что 5-7 секунд вполне достаточно, чтобы игра могла сохранить данные целиком.

Знаю, ты плохо относишься к таким изменениям, и вообще, к советам прислушиваешься редко, соблюдая заветы авторов OGSM. Но, это предложение касается не геймплея. Я предлагаю не ввести ищё пять пушек, не добавить биороботов и не накрутить хар-ки оружия, а избавить самую стабильную глобалку на ЧН от возникающих вследствие описанной фичи багов.

Если нужно, я сделаю второй вариант. Работы там на две минуты. Добавить одну проверку на таймер и сделать функцию для автосейва. Всё. Затронут будет только файл ogsm.script

 

Ты сделай. Пусть люди потестят, опробуют... Если всё будет работать как надо, отчего не включить? Впрочем - решать автору. - warwer

Изменено пользователем WARWER
Ссылка на комментарий

@Max Warlock, не нужно изобретать велосипед.

Автосейв давным-давно повешен на таймер, только там стоит не 5-7, а 3 секунды таймаута после захода на локацию. Работы там на 5 секунд - поменять одно число на другое всего в одном месте упомянутого тобой скрипта ogsm.script (480 строка оригинального файла OGSM и 546 строка файла из выложенной мной сегодня правки таймеров).

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

 

===========================

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

Ссылка: https://yadi.sk/d/Ap_Y4FUaZg3Dw

Скрипт совместим с правкой, выложенной мной ранее здесь.

 

Пока сделал по-минимуму. Особенности:

1. Отсчёт начинается с третьего выброса (то есть пропущены 2 сюжетных выброса в начале игры).

2. Начальный шанс выживания Шрама составляет 50%. С каждым следующим выбросом шанс снижается на 10%, то есть при четвёртом выбросе Шрам выживет с 40% вероятностью, при пятом - с 30%, и так далее. Восьмой проведённый вне укрытия выброс однозначно повлечёт за собой смерть протагониста. Такой шаг сделал сейчас специально, чтобы протестировать можно было относительно быстро.

3. Если Шраму повезло и согласно вероятности он остаётся жив - на определённых стадиях выброса начинают уменьшаться выносливость и здоровье, а затем к ним подключается ещё и уменьшение пси-самочувствия.

4. После выброса, в котором Шраму посчастливилось выжить, задание «укрыться» приобретает статус «провалено».

 

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

Как обычно, проверить сам не могу, жду отзывов и логов.

Изменено пользователем Kirgudu
Ссылка на комментарий

Ну вы, блин, даёте... Стоило, только, ненадолго отойти.

1) С выбросом ничего менять не буду, нафиг не нужно. Полностью согласен с WARWER: есть ноги - вот и удирай. Кто хочет, тот пусть заморачивается.

2) Игру проходил миллион раз - ничего не сбивалось, укладывался в лимит времени. Фриплей не для Чистого неба, но раз разрабы мода сделали, то пусть будет и дальше такой.

3) Время инициализации игры увеличу, потестю.

 

З.Ы.

@Kirgudu, а слово "^marsh" в файле task_objects.script так и должно быть написано, с загогулиной перед словом болото?

Изменено пользователем monk
Ссылка на комментарий

@monk, хозяин - барин. Тем не менее, если кто-то всё-таки сможет протестировать выброс с не стопроцентной вероятностью смерти - это будет здорово. В техническом плане - мне просто-напросто интересно, как сработает то, что я успел сделать, и как это выглядит.

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

 

 

слово "^marsh" в файле task_objects.script так и должно быть написано, с загогулиной перед словом болото?

Поясню наглядно для всех:

string.find(level.name(), "^marsh")

«^» - это спецсимвол, который означает, что в имени локации (level.name()) ищется слово «marsh» (уже без спецсимвола), при этом оно должно стоять в самом начале, то есть имя локации должно начинаться с «marsh».

Ссылка на комментарий
то есть имя локации должно начинаться с «marsh»

Усёк.

 

 

Вот и я не смог понять причины, по которой СВУ-А была лишена последнего улучшения.

Мда... Объясняю: потому что у СВУ-А присутствует автоматический режим огня, как у Винтореза или Вала, потому и решено было сделать её дерево абгрейдов аналогичное им. Вот и всё.

Изменено пользователем monk
Ссылка на комментарий

Дело в том, что таймеры в OGSM основаны на 32-разрядном счётчике, который может достигать максимального значения 2147483647 миллисекунд или около 25 суток игрового времени. Даже перезапуск таймеров по достижении этого значения не гарантирует того, что всё пойдёт правильно и дальше.

 

Не подскажете, возможно ли будет без проблем пройти модификацию и играть дальше во фриплее, если уменьшить скорость хода времени в игре (time_factor)?

Ссылка на комментарий

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

Но есть нюансы.

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

Кроме того, во время сна главного героя таймфактор увеличивается на несколько порядков, чтобы весь период отдыха уложить в несколько секунд реального времени игрока. А при выходе из сна устанавливается стандартная величина таймфактора, равная 10. То есть ровно десять, вне зависимости от того, что установлено в конфиге. Это недочёт скриптов OGSM, который исправлен только в выложенной мной выше адаптации таймеров к 64-разрядному счётчику.

Изменено пользователем Kirgudu
  • Спасибо 1
Ссылка на комментарий

Держите 64-разрядные таймеры: https://yadi.sk/d/CD3HIfiTZcMZA

 

Поставил таймеры (ЧН 1.5.10 + OGSM CS 1.8CE + OGSM CS 1.8CE compilation fixes). При попытке начать новую игру, на этапе "Сервер: старт" вылет на рабочий стол.

 

Лог, всё решает лог. - warwer

 

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:1156: attempt to index global 'this' (a nil value)
Изменено пользователем _Igrok_
  • Спасибо 1
Ссылка на комментарий

Ошибку исправил, архив перезалил. Адрес прежний: https://yadi.sk/d/CD3HIfiTZcMZA

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

 

Update:

Все обнаруженные ошибки исправлены, архив ещё раз обновлён. Спасибо @_Igrok_ за активную помощь в тестировании.

Но это только немедленные вылеты. Всё равно нужна протяжённая проверка работоспособности самих таймеров, что они нигде не сбиваются, повешенные на них события происходят (полный перечень я приводил на предыдущей странице), в том числе после 25 дней игры и во фриплее.

 

Update 2: и ещё одна ошибка исправлена, архив перезалит в 22:11 Мск.

Изменено пользователем Kirgudu
  • Нравится 1
Ссылка на комментарий

Kirgudu, прости, не знал - не уследил. Но зато точно могу сказать, что на перечисленных мною локациях, три секунды бывает недостаточно. Хотя бы 5 желательно. Я не пустословлю, много времени потратил на тестирование этого дела.
 
Я и не в претензии. :) Просто внёс уточнение.
Думаю, monk сможет сам поправить таймаут автосэйва в указанной мной выше строчке так, как посчитает нужным. Kirgudu

Изменено пользователем Kirgudu
Ссылка на комментарий

Интересно, возможно ли добавление в сборку для каждого продукта соответствующей озвучки? Например, в модификации Autumn Aurora это интересно реализовано: по-разному звучит поедание колбасы,
консервов (слышно звук открывания банки), шоколада и т.д.. Наверное, это было бы логичнее, чем одно чавканье на все, да и чуть побольше погружает в сталкерскую атмосферу. 

Изменено пользователем _Igrok_
Ссылка на комментарий
Думаю, monk сможет сам поправить таймаут автосэйва

Поправил, теперь 5 секунд.

 

 

возможно ли добавление в сборку для каждого продукта соответствующей озвучки?

Всё возможно, но это не главное.

Изменено пользователем monk
Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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

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

AMK-Team.ru

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