Неправда ваша. Торговец и ящик могут быть в разных ячейках [...]У торговца в свойствах ссылки есть закладка Merchant Container
Есть небольшая проблема - что делать, когда у продавца уже есть торговый контейнер. Да, ящик, прописанный через Merchant Container, подцепится откуда угодно - но как быть, если это поле уже не пустое? Перетягивать одеяло на себя и молиться, чтобы больше никакой мод не сделал то же самое?
FNV Plugin Utility плагины со скриптами разве нормально совмещает? У меня так не очень.
А что там может быть "не очень"? Внутреннее содержание скрипта никого не касается, списки локальных переменных не меняются, FormID исходящих ссылок отслеживаются как любые формы. Или что происходит?
Только одно плохо - вроде как там нет обратного действия, то есть нельзя разъединить, уже литой плагин.
Технология заднего хода не предусматривает, да. Разделить всё-таки можно - сделать копию и в каждом экземпляре руками отделять мух от котлет, здесь вырезая котлеты, там мух... Нудная гора работы, требующая пристального внимания - но это всё же намного проще, чем разделить слитые в одну посуду стакан водки и стакан пива
Он переводит есп файлы, не тупи. В фоле нв как будто другой формат.
Я не пользовался этой программой - но если ты скажешь, что esp формата 0.94 (FO3) и формата 1.32-1.34 (FNV) это совершенно одно и то же, ты будешь неправ. Для программ разница может быть существенна (важно ли для этой пограммы - не знаю).
Люди подскажите, как добавить плохую или хорошую карму при убийстве какого-нибудь монстра?
Чуток дополнений к сказанному Imperator3.
Во-первых, функция GetCauseofDeath:
Code
IF MonsterRef.GetCauseOfDeath == 5 ; причина смерти - падение на голову тяжёлого предмета, ГГ может быть ни при чём ENDIF
Во-вторых, параметр блока OnDeath:
Code
BEGIN OnDeath Player ; последний удар, убивший несчастного, нанёс ГГ END
В-третьих, установки игры, отвечающие за автоматическую выдачу кармы при убийствах: fKarmaModKillingEvilActor fKarmaModMurderingNonEvilCreature fKarmaModMurderingNonEvilNPC и, соответственно, хорошие от плохих различаются следующим: fAlignEvilMaxKarma fAlignGoodMinKarma fAlignVeryEvilMaxKarma fAlignVeryGoodMinKarma
К выше сказанному, посмотрел в скриптах "Fallout" везде используется функция RewardKarma, есть ли принципиальная разница с modav karma?
Разница есть. RewardKarma не спрашивает, кому выдаётся поправка к карме - эта функция самонаводится на ГГ - и она выдаёт на экран сообщение с картинкой про "вы получили" или "вы потеряли" карму. ModActorValue работает, во-первых, молча и, во-вторых, с любым мобом. То есть если это кем-то закскриптовано, то у мобов может меняться карма по ходу игры - и, соответственно, кармическая награда (штраф) за убийство такого моба может меняться.
Те настройки игры (fKarmaModKillingEvilActor и т.п.), собственно, не предназначены для регулярной правки - они по смыслу константы общеигрового баланса. То есть глобально перебалансирующий мод может их поменять - скажем, обнулить, чтобы никакие убийства не меняли карму ГГ движком игры (тот мод может вообще упразднить карму или выдавать по случаю убийства кармические награды-штрафы исходя из каких-то соображений помимо кармы убитого.. можно же учитывать пол, расу, принадлежность к фракции... да хоть погоду!).
4-й вариант: Добавлять в ящик торговца не сам предмет а уровневый список с предметом или в уже существующий уровневый список предмет. Тогда он будет респавниться.
К сожалению, левельные листы меняются только статически (если NVSE не сделал поддержку - FOSE не мог, не говоря пр ооригинальные скрипты), оверрайдом объекта. К счастью, иногда там форм-листы, а в них можно формы дописывать на лету.
в случае с Мойрой Браун - у неё Merchant Container был слинкован со вторым её товарным контейнером, который расположен в самом магазине
Это Local Inventory. С их помощью в Фаллауте-3 организована возможность грабить торговцев и караванщиков.MoiraBrown "Мойра Браун" [NPC_:0002D3C0] - эталон Мойры. MoiraBrownREF [ACHR:0002D2BC] - её экземпляр в MegatonCratersideSupply ""Магазин на кратере"" [CELL:00003A2A].
VendorChestBuriedMoiraBrownRef [REFR:000B4207] - это MerchantContainer, прописанный MoiraBrownREF, расположенный в VendorChestsCell "Захороненные склады" [CELL:0001EC51]. VendorChestBuriedMoiraBrown [CONT:000B41EC] - эталон этого контейнера (Respawns включено).
VendorContainerMoiraBrownREF [REFR:0001FF19] - это LinkedRef, прописанный VendorChestBuriedMoiraBrownRef, расположенный в MegatonCratersideSupply. Для VendorContainerMoiraBrownREF прописан LinkedRef - обратно на VendorChestBuriedMoiraBrownRef. Для VendorContainerMoiraBrownREF прописан Key - MoiraBrownVendorKEY "Ключ от "Магазина на кратере"" [KEYM:0001FF13], образующийся через DeathItemMoiraBrown [LVLI:000B9D8E]. VendorContainerMoiraBrown "Товары "Магазина на кратере"" [CONT:000B41EB] - эталон этого контейнера (Respawns выключено). Для VendorContainerMoiraBrown прописан Script - VendorMerchantContainerScript [SCPT:0007D4E3], тот самый скрипт, при открытии контейнера гребущий себе содержимое LinkedRef. В VendorContainerMoiraBrown прописаны несколько Items, в их числе SchematicsRockItLauncherItem "Схема - "Ракетка"" [MISC:000BAFFF].
Кроме того, есть ещё один контейнер, предназначенный для MatchRace-нутой MoiraBrownREF и Enable-щийся при гулификации Мойры: VendorContainerMoiraBrownGhoulREF [REFR:00051E78], никому никак не прописанный, расположенный в UnderworldConcourse "Подземелье - площадь" [CELL:00024D6B] и являющийся экземпляром того же самого VendorContainerMoiraBrown с его скриптом и соержимым.
Ох ну я зануда. Так вот та необычная слинкованность, о которой я говорил - это не LinkedRef с VendorContainerMoiraBrownREF на VendorChestBuriedMoiraBrownRef, который дело обычное и используется общим для кучи контейнеров скриптом, это LinkedRef с VendorChestBuriedMoiraBrownRef на VendorContainerMoiraBrownREF, аналогов которого у прочих VendorChestBuried* нету...
Ну, ошибка слишком сильно сказано, поскольку ничему не вредит. Я предположил, что это кто-то из разработчиков для своего удобства сделал, чтобы оперативно переключаться туда-обратно... Зачем-то. А для игры эффекта просто никакого.
как при переводе плагинов избежать обрезки названия квестов? А то от них остаются только "инициалы" с точками.
Вопрос: Как при забивании гвоздей не бить себя молотком по пальцам? Ответ: Не бить себя молотком по пальцам.
Переводчик знает, что названия квестов должны быть написаны только заглавными буквами, чтобы целиком отображаться на экране игры? Строчные буквы там не показываются.
если нажимать на маркер выдается запрос на перемещение
Судя по косвенным признакам, нам поставили не совсем правильную задачу, и поэтому мы получаем неправильный ответ. Похоже, правильная задача - как сделать, чтобы при выборе строчки в терминале это срабатывало так, будто он вошёл в другую зону через дверь? В этом случае решением будет не команда MoveTo, а использование самой двери: "ДВЕРЬ-ref.Activate Player 1"
Русская версия Fallout вообще загадка в плане манипуляции с esm и esp. К примеру Wasterland travelers (непомню точное название) при использовании esp плагина на отказ нехотел нормально загружать неписей (цвет головы не сходился с телом) после перевода в esm все встало на свои места. В инглиш версии Fallout одинаково реагировал что на esp что на esm.
Проблема с неправильной окраской кожи NPC и вариантами решения при помощи перевода патчей в мастер-патчи, bLoadFaceGenHeadEGTFiles, facemods/bodymods - это проблема, не зависящая от языка игры. То, что русская версия устроена немного более громоздко, проблему отягощяет, но появилась эта проблема раньше русского фолаута, так что он невиновен.
Ох... В обоих примерах местоположение объекта меняется при помощи функции SetPos. То, что параметром ей передаётся значение, в получении которого когда-то до перемещения принимала участие функция GetPos... С таким же успехом можно сказать, что объект двигается с помощью "BEGIN GameMode" - оно ведь тоже есть в скрипте...
Изменение репутации для пользователя Ipatow
IpatowOffline
Сообщение №136
| Тема: ВОПРОСЫ по моддингу
написано: 18 октября 2011, 08:21
| Отредактировано: Ipatow - 18 октября 2011, 08:25
Как поставить объект на пол в нескольких шагах от ГГ, строго впереди, если объект меньше размером персонажа и данного объекта нет в мире вообще?
Сначала определим, что такое "строго впереди". Мы будем считать, что это значит "на той же плоскости Z, что и ГГ" - то есть если ГГ идёт вверх по лестнице, то поставленный "прямо впереди в двух шагах" человек оказется по пояс в ступеньках. Обойти эту проблему нельзя, поскольку мы не имеем возможности узнать, что именно расположено в нужной нам точке, нет ли там уже предметов, каков рельеф местности... Мы поступаем так, будто ГГ стоит на идеально ровной горизонтальной полоскости, и на эту же плоскость будет помещён наш предмет.
Code
SCRIPTNAME SampleFossyScript REF tmpRef FLOAT tmpVar FLOAT tmpAngle BEGIN GameMode IF {не-надо-помещать-объект} RETURN ENDIF SET tmpRef TO Player.PlaceAtMe {объект-BaseID} 1 tmpRef.Disable SET tmpVar TO Player.GetPos Z tmpRef.SetPos Z tmpVar SET tmpAngle TO Player.GetAngle Z SET tmpVar TO Sin tmpAngle SET tmpVar TO tmpVar * {несколько-шагов} SET tmpVar TO tmpVar + Player.GetPos X tmpRef.SetPos X tmpVar SET tmpVar TO Cos tmpAngle SET tmpVar TO tmpVar * {несколько-шагов} SET tmpVar TO tmpVar + Player.GetPos Y tmpRef.SetPos Y tmpVar IF tmpAngle > 180 SET tmpAngle TO tmpAngle - 180 ELSE SET tmpAngle TO tmpAngle + 180 ENDIF tmpRef.SetAngle Z tmpAngle tmpRef.Enable END
в функции PlaceAtMe за направление отвечает четвёртый параметр
Гмм... Разве это починили? Прямо по этой ссылке в примечаниях написано "The Distance and Direction parameters do not work. No matter what is specified for them, the created reference will be placed in safe location nearby the calling reference." Говоря по-русски, "хотя компилятор и не выдаёт ошибку при указании третьего и четвёртого параметра функции, эти параметры игнорируются системой, и помещается объект в какое-нибудь безопасное место возле вызывающего, что бы в третьем-четвёртом параметрах ни указывалось."
Ipatow, да вроде боле-менее работают. Я, правда, давненько и не очень подробно проверял. Однако, емнип, спереди/сзади работает корректно при наличии этого самого безопасного пространства, т.е. не занятого коллизиями.
Хорошо бы если так - ты видел, как пришлось извратиться в скрипте вместо одного вызова функции с параметрами дистанция/направление... Но всё-таки прежде чем применять на практике (когда/если придётся), нужно будет перепроверить. В обсуждении той же самой страницы GECK-вики видно, что довольно много людей тестировали эту функцию, пару раз меняли формулировку примечания про неработающие параметры, убирали примеры использования функции с этими параметрами и всерьёз обсуждали, а не вычеркнуть ли вообще упоминание этих параметров из синтаксиса... Без перепроверки я не доверяю этим параметрам.
Проблема заключатеся в том, что я даю понравившуюся одежду НПСу, сохраняю плагин, захожу в игру и вижу НПСа в трусах и майке.
Первый же вопрос: открываем тильдой консоль, тыкаем мышкой в NPC (вверху экрана показывается его RefID) и вводим команду inv. Есть нужный предмет у него в инвентаре (но не отрисовывается), или он не попал в инвентарь?
подключен, и болие того эта одежда уже есть на моем персонаже
Если NPC из одного мода, а одежда из другого, то для того, чтобы одежда из мода с одеждой была доступна моду с NPC, патч с одеждой должен быть мастер-патчем для патча с NPC. GECK не вписывает в заголовок патча одновременно с ним загруженные патчи, если у них не стоит флаг ESM. Два выхода - или выставить патчу с одеждой мастер-флаг (это изменит порядок загрузки), или после каждого редактирования своего мода в GECK заново добавлять тот esp в список мастеров при помощи FO3Edit.
Я вот поставил терминал, сделал там функцию активации двери, но он активируется не в ту сторону которую мне надо) Т.е. я поставил активацию двери салуна старателя в ГС, а вместо того что бы меня в салун завести, она меня в гудспрингс кидает. как сделать что бы она в салун заводила?
Чтобы как бы войти в салун, нужно активировать ту дверь, которая снаружи (и телепортирует внутрь). Та дверь, которая внутри салуна, телепортирует в город.
Galko, KAIN48, маркеров и MoveTo нагромоздить можно, но это дополнительное изменение зоны, которую, возможно, и не надо менять. Если есть готовый телепортер - дверь - почему не воспользоваться им?
как сделать скрипт, чтобы нужный непись мог тебя обучить допустим Энергооружию?
В GECK (и формате esp) остались в наследство от CS галочки про обучение и перезарядку наряду с торговлей и ремонтом, но из движка (а эти вещи исполняет движок игры, мод может только активировать соответствующую секцию движка) эти секции ампутированы.
Пропавшее из движка обучение можно симулировать - просто в момент диалога, который кажется подходящим, увеличивать значение умения Энергооружие на сколько-то единиц.
Изменение репутации для пользователя Ipatow
IpatowOffline
Сообщение №143
| Тема: ВОПРОСЫ по моддингу
написано: 21 октября 2011, 03:40
| Отредактировано: Ipatow - 21 октября 2011, 03:41
Умения - часть параметров (ActorValue) персонажа; другие параметры это, скажем, количество очков здоровья, ловкость или процент сломанности левой ноги. Некоторые параметры основные, некоторые производные...
Текущее значение каждого ActorValue складывается из нескольких величин: базового значения величины, постоянного модификатора, временных модификаторов, а также урона, нанесённого параметру.
Поскольку обучение это навсегда, нужно изменить базовое значение параметра. Вот так базовое значение умения "Энергооружие" ГГ повышается на 14:
Code
FLOAT tmpVar SET tmpVar TO Player.GetBaseActorValue EnergyWeapons SET tmpVar TO tmpVar + 14 Player.SetActorValue EnergyWeapons tmpVar
И кстати, как сделать особенную погоду? Ну допустим я хочу сделать чтобы в определённой внешней локации была только лунная ночь! Где именно нужно будет с погодой чудить чтобы сделать сплошную ночь?
Это не только погода, но и климат. Именно в климате ты выключаешь напрочь солнце и включаешь луны, хотя саму темноту устраиваешь и облака развешиваешь уже в погоде, которую приписывашь климату. В меню World это соответственно Climates и Weather.
Тело вообще не отображается. Если NPC живой то он стоит на месте куда его я поставил. А вот тело хоть ты тресни всё равно не появляется
То есть когда ты в консоли набираешь "player.moveto труп-ref", тебя перемещает туда, где трупу и следует лежать, но его нет? Я не знаю, как это лечить - хотя я точно такое поведение замечал за трупом талонца на Пенсильвания-авеню (тот сапёр, который чуть ли не единственный талонец с именем и одетый не в фирменную тужурку). Труп как бы на месте, но место пустое. Этот же труп прилетал почти мне на голову, когда я шёл по соседней улице - видимо, наконец отрисовалось и спружинило не по-детски... Проверь, что будет, если в этом месте грохнуть гранату - взрыв гарантированно расшевелит весь хавок в радиусе воздействия.
Что за талонец-коготь с именем? И какой фирмы тужурка? Не видел - потому и спрашиваю.
Это [ACHR:000BB133] (places PAAveExplosivesCorpse "Наемник" [NPC_:000BB1E2] in GRUP Cell Temporary Children of PennsylvaniaAveMiddle [CELL:0002ED2F] (in DCworld08 "Пенсильвания-авеню" [WRLD:0001A267] at 18,-8))
Тужурка у него случайная - LootArmorMercenary [LVLI:00078438]
Имя и принадлежность к "Когтям" известны, поскольку он подписал лежащую в кармане записку PAAveMercenaryNote01 "Взрывчатка на Пенсильвания-авеню" [NOTE:000BB1E1]: «Взрывчатка заложена вдоль Пенсильвания-авеню, как и требовалось. Электропереключатель расположен на первом уровне строительных лесов на Пенсильвания-авеню. Просто щелкните переключателем, укройтесь и ждите неба в алмазах. Я планирую задержаться здесь ненадолго, возможно, мне удастся подстрелить еще парочку мутантов.
тела тип 3 разные? В смысле по форме тела - пропорциям, толщине рук и ног. Или это всё таки одно тело - разница лищь в текстурах.
В практическом смысле Type 3 всего лишь стандарт на UV Map, то есть на раскройку текстуры. Кстати, дамская модель из оригинальной игры в этом смысле тоже вполне Type 3. Сам автор (Dimon99) уже от старта выдал несколько заметно отличающихся габаритами моделей (если Berry и Cali похожи, то пропорции Alice отличаются основательно), называя всё это одним и тем же типом тела... Изобретатели "новых" тел могут вешать им новые вывески - Skinny, скажем... Но поскольку в Skinny выразительно торчат уши от Base тела работы Dimon99 (просто замученного голодом), и текстуры Type 3 ложатся как родные (они и есть родные) - это тоже тип-3. При всём разнообразии форм и габаритов найти тело с другим UV Map не каждый и сумеет, они большая редкость.
замене подверглись только ванильные наборы брони и одежды. Тем не менее конфликтов с Type3 одеждой нет, кроме небольшого зазора между шеей и телом
Это немного странно. Зазоры на запястьях и на шее получиться при редактировании могут, но как будто обычно эти места просто не трогают - почему в комплекты тел обычно и не входят ни голова, ни кисти рук. Может, там имелся в виду не зазор, а черта смены окраски кожи? Та черта присутствует почти всегда, поскольку текстуры на стыке не сглажены (ни diffuse map, ни normal map) - вроде для такого сглаживания и инструмента-то специального нет.
Жалко, что для тела не использована та же система, что для головы - там egm следит за тем, чтобы при любых деформациях физиономии усы оставались на верхней губе, очки на переносице, а чёлка не тонула в шибко выпуклом лбу. Понятно, почему не сделано - штатными средствами игры отскульптурить можно только голову - но всё равно жалко.
этот параметр редактируется на странице настроек нужного оружия?
И для оружия, и для патронов (даже если снят флажок "тратить патроны", хотя бы один патрон нужен, чтоб NPC их этого оружия стрелял - и лучше, чтобы этот патрон тоже не маячил в инвентаре), и для брони флаг Playable - в параметрах базового объекта.