Модератор форума: Kris†a™  
Форум » TES V: Skyrim » Мастерская » Вопросы по Creation Kit (продолжение старой темы) (Тут вы можете задать вопросы по редактору Скайрима)

Вопросы по Creation Kit (продолжение старой темы)
Kris†a™  Offline  Сообщение №1 написано: 24 апреля 2015, 09:05 | Отредактировано: Multigone - 23 апреля 2020, 14:25


Lady in the Dark


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


является продолжением старой темы ...

Тема регламентирована.


• Прежде, чем задать вопрос, пожалуйста, убедитесь, что такой вопрос не задавался раньше. Старайтесь описать суть вопроса как можно подробней.
• Прежде, чем опубликовать ответ на вопрос, пожалуйста, убедитесь, что обладаете необходимыми для этого знаниями. Старайтесь cформулировать суть ответа как можно лаконичней.
• При желании ответить в приватном порядке, пожалуйста, воспользуйтесь ЛС.
• При желании поблагодарить ответившего, пожалуйста, воспользуйтесь кнопкой "
+" полезного сообщения.

Сообщения, не относящиеся к вопросам по редактору СК, ответам на них или уточнениям, являются оффтопом и могут быть удалены.

My WebSite: Kris†a™: Private Modding

Мы отстроили реальный мир, превратив его в убожество, теперь отстраиваем виртуальные, надеясь на лучшее... ©
asharmutin  Offline  Сообщение №1651 написано: 11 декабря 2016, 14:33



29
Цитата Нарада

Благодарю, за ответ. Тот ID, который указывается сверху или EditorID - это понятно. Меня интересует цифровой ID, который вычисляется, где его можно посмотреть? Например имеется у НПС в СК ID - _Ship_AtarStolen, какой у него будет цифровой ID?
Или я что-то не так понимаю?
Для чего это надо? Для того что бы в игре с помощью консольной команды получить, тот или иной предмет или переместится к тому или иному актеру.

Так вроде это и есть его id и он не обязательно должен быть цифровым? Может кто ещё отпишиться, но я считаю именно так, прописываешь этот id в консоли и всё.

Myprism  Offline  Сообщение №1652 написано: 11 декабря 2016, 16:42


Физик


Нарада, очень странный вопрос.
1. В игре надо войти в консоль и щёлкнуть мышкой на предмете. В центре экрана высветится его ID.
2. В TES5Edit второй столбец - это как раз ID объектов. Очень важный там инструмент для переносв объектов из мода в мод.
3. В Редакторе просто открываем свойства объекта и в самой верхней строке будет в скобках его ID. Во второй строке так же в скобках будет ID базового объекта, экземпляром которого является данный.

Dsion  Offline  Сообщение №1653 написано: 11 декабря 2016, 17:45 | Отредактировано: Dsion - 11 декабря 2016, 17:47



Нарада, неужели не заметил, что он отображается, если навести курсор на обьет в списке?


Но хрень в том, что в игре этот ID может быть другим. Не для объектов из Skyrim.esm, но для объектов из модов первый байт изменяется: 02, 03, 04, 05 итп. Остальные 3 байте - такие же, как в CK.
Иногда проще использовать в игре в консоле команду help. Если ты в CK создал кольцо и дал ему айди SISKI, то в консоли потом можно набрать
help SISKI
и получить hex id кольца. И добавить его через additem.

Aksyonov  Offline  Сообщение №1654 написано: 15 декабря 2016, 13:56 | Отредактировано: Aksyonov - 15 декабря 2016, 13:57



937
Не могу разобраться с AI пакетами для Давакина PLAYER, итак есть тригер в котором прописано:\


Scriptname TIRL_IDLE_MARKER extends ObjectReference

Event OnTriggerEnter(ObjectReference akActionRef)  ;- Произошло событие - вход в зону триггера
if(akActionRef == Game.GetPlayer()) && (jr.GetStage() == 91 ); Это условие гарантирует, что только игрок вызовет этот код

jr.SetObjectiveCompleted(91)
jr.SetObjectiveDisplayed(92)
jr.setstage(92)


utility.Wait(10)

endif
EndEvent

Quest Property jr Auto
Actor Property ActorREF Auto


Стадия меняется когда игрок заходит в тригер, на самом
Player весит AI пакет, в диалоге до этой стадии также
прописано:


Game.SetPlayerAIDriven()
Game.DisablePlayerControls(1, 1, 1, 1, 1, 1, 0);


В Ai пакете указано условие: GetStage = 92

AI пакет это каст заклинания USE MAGIC но почему
когда игрок подходит в триггер и начинает работать
пакет игрок кастует заклинание с 6-10 секундой
задержкой? мне нужно что бы он начинал каст
сразу же но этого не происходит в чем дела?

И как можно управлять началом каста через AI пакет,
когда стадия 92 запускать пакет - но он работает не
сразу а спустя 10 секунд ровно, почему так?

Нарада  Offline  Сообщение №1655 написано: 16 декабря 2016, 17:54



129
Зачем ты вставил в тело Event OnTriggerEnter ожидание?

AeoAmiball  Offline  Сообщение №1656 написано: 16 декабря 2016, 23:03 | Отредактировано: AeoAmiball - 16 декабря 2016, 23:17



5
Aksyonov, дружище, не уверен что поможет, но попробуй.

Если я правильно понял "иерархию" стадий, то поставь в самое начало 92 стадии "Game.GetPlayer().EvaluatePackage()"

Эта строчка заставить ежесекундно пересчитать и запустить подходящие пакеты у игрока. Как обычно, вот ссылочка на CreationKit Wiki.

П.С. - кстати, товарищ Нарада дело говорит. Я тоже не понимаю зачем. Попробуй сначала убрать задержку в 10 секунд, если не получится, то попробуй моим способом.

Aksyonov  Offline  Сообщение №1657 написано: 17 декабря 2016, 02:57 | Отредактировано: Aksyonov - 17 декабря 2016, 03:36



937
Цитата AeoAmiball

"Game.GetPlayer().EvaluatePackage()


Такое ещё не использовал, а паузу случайно оставил тут - я уже проверял
и без неё и с ней всё равно задержка, попробую применить "Game.GetPlayer().EvaluatePackage()
надеюсь поможет.


Всем спасибо, без участников форума modgames.net, я бы так на много дольше делал свои моды, :)

Lexo  Offline  Сообщение №1658 написано: 19 декабря 2016, 18:59 | Отредактировано: Lexo - 19 декабря 2016, 18:59


Всепознающий мододел


223
Народ, никто не знает ответа на  вот этот вопрос ?

"Всё слишком относительно, что бы утверждать столь однозначно..." ©

AeoAmiball  Offline  Сообщение №1659 написано: 20 декабря 2016, 17:07



5
Lexo, скинь скрипт - в нем ошибка. похоже что старая накладывается на новую погоду.

UntitledX  Offline  Сообщение №1660 написано: 21 декабря 2016, 09:47



2
Доброго денечка!
Подскажите пожалуйста с такой задачей: - захотелось попробовать сделать автоквест, с переходами на новую стадию без участия ГГ, работает вот так:
_________________
-0-
Utility.Wait(20)
SetStage(10)

-10-
Utility.Wait(20)
SetStage(20)

и т.д.
_________________

Такой вариант устраивает. А если нужно подождать 3 дня, разумно ли вписывать Utility.Wait(259200)?
Если игра будет вести посекундный отсчет, не запутается ли она в таком кол-ве секунд?

Как бы это правильно написать, избежав большого кол-ва цифр?

PS
В квесте Ралиса, (DLC2) "Раскопки", есть строчка: Self.RegisterForSingleUpdateGameTime(3 * 24), ожидание трех дней?
Выглядит она убедительнее, но у меня не сработала, все стадии были выполнены сразу. Замена (3 * 24) на (72) ни чего не дала.
Может ее чем-то дополнить надо?

mxac  Offline  Сообщение №1661 написано: 21 декабря 2016, 11:01



178
Ребят, подскажите как работает трава со сбором ингредиентов типа лаванды, бородатого мха и подобного, а точнее как там реализована смена вида при сборе ингредиента?


Dsion  Offline  Сообщение №1662 написано: 21 декабря 2016, 11:43



UntitledX, привет. На мой взгляд, использовать Wait() в твоем случае - вообще не вариант. Серьезно :) Не делай так.
RegisterForSingleUpdateGameTime() - как раз то, что надо. Или RegisterForUpdateGameTime() для регулярного повторения.
Но эти функции на замораживают скрипт на указанное время, а вызывают событие OnUpdateGameTime(), когда пройдет время.
Что-то такого типа (не уверен и не могу сейчас проверить, но близко):
Код
Event OnInit()
    RegisterForSingleUpdateGameTime(0.5); вот так мы заказываем вызов ивента через пол часа игрового (!) времени
EndEvent

Event OnUpdateGameTime(); а вот этот ивент будет вызван через пол часа
    Debug.Notification("Hi there!");
EndEvent



https://www.creationkit.com/index.p...._-_Form

UntitledX  Offline  Сообщение №1663 написано: 21 декабря 2016, 13:45 | Отредактировано: UntitledX - 21 декабря 2016, 21:15



2
Спасибо за подсказку и ссылку!
Кажется дело пошло.
Действительно, в том квесте, на который я ориентировался, есть строки в скрипте, на которые я не обратил внимания изучая фрагменты в стадиях, наверно очень увлекся. :)

Debug.Notification("Hi there!")
Прикольная штука, думал об этом, но не знал возможно ли и как осуществить.

Квест в журнале не показывается и оповещения о начале нет. Тут все отлично.
Если в последней стадии ограничится "stop()", он так и остается висеть не законченным? Просто, после длительного времени, ради интереса прописал questcomplete и высветилось оповещение о завершении.

А так-то, все работает. Все 11 стадий друг за другом с интервалом в час (для теста) успешно активировались. Завтра посмотрю еще, с трех дневным интервалом. Сам себе отвечаю :)

Myprism  Offline  Сообщение №1664 написано: 24 декабря 2016, 14:26


Физик


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

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

grumpos  Offline  Сообщение №1665 написано: 26 декабря 2016, 13:27 | Отредактировано: Multigone - 21 апреля 2020, 15:51



24
Всем привет!
По окончании нескольких РАЗНЫХ диалогов должен запускаться ОДИН И ТОТ ЖЕ скрипт. Можно, конечно, компилировать этот код в конце каждого диалога (End Fragment), но тогда получится куча одинаковых скриптов с разным именем. Как заставить топики использовать один и тот же скрипт? Если использовать кнопку Add в поле Script Name, в какой момент запустится добавленный скрипт?
Аналогичный вопрос по сценам. Как добавить ОДИН скрипт, чтобы он запускался в конце РАЗНЫХ сцен?

Ответ: никак.

alexias  Offline  Сообщение №1666 написано: 28 декабря 2016, 21:25



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

AeoAmiball  Offline  Сообщение №1667 написано: 28 декабря 2016, 22:31



5
grumpos, никак, но можно использовать квестовую стадию) это легче, и не нагружает сейв скриптами)

Arin  Offline  Сообщение №1668 написано: 31 декабря 2016, 10:48 | Отредактировано: Arin - 1 января 2017, 06:32



570
Цитата alexias

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

Гайд обычно идет за компанию к вот этому моду: Hearthfire multiple adoptions. Который собственно и позволяет заселять детей в недефолтные дома.

Наука всегда оказывается не права. Она не в состоянии решить ни одного вопроса, не поставив при этом десятка новых.
Джордж Бернард Шоу
alexias  Offline  Сообщение №1669 написано: 1 января 2017, 09:41



35
Arin, Мне нужно для своего мода... А вот где не скачивал мод на усыновления, инструкция как сделать для своего мода, отсутствует.

DirtyLol  Offline  Сообщение №1670 написано: 1 января 2017, 16:56



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

Multigone  Offline  Сообщение №1671 написано: 2 января 2017, 01:33



832
DirtyLol, используя SKSE, можно сделать немного по-другому (если нужно затяжное поглощение cо множественными наложениями):

- меняем архетип на Value Mod - Health (Stamina/Magicka), флаг No Death Dispel снимаем.
- добавляем скрипт:


Код
Scriptname _TESTTEST24 Extends ActiveMagicEffect

Actor xA
Float fMag

EVENT OnEffectStart(Actor xT, Actor xC)
    xA = xC
    fMag = GetMagnitude()
    RegisterForSingleUpdate(1.0)
ENDEVENT

EVENT OnUpdate()
    xA.RestoreActorValue("Health", fMag)
                     ; Вместо Health нужно написать Stamina или Magicka, если исходный эффект "поглощает" силу или магию.
    RegisterForSingleUpdate(1.0)
ENDEVENT

- проверяем результат в игре.

Проблема: восстановление атрибута происходит рывками, а не плавненько, как раньше. Этого можно избежать, если использовать не команду RestoreAV, а накладывать на источник заклинание продолжительностью 1с, восстанавливающее атрибут (создаются соотв. заклинания, меняется скрипт).

Lexo  Offline  Сообщение №1672 написано: 2 января 2017, 20:44 | Отредактировано: Lexo - 2 января 2017, 20:46


Всепознающий мододел


223
Цитата AeoAmiball

Lexo, скинь скрипт - в нем ошибка. похоже что старая накладывается на новую погоду.





P.S.: Некоторые функции из скрипта удалены, что бы не нагромождать сообщение, но они к погоде никакого отношения не имеют...

"Всё слишком относительно, что бы утверждать столь однозначно..." ©

Хисимэль  Offline  Сообщение №1673 написано: 5 января 2017, 12:18


Эльфийка-оборотень


100
Не могу найти туториал, в котором рассказывалось бы про возможность сделать старт квеста после попадания игрока в определенную локацию.

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

озвучиваю моды
Aksyonov  Offline  Сообщение №1674 написано: 5 января 2017, 13:45 | Отредактировано: Aksyonov - 5 января 2017, 13:49



937
Цитата gangrena1972

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


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

1. Сначала нужно создать стадию в квесте, надеюсь вы это умеете уже делать.
2. Далее создайте тригер в той локации прямо на место на которое будет перемещаться игрок.  
3. В этом тригере добавьте скрипт со следующем содержанием:  

Event OnTriggerEnter(ObjectReference akActionRef)  ;- Произошло событие - вход в зону триггера
if akActionRef == Game.GetPlayer()                         ;- Если в зону триггера вошел игрок  

jr.SetObjectiveCompleted(91)

jr.SetObjectiveDisplayed(96)
jr.SetStage(96)  

endif
endEvent  
Quest Property jr Auto
 

Этот скрипт запустить указанную вами стадию квеста если игрок войдет в тригер.

Надписи помогут запустить стадию выбранного квеста: цифры внутри скобок это номер вашей стадии укажите свою.

 jr.SetObjectiveDisplayed(96) jr.SetStage(96)  

Эта надпись завершит выбранную стадию в квесте:
на будущие если захотите так же закончить стадию.

jr.SetObjectiveCompleted(91)  

Параметр Quest Property jr Auto указывает на ваш квест, когда добавите скрипт в проперти выберите свой квест.

Defender12  Offline  Сообщение №1675 написано: 5 января 2017, 15:12



75
Подскажите, где находятся голоса НПС (VTYP)?

Aksyonov  Offline  Сообщение №1676 написано: 5 января 2017, 15:15



937
Цитата Defender12

Подскажите, где находятся голоса НПС (VTYP)?


Если вы о звуковых репликах то они по моему в архиве voice.bsa в расширении fuz.

Defender12  Offline  Сообщение №1677 написано: 5 января 2017, 15:41 | Отредактировано: Defender12 - 5 января 2017, 18:45



75
Aksyonov, нет, я не о репликах. Нужны сами воистипы озвучки для списков (VoicesFollowerNeutral например).

Вопрос отменяется, сам нашёл.

Но теперь вопрос, собственно, в другом: как править озвучку приветствия у НПС? Пятый день маюсь, меня все каджиты встречают фразой из драконьего крика "Эй, морда арбузом" или "Эй, сыр вместо мозгов".

Arin  Offline  Сообщение №1678 написано: 6 января 2017, 06:00 | Отредактировано: Arin - 6 января 2017, 09:22



570
Не могу понять, что происходит. Переделала Дом Теплых Ветров, так как Детская стала отделена от Алхимической, а Гостиная стала отдельной комнатой, а не просто придатком первого этажа, добавила новых маркеров.
Маркеры работают, комнаты появляются, но творится странная фигня с диалогами.
Диалоги на гостиную, алхимическую и детскую появляются не сразу (с учетом того, что в детской полностью старые маркеры, а в гостиную я добавила новый стартовый маркер). Нужно сбегать в дом или даже что-то купить, прежде чем маркеры наконец-то появятся.
Ничего не понимаю, я запуталась Х(. Все диалоги рабочие, нужные маркеры включаются, стартовые маркеры отключаются, как надо.

Наука всегда оказывается не права. Она не в состоянии решить ни одного вопроса, не поставив при этом десятка новых.
Джордж Бернард Шоу
DirtyLol  Offline  Сообщение №1679 написано: 6 января 2017, 21:14 | Отредактировано: DirtyLol - 6 января 2017, 21:42



2
Цитата Multigone

DirtyLol, используя SKSE, можно сделать немного по-другому (если нужно затяжное поглощение cо множественными наложениями):- меняем архетип на Value Mod - Health (Stamina/Magicka), флаг No Death Dispel снимаем.
- добавляем скрипт:


Благодарю.

Добавлено (07 Января 2017, 00:14)
---------------------------------------------
кто-нибудь подскажет как сделать, чтобы у уникальных и Essential персонажей можно было бы выкрасть экипировку. При попытке воровства у данных персонажей экипировка не отображается, естественно всё это при наличии соотв. перка
А всё ребятки догнал, вопрос снимается

Хисимэль  Offline  Сообщение №1680 написано: 8 января 2017, 10:03 | Отредактировано: gangrena1972 - 8 января 2017, 11:25


Эльфийка-оборотень


100
Играя во многие моды, сталкивалась с тем, что диалог с НПС начинается только при перезагрузке рядом с ним.

Сейчас столкнулась с такой же проблемой у себя: квест стартует на "поговорить", иду в модовую локацию, а НПС разговаривает только при перезагрузке в этой локации.

Как это побороть?

На всякий случай уточняю: диалог НЕ стартовый; сам квест стартует благополучно.

Квест стартует и переводит на 10 стадию, где и происходит диалог. Ставлю условие <=10 на случай, если ГГ придет к НПС до того, как возьмет квест. Непись находится в новой локации (добавляемой модом), маркер на него указывет, но разговор по квесту доступен только при перезагрузке в локации (если загрузить автосохранение при заходе в локацию).

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





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