Все посты %s в %S - AMK Team
Перейти к контенту

СТАЛКЕР CS: Final stroke 0.9


monk

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

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

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

 

 

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

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

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

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

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

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

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

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

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

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

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

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

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

 

Update:

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

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

 

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

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

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

Ещё раз обновлён комплект 64-разрядных таймеров.
Ссылка прежняя: https://yadi.sk/d/CD3HIfiTZcMZA

При условии начала новой игры всё должно быть хорошо; все обнаруженные ошибки поправлены. Спасибо monk за активную помощь в тестировании.

Загрузка старых, 32-разрядных таймеров теперь тоже должна отработать, однако это пока не проверялось.

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

@Dimus, ты бы проверил, как эти таймеры (бывшие до того 32-разрядными) работают потом, после их конвертации в 64-разрядные. Выброс, усталость, голод сохранились?

monk это сделать не смог, так как у него не сохранились старые сэйвы.

Если всё в порядке - можно будет наконец порекомендовать включение данной правки в сборник.

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

И снова обновлён комплект 64-разрядных таймеров для сборника.
Ссылка прежняя: https://yadi.sk/d/CD3HIfiTZcMZA
Исправлена скрытая ошибка, которую вы, скорее всего, не заметили бы, но она могла, тем не менее, привести к вылету в определённых ситуациях.

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

@monk, удалятся при первой же загрузке из сэйва.

Лучше сделать по-другому; обсудим по скайпу в пятницу - раньше времени не будет.

 

Upd: хотя, может быть, вообще не удалятся - для них может не отработать соотв. коллбек. В любом случае лучше сделать иначе.

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

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

@monk, неплохо бы тогда флешек добавить. Плюс на каждой локации - несколько дополнительных мест возможного спавна (исходя из условий "не слишком легко/очевидно добраться" и "хорошо заныкаться и умереть" - то есть такие места, где при усердном поиске можно обнаружить не найденный ранее никем труп с флешкой).

  • Нравится 1

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

 

 

Исправлен недочёт с неубиваемостью выбросом туториального «ЧН»-овца на наблюдательной вышке (самое первое задание Шрама).

Разве такое имело место в OGSM? Сколько ни играл (правда, давно это было) - не помню, чтобы он хоть раз не прикинулся трупом.

  • Согласен 2

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

@monk, да нет, мне тоже интересно. :) Расскажи, плиз, какие действия надо было (или наоборот, не надо) совершить, чтобы этот товарищ не умер.

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

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

  • Нравится 1
  • Согласен 2

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

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

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

 

 

Возможно ли ввести в уборщик запрет на удаление трупа, если его инвентарь открыт игроком?

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

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

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

Обычные же НПС при смерти помещаются в специальную сохраняемую таблицу. Затем, при смерти следующих НПС, идёт перебор этой таблицы, и если время, прошедшее с момента смерти записанного НПС, превышает определённую величину, тогда удаляется этот старый труп.

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

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

Сделать?

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

https://yadi.sk/d/pqhjUPmsf35zc

Заодно слегка оптимизировал чистильщик OGSM.

 

Точно надо проверить, что при удалении любых старых трупов НПС не появилось ошибок. Желательно проверить, что они вообще продолжают удаляться.

Вторая задача - проверить отсутствие вылета во время уборки трупа, в инвентаре которого шарим. Но это сложнее поймать, так что как повезёт. В качестве условия можно принять то, что период «состаривания» трупа НПС в скрипте задан равным 15 минутам реального времени. Вот от этого можно и плясать.

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

Использование знака «^» при вызове метода string.find( a, b ) означает, что строка b должна найтись в самом начале строки a. Пример:

string.find("Слон может работать хоботом", "^Слон может") - вернёт 1, 10 (начало и конец найденного фрагмента)
string.find("Слон может работать хоботом", "^работать хоботом") - вернёт nil

Впрочем, давайте не оффтопить, это вопрос для темы «Скриптование».

 

А вот что я увидел - так это какую-то неправильную, судя по русскому тексту, кодировку файла. Возможно, Mac-кодировка затесалась. Поправлю и перешлю автору.

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

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

 

 

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

Там нет ничего заковыристого. Делается простейшая проверка:

if db.actor.radiation > 0 then ...

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

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

@Max Warlock, технически - можно, разумеется. Но идеологически этот вопрос не ко мне, а к автору.

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

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

Только договоритесь о вводных.

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

@monk, в шапке заменить или добавить как альтернативную?

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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


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

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

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