mrlavoviy Опубликовано 18 июля, 2023 Опубликовано 18 июля, 2023 17.07.2023 20:50:21, Azazellz сказал(-а):Никак, насколько я помню этот вопрос. По крайней мере простыми путями такое не сделать. Что касается сложных путей, там вообще через костыли и не один час?
Azazellz Опубликовано 18 июля, 2023 Опубликовано 18 июля, 2023 18.07.2023 07:22:09, mrlavoviy сказал(-а): Что касается сложных путей, там вообще через костыли и не один час? Там надо куда-то глубоко в код забираться. Через SKSE и SkyUI, либо через самописные dll. В Complete Crafting Overhaul Remastered вроде такое сделано, но сам я его не проверял. 1
mrlavoviy Опубликовано 18 июля, 2023 Опубликовано 18 июля, 2023 18.07.2023 16:05:15, Azazellz сказал(-а): Там надо куда-то глубоко в код забираться. Через SKSE и SkyUI, либо через самописные dll. В Complete Crafting Overhaul Remastered вроде такое сделано, но сам я его не проверял Понял,огромное спасибо
Pyrrhula Опубликовано 19 июля, 2023 Опубликовано 19 июля, 2023 Добрый день, подскажите, как сделать анимацию движения губ нпс? А то он фразы произносит, но губы не двигаются
Eon_Tal Опубликовано 19 июля, 2023 Опубликовано 19 июля, 2023 (изменено) День добрый , может вопрос глупый но я не нашел на него ответа. Созданая мною оружейная стойка , работает как то не так. Оружие в левом держателе отображается значительно выше, чем необходимо , при том что правый работает как надо. Не могли ли вы подсказать как это исправить? P.S Я кажется понял , что это связано с тем под каким градусом установлен стенд, но это не точно. Изменено 19 июля, 2023 пользователем Eon_Tal
GOLDEN_KINDER Опубликовано 24 июля, 2023 Опубликовано 24 июля, 2023 Здравствуйте, в своем моде я обновил поведение Валерики из дополнения Dawnguard посредством создания нового квеста => Quest alias => Alias Package data => Мои аи пакеты на сон, еду, работу. Проблема в том, что Валерика выбирает нестандартные пути перемещения из точки А (например сад Волкихара) в точку Б (например главный зал замка). Вместо того, что бы напрямую перейти из локации А в локацию Б, она прыгает в колодец, потом выходит за пределы замка, идет по мосту и только потом заходит внутрь точки Б. Таких примеров можно привести несколько. Вопрос в следующем: Возможно ли создать АИ пакет, который будет запрещать Валерике посещать те или иные локации? Если такое возможно, то как должен выглядеть этот аи пакет? Какие в нем должны быть прописаны условия? Если такой вариант не возможен, возможно, Вы поделитесь идеей лучше/проще по решению данного вопроса?
GOLDEN_KINDER Опубликовано 24 июля, 2023 Опубликовано 24 июля, 2023 19.07.2023 08:57:58, Pyrrhula сказал(-а): Добрый день, подскажите, как сделать анимацию движения губ нпс? А то он фразы произносит, но губы не двигаются Вам нужно сгенерировать Lip файлы. Подробнее можно узнать по ссылке ниже. https://gamer-mods.ru/forum/94-2043-1
tokugava Опубликовано 24 июля, 2023 Опубликовано 24 июля, 2023 Доброго времени господа. Подскажите пожалуйста, как установить условие при исполнении которого, прибежит курьер через пару дней и принесёт письмо. Стоит задача, вызвать гонца с письмом ПОСЛЕ выполнения определённого квеста, через ПАРУ игровых дней. Может быть у кого то есть ссылка на урок по подобным событиям и как их устанавливать для курьера. Или может быть даже пример у кого то есть? Искал сам в КК. Хотел сделать на основе квеста ярла Фолкрита... когда 10 уровня достигаешь прибегает курьер... думал там найду условие... но нет, так и не нашёл где это условие прописывается. Буду очень признателен за помощь.
GOLDEN_KINDER Опубликовано 25 июля, 2023 Опубликовано 25 июля, 2023 (изменено) 24.07.2023 22:52:51, tokugava сказал(-а): Может быть у кого то есть ссылка на урок по подобным событиям и как их устанавливать для курьера. Или может быть даже пример у кого то есть? Есть множество вариаций по реализации данного вопроса. Вот один из них: В условиях квеста поставьте условие "GetStageDone", с указанием на нужный Вам квест Изменено 25 июля, 2023 пользователем GOLDEN_KINDER
tokugava Опубликовано 25 июля, 2023 Опубликовано 25 июля, 2023 (изменено) 25.07.2023 07:26:01, GOLDEN_KINDER сказал(-а): Есть множество вариаций по реализации данного вопроса. Вот один из них: 000 Я смотрел этот урок. С помощью него и сделал доставку письма. Но как ни искал, не могу найти событие (Event) отвечающее за стадию ванильного квеста. То есть: Event OnActivate(ObjectReference akActionRef) <<<< - Событие Активации не подходит. А событие со стадией квеста не могу найти. ....NoteAliasRef ForceRefTo... бла бла бла ....Приносит записку EndEvent Надеялся на что то типа: Event QuestDA14(SetStage == 200) ....(завершён) тогда несём письмо. EndEvent В событии как раз и весь вопрос. А вообще хотел поставить 2 события... проверка на завершённый ванильный квест и денёк игрового времени. Но не нашёл ни одно событие. Установка условия GetStageDone DA14 200 - не помогла. Курьер не приходит. Ждал 3 дня. Побегал. Курьера нет. =( Видимо что то не так. Установил условие на вкладке QuestStages... вот Может ошибся где? UPD РЕШЕНО Вобщем я сам дурак. Не выставил чекбокс "Start Game Enabled" Огромное вам спасибо за помощь! Изменено 25 июля, 2023 пользователем tokugava 1
Azazellz Опубликовано 25 июля, 2023 Опубликовано 25 июля, 2023 25.07.2023 08:06:23, tokugava сказал(-а):В событии как раз и весь вопрос. Тут всё веселье и начинается. Уже завершенный квест просто проверить - в OnInit (ну или в какое другое место, которое на самой первой загрузке будет один раз срабатывать) своего квеста для курьера ставишь проверку IsCompleted и уже после этого делаешь свой код на таймер и вызов курьера. Игрок завершил квест -- установил мод -- загрузился - триггер сработал, курьер пошел. А вот завершение ванильного квеста, без встраивание в его скрипты, проверить не так просто. Тут надо цепляться к другим системам, и уже через них проверять по всё тому же IsCompleted. Можно выбрать что-то типа OnSleepStop или OnFastTravelEnd. Эти ивенты не слишком часто случаются, поэтому проверки по производительности бить не будут. Лучше наверное первый выбирать, а то некоторые без фаст-тревела играют. Но можно и что-то свое придумать. Т.е. логика такая: игрок что-то делает -- идет проверка на завершение квеста (неудача) -- игрок завершает квест -- игрок что-то делает -- идет проверка на завершение квеста (успех) -- курьер пошел. Не забудь только отключить это всё, после того, как курьера отправишь.
GOLDEN_KINDER Опубликовано 25 июля, 2023 Опубликовано 25 июля, 2023 (изменено) К слову о курьерах. Сейчас тоже создаю своего: Спойлер function OnUpdate() if !GK_RavSha.IsInLocation(DLC1VampireCastleLocation) GK_MinerWorking03.enable(false) self.MoveWorker(GK_RavSha, GK_MinerWorking03) self.MoveWorker(GK_JAmsh, GK_MinerWorking03) endIf actor PlayerActor = game.GetPlayer() if PlayerActor.IsInLocation(DLC1VampireCastleGuildhallLocation) || PlayerActor.IsInLocation(DLC1VampireCastleLocation) self.RegisterForSingleUpdate(120.0000) return endIf GK_MinerWorking03.disable(false) self.MoveWorker(GK_RavSha, GK_Teleport) self.MoveWorker(GK_JAmsh, GK_Teleport) GK_RestoreShipyardMarker.disable(false) GK_ShipMarker.disable(false) self.GotoState("StateAuto") IsBusy = false GK_CourierNoteAlias.ForceRefTo(PlayerActor.PlaceAtMe(Note03)) (WICourier as WICourierScript).AddAliasToContainer(GK_CourierNoteAlias) endFunction В конце своего скрипта добавил строки с курьером. Курьер прибегает, отдает нужную мне записку. Все работает, за исключением одного НО При передаче курьером записки ГГ, нет уведомления о добавлении предмета в инвентарь (сам же предмет появляется в инвентаре). Сижу теперь думаю, с чем это связано и как это исправить. Может кто подскажет? Изменено 25 июля, 2023 пользователем GOLDEN_KINDER
Azazellz Опубликовано 25 июля, 2023 Опубликовано 25 июля, 2023 25.07.2023 10:59:17, GOLDEN_KINDER сказал(-а):Сижу теперь думаю, с чем это связано и как это исправить. Может кто подскажет? В команде AddItem есть настройки уведомления.
GOLDEN_KINDER Опубликовано 25 июля, 2023 Опубликовано 25 июля, 2023 25.07.2023 16:15:56, Azazellz сказал(-а): В команде AddItem есть настройки уведомления. Разве можно в данном случае использовать additem? Ведь у меня идет ссылка на алиес. (WICourier as WICourierScript).AddAliasToContainer(GK_CourierNoteAlias) (WICourier as WICourierScript).AddItemToContainer(GK_CourierNoteAlias)? (WICourier as WICourierScript).AddItem(GK_CourierNoteAlias)?
Azazellz Опубликовано 25 июля, 2023 Опубликовано 25 июля, 2023 25.07.2023 17:10:37, GOLDEN_KINDER сказал(-а):Разве можно в данном случае использовать additem? Ведь у меня идет ссылка на алиес. Вот чего не помню - того не помню. Но можно ведь и без алиса обойтись вполне, не обязательно всё через них делать.
tokugava Опубликовано 26 июля, 2023 Опубликовано 26 июля, 2023 (изменено) 25.07.2023 09:52:45, Azazellz сказал(-а): Тут всё веселье и начинается. Уже завершенный квест просто проверить - в OnInit (ну или в какое другое место, которое на самой первой загрузке будет один раз срабатывать) своего квеста для курьера ставишь проверку IsCompleted и уже после этого делаешь свой код на таймер и вызов курьера. Игрок завершил квест -- установил мод -- загрузился - триггер сработал, курьер пошел. А вот завершение ванильного квеста, без встраивание в его скрипты, проверить не так просто. Тут надо цепляться к другим системам, и уже через них проверять по всё тому же IsCompleted. Можно выбрать что-то типа OnSleepStop или OnFastTravelEnd. Эти ивенты не слишком часто случаются, поэтому проверки по производительности бить не будут. Лучше наверное первый выбирать, а то некоторые без фаст-тревела играют. Но можно и что-то свое придумать. Т.е. логика такая: игрок что-то делает -- идет проверка на завершение квеста (неудача) -- игрок завершает квест -- игрок что-то делает -- идет проверка на завершение квеста (успех) -- курьер пошел. Не забудь только отключить это всё, после того, как курьера отправишь. Всё проще делается. Просто в условия срабатывания своего квеста добавляется GetStageDone КВЕСТ СТАДИЯ(Завершающая). А так же выставляются чекбоксы Start Game Enabled и запускать квест один раз. И всё. Тогда ванильные квесты вообще не трогаются. Просто проверяем завершены они или нет уже в своём квесте. Просто. Удобно. Действенно. С таймером решил не связываться и так нормально получилось. Сейчас пытаюсь разобраться как делается разный интерьер дома. Типа по квесту сначала дом надо зачистить от врагов, там разруха, мусор и темнота, а потом чистый пустой дом. И мебель привязанная к иксмаркерам, то есть пока не скрафтиш не видно. Как я понял нужно пилить 2 одинаковых интерьера... один с мусором и тьмой с врагами, другой жилой дом. И как то настраивать двери наверное... что бы в первом случае телепортировали в один интерьер.. а после победы и прохождения квеста в другой. Вобщем думок ещё на сутки =) Изменено 26 июля, 2023 пользователем tokugava
GOLDEN_KINDER Опубликовано 26 июля, 2023 Опубликовано 26 июля, 2023 (изменено) 26.07.2023 03:18:22, tokugava сказал(-а): Сейчас пытаюсь разобраться как делается разный интерьер дома. Типа по квесту сначала дом надо зачистить от врагов, там разруха, мусор и темнота, а потом чистый пустой дом. И мебель привязанная к иксмаркерам, то есть пока не скрафтиш не видно. Как я понял нужно пилить 2 одинаковых интерьера... один с мусором и тьмой с врагами, другой жилой дом. И как то настраивать двери наверное... что бы в первом случае телепортировали в один интерьер.. а после победы и прохождения квеста в другой. Вобщем думок ещё на сутки =) Есть два варианта: 1) в интерьере размещаете объекты разрушения и привязываете их к Х маркеру. Потом в этом же интерьере, размещаете объекты для "чистого" дома и так же привязываете к тому же Х маркеру, но в окне референта ставите галочку Set enable state to opposite of parrent. Спойлер Создаете скрипт, в котором по тем или иным причинам вызывается процесс восстановления и пишете туда строчку YourObject.disable(false) (скрипт пихаете в активатор/квест/диалог и т.д. Все зависит от Ваших задумок и способа их реализации) 2) создаете две локации. Первая разрушенная, вторая восстановленная. Потом делаете ту же самую привязку, как в первом варианте, но только с дверьми. Этот способ удобен лишь для NavMesh. В разрушенной локации своя сетка путей, в восстановленной другая. В качестве примера можете зайти в Волкихар. Там есть два примера: 1) Сад Валерики (2 вариации живой и мертвый) 2) Проход во внутренний двор через разговор с Гараном Маретти (проход завален или расчищен) Изменено 26 июля, 2023 пользователем GOLDEN_KINDER
tokugava Опубликовано 26 июля, 2023 Опубликовано 26 июля, 2023 (изменено) 26.07.2023 05:04:11, GOLDEN_KINDER сказал(-а):ивой и мертвый) 26.07.2023 05:04:11, GOLDEN_KINDER сказал(-а): Есть два варианта: 1) в интерьере размещаете объекты разрушения и привязываете их к Х маркеру. Потом в этом же интерьере, размещаете объекты для "чистого" дома и так же привязываете к тому же Х маркеру, но в окне референта ставите галочку Set enable state to opposite of parrent. Создаете скрипт, в котором по тем или иным причинам вызывается процесс восстановления и пишете туда строчку YourObject.disable(false) (скрипт пихаете в активатор/квест/диалог и т.д. Все зависит от Ваших задумок и способа их реализации) 2) создаете две локации. Первая разрушенная, вторая восстановленная. Потом делаете ту же самую привязку, как в первом варианте, но только с дверьми. Этот способ удобен лишь для NavMesh. В разрушенной локации своя сетка путей, в восстановленной другая. В качестве примера можете зайти в Волкихар. Там есть два примера: 1) Сад Валерики (2 вариации живой и мертвый) 2) Проход во внутренний двор через разговор с Гараном Маретти (проход завален или расчищен) Слишком сложно для меня. YourObject - это алиас? Или что это? 2 вариант пробовал сделать поломал весь мод =) Переписываю заново. Хотел сделать по стадии своего квеста, что бы двери не было, до 20 стадии. В итоге квест перестал работать совсем. Снова переписываю и перекомпилирую. Может быть вы знаете какие нибудь видеоуроки или статьи по теме? Буду благодарен за ссылку. Изменено 26 июля, 2023 пользователем tokugava
GOLDEN_KINDER Опубликовано 26 июля, 2023 Опубликовано 26 июля, 2023 26.07.2023 16:11:01, tokugava сказал(-а): Слишком сложно для меня. YourObject - это алиас? Или что это? Это имя вашего objectreference property. Грубо говоря название вашего Хмаркера, к которому будет ссылаться скрипт. Вы можете различным способом активировать и деактивировать Хмаркер. Это может быть активация через диалоги, активаторы, квесты. Например через активатор это будет выглядеть примерно так: Спойлерobjectreference property GK_MinerWorking01 auto function OnActivate(ObjectReference akActionRef) actor ActivatorActor = akActionRef as actor if ActivatorActor == game.GetPlayer() Xmarker.disableNoWait(false) В диалоге так же СпойлерXmarker.disableNoWait(false)
tokugava Опубликовано 27 июля, 2023 Опубликовано 27 июля, 2023 (изменено) 26.07.2023 19:38:58, GOLDEN_KINDER сказал(-а): Это имя вашего objectreference property. Грубо говоря название вашего Хмаркера, к которому будет ссылаться скрипт. Вы можете различным способом активировать и деактивировать Хмаркер. Это может быть активация через диалоги, активаторы, квесты. Например через активатор это будет выглядеть примерно так: Спойлерobjectreference property GK_MinerWorking01 auto function OnActivate(ObjectReference akActionRef) actor ActivatorActor = akActionRef as actor if ActivatorActor == game.GetPlayer() Xmarker.disableNoWait(false) В диалоге так же СпойлерXmarker.disableNoWait(false) CK слишком пока сложный и пока что не очень понятный инструмент для меня, когда дело касается скриптов. Только в диалогах масса мест куда можно вписать скрипты и постоянно не понятно куда... Я реализовал отображение двери после стадии квеста куском папируса в диалогах на вкладке quest stages: SetObjectiveCompleted(10) Alias_SangXMarker001.GetRef().Enable() SetObjectiveDisplayed(20) Это "костыль" скорее всего... но он работал, а самое поганое что квест тупо перестал запускаться в какой то момент когда я создал 2 квест... Начало квеста срабатывает в 0 стадии с таким кодом (курьер с письмом при получании письма квест должен запускаться): ;Start the Quest alias_SangNote.ForceRefTo(Game.GetPlayer().PlaceAtMe(SangNote)) (WICourier as WICourierScript).addAliasToContainer(alias_SangNote) Курьер прибегает отдаёт письмо, но квест не запускается. Чекбокс Start up Stage конечно же выставлена на нулевой стадии, там же где код ;Start the quest При том что квест работал.. до того момента когда я попытался создать второй квест и использовал того же НПС с новым альясом в новом квесте. Альяс из первого квеста, я конечно же не трогал... Вобщем написание квестов тот ещё гемморой... от вылета СК из-за xml файлов DIalog View, до странных вещей... Например квест работал. Оттестировал с начала до конца. Создал второй квест. Первый перестал работать. Удалил полностью 2 квест. Со всеми зависимостями. Код первого квеста не трогал... но он просто перестал запускаться. Удивительно... UPD: Ск странная штука.... сутки прошли, запустил игру и квест заработал. Вообще СК не открывал. Изменено 28 июля, 2023 пользователем tokugava
Eon_Tal Опубликовано 29 июля, 2023 Опубликовано 29 июля, 2023 Приветствую, есть ли возможность востановить ванильную локацию если решил что внесенные измененния более не акткальны? Если есть то не могли ли бы Вы сказать как?
Eon_Tal Опубликовано 29 июля, 2023 Опубликовано 29 июля, 2023 (изменено) И еще один вопрос : как создать мегкий свет имитирующий солнечное освещение во всей локации без использования осветительных маркеров, а то ве что я создаю выглядит контрастно или мрачно. Я спользую наиболее , смоее точки зрения ,подходящий шаблон освещения WhindhelmInteriorTemplate02 , но я не знаю как сделать его более теплым. Изменено 29 июля, 2023 пользователем Eon_Tal
Azazellz Опубликовано 29 июля, 2023 Опубликовано 29 июля, 2023 29.07.2023 06:16:37, Eon_Tal сказал(-а):есть ли возможность востановить ванильную локацию если решил что внесенные измененния более не акткальны? xEdit это может, и довольно удобно. Находишь свою ячейку в списке изменений и просто удаляешь. По поводу СК не помню. 29.07.2023 06:38:00, Eon_Tal сказал(-а):еще один вопрос : как создать мегкий свет имитирующий солнечное освещение во всей локации без использования осветительных маркеров https://tesall.ru/tutorials/the-elder-scrolls-modding/modostroenie-skyrim/1186-svet-i-effekti
Eon_Tal Опубликовано 30 июля, 2023 Опубликовано 30 июля, 2023 Большое Вам спасибо , теперь могу смело двигатся дальше) 29.07.2023 14:27:49, Azazellz сказал(-а): xEdit это может, и довольно удобно. Находишь свою ячейку в списке изменений и просто удаляешь. По поводу СК не помню. https://tesall.ru/tutorials/the-elder-scrolls-modding/modostroenie-skyrim/1186-svet-i-effekti
Prostik1 Опубликовано 31 июля, 2023 Опубликовано 31 июля, 2023 У меня вопрос. Как добавить папирус-скрипт на дерево в CK, если его туда добавить нельзя. Есть альтернативы? (Я думаю, может, проблема в том, что она не активатор и нужно её сделать активатором).
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти