Модератор форума: 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

Мы отстроили реальный мир, превратив его в убожество, теперь отстраиваем виртуальные, надеясь на лучшее... ©
Хисимэль  Offline  Сообщение №2011 написано: 5 февраля 2018, 08:44


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


100
Цитата Aksyonov

Попробуйте использовать скрипт actor1.EvaluatePackage() вместо actor1.GetActorReference().EvaluatePackage()
- и запустить скрипт в конце или начале диалога на нужном топике а не где бы то ни было ещё. У меня работает
только 1 конструкция. Actor1 как обычно указываем в проперти на актера.



Миш, спасибо! Стало гораздо быстрее.
Единственное - все-таки actor1.GetActorReference().EvaluatePackage() иначе редактор не понимает.

Сейчас поиграюсь: я пока только на 1 топике поставила условие (для актора1), а попробую и на втором (для актора2) - может, вообще мгновенно будет.

Добавлено (05 Февраля 2018, 11:44)
---------------------------------------------
А есть возможность избавиться от подвисания сцены?

Выглядит подвисание так: НПС подбегает к Вилкасу, но диалог у них не начинается, оба стоят и тупят.

Я думаю, это происходит тогда, когда у Вилкаса запрограммирован диалог с одним из Соратников, но он не начинается, потому что начинается мой.
Как правильно прописать на топик или ивент условие, что другая сцена не начинается?

Возможно, я ошибаюсь с причиной подвисания. Тогда в чем она может быть?


озвучиваю моды
Aksyonov  Offline  Сообщение №2012 написано: 5 февраля 2018, 08:58 | Отредактировано: Aksyonov - 5 февраля 2018, 09:06



937
Цитата gangrena1972

Стало гораздо быстрее.


Да если одного выбираем в проперти все ai пакеты пересчитываются у одного npc, но если мы говорим о самом гг - допустим что бы ai пакет у него заработал нужно обязательно скриптом убирать сперва управление у гг если мы говорим о AI пакетах, вот скрипт для отключения управления:

Game.SetPlayerAIDriven()
Game.DisablePlayerControls()


А этот для включения:

Game.SetPlayerAIDriven(false)
Game.EnablePlayerControls()


То есть если нужно что бы у гг запустился AI пакет надо пусть даже через сцену - у него нужно убрать управление,
возможность управлять гг лично у меня затормаживало запуск диалога у гг через сцену, может быть поможет.

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

Этот код не использовал: actor1.GetActorReference().EvaluatePackage()
Этот работает быстрее: actor1.EvaluatePackage()

actor1.EvaluatePackage()

+ Проперти: Actor Property actor1 Auto

компиляция должна пройти

Если нужно выбрать Player по такому же принципу:

PlayerX.EvaluatePackage()

Actor Property PlayerX Auto

Хисимэль  Offline  Сообщение №2013 написано: 5 февраля 2018, 10:28 | Отредактировано: gangrena1972 - 5 февраля 2018, 10:02


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


100
Aksyonov, а, точно, проперти я не изменяла! Сейчас пробну твой вариант )

Добавлено (05 Февраля 2018, 13:00)
---------------------------------------------
Пробнула. Но он не работает: в смысле, сцена не убыстряется. Видимо, для неигрока все же нужен GetActorReference()...

С причиной подвисания пока не разобралась.

Добавлено (05 Февраля 2018, 13:28)
---------------------------------------------
Попробую поставить на свою сцену (так как она не очень важная) галочку Interruptible (прерываемая). Возможно, это решит проблему с зависанием.


озвучиваю моды
Multigone  Offline  Сообщение №2014 написано: 5 февраля 2018, 13:26



815
А в чем разница? Что то Actor, что это Alias.GetActorRef() = Actor, и оба эти Actor'а такие, что EvaluatePackage() может применяться только к Actor'у.

Хисимэль  Offline  Сообщение №2015 написано: 5 февраля 2018, 17:31 | Отредактировано: gangrena1972 - 5 февраля 2018, 17:47


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


100
Цитата Multigone

А в чем разница?



Вот мне тоже интересно, в чем разница конкретно - применительно к сценам. Думаю, Dsion может объяснить, но его чего-то не онлайн сегодня...
В сцене, возможно, алиасам приоритет перед акторами?
Как бы то ни было, у меня работает проперти типа ReferenceAlias и не работает Actor.

озвучиваю моды
Aksyonov  Offline  Сообщение №2016 написано: 5 февраля 2018, 17:41



937
Цитата gangrena1972

Сделай одно чистое сохранение


Фишка в том что для теста своего квеста сцен в нём которые завязаны с основным сюжетом - мне постоянно нужно перемещаться
по главному сюжету в разные места - при этом промотать эти места чит кодами не всегда получается а проходить очень муторно.

Хисимэль  Offline  Сообщение №2017 написано: 6 февраля 2018, 11:34


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


100
Цитата Aksyonov

Фишка в том что для теста своего квеста сцен в нём которые завязаны с основным сюжетом - мне постоянно нужно перемещаться
по главному сюжету в разные места - при этом промотать эти места чит кодами не всегда получается а проходить очень муторно.



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

озвучиваю моды
Aksyonov  Offline  Сообщение №2018 написано: 6 февраля 2018, 12:36 | Отредактировано: Aksyonov - 6 февраля 2018, 12:37



937
Цитата gangrena1972

Тогда делай как бы черновые проверки


Сейчас я не могу пока что быть уверенным в том что скрипт будет написанный мной на 100% работать, поэтому мне и нужно проверять скрипты именно в конкретном месте как там будет работать уже на месте, сто раз уже делал так что на черновеке всё работает а после завершения какой нибудь главной стадии сюжетной скрипт не работает.

Проще когда квест вообще не взаимодействует с сюжетной линией либо когда мы берем просто в качестве условия появления каких то объектов в нашем квесте если гг прошел основной сюжет до какой то стадии - это проще, плохо что нет какого нибудь генератора или чистых сохранений вообще с началом любого сюжетного или не сюжетного квеста - всех которые могут начинаться - сохранение до начала квеста и после. Было бы круто.

Хисимэль  Offline  Сообщение №2019 написано: 7 февраля 2018, 08:47


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


100
Aksyonov, а пробовал перезапускать квест консолью?
~
StopQuest IDквеста
StartQuest IDквеста

озвучиваю моды
Aksyonov  Offline  Сообщение №2020 написано: 7 февраля 2018, 10:54



937
Цитата gangrena1972

а пробовал перезапускать квест консолью?


Не совсем понимаю что это даст? Да и какого квеста своего или того с которым связан мой квест?

Kepper  Offline  Сообщение №2021 написано: 8 февраля 2018, 11:59 | Отредактировано: Kepper - 8 февраля 2018, 12:15



860
С повышением уровня ГГ, в игре начинаются встречаться НПС с большим запасов здоровья.
Я хочу сделать так, чтобы с ростом уровня ГГ у НПС повышался запас здоровья, но это оставались теже ActorBase.
В принципе достаточно, чтобы с ростом уровня ГГ, характеристики НПС росли в два раза быстрее чем у ГГ. Но, как я понял, количество получаемых очков за уровень, у НПС и ГГ одинаково.
Повышать уровень НПС в два раза быстрее чем у ГГ - не вариант, так как перестанут работать некоторые заклинания завязанные на уровень цели.
Я не нашел как с помощью перка повысить базовые характеристики, а жаль так, как там есть функция умножения.
Так что придётся это делать с помощью магических эффектов или ещё как-нибудь.

Варианты решения:
1. Изначально у НПС небольшой запас здоровья (50), как у оригинальных НПС первого уровня
Дополнительные здоровье, мана и выносливость добавляются магическим эффектом
С проверкой уровня игрока
Например:
+100 если уровень игрока выше 5
+75 если уровень игрока выше 14
+75 если уровень игрока выше 21
Минусы:
- на обработку условий тратится машинное время.
Когда во время боя я повысил уровен, то НПС довольно оперативно(но не сразу) получили усиление. Это значит проверка происходит, либо каждые несколько секунд, либо при изменении уровня игрока, но сама проверка заняла много времени, так как пришлось обработать много НПС.
- когда начинаешь бить НПС, то шкала жизней над ним начинает убывать только, когда собьёшь всё дополнительное здоровье.
- наверняка регенерация завязана на основное, а не дополнительное здоровье, в результате она получится весьма хилой.(у большинства НПС её нет)
- здоровье у НПС во время боя может поменяться скачкообразно

2.У НПС изначально большой запас здоровья, но магическим эффектом на них наложены штрафы, которые снимаются по мере роста уровня игрока.
Минусы:
- в начале боя шкала здоровья у НПС не полная.
- НПС, гады такие, когда пьют зелье здоровья/лечатся, то могут полностью восстановить его, несмотря на штрафы.
- в начале игры слишком рано падают на колени. Когда изначально у них 20% здоровья, то достичь 5-10% очень просто.
- здоровье у НПС во время боя может поменяться скачкообразно
- в начале игры повышенная регенерация

3. Вариант когда характеристики правятся с  помощью с скрипта не подходит так, как функция SetActorValue воздействует на конкретного Actor, а не на шаблон по которому актёр создаётся. И вешать данный скрипт на каждого НПС в игре - плохая идея.
Тем более на некоторых НПС и так висит скрипт.

Может кто придумает ещё варианты, как поднять здоровье НПС, не используя LeveledActor.

ПС
Не знаете где прописывается выбор варианта озвучки?
У меня сейчас почти все НПС молчат. Только извозчик разговаривает по русски. Полная переустановка не помогла.

Грешу на эндерал, но не уверен. Я его установил, когда русская версия вышла, но затем снёс.
В основном я играл без звука, поэтому не сразу заметил. Да и много времени прошло.

Aksyonov  Offline  Сообщение №2022 написано: 10 февраля 2018, 15:06



937
Всем привет - такой вопросик: как могут повлиять наличие или отсутствие того или иного алиаса в квесте на невозможность проигрывания реплики у NPC? Есть подозрение что какой то алиас мешает включению нужных реплик у NPC, алиаса вообще могут этому мешать? - Удаляю алиасы NPC говорит - но в квесте больше 50 алиасов не знаю какой именно мешает запуску диалогов у NPC.

Lexo  Offline  Сообщение №2023 написано: 10 февраля 2018, 16:14


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


223
Kepper, есть один вариант, но он подразумевает использования и магического эффекта и перка:
- магический эффект так же повышает здоровье, но на 1 (или на 10, смотря как используешь функцию);
- в перке прописываешь Mod Incoming Spell Magnitude, в условиях вставляешь, что бы работало только на это заклинание (через GetID или через EPMagic_SpellHasKeyWord [и прописываешь кейворд своего эффекта]);
- и уже в этой конструкции используешь умножение...
... правда, как ты собираешь делать проверку уровня игрока через перк - вот в чём вопрос.

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

Хисимэль  Offline  Сообщение №2024 написано: 11 февраля 2018, 08:12


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


100
Как сделать полет предмета не по прямой траектории?

Для полета по прямой есть вот такое решение:

Скрипт вешается на активатор и запускает полет.
____________________________________________
Scriptname названиескрипта extends ObjectReference

Int Property Speed Auto ; задаем скорость полета

ObjectReference Property Object01 Auto ; летящий предмет
ObjectReference Property Target01 Auto ; цель, куда летит

Auto State WaitingState

Event OnActivate(ObjectReference akActionRef)
if akActionRef == (Game.GetPlayer())

Object01.SplineTranslateToRef(Target01, 1, 75, 10)

GoToState("OffState")
endif
EndEvent

EndState
___________________________
Смогла сделать только в таком варианте: несколько целей в локации, на каждой активатор со скриптом, в котором указана новая цель (его можно сделать изначально невидимым).
Минус в том, что приходится тыкать каждый раз в новый активатор.

Есть ли возможность задать маршрут от цели к цели, не используя дополнительные активаторы?

озвучиваю моды
Lexo  Offline  Сообщение №2025 написано: 11 февраля 2018, 15:40 | Отредактировано: Lexo - 11 февраля 2018, 15:49


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


223
gangrena1972, а не проще использовать SplineTranslateTo с заданными параметрами?

- Сначала узнать Float PosX = Object01.GetPositionX(), Float PosY = Object01.GetPositionY(), Float PosZ = Object01.GetPositionZ()

- Потом прописать Object01.SplineTranslateTo(тут нашамнить цифры, типа PosX+10)

- Дальше Utility.Wait(сколько нужно перемещаться)

- Следующее Object01.StopTranslation()

И в итоге повторить предыдущие 3 строки, но с другими цифрами.

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

ladyinna  Offline  Сообщение №2026 написано: 14 февраля 2018, 17:21 | Отредактировано: ladyinna - 14 февраля 2018, 17:24



2
Добрый день, г-да мастера.
Хочу задать вопрос от новичка, надеюсь, не прогоните :)

Проблема такая - написала скрипт, где вещи перебрасывались из одного сундука в другой, и ошибочно указала не тот сундук.
Но после исправления вещи продолжают перебрасываться в ошибочный сундук. Хотя все исправила и заново пересохранила.
И та же история со всеми исправлениями.
Как-то получается, что он не воспринимает новое.

И еще - почему-то те сундуки, что привязаны к скриптам, не могу передвинуть (в пространстве).
То есть, в Крите я их передвигаю, а в игре снова стоят на старых местах.
Хотя с другими предметами такой проблемы нет :(
Как это можно исправить? Или я что-то пропускаю?
Заранее спасибо. и простите, если не в ту ветку написала :(

ApeX  Offline  Сообщение №2027 написано: 14 февраля 2018, 17:34



ladyinna, попробуйте загрузить сохранение игры до внедрения в нее скрипта. Движок игры зачастую, как в cерии Fallout, так и в TES, продолжает читать записанные данные из сейвов.

Dsion  Offline  Сообщение №2028 написано: 14 февраля 2018, 18:16 | Отредактировано: Dsion - 14 февраля 2018, 18:10



ladyinna, ага, вон ApeX дело базарит... Сундук указан в Property, да? Если вручную не указать иначе, то они считываются только при Init-иализации объекта. И это правильно. Скрипты должны иметь возможность изменить значение property и она не должна сбрасываться к исходному значению.

В fallout (не уверен за Скайрим) бывают еще const property:
int property myConstProperty auto const
Их нельзя изменить в игре и они не сохраняются в сейвах. Можешь попробовать изменить тип property на const.
А если не поможет и загружать сейв без мода - не вариант, то можно установить правильное значение property из консоли...
Только я уже не помню, какая там команда. Будет нужно - найду.

Добавлено (14 Февраля 2018, 21:16)
---------------------------------------------
еще можно попробовать поменять имя проперти (не проверял) или заменить проперти на заполненный алиас (это работает)


ladyinna  Offline  Сообщение №2029 написано: 14 февраля 2018, 18:47 | Отредактировано: ladyinna - 14 февраля 2018, 20:00



2
ApeX, Dsion
Ребят, спасибо за подсказки! Попробую по порядку.
Да, сундук указан в Property.

ЗЫ первый вариант сработал! friends

ApeX  Offline  Сообщение №2030 написано: 14 февраля 2018, 20:01



ladyinna,  как вариант - очистка сохранений пост.

Хисимэль  Offline  Сообщение №2031 написано: 17 марта 2018, 15:13 | Отредактировано: ApeX - 17 марта 2018, 15:49


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


100
Вопрос по созданию открытых локаций (World):

Почему иногда получается вот такое смещение участков?

https://a.radikal.ru/a12/1803/f1/1350c8fc0967.jpg

озвучиваю моды
DarkVetal  Сообщение №2032 написано: 17 марта 2018, 16:09

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

Mephistopheles  Offline  Сообщение №2033 написано: 18 марта 2018, 11:20



2
Добрый день всем. Решил попробовать добавить в игру уникальный топор Изгоев - Вересковый гейс. Про него есть статья в Скайримвики и там указанно, что его без консольных команд не получить. В Ките его, почему-то, нет. Ни как в качестве самого оружия ни зачарования на урон против нордов - т.к думал создать его по новой.
Гейс можно как-то достать?

Хисимэль  Offline  Сообщение №2034 написано: 24 марта 2018, 17:54


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


100
Вопрос по навмешам.

Делаю навмеши в открытой локации (exterior).
Пытаюсь соединить навмеши двух ячеек кнопкой Toggle preferred pathing (Р).
Делаю это так: ставлю границы близко, выделяю обе границы (именно границы, не точки), нажимаю Р.
Появляются объемные прямоугольники по линии границ, но...
У меня он цвета цикламен и высокий - вид в сечении прямоугольник. А в ванильном Скайриме должен быть зеленый и в сечении квадрат.

Кто делал навмеши в открытой локации, подскажите, пожалуйста, что я делаю неправильно?

озвучиваю моды
DarkVetal  Сообщение №2035 написано: 24 марта 2018, 18:01 | Отредактировано: DarkVetal - 24 марта 2018, 18:19

gangrena1972,  из личного опыта: точки навмешей одной ячейки должны быть рядом с точками соседней, больше шанс соединения. Для соединения ячеек нужно нажимать кнопку "финализировать навмеши". Финализация проходит в той ячейке, где расположена камера. Чтобы нпс ходили через дверь, под маркером двери должен быть навмеш, после финализации становится зеленым, значит телепорт сработает.

Хисимэль  Offline  Сообщение №2036 написано: 24 марта 2018, 21:20 | Отредактировано: gangrena1972 - 24 марта 2018, 21:21


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


100
DarkVetal, а, все-таки финализировать... Это я тоже пыталась. Значит, у меня камера была не в том участке, где я пыталась соединить навмеши. Точки ставила одну в другую по всем трем координатам. Про двери знаю, спасибо!

озвучиваю моды
UnlimitedCloud  Offline  Сообщение №2037 написано: 24 марта 2018, 23:56



41
В общем, я сделал пару перков. И решил их вставить в древо. В редакторе дерева навыков активны только две функции при щелчке ПКМ - "Добавить перк" и "Set Associated Skill", а остальные серые. И новые стрелочки не хотят появляться. Когда сохраняю и лезу в игру проверить, то обнаруживаем, что в древе этого навыка только этот новый перк, а остальные пропали. В чём проблема может быть?

Когда небеса падут, а земля покроется пеплом, я буду сидеть на вершине мира и смеяться над вашими трупами (с).
Mephistopheles  Offline  Сообщение №2038 написано: 25 марта 2018, 16:01 | Отредактировано: ApeX - 25 марта 2018, 17:10



2
При попытке настроить диалоги для нового НПС, вылезает ошибка. В чём может быть проблема?
http://i103.fastpic.ru/big....9c0.jpg

Как выкладывать скриншоты на сайт.  ApeX

DarkVetal  Сообщение №2039 написано: 25 марта 2018, 16:43

Mephistopheles, не зарегистрирована данная библиотека DLL файлов, нужно зарегистрировать. В старой ветке форума обсуждалось это и не раз. Нужно в поиске сайта по кодовому слову (FlowChart) пошарить, авось и попадётся инструкция. Я так каждый раз после слёта Винды делал. Авось и вам повезёт.

Хисимэль  Offline  Сообщение №2040 написано: 26 марта 2018, 15:19


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


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

В моде я делала свою рудную жилу и вроде ничего ванильного сознательно не меняла.

Где можно поискать ошибку?

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





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