Kirgudu 1 339 Опубликовано 15 Августа 2014 @monk, хозяин - барин. Тем не менее, если кто-то всё-таки сможет протестировать выброс с не стопроцентной вероятностью смерти - это будет здорово. В техническом плане - мне просто-напросто интересно, как сработает то, что я успел сделать, и как это выглядит. 64-разрядные таймеры рекомендую проверить и прикрутить в любом случае, это повысит стабильность игры. Равно как и исправление ошибки смерти от выброса на Болотах. слово "^marsh" в файле task_objects.script так и должно быть написано, с загогулиной перед словом болото? Поясню наглядно для всех: string.find(level.name(), "^marsh") «^» - это спецсимвол, который означает, что в имени локации (level.name()) ищется слово «marsh» (уже без спецсимвола), при этом оно должно стоять в самом начале, то есть имя локации должно начинаться с «marsh». Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 339 Опубликовано 15 Августа 2014 (изменено) Возможно, почему нет. Таймфактор можно хоть до единицы уменьшить. По крайней мере ошибки, связанной с таймерами не будет, если не менять таймфактор в середине игры. Но есть нюансы. Многие вещи в игре основаны на суточном цикле - спавн членов группировок, боевая активность, обновление монстров на локациях. При замедленном течении игры такие периодические события будут происходить реже, что почти наверняка приведёт к изменению баланса. В какую сторону - сказать не берусь. Кроме того, во время сна главного героя таймфактор увеличивается на несколько порядков, чтобы весь период отдыха уложить в несколько секунд реального времени игрока. А при выходе из сна устанавливается стандартная величина таймфактора, равная 10. То есть ровно десять, вне зависимости от того, что установлено в конфиге. Это недочёт скриптов OGSM, который исправлен только в выложенной мной выше адаптации таймеров к 64-разрядному счётчику. Изменено 15 Августа 2014 пользователем Kirgudu 1 Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 339 Опубликовано 15 Августа 2014 (изменено) Ошибку исправил, архив перезалил. Адрес прежний: https://yadi.sk/d/CD3HIfiTZcMZA Если будут дальнейшие ошибки с таймерами, предлагаю переместиться в личку, дабы не засорять тему. Если нет - думаю, результат будет интересен всем. Update: Все обнаруженные ошибки исправлены, архив ещё раз обновлён. Спасибо @_Igrok_ за активную помощь в тестировании. Но это только немедленные вылеты. Всё равно нужна протяжённая проверка работоспособности самих таймеров, что они нигде не сбиваются, повешенные на них события происходят (полный перечень я приводил на предыдущей странице), в том числе после 25 дней игры и во фриплее. Update 2: и ещё одна ошибка исправлена, архив перезалит в 22:11 Мск. Изменено 15 Августа 2014 пользователем Kirgudu 1 Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 339 Опубликовано 18 Августа 2014 Ещё раз обновлён комплект 64-разрядных таймеров.Ссылка прежняя: https://yadi.sk/d/CD3HIfiTZcMZA При условии начала новой игры всё должно быть хорошо; все обнаруженные ошибки поправлены. Спасибо monk за активную помощь в тестировании. Загрузка старых, 32-разрядных таймеров теперь тоже должна отработать, однако это пока не проверялось. Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 339 Опубликовано 20 Августа 2014 @Dimus, ты бы проверил, как эти таймеры (бывшие до того 32-разрядными) работают потом, после их конвертации в 64-разрядные. Выброс, усталость, голод сохранились? monk это сделать не смог, так как у него не сохранились старые сэйвы. Если всё в порядке - можно будет наконец порекомендовать включение данной правки в сборник. Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 339 Опубликовано 22 Августа 2014 И снова обновлён комплект 64-разрядных таймеров для сборника.Ссылка прежняя: https://yadi.sk/d/CD3HIfiTZcMZAИсправлена скрытая ошибка, которую вы, скорее всего, не заметили бы, но она могла, тем не менее, привести к вылету в определённых ситуациях. Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 339 Опубликовано 27 Августа 2014 (изменено) @monk, удалятся при первой же загрузке из сэйва. Лучше сделать по-другому; обсудим по скайпу в пятницу - раньше времени не будет. Upd: хотя, может быть, вообще не удалятся - для них может не отработать соотв. коллбек. В любом случае лучше сделать иначе. Изменено 27 Августа 2014 пользователем Kirgudu Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 339 Опубликовано 29 Октября 2014 @monk, неплохо бы тогда флешек добавить. Плюс на каждой локации - несколько дополнительных мест возможного спавна (исходя из условий "не слишком легко/очевидно добраться" и "хорошо заныкаться и умереть" - то есть такие места, где при усердном поиске можно обнаружить не найденный ранее никем труп с флешкой). 1 Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 339 Опубликовано 26 Ноября 2014 Исправлен недочёт с неубиваемостью выбросом туториального «ЧН»-овца на наблюдательной вышке (самое первое задание Шрама). Разве такое имело место в OGSM? Сколько ни играл (правда, давно это было) - не помню, чтобы он хоть раз не прикинулся трупом. 2 Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 339 Опубликовано 26 Ноября 2014 @monk, да нет, мне тоже интересно. Расскажи, плиз, какие действия надо было (или наоборот, не надо) совершить, чтобы этот товарищ не умер. Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 339 Опубликовано 26 Ноября 2014 Поскольку никто не определял, как положено играть каждому игроку - иначе мы имели бы полностью коридорный шутер наподобие Метро 2033, - желание автора по-максимуму устранить как общеизвестные, так и неочевидные недостатки может вызывать только уважение. 1 2 Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 339 Опубликовано 4 Февраля 2015 @monk, посмотреть, где в логике запускаются соответствующие звуковые файлы. Скорее всего, в тех же местах выставлены неправильные значения таймеров для перехода на следующий элемент логики - таймер срабатывает раньше, чем успевает прозвучать предыдущая фраза. Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 339 Опубликовано 4 Марта 2015 Возможно ли ввести в уборщик запрет на удаление трупа, если его инвентарь открыт игроком? Возможно отсрочить уборку трупов, если вообще открыт какой-либо диалог. Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 339 Опубликовано 4 Марта 2015 При переходе убираются трупы мутантов, оружие, а также могут убираться трупы некоторых квестовых НПС. Обычные же НПС при смерти помещаются в специальную сохраняемую таблицу. Затем, при смерти следующих НПС, идёт перебор этой таблицы, и если время, прошедшее с момента смерти записанного НПС, превышает определённую величину, тогда удаляется этот старый труп. Так вот, можно добавить дополнительную проверку, чтобы такое удаление не происходило в то время, как открыто любое скриптовое окно. К сожалению, я не знаю способа проверить принадлежность открытого инвентаря конкретному объекту. Поэтому только так. Сделать? Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 339 Опубликовано 4 Марта 2015 https://yadi.sk/d/pqhjUPmsf35zc Заодно слегка оптимизировал чистильщик OGSM. Точно надо проверить, что при удалении любых старых трупов НПС не появилось ошибок. Желательно проверить, что они вообще продолжают удаляться. Вторая задача - проверить отсутствие вылета во время уборки трупа, в инвентаре которого шарим. Но это сложнее поймать, так что как повезёт. В качестве условия можно принять то, что период «состаривания» трупа НПС в скрипте задан равным 15 минутам реального времени. Вот от этого можно и плясать. Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 339 Опубликовано 5 Марта 2015 (изменено) Использование знака «^» при вызове метода string.find( a, b ) означает, что строка b должна найтись в самом начале строки a. Пример: string.find("Слон может работать хоботом", "^Слон может") - вернёт 1, 10 (начало и конец найденного фрагмента) string.find("Слон может работать хоботом", "^работать хоботом") - вернёт nil Впрочем, давайте не оффтопить, это вопрос для темы «Скриптование». А вот что я увидел - так это какую-то неправильную, судя по русскому тексту, кодировку файла. Возможно, Mac-кодировка затесалась. Поправлю и перешлю автору. Изменено 5 Марта 2015 пользователем Kirgudu Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 339 Опубликовано 13 Марта 2015 Иногда при отсутствии радиоактивного заражения Шрам заявляет, что не может заснуть до тех пор, пока не закусит антирадом. Повторная попытка поспать без использования антирада работает без проблем. Там нет ничего заковыристого. Делается простейшая проверка: if db.actor.radiation > 0 then ... Как видно, реакция может быть даже на самые незначительные остатки радиации, которые успешно выводятся чем-либо к моменту повторной попытки поспать. Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 339 Опубликовано 13 Марта 2015 @Max Warlock, технически - можно, разумеется. Но идеологически этот вопрос не ко мне, а к автору. Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 339 Опубликовано 1 Апреля 2015 Добавить сообщения в нужный момент просто. И текст, и голос, если надо, сообразим. Только договоритесь о вводных. Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 339 Опубликовано 8 Апреля 2015 @monk, в шапке заменить или добавить как альтернативную? Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Поделиться этим сообщением Ссылка на сообщение