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

Malandrinus

Жители
  • Число публикаций

    1 930
  • Регистрация

  • Последнее посещение

  • Дней в топе

    13
  • AMKoin

    160 [Подарить AMKoin]

Весь контент пользователя Malandrinus

  1. Malandrinus

    Trail of the fallen

    хм. А что в ней странного? И я что-то не нашёл такой. Где эта фраза?
  2. Malandrinus

    Trail of the fallen

    Что имеется в ввиду под "открытыми вопросами"?
  3. @Artos, ага, у меня не работало, поскольку спавнил в инвентарь. Я уже успел забыть, что при этом нетпакеты не работают. Однако, я это проверял на ТЧ. На ЧН не проверял, поэтому неизвестно, будет ли работать.
  4. @Artos, а ты это проверял? Поля то есть, вот только не похоже, чтобы это на самом деле работало. По крайней мере у меня сходу не заработало.
  5. Имя непися отследить не проблема, проблема прописать это имя произвольному кпк. Здесь решения нет.
  6. @vampirnik77, заведи отдельную секцию для твоего кпк, унаследуй её от существующей (через двоеточие). Измени описание предмета на нужное тебе.
  7. В x-ray есть специальные шейдеры самосвечения. На них сделаны колбы ламп и глаза животных. Другое дело, что эти шейдеры не работают нормально на худе по причине того, что худ отрисовывается с fov, отличным от всей остальной сцены. В ЗП это частично исправили. Вообще, самосвечение - штука по сути очень простая. Обычная поверхность имеет яркость, зависящую от внешнего освещения. Поэтому есть внешний свет - светится, темно вокруг - и поверхность тёмная. Если же поверхность светится сама по себе, то её яркость просто-напросто не зависит от внешнего освещения. Т.е. шейдер самосвечения в сущности проще шейдера для обычной поверхности.
  8. WERTOix, Лучше не пытаться удалять непися прямо из диалога. Попробовать конечно никто не мешает. Вот нашёл. Требовалось обеспечить появление предмета по условию. Предмет исходно был в аллспавне. Я прописывал в кастомдату объекта вот такое условие: custom_data = <<END [spawner] cond = {+<инфопорция для выхода в онлайн>} END Вроде как работало. Для неписей под смартом условие прописывается в поле online соответствующей работы. Тогда в диалоге надо просто выдать/забрать во фразе нужную инфопорцию и непись уйдёт своим ходом в оффлайн. С точным рецептом здесь могу и ошибаться, поскольку давно делал да и тогда глубоко не вникал.
  9. Варианта два. Первый - удаляешь не того сталкера. У тебя удаляется Волк, а в названии функции другое имя. Если же ты именно Волка хотел удалить, то значит есть проблема. Второй вариант, бывает, что онлайновые сталкеры не хотят удаляться. Я не знаю точной причины, но это как правило коррелирует с тем, что сталкеры квестовые и у них есть всякая разная логика и т.п. Может помочь удаление из оффлайна. Также можно не удалять, а просто перевести в оффлайн навечно. Визуально с удалением разницы не будет никакой. Сейчас подробно не скажу, но там есть параметр в логике, в котором можно прописать условие нахождения в оффлайне/онлайне. Так в общем то делается в оригинальной игре, никого не удаляют, а только уводят в оффлайн.
  10. Встречный вопрос. Как таймер узнает после загрузки игры, какую функцию ему передали до этого?
  11. @*Shoker*, 1. В реализации под виндой скорее всего полный адрес в виртуальном пространстве процесса. Должен быть уникальным, чтобы можно было сравнивать на равенство. Я думаю, не имеет смысла задумываться о точной природе этого числа. Использовать его по-любому не получится никак, кроме как сравнить с другим таким же числом и выяснить, равны они или нет. 2. Методов нет (по крайней мере я таких не знаю). Опять же, если подумать, то вряд ли имеет смысл пытаться получить такой адрес. Это будет сильная привязка к платформе и кроме того к реализации самого языка. Объекты же завёрнуты в некие внутренние структуры, да и указатели, вообще говоря, не всегда можно представить одним числом.
  12. Malandrinus

    Zones Editor

    @Artos, насчёт возможности восстановить матрицу трансформации по направлению я вообще говоря был неправ. Этой информации недостаточно, поскольку направление - это одна ось координат, а нужно две. Вот если есть поле серверного объекта angle, то тогда можно. Поскольку там углы поворота, и по ним уже можно восстанавливать матрицу поворота (это центральная часть 3х3 всей матрицы трансформации). К сожалению, это поле есть только в ЗП (и может в ЧН), но не в ТЧ. Как вариант, это поле можно вытащить из нетпакета при загрузке объекта. Это будет поле direction из части cse_abstract. Придётся конечно мудрить, поскольку это не в любой момент можно сделать, но другого выхода для ТЧ я не вижу.
  13. Malandrinus

    Zones Editor

    @Artos, get_go_float нужен для получения XFORM объекта, или иными словами его матрицы трансформации. В большинстве случаев можно было бы обойтись без этого и использовать только смещение объекта, которое можно узнать штатными средствами (функция position). В целом нет никакой нужды поворачивать объект зоны, поскольку можно крутить как хочешь отдельные шейпы, но иногда таки повёрнута вся зона, а положение шейпа высчитывается в локальных координатах объекта и для получения финальной формы и положения шейпа нужно знать поворот всей зоны. К сожалению, такое бывает, как я убедился на практике. Не так уж часто, но вполне случается. Ну а матрица имеет 16 значений, которые получаются по смещению от нуля до 15 от базовой позиции внутри объекта. mul_43 умножает две матрицы не почленно, а матричным умножением, т.е. переводит вторую матрицу в систему координат, заданную первой. Я сейчас глянул скрипты. Я там, как выясняется, поставил заглушки на случай отсутствия этих функций. Без mul_43 вполне можно и так работать, там просто будет вычислять скриптами, делая ровно тоже самое. Просто будет немного медленней работать. Ну а с получением матрицы трансформации ничего поделать не могу. Если нет, то будет использоваться предположение о невращении объекта. В ряде случаев это будет давать некорректный результат. Да кстати, поскольку трансформация сдвига в игре не используется, то можно восстановить матрицу трансформации на основе позиции и вектора поворота (direction т.е.). Надо будет как-нибудь сделать.
  14. @Artos, я не знаю точно, где именно сохраняются задачи. Если "где-то" в сейве, то нетпакеты не помогут. Если у актора, то тоже не помогут, поскольку актора не перевести в оффлайн.
  15. Malandrinus

    Zones Editor

    Shoker, требует. Можно оттуда убрать колбеки и сделать вызов общего интерфейса не по клавише, а как-то иначе, однако всё равно остаются функции, используемые для получения данных из объектов. Признаться, уже не помню что и где там используется. Ещё момент. В последней версии редактирование поломано. Поскольку почти не используется, то и чинить не стал. Просмотр и экспорт тем не менее работают полностью.
  16. Malandrinus

    Zones Editor

    http://rusfolder.com/37996041 в архиве также готовая адаптация под шестой патч (старая версия)
  17. @Снайпер56, нет в движке такого состояния для задания как "отменился". Есть "в прогрессе", "сдал" и "провалил". Так что никак не сделать.
  18. Теоретически можно замутить подменяемые секции костюмов в зависимости от надетого артефакта. Типа надеваешь арт, автоматом меняется костюм на внешне такой же, но с увеличенным весом. Вероятно надо как-то ограничить количество вариантов, не больше одного такого арта на поясе, к примеру, или всегда по наисильнейшему из них или как-то так. Иначе не напасёшься вариантов секций на комбинации артов. Это проще чем с подменяемыми секциями оружия, поскольку здесь в секции меняется только пара параметров. С другой стороны, без правок движка и перекладывание предметов в слотах, в данном случае костюмов, - мука страшная. Добавил: наверное, можно сделать и на комбинации артов, если запасти достаточно секций на все варианты с покрытием до +максимальная добавка с шагом по одному килограмму. Секции как-то пронумеровать, чтобы можно было получать по требуемой добавке нужную секцию.
  19. Malandrinus

    Шейдеры

    Shoker, Коллиматор можно сделать иначе =) А в общем случае такую задачу можно решить только с изрядной переделкой движка. Дело в том, что в шейдере просто нет нужной информации для решения этой задачи, каждый шейдер знает только о себе и своей поверхности. Значит, нужны правки, чтобы эту дополнительную информацию шейдеру предоставить + эту информацию нужно ещё и организовать. Вероятно ввести дополнительную очередь отрисовки, куда будет собираться рисование этих специальных стёкол с глубиной, потом этот результат использовать для фильтрации рисования невидимых объектов, передавая его как текстуру в шейдер. Опасаюсь, что без влезания в движок тоже не получится. Речь идёт фактически о постпроцессе не на весь экран, а локально. Кстати, в этом ролике видно, что разрабы Метро немного сжульничали. Увеличение делается изменением общего fov, а прицел только обеспечивает ночное зрение. Сделать же увеличение локально, т.е. вокруг и внутри прицела разный fov, - это требует отрисовки сцены два раза. Этого они видимо решили не делать.
  20. Artics, Не хватает информации. В первый раз в каком смысле? Внутри указанного фрагмента рандом вызывается несколько раз, это срабатывает нормально? И что значит тот же текст? Эта таблица заполняется много раз и всякий раз одинаково? Нет ли там где периодических вызовов math.randomseed?
  21. Malandrinus

    Шейдеры

    @krovosnork, нет, снег ведёт себя совершенно иначе. Капли дождя рисуются движком, как цветные линии. Рисуются всплески в месте удара. К снегу это просто неприменимо. Если его и делать, то дождь отключать вовсе, а снег реализовывать самостоятельно, партиклами к примеру. И если намокание худо-бедно реализовано, то динамический снег на земле ты в сталкере точно не сделаешь.
  22. Malandrinus

    X-Ray extensions

    Добавил в шапку. Документация одним файлом в chm формате. Сделал @Kontro-zzz. Очень удобно использовать, рекомендую. зеркало Народ! Мне плюсы ставить не за что! Найдите пожалуйста пост комрада @Kontro-zzz и поставьте плюсик ему. Не берёт что то с ргхоста, нажимаю скачать и .....тишина с белизной. Перезалейте плиз на http://rusfolder.com/ что ли. BFG
  23. Malandrinus

    X-Ray extensions

    @Shredder, @*Shoker*, Вы поймите, врезка, ассемблерный код - это ведь даже не самая большая часть задачи. Самое муторное - это найти нужные функции, понять, как их вызвать. Для ТЧ есть огромное подспорье в виде предрелизных билдов шестого патча с отладочными дампами. Там даже бинарный код выглядит зачастую совершенно идентично, что облегчает как поиск, так и сами правки. Для ЗП ничего нет, надо искать всё по аналогии с ТЧ, а код во многих местах изменился. И по сути изменился (т.е. исходник другой), и скомпилирован с другими настройками, так что выглядит совершенно иначе. Отвечаю на вопрос. Можно, выполнимо, но я даже не могу предсказать, сколько времени это займёт. Уж точно не пару часов. Может день-два, а может неделю. У меня сейчас столько времени нет.
×
×
  • Создать...