Добавление предметов торговцам

 Fallout New Vegas  G.E.C.K. глазами разработчиков  RJ 11840 0

Как мне добавить предметы в существующий контейнер торговца?

Чтобы избежать несовместимости с другими модами, существует два способа сделать это: первый - создать новый контейнер, владельцем которого будет нужный нам NPC; второй - создать квест/скрипт для добавления нужных предметов в существующий контейнер торговца.

Вам нужно проверить, продает/покупает-ли ваш NPC такой тип предметов, которые вы собираетесь добавить к нему в инвентарь: настраивается это на вкладке AI Data окна редактирования NPC.

Создание нового контейнера, владельцем которого будет нужный нам торговец

  1. В окне Object в разделе World Objects > Container щелкните дважды на любом объекте с начальным названием VendorContainer - внизу всего списка.
  2. Дайте контейнеру новое ID (первое текстовое поле в редакторе) и перетащите в список с правой стороны этого контейнера все предметы, которые вы хотите видеть в продаже торговца (удалив из списка те предметы, которые вам не нужны) а также положите в контейнер крышки (деньги), если хотите, чтобы персонаж покупал у вас барахло (таким образом вы увеличиваете количество денег у этого торговца).
  3. Проверьте установленный флажок Respawns, если вы хотите, чтобы контейнер обновлялся (по умолчанию каждые 3 дня) и щелкните ОК; когда программа спросит у вас, создать или нет новую форму, ответьте Yes.
  4. В окне Cell View щелкните дважды на названии VendorChestsCell и перетащите в окно Render этой ячейки созданный вами контейнер из окна Object.
  5. Щелкните на контейнере дважды, уже в окне Render Window и дайте название ссылки (Reference ID) как yourNPCVendorChestRef, установите флажок Persistent Reference и на вкладке Ownership выберите нужного вам NPC из выпадающего списка.
  6. Для новых NPC вы так же можете щелкнуть дважды на этом NPC в окне Render Window и выбрать нужных сундук на вкладке Merchant Container (для существующих NPC, возможно эта опция уже установлена): в первом выпадающем списке выберите VendorChestCell, потом название ссылки (yourNPCVendorChestRef) во втором выпадающем списке.

Создание квеста/скрипта для добавления вещей в существующий контейнер NPC

  1. Щелкните правой кнопкой на контейнере, в который вы хотите добавить предметы в World Objects > Container и выберите пункт Use Info.
  2. Сделайте двойной щелчок на надписи Used in these Cells list, после чего контейнер будет выбран в окне Render Window.
  3. Сделайте двойной щелчок на контейнере в Render Window и скопируйте Reference ID, чтобы вставить этот ID в скрипт.
  4. Создайте новый квест с названием yourQuest.
  5. Установите для квеста Start Game Enabled и приоритет 60 или выше.
  6. Щелкните ОК в правом нижнем углу, сделайте двойной щелчок на вашем квесте yourQuest, чтобы снова открыть окно квеста.
  7. Щелкните на кнопке с многоточием около выпадающего списка Script.
  8. Выберите Script > New в окне Script Edit и выберите опцию Quest в выпадающем меню Script Type (Тип скрипта).
  9. Введите приведенный ниже текст, редактируя и добавляя строки с названием предметов так как вам нужно, щелкните Save и закройте окно скриптов.
  10. Выберите созданный вами скрипт в выпадающем меню окна Quest, после сохранения созданного скрипта.
Scn yourQuestAddItemsScr

BEGIN GameMode
vendorChestReferenceID.addItem itemEditorID count
stopquest yourQuest
END

Вот пример реального использования вышеприведенного кода (линии vendorChestReferenceID.addItem itemEditorID):

VendorChestBuriedGobREF.additem Jet 3

Примечания

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

Возможные проблемы

Есть одна неприятность при работе с крышечками, когда в торговле происходит баг с отображением привального поведения и игроку перестают платить за предметы. Торговец и дальше берет вещи, но игрок не получает за это деньги. Если у торговца 32767 крышек все будет хорошо. Однако, если у торговца 32768 крышек, торговец будет брать предметы у игрока, но не будет платить за них...

Мне нравится    12