ver : 0.1

Fallout3: Создание торговца в Fallout 3

Версия руководства на Tiarum Wiki: v0.2

Вступление

Об этом много спрашивали, поэтому я решил коротко расписать, как создавать торговца. Дело в том, что многие пытались делать его так же, как в Обливионе, но у них ничего не получалось. И на это есть несколько причин. Ниже вы посмотрите, что же это за причины. Пожалуй, приступим.

Начало. Создание NPC

  • Сначала запускаем G.E.C.K.
  • Затем идем File -> Data… Откроется такое окно:

  • Двойным кликом левой клавишей мыши отмечаем мастер-файл Fallout3.esm (чтобы в окошке слева от названия появился крестик) и жмем Ок .
  • Когда загрузятся все ресурсы игры, переходим к окну объектов (Object Window).
  • Раскрываем закладку Actors и выделяем закладку NPC .
  • Справа откроется список всех актеров (НПС) в игре:

  • Кликаем правой клавишей мыши на списке NPC справа и в появившемся меню выбираем New (новый).
  • Откроется окно настройки NPC:

Давайте же приступим непосредственно к созданию нашего будущего торговца.

  • Сначала заполним два первых поля:
  • ID – идентификационный код актера. Должен быть уникальным! Пусть будет IgorRaMerchant
  • Name – имя актера, которое будет отображаться в игре. Пусть будет просто Торговец
  • Перейдем на закладку AI Data . Здесь мы определимся, что именно будет продавать наш торговец:

  • Weapons (оружие)
  • Armor (броня)
  • Alcohol (алкоголь)
  • Food (еда)
  • Chems (химия)
  • Stimpacks (медпрепараты)
  • Books (книги)
  • Miscellaneous (разное)
  • Остальные характеристики НПС я решил оставить по умолчанию. Думаю, вы и сами сможете их выставить по своему желанию.
  • В инвентарь (Inventory ) неплохо-бы добавить одежду, пип-бой и какое-нибудь оружие:

  • А сейчас последний штрих по созданию нашего торговца. Добавим ему пакет АИ .
  • Переходим в строке меню Character -> Packages…
  • В открывшемся окне кликаем правой клавишей и в появившемся меню выбираем New .
  • Откроется окно настройки пакета (Package ).
  • Вводим для нашего пакета уникальный ID (у меня – IgorRaMerchantPackage ).
  • Тип пакета (Package Type ) выбираем Wander :

  • Если хотите, в окошке Radius можете выставить радиус, в пределах которого актер будет прогуливаться во время действия пакета.
  • Переходим на закладку Flags . Здесь нас интересует флаг Offers Services .
  • Отметим его. Это разрешит актеру торговать и оказывать другие услуги во время действия пакета:

  • С настройкой пакета все. Жмем Ок .
  • Перетаскиваем только что созданный пакет АИ на закладку AI Packages нашего торговца:

С актером пока все. Перейдем к следующей части… к созданию квеста. :) Кто бы подумал, да?

Создание квеста

  • В окне объектов (Object Window) раскрываем закладку Actor Data и выделяем закладку Quest .
  • На списке квестов справа кликаем правой клавишей мыши и в появившемся меню выбираем New (новый).
  • Откроется окно настройки квеста. Начнем заполнение:
  • Quest Name – название квеста, которое будет отображаться в игре.
ВАЖНО ! В русской игре отображаются только заглавные буквы из названия квеста. Однако наш квест будет не совсем квестом, нам он нужен только для того, чтобы добавить новому торговцу диалоги. То есть, в игре название квеста нигде показываться не будет. Поэтому мы просто оставим это поле пустым.
  • ID – уникальный идентификационный код квеста (у меня – IgorRaMerchantQuest ).
  • Priority – приоритет квеста, поставим 100 . Приоритет влияет на диалоги. Например, если у актера есть приветствия, привязанные к двум квестам, то говорить он будет в первую очередь приветствия из квеста с более высоким приоритетом.
  • Start Game Enabled – если отметить, квест начнет обрабатываться сразу после загрузки игры. Отметим.
  • Allow repeated conversation topics – разрешить повтор тем из закладки Conversation (свободный разговор). Нам ни к чему.
  • Allow repeated stages – разрешить повтор стадий квеста. Нам тоже не понадобится.
  • Script – здесь можно прикрепить скрипт к квесту. Нам ни к чему.
  • Quest Icon – иконка квеста (в Fallout 3 не используется).
  • Сейчас обязательно нажмите Ок . В противном случае, при переходе на другие закладки, информация с первой закладки (Quest Data ) будет утеряна.
  • Вновь открываем наш квест. Продолжим его настройку. Для этого перейдем на закладку Topics (темы).
  • Сначала нам нужно сделать так, чтобы Торговец с нами заговорил, то есть, создать для него приветствие (GREETING ).
  • Для этого в поле слева кликаем левой клавишей мыши и выбираем в появившемся меню New (новый). Откроется вот такое окно:

  • Находим в списке тему GREETING (приветствия) и жмем Ок .
  • Далее переходим к окошку с Info, которое находиться правее. На пустом поле кликаем правой клавишей мыши и выбираем New:

  • Откроется окно New Response , где в верхнем окошке Response Text я наберу такую фразу: « Привет, путник ». Такими словами будет нас приветствовать Торговец .
  • Закрываем это окно.
  • Но это еще не все. Нужно прописать условия (Conditions ).
  • Для этого идем ниже, где видим поле Conditions .
  • Нам нужно сделать так, чтобы установленные нами слова приветствия произносил только Торговец, а не все НПС в игре.
  • Для этого сделаем следующее условие. Правый клик на поле условий и в появившемся меню выбираем New .
  • Настраиваем условие:

  • Теперь добавим новую тему, для этого правый клик в поле слева (там, где мы добавляли GREETING ) и в появившемся меню выбираем Add Topic :

  • Откроется окно выбора темы – Select topic .
  • Опять щелкаем правой клавишей на списке тем и в открывшемся меню выбираем New :

  • Вбиваем название темы (у меня это IgorRaServise ) и жмем Ок. Вот что получилось:

  • Строчка Topic Text – это название темы, которое мы будем видеть в списке тем диалога в игре.
  • Заменим IgorRaServise на фразу – Что у тебя есть на продажу
  • Затем ниже этого поля кликаем правой клавишей и в появившемся меню выбираем New :

  • Откроется окно New Response , где в верхнем окошке Response Text я наберу такую фразу: « Вот, смотри ».
  • Закрываем это окно.
  • Теперь опять спускаемся ниже к условиям (Conditions ).
  • Правой клавишей щелкаем в поле условий и в появившемся меню выбираем New .
  • Настраиваем условие следующим образом:

  • Таким образом, мы привязали и эту тему диалога к нашему Торговцу.
  • Теперь спускаемся в самый низ, туда, где у нас находятся результирующие скрипты (Result Script ).
  • Вводим в поле Result Script (End) следующую строку: ShowBarterMenu
  • Эта функция вызывает меню торговли. Справа жмем кнопку Compile Scriедн. (компилируем скрипт).

Теперь нам надо связать между собой приветствие и тему с предложением поторговать.

  • Для этого вернемся к GREETING , выбираем Info "Привет, путник ".
  • Справа есть поле Add Topics (добавление темы). То есть, сюда мы можем добавить ту тему (или темы), которые появятся в списке тем Торговца после того, как он нас поприветствует.
  • Правый клик на этом поле и в появившемся меню выбираем New .
  • В открывшемся окне выбираем нашу тему (IgorRaServise ) и жмем Ок :

  • Жмем Ок , чтобы закрыть окно настройки квеста.

Готово. У нас есть торговец, который может торговать. Осталось сделать две вещи:

  • Первая – расположить торговца где-нибудь на просторах игры. Думаю с этим проблем возникнуть не должно.
  • И второе – задать торговцу ассортимент товаров. Вот этот момент лучше рассмотреть более детально.

Ассортимент торговца

Что же продает торговец? Если у него есть принадлежащая ему ячейка (магазин, например), то он будет продавать все, что там есть, включая сундуки. Все, кроме того, что на нем надето.

Также у торговцев есть спрятанные контейнеры с предметами для продажи. Кстати, крышки торговца, которые играют роль валюты в Фоллауте 3, находятся именно в этих спрятанных контейнерах, а не в настройках актера, как это было в Обливионе.

В общем, не будем много разговаривать, а перейдем лучше сразу к делу. Сделаем для нашего торговца скрытый контейнер. Поместим его где-нибудь неподалеку от него, но в недоступном месте (под землей, за стеной дома, а можно и вообще в другой локации).

Примечание : если вы хотите добавить что-то на продажу уже существующему торговцу, лучше сделайте отдельный контейнер и положите туда необходимые для продажи предметы. Это уменьшит вероятность конфликтов между плагинами, которые затрагивают одного и того же торговца.
  • Контейнеры находятся в окне объектов по пути World Objects -> Container .
  • Я себе выбрал контейнер FilingCabinet . Двойной клик по нему. Давайте настроим этот контейнер на свой лад.
  • Сначала я сменю его ID на IgorRaMerchantContainer .
  • Флаг Respawns стоит отметить, если вы хотите, чтобы все предметы в контейнере (и ассортименте торговца) восстанавливались каждые три дня.
  • Справа, в окошке Item List , удалим все, что там было.
  • Чтобы добавить то, что мы хотим, кликаем на пустом поле и в появившемся меню выбираем New . У нас появится строчка AbraxoCleaner . Эй, мы такого не заказывали!... :)
  • Смотрим, чуть ниже есть окошко с раскрывающимся списком – Object .
  • Раскрываем список и выбираем то, что нам нужно. Пусть это будет Ammo5mm .
  • AbraxoCleaner в списке предметов изменился на Ammo5mm .
  • В окошке Count можем ввести количество указанного предмета, а в окошке Health % выставить его состояние.
  • Не забудьте, что местная валюта обозначается как Caps001…
  • Вот что у меня получилось сделать с контейнером:

  • Хотите ли вы создать новый предмет или внести изменения в старый?
  • (под ником Igor_Ra )
  • на форуме сайта MTES (под ником IgorLutiy )
  • Все права на данную статью принадлежат автору, то есть мне. Если вы желаете разместить этот материал где-либо, свяжитесь, пожалуйста, со мной!
  • На сайте Oblivion Modding вы можете скачать

EXTREME_TRUCKER
Вещи, которые продают торговцы можно отредактировать(добавить/убрать) в файлах gamedata\configs\misc с именем trade_YYY.ltx, где YYY – это имя торговца(например trade_barman.ltx. Если после назв. предмета стоит NO TRADE, значит торговец это не продаёт(не покупает). Вместо NO TRADE нужно вписать желаемые числа (см.ниже).
Итак, поехали:
Структура файла на самом деле очень проста, под зачком; прописаны сами предметы, а после него – комментарий(чтоб понятно было). Например;Аммуниция.
В квадратные скобки заключены(), как бы сказать, “условия”. Лучше показать на примере:
В самом начале(практически) файла trade_barman.ltx идёт строка содержания , т.е. она означает, что ниже прописанные предметы торговец может купить.
Сами предметы например:
;Артефакты
af_medusa = 1, 0.3
af_cristall_flower = 1, 0.3

Или
;ADDONS
wpn_addon_scope = 0.7, 0.2
wpn_addon_scope_susat = 0.7, 0.2
Посмотрим какие ещё “условия” содержит этот файл и их значение:
- начальный ассортимент
- ассортимент, после выполнения квеста в тёмной долине
- ассортимент, после “выжигателя мозгов”
- цены по которым торговец(бармен в данн. сл.) продает в начале
- аналогично
Итак: чтобы добавить предмет к торговцу, после строки , находим интересующую нас категорию(а это может быть: ;Аммуниция/;Оружие/;Броники/;Медикаменты/;Еда и др.) и после всех прописанных в данной категории предметов добавляем ещё одну строчку для своего предмета(а именно название модели(т.к. оно совпадает с названием самого предмета) и после знака = параметры(о них чуть ниже)). Ну я так и знал что вы ничего не поймёте, поэтому пример:
Чтобы добавить бармену винтовку Гаусса, находим строки после условия -
;Оружие
wpn_pb = 3, 0.6
wpn_walther = 3, 0.6
wpn_mp5 = 3, 0.6
wpn_ak74u = 3, 0.5
и внизу прописываем wpn_gauss = N, n.n
*о значениях после знака = см. ниже.
Все имена оружия, амуниции, снаряжения и т.п. можно найти в папках gamedata\meshes\equipments,
gamedata\meshes\weapons, gamedata\meshes\food.
Заметьте, что wpn_gauss нужно писать без расширения.ogf
Значения:
После знака = у вальтера например стоит цифра 3, а после запятой – 0,6.
Первое, для гаусса у нас стоит N, это количество(в штуках) предметов. Т.е. если поставить значение 999, то у бармена будет 999 гауссов.
А второе:
1. В разделах supplies вторая цифра это вероятность появления данного предмета.
2. В разделе buy - первая цифра максимальная цена покупки, вторая минимальная (зависит от отношения торговца к Меченному - рейтинг, репутация)[Предположительно. – прим.]
3. Соответственно в разделах sell - первая цифра минимальная цена продажи, вторая - максимальная (точнее множитель на "истинную цену" предмета). Tnx GreyL.
В итоге должно получиться:
;Оружие
wpn_pb = 3, 0.6
wpn_walther = 3, 0.6
wpn_mp5 = 3, 0.6
wpn_ak74u = 3, 0.5
wpn_gauss = 6, 0.6
И тогда у торговца мы получим ровно 6 винтовок Гаусса.

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

Версия: 1.0

Skyrim
Оглавление:

В роли торговца будет не новый персонаж, а аргонианин из самой игры..

Так и интересней делать и у НПС есть хоть какая-то своя жизнь.

ЧАСТЬ 1. Вступление

Откроем редактор и загрузим skyrim.esm. (после этого шага, уже можно дать название вашему моду, нажав пиктограмку дискетки).

Откроем набор "Actor", в фильтре напишем "Deekus".

В списке персонажей останется только нужный нам.

ПКМ(правая кнопка мышки) щелкнем на Дикуса и из контекстного меню, выберем "Use info".

Нам откроется форма, в которой есть вся информация о нужном НПС. Собственно, это меню применимо и к другим объектам из списка редактора и это ОЧЕНЬ удобный инструмент!

Двойной щечок на этом поле, откроет в окне рендеринга, местонахождение самого персонажа.

ЧАСТЬ 2. Контейнер

Чтоб отключить отображение маркеров, дыма и прочих спецэффектов, выделив окно рендеринга, нажимаем кнопку [M].

Выделяем бочку, рядом с персонажем

Нажимаем +[D] - это сделает дубликат бочки и переведет на нее выделение. Теперь бочку надо просто сместить в сторону. Ее лучше уменьшить, зачем, я расскажу позже. Чтоб уменьшить, зажав [s] и ЛКМ(левую кнопку мышки) поведите вниз и она уменьшится, вверх и она увеличится. Я сделал так:

Теперь, из этой бочки, будем делать наш основной контейнер, в который позже положим деньги(для расплаты с ГГ) и драгоценные камни.

Т.к. мы просто скопировали бочку, она является точной копией 100500 таких же бочек. Двойной щелчок на "нашей" бочке, откроет ее свойства.

Нам нужна кнопка , чтоб открылась форма, со свойствами БАЗОВОГО контейнера.

На этой форме, нам нужно изменить название контейнера, чтоб в редакторе появился новый контейнер.

Я задал имя(ID) "aaBarrelFood01" и вычистил его содержимое. Обратите внимание, чтоб была установлена галка [x] Respawn, это необходимо для того, чтоб через время(какое-то) у нашего продавца, появился новый товар и деньги.

Все, форму можно закрыть, согласившись с редактором, что это НОВЫЙ объект

Найти наш новый контейнер в редакторе.

Двойным щелчком откроем наш новый кнтейнер и перейдем в набор "Items" - "LeveledItems", где в фильтре введем "VendorGoldMisc"(можно и "VendorGold", собственно без разницы, нам нужен любой левельный "кошелек")

Двойной щелчок на объекте, раскроет форму его настройки.

Здесь нам нужно дать название новому объекту("aaVendorGoldDeekus"), выставить количество денег у продавца, для торговли с ГГ и нажать [ Ok ]. Выскочит форма вопрос/предупреждение([ Ок ] = создать новый объект, [ Cancel ] = переименовать старый). Нам нужен новый. *Вообще, примером хорошего тона, при создании модов, является создание НОВЫХ объектов, а не изменение старых, это позволит сократить конфликты между модами. Хотя бывают случаи, когда надо только изменять ванильный объект(например, мы будем изменять самого Дикуса, позже)

У нас появился в списке наш "кошелек", его нужно подхватить мышкой и перетащить в наш контейнер.

Теперь, когда у торговца есть деньги для покупки товара у ГГ, нам нужно дать торговцу товар.

Для этого, оставаясь в этом же наборе, в фильтре введем "LItemGems" и перетянем набор камней в наш контейнер.

По большому счету, с контейнером мы закончили. На форме настройки нашего нового контейнера нажимаем [ Ok ], форма закрывается, можно переходить к пакетам.

ЧАСТЬ 3. Формлист

Формлист - это набор(список), удовлетворяющих нас критериев. Этот лист определит, чем сможет торговать Дикус.

Открываем набор "Miscellaneous" - "FormList"(не забудьте очистить фильтр). Здесь в списке все списки(Бггг), которые присутствуют в игре. Тыцкнем ПКМ(где выделено зеленым) и выберем контекстное меню "New".

Откроется форма настройки объекта. Которой надо дать имя. Я дал имя "aaDeekusFormList". Закрывать ее не надо.

В эту форму мы добавим то, чем сможет торговать Дикус. Для этого надо перейти в набор "Miscellaneous" - "Keyword", в фильтре найти "vendorItemGem"и перетащить в наш список. Собственно, это и есть игровой список ВСЕХ драгоценных камней.

Теперь наш новый "список" можно закрыть, он уже не понадобится(если только вы не захотите добавить другие критерии выборки, чем сможет торговать Дикус.

ЧАСТЬ 4. Фракции

Переходим во набор "Character" - "Factions", в списке объектов ПКМ и выбираем контекстное меню "New".

Открывается форма управления фракцией. В ней надо перейти на вкладку "Vendor", отметить "[x] Vendor", это значит, что участник этой фракции торговец, отметить время, когда он будет торговать, я выставил с 9 до 19. За тем, надо указать радиус торговли. Зная, что этот НПС никуда с места стоянки не уходит, я поставил радиус 128(этого вполне хватит, для конкретной задачи).
Теперь надо выбрать созданный нами ранее список "aaDeekusFormList" в выпадающем списке "Vendor Buy/Sell List".

И! переходим к выбору контейнера, по кнопке . *Чтоб это можно было сделать, в окне рендера мы должны видеть наш контейнер*. Двойной щелчок ЛКМ на нашей бочке, определит наш новый контейнер. Все, с контейнером разобрались.

Теперь уделим внимание локации, чтоб тот радиус(128), который мы назначили ранее, имел центр. :)
Для этого щелкнем по кнопке "Location [ Edit ]". У нас откроется еще одна форма, в которой мы выберем "(x) Near Reference" и у нас станет доступна кнопка . Щелкним по этой кнопке и в окне рендеринга, двойным кликом выберем наш контейнер. Теперь нажимаем [ Ok ], форма закрывается.

Проверяем, что мы выбрали и что конструктор об этом теперь знает. Я выделил зеленым цветом те места, где названия поменяются автоматически, если было хоть что-то выбрано. Нажимаем [ Ok ]. Фракция готова к употреблению.

PS. Тут нужно было сделать еще одно действие, которое я не "сфотографировал". Нам нужно наш контейнер(маленьку бочку), ли опустить под землю, но тогда хитрые игроки, с помощью консоли к ней спутятся под землю и стырят все деньги и драгоценные камни у Крокодила Гены Дикуса. Или... я так делаю. сделать "матрешку". То есть контейнер, мышкой расположить внутри другого контейнера. Для этого мы его уменшали в начале мануала. Так игрок, даже воспользовавшись кодом "хождения сквозь стены", до нашего контейнера не доберется.. т.к. будет срабатывать внешний контейнер. Ну, тут уж зависит от вашего мастерства. Можно контейнер сделать чуточку меньше и расположить его по тем же координатам, что и контейнер, из которого мы делали наш. Это самый аккуратный способ.*

ЧАСТЬ 5. Редактируем НПС


Открываем нашего Дикуса и переходим во вкладку "AI Packages", ПКМ на окошке со списком пакетов и выбираем контекстное меню "Add". Открывается форма, на которой есть поле ввода(оно же фильтр) и список всех доступных пакетов. Нам нужен стандартный пакет торговли "DefaultServicesEditorLoc24x7". Начните набирать его название, чтоб отфильтровать ненужные.

За тем, по двойному щелчку мышки, он добавится в список АИПакетов. На этой вкладке все.


Теперь переходим на вкладку "Factions". В конкретном, именно этом случае!!! Есть пакет, который делает Дикуса по отношению к игроку неучтивым, то есть его реплики будут весьма грубыми. Я убрал этот пакет, т.к. ящерки в Скайриме, кроме как с "Прилетит вдруг волшебник, в голубом вертолете и бесплатно покажет", ни с чем другим не ассоциируются(будем считать, что это мой маленький каприз).

Теперь надо добавить созданную нами ранее фракцию "aa_DeekusJobMerchantFaction" и еще 2 фракции "JobMerchantFaction" и "JobStreetVendorFaction"

В итоге, набор фракций будет выглядеть так.

**Все же, решил спрятать бочку и наглядно показать как это сделать грамотно.

Двойной клик на каждой бочке вызовет форму редактирования объекта. Переходим на вкладку "3D Data". Черным отмечены названия(ID) объектов. Красным обозначены поля на ванильном объекте, который нам лучше вообще не сдвигать никуда, что не внести в наш мод информацию об изменении этого объекта. Зеленым выделены поля, куда надо скопировать данные из полей, выделенных красным. Это обычная копипаста.. выделил-скопировал-вставил.

Фиолетовм выделено поле, где задается общий размер объекта. я поставил 0.98. На скриншоте хорошо видны границы выделения объектов и что один больше, а другой меньше.
Теперь форму редактирования нашего контейнера закрываем по [ Ok ], а форму ванильного контейнера по [ Cancel ]

При создании карт для майнкрафта у многих возникает желание создания квестов, то есть заданий для игроков — типа «Убей 5 зомби», «Добудь 3 алмаза» и т.д. Раньше игроки просто создавали задачи для игроков, а игрок сам должен был считать сколько он убил, сколько собрал, в-общем, сам должен контролировать выполнение квестов, при этом любое задание можно пропустить и перейти к следующему, согласитесь, это было совсем неправильно. Но времена меняются, в игре появились коммандные блоки и очень полезные , теперь в майнкрафте можно сделать практически всё, что угодно, но при знании программирования и желании изучать команды игры, о которых пишут не так часто. Об одной из возможностей я напишу в этой статье, а именно о том, как назначить товары, которые продаёт и покупает деревенский житель.

Если выбирать самому, что на что должен менять деревенский житель, то можно создавать задания типа «Принеси мне то, а я дам тебе то». Кроме того, таким образом можно организовать торговлю на серверах.

Мы будем использовать команду , чтобы призвать жителя с нужными нам товарами. Команды будут получаться достаточно длинными, поэтому не все они будут влезать в чат, в таком случае используем командный блок.

Призыв жителя с нужными товарами

/summon Villager ~ ~ ~ {Offers:{Recipes:[{maxUses:3,buy:{id:265,Count:8},sell:{id:266,Count:1}}]}}

Меняется максимум 3 раза, купит 8 железных слитков (id:265) за 1 золотой слиток (id:266).

Призыв с помощью коммандного блока

1. Получаем коммандный блок:

/give @p minecraft:command_block

2. Устанавливаем коммандный блок на землю, кликаем по нему правой кнопкой мыши, вводим нашу команду.

3. Рядом с коммандным блоком ставим рычаг, и «дергаем» его, житель призвался, удаляем блок и рычаг.

Другие возможности

1. Призыв жителя одной из 6-и профессий:

/summon Villager ~ ~ ~ {Profession:#}

Вместо # — вставляем от 0 до 5

2. Даём жителю имя:

/summon Villager ~ ~ ~ {CustomName:name,CustomNameVisible:1}

Вместо «name» — любое имя, лучше на английском, так будет меньше конфликтов, хотя и на русском можно.

3. Житель просит два товара

/summon Villager ~ ~ ~ {Offers:{Recipes:[{maxUses:#,buy:{id:#,Count:#,Damage:#},buyB:{id:#,Count:#,Damage:#},sell:{id:#,Count:#,Damage:#}}]}}

maxUses — сколько раз можно обмениваться
id — ID товара
Count — количество
Damage — Доп.ID (например, у досок, шерсти, стекла) или поврежденность предмета, можно удалить или поставить 0

4. Множественная торговля

/summon Villager ~ ~ ~ {Offers:{Recipes:[{maxUses:#,buy:{id:#},sell:{id:#}},{maxUses:1,buy:{id:118,tag:{display:{Name:No More Trades}}},sell:{id:118,tag:{display:{Name:No More Trades}}}}]}}

Сначала торговец продает что-то «maxUses» раз, затем начинает продавать что-то другое.

5. Сочетание всех свойств

/summon Villager ~ ~ ~ {CustomName:name,Profession:#,Offers:{Recipes:[{maxUses:#,buy:{id:#,Count:#,Damage:#},sell:{id:#,Count:#,Damage:#}},{maxUses:1,buy:{id:118,tag:{display:{Name:No More Trades}}},sell:{id:118,tag:{display:{Name:No More Trades}}}}]}}

Здесь главное не ошибиться и заполнить все правильно, иначе игра будет «Крашиться» и вылетать.