angel-deff Опубликовано 21 октября, 2022 Опубликовано 21 октября, 2022 Привет всем. Давно уже сделал мод который отключает одних нпс ставя вместо них копии. Вот скрипт на стадии квеста SetObjectiveDisplayed(10, 1) Alias_DBSideContract01NarfiAlias.GetReference().Enable() Alias_OriginalNarfiAlias.GetReference().Disable() DarkBrotherhood DBScript = DarkBrotherhoodQuest as DarkBrotherhood if DBScript.pNarfiAlreadyDead == 1 SetStage (20) ;DBScript.FirstKill +1 endif Он отключает оригинального Нарфи подставляя ложного. В алиасах тоже есть originalMarfiAlias. И там прописан Нарфи. Оригинальный. Но Настоящий не отключается. как итог 2 Нарфи. Где ошибка? Как его отключить на время квеста?
elrian2 Опубликовано 21 октября, 2022 Опубликовано 21 октября, 2022 21.10.2022 08:34:42, angel-deff сказал(-а): Привет всем. Давно уже сделал мод который отключает одних нпс ставя вместо них копии. Вот скрипт на стадии квеста SetObjectiveDisplayed(10, 1) Alias_DBSideContract01NarfiAlias.GetReference().Enable() Alias_OriginalNarfiAlias.GetReference().Disable() DarkBrotherhood DBScript = DarkBrotherhoodQuest as DarkBrotherhood if DBScript.pNarfiAlreadyDead == 1 SetStage (20) ;DBScript.FirstKill +1 endif Он отключает оригинального Нарфи подставляя ложного. В алиасах тоже есть originalMarfiAlias. И там прописан Нарфи. Оригинальный. Но Настоящий не отключается. как итог 2 Нарфи. Где ошибка? Как его отключить на время квеста? Alias_OriginalNarfiAlias.GetActorReference().disable() - попробуйте так
Azazellz Опубликовано 21 октября, 2022 Опубликовано 21 октября, 2022 Ну и прежде всего убедись, что алиас нормально заполнился.
angel-deff Опубликовано 21 октября, 2022 Опубликовано 21 октября, 2022 21.10.2022 12:01:34, elrian2 сказал(-а): Alias_OriginalNarfiAlias.GetActorReference().disable() - попробуйте так SetObjectiveDisplayed(10, 1) Alias_DBSideContract01NarfiAlias.GetReference().Enable() Alias_OriginalNarfiAlias.GetActorReference().disable() ; Âûêëþ÷àåì îðèãèíàëüíîãî Íàðôè не помогло. Увы. В алеасах на него ведёт спец-ссылка а не уникальный.
angel-deff Опубликовано 21 октября, 2022 Опубликовано 21 октября, 2022 21.10.2022 12:45:29, Azazellz сказал(-а): Ну и прежде всего убедись, что алиас нормально заполнился. Алиас я первым делом заполнил. Реф на Нирфи через win object все чекбоксы отключены. Скрин есть но как скинуть не знаю.
Meridiano Опубликовано 21 октября, 2022 Опубликовано 21 октября, 2022 21.10.2022 13:53:23, angel-deff сказал(-а):Алиас я первым делом заполнил. Реф на Нирфи через win object все чекбоксы отключены. Скрин есть но как скинуть не знаю.Проверять нужно в игре.Actor Narfi = NarfiAlias.GetReference() as Actor Debug.Trace("MyScript / Actor Narfi = " + Narfi as String) Narfi.Disable() ———————————— don't forget your falls ————————————
angel-deff Опубликовано 22 октября, 2022 Опубликовано 22 октября, 2022 21.10.2022 18:04:14, Meridiano сказал(-а):Проверять нужно в игре.Actor Narfi = NarfiAlias.GetReference() as Actor Debug.Trace("MyScript / Actor Narfi = " + Narfi as String) Narfi.Disable() Кину скрипт в стадию квеста и отпишусь
Azazellz Опубликовано 22 октября, 2022 Опубликовано 22 октября, 2022 Консольными командами тоже можно, вроде как. Но я уже не помню, какая команда выдавала принадлежность НПС к тому или иному алиасу. Посмотри на СК-вики, там был полный список команд.
angel-deff Опубликовано 22 октября, 2022 Опубликовано 22 октября, 2022 22.10.2022 06:48:15, Azazellz сказал(-а): Консольными командами тоже можно, вроде как. Но я уже не помню, какая команда выдавала принадлежность НПС к тому или иному алиасу. Посмотри на СК-вики, там был полный список команд. Scriptname Test_NarfiAlias extends actor Actor Narfi = NarfiAlias.GetReference() as Actor Debug.Trace("Test_NarfiAlias / Actor Narfi = " + Narfi as String) Narfi.Disable() А такой скрипт подойдёт? В смысле, он верно сделан?
angel-deff Опубликовано 24 октября, 2022 Опубликовано 24 октября, 2022 Всем спасибо. Проблему решил. По крайней мере Нарфи отключился. Тесты продолжу.
Dim8719 Опубликовано 24 октября, 2022 Опубликовано 24 октября, 2022 Друзья, доброго времени суток! подскажите как можно переделать мод с броней из версии SE в LE? заранее большое спасибо!)
Azazellz Опубликовано 25 октября, 2022 Опубликовано 25 октября, 2022 24.10.2022 19:13:08, Dim8719 сказал(-а): Друзья, доброго времени суток! подскажите как можно переделать мод с броней из версии SE в LE? заранее большое спасибо!) Модели той же программой, что и с LE в SE конвертирует. Они там все двусторонние. esp-файл - никак. Насколько мне известно, чтоб получить полностью совместимую версию надо пересоздавать всё вручную. В остальных случаях конвертации (СК, хЭдит) возможны ошибки, так как меняется только версия файла, но не структура.
Dim8719 Опубликовано 26 октября, 2022 Опубликовано 26 октября, 2022 25.10.2022 09:28:59, Azazellz сказал(-а): Модели той же программой, что и с LE в SE конвертирует. Они там все двусторонние. esp-файл - никак. Насколько мне известно, чтоб получить полностью совместимую версию надо пересоздавать всё вручную. В остальных случаях конвертации (СК, хЭдит) возможны ошибки, так как меняется только версия файла, но не структура. Подскажите пожалуйста! какие для этого есть программы? И мне нужно переделать сами модели, без есп файла...
Azazellz Опубликовано 26 октября, 2022 Опубликовано 26 октября, 2022 26.10.2022 09:56:50, Dim8719 сказал(-а): Подскажите пожалуйста! какие для этого есть программы? И мне нужно переделать сами модели, без есп файла... Гуглится же элементарно, в том числе на русском. Основных программ две - SSE Nif Optimizer и Cathedral Assets Optimizer.
angel-deff Опубликовано 27 октября, 2022 Опубликовано 27 октября, 2022 (изменено) Привет. Нужен скрипт который при касте заклинания отнимает 50% манны гг. Независимо от ее количества. В игре есть заклятие с подобным скриптом? Scriptname SGC_RemoveMagik extends spell Event OnEffectStart (Actor akTarget) PlayerRef.Target().DamageActorValue("Health") endEVENT Я вот написал этот. Естесственно заменю потом на magic Изменено 27 октября, 2022 пользователем angel-deff
Azazellz Опубликовано 27 октября, 2022 Опубликовано 27 октября, 2022 27.10.2022 12:07:38, angel-deff сказал(-а):В игре есть заклятие с подобным скриптом? Нет. Чтоб раздамажить на определенный процент - тебе надо его сначала вычислить. И там свои подводные камни могут быть с получением точного значения, с учетом всех модификаторов. Плюс есть значение текущее - и максимальное. Ну и это тебе в любом случае не помешает кастовать этот спелл при отсутствии маны.
angel-deff Опубликовано 30 октября, 2022 Опубликовано 30 октября, 2022 Где можно подглядеть скрипт, который включит активатор при получении определенного предмета или прохождении стадии квеста?
Azazellz Опубликовано 30 октября, 2022 Опубликовано 30 октября, 2022 30.10.2022 18:40:06, angel-deff сказал(-а): Где можно подглядеть скрипт, который включит активатор при получении определенного предмета или прохождении стадии квеста? Включение/отключение активатора ничем не отличается от включения/отключения НПС. Ты же вроде это делал, нет? Просто разные объекты указываешь как цель, и всё.
angel-deff Опубликовано 31 октября, 2022 Опубликовано 31 октября, 2022 30.10.2022 19:35:12, Azazellz сказал(-а): Включение/отключение активатора ничем не отличается от включения/отключения НПС. Ты же вроде это делал, нет? Просто разные объекты указываешь как цель, и всё. Делал, но там папирус в стадиях квеста. В моём моде квестов нет. Ну и к тому-же а если игрок прошёл квест? В этом случае мои изменения не сработают. и активатор будет отключен. А второй запускаться должен когда гг получает камень не через диалог..
Azazellz Опубликовано 31 октября, 2022 Опубликовано 31 октября, 2022 31.10.2022 03:08:55, angel-deff сказал(-а):В моём моде квестов нет. Ну так сделай. Можно скрытый квест, который этим всем и будет управлять. У Скайрима дофига механик, большинство работает как раз на квестах. Один из самых стабильных методов для переключения всякой всячины и хранения данных без риска их потери.
angel-deff Опубликовано 1 ноября, 2022 Опубликовано 1 ноября, 2022 31.10.2022 12:00:28, Azazellz сказал(-а): Ну так сделай. Можно скрытый квест, который этим всем и будет управлять. У Скайрима дофига механик, большинство работает как раз на квестах. Один из самых стабильных методов для переключения всякой всячины и хранения данных без риска их потери. Тоесть можно создать алиас, привязать на него активатор в условиах алиаса вписав нужный квест сюжета и в стадию вписать название алиаса.Activator Enable?
Azazellz Опубликовано 1 ноября, 2022 Опубликовано 1 ноября, 2022 01.11.2022 04:50:53, angel-deff сказал(-а): Тоесть можно создать алиас, привязать на него активатор в условиах алиаса вписав нужный квест сюжета и в стадию вписать название алиаса.Activator Enable? Эээ. Тут зависит от того, что тебе вообще надо сделать. Ну, например, проверить, на какой стадии квеста игрок находится, чтоб если он какую-то часть прошел, то активатор бы включился. Создаешь квест, который запускается один раз при старте игры, и который будет своими скриптами это делать. Алиас тут не обязателен, можно проверять сразу нужный квест и активировать объект непосредственно. А вот как к уже активному квесту прицепиться, да чтобы без изменения его скриптов - я как-то вот так сходу придумать не могу. Но можно и обходными путями - например, поставив триггер в важную квестовую локацию, который будет срабатывать в зависимости от того, на какой стадии отслеживаемого квеста игрок туда пришел. Т.е. если он, скажем, в Ветреный Пик пришел просто погулять, без квеста на табличку - маркер в последней комнате это проверит, и ничего не запустит. А вот если квест на табличку взят или уже пройден - то скрипт с маркера сработает и что-то сделает.
angel-deff Опубликовано 1 ноября, 2022 Опубликовано 1 ноября, 2022 If DB04.GetStage() == 40 Activator.Statue Enable EndIf Вот так? Похожий был в одном моде завернутый в ивент. Только там не активатор а другой квест
Azazellz Опубликовано 2 ноября, 2022 Опубликовано 2 ноября, 2022 01.11.2022 14:09:47, angel-deff сказал(-а): If DB04.GetStage() == 40 Activator.Statue Enable EndIf Вот так? Похожий был в одном моде завернутый в ивент. Только там не активатор а другой квест Типа того, да. Синтаксис команд я уже не помню, но сама идея правильная - проверить стадию квеста, и активировать что тебе надо. Разве что вместо == 40, я бы поставил >= 40. Т.е. если игрок уже ушел дальше по квесту, и находится на стадии больше 40-й, то штука все равно запустится. Плюс, возможно, надо дополнительное условие предусмотреть на то, что квест завершен. Но это не точно, так как я не помню, может ли скрипт получить стадию из уже закрытого квеста, или он там просто 0 выдаст.
angel-deff Опубликовано 2 ноября, 2022 Опубликовано 2 ноября, 2022 02.11.2022 12:57:50, Azazellz сказал(-а): Типа того, да. Синтаксис команд я уже не помню, но сама идея правильная - проверить стадию квеста, и активировать что тебе надо. Разве что вместо == 40, я бы поставил >= 40. Т.е. если игрок уже ушел дальше по квесту, и находится на стадии больше 40-й, то штука все равно запустится. Плюс, возможно, надо дополнительное условие предусмотреть на то, что квест завершен. Но это не точно, так как я не помню, может ли скрипт получить стадию из уже закрытого квеста, или он там просто 0 выдаст. Попробую. В моде где я спер идею скрипта он к алиасу привязан был. Попробую создать квест с алиасом без стадий.
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти