Эта тема предназначена только для помощи, связанной с редактором G.E.C.K.. Все вопросы, касательно модмейкерского дела, прошу сюда - "Помощь по моддингу."
Если вместо ГЕККа запускается белый экран - это из-за ENBшного d3d9.dll в папке игры. Если после одного из обновлений винды при попытке редактирования лица перса или попытке открыть любое оружие стала выскакивать вот такая надпись Assert File: C:\projects\fallout3PC\BSShader\BSShaderManager.cpp(пути могут различаться) Line: 1996 После чего ГЕКК сворачивается. Вопрос решатся запуском ГЕКК через основную игровую видюху. Установленная по умолчанию в настройках интегрированная выдаёт такую ошибку.
Текущая прочность - характеристика экземпляра предмета; статически меняется в GECK, динамически меняется FOSE-функцией SetCurrentHealth (также могут быть полезны стандартные функции SetWeaponHealthPerc и AddItemHealthPercent, а также FOSE-функция SetEquippedCurrentHealth).
В общем учусь пользоваться гекком , сделал минимод для теста а лаунчер фола его не увидел ,пробовал через fomm тоже не видит , расширение .eps , что делать?
Подскажите с перекрытием вносимых корректировок со стороны esp файлов: 1) Есть fallout.esm, например я делаю Лютика бессмертной, сохраняю в test.esp. Подключаю, загружаю. Она как была смертной, так и осталась. Странно, но никакого эффекта. В чем дело? (маленький нюанс: я её уже делал бессмертной через консоль, потом бессмертие снял, сохранился, вышел. Подключил мод esp с бессмертием, загрузился - эффект ноль. FO3Edit показывает, что в моем моде корректировка на бессмертие есть).Очень странно: добавил в своем моде ей в инвентарь абраксо - появилось, значит мод все же прогружается, а бессмертной её не делает. 2) Сходная ситуация: берется Лютик и в первом моде moda.esp корректируется установка бессмертия и только. В моде modb.esp (стоящим ниже по списку загрузки те загружающемся позже) с Лютиком производится другая корректировка, дополняются package, но галочка бессмертия не устанавливается. Каков будет результат? Я думал что корректировка идет по суммированию, но теперь вроде догадался, что только при merge patchе, либо по принципу 'после правка верна', те действует лишь последне-загруженная корректировка с игнорированием предыдущих. Как на самом деле?
3) Как в fo3editе например выбрать, чтобы в результирующий патч не выносились результаты последнего мода, как это происходит по дефаулту? Условно: есть 4-5 модов затрагивающих одни и те же FormId, но например мне надо чтобы часть правок в мерге-патч пошли только со второго мода, часть с третьего, часть с последнего.
В моде modb.esp (стоящим ниже по списку загрузки те загружающемся позже) с Лютиком производится другая корректировка, дополняются package, но галочка бессмертия не устанавливается. Каков будет результат?
Если патч включает в себя какой-то объект, то на конец загрузки этого патча этот объект стопроцентно в том виде, как его описал этот патч - и неважно, существовал ли этот объект до начала загрузки этого мода, пытались ли его переделать ранее загружавшиеся патчи. Всегда происходит полная замена объекта на последнюю по порядку загрузки версию.
Слитный патч имени FO3Edit (другие программы умеют делать подобное, каждая чуть иначе), не меняя этот механизм безусловой замены (поменять его невозможно), пытается интегрировать всё, что похоже на списки. То есть, скажем, был описан в Fallout3.esm ящик, и в нём лежали предметы A,B,C. Затем загрузили патч X.esp, который добавил туда предмет - то есть заменил этот ящик так, что содержимое стало A,B,C,D. Затем загрузили патч Y.esp, и ящик превратился в ящик с начинкой A,B,C,E. В каком порядке ни грузи X.esp и Y.esp - в ящике окажется 4 предмета (в комбинации того патча, что загружен последним). Но FO3Edit проанализирует все последовательные замены ящика, и положит в слитный патч вариант ящика с содержимым A,B,C,D,E - который, конечно, начисто заменит все предыдущие версии ящика, но выглядеть это будет словно патчи X и Y не заменяли ящик, а мирно добавляли в него объекты. Алилуйя? Слитный патч способен интегрировать только добавления (расширения списков/наборов)! Если бы патч X.esp не добавил к набору предметов в ящике предмет D, а заменил им предмет A (то есть убрал A, добавил D - превратил содержимое ящика в B,C,D) - после слияния патчей X и Y в ящике всё равно оказались бы A,B,C,D,E: попытки какой-то объект убрать интегратором игнорируются, в зачёт идут только добавления. Если элемент присутствовал в любой версии списка, он попадёт в слитный список.
Никак иначе алгоритм автоматического слияния работать не может. При попытке слить два патча, один из которых надевает на Лютика причёску с косичками, а другой делает Лютика бородатым мужиком - интегратор вообще не тронет Лютика, и результат будет определяться порядком загрузки патчей. Что бы ни получилось, это будет лучше, чем бородатый мужик с косичками!
Сколько-нибудь интеллектуальное объединение патчей может быть сделано только руками, и результат будет называться не "автоматический слитный патч", а "патч совместимости модов". Штука рациональная и популярная - но сделана может быть только человеком, за что такой человек обычно и получает большое спасибо.
Изменение репутации для пользователя Tipoksfall
TipoksfallOffline
Сообщение №1838
написано: 29 августа 2013, 22:02
| Отредактировано: Tipoksfall - 29 августа 2013, 22:06
Разъяснение с ящиками понял, это 'последняя правка верна' (отмена всех предыдущих корректировок). Вот тут как раз и маленькая проблема: беру уже не Лютика, обнаружил что fallout3.esm корректирует fall3.7esm (у меня основная сборка от ave-78), потом fall3.75.esp, а Динамита. Щелкаю на нем флажок essential, через fo3edit убедился что его больше никто не меняет, только fallout3.esm и мой test.esp (с essential). Загружаюсь, через консоль снимаю с него бессмертие, сохраняюсь, выхожу из игры, загружаюсь уже с подключенным мои модом где он должен становиться бессмертным. Проверяю через isessential, а он остается смертным, так как будто флажок из мода не действует. Abraxo подброшенное в инвентарь для контроля при этом у него появляется. Чтобы это могло быть? Проверял загружая только fallout3.esm и мой мод test.esp, тоже самое.
Щелкаю на нем флажок essential, через fo3edit убедился что его больше никто не меняет, только fallout3.esm и мой test.esp (с essential). Загружаюсь, через консоль снимаю с него бессмертие, сохраняюсь, выхожу из игры, загружаюсь уже с подключенным мои модом где он должен становиться бессмертным. Проверяю через isessential, а он остается смертным, так как будто флажок из мода не действует. Abraxo подброшенное в инвентарь для контроля при этом у него появляется. Чтобы это могло быть?
Я не знаю точно все детали этого механизма (их никто никогда не разглашал), но некоторые моменты известны. Во-первых, характеристики базового объекта полностью прописываются экземпляру объекта в момент его первого появления в игре (для Persistent объектов при входе в игру, для остальных при материализации объекта - т.е. когда главный герой подходит близко). В дальнейшем оригиналом объекта считается не тот вид, какой был в esm/esp, а тот вид, который записан в сейв-файл. Тот же самый флажок Essential у некоротых персонажей по ходу игры то появляется, то исчезает (скажем, паладин Варгас в момент драки с бегемотом у радиостанции бессмертен, но потом его запросто можно пристрелить) - если бы каждый раз значение этого флажка бралось из esp/esm, это было бы, мягко говоря, неудобно.
Во-вторых, в некоторые моменты (выразительно бросается в глаза периодический Reset соответствующей Encounter Zone) объекты явным порядком ходят к базовому объекту и "переинициализируются". Объект "случайный рейдер" на резете запросто меняет внешность, пол, экипировку - если убит и сказано респавниться, то ещё и оживает, но даже безо всяких респавнов всё равно заново рождается. При этом такая реинкарнация не совпадает с первым рождением, часть данных сохраняется от "прошлой жизни". Например, гнался за тобой тот же рейдер от школы Спрингвейла до Мегатонны - ну, неубиваемый такой рейдер - там ты от него оторвался, убежал и неделю бродил в районе башни Тенпенни. Возвращаешься в Мегатонну - рейдер всё ещё буянит; он уже сменил пол и вместо ружья у него кувалда, но телепортироваться в родную школу он и не подумал.
В-третьих, не все параметры объекта ложатся в сохранение. Тот же внешний вид (цвет глаз например) всегда берётся из базового объекта - а местоположение всегда берётся из сохранения.
Изменение репутации для пользователя Tipoksfall
TipoksfallOffline
Сообщение №1840
написано: 29 августа 2013, 23:37
| Отредактировано: Tipoksfall - 30 августа 2013, 00:59
Ясно, спасибо еще раз. А то я смотрю, что npc из мода с флагом ess они и в игре бессмертные, а навешанные на старых персонажев большого города не действуют. А оно оказывается в момент первого появления. И еще один последний (на сегодня) вопрос: взялся я все-таки big town overhaul допилить до годного состояния, но в любом деле лучше посоветоваться с теми, кто собаку съел, а не изобретать велосипед. Город значительно расширен, появились новые места. К старым обитателям подумал навешать новые travel packagи и возможно удалить старые, но учитывая, что действует лишь последняя правка, а так же то, что люди которые возможно будут использовать этот мод уже модифицировали в каких-то своих модах стандартных npc для этой местности, то править непосредственно в big town overhaule.esp их лучше не надо. А то ведь каким-нибудь другим модом внесенные packagи просто перезатрут и все. То что расширять и влазить в GREETING нельзя иначе будет баговать я тоже где-то читал, для новых реплик заводится свой новый скрытый квест в котором они и хранятся.
Единственный корректный вариант будет внести новые package и возможно удалить часть старых будет только через скрипт? Тогда ведь влияния в каком порядке и что загружаешь значения иметь не будет. А скрипт прикрутить именно к этому скрытому квесту. И еще: я вроде когда-то где-то читал такую фишку, что пока не будет воткнут микрофон в разъем, гекк при пытки редактирования строчек в квесте будет вылетать. Просто сейчас попробовал изменить текст и условия, два вылета подряд, а микрофона проверить под рукой нет.
Первый момент: вот потому-то наверное лучше и не править дефолтные персонажи. Второй момент понял. Третий момент: все понял, увы значит как задумал не получится.
Изменение репутации для пользователя Ipatow
IpatowOffline
Сообщение №1843
написано: 30 августа 2013, 03:00
| Отредактировано: Ipatow - 30 августа 2013, 03:09
команда AddScriptPackage она что добавляет скрипты не так, как если бы добавить в список package при редактировании через гекке? Получается только как замена текущего?
Эта команда добавляет сверхприоритетный пакет (ScriptPackage, а не просто Package) - он добавляется в начало списка пакетов данного actor, так что если его условия (он может иметь условия) выполняются, то этот пакет и будет работать. Но как только этот пакет завершается - немедленно, если не выполнены условия, или "естественным способом" - скажем, идущий к цели до цели дошёл, или перестало выполняться ограничение по времени - как только пакет так или иначе прекратил работу, он вычёркивается из списка пакетов, будто его и не добавляли.
Как можно портировать броню из Вегаса в Вашингтон?
Если оригинальную - только для личного использования или с нарушением авторских прав Bethesda. Если авторскую с разрешения автора (Bethesda тоже автор, но они запретили портировать) - то без ограничений.
Изменение репутации для пользователя Изгой_№1
Изгой_№1
Сообщение №1846
написано: 30 августа 2013, 03:13
| Отредактировано: Изгой_№1 - 30 августа 2013, 03:14
Для личного использование. Хочу портировать другу, его любимую броню в Вашингтон.
Изменение репутации для пользователя Ipatow
IpatowOffline
Сообщение №1847
написано: 30 августа 2013, 03:35
| Отредактировано: Ipatow - 30 августа 2013, 03:36
Как правило, под таким портированием имеется в виду - создать в Fallout 3 новую броню и придать ей внешний вид брони из FNV. То есть берём модели-текстуры (nif+dds) той брони что хотим (в свойствах брони указаны файлы модели - по минимуму надето(М)/надето(Ж)/валяется - и иконки для пипбоя, а также, возможно, текстуры для модели описаны как Texture Set; если модель не перетекстурирована текстурным набором, то имена текстур прописаны внутри nif) - если что-то из этого или всё упаковано в BSA, вынимаем. Копируем модели-текстуры в папки третьего фола, создаём новую броню, назначаем ей модели-текстуры точно так, как они были назначены вегасовской броньке. Всякие параметры создаваемой брони можно или из вегасосвкой переписать (все не перепишутся, сопротивление урону в первую очередь), или другие задать, это вторично.
Любому предмету, который может оказаться в инвентаре ГГ, назначена картинка, которая показывается в пип-бое при наведении курсора на этот предмет. Эта картинка и имеется в виду. Многие предметы используют одну и ту же картинку - скажем, большая часть раздела инвентаря "Мусор" обходится одной на всех картинкой - но если у броньки есть своя собственная иконка, почему бы не перетащить и её тоже?..
Дорогая Америка, я снова с sayTo и прочими безумствами на старости лет. Хочешь верь, дорогая Америка, хочешь нет, а не работают они у меня. Вот конкретная ситуация: игрок входит в триггер - и к нему обращается НПЦ. Вот так:
short doOnce
begin onTriggerEnter player
if ( doOnce == 0 ) npcREF.addScriptPackage <id пакета диалога> ;npcREF.sayTo player greeting 1 ;startConversation player <id конверсации> npcREF player set doOnce to 1 endif
end
Желтые строчки не работают (не потому, что здесь они закомментированы ).
Ошибок в триггере и прочем скорее всего нет, потому что с пакетом диалога (первая строка внутри условия) все работает (пакет использует greeting, тот самый, на который плюет sayTo).
Дорогая Америка, может, ты не поленишься и напишешь мне, как надо использовать в этой ситуации sayTo или startConversation?
Spalny_Vagon, спасибо за ответ. У startConversation я ставил npcREF.startConversation - тоже без эффекта. У sayTo я поставил флажок 1 - в описании он обозначен "форсед субтитры". Или наличие голосового файла (его у меня, конечно, нет) необходимо? Может, в этом и есть проблема?
Изменение репутации для пользователя Quazar
QuazarOffline
Сообщение №1856
написано: 2 сентября 2013, 04:14
| Отредактировано: QuazarX - 2 сентября 2013, 04:15
if ( doOnce == 0 ) npcREF.addScriptPackage <id пакета диалога> set doOnce to 1 endif end
begin gamemode
if ( doOnce == 1 ) npcREF.startconversation player, greeting set doOnce to ? ; 2-закрыть, 0- заново endif
end
а на счет озвучки это врятли, есть много квестовых модов в которых ее нет (" в поисках вечности" например), а неписи в них "здороваются" очень нормально.
Изменение репутации для пользователя tundruck73
tundruck73Offline
Сообщение №1857
написано: 2 сентября 2013, 04:32
| Отредактировано: tundruck73 - 2 сентября 2013, 04:33
А зачем вообще добавлять диалоговый пакет? Если на триггере npcREF.startconversation player greeting, этот самый npcREF прекрасно здоровается без всяких добавленных пакетов.
if ( doOnce == 0 ) npcRef.startConversation player greeting set doOnce to 1 endif
end
должен работать? Просто он у меня не работает...
QuazarX, с пакетом никакая стартКонверсатион и не нужна. Просто не хочется плодить пакеты - их и так немало: куча НПЦ, каждому и поспать в своей кроватке, и поесть, и делами позаниматься. Вот я и хотел, чтобы одну фразу-то он без пакета сказал бы.
refusepit, да, этот скрипт работает. В 99% случаев, насколько я могу судить по собственному опыту. Однако должен признаться, что пару раз было у меня все же такое, что не срабатывал. Чем эту неведомую засаду объяснить, я не знаю Может быть (это всего лишь гипотеза), стабильность срабатывания зависит от пакета, под управлением которого непись находится на момент срабатывания триггера?
tundruck73, он у меня был и под сандбоксом, и под гуардом, и под травелом до точки (чтобы дошел и встал, это охранник).
Я вот тоже иногда думаю на свой ГЕКК и Фолл. Фолл, естественно, у меня... ммм... альтернативно-лицензионный :), и, когда пишу в ГЕКК, в игре часто попадаю на необъяснимое (например, торговец открывает пустой контейнер для торговли, лечится удалением торговца и созданием его заново; НПЦ плюет на пакет сна, невзирая на время шедуллера, и отрабатывает сандбокс и проч.)... грустно!