Модератор форума: КсюXa, ApeX  
Форум » Fallout 3 » Мастерская » Помощь по моддингу (Помощь в нелегком модмейкерском деле)

Помощь по моддингу
КсюXa  Offline  Сообщение №1 написано: 9 Июль 2010, 22:51


Гид по Мастерской




Тема для общих вопросов по моддингу игры.
Возможно, что ответ на ваш вопрос уже есть в Картотеке.

Ой, всё...
Spalny_Vagon  Offline  Сообщение №1201 написано: 20 Сентябрь 2014, 18:52


Мастер


Цитата Ipatow

А вот тут я бы сильно озадачился. Ну то есть когда вся сцена расчитана до миллиметра это не кажется сложным, но если задача отловить координаты головы гуляющего в непонятной позе непися... Это вообще решаемая задача?

Ну, если только ранить - то вряд ли. А если нужно убить, тогда killactor и указываешь часть тела, которая отвалится. Никаких сомнений в том, куда именно попала пуля, у зрителей скорее всего не появится.

======================
Мод "Нью-Йорк" на русском: 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  Offline  Сообщение №1202 написано: 20 Сентябрь 2014, 19:16


_


Цитата Ipatow

если задача отловить координаты головы гуляющего в непонятной позе непися... Это вообще решаемая задача?


В порядке извращения же...
Хотя если бы сценка была такая - к неписю в непредсказуемый момент игры подходит убийца, втыкает ему точно в ухо (или в глаз, как КсюXa предлагает) свол револьвера и стреляет, а непись в это время то ли сидит, то ли лежит, то ли крадётся - то да, ловить такую беспокойную голову замучаешься, это точно. А если задача такая, что снайпер должен выстрелить издалека в сторону жертвы и при этом просто не запачкать ему одежду где не надо, то тут миллиметры ловить и не требуется, я так думаю - хватит и IsSneaking. Тем более в срежиссированной сцене примерно известно, чем непись будет занят. Ну будет маркер в двадцати сантиметрах от головы, если напись наклонился зачем-то, кто там заметит полградуса отклонения ствола? Брызги крови, правда, при попадании тогда не вылетят, а взрывать башку нельзя... Ну, в первоначальном вопросе непись как-то собирался показывать, что ему именно в голову прилетело unsure

Ipatow  Offline  Сообщение №1203 написано: 20 Сентябрь 2014, 19:37 | Отредактировано: Ipatow - 20 Сентябрь 2014, 19:38



Цитата Joopeeter

к неписю в непредсказуемый момент игры подходит убийца, втыкает ему точно в ухо

Кабы так, я бы сразу сказал - ищи ветра в поле аниматора, который всю эту сцену в три-дэ-максе нарисует... unsure

А так и рост у персонажей отличается (ну, у меня отличается), и с разным оружием в руках они по разному ходят (в стандартном комплекте для некоторых видов оружия имеется собственная анимация ходьбы, а у ж в нестандартном вовсе лес тёмный)... Пусть уж стреляет через UseWeapon из уникального оружия, которому оторван Impact Data Set во избежание подозрительных отметин на жертве, а остальное жертва сама изобразит.

JupiterJour  Offline  Сообщение №1204 написано: 20 Сентябрь 2014, 19:46


_


Цитата Ipatow

оторван Impact Data Set


Или так, да. А то пошёл я огород городить! :D

Veldion  Offline  Сообщение №1205 написано: 21 Сентябрь 2014, 07:05



268
Уважаемые знатоки плиз хелп! В моделях есть параметр BSXFlags как выяснилось весьма важный и он имеет конкретные числовые значения. Подскажите какая цифра что конкретно означает.

Ipatow  Offline  Сообщение №1206 написано: 21 Сентябрь 2014, 08:42



Цитата Veldion

В моделях есть параметр BSXFlags как выяснилось весьма важный и он имеет конкретные числовые значения. Подскажите какая цифра что конкретно означает.

Любой гугель покажет пальцем на http://niftools.sourceforge.net/doc/nif/BSXFlags.html ... Собственно, ровно то же самое тебе и сам NifScope скажет. Ты бы поведал, в чём именно твоя печаль - а то, может, на самом деле тебя интересует bkhCollisionObject -> bhkRigidBody: Layer unsure
Просто в абстрактно-познавательных целях вряд ли тебе кто-то станет рассказывать подробно и с самого начала (Вначале я создал небо и землю... © :D )

Veldion  Offline  Сообщение №1207 написано: 21 Сентябрь 2014, 10:21



268
Цитата Ipatow

Ты бы поведал, в чём именно твоя печаль - а то, может, на самом деле тебя интересует bkhCollisionObject -> bhkRigidBody: Layer


Может конечно и bhkRigidBody но вряд ли. Если уж изливать печаль то... Решил я намедни сделать так, чтобы ракету (гранатометную) можно было сбивать из винтовки как гранату. Замутил ей DestructionData'у. Не сбивается - пули сквозь ракету летят. Дошло, что надо добавить в модель коллизию. Добавил и началось интересное и непонятное: то пули летят сквозь коллизию будто там нет ничего, то ракета исчезает только вылетев из ствола. Наконец догадался сделать коллизию по образу и подобию собственно гранаты - ракета летает, сбивается, но вот дымный след пропал напрочь. А хотелось полноценную ракету, чтобы и дымный след был и сбивать можно было. И выяснилось что работоспособность AddonNode'ов зависит от значения этого самого BSX'а. Да и поведение коллизии тоже. В частности возможность поднять объект зависит не только от типа коллизии, этого самого Layer'а, но и от значения BSX'а. Ну вот так если коротко...
Перешел по ссылке и понял, что рано лыжи одел. Снега нет еще асфальт кругом... unsure короче не понял ни фига!

Ipatow  Offline  Сообщение №1208 написано: 21 Сентябрь 2014, 16:54



Цитата Veldion

хотелось полноценную ракету, чтобы и дымный след был и сбивать можно было.

Охохонюшки... Должен со стыдом признаться, как те маляры - это, гражданочка, вам к доктору надо! Я помню, что здешние моделестроители над коллизиями измывались, на лифте ГГ катали, ещё какие-то непотребства творили... Но сам я только краями обширных ушей порой какую крупицу истин уловлю. Слыхивал, что по раскраске layer ( http://niftools.sourceforge.net/wiki/Oblivion/Bhk_Objects/Layer ) можно слёту визуально косяки с коллизиями обнаруживать - ну да не твой как бы случай. Слыхивал, что бывают несовместимые сочетания функционала (вроде того, что броня может быть либо анимированная, либо с расокожаным шейдером, но не одновременно) - может быть, ты на такое наступил и нельзя такую коллизию с дымовыми нодами вместе? Опытный тут шаман нужен, чтоб понимал тонкости Gamebryo в вариации BS... Поговаривают, что не все они работают в Bethesda (хотя и там их меньше, чем надо бы).

Quazar  Offline  Сообщение №1209 написано: 21 Сентябрь 2014, 19:08 | Отредактировано: QuazarX - 21 Сентябрь 2014, 19:12



446
Столкнулся с таким вопросом, вроде простой как валенок, но как оказалось очень головоломный - как можно осуществить в Fallout 3 динамичную смену скорости плаванья для гг?
Перепробовал вроде бы уже все. Функция IsSwimming для игрока не работает (если она вообще работает, т.к. в игре ее нет), на бетсофт рекомендуется использовать GetPos Z, кстати там ошибка, для плаванья нужна высота не 10500, а 10670  (10666,77 - если совсем точно). Но эта функция имеет много ограничений, в частности она не годится в качестве условия для смены значений что SetAv SpeedMult, что SetNumericGameSetting fMoveRunMult, т.е функций который могли бы повлиять на смену скорости гг в  воде. И для игрока это сочетание так же не используется в игре. Т.е посмотреть из готовых примеров просто нечего.
В сеттингах есть еще настройки по изменению скорости плаванья (вроде бы, судя по названию), но их изменение не дает никакого результата. Возможно это просто хвосты от Обливиона (какая может быть атлетика в fallout?7)
Пробовал еще создавать способности на эту же тему, но результат тот же - никакой. Такое впечатление, что разрабы специально обрубили все возможности как-то влиять на плаванье...

Ipatow  Offline  Сообщение №1210 написано: 21 Сентябрь 2014, 20:20



Цитата QuazarX

Функция IsSwimming для игрока не работает (если она вообще работает, т.к. в игре ее нет), на бетсофт рекомендуется использовать GetPos Z, кстати там ошибка, для плаванья нужна высота не 10500, а 10670 (10666,77 - если совсем точно).

В игре эта функция есть, и моды ей пользуются. Ну, пытаются по крайней мере (например, FWE изо всех сил проверяет Player.IsSwimming :D - но та же Бриса добросовестно переодевается в купальник, когда доводится свалиться в водоём, и это любой брисофил подтвердит).

Забавный факт - NVSE 4.2 Beta 3 ввела функцию IsPlayerSwimming - так эта беда всех достала... Ну, то в вегасе.

Проверка высоты - ошеломляющая доверчивость. Ну да, мы знаем, на какой высоте автовода в стандартном мире. Но мало того, что каждая ячейка территории может заоверрайдить автоводу в своих пределах, так ещё навалом Placeable Water вокруг...

Кажется, когда в последний раз такого рода проблема тут обсуждалась (кому не лень вбить "IsSwimming" в поиск? где-то в Мастерской вегаса дело было), вроде пришли к выводу, что надо с частотой наглости бросать в ГГ каким-нибудь NPC подходящего роста (с ростом тоже забавно - на глубину, с которой NPC начинает плавать, масштаб влияет, но масштаб базового объекта, а не SetScale на референсе) и проверять - поплыл, нет?

Насчёт атлетики... Не будет вреда, если протестировать, а не работают ли fMoveSwimWalkBase да fMoveSwimRunBase - вдруг работают? Мало ли - ведь сапоги отменили, но fSneakBootWeightBase всякий жив и фурычит.

Quazar  Offline  Сообщение №1211 написано: 22 Сентябрь 2014, 05:04 | Отредактировано: QuazarX - 22 Сентябрь 2014, 05:14



446
Цитата Ipatow

а не работают ли fMoveSwimWalkBase да fMoveSwimRunBase - вдруг работают?

Увы, но нет. Я в первую очередь полез в сеттинг, там их 4 настройки - 2 этих, и 2 с атлетикой. Ни одна не работает.

Ipatow  Offline  Сообщение №1212 написано: 22 Сентябрь 2014, 07:25



Цитата QuazarX

если после выхода из воды присесть и встать, то скорость восстанавливается сразу до исходного значение, какое было до плаванья

А смена скорости вообще вступает в силу, если способ передвижения не меняется? Попробуй не высоту мерять, а, например, GetPos X и на чётных десятках метров ставь 2.2, а на нечётных 4.2 и беги про прямой - будет на ходу скорость бега меняться? Если не меняется, то, значит, ты поздно поменял скорость на сухопутную (когда ГГ уже успел выйти на сушу), и новая скорость включится после смены способа передвижения (например, сломай ноги и почини или присядь-встань).

Veldion  Offline  Сообщение №1213 написано: 22 Сентябрь 2014, 08:58



268
Цитата Ipatow

Слыхивал, что бывают несовместимые сочетания функционала...

похоже на то... только виновата тут не коллизия. Простой пример: возможность поднять предмет с земли и положить в карман обеспечивают значения BSXFalags 66 и 67 причем коллизия может быть и Clutter и Weapon и Projectile и даже Biped про остальные точно не помню. Так что я надеялся именно на расшифровку числовых значений BSX. Ну примерно такую, как расшифровка цветов коллизии. Ну на нет как говорится...

Спасибо что заморочился...

Quazar  Offline  Сообщение №1214 написано: 23 Сентябрь 2014, 11:31 | Отредактировано: QuazarX - 23 Сентябрь 2014, 12:19



446
Цитата Ipatow

Если не меняется, то, значит, ты поздно поменял скорость на сухопутную (когда ГГ уже успел выйти на сушу), и новая скорость включится после смены способа передвижения (например, сломай ноги и почини или присядь-встань).

Да, сантиметры в этом деле сыграли свою роль, дело было в координатах. Оказывается верное значение колеблется в диапазоне 10657-10660 (выше уже нельзя иначе начинаются баги), т.е. чтобы гг для нормальной смены скорости, как бы так сказать, не полностью высовывался из воды, а был слегка "притоплен". При этом еще нужно сделать небольшую накладку (в 3-4), на случай погрешности. Вот при соблюдении всех этих условностей, скрипт работает нормально. Как буд-то бы. Однако все равно это шаткая конструкция, тут еще нужно соблюсти много дополнительных условий: чтобы гг не находился в присяди, чтобы не были сломаны руки-ноги, для интерьеров опять же нужно что-то думать (там уровень воды может быть другим + Placeable Water), учесть особенности рас, и т.д. и т.п. Это не учитывая разных косметических мелочей вроде загруженности инвентаря. Да и боюсь многие моды будут конфликтовать с этим.

Честно сказать, задача сложная, особенно меня смущают интерьеры с изменяемым уровнем воды. Конечно, всего этого можно было бы избежать если бы функция IsSwimming на игроке работала нормально.
Может все же написать создателям FOSE, а вдруг перекинут таки функцию из Вегаса, а заодно и еще с десяток нужных. Для них это пара пустяков, экстендеры ведь почти однотипные. :)

p.s.Тут еще что интересно - получается, что для нормальной смены скорости (туда-обратно) игрок должен находится в одном и том же режиме передвижения, в плаваньи, но почему этот же метод не работает если игрок передвигается по суше? Я проверял вариант с осью Х - скрипт не работает вглухую, т.е. только через присядки.

Ipatow  Offline  Сообщение №1215 написано: 23 Сентябрь 2014, 19:39



Цитата QuazarX

вдруг перекинут таки функцию из Вегаса, а заодно и еще с десяток нужных. Для них это пара пустяков

Это вроде бы и вообще пара пустяков. Ну, пара дюжин пустяков... Если бы у меня не было рвотного рефлекса на язык си - честное слово, давно бы написал плагин для FOSE с нужными мне функциями (у меня установлена пара плагинов разных авторов)... По совести, самая нужная была бы SetLinkedRef - динамическая линковка феерически упростила бы многое и ещё большее сделала бы возможным (подумать только - на ходу создающиеся маршруты патрулей, привязка package к чему угодно... сказка!). Всего-то одна функция нужна... Эх.

Veldion  Offline  Сообщение №1216 написано: 24 Сентябрь 2014, 08:34



268
Цитата Ipatow

проверяем, в воде ли ГГ


Так что, все-таки нашли адекватный способ определить, находится персонаж в воде или нет? Помнится когда когда мы пытались заставить неписей набирать водную радиацию, то для определения нахождения в воде был предложен только абсолютно шаманский способ разбрасывания вокруг персонажа малоразмерных человечков...

ncrrainjer  Offline  Сообщение №1217 написано: 24 Сентябрь 2014, 10:26



199
Доброго времени суток господа,подскажите пожалуйста как сделать ,чтобы наемники когтя не трогали созданных мной НПС (которые являются заложниками)!

Galko  Offline  Сообщение №1218 написано: 24 Сентябрь 2014, 11:35


GALAктическая мартышка


ncrrainjer, проверить фракцию у заложников. Если их фракция является враждебной фракции Когтей - те, естественно, будут "трогать" твоих неписей.

Ваше счастье, что я не ваше счастье
Quazar  Offline  Сообщение №1219 написано: 24 Сентябрь 2014, 12:17 | Отредактировано: QuazarX - 24 Сентябрь 2014, 12:56



446
Цитата Ipatow

Если бы у меня не было рвотного рефлекса на язык си

Может получится как-то побороть этот рефлекс, принять пару антирадинов или стимуляторов творческой деятельности ? :D Очень очень нужное дело...

Ipatow  Offline  Сообщение №1220 написано: 24 Сентябрь 2014, 19:29 | Отредактировано: Ipatow - 24 Сентябрь 2014, 19:40



Цитата Veldion

когда мы пытались заставить неписей набирать водную радиацию, то для определения нахождения в воде был предложен только абсолютно шаманский способ разбрасывания вокруг персонажа малоразмерных человечков...

Ничего не изменилось с тех пор. Там была немножко другая ситуация - там на первом месте было не locomotion ГГ, а мокрые ли у него пятки. Почему человечков и разбрасывали маленьких - чтоб плавали даже когда воды там ГГ по щиколотку. А тут требуется шаманство сходное, но немножко другое, в духе

SET SwimmerBase TO TempCloneForm Player
SET Swimmer TO Player.PlaceAtMe SwimmerBase 1
Swimmer.MoveTo Player
SET CheckValue TO Swimmer.IsSwimming
Swimmer.Disable
Swimmer.MarkForDelete

Очевидна тормознутость и нестабильность приёма (мы 3D-объекты творим да двигаем под ногами), но это как будто всё ещё единственный способ хоть как-то получить нужную информацию...

JupiterJour  Offline  Сообщение №1221 написано: 24 Сентябрь 2014, 20:26


_


Цитата Veldion

был предложен только абсолютно шаманский способ разбрасывания вокруг персонажа малоразмерных человечков...


Ну уж прям разбрасывания. Всего-то одного кидали, и вовсе не вокруг, а впереди. :)
А то ещё вот. Взять и поместить (разбросать :) ) с помощью PlaceAtMe прямо в начало координат игрока что-нибудь легче воды, но тяжелее воздуха. Если игрок стоит на твёрдой земле, то оно, разбросанное, провалится под землю и быстро полетит к центру Земли (вниз), а если игрок уже гребёт ручками-ножками, то оно начнёт всплывать (вверх). Думаю, тут и можно поймать его за дельту Z. Уж по-любому не сложнее, чем живого пловца.

Ipatow  Offline  Сообщение №1222 написано: 24 Сентябрь 2014, 20:34



Цитата QuazarX

как проверить производится смена скорости на неписях только в зоне активной обработки, или вообще во всей игре?

Повлиять это могло бы только на закадровых путешественников вроде кентерберийских караванов... Даже не знаю, проверяются ли у них модификаторы скорости. Множитель бега по крайней мере караванщики не используют уже просто потому, что не бегают, но станут ли они медленне гулять, если им ноги переломать?.. Не соображу даже сразу, как это можно замерить... Low-Level процессы на то и лоу-левел, что их отодвигает от кормушки всяк желающий, и поди разбери он медленно идёт из-за хромоты или из-за того, что процессор съел кто-то другой unsure

Может быть, стоит вовсе пересмотреть подход к задаче? Ну, скажем... При попадании в воду вешать минус Carry Weight. Да, ГГ в одних трусах будет плавать шустро - но это ведь как раз логично?

JupiterJour  Offline  Сообщение №1223 написано: 24 Сентябрь 2014, 20:35


_


Цитата Joopeeter

можно поймать его


Хотя если игрок стоит на притопленной статике, то нельзя, наверное.

Ipatow  Offline  Сообщение №1224 написано: 24 Сентябрь 2014, 21:43



Цитата Joopeeter

можно поймать его за дельту Z

Как будто интересный вариант... Взять невидимую деревяшку мувабл статик, MoveTo Player, SetPos Z (5 + GetPos Z) чтоб не встряло в коллизии чего-то придонного - по идее должно начать всплывать. Хотя для стоящего в ванне по колено в коньяке ГГ оно тоже поплывёт... Гмм... Не похоже насчёт плавания, но жидкость как будто должна обнаруживаться. Главное что у меня вызывает сомнения в этой затее - это то, что отлов всплывания дело явно не однофреймовое, то есть о мгновенном результате нечего и думать... mellow

ncrrainjer  Offline  Сообщение №1225 написано: 26 Сентябрь 2014, 10:46



199
Ребят,подскажите пожалуйста как правильно настроить пакет Засады?И как сделать, чтобы он сработал?

Galko  Offline  Сообщение №1226 написано: 26 Сентябрь 2014, 11:31 | Отредактировано: Galko - 26 Сентябрь 2014, 11:38


GALAктическая мартышка


Цитата ncrrainjer

как правильно настроить пакет Засады?И как сделать, чтобы он сработал?

Следовать старому-престарому совету: - посмотреть, как оно уже сделано кем-то ранее. То есть - найти в списке пакетов пакет засады, посмотреть его настройки, обращая внимание на установленные флаги, названия стартовой и "засадной" локаций, на цель засады, кондиции и прочее , посмотреть в инфо, какому неписю пакет приписан, открыть того непися, посмотреть у него настройки, как прописан этот пакет, открыть реф-копию этого непися на локации и посмотреть настройки этой копии и т.д.
Заодно почитать про пакет засады на вики..
И повторить всё, но уже со своим пакетом и своим неписем. Указав, естественно, свою локацию, в которой будет ждать непись, локацию засады и цель.

Ваше счастье, что я не ваше счастье
ncrrainjer  Offline  Сообщение №1227 написано: 26 Сентябрь 2014, 11:38



199
Galko, Спасибо большое,а то сам не нашел туториал:)

Galko  Offline  Сообщение №1228 написано: 26 Сентябрь 2014, 11:43


GALAктическая мартышка


Искать там о-о-о-чень сложно, ога...

Ваше счастье, что я не ваше счастье
ncrrainjer  Offline  Сообщение №1229 написано: 29 Сентябрь 2014, 18:34 | Отредактировано: ncrrainjer - 29 Сентябрь 2014, 18:37



199
Всем привет,подскажите пожалуйста, можно ли какой нибудь консольной командой заменить папку музыки которая играет в ячейке на другую?Например Dangeous на Base

Ipatow  Offline  Сообщение №1230 написано: 29 Сентябрь 2014, 18:46



Цитата ncrrainjer

можно ли какой нибудь консольной командой заменить папку музыки которая играет в ячейке на другую?

Нет, такой функции не имеется ни среди стандартных, ни среди функций экстендера с известными мне плагинами. Если её изготовить, то, вероятно, будет работать по аналогии с SetCellImageSpace, то есть изменение вступит в силу после загрузки изменённой ячейки в игру заново (вход-выход, сохранение-загрузка и т.п.).

Форум » Fallout 3 » Мастерская » Помощь по моддингу (Помощь в нелегком модмейкерском деле)
Поиск:





Ответ на жалобу смотрите в разделе жалоб