Эта тема предназначена только для помощи, связанной с редактором G.E.C.K.. Все вопросы, касательно модмейкерского дела, прошу сюда - "Помощь по моддингу."
Если вместо ГЕККа запускается белый экран - это из-за ENBшного d3d9.dll в папке игры. Если после одного из обновлений винды при попытке редактирования лица перса или попытке открыть любое оружие стала выскакивать вот такая надпись Assert File: C:\projects\fallout3PC\BSShader\BSShaderManager.cpp(пути могут различаться) Line: 1996 После чего ГЕКК сворачивается. Вопрос решатся запуском ГЕКК через основную игровую видюху. Установленная по умолчанию в настройках интегрированная выдаёт такую ошибку.
YikxX, Уже менял и ID скрипта, NPC, в настройках NPC отмечал разные галки. Вы правы скорее всего, я не могу отметить галку Persistent Reference у своего NPC в локации. Вот, например у Супермутанта из LVL листа, есть возможность отметить галку.
"Хочешь сделать что-нибудь хорошее, сделай это сам!"
Так надо сравнивать с какой-нибудь базовой неписью, а не с кричером из левел-листа. От настроек в базовом и зависят возможности ставить галки. А здесь в ADragNPC будто базовые настройки и мешают.
Цитата JIuKBuDaToR
в настройках NPC отмечал разные галки
Как вариант, создать своего бота на базе "рабочей" неписи, где галка ставится.
JIuKBuDaToROffline
Сообщение №2824
написано: 11 марта 2025, 17:06
| Отредактировано: JIuKBuDaToR - 11 марта 2025, 17:08
ApeX, Проблема решена! Компилирятор не компилировал скрипт из-за цифры в скрипте. Убрал цифру из рефссылки, из названия скрипта и все скомпилировалось!
ВЫВОД: Никогда не указывайте в названии скрипта и в реф-ссылках цифры!, только буквы!
"Хочешь сделать что-нибудь хорошее, сделай это сам!"
Проблема с созданием диалогов! Учусь, практикуюсь с диалогами. Создал приветствие GREETING для моего NPC - "ADragNPC". Игрок начинает разговор, НПС говорит: "Ты кто такой?.. Плати и уход" и Игрок должен ему ответить: "Хорошо, я согласен." Почему появляется стандартная дефолтная фраза "Мне пора идти" и как ее убрать?
"Хочешь сделать что-нибудь хорошее, сделай это сам!"
JIuKBuDaToROffline
Сообщение №2827
написано: 13 марта 2025, 10:57
| Отредактировано: JIuKBuDaToR - 13 марта 2025, 10:57
Ищу скриптера для создания/редактирования погодного мода для Fallout 3. Готов оплатить ваши труды! Сам изменить/доработать я не могу, слишком много кода, которого я не понимаю. Просьба писать в личные сообщения!
"Хочешь сделать что-нибудь хорошее, сделай это сам!"
igelschmigelOffline
Сообщение №2829
написано: 16 марта 2025, 15:33
| Отредактировано: igelschmigel - 16 марта 2025, 15:39
Здравствуй, моя прекрасная Америка! Это я, кто помнит.
Слушайте, очень похожая проблема, как у автора выше, только с GOODBYE.
Мне НЕ надо, чтобы в списке ответов был "стандартный" ответ-прощалка "мне пора идти".
Ну, иду на Conversation, добавляю GOODBYE, самое верхнее поле (Topic text) пустое, в промт пишу, что мне надо, в ответ НПЦ - тоже свое.
Запускаю игру - вылетает. Я сперва думал, что галку "топ-левел" надо убрать (ну, что это я ее нечаянно поставил, а ее не было), но глянул в Fallout3.esm - не, там "гудбай" именно топ-левел, в отличии от GREETING.
Оки. В Topic Text пишу стандартное "Мне пора идти", но в промт - свое. Не вылетает, но предлагает вариант "Мне пора идти". Дорогая Америка, пришла пора поговорить на действительно важную тему: что это за фигня?!
PS. Этот скриншот я сделал, чтобы показать. Условие GetIsId просто забыл добавить, при реальных пробах оно было, не сумлевайтесь!
написал скрипт, который запирает/отпирает дверь в его хижину, в зависимости от времени суток.
На всякий случай напоминаю о галочках отпирания и запирания дверей в настройках AI пакета.
Цитата YikxX
смущает затененная галка Persistent Reference он должна быть активной.
Неписи-люди не могут быть непостоянными ссылками, поэтому галка затенённая, неснимаемая. У кричеров галка активная, можно ставить и снимать.
Цитата JIuKBuDaToR
Почему появляется стандартная дефолтная фраза "Мне пора идти" и как ее убрать?
Дефолтные фразы находятся в дефолтных или точнее, Generic, квестах, имеющих условием наличие у актёра дефолтного голоса. Актёры с другими типами голоса не будут пользоваться дефолтными квестами и говорить дефолтные фразы дефолтными голосами. Но, емнип, просто убрать Voice type нельзя. Какой-нибудь, хоть пустой, Voice type должен быть создан и назначен, а то будут какие-то проблемы... быстрое проскакивание текста, вроде бы.
Ну, можно и через Choices, если не хочется совсем расставаться с дефолтными фразами типа "Ага, пока." и "Это не просто так заперто!"
AnotherJupiterOffline
Сообщение №2831
написано: 16 марта 2025, 19:29
| Отредактировано: AnotherJupiter - 16 марта 2025, 19:30
На всякий случай напоминаю о галочках отпирания и запирания дверей в настройках AI пакета.
Я пробовал эти галки. НПС тупит с этими галками. Работает некорректно функция. Например, с этой галкой нпс не может запереть дверь в свою хижину из своей хижины. Запереть можно только скриптом, а я как раз скриптом и запираю/отпираю дверь в хижину в 22 вечера/7 утра
"Хочешь сделать что-нибудь хорошее, сделай это сам!"
JIuKBuDaToROffline
Сообщение №2833
написано: 16 марта 2025, 21:29
| Отредактировано: JIuKBuDaToR - 16 марта 2025, 21:33
В том и дело, что этот вариант не подходит. Нечего удалять было, у меня было указано только две реплики, мои которые я сделал. Нужно было сразу мне через Choises добавлять реплики, чтобы не было "мне пора" дефолтного, иначе если добавить реплики через AddTopic, реплики дефолтные остаются.
"Хочешь сделать что-нибудь хорошее, сделай это сам!"
JIuKBuDaToROffline
Сообщение №2834
написано: 16 марта 2025, 21:53
| Отредактировано: JIuKBuDaToR - 16 марта 2025, 22:01
Здравствуйте. С созданием модов я знаком посредственно, а точнее вообще не знаком. Проблема вот в чём - я создал очки (в игре они называются - очки-хамелеоны) и прикрепил им свойства +75 к красноречию и бартеру - всё работает, но вот отображаются они на персонаже мягко говоря некорректно, помогите это исправить. Заранее благодарен.
с этой галкой нпс не может запереть дверь в свою хижину из своей хижины
Как минимум в Мегатонне все неписи свои двери так и запирают, в том числе те, которые вообще не выходят из дому. Мойра Браун, например. Ну, скрипт так скрипт, как хочешь, я просто напомнил, а то про эти галки часто забывают.
Цитата JIuKBuDaToR
у меня было указано только две реплики, мои которые я сделал
А в Generic квесте - другие. Раз появляются реплики и оттуда, и оттуда, значит, оба квеста подходят по условиям. Я про условия квеста. Которые на первой вкладке квеста. Но вроде да, для специального редко используемого прощания подходит простой топик с галкой Goodbye через Choices. Можно и обычное, многоразовое прощание организовать через Choices, но тогда, если правильно помню, придётся эти Choices совать во все ветки диалога, ни разу не возвращаясь в корень, в котором появится Generic-прощание, что весьма неудобно в мало-мальски длинном разговоре.
Вроде, для всех прощаний обычно все используют топик GOODBYE просто с разными дополнительными условиями в ответах.
Цитата JIuKBuDaToR
Некорретно у меня работает скрипт.
Это всё в гейммоде делается, а не в менюмоде.
igelschmigelOffline
Сообщение №2838
написано: 17 марта 2025, 20:40
| Отредактировано: igelschmigel - 17 марта 2025, 20:48
Да, спасибо, Юпитер. Сделал гритингсу в чойс все ответы, а goodbye вообще удалил, хотя и жаль: такая система (гритингсу в чойс ответы) убивает идею топ-левел-топиков, теперь всю структуру диалога нужно воспроизводить ручками...
А насчет уникального голоса - то есть, можно дать НПЦ голос Аматы, например (у нее в войс-типе не стоит галка "разрешен в диалогах") - и он перестанет махать хвостом при каждой встрече и радоваться, что "еще один клиент доволен"? Было бы круто!..
ЗЫ. Просто у меня таинственная и крутая торговка из... еще не решил, откуда, признаться... Пойт-Локаут? Бостон? в общем, не решил; так вот, ей совсем не пристало кричать "о, привееет!", а уж слышать от девушки "еще один довольный клиент" - сразу начинаешь сомневаться в ее профессии...
А в тройке нельзя разве через экстендер менять голоса на лету - просто 1/2/... - как в этом моде для четверки? Пусть там и Папирус, но движок в основе почти один.
А насчет уникального голоса - то есть, можно дать НПЦ голос Аматы, например (у нее в войс-типе не стоит галка "разрешен в диалогах")
Не помню, как эта галка работает. Обычно я просто создавал новый Voice type, назначал его NPC - и тот сразу отвязывался от всех имеющихся Generic диалогов. Ну, писал ему новые неозвученные привет-пока в своём квесте. Если прорабатывать хорошенько, то надо и прочие стандартные топики прописать: бой, кражу и тому подобное на других вкладках квеста. Вся озвучка, естественно, пропадает, зато можно строить диалоги как обычно, используя Choices только где они действительно нужны.
Вроде, для всех прощаний обычно все используют топик GOODBYE просто с разными дополнительными условиями в ответах.
С другой стороны, вроде бы, тогда ответы на "Мне пора" будут рандомно выхватываться из разных подходящих по условиям квестов с поправкой на приоритет (или без поправки? всё забыл нафиг ), так что иногда NPC будет говорить стандартную фразу, а иногда новую.
Вот карта, на ней рейдеры из левел-листа. Мы их стреляем, они через какое-то время возрождаются. То есть, как я понимаю, смерть наступает для конкретного референса, а не размещенного на карте "левел-листный-нпц", так? Ну, просто рейдер же появляется не мертвым, хотя и был убит?
А если мы этому рейдеру (референсу) сделаем kill + disable + markForDelete (ну, инопланетяне его похитили, kill здесь не обязателен, я его ставлю для подстраховки, чтобы рейдер возродился) - так вот, этим я не отключу на фиг самого "базового" левел-листного НПЦ на карте - и рейдера здесь больше никогда не будет? Чо-то мне кажется, что у меня рейдеров поубавилось... :(
Итак, коротко: disable + markForDelete в игре конкретному рейдеру - не отключит ли сам источник его возрождения?
UPD. Похоже, именно что отключает - реально рейдеры поисчезали. Тогда вопрос, скорее, такой: есть мысли, как сделать исчезновение НПЦ (визуальное)?
AnotherJupiterOffline
Сообщение №2844
написано: 5 апреля 2025, 16:00
| Отредактировано: AnotherJupiter - 5 апреля 2025, 16:19
Емнип, даже просто Disable актёра нарушает нормальный респаун, то есть ты его через 3 дня обратно Enable, а он всё ещё тот же и мёртвый, если к моменту исчезновения был мёртв, кажется, так. MarkForDelete, естественно, стирает реф-копию уровневого рейдера напрочь и там просто нечему становится возрождаться.
Не совсем понятно, что за исчезновение имеется ввиду. В смысле обратимое, неокончательное исчезновение, но с респауном? Ну, можно попробовать задвинуть подальше (но в том месте должен быть разрешён респаун) с помощью MoveTo или MoveToCell. Предварительно отключить мозги SetActorsAI, SetRestrained или SetUnconscious, чтобы не прибежал назад своим ходом, то есть чтобы пакет поведения не привёл его на нормальное место. Правда, требуются исследования, как взаимодействует респаун с тремя последними функциями, не пробудится ли возродившийся актёр к активной жизни.
Смотри, у ГГ есть бластер Чужих, попадание из которого "похищает" НПЦ. Т.е. идет бой с рейдерами, ты думаешь: о, а вот этого мы не убьем, а похитим. Достаешь бластер-шмластер, трах-бабах - и рейдер, померцав, как в DLC Анкоридж, исчезает визуально. При этом я не хочу, чтобы он больше никогда не появился, напротив, хорошо бы, если бы игра считала его просто убитым (например) - пусть возрождается через 3 дня, мы его снова похитим (похищение просто увеличивает счетчик - типа, арена из плохишей, счетчик показывает, сколько гладиаторов у нас есть: похитил ты рейдера, значит, на арене 1 бойцом больше стало).
Сейчас (поняв, что дизаблить его нельзя) я сделал это тупо: он просто взрывается (bloody mess), а игроку предлагается напрячь фантазию, что это он исчез, а не взорвался, а кишки вокруг - ну, это, типа, лишние детали при исчезновении отвалились.
Поскольку локация с таким рейдером может быть любая, задвигать его некуда (точнее, неизвестно, куда). Особенно, если, как ты сказал, он там и возродится.
Не, ну, учитывая, что Фолл-3 остался в памяти динозавров, игрок у мода один - я, пусть взрываются, чего уж...
AnotherJupiterOffline
Сообщение №2846
написано: 6 апреля 2025, 01:29
| Отредактировано: AnotherJupiter - 6 апреля 2025, 01:36
Не факт, что актёр возродится именно там, куда его перенесли. Ведь возрождаются же на прежнем месте актёры, убежавшие куда-то своими ногами. Не факт даже, что к нему будет применяться Encounter zone того места, куда он перемещён. Может, и разрешённый респаун в том месте не обязателен.
По поводу визуального исчезновения также можно применить SetActorAlpha 0. Но это вот именно что только визуальное. Наощупь актёр будет доступен: можно поговорить, ударить, обокрасть и т.п. Так что всё равно потом переместить куда-то и там либо грохнуть насмерть, либо отключить мозги. Либо поместить в место без дверей, но актёры, когда им куда-то надо, бывает, пролазят там, где вроде бы не должны. По крайней мере через отсутствующий навмеш проходят запросто, насчёт отсутствующих дверей не знаю. Кстати, актёр под действием SetActorsAI 0 неощутим наощупь (но глазами виден) и, кажется, с радара его метка тоже исчезает, но насчёт метки не уверен.
Загвоздка ещё в том, что не все уровневые актёры являются постоянными ссылками, поэтому как-то скриптово ими манипулировать затруднительно, только через скрипты эффектов, которые ещё фиг знает как сработают, если игрок далеко, так как все уровневые актёры ещё и No low level processing. Либо записывать его в какую-то реф-ссылку, которую хранить в другом месте и оттуда отслеживать и что-то с ней делать. Громоздко, ненадёжно. Возможно, надо не мудрить, а просто перемещать актёра очень далеко, но с доступом к миру (то есть для всяких отдельных миров типа Пойнт Лукаутов нужны свои "очень далеко"), и пусть плинтухает оттуда пешком. Не дойдёт, с полпути отреспаунится на старом месте - хорошо. Не отреспаунится - и фиг с ним, придёт потом своим ходом.
Мерцание, наверное, надо искать в шейдерах. Это тоже такие объекты, есть раздел в ГЭККе. Ну и в любом случае можно просто поглядеть, как сделано это мерцание в Анкоридже, или где оно там...
igelschmigelOffline
Сообщение №2847
написано: 6 апреля 2025, 09:00
| Отредактировано: igelschmigel - 6 апреля 2025, 09:06
Слууушай, так это же и есть то, что мне надо, похоже! Я про этот метод просто не знал, про Альфу-то!
У меня сделано так: на бластере эффект, попал в актора - он замер (setActorsAI 0), померцал, умер (killActor) и взорвался, потому что ничего другого я не придумал. А теперь вместо взорвался он будет setActorAlpha!
А после респавна он прозрачным не останется? А то будут у меня невидимые рейдеры бродить по локациям...
Да кто ж его знает, останется он или нет. Поди разбери, относится ли эта альфа к свойствам "конкретного воплощения" как инвентарь или к свойствам "всей ссылки" как состояние Enable/Disable... Пока не попробуешь не узнаешь.
igelschmigelOffline
Сообщение №2849
написано: 7 апреля 2025, 13:19
| Отредактировано: igelschmigel - 7 апреля 2025, 13:23
Новый вопрос, дорогая Америка, никак не связанный со всем предыдущим, да и не сюда его надо, но люди-то только здесь...
Что означает "одежда для Type3"?
Я вот о чем: если мы даже сделали, допустим, бикини (свят-свят), то оно ведь заменяет тело, а не буквально надевается на него, так? То есть, какое там было тело до надевания одежды вообще не важно - одежда "сделает" новое тело, так ведь? Так что такое "одежда ДЛЯ Тайп3"-то, почему "для"?
ЗЫ. Может, это как-то связано со skeleton.nif? Я вообще не знаю, для чего он, почему он есть, когда у нас femaleupperbody.nif содержит всё, кроме головы (и, вроде, всякие кости тоже, хотя в 3D я вообще не шарю).
В основном из-за развертки текстур. У Т3/4/6 они совпадают между собой, можно иметь любой из них, необязательно Т3. Но от ванили отличаются, при несовпадении будет, например, пятка на животе.
Цитата igelschmigel
оно ведь заменяет тело, а не буквально надевается на него, так?
Не всегда. Иногда это просто кусок брони без наличия тела в модели, подогнанный под тело реплейсера. То есть этот кусок в 3д-редакторе заскинен на тело, но само тело не экспортировано в меш, только броня и соответствующие кости от тела.
Цитата igelschmigel
skeleton.nif
Это основные кости, к которым привязано само тело upperbody, а с ним и анимация персонажа. Это как в реальном теле примерно.