Форум » Записи участника [Ipatow]

Результаты поиска
Ipatow  Offline  Сообщение №1531 | Тема: ВОПРОСЫ по моддингу написано: 14 сентября 2015, 14:15



Цитата КсюXa

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

Он же на улицу пакетом выходит? В стартскрипте пакета одевай уличное - ещё дома. А раздевается уже дома он и так правильно, да?

Ipatow  Offline  Сообщение №1532 | Тема: Помощь по моддингу написано: 14 сентября 2015, 14:59



Цитата ncrrainjer

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

Пропущено, судя по показанному, много чего... Например, в "set CantineEmptyV13 to +1" не сказано, к чему прибавляется единица - переменная просто выставляется в плюс единицу и всё. А вообще конструкция затейливая - одних скриптовых эффектов вон не меньше двух - так что по фрагментам восстановить, что ещё там не так, затруднительно.

Ipatow  Offline  Сообщение №1533 | Тема: Помощь по моддингу написано: 14 сентября 2015, 16:07



Цитата ncrrainjer

в первом эффекте должна прибавляться полная фляжка (player.additem CentieFoolV13) но она либо не прибавляется,либо прибавляется один раз и все!

Должна прибавляться, да. Если эффект вообще запускается - то прибавляется. Возможно, что и один раз - зависит от параметров эффекта, которые ты не указал... Вообще, для чего тебе два скриптовых эффекта? Только ради того, чтобы заменить IF в скрипте условием на эффекте? Не думаю, что это рациональный подход... Я бы вместо двух скриптов использовал

BEGIN ScriptEffectStart
IF CantineEmptyV13 > 3 ; выпито по крайней мере четыре, то есть пьём не менее чем пятый глоток
Player.AddItem CentieV13 1
SET CantineEmptyV13 TO 0
ELSE
Player.AddItem CentieFoolV13 1
SET CantineEmptyV13 TO CantineEmptyV13 + 1
ENDIF
END

Ipatow  Offline  Сообщение №1534 | Тема: Помощь по моддингу написано: 14 сентября 2015, 19:41



Цитата AndrewMulti

Я тут нашел способ создавать катсцены в третьем Fallout

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

Ipatow  Offline  Сообщение №1535 | Тема: Скрипты написано: 14 сентября 2015, 21:27



Цитата Joopeeter

Я б ещё маркер сделал бы живым

Не будет защиты от коврового бомбометания... Которое не только всю рощу разом на дрова разбирает, так недобитые дрова ещё и разлетятся по ближним оврагам unsure

Ipatow  Offline  Сообщение №1536 | Тема: Помощь по моддингу написано: 17 сентября 2015, 22:04



Цитата ncrrainjer

В самой стадии квеста где нужно убить НПС (в Резалт скрипте) прописываю скрипт:
Begin gamemode

Вообще, я помню, что эти всяческогого происхождения "результовые" скрипты (диалоги, пакеты, стадии квеста, перки.. где там ещё бывают эти странные скрипты без заголовков?) на самом деле для исполнения ловко всовываются в середину настоящих скриптов (в результате вызывая, например, конфликты имён переменных), определяемых системой невнятным способом... А поскольку правила синтаксиса интепретируют одноимённые блоки как один блок, непринуждённо продолжая какой-нибудь онтриггер следующим онтриггером... То, вероятно, гейммод в "результовом" скрипте куда-то там влипнет и, вполне возможно, отработает... Но вообще "результовые" скрипты по смыслу одноразовые, то есть не повторяющиеся автоматически.

При штатном использовании каждый result script определённой стадии квеста (лога в игре нет, но log entry в одной stage может быть описано множество, каждый со своим скриптом) исполняется один раз от начала до конца в момент вызова функции SetStage (очерёдность исполнения скриптов стадии, когда их больше одного, не документирована) - то есть перед выполнением следующей строчки того скрипта, который вызвал SetStage. Своего рода подобие подпрограммы, только параметры нельзя передать.

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

IF LocalCounter == 0
SetObjectiveDisplayed 1
SET LocalCounter TO 1
ELSEIF LocalCounter ==1
IF сделано что надо для первого этапа
SetObjectiveCompleted 1
SetObjectiveDisplayed 2
SET LocalCounter TO 2
ENDIF
ELSEIF LocalCounter ==2
IF сделано что надо для второго этапа
SetObjectiveCompleted 2
SetObjectiveDisplayed 3
SET LocalCounter TO 3
ENDIF
ELSEIF повторяем столько раз, сколько этапов у квеста
ENDIF

Стадии по такой технологии как бы и ни к чему...

Ipatow  Offline  Сообщение №1537 | Тема: Помощь по моддингу написано: 18 сентября 2015, 04:16



Цитата ncrrainjer

если я правильно понял,то скрипт с такой конструкцией вешается на сам квест?И что такое LocalCounter?

Да, как я и написал, такое пишется в скрипт самого квеста. Это просто переменная
SHORT LocalCounter
при запуске квеста инициализируется нулём, как и все переменные...

Ipatow  Offline  Сообщение №1538 | Тема: ВОПРОСЫ по моддингу написано: 21 сентября 2015, 15:53



Цитата q2werty

кто знает как это можно сделать

Я бы предложил посмотреть, как такое сделано в Lutana CotW Expansion by Luthien Anarion and Arlekin - подмена экипировки для хитрой расы ГГ.

Ipatow  Offline  Сообщение №1539 | Тема: ВОПРОСЫ по моддингу написано: 22 сентября 2015, 18:22



Цитата q2werty

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

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

Простейший случай алгоримта, по которому должен работать твой мод... Всю существующую броню заносим в список А (формлист) - это "стандартная" броня, в котрую одет весь мир (допустим, Type-N). Делаем копии каждого объекта брони, меняя только модели (допустим, на Type-V) - это будет броня, в которую одет ГГ - и заносим эту "нестандартную" броню в список Б. Списки упорядочены и соответствуют друг другу - допустим, под номером 18 в первом "Шипастая броня рейдера" Type-N, во втором под номером 18 "Шипастая броня рейдера" Type-V. Остаётся только запустить два фокуса. Один при попадании предмета из Списка А в руки ГГ подменяет этот предмет соответствующим номером из списка Б. Второй фокус при попадании предмета из списка Б в руки кому угодно кроме ГГ подменяет этот предмет соответствующим номером из списка А. Это, собственно, весь мод.

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

Ipatow  Offline  Сообщение №1540 | Тема: ВОПРОСЫ по моддингу написано: 23 сентября 2015, 20:20



Цитата q2werty

кусок похожего скрипта? Только для примера..



SET tmpRefVar1 TO Player.GetEquippedObject 2
IF tmpRefVar1 ; что-то надето
…SET tmpIntVar TO ListGetFormIndex TypeNArmorList tmpRefVar1
…IF tmpIntVar > -1 ; надетое в списке обычного
……SET tmpRefVar2 TO ListGetNthForm TypeVArmorList tmpIntVar
……SET tmpFloatVar TO Player.GetEquippedCurrentHealth 2
……Player.RemoveItem tmpRefVar1 1 1
……Player.AddItem tmpRefrVar2 1 1
……Player.EquipItem tmpRefrVar2 0 1
……Player.SetEquippedCurrentHealth tmpFloatVar 2
…ENDIF
ENDIF

Ipatow  Offline  Сообщение №1541 | Тема: Скрипты написано: 27 сентября 2015, 00:27



Цитата YikxX

мне бы еще пример использования в скрипте, если не трудно. Тупое, Player.RestoreLimbHead я так понял, не катит

Ты не разобрался, о чём речь. Скрипт в эффекте использовать можно, а наоборот - эффект в скрипте - нельзя. Ну, строго говоря, можно изготовить Actor Effect или Ingestible, внутрь которого будет завёрнут нужный Base Effect вроде RestoreLimbHead (который по существу делает ровно то же, что нелюбимый тобой RestoreAV, но на свой лад), и из скрипта результат вешать на нужную цель при помощи CastImmediateOnSelf. Рациональности в таком способе... Как делать три правых поворота вместо одного левого - лишь бы не ходить налево nea

Ipatow  Offline  Сообщение №1542 | Тема: ВОПРОСЫ по моддингу написано: 28 сентября 2015, 20:39



Цитата Сhastener

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


Согласно документации, второй параметр функции EquipItem отвечает за невозможность снятия надеваемого предмета иначе как при помощи UnequipItem. Насколько это надёжно, я не проверял.

Ipatow  Offline  Сообщение №1543 | Тема: ВОПРОСЫ по моддингу написано: 29 сентября 2015, 05:37



Цитата КсюXa

Второй? Или-таки первый?

Первый, обязательный, параметр - сам экипируемый item :D

Ipatow  Offline  Сообщение №1544 | Тема: Помощь по моддингу написано: 29 сентября 2015, 18:01



Цитата Galko

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

Да ты видела, как наш фельдшер стимпаки бросает? Не успеваешь договорить "Васе плохо" - а он уже метнул в Васю самонаводящийся шприц, не в бровь а в глаз! ok Поговаривают, у него и шприцемёт гатлинговый есть для массхила ;)

Ipatow  Offline  Сообщение №1545 | Тема: Помощь по моддингу написано: 29 сентября 2015, 18:35



Цитата Galko

идея-то фонтанировала такая, чтобы не из пулеметамантумёта пациентов мочить, а по-старинке, со стетоскопом

Строго говоря... Оно ведь - дым, зеркала и ассистентка в купальнике в нашей профессии незаменимы... Да, могут оказаться не-Persistent и дохтур, и пациенты, и потому при выходе движение останавливается. Но ведь мы знаем, что на самом деле бегемот только пасть открывает, а поёт тоже крокодил. То есть на самом деле исцеление производится в момент завершения реплики разговора - доктор ещё идёт вразвалочку, нашаривая в кармане свой резиновый молоток, а на пациенте уже повис спелл, который его вылечит по таймауту. Поэтому если ГГ вышел на пару часиков, то по возвращении и пациенты здоровы, и все свидетели присягают, что - да, ходил дохтур, ходил-ходил, лечил-лечил!

Ipatow  Offline  Сообщение №1546 | Тема: ВОПРОСЫ по моддингу написано: 3 октября 2015, 21:23



Цитата wertu

Как бы можно сделать так чтобы ремонт можно было делать только когда находишься вне бою? Осуществимо?

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

Ipatow  Offline  Сообщение №1547 | Тема: ВОПРОСЫ по моддингу написано: 4 октября 2015, 03:33



Цитата wertu

А можно как-то заблочить кнопку ремонта R во время боя?

Именно кнопку R?.. Гмм... DisableKey 19

Как альтернативный вариант - ловить MenuMode 1035 и принудительно выходить, хотя, вероятно, экран ремонта успеет нарисоваться на какие-нибудь полсекунды.

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

Ipatow  Offline  Сообщение №1548 | Тема: ВОПРОСЫ по моддингу написано: 7 октября 2015, 00:00



Цитата q2werty

Как можно проверить что надето не на Player, а на любом НПС? Хотя, мне кажется, что так делать не верно.

Проверять-то так же, но это приобретает смысл, только если делается полноценный Armor-by-Race мод, в котором "обычная" броня нуждается в трансформации при передаче от одного NPC другому, то есть логически одна и та же вещь на разных NPC должна выглядеть по-разному. Когда вариантов всего два, и один из них ГГ, этот угол практичней срезать.

Ipatow  Offline  Сообщение №1549 | Тема: ВОПРОСЫ по моддингу написано: 8 октября 2015, 04:38



Цитата q2werty

Или все-таки нужно еще внутри разместить проверку, не является ли объектом Player?
Если да, то был бы очень признателен примеру команды на подобную проверку..

IF GetContainer != Player

Ipatow  Offline  Сообщение №1550 | Тема: ВОПРОСЫ по моддингу написано: 9 октября 2015, 01:11



Цитата q2werty

Или в данной ситуации getself используется некорректно?

Не помню, как обстоит дело с OnAdd, но иногда это действительно так. Вдвойне падки на подобное инвентарные объекты в инвентаре - дело в том, что у них на самом деле нет FormID (они не совсем референсы, поскольку они не объекты мира). При этом самонаведение функций срабатывает. Неприцельный GetBaseObject честно скажет, кто у нас база - и уже эту базу ты сверяешь со списком. Да, и вместо RemoveItem тут желательно использовать RemoveMe (который, собственно, кроме как в OnAdd-блоках и не используется).

Ipatow  Offline  Сообщение №1551 | Тема: ВОПРОСЫ по моддингу написано: 9 октября 2015, 14:57



Цитата q2werty

сработает ли строка AddItem tmpRefVar2? Скрипт поймет, что добавить нужно броню именно в инвентарь НПС, а не куда-то там в неизвестность?

Не поймёт. Добавлять предмет надо тому, кого нам показывает GetContainer.

Ipatow  Offline  Сообщение №1552 | Тема: ВОПРОСЫ по моддингу написано: 12 октября 2015, 14:13



Цитата Экзорцист

Можно ли как-то изменить имя уже созданного персонажа?

Разрешаю, меняй.

Помимо очевидного решения с использованием мода, состоящего из одного сеттинга, напомню о существовании функции SetStringGameSettingEX

Ipatow  Offline  Сообщение №1553 | Тема: ВОПРОСЫ по моддингу написано: 15 октября 2015, 21:13



Цитата taijok

Есть какой-нибудь способ это исправить и заставить расу видеть прически из других модов?

Один модуль может увидеть объекты другого модуля тогда и только тогда, когда этот другой модуль является для первого мастер-модулем. Идеальное классическое решение для случая, когда и модуль расы, и модуль причёсок - ESM: загружаем в GECK оба модуля, не делая активным никакой модуль, перетаскиваем нужные объекты причёсок в список причёсок нужной расы, сохраняем патч новым модулем. Возможны вариации этой процедуры для разных обстоятельств, но основа технологии такая.

Ipatow  Offline  Сообщение №1554 | Тема: Помощь по моддингу написано: 19 октября 2015, 19:18



Цитата ncrrainjer

работает корректно (исполняет все команды) только один компаньон, у остальных при любой команде пакеты полностью сбрасываются

Проверяй везде условия. Если на пакетах, например, висит GetIsID на первого из четвёрки, то остальным эти пакеты что вешай что не вешай...

Ipatow  Offline  Сообщение №1555 | Тема: Помощь по моддингу написано: 20 октября 2015, 19:30



Цитата ncrrainjer

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

Не обязательно именно эта функция может всё останавливать, тысячей способов заклинить можно. Ты все условия проверил? Пакеты переключаются чем? Переменной? Чья это переменная, своя ли она у каждого из неписей? Предметом-маркером? Кому в карман клядётся маркер? В чьём кармане он ищется? Раз не работает, значит, в каком-то месте проверяется не то или не там или не так...

Ipatow  Offline  Сообщение №1556 | Тема: Помощь по моддингу написано: 24 октября 2015, 05:05



Цитата wertu

Есть в игре модель медвежьего капкана, как бы это ее к движку привязать?

Модель в игре есть - значит, она уже привязана к движку. Что именно ты хочешь сделать?

Ipatow  Offline  Сообщение №1557 | Тема: Помощь по моддингу написано: 25 октября 2015, 08:13



Цитата wertu

как отключить слайды в игре, чтоб загрузку ускорить?

Это регулируется, насколько возможно, в INI-файле в секции [Loading]... Выставить fLoadingInitUpdateInterval в ноль, например. Но убрать-то можно только умышленную задержку, а если оно слайды показывает из-за того, что ещё не прогрузилось, толку от их убирания не будет - будешь сидеть перед пустым экраном столько же, сколько сидишь перед слайдами.

Ipatow  Offline  Сообщение №1558 | Тема: ВОПРОСЫ по моддингу написано: 28 октября 2015, 17:43



Цитата Сhastener

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

Можно для этой цели использовать глобальную переменную (в скриптах обращаться просто по имени переменной), можно переменную скрипта квеста, в котором лежит этот диалог (обращаться как имяквеста.имяпеременной), а можно и любую другую универсально доступную переменную.

Ipatow  Offline  Сообщение №1559 | Тема: ВОПРОСЫ по моддингу написано: 5 ноября 2015, 19:41



Цитата Сhastener

как сделать что бы на определенного NPC не действовали ловушки, как на главного героя с перком "легкий шаг"

Эта функциональность реализована как Entry Point для перка; поскольку только ГГ может быть носителем перка, функциональность доступна только ГГ. Хотя в FNV и появились "компаньонские" перки, они тоже не позволят навесить эффект Entry Point на моба.

Ipatow  Offline  Сообщение №1560 | Тема: ВОПРОСЫ по моддингу написано: 6 ноября 2015, 04:57 | Отредактировано: Ipatow - 6 ноября 2015, 04:58



Цитата Brujah

Странно. Я добавлял спутникам перки.

Я, помнится, тоже когда-то проверял, взрываются ли функции AddPerk, RemovePerk и HasPerk, когда нацелены не на ГГ. Они действительно не взрываются, на идеологической заре цивилизации авторская концепция предполагала курс развития, предусматривающий доступность перков для всех. Но это из того же разряда, что у мобов есть такие Actor Value - Action Points или Invisibility - просто их значение не играет никакой роли. Так что пока твоё "добавлял" означает "вызывал функцию", никто не упрекнёт - но Сhastener хотел, чтобы оно работало.

Форум » Записи участника [Ipatow]
Поиск:





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