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

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


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




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

Ой, всё...
ApeX  Offline  Сообщение №2251 написано: 5 ноября 2019, 20:53



divine2991, для начала хорошо бы Картотеку посещать. Ссылка на нее не для красоты закреплена в шапке темы.

JupiterJour  Offline  Сообщение №2252 написано: 5 ноября 2019, 22:09 | Отредактировано: Joopeeter - 5 ноября 2019, 22:09


_


Цитата КсюXa

Подойдут Ипатов с Юпитером


И скажут (а я уверен, что и Ipatow скажет то же самое), что надо использовать систему CRAFT и не мучиться.
А если уж хочется потренироваться в многоуровневых сообщениях, то идти от простого к сложному, а не от верстака чёрте-куда.

КсюXa  Offline  Сообщение №2253 написано: 6 ноября 2019, 03:51


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


Цитата divine2991

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

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

  И вот тут вылезает закавыка - в скрипте уже были прописаны действия для кнопок первого месседжа, поэтому, когда откроется окно второго месседжа, скрипт будет делать для его кнопок то же самое, что и для кнопок первого.
  В скрипт надо будет вводить дополнительную переменную, дублировать все команды по отслеживанию нажатия кнопок, в каждый дубль добавлять проверку значения этой переменной.
Например: если значение переменной = 1 (открыта первая страница меню), то при нажатии кнопки из текущего месседжа скрипт сделает что-то из компонентов Х, а вот если значение переменной = 2 (открыта вторая страница меню) то при нажатии этой кнопки скрипт сделает уже что-то из компонентов Y. Вот такой вот нюанс.
  Скрипт разрастается, конечно, до неимоверного размера, с кучей строк, в которых легко запутаться и "накосячить".
Поэтому, как уже неоднократно говорилось - не стоит править ванильный верстак. Сделай свой отдельный, со своим скриптом, поставь в доме игрока в Мегатоне где-нибудь рядом с родным верстаком и будет счастье.
  PS. Опять же, если будет два разных мода от разных мододелов на разные схемы, но сделанные для ванильного верстака - то в игре все равно будет работать только один из них, который отметят последним в списке загрузки. Он своими изменениями "затрет" все предыдущие манипуляции другого мода над верстаком.

Ой, всё...
Ipatow  Offline  Сообщение №2254 написано: 6 ноября 2019, 05:54



Цитата Joopeeter

надо использовать систему CRAFT и не мучиться

Да, это самое рациональное. Если мод делается сильно большой и вводящий какие-то новые системы, не имеющие аналогов, можно под шумок и систему производства свою собственную построить - но тут определённо не тот масштаб.

КсюXa  Offline  Сообщение №2255 написано: 6 ноября 2019, 06:10 | Отредактировано: КсюXa - 6 ноября 2019, 08:15


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


О! Вместо верстака просто скрипт на конкретно нужную броню. По аналогии со всякими выключателями, вентилями, требующими определенный навык ремонта или науки.
При активации (подъеме брони в инвентарь)  выскакивает сообщение - "Броня такая-то, обычная, но у вас в рюкзаке есть свистелки-перделки, способные улучшить это." При отказе получаем обычную, при согласии - улучшенную.
Получается - без верстака, типа - на коленке сделал, в походных условиях  :D
Для совместимости с другими модами, затрагивающими эту же броню, скрипт можно вкорячить в новый перк: есть перк - броня апгрейдится, нет перка - извините...

Добавлено (06 Ноября 2019, 09:21)
---------------------------------------------
Кстати, мастер Ипатов - вопрос такой незатейливый: если на предмете висит скрипт с OnAdd, то при покупке такого предмета у торговца через меню торговли - команда срабатывает?  Ну типа в ОнАдд задумано, что при добавлении заскриптованного предмета происходит нечто своё, отдельное. Знаю, что если напрямую брать, с "земли" - то ноу проблем, а вот через покупку...
Если честно - мне проверять лень blush

Ой, всё...
Ipatow  Offline  Сообщение №2256 написано: 6 ноября 2019, 07:11 | Отредактировано: КсюXa - 6 ноября 2019, 07:36



Цитата КсюXa

если на предмете висит скрипт с OnAdd, то при покупке такого предмета у торговца через меню торговли - команда срабатывает?

HD01HouseItemPurchaseScript [SCPT:00051E72], помнится, работает как задумано...

КсюXa  Offline  Сообщение №2257 написано: 6 ноября 2019, 07:23


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


Ок, спасибо. А то что-то затупила... smile2

Ой, всё...
divine2991  Offline  Сообщение №2258 написано: 6 ноября 2019, 10:01



16
Цитата КсюXa

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

Спасибо вы мне очень помогли.  Для начала я наверное и так сделаю, а потом копну поглубже  ^_^

Art69
JupiterJour  Offline  Сообщение №2259 написано: 6 ноября 2019, 13:08


_


Цитата divine2991

я не думал что Верстак это вершина Эвереста


Скорее, Западносибирская равнина - не столько в вышину, сколько в длину и ширину.

КсюXa  Offline  Сообщение №2260 написано: 9 ноября 2019, 13:33


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


Цитата Joopeeter

как сделать рабочей вторую страницу меню


Вот, к примеру - шаблон скрипта для верстака.  Для верстака, естественно, отдельного, не ванильного.
Попробуй приспособить для своих целей.
  В скрипте прописаны кнопки для первой страницы меню и для второй страницы. А также переход между страницами.
Результирующий итог для нажатия кнопок пустой - тут тебе решать, что "программировать" на них.
 В итоге скрипт пока довольно невелик, но вот когда будешь заполнять проверки условий для каждой кнопки и какой результат должен быть после этих проверок - скрипт разбухнет до безобразия. Он не станет сложнее, просто объемнее.
PS. Шаблон сделан в виде еспешника, в игре работу кнопок можно проверить на новом верстаке возле магазина Мойры.

Ой, всё...
supernik95  Offline  Сообщение №2261 написано: 10 ноября 2019, 10:52 | Отредактировано: supernik95 - 10 ноября 2019, 10:53



6
Народ, есть такой вопрос. После нахождения определенного количества времени вне новой локации и по возвращении ГГ в оное, большее число НПС скапливается в одном месте. Это из-за кривых навмешей или же в самой локации есть дыры, и неписи как-бы "спотыкаются"? Подскажите.

После работы чарочку, вторую...
ApeX  Offline  Сообщение №2262 написано: 10 ноября 2019, 11:14



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

supernik95  Offline  Сообщение №2263 написано: 10 ноября 2019, 15:09



6
[quote=ApeX;1330286]Навигация, видимо, хромает.[/quote]
Так получается косяк в движке игры или все-же у меня?

После работы чарочку, вторую...
ApeX  Offline  Сообщение №2264 написано: 10 ноября 2019, 16:59



Цитата supernik95

кривых навмешей

Блин, ответ очевиден. Кривые навмеши на новой локации. Движок игры тут и рядом не тарахтел.
И что там именно кривое - отсюда не видно. Пока только информация про существование какой-то новой локации, х.з. где.

supernik95  Offline  Сообщение №2265 написано: 10 ноября 2019, 17:46



6
Цитата ApeX

Блин, ответ очевиден. Кривые навмеши на новой локации. Движок игры тут и рядом не тарахтел.


Спасибо, пойду смотреть.

После работы чарочку, вторую...
ApeX  Offline  Сообщение №2266 написано: 10 ноября 2019, 17:57



supernik95почитай, поможет лучше смотреть.

supernik95  Offline  Сообщение №2267 написано: 11 ноября 2019, 18:39



6
Цитата ApeX

supernik95,  почитай, поможет лучше смотреть.


Все, разобрался, спасибо большое)

После работы чарочку, вторую...
divine2991  Offline  Сообщение №2268 написано: 21 ноября 2019, 13:38



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

Art69
JupiterJour  Offline  Сообщение №2269 написано: 21 ноября 2019, 14:15


_


GetAV repair >= [определённый уровень]

divine2991  Offline  Сообщение №2270 написано: 21 ноября 2019, 15:04



16
Цитата Joopeeter

GetAV repair >= [определённый уровень]

Я извиняюсь, но я так понимаю что это не скрипт, а условия открытой якчейки в message box.
Можно как-то написать скрипт похож на GetHasNote ? Я пробовал вписать команду (GetAV repair = 25) не работает. 




Art69
Spalny_Vagon  Offline  Сообщение №2271 написано: 22 ноября 2019, 17:26 | Отредактировано: Spalny_Vagon - 22 ноября 2019, 17:27


Мастер


Цитата divine2991

if GetAV repair

note может иметь только игок, поэтому при использовании gathasnote не обязательно указывать, кто именно имеет этот note. В отличие от AV (actor value), которых и у игрока, и у каждого НПС целая куча, поэтому при использовании getav repair нужно обязательно указывать, у кого именно проверяется навык ремонта. Т.е. должно быть так:
Код
if player.getav repair >= 25

======================
Мод "Нью-Йорк" на русском: 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
divine2991  Offline  Сообщение №2272 написано: 22 ноября 2019, 19:47 | Отредактировано: divine2991 - 22 ноября 2019, 19:47



16
Цитата Spalny_Vagon

при использовании getav repair нужно обязательно указывать, у кого именно проверяется навык ремонта.

Спасибо! Разобрался, все заработало ^_^


Art69
ncrrainjer  Offline  Сообщение №2273 написано: 28 ноября 2019, 16:07 | Отредактировано: ncrrainjer - 28 ноября 2019, 16:13



199
Всем привет!Столкнулся с проблемой, установил дополнение первичных потребностей и в этом дополнении помимо всего прочего есть возможность менять течение времени скриптом типа



Собственно суть проблемы, если я ставлю set timescale to 15 то время в шкале сна или отдыха начинает отставать.
Например если на часах "пятница 11:59pm" то в 12:01pm должна быть суббота,НО у меня день меняется в 12:08pm может знает кто как подправить?

ApeX  Offline  Сообщение №2274 написано: 29 ноября 2019, 06:26



Скорость течения времени можно и через консоль менять, без скриптов этой же командой - set timescale to нужное значение (по умолчанию 4, кажется). Возможно, значения 14 или 16 "подведут" хронометр, раз точное время так важно.

ncrrainjer  Offline  Сообщение №2275 написано: 29 ноября 2019, 06:54 | Отредактировано: ncrrainjer - 8 декабря 2019, 07:59



199
ApeX,О,спасибо,буду пробовать)

Добавлено (08 Декабря 2019, 10:26)
---------------------------------------------
Ребят,подскажите пожалуйста как поднимается уровень NPC есть какая-то система?И как сделать топик диалога на подобии второго Фолла, когда NPC уровень получал,говорил,что чувствует силу или что стал сильнее и т.п.
Пытался запросить характеристики через диалоге:

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

ApeX  Offline  Сообщение №2276 написано: 8 декабря 2019, 10:56



ncrrainjer, можно глянуть на Брисе. Там не совсем через такой диалог можно поднять уровень NPC, но достаточно близко к этому. Правда, нужен FOSE (пусть и не для этого).

КсюXa  Offline  Сообщение №2277 написано: 8 декабря 2019, 11:29


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


Цитата ncrrainjer

ShowMessage MyNPCStatMSG Rang, Lvl, Exp, CurExp

Это все в резалт скрипте диалога.

Тут надо переменные выносить в отдельный квестовый скрипт для отдельного квеста, где и будет настраиваться текущее значение нужных параметров, а в самом месседже в поле текста внести соответствующие строки. Ну типа:
Уровень (Lvl): %.0f
Ранг
(Rang): %.0f
и так далее...
А в команде ShowMessage указать переменные из какого квеста берутся:

ShowMessage MyNPCStatMSG IDквеста.Lvl IDквеста.Rang и так далее.

Ой, всё...
ncrrainjer  Offline  Сообщение №2278 написано: 8 декабря 2019, 13:43



199
КсюXa,Большое спасибо за ответ)Но все же уровень NPC и его опыт меняется допустим если он участвует в боях?Или с каким уровнем NPC создан, с таким уровнем он и остается не зависимо от его действий.Просто если у неписей нет системы поднятия уровня,то и заморачиваться не стоит с изобретением велосипеда, тогда я сделаю другие ветки развития.

Добавлено (08 Декабря 2019, 16:43)
---------------------------------------------
ApeX,Спасибо)Тоже о Брисе подумал)


Nesuqik  Offline  Сообщение №2279 написано: 21 января 2020, 09:56 | Отредактировано: Nesuqik - 21 января 2020, 10:07



5
Привет, появился такой интересный вопрос - как отловить смерть турели через GameMode?
И сразу еще один интересный вопрос. Когда турель разрушается (умирает) она переходит в Disable или все же можно получить ее хп GetAV Health?
Недавно пришел в F3, мало чего еще знаю mellow

Код

  if ( iTurret05.GetDisabled == 1 )
            if ( iTurretType == 1 )
               set iTurret05 to aaaFunnyWorldTurretREF05.PlaceAtMe aaaFunnyWorldTurret01 1 5;
            elseif ( iTurretType == 2 )
               set iTurret05 to aaaFunnyWorldTurretREF05.PlaceAtMe aaaFunnyWorldTurret02 1 5;
            elseif ( iTurretType == 3 )
               set iTurret05 to aaaFunnyWorldTurretREF05.PlaceAtMe aaaFunnyWorldTurret03 1 5;
            elseif ( iTurretType == 4 )
               set iTurret05 to aaaFunnyWorldTurretREF05.PlaceAtMe aaaFunnyWorldTurret04 1 5;
            endif
         else
            iTurret05.RestoreAV Health 9999;
         endif

Начало спавна происходит в Quest Stage таким образом:

Код
set aaaFunnyWorldQuestTurrets.iTurret05 to aaaFunnyWorldTurretREF05.PlaceAtMe aaaFunnyWorldTurret01 1 5;


Вот такой код используется у меня на спавн турели. Только вот при загрузке их появляется много (очень много).
Или это все же может быть связано с тем что редактирую скрипты и потом снова загружаюсь в мод, и получается такая штука?
Уже всю голову поломал как это сделать.
Код на спавн неписей помощников такой же, только он правильно работает, а этот, зараза, не хочет(

JupiterJour  Offline  Сообщение №2280 написано: 21 января 2020, 15:17


_


Цитата Nesuqik

Код на спавн неписей помощников такой же, только он правильно работает,


Значит, не такой же.

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





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