RaggaL 740 Опубликовано 21 мая, 2021 И снова я с вопросами. 1.Как сделать так,чтобы при входе в определенную локацию вывелся message box (С задержкой на несколько секунд), а при его закрытии стартовал квест? 2. Как сделать,чтобы посреди диалога вывелся черный экран, а потом снова начался диалог? Типа как с Джоаной или Блестящей. Их я изучал, но не нашел ничего. Поделиться сообщением Ссылка на сообщение
MagnuMspec 7 508 Опубликовано 21 мая, 2021 14 минут назад, RaggaL сказал: 2. Как сделать,чтобы посреди диалога вывелся черный экран, а потом снова начался диалог? Типа как с Джоаной или Блестящей. Их я изучал, но не нашел ничего. В черный экран: IMod FadeToBlackISFX Обратно, точно не знаю, но можно попробовать: RIMod MQ08AllBlackedOutISFX IMod FadeInFromBlack2sISFX 14 минут назад, RaggaL сказал: 1.Как сделать так,чтобы при входе в определенную локацию вывелся message box (С задержкой на несколько секунд), а при его закрытии стартовал квест? Разместить на локации триггер, можно в паре метров от входа, чтоб когда игрок сделает пару шагов вылезло. На триггере скрипт с showmessage сообщение, и следующей строкой setstage Квест стадия. Скажем: if getStage Quest < 10 showmessage Message setstage Quest 10 endif Само собой это надо обрамить в Begin OnTriggerEnter Player Можно сделать проверку DoOnce, но если стадия не вернется на раннюю, можно не делать. Поделиться сообщением Ссылка на сообщение
RaggaL 740 Опубликовано 29 мая, 2021 В 22.05.2021 в 00:14, MagnuMspec сказал: В черный экран: IMod FadeToBlackISFX Обратно, точно не знаю, но можно попробовать: IMod FadeInFromBlack2sISFX 1)Вот так работает, но я не могу сообразить, как сделать правильно. Вписал обе команды в result script одного топика, поднявшись,что экран сначала станет черным, а потом обратно. Но получилось такое, как на скриншоте. Экран светлеет после выбора реплики. То есть дополнительно нужно прерывать диалог, вешать черный экран, потом его снимать и начинать диалог снова. А как? Делать топик goodbye, а дальше? Нужен пакет AI? Спойлер Поясню, что это вообще такое и зачем нужно: ГГ говорит с неписем, не имеющим озвучки. ГГ задаст вопрос и будет должен получить ответ, но ввиду вышеуказанных причин это нужно оставить за кадром. То есть поле черного экрана, как бы выслушав ответ, ГГ ответит "ааа, понятно", а потом то,что на скриншоте. Я придумал так, но может, есть варианты получше? 2)Попытался воспользоваться моддерским ресурсом Gallows and Nooses , но там нет инструкции. Действовал по аналогии с крестом. Эдитом скопировал виселицу в свой плагин, разместил виселицу в мире. Рядом поставил непися и сделал ему Вот такой пакет AI: Спойлер Но он не хочет вешаться на виселицу, а торчит из нее. Также мне не понятно, как сделать из этой виселицы активатор, чтобы при использовании появлялся message box. Это надо размещать триггер, и к нему цеплять activator? Или можно как-то к самому объекту? 3) Как придать неписю имя, аналогичное имени ГГ? Поделиться сообщением Ссылка на сообщение
Вис691 664 Опубликовано 5 июня, 2021 По первым 2ум не подскажу, а вот с именем есть несколько вариантов. Сразу предупреждаю. что сам не тестировал. Получить имя любого рефа можно через LNGetName, т.е. имя игрока должно быть player.LNGetName. Дальше уже надо смотреть, что тебе нужно. Если варианты замены имени у рефа и у базового объекта. Для рефа вроде походит LNSetName, для базового объекта SetName и SetActorFullNameAlt. Если надо расписать подробнее - пиши. Поделиться сообщением Ссылка на сообщение
MagnuMspec 7 508 Опубликовано 6 июня, 2021 В 29.05.2021 в 12:36, RaggaL сказал: Поясню, что это вообще такое и зачем нужно: ГГ говорит с неписем, не имеющим озвучки. ГГ задаст вопрос и будет должен получить ответ, но ввиду вышеуказанных причин это нужно оставить за кадром. То есть поле черного экрана, как бы выслушав ответ, ГГ ответит "ааа, понятно", а потом то,что на скриншоте. Я придумал так, но может, есть варианты получше? У реплики есть отдельное поле для скрипта, стартующего при начале реплики. Что если вписать эффект туда? Ну или может быть не заморачиваться и оставить реплику как есть, без озвучки - так без озвучки. В 29.05.2021 в 12:36, RaggaL сказал: 2)Попытался воспользоваться моддерским ресурсом Gallows and Nooses , но там нет инструкции. Действовал по аналогии с крестом. Эдитом скопировал виселицу в свой плагин, разместил виселицу в мире. Рядом поставил непися и сделал ему Вот такой пакет AI: Думаю, виселица выступает не фурнитурой (как крест), а простым статиком. Т.е. чтобы повесить на ней непися, нужно взять мертвого непися, в гекк засунуть его голову в петлю и включить рэгдолл. Поделиться сообщением Ссылка на сообщение
RaggaL 740 Опубликовано 2 июля, 2021 Разучился совсем. Почему топик может быть не видно в игре? Спойлер Поделиться сообщением Ссылка на сообщение
Вис691 664 Опубликовано 2 июля, 2021 1 час назад, RaggaL сказал: Разучился совсем. Почему топик может быть не видно в игре? Если не ошибаюсь, наличие перка у НПС проверяется. Для ГГ вроде с Subject на Target поменять 1 1 Поделиться сообщением Ссылка на сообщение
Arnelios 9 Опубликовано 18 июля, 2021 Как изменить статы Неписям из модов? Например поднять ХП лоботомитам из Безумная Наука Поделиться сообщением Ссылка на сообщение
MagnuMspec 7 508 Опубликовано 18 июля, 2021 5 часов назад, Arnelios сказал: Как изменить статы Неписям из модов? Например поднять ХП лоботомитам из Безумная Наука в FNVEdit или в ГЕККе. Поделиться сообщением Ссылка на сообщение
Arnelios 9 Опубликовано 18 июля, 2021 1 час назад, MagnuMspec сказал: в FNVEdit или в ГЕККе. булувулблоп так это итак понятно, у меня FNVedit, я просто кучу туторов посмотрел, там нет конкретики. Поделиться сообщением Ссылка на сообщение
MagnuMspec 7 508 Опубликовано 18 июля, 2021 2 часа назад, Arnelios сказал: булувулблоп так это итак понятно, у меня FNVedit, я просто кучу туторов посмотрел, там нет конкретики. Вот тут посмотрите. Да и зачем конкретика. Важно принцип понять, а поля там называются интуитивно. Поделиться сообщением Ссылка на сообщение
RaggaL 740 Опубликовано 19 июля, 2021 13 часов назад, Arnelios сказал: булувулблоп так это итак понятно, у меня FNVedit, я просто кучу туторов посмотрел, там нет конкретики. Не понятно, что вам непонятно. Нужно найти этих самых лоботомитов в редакторе. Перейдите во вкладку Actors->NPC. Вверху слева у вас есть окошко для поиска. Я бы ввел что то вроде "lobotomite" или "madscience" для ускорения поисков. Либо можно точно узнать id лоботомита без поисков, как показано на картинке: Жмете details, потом type и ищете все под типом NPC. Запоминаете ID, в моем случае RGLstreetCrier, пишете его в поиск и редактируете. Спойлер Как именно редактировать- смотрите туторы по созданию неписей. Помнится, в модах "Безумная наука" и "Сертификат РобКо" лоботомиты не только дохли как мухи, но и не надевали выданную броню и игнорировали дальнобойное оружие.. А это уже влечет за собой правки пакетов AI...Наверное. Я дилетант. Поделиться сообщением Ссылка на сообщение
Arnelios 9 Опубликовано 19 июля, 2021 11 часов назад, MagnuMspec сказал: Вот тут посмотрите. Да и зачем конкретика. Важно принцип понять, а поля там называются интуитивно. Ну это если ты модер и хочешь эксперементировать, в моём случае хочу править конкретного НПС и ничего не сломать в процессе. Не думаю что я после этого найду ещё какую причину ковыряться в редакторах) Поделиться сообщением Ссылка на сообщение
Arnelios 9 Опубликовано 19 июля, 2021 1 час назад, RaggaL сказал: Как именно редактировать- смотрите туторы по созданию неписей. Помнится, в модах "Безумная наука" и "Сертификат РобКо" лоботомиты не только дохли как мухи, но и не надевали выданную броню и игнорировали дальнобойное оружие.. А это уже влечет за собой правки пакетов AI...Наверное. Я дилетант. Ну я тоже дилетант) Поделиться сообщением Ссылка на сообщение
RaggaL 740 Опубликовано 19 июля, 2021 2 часа назад, Arnelios сказал: Ну я тоже дилетант) Если создать свой отдельный плагин, зависимый от того, который требуется изменить, то можно не бояться ломать. Ну или ломать и переустанавливать мод. Поделиться сообщением Ссылка на сообщение
MagnuMspec 7 508 Опубликовано 19 июля, 2021 3 часа назад, Arnelios сказал: Ну это если ты модер и хочешь эксперементировать, в моём случае хочу править конкретного НПС и ничего не сломать в процессе. Не думаю что я после этого найду ещё какую причину ковыряться в редакторах) Ну и в чем сложность? Инструкции я дал, разобраться можно. А преподносить на блюдечке решение конкретной проблемы тому, кто открыто пишет, что не хочет разбираться, смысла не вижу. Моддинг развивается засчет посильного вклада всех участников. Поделиться сообщением Ссылка на сообщение
RaggaL 740 Опубликовано 19 июля, 2021 И снова я занимаюсь ерундой, вместо нормальных модов. На этот раз это уличный зазывала, как у Мика и Ральфа. Я хотел добиться,чтобы НПС выкрикивал 8 реплик. По порядку, а потом начинал сначала. НПС, озвучка, триггер,скрипт есть, но выкрикивается только первая реплика. Я сделал link to/link from, но похоже, этого недостаточно. Нужен какой-то скриптовый переключатель? Прилагаю скрины скрипта и топиков. Там, где синий прямоугольник- это я наивно полагал, что просто вписать все топики в скрипт по порядку будет достаточно. Спойлер Поделиться сообщением Ссылка на сообщение
Вис691 664 Опубликовано 20 июля, 2021 Не знаю, как работают Link From/To, поэтому я бы всю логику перенёс в скрипт. Завёл бы переменную-счётчик, которую увеличивал бы после каждой реплики, а после последней сбрасывал бы её в 0. Поделиться сообщением Ссылка на сообщение
NIGER_7777 2 Опубликовано 21 июля, 2021 Всем доброго времени суток. Может кто поможет. В GECKе создал реплейсер для Вероники (новая раса под андроида, меши дефолтные, замена текстур на свои), установил в игру, предварительно Fallout Mod Manager провёл инвалидацию и с помощью Wrye Bash FNV создал патч, в Wrye Bash FNV установил теги для мода Invent.Add, Invent.Remove, NPC.Eyes, NPC.FaceGen, NPC.Hair, NPC.Race. В игре мод стал нормально, но появился баг, при разговоре с Вероникой у неё нет анимации губ. Отключаю мод, анимация есть. Пробовал отключать теги по одному, как только отключил NPC.Race, анимация появилась, но голова стала с дефолтными текстурами. Что это может быть, и как исправить, чтобы мод стал рабочим на все 100%. Поделиться сообщением Ссылка на сообщение
vlad8599 31 Опубликовано 30 июля, 2021 Народ, я походу тупой, но вы можете объяснить мне, как работает система "апгрейда" схем для создания вещей в Ф3 и SFW, какие скрипты за это отвечают? Дело в том, что я, положив болт на все запреты автора мода(SImply Uncut для Вегаса) пытался адаптировать его под SFW - автор сделал дубликаты оружия из Ф3 и схем, и когда поднимаешь схему, то тебе добавляется не оригинальная заметка, а созданная автором мода. Из-за этого апгрейд схем не работает(т.е. улучшается качество создаваемых вещей) Я пытался удалить его заметки и схемы, но это ничего не дало. Что я сделал не так? Поделиться сообщением Ссылка на сообщение
RaggaL 740 Опубликовано 31 июля, 2021 В 20.07.2021 в 12:53, Вис691 сказал: Не знаю, как работают Link From/To, поэтому я бы всю логику перенёс в скрипт. Завёл бы переменную-счётчик, которую увеличивал бы после каждой реплики, а после последней сбрасывал бы её в 0. Я попробовал. Смотреть лучше с закрытыми глазами. Спойлер scn RGLstreetCrier2SCR short RGLvar begin OnTriggerEnter set RGLvar to 0 if RGLstreetCrier2REF.GetDead == 0 if RGLstreetCrier2REF.IsTalking == 0 if RGLstreetCrier2REF.IsInCombat == 0 if RGLvar == 0 endif RGLstreetCrier2REF.Say RGLstcr0 set RGLvar == 1 if RGLvar == 1 endif RGLstreetCrier2REF.Say RGLstcr1 set RGLvar == 2 if RGLvar == 2 RGLstreetCrier2REF.Say RGLstcr2 set RGLvar == 3 if RGLvar == 3 RGLstreetCrier2REF.Say RGLstcr3 set RGLvar == 4 if RGLvar == 4 RGLstreetCrier2REF.Say RGLstcr4 set RGLvar == 5 if RGLvar == 5 RGLstreetCrier2REF.Say RGLstcr5 set RGLvar == 6 if RGLvar == 6 RGLstreetCrier2REF.Say RGLstcr6 set RGLvar == 7 if RGLvar ==7 RGLstreetCrier2REF.Say RGLstcr7 set RGLvar == 0 endif endif end 1. Я ввел переменную RGLvar. Сразу не понятно, стоит ли ее делать BeginGamemode или BeginOnTrigger 2. Не хватает понимания синтаксиса (Ну, наверное я его имею ввиду) языка программирования. Я читал, как делаются блоки условий в pascal, но плохо понял. Как бы не городил блоки из служебных слов else/endif, скрипт не сохраняется. Наверное, тут даже решает смещение строк кода вправо, но тут мои знания все. Допустим, у нас соблюдены все условия. RGLstreetCrier2REF.Say RGLstcr0 ---Реплика произносится. set RGLvar == 1---Она произнесена и выполняется эта строка. if RGLvar == 1---Раз прошлая строка выполнилась, то должна выполниться следующая? endif---Служебное слово. RGLstreetCrier2REF.Say RGLstcr1---Должна произноситься следующая реплика. Ну, наверное. Хотя я не добавлял этой строке зависимости от моей переменной от RGLvar, потому что не знаю как. 3. Я не понимаю, по какому принципу нужно сдвигать строки кода вправо. Смотрел другие скрипты, там целые лесенки из них. А в некоторых нет. Как это называется? Поделиться сообщением Ссылка на сообщение
Вис691 664 Опубликовано 31 июля, 2021 1 час назад, RaggaL сказал: Смотреть лучше с закрытыми глазами. Так как я с закрытыми глазами помочь смогу?) 1 час назад, RaggaL сказал: 1. Я ввел переменную RGLvar. Сразу не понятно, стоит ли ее делать BeginGamemode или BeginOnTrigger Ну давай подумаем. Надо решить, когда будет срабатывать блок, правильно? Если у нас Gamemode, то этот блок будет срабатывать всегда, когда мы "в игре" (не в меню или ещё где-то). Получается, что переменная в каждый новый проход скрипта будет 0. Как-то нехорошо. Если у нас OnTrigger, то срабатывание будет происходить всегда, когда мы внутри триггера. Т.е. опять в каждый новый проход (пока мы внутри триггера) переменная будет обнуляться. Наверно, тоже не очень хорошо. Как же быть? А всё очень просто. По умолчанию, когда ты пишешь "short RGLvar" переменная принимает значение 0. И это происходит ровно один раз. После этого ты можешь менять переменную как хочешь, она в 0 автоматически не сбросится. Поэтому всё, что нужно - убрать "set RGLvar to 0". 1 час назад, RaggaL сказал: Я читал, как делаются блоки условий в pascal, но плохо понял. Как бы не городил блоки из служебных слов else/endif, скрипт не сохраняется. Ничего сложного нет. На каждый if ты в конце ставишь endif. Я думаю, если ты посчитаешь, сколько у тебя if-ов и endif-ов, то заметишь, почему скрипт не сохраняется. 1 час назад, RaggaL сказал: 3. Я не понимаю, по какому принципу нужно сдвигать строки кода вправо. Смотрел другие скрипты, там целые лесенки из них. А в некоторых нет. Как это называется? Это называется добросовестный автор или нет. Сдвиг строк вправо делается для повышения читаемости кода. На работу скрипта никак не влияет. Когда их двигать? Не знаю даже как это правильно объяснить. Вот есть у тебя смысловые блоки begin-end, if-endif, также бывают циклы различные. В общем, всё, где ты ставишь какое-то условие. Вот для того, чтобы было понятно, что выполняется, когда условие проходит, это сдвигают вправо. Например: if (условие1) команда1 команда2 else команда3 команда4 endif команда5 Если посмотреть, то сразу становится понятно, что команды 1 и 2 выполняются. если условие1 срабатывает. Команды 3 и 4 выполняются, если условие не срабатывает. И команда5 выполняется всегда, т.к. она идёт после if-endif. Если вдруг нужно больше уровней вложенности, то не проблема: if (условие1) if (условие2) команда1 endif команда2 endif Тут команда1 выполняется, только если и условие1, и условие2 выполняются. Команда2 выполняется только если условие1 выполняется, на условие2 ей всё равно, она вне этого блока. Кстати, обрати внимание, что if и endif на одном уровне визуально находятся, если правильно сдвиги делать. Это опять же позволяет проверить, а не забыл ли ты что-то. 1 час назад, RaggaL сказал: set RGLvar == 1 Тут не "==", а "to". "==" используется для сравнения, а "to" для присвоения нового значения. Я, кстати, только сейчас задумался о потенциальной проблеме. По-хорошему надо подождать. пока НПС закончит свою последнюю реплику. Хмм, возможно подход через скрипт не будет работать. А как устроены другие зазывалы? Поделиться сообщением Ссылка на сообщение
RaggaL 740 Опубликовано 31 июля, 2021 1 час назад, Вис691 сказал: Я, кстати, только сейчас задумался о потенциальной проблеме. По-хорошему надо подождать. пока НПС закончит свою последнюю реплику. Хмм, возможно подход через скрипт не будет работать. А как устроены другие зазывалы? У других зазывал один топик, внутри которого несколько реплик. И они все с галочкой random и запускаются триггером. Я вообще хотел склепать шуточный бесполезный мод за 10 минут. Не ожидал, что снова придется лезть в дебри. А ведь еще надо научиться подгонять озвучку по громкости к игре... Спасибо за разъяснения! Привел в нормальный вид, скрипт сохраняется. Но НПС по прежнему выкрикивает только первый топик. Спойлер scn RGLstreetCrier2SCR short RGLvar begin OnTriggerEnter if RGLstreetCrier2REF.GetDead == 0 if RGLstreetCrier2REF.IsTalking == 0 if RGLstreetCrier2REF.IsInCombat == 0 if RGLvar == 0 endif endif endif endif RGLstreetCrier2REF.Say RGLstcr0 set RGLvar to 1 if RGLvar == 1 endif RGLstreetCrier2REF.Say RGLstcr1 set RGLvar to 2 if RGLvar == 2 endif RGLstreetCrier2REF.Say RGLstcr2 set RGLvar to 3 if RGLvar == 3 endif RGLstreetCrier2REF.Say RGLstcr3 set RGLvar to 4 if RGLvar == 4 endif RGLstreetCrier2REF.Say RGLstcr4 set RGLvar to 5 if RGLvar == 5 endif RGLstreetCrier2REF.Say RGLstcr5 set RGLvar to 6 if RGLvar == 6 endif RGLstreetCrier2REF.Say RGLstcr6 set RGLvar to 7 if RGLvar == 7 endif RGLstreetCrier2REF.Say RGLstcr7 set RGLvar to 0 end Поделиться сообщением Ссылка на сообщение
Arnelios 9 Опубликовано 31 июля, 2021 Возможно ли лоботомитам из сертификата Robco и безумная наука дать абилку призраков из Dead Money? (ну чтоб вставали каждый раз, пока их на куски не порвут) Поделиться сообщением Ссылка на сообщение
vlad8599 31 Опубликовано 31 июля, 2021 1 час назад, Arnelios сказал: Возможно ли лоботомитам из сертификата Robco и безумная наука дать абилку призраков из Dead Money? (ну чтоб вставали каждый раз, пока их на куски не порвут) Я думаю, что возможно, но не уверен, как. Надо смотреть скрипты Dead Money, я уверен, что их абилка через скрипт реализована. Поделиться сообщением Ссылка на сообщение