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

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


Lady in the Dark


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


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

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


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

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

My WebSite: Kris†a™: Private Modding

Мы отстроили реальный мир, превратив его в убожество, теперь отстраиваем виртуальные, надеясь на лучшее... ©
Mgichko  Offline  Сообщение №2461 написано: 13 Август 2022, 21:37



2
Народ, может ктото сталкивался. Есть ли возможность в криейшен ките увеличить количество отображаемых ячеек в окне рендера?. Это необходимо при работе с редактором локаций. Потому что это какие то мучения!!!

cnupT9Ira  Offline  Сообщение №2462 написано: 22 Август 2022, 23:04



7
Добрый день. Имеется мод на броню из нью-вегаса для fallout 4. Хочу поменять характеристики, однако Криэйшн Кит пишет, что это мастер-файл (.els) и устанавливать его активным не хочет. Можно как-то сделать из него обычный плагин (.esp)?

Multigone  Offline  Сообщение №2463 написано: 23 Август 2022, 10:03



768
cnupT9Ira, Вы ошиблись форумом.

Basil44  Offline  Сообщение №2464 написано: 23 Август 2022, 13:13



437
cnupT9Ira, а в FO4Edit нельзя это сделать?

cnupT9Ira  Offline  Сообщение №2465 написано: 23 Август 2022, 18:54



7
Цитата Multigone

cnupT9Ira, Вы ошиблись форумом.


Извиняюсь, а адрес не подскажете?
Цитата Basil44

cnupT9Ira, а в FO4Edit нельзя это сделать?

Вот если бы я знал, что такое fo4edit  и как им пользоваться - я бы, наверное, ответил. Но я Криэйшн кит запускаю раз в 5 лет, когда надо статы брони поправить. Самое смешное, что частично сработала смена расширения "в лоб": переименовал из есл в есп и КриКит нормально его прочитал. Сейчас пойду проверять


ApeX  Offline  Сообщение №2466 написано: 23 Август 2022, 19:24



cnupT9IraМастерская Fallout 4 

Вопросы, если будут, лучше туда.


valambar  Offline  Сообщение №2467 написано: 16 Октябрь 2022, 22:18 | Отредактировано: valambar - 16 Октябрь 2022, 22:28



506
Цитата Mgichko

Есть ли возможность в криейшен ките увеличить количество отображаемых ячеек в окне рендера?. Это необходимо при работе с редактором локаций. Потому что это какие то мучения!!!


Есть. Правой кнопкой щелкнуть в окне рендера, выбрать в меню Render Window properties, там будет менюшка, открыть в ней вкладку Misc, и там будет окошко с количеством отображаемых ячеек. По умолчанию загружается 5 ячеек, я обычно устанавливаю на 13 - это вполне комфортно и в то же время не грузит.

Да, примечание - эта установка будет действовать только на время ОДНОГО сеанса конструктора. Если его закрыть и потом снова открыть, снова будет стоять 5 ячеек и надо будет снова так же менять.


_____________________________


1. Какое поставить условие в теме диалога, чтобы она высвечивалась только в определенной локации - например, в конкретном городе (или деревне) - в его экстерьере и всех его интерьерах?

2. Как сделать, чтобы компаньон покидал ГГ навсегда, если он присоединится к определенной фракции (например, к Имперскому легиону или Братьям Бури)?

3. Я видел, что некоторые компаньоны из оригинальной игры и дополнений доступны для брака, но когда установил те же параметры фракций и отношений, что и у них, для своего созданного компаньона - почему-то компаньон все равно был для брака недоступен. Что еще нужно сделать?


Multigone  Offline  Сообщение №2468 написано: 17 Октябрь 2022, 02:08 | Отредактировано: Multigone - 17 Октябрь 2022, 12:54



768
valambar,

1) Попробуй GetInCurrentLoc.

2) Посмотри квест DialogueFollower и его осн. скрипт DialogueFollowerScript, как отпустить напарника. За это отвечает его функция DismissFollower(). В скрипте и квесте все существенные стороны добавления актера в напарники и удаление из напарников - в какие фракции добавлять, какие AI-пакеты использовать в алиасе, какие диалоги произносить, какие AV менять...
Чтобы удалить актера из напарников навсегда, нужно воспрепятствовать выполнению условий соотв. строк диалога ("мне нужна твоя помощь" и т.д.). Например, это можно сделать, отпустив этого напарника, и затем удалив его из фракции PotentialFollowerFaction. Некоторые топики могут быть в квесте DialogueFavorGeneric (проверить все вкладки квеста).
Следует помнить, что квест DialogueFollower отвечает только за ванильного напарника. Он может быть изменен другими модами, расширяющими систему напарников. Некоторые моды могут добавлять своих напарников, не зависящих от DialogueFollower (в простейшем случае это делается добавлением актеру пакета следования и добавлением его во фракции игрока, что можно произвести из любого скрипта). Поэтому, таких напарников отпустить нельзя, пока этот мод не учитывается твоим напрямую.
Чтобы отпустить напарника в определенный момент (выполнение стадии квеста), нужно делать это либо из скрипта стадии этого квеста (т.е. менять ванильный скрипт, что не есть хорошо с точки зрения совместимости), либо отслеживать состояние квеста (или нахождение игрока во фракции) из стороннего апдейта.
Предположим, у нас есть алиас игрока в модном квесте, который мы можем использовать для этого:
Quest Property DialogueFollower Auto ; авто
Faction Property PotentialFollowerFaction Auto ; авто
Actor Property pActor Auto ; конкретный актер, который покинет игрока в случае его присоединения к гр. войне
Faction Property pFaction1 Auto ; фракция братьев бури (?)
Faction Property pFaction2 Auto ; фракция империи (?)

EVENT OnInit()
    RegisterForSingleUpdate(5.0)
ENDEVENT

EVENT OnUpdate()
    Actor xP = Game.GetPlayer()
    IF xP.IsInFaction(pFaction1) || xP.IsInFaction(pFaction2)
        DialogueFollowerScript xDFS = DialogueFollower AS DialogueFollowerScript    
        IF pActor == xDFS.pFollowerAlias.GetReference() AS Actor
            xDFS.DismissFollower()
        ENDIF
        pActor.RemoveFromFaction(PotentialFollowerFaction)
    ELSE
        RegisterForSingleUpdate(10.0)
    ENDIF
ENDEVENT

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

3) Вроде там еще голос должен соответствовать ванильному перечню (форм-лист).

valambar  Offline  Сообщение №2469 написано: 17 Октябрь 2022, 11:44



506
По 2 пункту - а проще никак нельзя сделать? Например, поставив условия не только в пункт диалога, но и в пакет поведения - что он не в имперском легионе/не в братьях бури? 

По 3 пункту - проверю, что за голос у компаньонки из мода, но вроде фразы она выдает стандартные.


Multigone  Offline  Сообщение №2470 написано: 17 Октябрь 2022, 13:02 | Отредактировано: Multigone - 17 Октябрь 2022, 13:03



768
valambar, попробуй, может, получится проще. Если просто ставить условия: когда указанный актер в текущих напарниках, и игрок вступает в гр. конфликт, пакет следования отключается в результате невыполнения условий, актер уходит. При этом он продолжает оставаться в квесте DialogueFollower, как текущий напарник. Это значит, что он будет вынимать оружие вместе с игроком, будет вступать в бой на стороне игрока, если находится поблизости, ну, и все остальное, что делают напарники. Других нанять будет нельзя, пока этот не будет отпущен функцией DismissFollower(), либо эквивалентным этому кодом.

valambar  Offline  Сообщение №2471 написано: 18 Октябрь 2022, 14:40 | Отредактировано: valambar - 18 Октябрь 2022, 22:54



506
Цитата Multigone

пока этот не будет отпущен функцией DismissFollower(), либо эквивалентным этому кодом.


А кстати, как это реализуется у компаньонов из модов, которые могут быть не единственными? Это может быть только скриптовая функция?


_______________________________


Пока редактировал мод на компаньона, наткнулся на то, что:

1. Прописанные мною диалоги в игре не появляются. Создал квест, в нем прописал ветку диалогов, условием поставил ID компаньона, но в игре кроме стандартных компаньонских строчек диалога ничего нет.

2. Когда открыл Creation Kit второй раз, он стал вылетать при попытке выделить ветку диалога в окне Dialogue View (там, где диалог отображается схемой со стрелками).


Multigone  Offline  Сообщение №2472 написано: 18 Октябрь 2022, 23:02



768
valambar, напарник - как правило, это AI-пакеты (следования и чего угодно еще), функция SetPlayerTeammate(), которая отвечает за одновременное с игроком обнажение оружия, вход в скрытность и прочее, фракции игрока (и/или Relationship, я в этом не сильно шарю), и доп. возможности, определяемые модными скриптами.

Единственность ванильного напарника заключается только в том, что в квесте всего 1 алиас, предназначенный для этого. Если сделать 128 алиасов, игра будет поддерживать столько же одновременных напарников. Конечно, придется немного поменять DialogueFollowerScript, условия связанных диалогов, добавить кейворды в алиасы, но, в целом, ничего сложного.

Чтобы отпустить напарника (очистить алиас, SetPlayerTeammate(false)), скриптовую функцию придется использовать в любом случае. Посмотри, как это реализовано в указанном квесте, что написано в главном скрипте, скриптах диалогов. Там нет ничего страшного.


Multigone  Offline  Сообщение №2473 написано: 18 Октябрь 2022, 23:11 | Отредактировано: Multigone - 18 Октябрь 2022, 23:16



768
valambar, диалоги не появляются, потому что квест не запущен, пока игра не будет сохранена и вновь загружена. В осн. вкладке нужно убрать (или наоборот) StartGameEnabled, RunOnce (я уже не помню, поищи в этой теме или теме по скриптам, тут это не раз обсуждалось). Квест запустится автоматически скриптом на нем:

EVENT OnInit()
    IF !IsCompleted()
        Start()
    ENDIF
ENDEVENT

СК делает бэкапы .esp в папку Skyrim\Backup. На случай, если вылет связан с ошибкой в плагине.

valambar  Offline  Сообщение №2474 написано: 19 Октябрь 2022, 23:28 | Отредактировано: valambar - 19 Октябрь 2022, 23:30



506
С диалогами вроде разобрался, благодарю.

Теперь возник вопрос - как настроить боевой стиль (или может, еще какую опцию надо настраивать), чтобы НПС пользовался в бою заклинанием "Призванный лук"?

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


Multigone  Offline  Сообщение №2475 написано: 28 Октябрь 2022, 15:11



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

valambar  Offline  Сообщение №2476 написано: 31 Октябрь 2022, 01:54 | Отредактировано: valambar - 31 Октябрь 2022, 01:59



506
Попробовал поискать руководства - по боевым стилям почти ничего. 

Методом г-на Тыка поставил магию на максимум, лук - поменьше, оружие - еще меньше, остальное оставил на 1. 

Всё равно применяет только магию. Кончается магия - машет кулаками.  И это при том, что я ей дал мечик, улучшенный до легендарного.

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

Кстати, я видел мод (по образу которого и пытаюсь делать свой) - там применение призванного лука компаньонке имитируется - дается ей в инвентарь лук, который использует модель призванного, а так это обычный лук.

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

Кстати, на бой должен влиять еще и класс. Какой класс нужен для такого расклада?


Multigone  Offline  Сообщение №2477 написано: 31 Октябрь 2022, 02:28



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

Возможно, ИИ рассматривает призванный лук как бафф (атронах / маг. броня и т.д.). И накладывает его перед боем или в его начале. А далее пользуется магией разрушения, потому что может. Напрямую боевым ИИ управлять нельзя, что и написано в вики. Но можно создавать условия, направляющие боевые алгоритмы в определенное русло. Этим должен заниматься отдельный скрипт, который будет проверять обстановку и состояние актера, убирать лишние на данный момент его возможности, менять боевой стиль и прочее (например, заставлять его проигрывать опред. анимацию или идти в указанную точку, отключив от боя). Да, не думаю, что это просто.

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

valambar  Offline  Сообщение №2478 написано: 31 Октябрь 2022, 02:48 | Отредактировано: valambar - 31 Октябрь 2022, 02:49



506
Цитата valambar

Поскольку актеры не могут повышать уровень


Погодите, а если поставить галочку на рост с игроком? Я проверял консолью, если галочка стоит, то тогда уровень соответствует игроку. И в случае мага - на более высоких уровнях он пользуется более высокоуровневыми заклинаниями.

Multigone  Offline  Сообщение №2479 написано: 31 Октябрь 2022, 13:27



768
valambar, да, значит, могут. Подзабыл уже. Но сути это не меняет - класс влияет только на распределение параметров актера. Либо  при первой встрече, либо при повышении уровня игрока. Если планируется менять боевые стили в процессе боя, от изменения класса в бою не произойдет ровным счетом ничего.

Hommyak  Offline  Сообщение №2480 написано: 21 Ноябрь 2022, 20:25



10
Цитата slastik

Доброго времени суток. Если кто-то работал со звуками в СК - буду рад помощи.
Ситауция такая: хочу привязать к объекту несколько звуков, чтобы проигрывались постоянно в случайном порядке. Для этого создал SaundDescriptor, забросил туда несколько звуковых файлов, включил Loop и привязал к объекту. В итоге постоянно проигрывается цикл из первого трека, а остальные не хотят. При отключении Loop проигрывается случайный трек, но лишь единожды, после него тишина. Попробовал вставить все это в звуковой маркер, поместил его рядом с объектом и получил тот же результат. Либо зацикленное воспроизведение, но только первый трек, либо же разные треки, но только один раз. Протестил ванильные маркеры, в которых включен Loop и наличествует несколько файлов, оказывается они тоже гоняют по кругу только первый. Это недоработка самой Бесезды или какое-то мое упущение? Есть вариант смиксовать все треки в один, но тогда каждый раз при заходе на локацию мы все равно будем слышать первый файл и он быстро приестся. Пробовал создать MusicType и включать его скриптом MusicType.Add(), но почему-то не работает.
Подскажите выход, если у кого-то есть идеи.

З.Ы. Проблема решена. Вспомнил, что необходимая мне функция была реализована в модификации SpaceCore. Позаимствовал оттуда скрипт, переделал под себя и все работает )))


Сообщение №1843 написано: 27 Март 2017


Приветствую. Я понимаю, что уж столько лет прошло. Но не могли бы подсказать что все-таки за скрипт нужно писать в подобной ситуации?smile


Multigone  Offline  Сообщение №2481 написано: 22 Ноябрь 2022, 15:37



768
Hommyak,
ScriptName _TESTNEW2 Extends ObjectReference ; на референс - источник звука
    ; проигрывает случайные звуки из массива, 2 звука подряд не повторяются (звуки редактируются в разделе СК Sound Descriptor)
    ; настройка форм Sound Descriptor для использования - Looping: None, количество звукофайлов в списке отдельного Sound Descriptor не ограничено

Sound[] Property apxMySoundArray Auto ; вручную в Property скрипта заполняется массив со звуками (не менее 2 шт.), которые требуется проигрывать в случайном порядке
Int iLastPos ; вспомогат. переменная (№ позиции предыдущего звука)

EVENT OnInit()
    RegisterForSingleUpdate(3.0)
ENDEVENT

EVENT OnUpdate()
    Int iC = iLastPos
    WHILE iC == iLastPos
        iC = Utility.RandomInt(0, apxMySoundArray.Length - 1)
    ENDWHILE
    iLastPos = iC
    apxMySoundArray[iC].PlayAndWait(Self)
    RegisterForSingleUpdate(2.0) ; пауза между концом предыдущего звука и началом следующего, сек
ENDEVENT

ScriptName _TESTNEW2 Extends ObjectReference ; на референс - источник звука
    ; проигрывает случайные звуки из форм-листа, 2 звука подряд не повторяются
    ; форм-лист упрощает заполнение Property в некоторых случаях

FormList Property MyFList Auto ; указать форм-лист со звуками (не менее 2 шт.), которые требуется проигрывать в случайном порядке

Int iLastPos ; вспомогат. переменная (№ позиции предыдущего звука)

EVENT OnInit()
    RegisterForSingleUpdate(3.0)
ENDEVENT

EVENT OnUpdate()
    Int iC = iLastPos
    WHILE iC == iLastPos
        iC = Utility.RandomInt(0, MyFList.GetSize() - 1)
    ENDWHILE
    iLastPos = iC
    ((MyFList.GetAt(iC)) AS Sound).PlayAndWait(Self)
    RegisterForSingleUpdate(2.0) ; пауза между концом предыдущего звука и началом следующего, сек
ENDEVENT


Форум » TES V: Skyrim » Мастерская » Вопросы по Creation Kit (продолжение старой темы) (Тут вы можете задать вопросы по редактору Скайрима)
  • Страница 83 из 83
  • «
  • 1
  • 2
  • 81
  • 82
  • 83
Поиск:





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