Skyrim CK:Cell Reset

Материал из Tiarum
Перейти к: навигация, поиск
Переводить Этот материал нуждается в переводе или допереводе..
Вы можете помочь перевести его. Не забывайте предварительно добавлять строку {{Edit|--~~~~}} в материалы над которыми работаете, чтобы не создавать конфликта правок.
Пожалуйста, снимите шаблон этого сообщения, когда материал будет вычитан.

Содержание

Обзор

Cell Reset - это сброс, переинициирование ячейки. Это процесс, посредством которого подземелье или любая другая ячейка может быть возвращена в свое исходное состояние и заселена восполняемыми персонажами. В большинстве случаев это работает без каких-либо особых настроек. Но если ваш уровень предполагает сценарий боя с боссом или головоломки, может быть, стоит узнать, как сброс ячейки влияет на ваше игровое пространство на второй или последующий визит.

Когда происходит сброс ячейки?

Ячейки сбрасывают когда:

  • Игрок покинул локацию, в которой уничтожил всех противников (на карте местности появилась надпись "Очищено"), прошло iHoursToRespawnCellCleared времени (по умолчанию - 30 дней), и только после этого игрок снова посетил эту локацию.
  • Игрок покинул локацию, в которой НЕ уничтожил всех противников (на карте местности НЕ появилась надпись "Очищено"), прошло iHoursToRespawnCell времени (по умолчанию - 10 дней), и только после этого игрок снова посетил эту локацию.
  • Скриптом была вызвана функция Reset() для этой ячейки и после этого игрок посетил эту локацию.
    • Обратите внимание, что внешние ячейки не могут быть быстро сброшены при помощи скриптов. There is no way to force-reset them directly, although you can enable a different group of enemies if desired.


Обратите внимание, что ячейки сбрасываются только когда игрок вновь посетит их. Скриптовые функции типа OnReset тоже могут быть вызваны только в этот момент.


Ячейки, которые не могут быть переинициированы:

  • Ячейки Encounter Zone помеченные как 'Never Resets' (никогда не сбрасываемые)
    • Отметим, что это свойство Encounter Zone, а не Cell (Ячейки) или Location (Локации).
    • Обратите внимание, что это свойство влияет на все, что стартует в любой ячейке с этим Encounter Zone. Actors 'carry' their initial Encounter Zone with them if they travel across the map, pursue the player, etc.


Когда локации очищаются?

Локации помечаются как очищенные, когда:

  • Все боссы, находящиеся в них (существа с меткой 'Boss' LocRefType) мертвы.
  • В локации вызвана скриптовая функция 'SetCleared()'.
    • Это может сделать любой скрипт, но наиболее пригодные для этого:
      • defaultClearLocationOnDeath
      • defaultClearLocationOnDeathRefAlias
      • defaultClearLocationOnActivate


Что будет сброшено?

Все пункты, описанные ниже, обычно сбрасываются, когда происходит сброс ячейки:

  • Восполняемые существа (респавн).
  • Обычные существа будут возвращены к своим исходным состояниям.
    • Это включает в себя восстановление их здоровья в полном объеме и очистки всех приобретенных Actor Values
  • Восполнение размещенных предметов.
  • Сброс состояния открытия или закрытия дверей на значение по умолчанию.
  • Сброс на состояние по умолчанию содержания контейнеров, а так же их состояния замков.
  • Сброс ловушек в начальное состояние.
  • Сброс скриптов в исходное состояние, очистка всех используемых ими переменных и реинициализация.


Особые случаи / Исключения:

  • Состояния "Enable" и "Disable" у Actors (персонажей) и Objects (объектов) не сбрасывается. Оно остается таким, каким установлено до сброса.
  • Destructible Objects не сбрасываются.
  • Encounter Zone уровни не сбрасываются.
    • Таким образом, Encounter Zone остаются заблокированными на том уровне, на каком их впервые посетил персонаж игрока.
  • Выброшенные игроком предметы обычно не очищаются.
    • Они очищаются при помощи вызова скрипта сброса ячейки, но не при обычном сбросе.
  • Objects (Объекты), принадлежащие Quest Alias, или созданные как алиасы, защищены от некоторых возможностей Cell Reset.
    • For example, a Quest Item in an Alias that is placed in a chest will remain in the chest even after the chest resets.
    • For example, items added to a Quest Alias through the Alias' inventory will remain on the actor even after they respawn.
  • Любой предмет, помеченный как НЕ 'Respawn' (не восполняемый), не будет сброшен. Любые скрипты на таком объекте также не будут сброшены.
    • 'Respawn' это флаг на акторе базового объекта (по умолчанию: true) и всех его копиях.
    • Если что-то в уровне не сбрасывается, это наиболее вероятная причина. Проверьте флаг!
    • Следующие существа и объекты не могут быть намеренно сброшены/респавнены:
      • Мать-дымок и Дымок (Wispmothers & Wisps)
      • Двери-головоломки в нордских руинах.


Другие заметки:

  • Трупы убитых игроком персонажей очищаются в рамках отдельного процесса, не связанного с системой Cell Reset.
  • Порядок операций в процессе Cell Reset не определен. Например, следующие события могут быть выполнены в любом порядке:
    • OnCellLoad для ячейки.
      • Обратите внимание, что OnCellLoad может не сработать для всех, если зона полностью еще не загружена.
    • OnReset для одного объекта.
    • OnReset для разных объектов.


Как защитить нужные данные при сбросе ячейки?

Если вы хотите, чтобы ячейки была сброшена, но все еще сохранила некоторую информацию о своем состоянии, у вас есть несколько вариантов::

  • Используйте квесты. Квесты и информация о их состоянии (стадии, переменные, скрипты и т.д.) не сбрасываются.
  • Используйте состояния Enable/Disable. Помните, что Enable/Disable состояния объектов не сбрасываются.
  • Сохраняйте данные на не переинициируемых объектах. Помните, что скрипты на не переинициируемых объектах не сбрасываются, а значит могут сохранять информацию после сброса ячейки.
    • С другой стороны, они также не получат событие OnReset(), так что вы не можете использовать это, чтобы 'восстановить' информацию о состоянии на других объектах уровня.


Тестирование сброса ячейки

Для тестирования сброса ячейки выполните следующие действия:

  • Измените в игре ячейку таким образом, чтобы результат теста стал очевиден (например, используйте в ней консольную команду 'KillAll', чтобы убить всех убиваемых персонажей в округе).
  • Вновь откройте консоль и последовательно вводите команды, завершая каждую строку нажатием клавиши "Enter".
  • coc RiverwoodSleepingGiantInn (или в любое другое место, где имеется постель) [1]
  • pcb
  • SetGS iHoursToRespawnCell 1
  • SetGS iHoursToRespawnCellCleared 1
  • Проспать 2+ часа
  • coc в любую другую внутреннюю локацию (помещение)
  • Вернуться в вашу локацию и посмотреть на результат

Для внутриигрового сброса внутренней ячейки можно использовать консольную команду 'ResetInterior'

Примечание

  1. Непонятное требование. Неужели нельзя обойтись меню ожидания, а нужно именно спать? Tiara
Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Разделы TES
Разделы Fallout
Модмейкерам
Инструменты