Моды для Скайрим и справочные материалы для модмейкеров.

Комментарии галереи

На Форуме

Пилим мод
:roll: По идее, пока не канула,просто Маргошу "заездили" на работе... :? Сутками там пропадает... :(...

All Lady Body - Дополнения.
Доброго времени суток Есть ли какие проблемы у этого реплейсера с купальними люкс и подземными банями? Люкс Версия 1.1 для SSE: при попытке входа в купальню черный экран, при этом фоновая музыка продо...

Фоллаут 4 - опять
Моды не ставлю. :) Это наверное здорово играть без модов в Fallout!Я уже забыл когда играл без модов в Фолыч,нужно как нить попробовать.Скорей всего это будет скучно. Я вот целую сборку от Торна запилил...

Флудильня
Я думал, там эта кнопка просто для красоты :D

Музилище


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

Оглавление:

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

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

 

 

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


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


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


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

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

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



 

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


Оглавление

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


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

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


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


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

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


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


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

Я задал имя(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".

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

 


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


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

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

Оглавление

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

 




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

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


 

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


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


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

 


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


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

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

Оглавление



+ 7



Недостаточно прав для комментирования

Комментарии   

VALKNUT
#10 VALKNUT 04.03.2016 18:29
В ванильном квесте еще есть альясы, которые содержат пакеты поведения и скрипты.. один из них "SolitudeHorse"
В твоем случае, ты можешь использовать альяс из другого квеста..
Или..
Добавить лошадке 2 копии пакетов(не используй ванильные, чтоб не испортить их)
1. PlayerHorseStayPut
2. PlayerHorseReturnToStable

А в условиях срабатывания этих пакетов поставь стадию квеста продажи лошадки(если ты через диалог продаешь, то квеста не может не быть)
Aksyonov
#9 Aksyonov 04.03.2016 15:52
Так все сделал но почему то после присвоения фракции PlayerFaction для коня он за мной не ходит и со мной не переселяется возвращается к хозяину почему как поправить ? в ownership выбран хозяин скрипт выглядит вот так:

Game.GetPlayer().RemoveItem(Gold001, 9500)
myHorse.SetFactionOwner(PlayerFaction)

В проперти лошадка выбрана..
Aksyonov
#8 Aksyonov 04.03.2016 08:40
Вай интересно ) спасибо теперь буду знать.
VALKNUT
#7 VALKNUT 04.03.2016 08:11
Цитирую Aksyonov:
Вот спасибо за stables ! как нашел то ? кк вообще найти нужый скрипт если знаешь что он в каком то квесте но в каком ? все думаю теперь справлюсь со всем.
Если знаешь КТО продает, находишь его по имени(или в локации смотришь имя, двойным тыком на НПС) в списке Actor, за тем, правой кнопкой мышки тыкаешь на нужного НПС и выбираешь контекстное меню "UseInfo" и у тебя выскочит форма, в которой будет перечислено ВООБЩЕ ВСЁ, где этот НПС засветился.. от локации, до диалогов...
Aksyonov
#6 Aksyonov 04.03.2016 08:02
Вот спасибо за stables ! как нашел то ? кк вообще найти нужый скрипт если знаешь что он в каком то квесте но в каком ? все думаю теперь справлюсь со всем.
VALKNUT
#5 VALKNUT 04.03.2016 07:54
Продажа лошадки, это отдельный квест("stables"), что может быть даже удобней, чем самому городить...
Но если хочется сделать что-то иное, то нужно:
1. проверяем наличие денег(ниже условие на 1000 денег)
2. забираем у игрока 1000 денег "Game.GetPlayer().RemoveItem(Gold001, 1000)"
3. указываем владельца конины - фракцию Игрока "myHorse.SetFactionOwner(PlayerFaction)", где myHorse, это ObjectReference
В общем-то этого по идее уже хватает для обладания коняшкой, но нет предела совершенству... посмотри как сделано в квесте...
Aksyonov
#4 Aksyonov 04.03.2016 07:41
С лошадкой сейчас разберемся

По поводу золота спасибо ! буду знать ) по поводу лошадки жду с нетерпением )
VALKNUT
#3 VALKNUT 04.03.2016 07:30
Цитирую Aksyonov:
Кстати а какой скрипт нужно использовать для того что бы в диалоги с Npc прописать продажу лошади ? что бы она перешла к игроку ? как сделать в диалоге проверку есть ли деньги в инвентаре отдачу их если есть необходимое количество торговцу а после что бы торговец передал лошадь что бы она стала собственностью игрока ? подскажет может кто.
Проверку денег не сложно сделать.. в диалоге надо добавить такое условие...

С лошадкой сейчас разберемся...
Aksyonov
#2 Aksyonov 03.03.2016 17:14
Кстати а какой скрипт нужно использовать для того что бы в диалоги с Npc прописать продажу лошади ? что бы она перешла к игроку ? как сделать в диалоге проверку есть ли деньги в инвентаре отдачу их если есть необходимое количество торговцу а после что бы торговец передал лошадь что бы она стала собственностью игрока ? подскажет может кто.
Aksyonov
+1 #1 Aksyonov 02.10.2015 05:58
Ммм вот это я понимаю труды )) столько то писать сам знаю о чем говорю ! спасибо большое VALKNUT как раз сейчас мне это и нужно, немножко подгляжу в шпаргалку. :-*

Комментарии модов