В файле SkyrimEditor.ini ниже [General] впишите строчку sLanguage=RUSSIAN, чтобы этот СК по-русски понимал.
Для того чтобы ошибки не выдавались, и не мешали в работе
Можно сделать следующее:
Открыть любым текстовым редактором файл SkyrimEditor.ini (находится в папке \Steam\steamapps\common\skyrim)
Находим секцию [MESSAGES]
В каждой строке в данной секции меняем значение с 0 на 1. После всех изменений данная секция должна выглядеть так:
[MESSAGES]
bSkipInitializationFlows=1
bSkipProgramFlows=1
bAllowYesToAll=1
bBlockMessageBoxes=1
iFileLogging=1
Вопросы по модостроению и Creation Kit
#1281
Отправлено
- Morrgus27, Wererewolf, Bolgarec75 и 2 другим это нравится
#1284
Отправлено
Есть задача:
Короткий диалог между двумя НПС. Задумано несколько разных версий этого диалога. Упрощенно это выглядит так:
актор1: как дела?
актор2: отлично!
актор1: что слышно нового?
актор2: ничего нового.
и так далее. То есть разговоры о разном. Без каких-либо дополнительных условий, кроме их случайной встречи.
Нужно, чтобы с интервалом, допустим, 48 часов (не подряд то есть) запускалась сцена между одними и теми же нпс с рандомным диалогом, через следующие 48 - со следующим вариантом диалога, и так далее, пока все варианты не прокрутятся.
Как такое сделать?
Если я поставлю Random Quest Node с галочкой Do all before repeating, залью туда несколько квестов-сцен, то, как я понимаю, они конечно будут прокручиваться рандомно, но это будут разные сцены, а мне нужна одна с разными вариантами диалогов. Или не одна, но с интервалом между ней и следующей, а не между ее следующим повтором, как у сцен-диалогов между канибаллами, к примеру.
Может, на первую фразу в сцене поставить временной интервал?
Сообщение отредактировал gangrena2: 30 января 2018 - 10:10
#1285
Отправлено
Для подобных задач в игре есть механика, и она довольно проста. Суть диалогов актеров друг с другом состоит в том, что не игрок активирует НПС (через Hello topic), или наоборот (force greet), а НПС активируют друг друга. Это называется Actor Dialogue Event. Это именно тот ивент, который должен стоять у тебя в квесте в разделе Quest Data. Никаких Run Once.Есть задача:..............
Как такое сделать?
Далее нужно создать два элиаса в этом квесте (Quest Aliases). В элиасе должен стоять тип заполнения Find Matching Reference > From Event. Если Actor Dialogue Event уже прописан на первой вкладке, как это было описано ранее, то здесь система сама подхватит его (ивент) и тебе останется лишь выбрать какой из параметров ивента ты хочешь заполнить. Их два: Actor 1 и Actor 2. Соответственно, нужно два элиаса - 2 актера ведь. Стоит отметить этим элиасам боксы Allow Reserved. Конкретизировать, кем же реально будут заполнены эти элиасы можно и нужно полем Conditions. Например через GetIsID (самое простое, если это для конкретных 2х НПС задумывается). Но, в целом, тут уж по ситуации и под задачу дизайнерскую.
Создаешь саму сцену с участием этих элиасов. Обязательно отметь сцене Begin on quest start и Stop quest on end. Остальное - дизайнерский аспект.
Теперь надо этот квест надо куда-то подшить, чтобы это что-то ловило тот самый Actor Dialogue Event и запускало квест. Ну для этого есть такая штука как SM Event Node. Создаешь новый Random Quest Node, засовываешь туда своих квестов и настраиваешь. Shares Event отключаешь (ибо тогда все они смогут запуститься за раз), ставишь Do All Before Repeating и выставляешь квестам Hours until reset на 48 часов, раз пошла такая пьянка. Неплохо бы сюда дистанцию между актерами в условие вписать < 300 например, а то будут через все поле орать.
П.С. Это и есть разные версии одного и того-же диалога, все зависит от того, что ты именно в топики вписываешь. Ну, если очень хочется, можешь в сцене нажать дважды на Action XX и в Info добавить новый response. игра будет выбирать каждый раз один из, т.е. рандомно.
П.П.С. Если память мне не изменяет, они поменяли немного систему эту в одном из обновлений, так что возможно придется дописать еще элиасов. Но, трупы считают по мере их поступления - если возникнет проблема и не будет так работать, попробуем дописать.
#1286
Отправлено
Для подобных задач в игре есть механика и она довольно проста. Суть диалогов актеров друг с другом состоит в том, что не игрок активирует НПС (через Hello topic), или наоборот (force greet), а НПС активируют друг друга. Это называется Actor Dialogue Event. Это именно тот ивент, который должен стоять у тебя в квесте в разделе Quest Data. Никаких Run Once.
Далее нужно создать два элиаса в этом квесте (Quest Aliases). В элиасе должен стоять тип заполнения Find Matching Reference > From Event. Если Actor Dialogue Event уже прописан на первой вкладке, как это было описано ранее, то здесь система сама подхватит его (ивент) и тебе останется лишь выбрать какой из параметров ивента ты хочешь заполнить. Их два: Actor 1 и Actor 2. Соответственно, нужно два элиаса - 2 актера ведь. Стоит отметить этим элиасам боксы Allow Reserved. Конкретизировать, кем же реально будут заполнены эти элиасы можно и нужно полем Conditions. Например через GetIsID (самое простое, если это для конкретных 2х НПС задумывается). Но, в целом, тут уж по ситуации и под задачу дизайнерскую.
Создаешь саму сцену с участием этих элиасов. Обязательно отметь сцене Begin on quest start и Stop quest on end. Остальное - дизайнерский аспект.
Теперь надо этот квест надо куда-то подшить, чтобы это что-то ловило тот самый Actor Dialogue Event и запускало квест. Ну для этого есть такая штука как SM Event Node. Создаешь новый Random Quest Node, засовываешь туда своих квестов и настраиваешь. Shares Event отключаешь (ибо тогда все они смогут запуститься за раз), ставишь Do All Before Repeating и выставляешь квестам Hours until reset на 48 часов, раз пошла такая пьянка. Неплохо бы сюда дистанцию между актерами в условие вписать < 300 например, а то будут через все поле орать.
П.С. Это и есть разные версии одного и того-же диалога, все зависит от того, что ты именно в топики вписываешь. Ну, если очень хочется, можешь в сцене нажать дважды на Action XX и в Info добавить новый response. игра будет выбирать каждый раз один из, т.е. рандомно.
П.П.С. Если память мне не изменяет, они поменяли немного систему эту в одном из обновлений, так что возможно придется дописать еще элиасов. Но, трупы считают по мере их поступления - если возникнет проблема и не будет так работать, попробуем дописать.
Так дистанция на квестах 48 часов будет работать по какому варианту?
1. Каждые 48 часов запускается один рандомный квест, а следующий рандом запустится через 48?
2. Каждые 48 часов запускается один рандомный квест, потом сразу другой и пока все не прокрутятся, а через 48 часов снова?
И еще, может ты знаешь: иногда сцена запускается не сразу, если я ее создаю между персонажами со своими аи-пакетами (которые висят на нпс). Я думала, что аи-пакеты на квесте приоритетнее, чем на нпс.
Вот, например, есть стражник. Он патрулирует днем. Мне надо, чтобы игрок и нпс с пакетом сопровождения игрока подбежали к этому стражнику, и между обоими нпс сразу началась сцена-диалог. А приходится ждать. Почему так?
На всякий случай: вот такие условия у меня на Random Quest Node (тренируюсь на Вилкасе вместо кошки, 000Alva - свой персонаж с аи-пакетом следования за игроком)
На алиасах условия allow Reserved и Allow Reuse in Quest
Condition соответственно getisid этих нпс.
В сцене галочки begin... и stop... поставлены.
В Random Quest Node поместила три квеста с разными вариантами, но пока без 48 часов, потому что сцена, как я уже написала, запускается не сразу, когда нпс встречаются, поэтому временной интервал не проверить.
Сообщение отредактировал gangrena2: 31 января 2018 - 07:49
#1287
Отправлено
Так дистанция на квестах 48 часов будет работать по какому варианту?
1. Каждые 48 часов запускается один рандомный квест, а следующий рандом запустится через 48?
2. Каждые 48 часов запускается один рандомный квест, потом сразу другой и пока все не прокрутятся, а через 48 часов снова?
Я тут подумал логически, выходит, что по второму сценарию будут работать. Понял, что ты хочешь. Попробуй покрутить этот момент, например так.
Создай новую GlobalVariable (глобальную переменную) IsPossibleToActivateNextQuest с исходным значением "1" (я люблю, чтобы названия были довольно естественными. Как у Беседки). Создай дополнительный технический квест, который будет запускаться по завершении каждого из твоих квестов-сцен. Например, в конце каждой этой сцены запускай его, попутно обнуляя значение глобальной переменной IsPossibleToActivateNextQuest.SetValue(0) . Все, что делает такой квест, - ждет игровое время 48 часов и обновляет значение переменной обратно IsPossibleToActivateNextQuest.SetValue(1) . Все, теперь остается только вставить равенство этой глобальной переменной единице как условие в SM Event Node. По-млему, в кондишонах это уловие называется GetGlobalValue.
Это должно дать тебе то, что ты хочешь. Фантазируй)
И еще, может ты знаешь: иногда сцена запускается не сразу, если я ее создаю между персонажами со своими аи-пакетами (которые висят на нпс). Я думала, что аи-пакеты на квесте приоритетнее, чем на нпс.Вот, например, есть стражник. Он патрулирует днем. Мне надо, чтобы игрок и нпс с пакетом сопровождения игрока подбежали к этому стражнику, и между обоими нпс сразу началась сцена-диалог. А приходится ждать. Почему так?
Это движок так обрабатывает AI пакеты. Игра смотрит, конечно, на пакеты НПС, которые находятся в прогруженной области чаще, чем на пакеты НПС с другого конца карты, но! Даже в этом случае, если пустить все это на самотек, игре потребуется аж до 15-ти секунд, чтобы сообразить, что пакеты пора обновлять. Это нормально. Но можно побороться и с этим: принудительно заставить игру пересмотреть стак пакетов актера. Делается это так (если Actor01 - это проперти типа ReferenceAlias): Actor01.GetActorReference().Evaluatepackage() .
#1288
Отправлено
Например, в конце каждой этой сцены запускай его, попутно обнуляя значение глобальной переменной IsPossibleToActivateNextQuest.SetValue(0) .
Это движок так обрабатывает AI пакеты. ....... Но можно побороться и с этим: принудительно заставить игру пересмотреть стак пакетов актера.
А перегрузки движка не будет? В смысле, тормозов?
Принудительно заставить игру пересмотреть стак пакетов актера. Делается это так (если Actor01 - это проперти типа ReferenceAlias): Actor01.GetActorReference().Evaluatepackage() .
А этот пересчет пакетов в какое место вставлять? Квест без стадий, только сцена.
И правильно, наверное, будет Alias_Actor01.GetActorReference().Evaluatepackage() да?
Сообщение отредактировал gangrena2: 01 февраля 2018 - 07:50
#1289
Отправлено
Все будет хорошо.А перегрузки движка не будет? В смысле, тормозов?
А этот пересчет пакетов в какое место вставлять? Квест без стадий, только сцена.
И правильно, наверное, будет Alias_Actor01.GetActorReference().Evaluatepackage() да?
Вставлять надо в папирус-фрагмент начала сцены (скриншота нет). У сцен есть папирус секция в каждой фазе, а есть и для всей сцены целиком. Кнопка Edit Scene Data (СК не перед глазами).
То, что стоит перед GetActorReference(), должно быть проперти типа ReferenceAlias, да (Alias_Actor01 в твоем примере). Сам префикс Alias_смысловой нагрузки не несет, если ты об этом. Это то, что называется "семантика", а не "синтаксис". Хоть aaaaAzino_3topora назови.
#1290
Отправлено
Здравствуйте, такой вопрос, вот есть мод с реплейсером брони. Как можно переделать его так чтобы эта броня была автономной и менялась на станке как в тех реплейсерах которые есть автономные. Я что-то не нашел вменяемой инструкции, а через Creation Kit попробовал залезть запутался. Т.е. Мне нужна заплатка которая ставится вместо файла esp мода или после и делает броню автономной.
#1291
Отправлено
Т.е. Мне нужна заплатка которая ставится вместо файла esp мода или после и делает броню автономной.
Если модели у тебя уже есть, надо только внедрить их в игру.
В интернете целая куча гайдов по созданию брони и оружия. Как в текстовом формате, так и в видео. Гугли.
Ничего сложного там нет, если будешь четко по пунктам действовать.
#1292
Отправлено
Чего-то ничего не меняется: Вилкас топчется с места на место, то там присядет, то сям, и все молчат...
Я правильно сделала? Вот как:
В Сцене жмем Edit Data
В верхнем окне папируса ставим ; и компилируем. Справа появляется скрипт. Добавляем туда два проперти типа ReferenceAlias (пусть будут actor1 и actor2) и назначаем на них наших нпс.
В окне папируса заменяем ; на
actor1.GetActorReference().EvaluatePackage()
actor2.GetActorReference().EvaluatePackage()
Все скомпилировалось, но результата пересчета пакетов не видно :(
Все, вопрос снят: я сделала то же, но на первом топике диалога.
Сообщение отредактировал gangrena2: 06 февраля 2018 - 12:31
#1293
Отправлено
Здравствуйте, у меня вылетает Creation Kit при любой попытке подгрузить мод Race Compatibility. Никаких ошибок не выдает, просто закрывается. С другими модами, не имеющими Race Compatibility как мастер файл, все нормально. В чем может быть дело?
Сообщение отредактировал Vall-i: 03 февраля 2018 - 03:42
#1295
Отправлено
Один из первых результатов запроса в гугле - вот ссылочкаДобрый День. Создал я NPC. Как сделать его доступным для женитьбы в CK, без использования консоли в игре?
- WULDJOTNah это нравится
#1296
Отправлено
Как предотвратить зависание диалоговых сцен между двумя НПС?
Иногда они срабатывают адекватно, а иногда оба непися при встрече стоят и задумчиво смотрят друг на друга.
#1299
Отправлено
Добрый вечер. Не подскажите в чем дело: пропал маркер коллизий, т.е. нажимаешь на квадратик, а сам желтый прямоугольник не появляется. Ни на триггерах, ни на предметах. просто все застывает и ничего не происходит. Вроде бы никакие лишние кнопки не нажимала. До этого все было ок. Как вернуть его?
Заранее спасибо.
#1300
Отправлено
Добрый день.
В процессе создания квеста по туториалу gkalian "Creation Kit Tutorial №15 - Создание квеста (часть 2)" при попытке выполнить компиляцию скрипта:
"GetOwningQuest().SetObjectiveDisplayed(10)
GetOwningQuest().SetStage(10)"
Выдает ошибку:
Starting 1 compile threads for 1 files...
Compiling "TIF__01000D6D"...
<unknown>(0,0): Unable to find flags file: TESV_Papyrus_Flags.flg
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\TIF__01000D6D.psc(3,0): Unknown user flag Hidden
No output generated for TIF__01000D6D, compilation failed.
Batch compile of 1 files finished. 0 succeeded, 1 failed.
Failed on TIF__01000D6D
#1301
Отправлено
Доброго времени суток, в Creation Kit создал персонажа по уроку, выставил только все базовое имя, id, расса, сохранил, выкинул в мир(в мире появился), CK дал ему 01000D62(в консольке при нажатии на него) я ему прописал bbbTestNPC и в игре при вводе player.placeatme <id> 1 консоль пишет что такого нету и не призывает, пробовал свой id и игровой(вроде base и ref), файл подключен в менеджере, подскажите в чем может быть проблема ?
Сообщение отредактировал akigami: 24 февраля 2018 - 15:27
Темы с аналогичным тегами help, modding, creation kit, скайрим, редактор, помощь, вопросы
|
Моддинг →
Моддинг Skyrim →
Установка патчей совместимостиАвтор stlstyle, 08 ноя 2024 mod, мод, patch, патч, ae и 5 еще... |
|
||
Вольный град →
Литература →
Фанфикшен →
Произведения по мотивам TES →
«I am Khajiit / Я каджит» песняАвтор brl20281, 29 окт 2024 песня, каджит и 1 еще... |
|
|||
The Elder Scrolls →
Skyrim →
Обсуждение Skyrim →
Технические вопросы →
Баг с силовыми атаками НПСАвтор Dog2014, 08 янв 2024 баг, нпс, npc, bug, skyrim и 2 еще... |
|
|||
Моддинг →
Моддинг Skyrim →
Восстановление на основе Зала ДозораАвтор Alex_andra, 11 дек 2023 mod, help |
|
|||
Моддинг →
Моддинг Skyrim →
Проекты в разработке →
Immersive SimАвтор tesallmc, 17 ноя 2023 immersive, sim, rpg и 1 еще... |
|
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 скрытых