Говорят, что компилятор будто бы всё равно склеивает одинаковые блоки в один, но я встречлся с ситуациями, когда второй одинаковый блок не выполнялся.
Там есть некоторые эзотерические моменты... вроде того, что диалоговые срипты, скрипты пакетов и подобные на самом деле исполняются в контексте скрипта соответствующего объекта (моба/актора), с пересечением по переменным и другими приключениями... вроде того, что RETURN обрубает хвост по самые ушки всем секциям скрипта после той, в которой встретился... последнее может быть одной из причин, почему из двух однотипных блоков первый отрабатывает, а второй куда-то пропадает... и всё это ни капельки не документировано
вообще мне непонятно, как можно сломать пакет Follow. Наоборот, он всегда был надеждой и опорой в поиске пропавших спутников: прошёл через дверь или фэсттревел - и вот они все тут как тут.
Да, пакет Follow работает безотказно - но беда в том, что это работает как запрет делать что-то ещё. Вообще спутник спутничает, на то он и спутник, но в частности - когда ГГ всё равно стоит пнём и о чём-то задумался - могли бы быть вариации. И когда ГГ внезапно очнулся и сунулся в дверь - возможно, спутник сидел на лавочке у двери, или свежие трупы обыскивал... Хотелось бы, чтобы спутник не был обязан стоять столбом только потому, что ГГ в любой момент может телепортироваться, и надо изо всех сил держать Follow 24/7. Но шаг влево шаг вправо для игры - "сломал"!
Вообще-то, я не уверен, почему именно Galko тогда предложила исполнять закат солнца вручную - в версии 3.0.15 уже работали функции Add Masters и Clean Masters... Возможно, "в те времена укромные, теперь почти былинные," существовали какие-то суеверия, которых я сейчас уже не помню.
Некоторые советы тех времён сегодня покажутся странными. Что-то неоптимально, что-то неаккуратно, что-то работает не так, как тогда думали. Появилось немало новых инструментов. Мне кажется, не стоит исправлять старые тексты (разве что их авторы захотят). Если в сегодняшней реальности, в окружении сегодняшних инструментов появляются вопросы по использованию каких-то средств, на то и форум, чтобы задавать вопросы. А переписывать труды Коперника в свете эйнштейновых поправок - зачем?
всё равно пересортирует файлы по своему - по датам файлов.
Так это ведь не совсем "по-своему". Это "в каком порядке игра грузит модули". Нам ведь небезразлично, как оно будет работать в игре - лучше в таком ракурсе и смотреть.
программа принципиально не имеет права изменять последовательность, указанную в plugins.txt !!!
Понимаешь... Игра... Это такая программа... Она загружает модули в хронологическом порядке. Наверное, раньше ещё можно было найти разработчиков игры и строго им указать, что они не имеют права так поступать. Сейчас, боюсь, поздно.
(да, я проверил - в каком порядке модули перечислены в plugins.txt и в каком порядке они загружаются игрой - всё как я и писал по памяти)
ЕСТЬ для Нью-Вегаса - "шаблоны" пустого, ненаполненного мира (без локаций, без сюжета, без персонажей, без всего. Просто голая глобальная карта без ничего), которые можно было бы уже использовать для создания своего глобального мода?
В меню World -> World Spaces... ты создаёшь новое пространство, и получаешь бескрайнюю пустую плоскую равнину, покрашенную стандартной текстурой. Это то, что ты хочешь?
Возможно ли с помощью ГЭКК создать индикацию кол-ва запаса сил на худе, подобно полоске ОЗ и ОД? Кроме того, существуюет ли возможность и/или моды (желательно без FOSE), показывающие численные значения ОЗ и СУ
Решение таких задач состоит из трёх частей. Первая - внесение изменений в UI - исполняется в текстовом редакторе (описывающие UI файлы XML текстовые). Вторая - написание скриптов, которые будут непрерывно заполнять данными новые элементы UI - требует использования функций FOSE. Ну а собственно компиляция этих скриптов, привязка их к каким-то квестам или ещё чему-то, прочее обслуживание, это да, это в GECK.
возможно ли создать частичное суммирование эффектов? Например, при выпивании алкоголя временный штраф к интеллекту увеличивался пропорционально кол-ву выпитых бутылок, а прибавка к силе и харизме не суммировалась?
Если использовать скриптовые эффекты, можно вообще всё. А вот чтобы как-нибудь просто... Гмм... Вот взять например, ingestible по имени "Пиво". Оно состоит из трёх четырёхминутных эффектов - плюс харизма, плюс сила и минус интеллект (на алкоголях ещё сбоку привыкатор принято вешать, но пиво обходится без). Все три эффекта условий не имеют. Но вот если на эффект ChemIncSTAlcohol добавить условием функцию HasMagicEffect, в качестве параметра указав этот же ChemIncSTAlcohol и проверяя на ноль - то базовый эффект "Увеличение силы - алкоголь" именно с пива больше не будет накладываться, пока хотя бы один такой эффект на алкоголике уже висит. Повторить для харизмы, интеллект не трогать - и любое пиво вскоре после первого в голову давать будет, а в бицепс и улыбку нет.
как запретить прием пищи/напитков (но не медикаментов) находясь под водой?
Я знаю только один способ определить, что ГГ находится под водой - проверять, выводится ли на экран индикатор дыхания. Возможно, есть плагин к FOSE, который добавляет функцию, позволяющую напрямую проверять ныряние ГГ; функциями самого FOSE можно только через состояние UI это опознать. Без FOSE и вовсе никак.
Можно ли приравнять к краже попытку залезть в чужой карман/сундук и перетаскивание чужих вещей клавишей Z?
Что считается кражей - прошито намертво в игре. Это "активация" предмета, имеющего владельца, тем, кто не входит в число владельцев. Открывание чужого контейнера, забирание чужого предмета, усаживание на чужую табуреточку... Манипуляции с кнопкой Z вообще не контролируются... Если ты подцепишь мышкой какой-нибудь кирпич и вот так насмерть забьёшь кого-то по башке - это не убийство и вообще не атака, это, так сказать, полтергейст.
Проще и надёжнее всего - не есть и не пить под водой. И медикаменты, принимаемые перорально, тоже там не есть.
Ну, хотя это и звучит донельзя разумно, многие авторы модов пытаются именно программно что-то запретить, заблокировать. У нас ведь обсуждался как-то вопрос, как сделать, чтобы вредный юзер не мог отпереть замок при помощи консоли! Помнится, Арвен тоже в свой реализм такого рода блокираторы встраивала - запрещала заглядывать в пип-бой во время боя например - но всё-таки не совсем озверело. Ну, то есть поскольку если игрок захочет сломать защиту, он её всё равно сломает - в настройках всё это у неё было сделано отключаемым. Если это делается как подстраховочка на случай, если дрогнет палец на горячей кнопке с пирожками - по-моему, уместно. Вот только реализовывать хлопотно...
Изменение репутации для пользователя Ipatow
IpatowOffline
Сообщение №1697
| Тема: Бункер модмейкеров
написано: 7 сентября 2017, 18:58
| Отредактировано: Ipatow - 7 сентября 2017, 18:59
Я и через Find Text искала [пробел Х пробел] и в окне ALL всё пересмотрела - ничего не нашла.
Главное тут было - определить, что именно брокен стил дворецкий. А уж повесить на него убийство вопрос технический
По уму, наверное, следовало бы наскриптовать SET MyVar TO X (в присутствии BS компилится, если MyVar определён) и посмотреть, во что оно скомпилировалось. xEdit выдаёт Global Reference за понюх табаку...
Но на самом деле я просто вывалил брокен стил в дамп и поискал текстом икс в угловых скобочках
Лучше всего это делать при помощи программы FNVEdit.Попробуй так куда-то влить модуль с закольцованными ссылками (как пример подобного - Ragdoll и Bodypart, ссылающиеся друг на друга)...
Изменение репутации для пользователя Ipatow
IpatowOffline
Сообщение №1700
| Тема: ВОПРОСЫ по моддингу
написано: 10 сентября 2017, 03:21
| Отредактировано: Ipatow - 10 сентября 2017, 03:22
А как вообще ссылка оказалась закольцованной? Хотя FNVedit имеет и возможность удаления зависимостей. Сработает ли она в этом случае - не знаю.
Как оно получилось - в моём примере это так и должно быть по конструкции. Эти объекты и должны друг от друга зависеть. Натворить подобного без необходимости проще простого (в том числе ненароком и логично - скажем, две реплики диалога, следующие друг из друга)... xEdit, разумеется, не может внести в модуль ссылку на объект другого модуля, который этому не мастер. Да, задачу всё равно возможно средствами xEdit решить, но это потребует аккуратной вивисекции без наркоза. То есть это совсем не то, что может быть выполнено автоматически и с кучей объектов разом - а оригинальный вопрос нуждался именно в таком решении.
я в iMaxCharacterLevel поставил 30 уровень,в сохранении перс 30 уровня ,но продолжает получать опыт!
Как мы знаем, каждый DLC повышает максимальный уровень ГГ на пять. Я не помню, как это сделано (вроде бы я туда копал лет пять назад, но что выкопал?). Если у тебя в игру загружены DLC, то первое же предположение, которое стоит проверить - поставь этот сеттинг в десятку. Десять тут, по +5 с каждого DLC - как раз тридцать и получится.
И более, вероятно, разумный вариант, если тебе нужно именно снизить максимум. Посмотри, как устроен перк имени Логана (OWB) - который не пускает за 30 - перк не трогает никакие лимиты, он просто обнуляет весь получаемый опыт, когда уровень ГГ выше 29. Почему бы тебе не поступить так же?
Саму идею можно реализовать очень по-разному... Как это сделано в третьем фолауте. Места случайных встреч никоим образом не случайны. Каждое такое место вручную выбрано и оборудовано. Оборудование включает триггер (один или целый набор), запускающий при входе ГГ процедуру, и набор маркеров. Процедура случайным образом выбирает один из вариантов встречи, и заранее изготовленные, настроенные и т.д. объекты этого варианта перемещаются на маркеры места происшествия. Варианты, естественно, при этом тратятся - одно и то же стадо браминов, например, не будет преследовать ГГ по всей Пустоши (особенно если их уже в первый визит убили и съели)... Принципиально эти случайные встречи ничем не отличаются от левельных мобов, так же вручную разбросанных по Пустоши и оказывающихся каждый раз чем-то новым.
Кто-нибудь знает, если ли мод на уменьшение повреждений, получаемые ГГ в бою? Или на уменьшение точности НПС? Эти супер-рейдеры с оптикой уже надоели! Убивают с одного выстрела!
По совести сказать, если типичному игроку в фолаут снайперски засадить пульку из ружа, ему тоже очень сильно поплохеет, и весьма вероятно, что наповал...
Мод для решения этой задачи не нужен. Открыть консоль, исполнить Player.ModActorValue DamageResist 50 (или другую цифру - это проценты) и наслаждаться уменьшившимся уроном. Я бы и вовсе god mode включил, чего мелочиться...
Если написать в форум третьего фола, и там начнётся актив
Двуязычная лицензия (хочешь подключаешь russian.esp, а хочешь играешь на языке оригинала) приказала долго ностальгировать с выходом DLC. Поскольку этот самый russian.esp оверрайдит записи fallout3.esm, чтобы произошли русские буквы - но DLC делают это же самое, причём по более существенным причинам, и наложение после них того esp их правки возвращает куда не надо. К "золотому изданию" лицензёры ещё и озвучку русскую сделали, так что в современном варианте russian.esp уже намертво вбит в fallout3.esm (пираты, что логично, использовали эту, последнюю, версию). Если DLC не используются, функционально без разницы, строить мод над сразу-русским fallout3.esm или над парой fallout3.esm+russian.esp, результат получится тот же. Если использовать DLC, разумно обходиться без esp-руссификатора при постройке мода (или тщательно проверять все оверрайды своего мода с помощью FO3Edit).
Какой бы язык игры ни использовался создателем мода, работать мод будет. Как я с интересом наблюдал на модах японского производства, всё прекрасно работает, просто буквы кое-где странные.
получается, что моды создавать лучше на русской пиратки?
Происхождение монолитного fallout3.esm несущественно. Если ты своими руками (FO3Plugin) вбиваешь своей лицензионной игре добавочный esp в главный esm, ты получаешь тот же самый монолитный fallout3.esm
Таким же образом, я думаю можно вшить russian.esp в свой мод
В мод оно (касающаяся мода часть руссификации) вошьётся само собой, если мод изготавливается при загруженном russian.esp... Вообще-то, большинство модов, которые не исправляют что-то в игре, а добавляют новое, с руссифицированностью игры сталкиваются ровно в одном месте: Пустоши могут ненароком переименоваться в Wasteland (но часто ли игроки смотрят туда, где оно написано?).
Изменение репутации для пользователя Ipatow
IpatowOffline
Сообщение №1707
| Тема: ВОПРОСЫ по моддингу
написано: 26 сентября 2017, 15:55
| Отредактировано: Ipatow - 26 сентября 2017, 15:57
Выражение (1 + GetRandomPercent * число-вариантов / 100) после приведения к целому числу принимает значения от единицы до максимума случайным образом. То есть когда тебе нужно случайно выбрать что-то из конечного набора - порядковый номер варианта вычисляется так.
КсюXa предлагала решение менее эффективное, когда нужна именно абсолютная случайность, но, вообще-то, более гибкое, когда шансы зависят от множества аккумулирующихся факторов. Например, если вероятность тринадцатого варианта резко повышается в течение часа после того, как тебе дорогу перебежал чёрный радтаракан, это невозможно выразить формулой, это необходимо отслеживать скриптом-монитором.
Изменение репутации для пользователя Ipatow
IpatowOffline
Сообщение №1709
| Тема: ВОПРОСЫ по моддингу
написано: 27 сентября 2017, 00:35
| Отредактировано: Ipatow - 27 сентября 2017, 00:37
Ох, я такого могу написать, что аж шерсть дыбом... Например, вот это скрипт (выделены имена, определённые вне скрипта):
SCRIPTNAME MyTriggerScript SHORT tmpInt BEGIN OnTriggerEnter Player Disable SET tmpInt TO GetRandomPercent IF (tmpInt >= 13) ; шанс 13% что явление случится Return ENDIF MyTriggerRef1.Disable MyTriggerRef2.Disable MyTriggerRef3.Disable MyTriggerRef4.Disable SET tmpInt TO 3 * tmpInt / 13 ; точек три, в знаменателе тот же шанс IF (tmpInt == 0) MyNPCRef.MoveTo PointA ELSEIF (tmpInt == 1) MyNPCRef.MoveTo PointB ELSE MyNPCRef.MoveTo PointC ENDIF END
Я даже не знаю, корректно ли движок третьих фолаутов пытается искать боевые анимации для плавания. Поскольку авторы игры таких анимаций не сделали, это не на чем и проверить. Если понадеяться, что ищет правильно - реальное преодоление "барьера" будет состоять в изготовлении соответствующих анимаций. Очень мало моддеров анимации делали, все они известны, и никто плавания не касался. Ожидать появления кого-то нового, наверное, уже не приходится...