Форум » TES V: Skyrim » Библиотека модмейкера » Вопросы по Creation Kit. Старая тема (Тут вы можете задать вопросы по редактору Скайрима)

Вопросы по Creation Kit. Старая тема
Морфин  Сообщение №1 написано: 7 февраля 2012, 21:38

Тема по работе с редактором Skyrim Creation Kit.

----------
Полезная информация:

Видео уроки:


Предупреждаю! За оффтоп и флуд буду наказывать беспощадно!

alexwar  Offline  Сообщение №5491 написано: 11 сентября 2013, 14:00


Freelancer - White Raven


anton, может все же дублировать...а то удалять как то стремно :D


Мой блог-VIDEO-ALEXWAR
The Elder Scrolls Online
BileraON  Offline  Сообщение №5492 написано: 11 сентября 2013, 14:10 | Отредактировано: BileraON - 11 сентября 2013, 22:54



41
Цитата Ichimar

Ребят поможете с СК стимовским?



В Steam: Библиотека > Инструменты > там ищешь "Creation Kit" > ПКМ по нему > Свойства > Локальные файлы > Проверить целостность кэша

anton  Offline  Сообщение №5493 написано: 11 сентября 2013, 17:13 | Отредактировано: anton - 11 сентября 2013, 18:23



362
Цитата alexwar

может все же дублировать...а то удалять как то стремно



Та ради работы моего ненаглядного мода ничего не жалко ! :D
(тем более что копировать всё равно некуда, объект коллизий для камеры имеет строго заданное имя, поэтому копия с другим именем просто ни на что влиять не будет)

А теперь отчёт о проделанной работе:
- опыт с очисткой списка коллизий камеры завершился полной победой разума над окружающей действительностью !!! music
Теперь камера проходит сквозь объекты как по маслу и не взаимодействует с ними !

Так что по большому счёту мод уже готов.
Теперь осталось самое нудное - проверка его работы в реальных условиях и выявление "особенностей" ... не найдётся ли желающих помочь мне в этом деле ? ^_^

(одну "особенность" я уже споймал - моя формула расчёта времени не очень хорошо работает на очень маленьких или очень больших дистанциях до цели, так что с коэффициентом придётся ещё немного поработать ...)

PS: немного подправил, теперь если движение камеры будет в радиусе до 2000 юнитов, всё будет плавненько. (для справки: высота НПС где то 120-130 юнитов)

Мой Блог
Ichimar  Offline  Сообщение №5494 написано: 11 сентября 2013, 18:00



20
BileraON спс

StanislavD  Offline  Сообщение №5495 написано: 11 сентября 2013, 19:52



123
ребят... уже задолбался  с маркерами и навмешом... создал сетку, финализировал, поставил маркеры, связал их...
нпс доходит до какого то маркера и после него встает как вкопанный... хорошо..  начинаю двигать маркер тем самым проталкивать нпс. до какойто точки он всё таки проходит. изменяю навмеш.. нпс идёт дальше.. но пути то 2 то там нарушится то там..

Добавлено (11.09.2013, 23:52)
---------------------------------------------
не понимаю я расчет пути навмешов!.. два маркера связаны с друг другом стоящие рядом в 2х треугольниках навмеша друг от друга! просто от одного до другого дойти по этим треугольникам и всё! нет какого то фига прётся по десятку треугольников в обход! что за фигня??


BileraON  Offline  Сообщение №5496 написано: 12 сентября 2013, 18:20 | Отредактировано: BileraON - 12 сентября 2013, 18:29



41
Парни сори за повтор, но я не могу дальше делать мод пока не найду ответ на свой вопрос:

Всем доброго времени суток!

Парни у меня опять проблема с манекеном теперь уже с другим.

Короч, в Форте Стражи Рассвета в комнате игрока, я вашей помощью, одел дефолтный манекен и удалил у него дефолтные вещи - здесь все чин по чину.

Далее я создал свой манекен рядом с дефолтным, проверил - все работает. Далее хочу его одеть через Quest - фиг там, вещи в манекен добавляются, а сам манекен их не одевает (если их самому взять и дать вещи он их оденет, а через квест не хочет):



Могу еще добавить, что когда я в "Quest" добавляю оружие (у меня стоит "Mannequin Script") то оружие манекен - берет, а одеваться не хочет?
Еще (может это прояснит ситуацию) я привязал созданный манекен к Х-маркеру, к которому дефолтный манекен привязан - может здесь собака порылась?

Ichimar  Offline  Сообщение №5497 написано: 13 сентября 2013, 04:43



20
Ребят столкнулся с другой проблемой, пытаюсь изменить мод Hideout (заменить 3 маникена на 9 поменьше и повесить сзади флаги городов) как только я это делаю и сохроняю мод его больше не видит программа СК и в игре разумеется ничего нет.... в чем проблема?

Kepper  Offline  Сообщение №5498 написано: 13 сентября 2013, 04:50



860
Что значит "не видит СК"?

У мня один раз СК выдал не полны список возможный к загрузке esp/esm в окне Data.
Это было связано с тем что в названии новодобавленного мода присутствовала буква немецкого алфавита.
Вы случайно не называли мод по русски? Я так делать не пробовал.

alexwar  Offline  Сообщение №5499 написано: 13 сентября 2013, 04:57 | Отредактировано: alexwar - 13 сентября 2013, 04:57


Freelancer - White Raven


Цитата Kepper

Вы случайно не называли мод по русски? Я так делать не пробовал.

Kepper,  


Мой блог-VIDEO-ALEXWAR
The Elder Scrolls Online
Ichimar  Offline  Сообщение №5500 написано: 13 сентября 2013, 07:05



20
Kepper, нет в списке модов которые я выбираю при загрузке он присутствует а в списке миров после загрузки его нет, мне просто нечего открывать

Kepper  Offline  Сообщение №5501 написано: 13 сентября 2013, 07:23



860
1) Hideout представлен в виде esp или esm?

2) Когда вы сохраняли ваши изменения СК предложил вам ввести имя вашего мода?

Ichimar  Offline  Сообщение №5502 написано: 13 сентября 2013, 07:38



20
Kepper
1 ESM
2 нет, я нажимал кнопку Set as Active File

Kepper  Offline  Сообщение №5503 написано: 13 сентября 2013, 07:52 | Отредактировано: Kepper - 13 сентября 2013, 07:57



860
ESM редактировать средствами СК нельзя. Можно сделать ESP который будет пере записывать что-то в ESM

Подключите этот ESM в качестве ресурса(при загрузке отметьте ESM крестиком и жмите Ок.) и сделайте новый мод(то есть не надо нажимать Set as Active File).

ПС
возможно тот ESM что был в папке Data вы уже испортили(на это указывает что нет ячейки). Так что его стоит заменить из архива исходного мода.

Ichimar  Offline  Сообщение №5504 написано: 13 сентября 2013, 09:08



20
Kepper, спасибо попробую

AleksTirex  Offline  Сообщение №5505 написано: 13 сентября 2013, 11:52


Архимаг


371
Цитата anton

Могу еще добавить, что когда я в "Quest" добавляю оружие (у меня стоит "Mannequin Script") то оружие манекен - берет, а одеваться не хочет?



И не будет сам одевать, это надо делать принудительно.
Например:
манекен.AddItem(akSmotka1)
манекен.EquipItem(akSmotka1)
манекен.AddItem(akSmotka2)
манекен.EquipItem(akSmotka2)
...
и т.д.
Т.е. после добавления шмотки манекену её надо на него одеть.

BileraON  Offline  Сообщение №5506 написано: 13 сентября 2013, 14:05 | Отредактировано: BileraON - 13 сентября 2013, 14:06



41
Цитата AleksTirex

И не будет сам одевать, это надо делать принудительно.

Например:

манекен.AddItem(akSmotka1)

манекен.EquipItem(akSmotka1)

манекен.AddItem(akSmotka2)

манекен.EquipItem(akSmotka2)

...

и т.д.

Т.е. после добавления шмотки манекену её надо на него одеть.



Что то я совсем запутался facepalm . Почему тогда у меня получилось одеть через "Quest" дефолтный манекен, а мной созданный не одевается?
Все делал как мне сказали (Сообщение №5341 - страница №357).
А принудительно одевать это имеется ввиду вешать скрипт на манекен на одевание вещей? Если это аналогично тому как мы удаляли дефолтные вещи из манекена, может напишите мне полный текст скрипта blush , пожалуйста, а я попробую сам этот скрипт повесить на манекен, как вы меня учили

AleksTirex  Offline  Сообщение №5507 написано: 13 сентября 2013, 14:24


Архимаг


371
Цитата BileraON

А принудительно одевать это имеется ввиду вешать скрипт на манекен на одевание вещей?



Нет, не новый скрипт вешать, а изменить/доработать твой скрипт "Quest"

Alliria  Offline  Сообщение №5508 написано: 14 сентября 2013, 04:30



706
Так и не могу разобраться с квестом. Не понимаю.
Опыт 1.
Создала перк. Создала квест. Написала для перка скрипт.
Скомпиллировала, прицепила скрипт к перку и квесту, указав что нужно в
properties. Квесту прописала условие старта Start Game Enabled либо
Change Location Event.
Запускаю игру - и ничего. Принудительно стартую квест консолью - снова ничего. Ни одного отладочного месседжбокса, перк, само собой, не работает.
Скрипт на перк:
Ладно, подумала я. Значит, действительно нельзя прицепить работающий перк на актора через квест.
Опыт 2. Делаю то же самое, но через абилку.
Т.е. создаю перк. Создаю новый маг.эффект. Создаю спелл-абилку. Вещаю перк скриптом на маг.эффект, маг.эффект на абилку, абилку вешаю скриптом через квест (условия запуска те же). Опять ноль эффетка, ни одного отладочного месседжбокса. Значит, не отрабатывает скрипт на добавление спелла акторам. Почему? Через квест можно добавлять только игроку и акторам, для которых в данном квесте прописаны Alias?
Тогда как решить простую в общем-то задачу прицепить на всех акторов в локации спелл/перк при загрузке локации, не прибегая к триггерам?
Скрипт на добавление перка в эффекте:

Скрипт на добавление спелла в квесте:

mayor  Offline  Сообщение №5509 написано: 14 сентября 2013, 12:25



194
всем доброго.кто знает,какие пакеты добавить детям,чтоб они "бегали"?

AleksTirex  Offline  Сообщение №5510 написано: 14 сентября 2013, 13:13


Архимаг


371
Цитата Alliria

Так и не могу разобраться с квестом. Не понимаю.



Есть несколько способов контроля за локацией.
 
№1 Сделать квест с запуском по событию Change Location Event, это делается так:
 
1. Сделать свой квест с запуском по событию Change Location Event.
2. В разделе SM Event Node зарегистрировать свой квест.
3. Для регистрации квеста открываем SM Event Node, находим Change Location Event и открываем его.
4. В самой верхней строке правой кнопкой выбираем позицию New Quest Node.
5. Появится новый Stacked Quest Node. В его настройках привсаиваем ID и необходимые условия для запуска квеста. В данном случае "определённая новая локация" - 
Subject -> GetEventDate -> GetIsId - New Location - ID_myLocation -> == 1
6. Добавляем другие условия, если необходимо (стадия квеста и т.д.)
7. Правой кнопкой на свою только что сделанную позицию Stacked Quest Node  и выбираем Add Quests. Там выбираем свой квест.
8. Жмём ОК.
 
В этом квесте можно сделать:
Алиас на ГГ с вложенной в него способностью, а в её маг.эффекте вложить перк.
Повесить квестовый скрипт
Event OnStoryChangeLocation(ObjectReference akActor, Location akOldLocation, Location akNewLocation)
  ; добавляем, удаляем, меняем и всё прочее
endEvent

Добавить алиасу скрипт с нужными командами и т.д.
 
Для автоудаления спелла/перка и выключения квеста в скрипте алиаса или в способности добавляется событие на смену локации, а в способности можно использовать OnEffectFinish с командами "Удалить способность" и "Стоп квест".
 
**Все квесты, запускаемые по какому-либо событию, должны быть зарегистрированы в менеджере событий, иначе запуска не будет.**
********************
№2 - самый простой.
 
Любым удобным способом добавить ГГ способность с условием на эффекте: 
Player -> GetCurrentLocation() -> ID_myLocation == 1
 
В маг.эффекте повесить скрипт:
 
Event OnEffectStart(Actor Target, Actor Caster)
  if !Game.GetPlayer().HasPerk(myPerk)
    Game.GetPlayer().AddPerk(myPerk)
  endif
EndEvent


Event OnEffectFinish(Actor Target, Actor Caster)
  if Game.GetPlayer().HasPerk(myPerk)
    Game.GetPlayer().RemovePerk(myPerk)
  endif
EndEvent

 
В этой же способности можно добавить и другие эффекты (повышение чего-то, понижение... и т.д.) и с таким же условием.
 
***********************************************************
 
В квестовых скриптах все события, которые ты применяла, не работают.
OnCellLoad/OnCellAttach/OnCellDetach/OnReset - это событие работает на конкретном объекте, находящимся в игровом мире. Квест не находится в игровом мире и не может быть загружен/присоединён к локации. Если нужен квестовый объект, то для этого применяют алиасы, а вот они уже реальные объекты из игрового мира и все эти события будут на них работать.
 

Добавлено (14.09.2013, 17:04)
---------------------------------------------
№3 вообще самый простой.
 
 
На любом постоянном объекте (статик, активатор и т.д.) в нужной локации повесить скрипт:
 
Event OnCellAttach()
  if !Game.GetPlayer().HasPerk(myPerk)
    Game.GetPlayer().AddPerk(myPerk)
  endif
EndEvent

 
Event OnCellDetach()
  if Game.GetPlayer().HasPerk(myPerk)
    Game.GetPlayer().RemovePerk(myPerk)
  endif
EndEvent


*************
Event OnCellAttach(Actor akActor) - Event OnCellAttach() ;)

Добавлено (14.09.2013, 17:13)
---------------------------------------------
№4 самый-самый простой 
  
Любым удобным способом добавить ГГ способность с условием на эффекте: 
Player -> GetCurrentLocation() -> ID_myLocation == 1
В маг.эффект в графе Perk to Apply назначить свой перк. Скриптов не надо.


slastik  Offline  Сообщение №5511 написано: 14 сентября 2013, 16:32


Жаждущий


209
Подскажите, как задать отдельный период респауна для контейнера?

- Что это за горы стоят?
- А, это орки бегут!
AleksTirex  Offline  Сообщение №5512 написано: 14 сентября 2013, 18:24


Архимаг


371
Цитата slastik

Подскажите, как задать отдельный период респауна для контейнера?



"Кнопок" и настроек на респаун для отдельных объектов нет (по крайней мере мне такие не известны).
Это можно сделать, повесив скрипт на сам контейнер, тем более, нужно респаснить именно определённые контейнеры (общий респаун есть в настройках).
Пример такого скрипта написан в теме про скрипты.

Alliria  Offline  Сообщение №5513 написано: 15 сентября 2013, 04:05 | Отредактировано: Alliria - 15 сентября 2013, 04:37



706
AleksTirex, огромное спасибо за развернутый ответ. А если нужно вообще в любой, в которую зайдет игрок, то в способе 1 в Node Conditions я могу указать: Subject->GetInSameCell->Reference:'PlayerRef'==1 ?

AleksTirex  Offline  Сообщение №5514 написано: 15 сентября 2013, 09:46 | Отредактировано: AleksTirex - 15 сентября 2013, 09:55


Архимаг


371
Alliria, не-е, Subject в способе №1 вообще ни в каком виде не прокатывает, ведь Subject == "Я", поэтому квест или менеджер ну никак не может находиться в той же локации, что и игрок.
*(Subject == "Я" когда условие относится к конкретному объекту/референсу - GetAV, IsDisabled, в противном случае параметр Subject игнорируется - GetStage, GetGlobalValue, т.к. сами объекты будут определяться в самих условиях)

Запуск квестов (в способе №1 используется именно такой вариант) происходит по событию, в нашем варианте по смене локации, вот и надо применять условия событий - GetEventData, а уже это условие можно расширить. Например:
1. Можно определить не одну локацию, а сразу кучу, прописав их в форм-лист и тогда вместо GetIsId надо выставить GetInList и указать свой форм-лист. Тогда квест запустится в любой из этих локаций.
2. Можно использовать кейворд - HasKeyword, например LocTypeHouse, тогда квест запустится, если ГГ зайдёт в любой дом (все жилые дома отмечены этим кейвордом).
3. При необходимости можно дополнить другими условиями, например "если на ГГ одета шапка" и т.д.
***
"нужно вообще в любой, в которую зайдет игрок" - это не имеет смысла, тогда этот перк всегда будет у ГГ, а для этого достаточно просто добавить ГГ этот перк на постоянку. Надо обязательно определять конкретную локацию или группу локаций.

**********
**********

Alliria, ты когда выставляешь условия или пишешь скрипт, то смотри, на чём именно они работают. Если условия или скрипт для квеста, то и Subject == квест и скрипт == квест. Т.е. и условия и события будут относится к этому квесту. Поэтому событие OnLoad() никогда не отработает, т.к. квест не может загрузится в игровой мир, а GetInSameCell никогда не будет "==1", т.к. квест не может находиться в одной ячейке с чем-нибудь.

Alliria  Offline  Сообщение №5515 написано: 15 сентября 2013, 11:32



706
AleksTirex, ок, в целом ясно. Т.е. локацию или хотя бы форм-листы придется задавать всегда... Тогда еще пара вопросов, и больше не буду тебя пытать. ;)
Цитата AleksTirex

Если условия или скрипт для квеста, то и Subject == квест и скрипт == квест. Т.е. и условия и события будут относится к этому квесту.

Ок, а если я вешаю скриптом перк на актера при экипировке оружия? Например, есть серебряный меч, я к нему целяю ванильный SilverScript, который при экипировке вешает на актера ванильный SilverPerk. В Perk Entries я выбираю Entry Point->CalculateWeapondamage, во вкладке Weapon применяю проверку по HasKeyword для Subject и во вкладке Target - по HasKeyword, HasSpell, GetIsRace и т.п. для Subject или Player. Но в первом случае subject - это оружие, а во втором - уже актер, так? Причем, когда оружие экипирует игрок, то он должен становится subject? Но если сделать проверку только по subject - для игрока перк работать уже не будет.
С другой стороны, если для такого перка в Perk Entries вместо Entry Point->CalculateWeapondamage задать Entry Point->ModIncomingDamage, во вкладке Perk Owner  сделать проверку WornHasKeyword по Subject или Player, это уже не будет работать -  по крайней мере для игрока. Но ведь здесь PerkOwner - это актер, экипировавший оружие, как же так? Ведь если теперь такой перк повесить скриптом на броню - он будет работать. Но какая разница, при экипировке какого именно объекта на актера и игрока вешается перк?
Таким образом, я не могу одновременно регулировать наносимый урон и урон получаемый в Perk Entries одного перка, если он вешается на актера через ObjectScript. В общем-то, поэтому и пытаюсь найти способ вешать на актеров перки "динамически" - чтобы не перелопачивать все оружие и броню.

AleksTirex  Offline  Сообщение №5516 написано: 15 сентября 2013, 16:37 | Отредактировано: AleksTirex - 15 сентября 2013, 17:53


Архимаг


371
Цитата BileraON

И вещи оделись на дефолтный манекен, а когда я попробывал таким способом на мной созданый манекен одеть вещи - ничего не получилось



И не получится, ведь ты сразу удаляешь все вещи у манекена скриптом и назначаешь пустой оутфит. Если хочешь, чтобы твой манекен стоял в твоей одежде, то должен сперва решить - можно ли эту одежду брать ГГ, должна ли она быть в инвентаре у манекена, для каких именно целей этот манекен: для показа этой одежды или он просто манекен с возможностью надевать на него любую броню.
От всех этих условий и будет зависеть принцип одевания той твоей брони.

BileraON  Offline  Сообщение №5517 написано: 15 сентября 2013, 17:58 | Отредактировано: BileraON - 15 сентября 2013, 19:24



41
Цитата AleksTirex

с возможностью надевать на него любую броню.


AleksTirex  Offline  Сообщение №5518 написано: 15 сентября 2013, 20:34


Архимаг


371
Цитата BileraON

Так ведь этот скрипт с пустым оутфитом, который мы сделали, он ведь только на дефолтный манекен распространяется, верно? Или на мой созданный рядом также этот скрипт действует?



Скрипт действует на тот манекен, на который ты его повесил.
Если на твоём манекене скрипта нет, то он на него не действует.
А в инвентаре у манекена появляется эта броня?
В любом случае, проверь на чистом сейве: сохранись, выключи мод, загрузи и сохрани, потом включи мод и загружайся.

BileraON  Offline  Сообщение №5519 написано: 15 сентября 2013, 22:38 | Отредактировано: BileraON - 15 сентября 2013, 20:54



41
Цитата AleksTirex

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


Проверил. Вещи добавило, а они не оделись

Alliria  Offline  Сообщение №5520 написано: 16 сентября 2013, 01:11



706
Цитата AleksTirex

Вот только не понятно, зачем что-то вешать на врагов, всё это можно сделать из одного перка на ГГ.

Чтобы обеспечить "правильное" взаимодействие актер-актер, а не только актер-игрок.
Спасибо еще раз за развернутый ответ!

Форум » TES V: Skyrim » Библиотека модмейкера » Вопросы по Creation Kit. Старая тема (Тут вы можете задать вопросы по редактору Скайрима)
Поиск:





Ответ на жалобу смотрите в разделе жалоб