В файле 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
#2841
Отправлено
- Morrgus27, Wererewolf, Bolgarec75 и 2 другим это нравится
#2842
Отправлено
А вот и новые вопросы. Как заставить нпса в сцене сесть на стул и запустить анимацию письма? Я пробовал сделать пакет "идти и использовать идл", но нпс просто подходит к стулу (идет он к хмаркеру, стул в упор стоит, но в пакете назначен как маркер, который надо использовать), после чего разворачивается и уходит. А еще после сцены у него активируется агрессивное поведение с "тебе тут не рады", бегом за игроком и так далее. В чем проблема?
И еще один небольшой вопрос. Если по сцене нпс выкидывает записку, как заставить ее алиас оказаться в мире? Из инвентаря я его допустим удалю через RemoveItem(Alias.GetReference()). Но что надо сделать, чтобы он оказался на земле? DropItem, к слову, почему-то не сработал, хотя скрипт успешно скомпилировался.
А еще почему-то алиас другой записки, которая должна быть в инвентаре нпса, несмотря на стоящие галки initially disabled и allow disabled, все равно включен сам по себе, без активации.
Сообщение отредактировал mantik903: 04 августа 2020 - 18:58
#2843
Отправлено
Добрый день всем участникам форума! Недавно я решила сделать мод на рукопашный и бездоспешный бой. Для этого я хочу переделать навык красноречия. Первый вопрос такой: где в creation kit можно изменить условие повышения навыка? Допустим, красноречие повышается, когда персонаж торгуется или кого-то успешно убеждает. Где в creation kit можно это условие поменять на "1 единица опыта = 1 единица урона, нанесённого в рукопашной?"
Врядли это вообще возможно.
В чем проблема?
Что-то не так делаешь, значит.
Гугли англоязычные мануалы, может чего и найдешь.
Проведи раскопки в других модах или в ванильной игре, если не найдешь ничего. Кто-то где-то это уже делал до тебя, надо только найти кто и где.
И еще один небольшой вопрос. Если по сцене нпс выкидывает записку, как заставить ее алиас оказаться в мире? Из инвентаря я его допустим удалю через RemoveItem(Alias.GetReference()). Но что надо сделать, чтобы он оказался на земле? DropItem, к слову, почему-то не сработал, хотя скрипт успешно скомпилировался.
Ну удали вообще, и заспавнь копию, делов то.
А еще почему-то алиас другой записки, которая должна быть в инвентаре нпса, несмотря на стоящие галки initially disabled и allow disabled, все равно включен сам по себе, без активации.
Вещи в контейнерах не могут быть "disabled". Их вообще в игре как бы не существует, и с ними практически ничего нельзя делать, пока они в контейнерах.
#2844
Отправлено
Врядли это вообще возможно.
Что-то не так делаешь, значит.
Гугли англоязычные мануалы, может чего и найдешь.
Проведи раскопки в других модах или в ванильной игре, если не найдешь ничего. Кто-то где-то это уже делал до тебя, надо только найти кто и где.
Ну удали вообще, и заспавнь копию, делов то.
Вещи в контейнерах не могут быть "disabled". Их вообще в игре как бы не существует, и с ними практически ничего нельзя делать, пока они в контейнерах.
Насчет анимации пока ничего не нашел, а с копией пришлось устраивать танцы с бубном в стиле "оставить алиас на месте, активировав его в нужный момент, а до этого вручную добавлять/удалять конкретный предмет в инвентари нпсов".
Но теперь новый вопрос. Если у меня есть стадия квеста, которую можно получить в любой момент, подобрав определенный предмет, как должен выглядеть скрипт, который выяснит текущую стадию и закроет именно ее? Спамить десять строк objectivecomplete не хочется, но кроме того, что в скрипте должна быть функция getstage больше ничего в голову не приходит.
Сообщение отредактировал mantik903: 05 августа 2020 - 17:08
#2845
Отправлено
Насчет анимации пока ничего не нашел, а с копией пришлось устраивать танцы с бубном в стиле "оставить алиас на месте, активировав его в нужный момент, а до этого вручную добавлять/удалять конкретный предмет в инвентари нпсов".
Но теперь новый вопрос. Если у меня есть стадия квеста, которую можно получить в любой момент, подобрав определенный предмет, как должен выглядеть скрипт, который выяснит текущую стадию и закроет именно ее? Спамить десять строк objectivecomplete не хочется, но кроме того, что в скрипте должна быть функция getstage больше ничего в голову не приходит.
Вообще, от логики твоего квеста это все зависит. Иногда хватит просто setStage, но если, например, у тебя в квесте что-то там скрипты на стадиях важное делают - то надо все стадии прогонять.
Я ж тебе вроде давал эту ссылку? Жмешь там на Quest, и перед тобой все скрипты, связанные с квестами. Смотришь, что тебе из них надо.
#2846
Отправлено
Вообще, от логики твоего квеста это все зависит. Иногда хватит просто setStage, но если, например, у тебя в квесте что-то там скрипты на стадиях важное делают - то надо все стадии прогонять.
Я ж тебе вроде давал эту ссылку? Жмешь там на Quest, и перед тобой все скрипты, связанные с квестами. Смотришь, что тебе из них надо.
Ты не понял. Смотри, предмет можно подобрать на любой стадии от 20 до 90. При подъеме автоматом ставится 91. Но при этом та задача на которой игрок был до этого остается незавершенной. Смысл квеста вообще найти этот предмет. Но из-за того что я не знаю, на какой стадии игрок его поднимет, мне либо надо писать objectivecomplete на каждую из этих задач, либо сделать скрипт, который сам автоматом вычислит текущую задачу и закроет именно ее, что мне и надо. То есть как я понимаю, надо через getstage получить нынешнюю стадию, но как заставить скрипт запомнить это значение и именно его подставить в objectivecomplete (стадии почти всегда равноценны задачам)? Ту страницу кстати впервые вижу, спасибо большое.
Сообщение отредактировал mantik903: 05 августа 2020 - 19:22
#2847
Отправлено
Ты не понял. Смотри, предмет можно подобрать на любой стадии от 20 до 90. При подъеме автоматом ставится 91. Но при этом та стадия на которой игрок был до этого остается незавершенной. Смысл квеста вообще найти этот предмет. Но из-за того что я не знаю, на какой стадии игрок его поднимет, мне либо надо писать objectivecomplete на каждую из этих стадий, либо сделать скрипт, который сам автоматом вычислит текущую стадию и закроет именно ее, что мне и надо. То есть как я понимаю, надо через getstage получить нынешнюю, но как заставить скрипт запомнить это значение и именно его подставить в objectivecomplete? Ту страницу кстати впервые вижу, спасибо большое.
Там же прямо на странице с GetStage пример дан, как такое сделать.
int MyQuestStage = MyQuest.GetStage()
Т.е. "MyQuestStage" везде, где ты его дальше использовать в скрипте будешь - всегда будет той стадией квеста, которую ты командой выше получил и в эту переменную записал.
MyQuest.SetObjectiveCompleted(MyQuestStage)
Теоретически это может сработать и без предварительной записи стадии в переменную, сразу напрямик:
MyQuest.SetObjectiveCompleted(MyQuest.GetStage())
Но тут я уже не совсем уверен, так как сто лет скрипты не писал, и все поперезабыл уже. Но если это не будет работать - компиллер тебе об этом скажет =)
#2848
Отправлено
Там же прямо на странице с GetStage пример дан, как такое сделать.
int MyQuestStage = MyQuest.GetStage()Т.е. "MyQuestStage" везде, где ты его дальше использовать в скрипте будешь - всегда будет той стадией квеста, которую ты командой выше получил и в эту переменную записал.
MyQuest.SetObjectiveCompleted(MyQuestStage)Теоретически это может сработать и без предварительной записи стадии в переменную, сразу напрямик:
MyQuest.SetObjectiveCompleted(MyQuest.GetStage())Но тут я уже не совсем уверен, так как сто лет скрипты не писал, и все поперезабыл уже. Но если это не будет работать - компиллер тебе об этом скажет =)
Вот, именно на это я и надеялся. Спасибо большое, пойду тестить)
#2850
Отправлено
И снова вопрос. Если мне нужно чтобы скрипт на контейнере сработал только один раз, хотя сам контейнер можно открывать на разных стадиях (скрипт активирует 10 разных стадий в зависимости от текущей), как его заморозить после первой активации?
Тут много разных вариантов может быть.
Если вкратце - при открытии сундука скрипт проверяет переменную, если она условно 0 - скрипт срабатывает и в конце переводит переменную в условную 1.
При втором открытии опять сначала происходит проверка, но так как перменная уже 1 - скрипт ничего делать не будет, и закроется.
Т.е. нужно сделать проверку по внешнему параметру - это может быть стадии квеста, глобальная переменная, или еще по чему-нибудь.
А можно ввести в скрипт свою переменную, и проверять по ней. Не уверен, правда, постоянно эта переменная в памяти будет храниться, или нет.
Сюда же можно отнести использование такой штуки, как "State" - загугли по СК вики, прочитай про них. Вместо переменной - несколько "разделов" в одном скрипте, и выполняется только один из них.
Загрузка\выгрузка объектов со скриптами и сохранение их в сейвах - это вообще отдельная песня.
#2852
Отправлено
Подскажите, пожалуйста, годный урок по созданию телепорта. Мне нужно сделать телепорт из лодки в Скайриме в свой закрытый мир и обратно. Смотрел урок Кальяна, но он мне не подходит. Там используется активатор. У меня, по идее, активатором должна быть лодка.
https://zikul.tumblr...r-invisible#_=_
Создание невидимого активатора.
Скрипт с телепортом сам прицепишь.
#2853
Отправлено
https://zikul.tumblr...r-invisible#_=_
Создание невидимого активатора.
Скрипт с телепортом сам прицепишь.
Спасибо! Но это создание невидимого активатора. Скрипт я прицеплю. НО это, я так понимаю, будет перемещение в одну сторону. А вот как обратно до конца не понятно... Там тоже нужно будет создавать новый триггер?
#2854
Отправлено
Спасибо! Но это создание невидимого активатора. Скрипт я прицеплю. НО это, я так понимаю, будет перемещение в одну сторону. А вот как обратно до конца не понятно... Там тоже нужно будет создавать новый триггер?
Да. Все точно так же, только в скрипте - другие координаты.
Ну и вообще, залез бы в ванильную Стражу Рассвета, там в замок Волкихар тоже на лодке плавать надо, посмотрел бы как там устроено.
#2856
Отправлено
Теперь новая проблема. Тот самый скрипт на зачет целей по текущей стаадии:
int MyQuestStage1 = MyQuest.GetStage()
if MyQuest.GetStage() != 17 && MyQuest.GetStage() != 26 && MyQuest.GetStage() != 37
MyQuest.SetObjectiveCompleted(MyQuestStage1)
elseif MyQuest.GetStage() == 17
MyQuest.SetObjectiveCompleted(15)
elseif MyQuest.GetStage() == 26
MyQuest.SetObjectiveCompleted(25)
elseif MyQuest.GetStage() == 37
MyQuest.SetObjectiveCompleted(45)
endif
Но он не выполняет стадии. В чем причина? То есть он компилируется, и в игре работает (проверено через меседжбокс), но саму свою цель выполнения задач не исполняет, они остаются активными.
Сообщение отредактировал mantik903: 06 августа 2020 - 18:28
#2857
Отправлено
Теперь новая проблема. Тот самый скрипт на зачет целей по текущей стаадии:
int MyQuestStage1 = MyQuest.GetStage()
if MyQuest.GetStage() != 17 && MyQuest.GetStage() != 26 && MyQuest.GetStage() != 37
MyQuest.SetObjectiveCompleted(MyQuestStage1)
elseif MyQuest.GetStage() == 17
MyQuest.SetObjectiveCompleted(15)
elseif MyQuest.GetStage() == 26
MyQuest.SetObjectiveCompleted(25)
elseif MyQuest.GetStage() == 37
MyQuest.SetObjectiveCompleted(45)
endifНо он не выполняет стадии. В чем причина? То есть он компилируется, и в игре работает (проверено через меседжбокс), но саму свою цель выполнения задач не исполняет, они остаются активными.
Вообще, с точки зрения логики правильнее сделать сначала проверку конкретных стадий, а потом в else (которое исполняется, если ни одно из предыдущих словий не сработало) сделать завершение той стадии, которая активна (3-я строчка у тебя в скрипте).
Что касается "почему не работает" - у тебя какой-то разнобой стадий и целей. Может, это игре не нравится, может еще что-то.
Посмотри в ванильных скриптах и квестах, которые имеют подобную систему. Все исходники есть ведь.
#2858
Отправлено
Новая, крайне неожиданная проблема. Дал мод другому человеку, а у него после разговора (там форсгрит) не активируется квест, хотя должен. В чем тут-то проблема? У меня все работает как часы, а у него будто скрипт на установку стадии в одной из реплик сломался. Проверяли через команду - у квеста нулевая стадия. Единственная разница - у него лицуха, у меня пиратка. Версии одинаковые, набор модов тоже, там только стандартные. Скидывал я еспшник и папки с компиляцией тектсур лиц/тел. Я дропнул не все?
Сообщение отредактировал mantik903: 07 августа 2020 - 17:02
#2859
Отправлено
Новая, крайне неожиданная проблема. Дал мод другому человеку, а у него после разговора (там форсгрит) не активируется квест, хотя должен. В чем тут-то проблема? У меня все работает как часы, а у него будто скрипт на установку стадии в одной из реплик сломался. Проверяли через команду - у квеста нулевая стадия. Единственная разница - у него лицуха, у меня пиратка. Версии одинаковые, набор модов тоже, там только стандартные.
Скорее всего забыл положить в архив какой-нибудь из диалоговых скриптов.
#2860
Отправлено
Скорее всего забыл положить в архив какой-нибудь из диалоговых скриптов.
В архиве только есп, я не делал бса. Но я так понимаю, что именно этим мне и надо заняться?
upd: да, очевидно именно это мне и надо сделать. Но как узнать, какие именно файлы надо копировать в архив? Только скрипты, меши и текстуры? И как из скриптов выцепить нужные, их ведь дофига? Плюс скрипты все равно не работают, хотя бса сделан. Как эта херня вообще должна быть реализована...
Мораль - если скопировать папки со скриптами и звуком все норм. Но почему бса не работает, если попытаться все эти же папки в него собрать?
Сообщение отредактировал mantik903: 08 августа 2020 - 00:01
#2861
Отправлено
Мораль - если скопировать папки со скриптами и звуком все норм. Но почему бса не работает, если попытаться все эти же папки в него собрать?
Потому что надо правильно его собрать. На галочки внимания обрати.
В СК есть встроенная фича сборки архива, сама собирает все использованные файлы.
Ну и всегда можно сделать это ручками. Ты ж автор мода, ты должен знать, что у тебя и где использовано. Плюс имена всему контенту своему нужно правильные задавать, чтоб не путаться.
Темы с аналогичным тегами 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 еще... |
|
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 скрытых