Модератор форума: k©קaso√®  
Форум - gamer-mods » Creation Kit » Все о Creation Kit для Skyrim LE » Вопросы по Creation Kit
Вопросы по Creation Kit
02.01.2018 в 17:16:29, сообщение 1201
Offline
Модмейкер
Исследователь
69 постов
Итак, обещанный туториал по созданию стендов для трофеев.

В качестве примера рассмотрим меч Мерсера Фрея - Охладитель - который мы хотим красиво повесить на стену, положить на полку, воткнуть манекену в ..., ну, все зависит от вашей фантазии.

В WorldObjects --> Static создаем статичное изображение нашего предмета. Назовем его aaaChillrend.
Модель у него будет НАЗВАНИЕМОДА\staticmisc\weapons\swords\aaaChillrend.nif

Объяснять, как работать в нифскопе, я не буду, хорошо?

На всякий случай описываю то, что вы должны видеть на карточке статика: 

ID - допустим aaaChillrend
галочка On Local Map
точечка Collision Geometry
Max Angle 90.0000
Directional Material NONE

Когда вы перезайдете в креашн кит по новой, то вы увидите, что в разделе Static появилась новая папка с названием, совпадающим с названием вашего мода. Туда будут записываться все ваши статики, но увидеть их именно в этой вашей папке можно будет только при перезаходе в СК.

Размещаем этот статик в мире.

Оставляем галочку Respawns и ОБЯЗАТЕЛЬНО ставим галочку Initially Disabled - мы ведь не хотим, чтобы наш трофей был виден в игре ДО ТОГО, как мы его туда решим положить? )))

_________________________________

В WorldObjects --> Activator создаем активатор. Пусть называется aaaChillrendActivator.

Name Охладитель
точка Collision Geomerty
галочка On Local Map

Кстати, если вас, как и меня, раздражают пустые стенды, то я, например, на одном из активаторов написала:
Звезда Азуры или Черная звезда
Так что у меня один стенд на обе звезды (в пропертях скрипта выбрала два варианта звезд, создала два статика, становится видимым та звезда, которую игрок положил.

И еще: предпочитаю шаровидные активаторы. С ними удобнее и в редакторе, и в игре.
Поэтому при размещении в мире параметры у моих активаторов такие:

3D Data - галочка респавн
Primitive - Primitive type Sphere и галочка плейер активейшн
Linked Ref - выбираем наш предмет:
New --> Select Reference in Render Widnow --> тыкаем прицелом на наш предмет и жмем ок.
Теперь у нас  в качестве референса выбран aaaChillrend или как там мы его назовем.

Соответственно, если мы потом откроем в мире этот статик наш, то там появится во вкладке Linked From название нашего активатора (это не редактируется).

Scripts -  вешаем скрипт и выставляем нужные проперти.
02.01.2018 в 17:17:22, сообщение 1202
Offline
Модмейкер
Исследователь
69 постов
________________________
Скрипт:
________________________

scriptName aaaWeaponHolderScript extends ObjectReference

message property FailMessage auto

weapon property ItemToPlace auto
weapon property ItemToPlace2 auto
weapon property ItemToPlace3 auto
weapon property ItemToPlace4 auto
weapon property ItemToPlace5 auto
weapon property ItemToPlace6 auto

Bool property isPlaced = false auto hidden

function OnActivate(ObjectReference akActivator)

if isPlaced == false
if akActivator.getItemCount(ItemToPlace as form) >= 1
isPlaced = true
self.getLinkedRef(none).enable(false)
(akActivator as actor).removeItem(ItemToPlace as form, 1, false, none)
elseIf akActivator.getItemCount(ItemToPlace2 as form) >= 1
isPlaced = true
self.getLinkedRef(none).enable(false)
(akActivator as actor).removeItem(ItemToPlace2 as form, 1, false, none)
elseIf akActivator.getItemCount(ItemToPlace3 as form) >= 1
isPlaced = true
self.getLinkedRef(none).enable(false)
(akActivator as actor).removeItem(ItemToPlace3 as form, 1, false, none)
elseIf akActivator.getItemCount(ItemToPlace4 as form) >= 1
isPlaced = true
self.getLinkedRef(none).enable(false)
(akActivator as actor).removeItem(ItemToPlace4 as form, 1, false, none)
elseIf akActivator.getItemCount(ItemToPlace5 as form) >= 1
isPlaced = true
self.getLinkedRef(none).enable(false)
(akActivator as actor).removeItem(ItemToPlace5 as form, 1, false, none)
elseIf akActivator.getItemCount(ItemToPlace6 as form) >= 1
isPlaced = true
self.getLinkedRef(none).enable(false)
(akActivator as actor).removeItem(ItemToPlace6 as form, 1, false, none)
else
FailMessage.show(0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000)
endIf
else
isPlaced = false
self.getLinkedRef(none).disable(false)
(akActivator as actor).addItem(ItemToPlace as form, 1, false)
endIf
endFunction
__________________________________

1.
property FailMessage - выбираем в пропрертях defaultLackTheItemMSG - если у игрока нет предмета в инвентаре, об этом будет сообщение

2.
weapon property - об этом более подробно.

Если нам нужен стенд для оружия - пишем weapon property.
Если для "хлама", к которому относятся когти, например - miscobject property.
Если для брони, к которой относятся маски жрецов - armor property.
Если для камней душ, к которым относятся звезда Азуры и Черная звезда - soulgem property.

Поэтому, если мы хотим сделать стенды для всех групп вещей, нам понадобится 4 скрипта.
Называть их мне было удобно aaaWeaponHolderScript, aaaArmorHolderScript, aaaMiscitemHolderScript aaaSoulgemHolderScript.

3.
Зачем нам так много проперти а-ля ItemToPlace?

Вернемся к нашему мечу Охладителю.
Дело в том, что, в зависимости от уровня игрока, меч в игре существует в нескольких вариантах.

Выбираем в пропертях для ItemToPlace - TG07Chillrend001
ItemToPlace2 - TG07Chillrend002
ItemToPlace3 - TG07Chillrend003
ItemToPlace4 - TG07Chillrend004
ItemToPlace5 - TG07Chillrend005
ItemToPlace6 - TG07Chillrend006

Если вариантов меньше, то заполняйте проперти нужное количество раз.

Как узнать, сколько вариантов для какого-либо предмета в игре? Для этого используем сайт The Elder Scrolls Wiki | FANDOM powered by Wikia
_________________________________

Надеюсь, я ничего не упустила )

Ага, если для книг (типа Огма Инфиниум, которую мы хотим не на книжную полку поставить, а положить куда-то на столик) - book property. То есть еще один скрипт - aaaBookHolderScript . И так далее.
02.01.2018 в 17:51:56, сообщение 1203
Offline
Проверенный
Покоритель глубин
237 постов
gangrena, о, спасибо!

Вот только со статиками... Зачем их плодить в папке мода? Достаточно просто при создании статика вписать в поле ниф ссылку на ниф оригинального объекта. То есть оба объекта (и меч и его статик-копия )спокойно юзают один и тот же ниф. Не раз так делал и все вроде ок.
02.01.2018 в 19:31:11, сообщение 1204
Offline
Модмейкер
Труженик
142 постов
Слава Богу, разобрался и с навыками. Теперь он и учит и торгует, диалоги есть, озвучка тоже есть. Но возникло два маленьких вопросика: 
1. Я назначил ему место где спать, но он идёт туда не по навмешам, а напролом через стены. Навмеши вроде проложены правильно, финализированы. И вообще такое впечатление, что он мои навмеши полностью игнорирует.
2. Цвет лица отличается от цвета кожи... В Ките вроде бы жмякал Ctrl+F4...  И ещё: в редакторе ему назначил цвет волос чёрный, а в игре волосы дефолтного цвета.  
     Подскажите, пожалуйста, решение этих проблем!  uhm
02.01.2018 в 20:05:31, сообщение 1205
Offline
Локализатор
На все руки мастер
833 постов
avelnord, ну с навмешами наверняка что то упустил. Ctrl+F4 нажимаешь именно на вкладке Actor выделив строку с персонажем после всех действий с ним. По поводу волос, если ты поменял цвет после того как первый раз увидел перса то он уже прописался в сейвах с тем изначальным цветом. Выдели его в консоли от первого лица и набери disable и нажми Enter (он исчезнет) и сразу набери enable перс должен обновиться. Вообще редактировать перса лучше находясь с ним в разных локациях, чтобы в игре он по новой все время загружался.
02.01.2018 в 20:37:54, сообщение 1206
Offline
Модмейкер
Труженик
142 постов
crafty77, Навмеши прокладывал после удаления игровых навмешей. Вроде ничего не упустил. Там идти то всего ничего, надо просто стену обойти. Может быть попробовать почистить мод в Tes5Edit? Я не знаю, не законченный мод можно чистить?  По поводу всего остального спасибо! Да, действительно редактировал после тестирования и сохранился в этой локации...
02.01.2018 в 20:57:30, сообщение 1207
Offline
Локализатор
На все руки мастер
833 постов
avelnord, попробовать можно, но боюсь он при чистке захватит и твои незавершенные наработки. Забэкапить плагин, чтобы можно было вернуться.
Если прическа у перса "собственная" не игровая, можно цвет волос в NifSkope сменить.
02.01.2018 в 21:21:01, сообщение 1208
Offline
Модмейкер
Труженик
142 постов
crafty77, Спасибо! Попробую... Всё равно надо что-то делать, а то как-то криво получается...
03.01.2018 в 12:43:12, сообщение 1209
Offline
Модмейкер
Труженик
142 постов
crafty77, Привет! Почистил esp Tes5Edit, вроде ничего не сломалось. Но, увы, мой перс по-прежнему игнорирует навмеши и ломится через стену. Проверил всё ещё раз, вроде никаких косяков с навмешами нет, при тестировании - путь зелёный. Ошибок в треугольниках нет. Может быть ему какие-нибудь маркеры перемещения поставить, типа xMarker?
      С лицом тоже ничего не получается. Всё сделал как надо: выделил перса в Actor, Ctrl+F4, всё сгенерировалось, а цвет лица отличается. Пробовал disable-enable. ничего не помогает.
      И ещё такой вопрос возник: у меня стоит S..Lab. Так вот, лабовские диалоги все есть, но, как говорится, дальше слов дело не доходит - стоят и смотрят друг на друга.... Почему?
      И такой вопрос для общего развития - проштудировал все уроки по созданию НПС и спутников, но все упорно игнорируют в редакторе разделы KeyWord и Relationship. Для чего они?
03.01.2018 в 16:49:23, сообщение 1210
Offline
Проверенный
Покоритель глубин
237 постов
Цитата avelnord ()
И ещё такой вопрос возник: у меня стоит S..Lab. Так вот, лабовские диалоги все есть, но, как говорится, дальше слов дело не доходит - стоят и смотрят друг на друга.... Почему?
Для начала - FNISS - запустить генерацию списков анимации

Цитата avelnord ()
Relationship
Отношения спутника к другим НПС и игроку

Цитата avelnord ()
KeyWord
Ключевые слова. Используются в условиях и скриптах. У НПС юзаются редко ибо там чаще всего применяются фракции и принадлежность к ним.

Цитата avelnord ()
Но, увы, мой перс по-прежнему игнорирует навмеши и ломится через стену.
А Вы уверены, что перс там видит именно стену? Алгоритм ведь рассчитывает кратчайший маршрут в графе.То есть объект, который вы используете в качестве стены является таковым с точки зрения движка игры? Кроме генерации навмешей в режиме навмешинга есть еще генерация укрытий. Эта система позволяет указать НПС места и объекты на карте, за которыми мог бы укрыться НПС во время боя. Сгенерируйте на своей карте систему укрытий и посмотрите как она отмаркирует Вашу "стену".

Еще может быть такой вариант, что края навмеша где-то залазят в сами меши или парят над полом. Проверка покажет зеленый маршрут, но глюки с перемещением НПС будут.
03.01.2018 в 17:54:24, сообщение 1211
Offline
Модмейкер
Исследователь
69 постов
Народ, у меня такая проблема возникла:

У моего компаньона со своей озвучкой изначально были фразы типа Combat --> Attack (рандомы без условий и интервалов по времени)

Добавила несколько фраз типа Taunt (не рандомы, на каждом условие - определенный тип противника - дракон, тролль и т.п., интервал 12 часов)

После этого добавления компаньон перестал произносить фразы типа Attack. Фразы типа Taunt произносит.

Решается ли эта проблема? Или это очередной глюк игры/редактора?
03.01.2018 в 19:44:09, сообщение 1212
Offline
Проверенный
Покоритель глубин
237 постов
gangrena, если у меня не склероз, то приоритет имеют обусловленные фразы и смешивать их с безусловным рандомом в одной ветке не стоит. Нужно разделить на две ветки диалога: одна  (пакет рандомных фраз )срабатывает во всех случаях, когда не доракон, троль и тд. , а другая - пакет обусловленных при определенном таргете. Иначе попадание таргета в условие на ветке будет выводить ее в приоритет и безусловные фразы никогда не прозвучат. Либо хитрее комбинировать условия по таргету: ну типа цель = дракон и период повтора не меньше 12 часов.
03.01.2018 в 20:56:06, сообщение 1213
Offline
Модмейкер
Труженик
142 постов
Trixter, FNIS сгенерировал, но действий всё-равно никаких нет. Дело в том, что этого НПС я сам создал. Поэтому и спросил про Relationship. Может быть там надо прописать какие-то взаимоотношения с ГГ? 
  По навмешам: это всё происходит не в закрытой локации, а так скажем на улице. Есть кузня, есть конюшня, в кузне спальник - НПС должен пройти из кузни в конюшню, чтобы лечь спать. По идее просто обойти стену, но он прёт через неё. Пробовал сгенерировать систему укрытий, но там попросту нет укрытий, редактор ничего не создаёт. Вернее, в одном месте около угла дома создал и всё.
Он идёт напрямую по тонкой зелёной полоске (толстая - как он по идее должен идти):

А вот какие укрытия сгенерировал редактор:

      Кстати, с цветом лица так проблему и не решил....   
03.01.2018 в 21:39:16, сообщение 1214
Offline
Модмейкер
Труженик
142 постов
По цвету лица: только сейчас заметил, что у меня в редакторе при смене цвета в Face Tinting Color, в превьюшке цвет лица не меняется, а на лбу какие-то полосы, которые и меняются в цвете. Что это за ерунда?
04.01.2018 в 00:57:36, сообщение 1215
Offline
Проверенный
Покоритель глубин
237 постов
avelnord, по лабу. 
0. У лаба же вроде нет собственных диалогов. Он же фреймворк? Код скрипта на ветке диалога запостить можете?
1. Включить лог и смотреть сообщения в консоли во время сцены
2. Вполне возможно в скрипте ветки диалога неправильно определен таргет (второй целевой персонаж) для сцены
3. Лаб проверяет доступность НПС для сцены по полу, рассе (он человек?), фракции
4. В лабовской функции (их две: расширенная с детальной настройкой и быстрый старт) в расширенном варианте может тупить выбор списка доступных анимаций для сцены.

По навмешам
Выставьте ему маршрут в койку цепочкой парол-маркеров. Так будет проще.

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

Форум - gamer-mods » Creation Kit » Все о Creation Kit для Skyrim LE » Вопросы по Creation Kit
Поиск:
Gamer-mods.ru © 2012 - 2024. Все права защищены. Копирование материалов без указанной активной ссылки на данный сайт запрещено.