Эта тема предназначена только для помощи, связанной с редактором G.E.C.K.. Все вопросы, касательно модмейкерского дела, прошу сюда - "Помощь по моддингу."
Если вместо ГЕККа запускается белый экран - это из-за ENBшного d3d9.dll в папке игры. Если после одного из обновлений винды при попытке редактирования лица перса или попытке открыть любое оружие стала выскакивать вот такая надпись Assert File: C:\projects\fallout3PC\BSShader\BSShaderManager.cpp(пути могут различаться) Line: 1996 После чего ГЕКК сворачивается. Вопрос решатся запуском ГЕКК через основную игровую видюху. Установленная по умолчанию в настройках интегрированная выдаёт такую ошибку.
Броня (предмет экипировки) состоит из 1. моделей (*.nif), 2. текстур (*.dds), 3. иногда ещё дополнительных файлов (например, для брони на голову нужны файлы подстройки под форму головы) - в этой части фолауты идентичны, то есть вынимаешь из архива мешей *.nif какой-нибудь легионерской брони, вынимаешь из архива текстур его *.dds, кладёшь в третий фол текстуры под своими именами, меш переименовываешь в файл модели какой-нибудь весенне-прогулочной одежды, и все весенние гуляки переодеты в легионеров. GECK тут вообще ни при чём, это просто перенос-подмена файлов.
Если ты хочешь добавить переносимую броню в третий фол, GECK потребуется - нужно будет создать мод, и в нём эталоны - базовые объекты брони (описание её параметров - вес, цена и т.д.) - а также куда-то в игровой мир поместить экзумпляры объектов (кому-то в инвентарь, торговцам в товары, просто разбросать по комнатам и т.д.). Поскольку в вегасе и третьем фоле у объектов брони разный набор параметров, полностью со всеми свойствами броню перенести невозможно - скажем, в третьем фоле просто нет такой вещи, как DT - свойства создаваемых объектов придётся допридумывать.
День добрый граждане. Такой вопрос: есть в игре винтовка "Виктория" и ее рукопашный аналог "Пожарный гидрант" с весьма интересным эффектом отбрасывания. Проблема в том что эффект винтовки завязан на игрока, а эффект оружия бегемотов на базовый объект. Можно ли сделать так, чтобы эффект действовал при использовании такого оружия любым произвольным персонажем.
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №2045
написано: 15 декабря 2013, 07:58
| Отредактировано: Joopeeter - 15 декабря 2013, 08:10
Можно ли сделать так, чтобы эффект действовал при использовании такого оружия любым произвольным персонажем.
Так бегемотья дубина, судя по скрипту, и действует при использовании любым персонажем. Собственно, бегемот - это "произвольный персонаж" и есть. Просто он, персонаж этот, свой гидрант больше никому не даёт. Если точнее, то этот гидрант Эскалибур сам никому другому в руки не даётся.
Joopeeter, а вот не прав ты Уважаемый. В скрипте указан объект ОТ которого будет отпихиваться цель. В случае с винтовкой это Player, а в случае с гидрантом это "базовый бегемот". Так что бегемот не совсем произвольный персонаж. Я где-то читал, что "Виктория" корректно работает только в руках ГГ ну еще через раз у напарников, ведь они как-то мутно используют ГГ как базовый объект. Скорее всего поэтому бегемот "свой гидрант больше никому не даёт"... Может быть поэтому бегемоты "обитают" поодиночке - чтобы гама не тупила с точкой отсчета при отталкивании... Попробуй шутки ради страви бегемотов между собой...
В скрипте указан объект ОТ которого будет отпихиваться цель.
Нет никаких препятствий для того, чтобы определить носителя уникального оружия заранее, и уже потом использовать его как "толкателя". Правда, для этого понадобится квест (в данном примере myQuest) и квестовый скрипт для хранения ref-переменной "толкателя" (в данном примере questRef).
Код
scn myQuestScrpt ref questRef
На оружие вешается скрипт, который определяет собственника оружия и отправляет эти сведения в квестовый скрипт на хранение:
Код
scn VictroryEffectWeaponScript ref myOwner begin onadd set myOwner to getcontainer if myOnwer.isactor set myQuest.questRef to myOwner endif end
И скрипт самой "Виктории" в новой редакции:
Код
scn VictoryRifleKnockdownScript ref myself ref myLastOwner Begin ScriptEffectStart set myLastOwner to myQuest.questRef set myself to GetSelf myLastOwner.pushactoraway myself 5 End
Я не проверял все это на НПС, но на игроке работает.
====================== Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294 Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №2048
написано: 15 декабря 2013, 13:53
| Отредактировано: Joopeeter - 15 декабря 2013, 14:10
Маленькое уточнение. Предмет должен быть именно добавлен во время игры. Если кто-то родился с гидрантом в кармане (или тот был сгенерирован врождённым левел-листом), то OnAdd не сработает.
Ребят, а как можно сделать так, чтобы допустим двери небыло, но я проходил через дверной проем и появлялся в другом месте?
Вырвать волосок из бороды,сказать-трах тибидох,загадать куда переместиться.Или как у Гоголя в "Заколдованном месте". Если бороды нет,посмотреть как реализовано это,в дополнении Зета.Там этого полно.
Где этот самый триггер взять? Я ищу, вижу только используемые
Триггер надо рисовать самому. Для этого грузишь в рендер нужную тебе локацию, приближаешь на экране то место, гда хочешь поставить триггер. Затем на панели инструментов жмешь кнопку с изображением куба с буквой Т внутри (это кнопка создания триггера)
После нажатия кнопки переводишь курсор мыши в окно рендера, нажимаешь ЛКМ и очерчиваешь курсором квадрат в том месте, где будет стоять триггер. Отпускаешь кнопку мыши и легонько двигаешь курсор вверх. Квадрат "вытянется в куб. Делаешь еще раз клик ЛКМ и выскочит сообщение с предложением выбрать активатор для этого нового триггера. Выбираешь там чек-бокс New и вписываешь в заголовок свой новый ID для нового активатора. Ну к примеру - пишешь MyTrigger.
После нажатия кнопки ОК увидишь, что у тебя в локации появился новый триггер. Чтоб изменить ему размеры - наводишь курсор на одну из цветных осей этого куба, чтобы курсор принял вид крестика в белой рамке (красная рамка на скриншоте - это моё ).
Двигая таким курсором в разных направлениях за разные оси можно придать триггеру нужный размер.
Чтоб целиком передвинуть весь куб триггера в нужное место - наводишь на него курсор, чтоб он принял вид обычного крестика и двигаешь куда нужно.
Чтобы привязать к этому триггеру свой скрипт - наводишь на него курсор, чтоб он принял вид обычного крестика и делаешь дабл-клик. Откроется окно этого триггера. В нем жмешь кнопку Edit Base (править базовый объект) и после этого откроется следующее окно. Окно твоего нового активатора MyTrigger. Жмешь там кнопку создания нового скрипта
Когда откроется редактор скриптов - пишешь в нем свой нужный скрипт. Сохраняешь его, закрываешь редактор скрипта. Закрываешь окно активатора. Закрываешь в рендере окно триггера. Снова открываешь в рендере свой триггер, открываешь активатор и в поле Script в выпадающем списке выбираешь свой только-что написанный скрипт. ОК.
begin OnTriggerEnter Player set wwMyLink to GetLinkedRef showmessage wwTravelMessage player.moveto wwMyLink end
Можно обойтись и без переменной ref, но тогда тебе нужно будет маркеру, к которому будет переноситься игрок давать своё уникальное реф-имя. И скрипт будет работать только с этим маркером. Захочешь сделать еще один подобный телепорт - придется для него писать отдельный скрипт и в нем указывать имя другого маркера. А в этом варианте, с реф-переменной, такой скрипт универсален и будет работать с любым маркером, прилинкованным (привязанным) к заскриптованному триггеру. Месседж тоже можно, в принципе, не создавать. Просто когда игрок молча и неожиданно переносится в другое место после входа в триггер - это выглядит как-то не очень Лучше при входе игрока в триггер вывести сообщение. Что-нибудь типа: - Вас подхватила неведомая херня сила и понесла в не менее неведомые дали.
Твои действия. Как заметил Юпитер - можно создать активатор и скрипт заранее, чтоб не открывать-закрывать окна настроек по десять раз Так же заранее нужно создать месседж, если решишь-таки его использовать. Для этого идешь в окне объектов (Object Window) в раздел Miscellaneous-Message и создаешь новое сообщение (клик ПКМ в правой половине окна, там где список всех месседжей и выбираешь в контексте строчку New). Даешь ему свой айди, которое будет прописано в скрипте. В моем примере это wwTravelMessage Пишешь там текст, который будет выведен при показе сообщения. Сохраняешь. Идешь в раздел Miscellaneous-Script Создаешь новый скрипт (точно также - клик ПКМ и строчка New). Пишешь в него то, что я привела в примере выше. Сохраняешь. Идешь в раздел World Objects - Activator и создаешь новый активатор. Даешь ему свое имя, ну к примеру - MyFirstActivator. В поле script там где стоит слово NONE нажимаешь на стрелочку и из выпавшего списка скриптов выбираешь свой созданный скрипт (wwTravelScript01 в моем примере).
Далее грузишь в окно рендера локацию, где будешь располагать триггер. Рисуешь в нужном месте новый триггер способом, расписанным выше. Но только после второго клика мышкой, когда выскочит предложение выбрать для этого триггера активатор - ты не отмечаешь там чек-бокс New, а выбираешь в поле ID из списка свой созданный активатор MyFirstActivator. Жмешь ОК. Триггер\активатор создан. Располагаешь его как тебе нужно. Далее тебе нужно разместить маркер, к которому будет переносится игрок после вхождения в триггер. Для начала делаешь двойной клик на своем триггере и когда откроется его окно - сдвигаешь это окно в сторону, чтобы в любой момент можно было к этому окну добраться. Потом грузишь в рендер ту локацию, куда будет перемещаться игрок. Идешь в раздел WorldObjects - Static и находишь там объект XMarkerHeading. Перетягиваешь его в рендер, в локацию. Размещаешь на том месте, где у тебя будет появляться игрок после телепортации. Стрелочка на маркере показывает в какую сторону будет обращено лицо игрока после "прихода" на маркер. Затем возвращаешься к открытому окну свойств своего триггера, переходишь там на вкладку Linked Ref и нажимаешь кнопку "Select Reference in Render Window" (выбрать референс в окне рендера) Курсор сменится на изображение прицела. Наводишь этот прицел на свой Х-маркер и клик ЛКМ. От маркера протянется желтая линия . Это значит, что маркер связан с каким-то объектом, в данном случае - с твоим триггером. Ну и все. Можно проверять в игре. Когда игрок войдет в дверной проем, который ты перегородил триггером - то выскочит сообщение "Ля-ля-ля" и после закрытия сообщения игрок перенесется в другое место, к маркеру. Если не нравится нажимать кнопку ОК в сообщении - то сделай так.
Ваше счастье, что я не ваше счастье
Изменение репутации для пользователя HICKLEY2013
HICKLEY2013Offline
Сообщение №2059
написано: 27 декабря 2013, 17:02
| Отредактировано: HICKLEY2013 - 27 декабря 2013, 17:02
Ребят,у меня проблема!Редактирую в Geck Экстерьер локации "Минное поле" добавляю несколько зданий.Захожу в игру,они есть,затем телепортируюсь в Мегатонну и обратно,все добавленные мною объекты Экстерьера исчезают,причем по моим наблюдениям дверей и НПС это не касается,они остаются!В чем может заключаться данная проблема??Проверял на абсолютно чистом фолле.Потом установил Fomm,Fose,и все равно таже хрень,менял ini-шники на оригинал,ноль эмоций!Подскажите пожалуйста как этот Баг исправить????Большей части модов эта хрень тоже касается!
Добавлено (28 Декабря 2013, 19:24) --------------------------------------------- Galko, Спасибо большое за помощь:)))Дело было в Экзешниках:)))))))
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №2064
написано: 28 декабря 2013, 15:40
| Отредактировано: Joopeeter - 28 декабря 2013, 15:51
Какой-то прямо день чудесный. У одного неписи исчезают, у другого неписи на месте, а исчезают дома... А они, извиняюсь за вопрос, точно исчезают? То есть подходишь к ним вплотную, трогаешь рукой, а их нету? А то, может, это при низких настройках прорисовки их просто издаля не видно? ЛОДов-то к ним нет, наверное. Далее. Если и вправду нету, что говорит нам консольная функция prid (PickReferenceByID - цапнуть ссылку по ID как если бы в неё ткнули мышью). Если посмотреть в редакторе Ref ID размещённого объекта, а в игре, когда он исчезнет, набрать в консоли
prid xxyyyyyy где хх - порядковый номер мода при загрузке в игру, уууууу - остальные цифры его Ref ID
что консоль показывает - циферки вверху экрана или надпись, что нет такой ссылки? Если проверяемая ссылка отмечена в редакторе как постоянная ссылка (Persistent Reference), то "подбирать" её можно откуда угодно, если не отмечена - то только когда она находится в загруженной области (в текущем интерьере или в радиусе 3 внешних ячейки вокруг игрока, ну или в буфере, но это уже нюансы). В общем, если встать на то место, где объект-беглец стоит в редакторе, то он точно попадёт в загруженную область, если спрятался где-то рядом (сквозь землю провалился, например).
Добавлено (28 Декабря 2013, 19:40) --------------------------------------------- Ага, уже не надо. Ну ладно.
Я и говорю - чудеса. Вроде... кхм, Фоллаут 3 в той версии, которую тут называть не принято, обычно работает как минимум так же стабильно, как и лиценцзия. А у некоторых (у меня вот, у кое-кого из посетителей форума фоллаутовской техподдержки), так даже ещё лучше.
Здравствуйте. Вот делал свой квест и наткнулся на проблему . Не могу найти скрипт, чтобы повесить его на нпс, которого если убиваешь, то квест выполняется. Не знаете, случайно такого скрипта?
Изменение репутации для пользователя Ipatow
IpatowOffline
Сообщение №2068
написано: 30 декабря 2013, 02:13
| Отредактировано: Ipatow - 30 декабря 2013, 02:25
скрипт, чтобы повесить его на нпс, которого если убиваешь, то квест выполняется
SCRIPTNAME FinishMyQuestOnDeath BEGIN OnDeath Player ; пациент убит главным героем SetStage MyQuest один-номер-стадии END BEGIN OnDeath ; пациент умер не от руки ГГ SetStage MyQuest другой-номер-стадии END
Допустим, один-номер-стадии при этом с флажком Complete Quest, а другой-номер-стадии с флажком Fail Quest: если непися убиваешь ты, то квест выполнен, а если не ты убиваешь, то квест провален... Раздача всем сестрам по серьгам (выдача опыта и/или других наград за квест) делается в скрипте соответствующей стадии квеста.
Ребят,подскажите пожалуйста,как сделать игрушку для собаки?Например из бейсбольного мяча,чтобы пес её находил и притаскивал,а мяч сделать под тип гранаты,чтобы его кидать можно было.А то собака унылая какаято:)