Перейти к содержимому


Фотография

Вопросы по модостроению и Creation Kit

help modding creation kit скайрим редактор помощь вопросы

  • Авторизуйтесь для ответа в теме

#1281 Ссылка на это сообщение gkalian

gkalian
  • smoke on helmet
  • 14 126 сообщений
  •    

Отправлено

В файле 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

 

В связи с реструктуризацией раздела все полезные сообщения вынесены в отдельную тему.
/сентябрь 2015



  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4694

#1282 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 055 сообщений
  •    

Отправлено

Галочку что сразу недоступен видела, а как использовать этот момент?

Ставишь эту галочку.

И потом через скрипт в диалоге делаешь enable вещей, которые изначально отключены.

Консольная команда enable точно так же работает - выбираешь предмет по ИД и "включаешь" его.



#1283 Ссылка на это сообщение lutik-vjik

lutik-vjik
  • Новенький
  • 12 сообщений

Отправлено

спасибо большое, попробую :)



#1284 Ссылка на это сообщение Хисимэль

Хисимэль
  • Следопыт
  • 87 сообщений
  •  

Отправлено

Есть задача:

Короткий диалог между двумя НПС. Задумано несколько разных версий этого диалога. Упрощенно это выглядит так:

 

актор1: как дела?

актор2: отлично!

 

актор1: что слышно нового?

актор2: ничего нового.

 

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

 

Нужно, чтобы с интервалом, допустим, 48 часов (не подряд то есть) запускалась сцена между одними и теми же нпс с рандомным диалогом, через следующие 48 - со следующим вариантом диалога, и так далее, пока все варианты не прокрутятся.

 

Как такое сделать?

 

Если я поставлю Random Quest Node с галочкой Do all before repeating, залью туда несколько квестов-сцен, то, как я понимаю, они конечно будут прокручиваться рандомно, но это будут разные сцены, а мне нужна одна с разными вариантами диалогов. Или не одна, но с интервалом между ней и следующей, а не между ее следующим повтором, как у сцен-диалогов между канибаллами, к примеру.

 

Может, на первую фразу в сцене поставить временной интервал?


Сообщение отредактировал gangrena2: 30 января 2018 - 10:10


#1285 Ссылка на это сообщение werr

werr
  • больной на всю голову

  • 1 733 сообщений
  •    

Отправлено

Есть задача:..............

Как такое сделать?

Для подобных задач в игре есть механика, и она довольно проста. Суть диалогов актеров друг с другом состоит в том, что не игрок активирует НПС (через 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 Ссылка на это сообщение Хисимэль

Хисимэль
  • Следопыт
  • 87 сообщений
  •  

Отправлено

Для подобных задач в игре есть механика и она довольно проста. Суть диалогов актеров друг с другом состоит в том, что не игрок активирует НПС (через 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 - свой персонаж с аи-пакетом следования за игроком)

73ec7d514a7b.png

 

На алиасах условия allow Reserved и Allow Reuse in Quest

Condition соответственно getisid этих нпс.

В сцене галочки begin... и stop... поставлены.

 

В Random Quest Node поместила три квеста с разными вариантами, но пока без 48 часов, потому что сцена, как я уже написала, запускается не сразу, когда нпс встречаются, поэтому временной интервал не проверить.


Сообщение отредактировал gangrena2: 31 января 2018 - 07:49


#1287 Ссылка на это сообщение werr

werr
  • больной на всю голову

  • 1 733 сообщений
  •    

Отправлено

Так дистанция на квестах 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 Ссылка на это сообщение Хисимэль

Хисимэль
  • Следопыт
  • 87 сообщений
  •  

Отправлено

Например, в конце каждой этой сцены запускай его, попутно обнуляя значение глобальной переменной IsPossibleToActivateNextQuest.SetValue(0) .  

 

Это движок так обрабатывает AI пакеты. ....... Но можно побороться и с этим: принудительно заставить игру пересмотреть стак пакетов актера. 

 

 А перегрузки движка не будет? В смысле, тормозов?

 

 

Принудительно заставить игру пересмотреть стак пакетов актера. Делается это так (если Actor01 - это проперти типа ReferenceAlias):   Actor01.GetActorReference().Evaluatepackage()     .

 

А этот пересчет пакетов в какое место вставлять? Квест без стадий, только сцена.

 

И правильно, наверное, будет Alias_Actor01.GetActorReference().Evaluatepackage() да?


Сообщение отредактировал gangrena2: 01 февраля 2018 - 07:50


#1289 Ссылка на это сообщение werr

werr
  • больной на всю голову

  • 1 733 сообщений
  •    

Отправлено

А перегрузки движка не будет? В смысле, тормозов?


А этот пересчет пакетов в какое место вставлять? Квест без стадий, только сцена.

И правильно, наверное, будет Alias_Actor01.GetActorReference().Evaluatepackage() да?

Все будет хорошо.

Вставлять надо в папирус-фрагмент начала сцены (скриншота нет). У сцен есть папирус секция в каждой фазе, а есть и для всей сцены целиком. Кнопка Edit Scene Data (СК не перед глазами).

То, что стоит перед GetActorReference(), должно быть проперти типа ReferenceAlias, да (Alias_Actor01 в твоем примере). Сам префикс Alias_смысловой нагрузки не несет, если ты об этом. Это то, что называется "семантика", а не "синтаксис". Хоть aaaaAzino_3topora назови:).

#1290 Ссылка на это сообщение ksenz83

ksenz83
  • Новенький
  • 7 сообщений

Отправлено

Здравствуйте, такой вопрос, вот есть мод с реплейсером брони. Как можно переделать его так чтобы эта броня была автономной и менялась на станке как в тех реплейсерах которые есть автономные. Я что-то не нашел вменяемой инструкции, а через Creation Kit попробовал залезть запутался. Т.е. Мне нужна заплатка которая ставится вместо файла esp мода или после и делает броню автономной.



#1291 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 055 сообщений
  •    

Отправлено

Т.е. Мне нужна заплатка которая ставится вместо файла esp мода или после и делает броню автономной.

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

В интернете целая куча гайдов по созданию брони и оружия. Как в текстовом формате, так и в видео. Гугли.

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



#1292 Ссылка на это сообщение Хисимэль

Хисимэль
  • Следопыт
  • 87 сообщений
  •  

Отправлено

 

 

Чего-то ничего не меняется: Вилкас топчется с места на место, то там присядет, то сям, и все молчат...

 

Я правильно сделала? Вот как:

 

В Сцене жмем Edit Data
В верхнем окне папируса ставим ; и компилируем. Справа появляется скрипт. Добавляем туда два проперти типа ReferenceAlias (пусть будут actor1 и actor2) и назначаем на них наших нпс.
В окне папируса заменяем ; на
actor1.GetActorReference().EvaluatePackage()
actor2.GetActorReference().EvaluatePackage()

 

Все скомпилировалось, но результата пересчета пакетов не видно :(

 

Все, вопрос снят: я сделала то же, но на первом топике диалога.


Сообщение отредактировал gangrena2: 06 февраля 2018 - 12:31


#1293 Ссылка на это сообщение Vall-i

Vall-i
  • Новенький
  • 1 сообщений

Отправлено

Здравствуйте, у меня вылетает Creation Kit при любой попытке подгрузить мод Race Compatibility. Никаких ошибок не выдает, просто закрывается. С другими модами, не имеющими Race Compatibility как мастер файл, все нормально. В чем может быть дело?


Сообщение отредактировал Vall-i: 03 февраля 2018 - 03:42


#1294 Ссылка на это сообщение WULDJOTNah

WULDJOTNah
  • Новенький
  • 10 сообщений
  •  

Отправлено

Добрый День. Создал я NPC. Как сделать его доступным для женитьбы в CK, без использования консоли в игре?



#1295 Ссылка на это сообщение mr Jyggalag

mr Jyggalag
  • Ветеран

  • 609 сообщений
  •    

Отправлено

Добрый День. Создал я NPC. Как сделать его доступным для женитьбы в CK, без использования консоли в игре?

Один из первых результатов запроса в гугле - вот ссылочка

#1296 Ссылка на это сообщение Хисимэль

Хисимэль
  • Следопыт
  • 87 сообщений
  •  

Отправлено

Как предотвратить зависание диалоговых сцен между двумя НПС?

Иногда они срабатывают адекватно, а иногда оба непися при встрече стоят и задумчиво смотрят друг на друга.



#1297 Ссылка на это сообщение mr Jyggalag

mr Jyggalag
  • Ветеран

  • 609 сообщений
  •    

Отправлено

Вопрос - нормально ли то, что интерьер домов/усадьб из "Углей очага" отображается некорректно, т.е. без стен, фурнитуры и etc?

#1298 Ссылка на это сообщение zilav

zilav
  • Профи
  • 300 сообщений
  •  

Отправлено

Вопрос - нормально ли то, что интерьер домов/усадьб из "Углей очага" отображается некорректно, т.е. без стен, фурнитуры и etc?

HearthFires.bsa добавлен в SkyrimEditor.ini?



#1299 Ссылка на это сообщение kalimdor1960

kalimdor1960
  • Новенький
  • 2 сообщений

Отправлено

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

Заранее спасибо.



#1300 Ссылка на это сообщение Oxbow

Oxbow
  • Скиталец
  • 44 сообщений

Отправлено

Добрый день.

 

В процессе создания квеста по туториалу 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 Ссылка на это сообщение akigami

akigami
  • Новенький
  • 22 сообщений

Отправлено

Доброго времени суток, в Creation Kit создал персонажа по уроку, выставил только все базовое имя, id, расса, сохранил, выкинул в мир(в мире появился), CK дал ему 01000D62(в консольке при нажатии на него) я ему прописал bbbTestNPC и в игре при вводе player.placeatme <id> 1 консоль пишет что такого нету и не призывает, пробовал свой id и игровой(вроде base и ref), файл подключен в менеджере, подскажите в чем может быть проблема ?


Сообщение отредактировал akigami: 24 февраля 2018 - 15:27






Темы с аналогичным тегами help, modding, creation kit, скайрим, редактор, помощь, вопросы

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых