через терминал выполнять простые команды: выйти из камеры - зайти в камеру
Дверь в камеру робот сам будет открывать или игрок? Вообще-то в Фол3 есть много готовых роботов, выходящих из камер, модулей, убежищ Пуловски и т.д. по команде с терминала. Можно посмотреть, как там сделано. Общий упрощенный принцип таков: у робота есть АИ-пакет типа Patrol, у которого в условиях (Condition) указано, когда этот пакет должен сработать, например при определенной стадии некоего квеста или при определенном значении некоей глобальной переменной. А результ-скрипт терминала как раз и устанавливает либо стадию квеста, либо переменную в нужное значение. Активировал в игре терминал, выбрал в меню команду для робота - у того сработал АИ-пакет и робот отправился в путь к своему маркеру. Для твоих целей маркеров потребуется два - один снаружи камеры, для АИ-пакета выхода, и второй маркер - для АИ-пакета возвращения в камеру. Пакетов, как ты понял, тоже нужно два, с разными условиями срабатывания. Чтобы терминал "опознал" своего робота - этот робот, его реф-копия в локации, должен либо иметь собственное реф-имя, чтобы его можно было прописать в скрипте терминала, либо терминал должен быть связан реф-ссылкой с роботом, а в результ-скрипте должна быть команда, назначающая связанный объект исполнителем команды.
Там так и сделано, как в доме игрока в Мегатонне: заранее расставлены различные предметы и они привязаны к "родительскому" маркеру. На входной двери в "Серебрянную лихорадку" висит скрипт, который в зависимости от состояния квестовой переменной выключает этот маркер. Заодно исчезают привязанные к маркеру предметы, меняя тем самым обстановку в баре.
почему способ Copy\Paste Over у меня не работает..
Poshlentiy, проблема в привязке к костям скелета. У человека свой скелет, у гуля-существа - свой. И модель одежды гуля привязана пространственно к костям своего гуль-скелета. Если ее перенести в модель одежды человека - там другой скелет и перенесенная часть одежды гуля будет "искать" прописанные в ней кости. Часть костей имеют одинаковые названия, что у людей, что у гулей и к этим узлам одежда "встанет" (не факт, что встанет прямо - в пространстве вроде бы одни и те же кости человека и кости гуля все-таки могут располагаться на разных расстояниях). Ну а те части одежды, которые привязаны к несуществующим в скелете человека костям - те будут пытаться найти их где-нибудь далеко, за горизонтом. Поэтому и получается такой дикообраз. В нифскоп это не решить, нужно, как было сказано - делать скиннинг в максе.
Ой, всё...
Изменение репутации для пользователя КсюXa
КсюXaOffline
Сообщение №875
| Тема: ВОПРОСЫ по моддингу
написано: 3 октября 2018, 15:35
| Отредактировано: КсюXa - 3 октября 2018, 15:42
И как сделать, чтобы дверь в здании открывалась(как вариант с замком различной сложности)?
А это у реф-копии двери, ну у той, что размещена в локации, нужно открыть окно свойств, перейти на вкладку Lock и в выпадающем меню на этой вкладке выбрать требуемый уровень сложности открывания.
Ой, всё...
Изменение репутации для пользователя КсюXa
КсюXaOffline
Сообщение №877
| Тема: Помощь по G.E.C.K.
написано: 2 ноября 2018, 13:23
| Отредактировано: КсюXa - 2 ноября 2018, 13:48
Можно ли как то открыть эту изменённую феншуем локу в Гекк?
1. ГЕКК может открыть только то, что записано непосредственно в плагине (в файле esp или esm). Всё, что игрок натворил в игре (пройденные квесты, убитые неписи, вскрытые сундуки, расставленные стулья и т.д.) - это записывается в файл сохранения. ГЕКК не работает с сохраненкой. Так что ответ - открыть в ГЕКК не можно, это категорически.
Можно ли сделать так, чтобы торговец мог продать предмет, лежащий рядом с ним (скажем, на прилавке)?В Скайриме этот вопрос решается установкой принадлежности к фракции торговца. Тут установка торговца в качестве владельца не помогает.
А вот это странно. Если предмет находится рядом с торговцем и тем более - отмечен, как принадлежащий этому самому торговцу, то он (торговец) просто обязан продавать этот предмет. Возможно, предмет принадлежит к категории вещей, которые торговец не может продавать. Это надо заглянуть в настройки торговца, на вкладку AI Data и посмотреть, какие "сервисы" у него отмечены галочкой, то есть - какие категории товаров он может продавать. Вроде как-то так...
Для особо "трудных" игроков можно через диалог Гнуса внести подсказку, типа: разбросай, старче, коробочки по одной там-сям - муравьишки приползут и "зохавают".
Как открыть два GECK одновременно? (КсюXa)Для этого...
Надо изменить в GECKCustom.ini строчку bAllowMultipleEditors = 0 на bAllowMultipleEditors = 1. Файл конфигурации редактора GECKCustom.ini расположен в папке Мои документы\My Games\FalloutNV или Fallout 3 или С:\Пользователи\Имя пользователя\Мои документы
alfa_resist, день добрый 1. Можно попасть через команду консоли в игре (COC ID_твоего_мира). Можно в моде переместить ГГ скриптом (player moveto Имя_маркера_в_твоем_мире). Скрипт можно прицепить: к триггеру,к любому активатору, к стадии квеста, к строке диалога, просто к квесту. 2. Посмотреть в настройках основного мира имя этого файла текстуры, затем открыть бса-архив с текстурами, вбить в поиск оное имя, распаковать файл в папку Дата по существующему пути, в ГЕККе указать путь к этому файлу текстуры. 3. Если создаешь свой мир, то (насколько помню) можно указать размеры и меньше, чем 32х32. Указать больше - не знаю, не пробовала. Да и зачем?
TWoD, Хм... там оказалось немного замороченней, чем ожидалось. Думала - за полчаса управлюсь, но, однако, придется вечерок-другой посидеть, поковыряться. Но особых проблем пока не возникло, просто тупо много лишнего "мусора" приходится обрезать. Ну и проверить потом в игре, как оно там получилось.
Нууу... мусор - это сильно сказано. Я в том плане, что к каждому из трех желаемых перков привязана либо стадия квеста (соответственно - и квест тоже), либо куча лутовых списков, либо что-то еще подобное, типа скриптов. Все это надо "вычленить" и продублировать в отдельный еспшник. В принципе, работы часа на два-три, просто у меня нет столько времени каждый вечер на такие посиделки. Максимум, минут тридцать-сорок могу позволить себе, без ущерба семейному счастью, так сказать .
по функциональности и техническим свойствам GECK F3 отличается от GECK NV?
Не отличается. НО!!! Моды для Фол3 надо-таки делать ГЕККом для Фол3, а моды для Вегаса - вегасовским ГЕККом. Хотя бы потому, что в Вегас введены некоторые плюшки, которых не было в Фоле и, соответственно - фоловский редактор их тоже не имеет и не умеет редактировать. Вегасовским ГЕККом можно еще делать мод для Ф3, но отсутствие потом в моде багов\глюков не гарантировано. Поэтому, повторюсь - suum cuique, ну или, как говорили немцы - Jedem das Seine.
Оно, в принципе, так и задумано автором. У меня та же фигня - после преобразования в боеприпасы кучка пепла\слизи исчезает. Она же "преобразуется" ++++++++++++++++++++++++++++++++++++++++
В том, чтобы указывать где север. В том смысле, что если зайти в интерьер - то стрелка компаса на экране у игрока будет показывать в том направлении, куда указывает этот самый желтый компасный маркер. Ведь сетка, которой "размечены" любые ячейки, расположена строго с юга на север и с запада на восток. Допустим, во внешнем мире стоит домик наискосок сетки, ориентированный, скажем, с юго-востока на северо-запад, с дверью на юго-востоке. Если стоять во внешнем мире лицом к такой двери - стрелка компаса на экране покажет, что север относительно этой двери находится правее игрока на 45 градусов. Но, если интерьер (внутренняя локация) этого домика построен в редакторе прямо по сетке, т.е. ориентирован по-умолчанию с юга на север, то, пройдя в игре в такой интерьер через эту юго-восточную дверь и стоя к ней спиной - мы увидим, что внутри интерьера стрелка компаса уже показывает, что север прямо перед дверью, а не справа. То есть - визуально нарушилась пространственная ориентация комнаты относительно игрового севера. Чтобы этого избежать - либо строим интерьер стандартно, по сетке, а затем все его детали разворачиваем на нужное количество градусов в нужном направлении (рискуя нарушить состыковки блоков) либо строим опять же стандартно, по сетке и оставляем как есть, но ставим желтый маркер компаса и указываем этим маркером, в каком направлении находится север относительно ориентации этого конкретного интерьера.
для COE имя мира и координаты ячейки. COW работает как COE в ячейку ноль ноль.
Если просто указывать COW [имя мира] - то не срабатывает. Надо таки указывать координаты, хоть ноль-ноль, хоть какие-нибудь другие. COW wastelandnv -4 10 (например) перенесет нас из любого мира всё к тому же муравейнику. COW freesideworld -2 -3 (например) перенесет нас из любого мира во Фрисайд, к воротам на Стрип. По крайней мере у меня в Вегасе так. В Фол3 не проверяла, нет игры.
А это в принципе возможно? Если не ошибаюсь, fbx - это 3Дмодель. Разве можно файл анимации, т.е. - описание движения костей скелета, переконвертировать в модель?
Как сделать так, чтобы свет вращался. Ну, например, как полицейские мигалки? (КсюXa)Вращение света клаксона заложено в саму 3D-модель этой лампы,
то есть - в ней (в модели) есть встроенные анимации свечения и вращения. По умолчанию эти анимации не проигрывается, поэтому к этой лампочке прикручен скрипт, заставляющий в нужный момент проигрывать нужную анимацию (команда playgroup в скрипте). А нужный момент для этого клаксона - это как раз открывание двери. Клаксон связан с дверью реф-связью и дверь является "включателем" для клаксона. Скрипт для клаксона называется KlaxonLightScript. Его можно взять за основу, чуть подправить и приспособить под свои нужды. Как править - тут нужны уточнения. В том плане, что нужно знать, как задумано это вращение в игре: что это будет за "мигалка", где будет стоять, когда должна включаться и кто её должен включать. Названия встроенных анимаций, если они есть в моделях, можно посмотреть в Превью. Это когда в окне объектов выделяешь выбранный объект и по клику ПКМ в контексте выбираешь "Просмотр". Откроется окно и в низу окна будет отдельное поле со списком встроенных в модель анимаций. Можно выбрать любую и по кнопке пуск, посмотреть, как она проигрывается. Итак:
Реппконовский скрипт нежелательно брать из-за всяких в нем условий проверки на нахождение там и сям. А вот второй скрипт - простой KlaxonLightScript можно легко использовать на своем объекте. Вопрос - скрипт, полагаю, цепляется к активаторам? Ну, т.е. - к объектам из раздела World Objects - Activators и из раздела Actors - TalkingActivators? И в том и в другом случае - это активаторы. Анимацию они проигрывают, когда их активируют в игре тем или иным способом (а в принципе - не только они, любой объект, у которого есть встроенная анимация, не будет её просто так, сам по себе, проигрывать. Его нужно "заставить" это сделать). К активатору, например, нужно, как минимум, подойти в игре, навести курсор и нажать клавишу Е. Так делали? Срабатывает мигалка? Если да - то скрипт работает правильно. А если хочется, чтобы мигалка крутилась изначально, сама по себе, без активации игроком - то нужно слегка подкорректировать скрипт. Модель клаксона (этого желтого колпачка) имеет в себе три встроенные анимации: 1) forward (анимация постоянного свечения лампы), 2) left (анимация вращения света лампы) и 3) backward (анимация плавного гашения свечения лампы). Чтобы в игре эти анимации включились в нужной последовательности - работает скрипт, навешенный на этот клаксон. Разбор скрипта: скрипт KlaxonLightScript scn KlaxonLightScript
short state ; 0 = off, 1 = flashing
begin OnLoad if state == 1 playgroup left 0 endif end
begin onActivate if state == 1 set state to 0 playgroup backward 0 else set state to 1 playgroup forward 1 endif end
begin gamemode if state == 1 if isAnimPlaying == 0 playgroup left 0 endif endif end
В скрипт введена переменная State (short state). В комментарии к этой строчке сказано, что состояние 0 - это клаксон выключен, состояние 1 - клаксон вспыхивает. По-умолчанию значение переменной равно 0, т.е. клаксон изначально выключен и не светится. Далее идут блоки скрипта. Функции в них обрабатываются сверху вниз, по-порядку. Если для какой-то функции не соблюдены условия - она пропускается и исполняется следующая. Первый блок OnLoad Срабатывает при загрузке заскриптованного объекта в игру - т.е. когда для игрока подгружается локация с размещенным данным объектом (клаксоном). В этом блоке указано, что если значение переменной равно 1 (if state == 1), - тогда проиграть анимацию вращения света лампы (playgroupleft0). Ноль в строчке после left означает, что анимация будет проигрываться бесконечно, по кругу. Но, поскольку значение переменной State не равно 1 (оно равно 0, так заложено в движке игры - объявленные в скриптах переменные имеют по-умолчанию нулевое значение), то при самой первой загрузке объекта в игру, а также при загрузке этого объекта ранее не активированным - анимация проигрываться не будет, поскольку условия не выполнены. Свет клаксона не вращается и сам клаксон не горит. Далее идет блок OnActivate (срабатывает при активации объекта-клаксона) В функциях расписано, что если значение переменной State было когда-либо ранее установлено как 1 (if state == 1), т.е. - лампу ранее включали и она сейчас по-прежнему включена - то установить значение переменной в 0 (set state to 0) и после этого проиграть анимацию выключения лампы клаксона (playgroup backward 0). Иначе же (else) - если предыдущее условие не соблюдено (значение переменной State не равно 1, т.е. лампа уже выключена или еще вообще ни разу не включалась) - то установить значение переменной State в 1 (set state to 1) и проиграть анимацию включения лампы (playgroupforward 1). Отсюда следует, что, поскольку изначально переменная State равна 0 (лампа выключена), то при первой активации клаксона - сработает вторая часть этого блока (то, что написано после слова еlse) и произойдет включение лампы, она загорится (но не замигает - это другая анимация!). Ну и последний блок GameMode (срабатывает в режиме игры). Когда после активации клаксона возвращаемся в игру - срабатывает условие проверки переменной. Если значение переменной State на данный момент равно 1 (if state == 1), а в предыдущем блоке мы как раз установили такое состояние (включили лампу), и если объект в данный момент НЕ проигрывает какую-либо анимацию (if isAnimPlaying == 0), а в предыдущем блоке мы заставили проиграть анимацию лишь однократно ( playgroup forward с флагом 1, что на практике означает однократное проигрывание) - то в таком случае скрипт заставляет включиться анимацию вращения света лампы (playgroupleft 0). Свет клаксона начинает вращаться. И раз значение переменной теперь равно 1 - то при выходе из локации, а затем при следующем заходе в неё будет выполняться условие для первого блока OnLoad. Т.е. - при загрузке локации этот нами включенный клаксон уже будет мигать сразу. А вот при повторной активации этого клаксона (блок OnActivate) поскольку значение переменной State на данный момент равно 1 (мы ее установили в это значение при первой активации, когда включили лампу) - сработает выключение мигалки (if state == 1 playgroup backward 0) и сброс на первоначальное состояние (set state to 0). Т.е. - сработает первая часть блока, до слова else. Исходя из этого: - что нужно подправить в скрипте, чтоб он работал, как нужно по задумке? Естественно, трогать родной скрипт не надо. Нужно сделать на его основе свой собственный, новый скрипт и уже его цеплять к клаксону. Простейший вариант - убрать переменную State и все строчки, где она упоминается (и, соответственно - ненужные if-ы и endif-ы), а также убрать блок OnActivate. Пусть при загрузке и в игровом режиме всегда срабатывает playgroup left 0 и лампа вращается вечно. Вариант второй - переделать так, чтобы свет вращался изначально, но выключался при активации клаксона. Нужно изменить кое-какие цифирки в скрипте на противоположные Оставляю для самостоятельного разбора Вариация первого варианта: scn {Имя скрипта} - без скобок и английскими буквами
begin OnLoad playgroup left 0 end
begin gamemode if isAnimPlaying == 0 playgroup left 0 endif end
Затем размещаешь лампу-активатор в локации, "вешаешь" на неё колечком луч-свечение и готово. В игре эта мигалка-сирена всегда будет светиться и свет вращаться. Кстати, у копии луча света (которую разместишь в локации) на вкладке Extra можно увеличить радиус освещения. По-умолчанию там стоит 256. PS. Если нужна вторая лампа другого цвета - делаем дубликат модели клаксона (не в ГЕКК, а в проводнике Виндовс), правим у неё в нифскопе цвет свечения (в КАРТОТЕКЕ был ответ, как это сделать) и на основе этой модели делаем в ГЕККе второй объект-лампу. Скрипт - один общий для обеих, ему фиолетово у какой лампы запускать анимацию.
Spalny_Vagon, маэстро - проблемка с Заброшенным Убежищем и Арахной. Решила таки проверить альтернативную концовку, поумничала в разговоре с Арахной, получила год бана... Всё вроде по сценарию. Когда через год возвращаюсь к Убежищу - нахожу в мусорке ключ от люка и записку Арахны. В записке ясно сказано - вещи внизу в ящике и плюс бонус, за страдания, так сказать. Но ключ не открывает люк! Приходится ломать чит-кодом. PS. Жаль, что год спустя в Вашингтоне нет возможности повстречать ту, "нью-йоркскую" Сару. Я бы ей высказала...
Еще может быть, что у строчки диалога, которая выводит текст "Да" на экран, может стоять отметка "Add topic" в настройках квеста, а в условиях нет больше никаких ограничений на показ именно этого топика.
у обьекта стена или потолок и так коллизия есть! что нужно еще дополнительно? вроде у ванильных локаций нечего подобного нет и все работает норм!
В Вегасе даже у ванильных потолочных турелей стоят костыли из кубиков коллизии. Только очень маленькие, еле заметны в редакторе. Во-о-о-т такие, как на картинке, ровно в центре коллизии самой турели.
Видимо разработчикам лень было править свои косяки - обошлись "народным" способом.
А как срабатывает? Внешние проявления, так сказать, какие? PS. Мод-то хоть на Фол3 или на Вегас? А то в Вегасе разрабы, следуя сложившейся славной традиции ломать всё, что под руку попало, также благополучно похерили и эту фишку. Там запирание\отпирание по графику AI-пакета как раз и работает не так, как надо. По-крайней мере, у меня именно так.