Эта тема предназначена только для помощи, связанной с редактором G.E.C.K.. Все вопросы, касательно модмейкерского дела, прошу сюда - "Помощь по моддингу."
Если вместо ГЕККа запускается белый экран - это из-за ENBшного d3d9.dll в папке игры. Если после одного из обновлений винды при попытке редактирования лица перса или попытке открыть любое оружие стала выскакивать вот такая надпись Assert File: C:\projects\fallout3PC\BSShader\BSShaderManager.cpp(пути могут различаться) Line: 1996 После чего ГЕКК сворачивается. Вопрос решатся запуском ГЕКК через основную игровую видюху. Установленная по умолчанию в настройках интегрированная выдаёт такую ошибку.
Изменение репутации для пользователя Veldion
VeldionOffline
Сообщение №2101
написано: 22 января 2014, 06:40
| Отредактировано: Veldion - 22 января 2014, 06:51
День добрый граждане. Помогите умным советом. Сделал оружие с таким простеньким скриптом:
Код
[b]ScriptName MG34machineGunScript
Ref MG34Owner
Begin OnAdd ; (или OnEquip не важно) Set MG34Owner to GetContainer END
Begin GameMode if(MG34Owner.GetEquipped MG34MachineGun == 1) if(MG34Owner.GetWeaponHealthPerc < 100) MG34Owner.ModWeaponHealthPerc 1 Endif Endif END
Begin MenuMode if(MG34Owner.GetEquipped MG34MachineGun == 1) if(MG34Owner.GetWeaponHealthPerc < 100) MG34Owner.ModWeaponHealthPerc 1 Endif Endif END
Begin GameMode if(MG34Owner.GetEquipped MG34MachineGun == 1) if(MG34Owner.GetItemCount Ammo308Caliber < 150) MG34Owner.AddItem Ammo308Caliber 1 Endif Endif END
Begin MenuMode if(MG34Owner.GetEquipped MG34MachineGun == 1) if(MG34Owner.GetItemCount Ammo308Caliber < 150) MG34Owner.AddItemAmmo308Caliber 1 Endif Endif END
и положил в ящик 10 штук. Проблема вот в чем: если взяв стволы из ящика отдать напарнику сразу, не экипируя на ГГ то все нормально - оружие чинится, патроны добавляются. Если ГГ уже успел попользовать ствол, то на остальных персонажах скрипт не работает, а если пользованные стволы отдавать напарнику не по одному, а сразу сколько есть, то игра вылетает 100%. На ГГ работает нормально. Подскажите что не так...
З.Ы. Мастер Joopeeter, большое спасибо за "для разбора на запчасти" когда найду адекватный апдейт v1.5-1.7 продолжу разбираться с бронебойкой...
если пользованные стволы отдавать напарнику не по одному, а сразу сколько есть, то игра вылетает 100%
Что-то мне помнится, что скриптованные объекты стеком - верный путь на рабочий стол. И что-то мне помнится, что стечатся скриптованные объекты неохотно, при лежащем на полу стеке берутся по одной штучке, а не все сразу...
при лежащем на полу стеке берутся по одной штучке, а не все сразу...
??? Странно у меня стек берется с пола целиком и без проблем.
Как выяснилось в данном случае причина вылетов функция Set XXX to YYY похоже она принципиально не совместима с несколькими экземплярами. Правда почему она приводит к вылету при простой попытке начать диалог не понятно...
Сделал оружие с таким простеньким скриптом ... Подскажите что не так...
Бросаются в глаза одинаковые типы блоков с одном скрипте, причём безо всяких дополнительных параметров. Я почему-то думал, что так не надо делать. Вот и ГЭКК-вики, хоть и не пишет прямо что нельзя, зато пишет, что можно использовать одинаковые типы блоков, указав разные параметры.
Добавлено (27 Января 2014, 11:58) --------------------------------------------- tundruck73, дорогой мой гуру вы были правы.Как можно вам карму поднять??? у меня ещё такой вопрос-почему одно и тоже оружие показывается несколько раз но с разным весом?Стоит F3 GOTI
И ещё вопрос если я изменю параметры оружия и брони в Fallout 3.esm-в других дополнениях они тоже изменятся или нужно будет в каждом дополнении их менять тоже?
Изменение репутации для пользователя Galko
GalkoOffline
Сообщение №2111
написано: 28 января 2014, 14:31
| Отредактировано: Galko - 28 января 2014, 14:35
Добавлено (29 Января 2014, 17:33) --------------------------------------------- дорогие гуру подскажите плиз.хочу сделать так чтобы силовую броню нельзя было бы пробить огнестрельным оружием,а энергетическим можно. как такое провернуть.я делал так в сталкере там у костюма есть разные показатели-есть ли такое в F3??
Мастер Joopeeter, мое почтение. Спасибо за "в Л.С.". Буду копать дальше...
Пара комментариев: 1). Если при стрельбе "из предмета" функция FireWeapon используется в блоке OnLoad то будет один выстрел, даже если оружие автоматическое, а если в блоке GameMode - то будет очередь. 2). Таймерный взрыватель изначально предназначен для прожектиля типа "Lobber" с другими типами прожектилей он очень плохо совместим.
Цитата Joopeeter
short DoOnce Begin GameMode if DoOnce==0 set DoOnce to 1 ; прицеливание elseif DoOnce==1 set DoOnce to 2 FireWeapon [следующий прожектиль] endif End Следующий прожектиль начинает выстреливаться постоянно и непрерывно, при каждом обороте, как будто ни "одноразовой" переменной, ни if-endif там вообще нет.
Я конечно человек безграмотный, но по моему у тебя нет условия прекращения огня. FireWeapon работает при DoOnce = 2, а ты делаешь DoOnce = 2 и так оставляешь. Условие работы FireWeapon выполняется до бесконечности. Я бы сделал так:
short DoOnce Begin GameMode if DoOnce==0 ; прицеливание set DoOnce to 1 if DoOnce==1 FireWeapon [следующий прожектиль] set DoOnce to 2 endif endif End
Сегодня хотел спросить вот о чем: Можно ли без FOSE в реальном времени "жестко" прикрепить активатор к конкретно указанному Node'у экипированного в данный момент оружия.
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №2114
написано: 31 января 2014, 01:11
| Отредактировано: Joopeeter - 31 января 2014, 01:12
Функции для прекращения огня тоже нет, потому что FireWeapon никакого непрерывного огня и не предусматривает. Поэтому переменной DoOnce по идее должно было быть достаточно, чтобы при следующем обороте скрипта ничего уже не выстрелило, но вот, как видим, нет.
Изменение репутации для пользователя Veldion
VeldionOffline
Сообщение №2115
написано: 31 января 2014, 05:49
| Отредактировано: Veldion - 1 февраля 2014, 03:10
ничто не мешает сделать этот прожектиль типа Lobber
А вот мешает. Lobber при применении с обычным не "гранатным" оружием чреват абсолютно непредсказуемым поведением в частности непрерывной "линейкой" взрывов на протяжении всей траектории полета прожектиля даже если таймер 0.0. (хотя смотрится красиво). Как я понял это как-то завязано на анимацию, но ни на *.Kf файлы, а на типы анимации прошитые в игре.
Так что мой способ с одним "стреляющим" прожектилем может и не совсем корректный с точки зрения "кому пришить статью УК" но проще и пожалуй надежнее...
З.Ы. Помоги плииз разобраться еще с одним вопросом, а то проверяя твои подсказки я натолкнулся на способ создания "реального" Вандер Ваффена, а в скриптах я мягко говоря не очень...
Можно ли без FOSE в реальном времени "жестко" прикрепить активатор (или любой другой объект со своим скриптом и моделью) к конкретно указанному Node'у (это главное) экипированного в данный момент оружия "Х" или к конкретному Node'у непися при экипировке оружия "Х". Смысл в том, что оружие будучи экипировано на персонажа, является как бы частью этого персонажа и не может запускать свой скрипт от своего имени. В данном случае необходимо сделать так, чтобы прикрепленный объект двигался вместе с заданным Node'ом того непися на котором экипировано оружие "Х" (или вместе с Node'ом оружия) но при этом оставался полноценным отдельным объектом и мог запускать свой скрипт от своего имени.
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №2116
написано: 1 февраля 2014, 09:33
| Отредактировано: Joopeeter - 1 февраля 2014, 09:35
Смысл в том, что оружие будучи экипировано на персонажа, является как бы частью этого персонажа и не может запускать свой скрипт от своего имени.
Ну, скрипт-то оно запускать очень даже может, причём не только будучи экипировано, но и просто находясь в инвентаре. Другое дело, что в некоторых случаях оно "отождествляет" себя с персонажем. Например, PlaceAtMe, вызванное из такого скрипта, поместит ссылку в координаты персонажа. А вот RemoveMe удалит заскриптованный предмет, а не персонажа. DropMe тоже выбросит на землю предмет, а не его носителя. Интересно, что сделает функция MoveTo?
По поводу привязки к ноду. Не уверен, что это можно и с экстендером. Впрочем, в нём не силён, может и есть там способ. Но, например, "фонарно-оружейные" скрипты, подвешивающие перед ГГ светящиеся лампочки (типа на ружье фонарик), ничего ни к каким нодам не привязывают - всё делается стандартными MoveTo, SetPos и другими.При этом даже в невероятно продвинутых фонарях не отслеживается каждое мыслимое движение ружья - если какая-то анимация заставит ГГ размахивать оружием, луч не будет метаться вслед за ним.
Я тут снова пропаду на какое-то время. Удачи.
Изменение репутации для пользователя Coss83
Coss83Offline
Сообщение №2117
написано: 2 февраля 2014, 10:45
| Отредактировано: Coss83 - 2 февраля 2014, 13:00
дорогие гуру подскажите плиз.хочу сделать так чтобы силовую броню нельзя было бы пробить огнестрельным оружием,а энергетическим можно. как такое провернуть.я делал так в сталкере там у костюма есть разные показатели-есть ли такое в F3?? и вот ещё-как из игры убрать еду(чипсы,макароны с сыром и т.д)
как из игры убрать еду(чипсы,макароны с сыром и т.д)
Когда-то тут уже возникала идея уничтожить из игры "неуместно сохранившиеся" довоенные консервы. В игре без чужих модов не нравящиеся предметы действительно можно просто вычеркнуть отовсюду, куда они помещены. Но если используются моды сторонних авторов, и любой из них может куда-то сунуть ту же пачку чипсов, то единственное решение, которое я вижу - непрерывно искать и уничтожать вокруг главного героя запретные предметы... Такой минимод я года полтора назад делал - ссылка
Изменение репутации для пользователя Coss83
Coss83Offline
Сообщение №2119
написано: 3 февраля 2014, 05:06
| Отредактировано: Coss83 - 3 февраля 2014, 06:03
Ipatow, за мод спасибо-200летние чипсы это перебор а вот что с бронёй ни чего сделать нельзя это плохо-меня в ней даже тараканы насмерть загрызают пробовал су до 600 ставить и клас брони менять с лёгкой на тяжолую всё равно не помогает Может можно написать скрипт к силовой броне дапустим чтобы определённыё вид боеприпасов(10мм.5мм и т.д)на неё не действовали?Я новичёк ещё не шарю в таких вещях.
Класс брони - рудимент обливиона (там были умения носить броню разных классов), в фолаутах он просто ничего не делает.
Частично эту проблему решил бы движок вегаса, в котором сделали DT - пусть костыль, но он с этой задачей бы справился. В третьем фолауте можно включить иммунитет к определённому виду урона (не уверен, что именно к физическому урону можно - к остальным видам точно можно), но результат будет довольно абсурдный, поскольку ГГ окажется полностью неуязвим для большинства противников... Когда какой-нибудь бегемот лупит тебя фонарным столбом, а ты только спрашиваешь "кто стучит?" - здравым смыслом это не объясняется
1 способ: окно ячеек Cell Window по-умолчанию оно показывает ячейки интерьера. Чтоб перейти к мировым ячейкам (внешним локациям) нужно раскрыть список World Space и выбрать нужный мир. Для Столичной Пустоши это будет Wasteland. Когда выберешь этот мир, то в столбце покажутся все ячейки этого мира. Некоторые ячейки имеют собственное имя (это те ячейки, имя которым необходимо для прописки в скриптах, пакетах АИ и т.д.) Менять имена уже названным ячейкам КРАЙНЕ НЕ РЕКОМЕНДУЕТСЯ! Во избежание.... Найти нужную локацию можно примерно по названию ячейки. Там, обыкновенно, упоминается (по-английски) что это за ячейка. За авторов-творцов, которые в своих "модах" могут дать в качестве имени какую-нибудь нечитаемую абракадабру, я не ручаюсь, но разрабы постарались дать своим ячейкам вменяемые имена. Если нужен Большой Город - ищи ячейку, в названии которой есть слова BigTown, нужна локация возле дома Агаты - ищи слово Agatha и т.п. Те ячейки, которые в игре не имеют собственного имени, в редакторе называются Wilderness. Такие ячейки можно переименовывать для своих нужд.
Второй способ: грузишь дополнительно русификатор (если основной мастер-файл не русский) и в меню Edit-Find Text в окне поиска пишешь имя нужной локации. Жмешь поиск и там будет выдан список найденных объектов, у которых в имени есть поисковые слова. Для локаций это обычно во вкладке Object.etc показываются название ячейки Cell или имя мап-маркера этой ячейки. Дабл клик прямо в окне поиска - и объект (локация) загрузится в окно рендера. Точно так же можно искать любые объекты в редакторе... дежа-вю, вроде уже недавно рассказывала где-то кому-то про это, что-то меня понесло...
пробовал су до 600 ставить и клас брони менять с лёгкой на тяжолую всё равно не помогает
За максимальное значение брони отвечают параметры FMaxArmorRating = 85 (по умолчанию) и FMaxPlayerResistance = значение не помню (может не FMax... а iMax...) Находятся они в GameSettings. FMaxArmorRating отвечает непосредственно за максимальное значение брони (защита от всего кроме радиации) у всех. FMaxPlayerResistance отвечает соответственно за сопротивление игрока любому воздействию: и физическому (пули), огню, холоду, яду и радиации.... он работает с энчантами брони. Если СУ/ПУ брони сделать равным 100 и более при FMaxArmorRating равном 100 и более, то персонаж тупо станет "Маклаудом" и попадания по нему просто не будут засчитываться. Эффекты кроме радиации тоже не будут действовать потому что для начала действия навешанного на оружие эффекта оно должно нанести урон равный минимум 1.
Мораль: FMaxArmorRating устанавливаешь равным 95.0 - 97.5 (поверь тебе хватит) СУ/ПУ "своей личной и уникальной" брони можешь сделать 100 или более. FMaxPlayerResistance можешь смело установить равным 105 (с запасом) а силу навешанных на броню эффектов кроме общего DamageResistance делаешь какую хочешь (100 и более = иммунитет)
Класс брони легкая/тяжелая на ее защиту никак не влияет
Радиация в Фолле вообще вещь несправедливая. Можно сказать влияет (и убивает) она по только на ГГ. Простые NPC/Creature спокойно стоят в радиоактивных лужах, облучаются радиацией от взрывов, гуляют возле входа в убежище 87 - и не дохнут, даже если с них поснимать все защитные эффекты. Мы с уважаемым Ipatow'ым как-то пытались в этом разобраться но без особого успеха.
Это была шутка. Через actor effect "радиация" убить ГГ именно при 650 рентген вряд ли получится, там градация через 200, т.е. или 600, или 800. А через скрипт
Код
If player.getradiationlevel >= 650 player.kill endif
====================== Мод "Нью-Йорк" на русском: 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
Ketat, 1. Если хочешь делать изменения именно в сам мастер-файл какого-либо мода (в ГЕКК) - то надо предварительно этот мастер-файл лишить статуса мастера и придать статус плагина (есп) Любым способом: через Эдит, через мод-менеджер, hex-редактор и т.п. Так же, на время работы, сменить и расширение с есм на есп. После этого грузить в ГЕКК, ВСЕГДА отмечать при загрузке этот файл как активный. После окончания всех работ вернуть старые статус и расширение. Или же можно не трогать мастер-файл, а записывать все изменения в новый плагин. Это стандартная процедура, азы, так сказать. Напомню: грузишь мастер-файл в ГЕКК, жмешь кнопку сохранения, в предлагаемом окне даешь имя новому создаваемому плагину-еспешнику и делаешь необходимые правки. Все запишется в этот плагин, у которого в родителях будет прописан данный мастер-файл. И в дальнейшем, при продолжении работы над этим модом, грузишь в ГЕКК уже не мастер-файл, а вот этого его "ребенка" и отмечаешь его при загрузке как активный.
2. Что шлем, что панцирь, что сапоги - все это броня, предмет из раздела Armor. Поэтому их защита распространяется на всего непися целиком.