Вверх Вниз


Модератор форума: КсюXa, ApeX  
Форум » Fallout 3 » Мастерская » Помощь по моддингу (Помощь в нелегком модмейкерском деле)
Помощь по моддингу
КсюXa  Offline Сообщение №1 написано: 09 Июля 2010 в 22:51


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


1142


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

Я шаурму в ларьках на улице не покупаю. Делаю дома сама. Получается как настоящая. Даже траванулась пару раз.
ApeX  Offline Сообщение №2251 написано: 05 Ноября 2019 в 23:53



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

Ab altero expectes, alteri quod feceris
Коммерческие заказы НЕ выполняю!
JupiterJour  Offline Сообщение №2252 написано: 06 Ноября 2019 в 01:09 | Отредактировано: Joopeeter - Среда, 06 Ноября 2019, 01:09


_


1037
Цитата КсюXa ()
Подойдут Ипатов с Юпитером

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

КсюXa  Offline Сообщение №2253 написано: 06 Ноября 2019 в 06:51


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


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

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

Я шаурму в ларьках на улице не покупаю. Делаю дома сама. Получается как настоящая. Даже траванулась пару раз.
Ipatow  Offline Сообщение №2254 написано: 06 Ноября 2019 в 08:54



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

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


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


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

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

Я шаурму в ларьках на улице не покупаю. Делаю дома сама. Получается как настоящая. Даже траванулась пару раз.
Ipatow  Offline Сообщение №2256 написано: 06 Ноября 2019 в 10:11 | Отредактировано: КсюXa - Среда, 06 Ноября 2019, 10:36



2330
Цитата КсюXa ()
если на предмете висит скрипт с OnAdd, то при покупке такого предмета у торговца через меню торговли - команда срабатывает?
HD01HouseItemPurchaseScript [SCPT:00051E72], помнится, работает как задумано...

КсюXa  Offline Сообщение №2257 написано: 06 Ноября 2019 в 10:23


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


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

Я шаурму в ларьках на улице не покупаю. Делаю дома сама. Получается как настоящая. Даже траванулась пару раз.
divine2991  Offline Сообщение №2258 написано: 06 Ноября 2019 в 13:01


Странник


11
Цитата Joopeeter ()
Подойдут Ипатов с ЮпитеромИ скажут (а я уверен, что и Ipatow скажет то же самое), что надо использовать систему CRAFT и не мучиться.
А если уж хочется потренироваться в многоуровневых сообщениях, то идти от простого к сложному, а не от верстака чёрте-куда.
Цитата Ipatow ()
надо использовать систему CRAFT и не мучитьсяДа, это самое рациональное.
Спасибо! Надо будет разобраться в системе CRAFT. И я не думал что Верстак это вершина Эвереста, думал что попросту вписал строку idMessagebox тай дело в шляпе. А оказывается это высшая математика  :D

Добавлено (06 Ноября 2019, 13:08)
---------------------------------------------

Цитата КсюXa ()
не стоит править ванильный верстак. Сделай свой отдельный, со своим скриптом, поставь в доме игрока в Мегатоне где-нибудь рядом с родным верстаком и будет счастье.
Спасибо вы мне очень помогли.  Для начала я наверное и так сделаю, а потом копну поглубже  ^_^

Art69
JupiterJour  Offline Сообщение №2259 написано: 06 Ноября 2019 в 16:08


_


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

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

КсюXa  Offline Сообщение №2260 написано: 09 Ноября 2019 в 16:33


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


1142
Цитата Joopeeter ()
Скорее, Западносибирская равнина - не столько в вышину, сколько в длину и ширину.
Этт точно smile2

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

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

Я шаурму в ларьках на улице не покупаю. Делаю дома сама. Получается как настоящая. Даже траванулась пару раз.
supernik95  Offline Сообщение №2261 написано: 10 Ноября 2019 в 13:52 | Отредактировано: supernik95 - Воскресенье, 10 Ноября 2019, 13:53


Странник


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

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



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

Ab altero expectes, alteri quod feceris
Коммерческие заказы НЕ выполняю!
supernik95  Offline Сообщение №2263 написано: 10 Ноября 2019 в 18:09


Странник


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

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



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

Ab altero expectes, alteri quod feceris
Коммерческие заказы НЕ выполняю!
supernik95  Offline Сообщение №2265 написано: 10 Ноября 2019 в 20:46


Странник


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

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

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



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

Ab altero expectes, alteri quod feceris
Коммерческие заказы НЕ выполняю!
supernik95  Offline Сообщение №2267 написано: 11 Ноября 2019 в 21:39


Странник


6
Цитата ApeX ()
supernik95,  почитай, поможет лучше смотреть.

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

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


Странник


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

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


_


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

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


Странник


11
Цитата Joopeeter ()
GetAV repair >= [определённый уровень]

Спасибо, буду разбираться.

Добавлено (22 Ноября 2019, 15:40)
---------------------------------------------

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




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





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

Мод "Нью-Йорк" на русском:
Мод "Нью-Йорк" на английском:
divine2991  Offline Сообщение №2272 написано: 22 Ноября 2019 в 22:47 | Отредактировано: divine2991 - Пятница, 22 Ноября 2019, 22:47


Странник


11
Цитата Spalny_Vagon ()
при использовании getav repair нужно обязательно указывать, у кого именно проверяется навык ремонта.
Спасибо! Разобрался, все заработало ^_^


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



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



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

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



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

Ab altero expectes, alteri quod feceris
Коммерческие заказы НЕ выполняю!
ncrrainjer  Offline Сообщение №2275 написано: 29 Ноября 2019 в 09:54 | Отредактировано: ncrrainjer - Воскресенье, 08 Декабря 2019, 10:59



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

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

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

ApeX  Offline Сообщение №2276 написано: 08 Декабря 2019 в 13:56



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

Ab altero expectes, alteri quod feceris
Коммерческие заказы НЕ выполняю!
КсюXa  Offline Сообщение №2277 написано: 08 Декабря 2019 в 14:29


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


1142
Цитата ncrrainjer ()
ShowMessage MyNPCStatMSG Rang, Lvl, Exp, CurExp

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

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

Я шаурму в ларьках на улице не покупаю. Делаю дома сама. Получается как настоящая. Даже траванулась пару раз.
ncrrainjer  Offline Сообщение №2278 написано: 08 Декабря 2019 в 16:43



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

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


Nesuqik  Offline Сообщение №2279 написано: 21 Января 2020 в 12:56 | Отредактировано: Nesuqik - Вторник, 21 Января 2020, 13: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 в 18:17


_


1037
Цитата Nesuqik ()
Когда турель разрушается (умирает) она переходит в Disable или все же можно получить ее хп GetAV Health?

Нет, она переходит в GetDead==1 и GetDestructionStage==1 (ну или какая там у неё последняя стадия разрухи). Здоровье у мёртвых не обязательно на нуле, так что через него смерть не отследишь.

Добавлено (21 Января 2020, 18:19)
---------------------------------------------

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

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

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