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

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


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




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

Ой, всё...
Darwinian  Offline  Сообщение №1261 написано: 9 октября 2014, 22:02



39
Ipatow, что то что бы я не менял в шаблонах, в игре ничего не меняется.
нужно удалить кнопку Сохранить.

Ipatow  Offline  Сообщение №1262 написано: 9 октября 2014, 22:20



Цитата Darwinian

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

Ты менял файл Menus\Options\Pause_Menu.xml, внутри pause_save_button там, где в норме копируется _FlagIsSaveAllowed, вместо всего этого <copy ... /> ставил &false; - и ничего не менялось? Гмм... У тебя архив инвалидатора инвалидации будущим годом датирован? То есть свежее, чем файл, который ты правил?..

Darwinian  Offline  Сообщение №1263 написано: 9 октября 2014, 23:10



39
Ipatow, извиняюсь. Чуть проще можно? Валидация у меня от fomm, более ничего не знаю.

Добавлено (10 Октября 2014, 03:10)
---------------------------------------------
Засунул этот файл в фомод, установил таким образом. Ну раз проблема может быть в валидации, ничего не поменялось.
Больше похоже что эти файлы вообще не за что не отвечают.


Ipatow  Offline  Сообщение №1264 написано: 10 октября 2014, 03:10



Цитата Darwinian

Засунул этот файл в фомод, установил таким образом

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

Насчёт "валидации" - чтобы без громоздких повторений, сходи в КАРТОТЕКУ...

Darwinian  Offline  Сообщение №1265 написано: 10 октября 2014, 09:34 | Отредактировано: Darwinian - 10 октября 2014, 09:27



39
Ipatow, значит все верно у меня. Если брать в расчет другие моды, тот же DUI, то он файл pause_menu.xml не использует.
В самом файле у меня стоит

           
И эффекта не имеет, кнопка на месте.

Два раза на инвалидацию жмякал. добавление других текстур работает нормально.

Добавлено (10 Октября 2014, 13:29)
---------------------------------------------
Да даже если все из этого файла удалить, меню не поменяется. Этот файл вообще не участвует в построении меню.

Добавлено (10 Октября 2014, 13:34)
---------------------------------------------
В общем. Для чистоты эксперемента. Разобрал Fallout - Misc.bsa. Засунул туда измененный pause_menu.xml и снова запаковал и поместил в папку data.
Изменений нет.


Ipatow  Offline  Сообщение №1266 написано: 10 октября 2014, 16:26



Цитата Darwinian

Этот файл вообще не участвует в построении меню.

Да, запросто может не участвовать. Каждый раз, когда я что-то ищу в дебрях меню, я очень быстро начинаю произносить недружелюбные реплики в адрес лошади, на которой приехал Рикардо Гонзалес... Хотя лошадь, в общем, практически ни в чём не виновата :D

Так или иначе, все менюшки - там, в папке менюз. И я совершенно уверен, что эту кнопку можно там найти и истребить. Вопрос в том, насколько кровь-из-носу это тебе надо...

Darwinian  Offline  Сообщение №1267 написано: 10 октября 2014, 18:14



39
Цитата Ipatow

Вопрос в том, насколько кровь-из-носу это тебе надо...

Очень надо. Идея такова, убрать у пользователя возможность сохраняться самому. Только сохранение при сне и в ключевых точках. Для любителей хардкора.

КсюXa  Offline  Сообщение №1268 написано: 10 октября 2014, 18:46


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


Darwinian, а если через функцию MenuMode 1013 ? Вышел геймер по эскейпу в паузу - а ему сообщение, мол - рано вышел. И возврат в игру. И так, пока не сохранится автоматически в нужной точке и не отработает переменная, отслеживающая это сохранение.
ЗЫ. Моё дело - предложить, а разбирать по косточкам будут профи :)

Ой, всё...
Ipatow  Offline  Сообщение №1269 написано: 10 октября 2014, 19:32



Цитата Darwinian

Очень надо. Идея такова, убрать у пользователя возможность сохраняться самому.

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

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

КсюXa  Offline  Сообщение №1270 написано: 11 октября 2014, 05:48 | Отредактировано: КсюXa - 11 октября 2014, 05:50


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


Цитата Ipatow

Не надо перехватывать сохранение - перехвати загрузку.

Это по типу, как в "проект Бразил" ? Там при запуске игры предлагается на выбор во что играть: в основной Вегас или побегать по "Бразилу". При выборе второго грузится их мод со всеми их прибамбасами. И пользователь уже морально готов ко всем причудам создателя.

Ой, всё...
Ipatow  Offline  Сообщение №1271 написано: 11 октября 2014, 09:47



Цитата КсюXa

Это по типу, как в "проект Бразил"?

На бразилов я смотрел очень мельком, и на то, как там оборудованы сохранения, внимания не обратил. Но подобным образом с сохранениями обходится Arwen в её Tweaks в модуле "бессмертного ГГ":

Darwinian  Offline  Сообщение №1272 написано: 12 октября 2014, 12:57



39
Цитата Ipatow

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

Я напишу что мне вроде как плевать.

Идея перехватить загрузку верная, но что то я не могу придумать как это реализовать.
Получается после каждой загрузке происходит проверка, если сейв был сделан скриптом, играем дальше. Если нет игрок умирает\портается в тестировачную комнату.
Как сделать проверку сразу после загрузки?

Ipatow  Offline  Сообщение №1273 написано: 12 октября 2014, 14:55



Цитата Darwinian

Как сделать проверку сразу после загрузки?

Проверяем GetGameLoaded в квестскрипте, если загрузились: без флага "честная загрузка" вежливо не даём играть, с флагом - сбрасываем флаг. Игрок, в принципе, может успеть сохраниться в те моменты, когда флаг "честная загрузка" стоит - но поскольку это либо в полсекунды после честной загрузки до проверки флага квестскриптом, либо за долю секунды до или после честного сейва... Мы не будем скандалить насчёт сейва, "нечестного" на секунду.

ncrrainjer  Offline  Сообщение №1274 написано: 15 октября 2014, 08:30



199
Ребят, извините,что не в тему.Но у меня большая проблема:Отказал FOMM при запуске выдает табличку отправлять не отправлять отчет:((((Что с этим делать,пробовал переустановить и игру и FOMM ничего не помогает:(((

Galko  Offline  Сообщение №1275 написано: 15 октября 2014, 09:08


GALAктическая мартышка


как говорил один "политический" сантехник из анекдота: - да тут всю систему менять нужно. :)

Ваше счастье, что я не ваше счастье
ncrrainjer  Offline  Сообщение №1276 написано: 15 октября 2014, 09:12



199
Galko, Так я и переустановил всё,а не работает

Galko  Offline  Сообщение №1277 написано: 15 октября 2014, 09:33


GALAктическая мартышка


Под словом "переустановить всё" понимается это?
Цитата ncrrainjer

пробовал переустановить и игру и FOMM ничего не помогает


Я лично под словом "переустановить всё" понимаю переустановку ОС

Добавлено (15 Октября 2014, 13:33)
---------------------------------------------
ну или хотя бы сделать откат к предыдущему состоянию.


Ваше счастье, что я не ваше счастье
ncrrainjer  Offline  Сообщение №1278 написано: 15 октября 2014, 10:12



199
Galko, Ок,буду пробовать

BigBadBoss  Offline  Сообщение №1279 написано: 19 октября 2014, 16:45


Добрый


412
Привет всем. Думаю вот сделать что то типа системы заказов как в сталкере, но через терминал, а не НПС. В общем хочу чтобы некоторые очень редкие стволы и спец костюмы заказывались через терминал. Смотришь в терминале что есть, выбираешь вещь которая понравилась и заказываешь. Сразу после подверждения заказа забираются крышки/довоенные деньги и через, скажем, пару дней в контеинер добавляется заказанная вещь.

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

Спасибо.

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

© Copyright: Росана, 2009
Ipatow  Offline  Сообщение №1280 написано: 19 октября 2014, 17:13



Цитата BigBadBoss

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

В терминале в строчке нужной покупки условие Player.GetItemCount Caps001 >= цены выбирает, показывать ли кнопку "купить" или кнопку "цена вот, но у тебя столько нет".
В варианте "купить" Item Result Script нужной покупки исполняет

Player.RemoveItem Caps001 цена
Player.CastImmediateOnSelf Actor-Effect-этого-товара

Создаётся Actor Effect имени этого товара с одним базовым эффектом имени этого товара и длительностью трое суток или сколько там надо, можно каждому товару свой срок сделать.
Создаётся Base Effect имени этого товара - флажок только Self, назначен скрипт имени этого товара.
Создаётся скрипт этого товара:

SCRIPTNAME Order001Script
BEGIN ScriptEffectFinish
контейнер-реф.AddItem нужный-товар нужное-количество
END

Всё это увязывается как положено - скрипт в магэффект, магэффект в спелл, спелл в скрипт строчки терминала.

Как работает - строчка терминала забирает деньги и вешает на ГГ эффект, который по окончании действия положит что надо куда надо. Можно ещё вместо Actor Effect сделать Ingestible (включается тем же CastImmediateOnSelf, прописывать кроме базовых эффектов ничего не надо, поскольку в виде предмета оног нигде никогда не появится), тогда по окончании игра сама исполнит "ДЗЫНЬ!" и выдаст сообщение "действие эффекта-ожидания-покупки закончилось!"

BigBadBoss  Offline  Сообщение №1281 написано: 22 октября 2014, 09:38 | Отредактировано: BigBadBoss - 20 октября 2014, 19:24


Добрый


412
Ipatow, потрясающе!
Спасибо!

Добавлено (20 Октября 2014, 23:16)
---------------------------------------------
Еще такой вопрос. Как сделать чтобы игрок заидя к примеру в газовое облако начал терять здоровье и выидя из него переставал? Например как в ДЛС "Мертвые деньги" в фаллаут Нью вегасе. Помню мне удавалось сделать такое как то давно, еще на старом компьютере, но без конца выскакивало сообщение о дабалений эффекта и его окончаний, что мне лично не понравилось.

Добавлено (22 Октября 2014, 13:38)
---------------------------------------------
Вобще никто незнает какой скрипт прикрутить, чтобы здоровье уходило?


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

© Copyright: Росана, 2009
Броненосец  Offline  Сообщение №1282 написано: 22 октября 2014, 11:44



5
Как можно изменить время задержки дыхания под водой? Так она где-то около 10 сек, как можно сделать больше? Спасибо.

Ipatow  Offline  Сообщение №1283 написано: 22 октября 2014, 15:18 | Отредактировано: Ipatow - 22 октября 2014, 15:19



Цитата BigBadBoss

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



Скрипт в базовый эффект, базовый эффект куда хочешь - хоть в энчант брони, хоть в спелл/абилку, хоть в таблетку. Напомню, что здоровье имеет тип float, так что можно кусать хоть по 3.14

BigBadBoss  Offline  Сообщение №1284 написано: 22 октября 2014, 15:39


Добрый


412
Ipatow, Благодарю. Снова очень помогли!

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

© Copyright: Росана, 2009
JupiterJour  Offline  Сообщение №1285 написано: 22 октября 2014, 15:50


_


Цитата BigBadBoss

Вобще никто незнает какой скрипт прикрутить, чтобы здоровье уходило?


Предположим (хоть из вопроса хрен поймёшь), что имелось ввиду какой скрипт прикрутить не к хвосту собачьему, а к облаку, чтобы здоровье не чьё-нибудь, а игрока, уходило в смысле не погулять, а постепенно уменьшалось.
Для этого на месте облака ставим сферический триггер (если облако не кубическое, конечно) и к нему прикручиваем что-то вроде (написал без проверки):
Код
float timer

Begin OnTrigger player

if timer < 0
set timer to 1
player.DamageAV health [сколько уходить в секунду]
else
set timer to timer - GetSecondsPassed
endif

End

Ipatow  Offline  Сообщение №1286 написано: 22 октября 2014, 16:27



Цитата Joopeeter

на месте облака ставим сферический триггер

Уже не касательно вопроса BigBadBoss, а из любознательности - а кидаться триггерами можно? Ну, вот я гранату допустим газовую кинул и оно должно две минуты вонять...

Spalny_Vagon  Offline  Сообщение №1287 написано: 22 октября 2014, 17:43


Мастер


Цитата Ipatow

Уже не касательно вопроса BigBadBoss, а из любознательности - а кидаться триггерами можно?

В свойствах Explosions есть окно Placed Impact Object. Туда можно засунуть все что угодно. Можно попробовать и триггер. Если у кого-нибудь получится, отпишитесь.

======================
Мод "Нью-Йорк" на русском: 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
JupiterJour  Offline  Сообщение №1288 написано: 22 октября 2014, 22:15 | Отредактировано: Joopeeter - 22 октября 2014, 22:15


_


Цитата Ipatow

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


А в "Мёртвых деньгах" это граната? А то я не играл, так что не в курсе. Подумал про стационарное облако типа утечки газа.

Нет, кидаться триггерами не получается. Непосредственно назначать его как Placed Impact Object, как я понимаю, бесполезно - размер-то задаётся в ГЭКК. Но это ладно, можно было бы растянуть заранее и потом его MoveTo куда требуется. Но передвинутый триггер, хоть и показывает новые "передвинутые" координаты, все свои триггерские свойства оставляет где они были. То есть блоки OnTrigger и OnTriggerEnter как срабатывали на старом месте, так и продолжают срабатывать на том же самом старом месте.

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

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

Броненосец  Offline  Сообщение №1289 написано: 22 октября 2014, 23:50 | Отредактировано: Рашпиль - 22 октября 2014, 23:54



5
Цитата Ipatow

fActorSwimBreathBase (по умолчанию 10, в обливионе было 4) Determines the base length that any actor can stay under water. fActorSwimBreathMult (по умолчанию 0.5, в обливионе было 0.3) Multiplier for how long an actor can stay underwater, based Endurance.
fActorSwimBreathDamage (по умолчанию 0.2) Determines the percent of total health damage that occurs per second when you stay underwater too long.

Эээ.. что-то я ничего не понял. Это какие-то характеристики гг? Где их искать? 
А если из изменить это будет только на гг работать или на нпс тоже?

Ipatow  Offline  Сообщение №1290 написано: 23 октября 2014, 00:08



Цитата Рашпиль

Это какие-то характеристики гг? Где их искать?
А если из изменить это будет только на гг работать или на нпс тоже?

Это параметры игры. Изменяются они в GECK: меню -> Gameplay -> Settings...

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

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





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