Перейти к содержанию

xeLmen

Граждане
  • Постов

    30
  • Зарегистрирован

  • Посещение

Весь контент xeLmen

  1. Тоже вариант, не спорю. Пробовал так. Но именно в моем конкретном случае он не совсем подходит. Дело в том, что место в локации (экстерьере) где должен генериться убиваемый непись визуально видно играющему при выходе из многих смежных локаций интерьеров. И часто возникает нежелательный эффект, когда при выходе из такого интерьера наружу играющий успевает визуально наблюдать как каждый раз заново генерится и "умирает" такой NPC. Именно поэтому отказался от такого варианта. Но, в общем случае, с таким решением задачи согласен. Это тоже один из способов продлить "время жизни трупа" NPC в игре.
  2. не решает проблему с нежелательным преждевременным исчезновением тела мертвого NPC из игрового мира. Если бы требуемый NPC при последующих загрузках локации каждый раз изначально грузился как живой (со здоровьем, установленным ему в редакторе) а убивался sethealth 0 в локальном скрипте на нем при каждом вхождении игрока в данную локацию, тогда да, согласен, это решение. Но хотя бы единожды лишенный жизни NPC запоминается игрой как мертвый. Также фиксируется время когда был убит этот NPC. При последующих загрузках локации будет генериться уже мертвая тушка такого непися. И тело такого, "ненужного" с точки зрения игрового движка, NPC будет вычищено из игрового мира "за сроком давности" на общих основаниях. А именно - по прошествии fCorpseClearDelay (по умолчанию 72 игровых часа), если только игрок хотя бы раз за это время покинет локацию где расположен этот труп. Решения вопроса с тем, чтоб сделать процесс исчезновения тела мертвого непися из игрового мира контролируемым мне видится два. Первый способ - свойство Corpses Persist такого NPC. (Раньше видел в этой теме пост пользователя Муурн Шепард об этом - подсказка была дельная, удалили ее, по-моему, зря..) Да, установление этого флажка делает труп непися неубираемым. Совсем. Игра будет каждый раз генерить такое тело при загрузке локации, но и игрок тоже не сможет его убрать по собственной воле. Если впоследствии такое "неубираемое" тело все же нужно убрать с глаз долой, можно прибегнуть к ухищрениям. Например, скрипт, который проверяет некоторые условия - выполнил ли уже этот труп свою роль (в моем конкретном случае я проверял активировал ли хоть раз игрок тело этого В_dead, а раз активировал - значит и нашел). И, если да, если труп уже не нужен, то при выходе игрока из данной локации (тот же cellchanged==1) - скриптом же перемещаем это неубираемое тело в любое недосягаемое для игрока место. Как вариант - "похоронить" тело убиенного в буквальном смысле слова - запрятать его под текстуры... Второй способ - применить SkipAnim в локальном скрипте на NPC. На решение натолкнули примеры с использованием манекенов. Они, как известно, те же неписи, но с нулевым уровнем здоровья и отключенной анимацией. Точного механизма этого действия не знаю, но, видимо, отключение анимации на неписе каким-то образом предотвращает и визуальное исчезновение его тела из игрового мира (манекены же в локацию загружаются сколь угодно долго и независимо от того как долго игрок в ней не бывал). Убрать такое тело игрок тоже может обычным образом, через кнопку "убрать тело". Работает несколько странно, не совсем понятно для меня... Так, например, если SkipAnim срабатывает сразу же, при старте локального скрипта на NPC, и крутится постоянно - все работает как нужно, тело NPC грузится каждый раз при загрузке локации. Но если SkipAnim в скрипте включен не сразу, если, например, отсрочить это действие на несколько секунд чтоб дать NPC естественным образом упасть - это уже обычный труп, со временем он вычистится игрой на общих правилах. Впрочем, особо дотошно не тестировал, могу в чем-то и заблуждаться. Кто знает - буду рад если дополните или поправите. Но, как вариант, это тоже решение. Учитываем также, что при таком способе решения, поскольку вся анимация для NPC будет отключена, нужное положение его тела в пространстве следует задавать заранее, в редакторе при создании этого NPC.
  3. В Морровинд, я думаю, мы будем играть еще долго... А именно, как минимум: 1) пока есть люди, которые сами играли и помнят эту хорошую игру; 2) пока есть её откуда взять\купить\скачать\достать_из_запылившегося_чемодана, а так же в Сети есть информация о ней; 3) пока не выпустят массово компы, которые горделиво будут плеваться на "такое старье". У меня, например, сейчас в Морр играет десятилетняя дочь... Сама выбрала для себя эту игру, и играет увлеченно, с большим интересом. Немного с моей подачи, правда (каюсь!.. покоя мне нет теперь!.. ), так как именно я ей порекомендовал. Но выбирала-то она сама, никто ж не подталкивал, не настаивал. Предпочла именно её многим современным, ярким, красочным играм... Подружек на эту игру подсадила... Уже полкласса у них в "моррку" ходят, достижениями своими хвалятся, впечатлениями и секретами обмениваются... Да что там, мама наша, никогда особо игрушками сложнее крестиков-ноликов не интересовавшаяся, и та увлеклась! Вместе с дочкой теперь регулярно бороздят просторы Вварденфелла, развивают и прокачивают Неревашку (перс это наша), лор изучают, задания разные обсуждают... А все почему? А все потому что.... ответ вы, наверняка, знаете и сами. Годное - оно дооолго не стареет.
  4. А Кая Косадеса, перед тем, как он посылает на задание выпилить базу Шестого Дома, никто на N-надцать раз по 400 дрейков не накручивал, нет?... Чем не баг? Диалоги ж позволяют... Или это специально читерская поблажка для низкоуровневых персов?
  5. Суть задачи: Сделать так, чтоб после некоторого разговора игрока с неким неписем А другого непися В кагбэ "ликвидировали". Но так, чтобы игрок впоследствии мог обнаружить труп непися В и тем самым продолжить квестовую ветку. Тело непися В желательно сделать все-таки "исчезаемым" потом (неубираемый труп В несколько не вяжется с логикой дальнейших заданий квеста, ..да и выглядит как-то неэстетично). Но не раньше, чем игрок обнаружит это тело и возьмет с него нужный шмот, и только по собственной воле игрока "похоронить" тело бедолаги, то есть по нажатию кнопочки "убрать тело" самим игроком. Как реализовано технически: Есть A и B - некие NPC, изначально существующие в оригинале игры. Плагином добавлен непись В_dead - точная внешная копия В, но с нулевым уровнем здоровья. Изначально этот В_dead из игрового мира отключен командой Disable в стартовом скрипте плагина, чтоб не повстречаться игроку преждевременно. В нужный момент, при разговоре игрока с неписем А на определенный топик, тут же, в поле Result этого диалога: "B"->Disable "B_dead"->Enable ..и соответствующая запись в журнале. В чем проблема: На первый взгляд, все, вроде бы, работает нормально - NPC В "пропадает", а "труп" его появляется в нужном месте. Но, если игрок бросится на поиски В не сразу, или не сразу это тело найдет... Короче, если с момента этого енейбла-дисейбла пройдет достаточно большое количество времени (несколько игровых суток, например), то найти мертвое тело непися В уже невозможно - В_dead просто не появляется в игровом мире... А может так же происходит и просто при выходе из игры и повторной загрузке - не знаю, этого не тестировал еще... Подозреваю, что трабл связан с тем, что сама игра, по проишествии некоторого времени "вычищает" из локаций тушки погибших неписей и существ, а В_dead со здоровьем 0 для нее как раз таким и является. Так ли это? Знающие, подскажите. И главное - как исправить? Как с этим бороться?
×
×
  • Создать...