Эта тема предназначена только для помощи, связанной с редактором G.E.C.K.. Все вопросы, касательно модмейкерского дела, прошу сюда - "Помощь по моддингу."
Если вместо ГЕККа запускается белый экран - это из-за ENBшного d3d9.dll в папке игры. Если после одного из обновлений винды при попытке редактирования лица перса или попытке открыть любое оружие стала выскакивать вот такая надпись Assert File: C:\projects\fallout3PC\BSShader\BSShaderManager.cpp(пути могут различаться) Line: 1996 После чего ГЕКК сворачивается. Вопрос решатся запуском ГЕКК через основную игровую видюху. Установленная по умолчанию в настройках интегрированная выдаёт такую ошибку.
нет ничего про брови.Только глаза,их цвет и прически
В конструкции рас не предусмотрены Head Parts. Можно попробовать использовать ту же схему, по которой добавляются ресницы - если изучить то, как они были сделаны throttlekitty, то можно прочитать, что одни и те же ресницы могут быть в двух вариантах, один из которых съёмный. И работает это в обоих направлениях. Поскольку оптимизация рта освободила больше одного слота в анатомии, возможно в один из освободившихся слотов воткнуть брови... Попробуй.
Помогите понять: как отобразить текстуру на игровом экране? Например, как в моде Helmet POV, который был в Fallout3 и использован в Project Nevada для New Vegas. Более правильно вопрос звучит так: каким порядком действий (созданием квестов, FormList’ов, неотображаемых предметов итд) и какими скриптами можно отобразить на экране собственную текстуру в нужный мне момент времени (вход в триггер, например)?
Я просмотрел код HelmPOV и понял, что ссылки на DDS с текстурой присутствуют только в XML-файле мода.
Одна из ссылок на данные из XML в моде: HPOVMainScript: ; Apply overlay style set HPOVListManager.element to currentItem set HPOVListManager.inputList to HPOVOverlaysList setStage HPOVListManager 0 set overlayIndex to HPOVListManager.index setUIFloat "HUDMainMenu\_HPOVOverlayIndex"overlayIndex
начал искать с этой строчки setUIFloat "HUDMainMenu\_HPOVOverlayIndex" overlayIndex Вот этой строчке в XML’e присваивается динамически значение overlayIndex <_HPOVOverlayIndex> 0 </_HPOVOverlayIndex><!-- Set by plugin -->
И дальше я потерял след.. Что даёт overlayIndex? Если я правильно понимаю - он только принимает значение одного из 30 доступных файлов в FormListe. То есть, мне кажется, что явно не эта строчка вызывает текстуру на экран... Сами же файлы в FormList пустые и я предположил, что они вот туда-то скрипт с вызовом текстуры и добавляется... Но подобного скрипта внутри мода я не нашёл.
В Project Nevada есть modder’s guide, но он рассказывает о том, как добавить свою текстуру в существующий мод. Как сделать ссылку и выдать на экран текстуру – не говорится, ибо это в моде уже есть и подразумевается что это никому знать не нужно. Или я не нашёл этого в modders guide? Если так, то подскажите где искать. В Project Nevada строчка со ссылкой на текстуру выглядит нагляднее: setUIString "HUDMainMenu\_MyOverlay" "myOverlay.dds"
Чтобы проверить работает ли это, сделал вот такой тестовый скрипт:
Код
short XMLShowMSG setUIfloat "HUDMainMenu\_MyAmount" 1 set XMLShowMSG to getUIfloat "HUDMainMenu\_MyAmount" if XMLShowMSG == 1 SetObjectiveDisplayed OverlayQuest 10 1 setUIString "HUDMainMenu\_MyOverlay" "myOverlay.dds" elseSetObjectiveDisplayed OverlayQuest 20 1 endif
Мой XML выглядит так: <_MyAmount> 0</_MyAmount> <_MyOverlay></_MyOverlay>. Скрипт добавляет значение к "_MyAmount" внутри XML (и конечно я указал ссылку на мой XML внутри"hud_main_menu.xml").
Во время игры я захожу в триггер, появляется надпись «Win», значит данные из XML извлекаются правильно. Но текстура не показывается. Значит для вывода текстуры этого не достаточно, надо сделать что-то ещё (что?).
В том же Modder's Guide я прочитал про formlist'ы: "Create an empty form list, which will contain all items that make use of your new overlay" Что это значит? Какие вещи нужно добавить в formlist? На данном этапе я хочу только отобразить на экране текстуру, её ведь нельзя закинуть в formlist (GECK её не видит, кагбэ)… Или можно? Как?
В общем я совершенно запутался и никак не могу понять что к чему, помогите пожалуйста решить эту проблему.
Задавал этот вопрос на http://forums.bethsoft.com , пока что не ответили ничего более-менее проясняющего ситуацию...(
Что это значит? Какие вещи нужно добавить в formlist? На данном этапе я хочу только отобразить на экране текстуру, её ведь нельзя закинуть в formlist (GECK её не видит, кагбэ)… Или можно? Как?
Форм-лист - это список. В него можно "закинуть" как в ГЕККе (перетаскивается мышкой), так и прямо в игре (функция AddFormToFormlist).
====================== Мод "Нью-Йорк" на русском: 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
pall666, не надо вот такого склеивания слов подчёркиваниями. Это, конечно, внимание привлекает, но вряд ли ты такого внимания хочешь. Потому как подобные жесты кирпича не просят, а буквально требуют...
Цитата pall666
Что даёт overlayIndex? Если я правильно понимаю - он только принимает значение одного из 30 доступных файлов в FormListe. То есть, мне кажется, что явно не эта строчка вызывает текстуру на экран... Сами же файлы в FormList пустые и я предположил, что они вот туда-то скрипт с вызовом текстуры и добавляется...
Неправильно понимаешь. Значение этой скриптовой переменной (как и любой другой) никогда не равняется файлам и даже их именам. Это индекс имени нужного файла в массиве имён файлов, прописанном в том xml.
"Файлы в FormList" - нелепое словосочетание. В формлистах бывают формы и только формы, никаких файлов в них не бывает.
"Скрипт с вызовом текстуры" - иногда скрипт может куда-то вызвать Вельзевула, но текстуру он вызвать не может. Никак. Зови не зови, текстура не придёт.
По существу того, что ты не понял. Показом на экране текстур и прочих элементов интерфейса занимается xml. В нём прописаны имена файлов текстур (могут быть и не в нём, но я говорю о том моде, устройство которого ты пытался изучить) и разные параметры отображения этих текстур, а также ряд вспомогательных переменных и несложная логика смены изображения в зависимости от значений этих переменных. Скрипт управляет значениями переменных в xml, и тот соответственно меняет изображение.
Твой xml содержит переменную _MyOverlay - твой скрипт присваивает ей строковое значение, но и только. Во всяком случае, показом чего бы то ни было твой xml не занимается. Изучи устройство блоков <rect> и <image>.
День добрый граждане. Подскажите, как установить число боеприпасов в обойме больше чем 255 ?
Помоему невозможно. Но можно попробовать FO3Edit программой. Возможно там как то получится. Сам пользовался редко ей.
Вдохни… взгляни вокруг, поверь в спасенье, Ведь между злом - песчинки доброты… И вспомни, прочитай в безбрежном небе, Что кто-то дышит, пока дышишь ты...
кажется, что переменная принимает значения от 1 до 30, что соответствует ссылкам на dds
Это значение соответствует двум вещам. Образуется это значение как индекс предмета в формлисте, а используется как индекс изображения в xml. Кстати, во всех версиях мода присутствует ошибка: в xml на самом деле прописаны только 20 элементов этого массива. Это ни на что не влияет, поскольку реально присутствует всё равно не более 13 текстур, но легко может сбить с толку.
Ищу когонибудь кто обучит меня Geck , по туториалам учиться не могу (Как то это у меня не получается) , Английский незнаю (и учить не собираюсь, почему долгая история ) Пользуюсь Русифицированным Geck"ом , учусь быстро , но вопросов задаю что у любого учёного мозги за пол часа станут кашей (примерно такой какая у меня в голове) Мой скайп gas707.(не обращайте внимания на кучу ошибок в тексте, я конечно же могу писать грамотнее, но вопрос : Нафига ?)
(не обращайте внимания на кучу ошибок в тексте, я конечно же могу писать грамотнее, но вопрос: Нафига?)
Резон писать грамотно прост - чтобы тебя поняли. Впрочем, необходимости писать понятнее, чем в цитируемом сообщении, нету - такой уровень совершенно адекватен.
Изменение репутации для пользователя pall666
pall666Offline
Сообщение №1661
написано: 6 июня 2013, 21:51
| Отредактировано: pall666 - 6 июня 2013, 21:56
Эти строчки – необходимый минимум для отображения текстуры. С дальнейшими тонкостями можно разобраться, читая код HelmPOV, он достаточно дружелюбный, с понятными комментариями.
Всем привет! Я пытаюсь сделать компаньона (впервые), в основном со стандартными функциями, вроде все получилось, но есть несколько проблем: 1) Компаньон меняет оружие в бою по своему усмотрению, не смотря на активированный комбат стиль. 2) Компаньон не переходит в режим скрытности вместе со мной (вообще) Как их можно решить? Желательно как можно проще =)
Неуправляемо. Так же, как нельзя запретить мобу хватать оруже с полу...
В стиле боя во вкладке advanced есть раздел melee decision, может через него можно это настроить? (у стандартных напарников свои пакеты и настроены иначе, чем мои, взятые на основе рейдерских) И еще один вопрос всплыл - стандартные напарники вроде как не нападают на зверей, если у меня есть "друг животных". Но мой все время дерется с теми же яо-гаями и т.д. Как это исправить?
И еще один вопрос всплыл - стандартные напарники вроде как не нападают на зверей, если у меня есть "друг животных". Но мой все время дерется с теми же яо-гаями и т.д. Как это исправить?
Так же, как и приседания, сделать его player teammate (член команды игрока, грубо говоря, команда: setplayerteammate 1). В этом случае он забывает про все свои межфракционные отношения и берет на себя все межфракционные отношения игрока.
====================== Мод "Нью-Йорк" на русском: 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
Spalny_Vagon, я так и не понял, где это сделать. Скрипт? Если да, то какой. В работе с НПС я вообще никакой.
Добавлено (07.06.2013, 19:19) --------------------------------------------- Все, я и сам (похоже) разобрался. Добавил эту функцию в диалог для взятия в компаньоны.
Добрый день умные господа. Пара вопросов: 1) Как сделать чтобы радиация воздействовала не только на ГГ но и на NPC и креатур? Проверял на NPC (на котором не было навешено дополнительного сопротивления) возле убежища 87 - не дохнет зараза никак! 2) Как сделать чтобы напарник замечал (ну и атаковал) врага раньше чем враг заметит его; Perception установил равным 10, дистанцию в Combat Style поставил 25000 даже агрессию когда напарник становится собственно напарником меняю скриптом на Very Agressive и чевой-то толку........
1) Компаньон меняет оружие в бою по своему усмотрению, не смотря на активированный комбат стиль.
Дело такое: Если у напарника активирован Combat Style - Melee (с очень желательным пунктом MeleeOnly) то он будет сокращать дистанцию до рукопашной при этом если дистанция достаточно велика может и пострелять а затем возьмет рукопашное оружие. Если у напарника активирован Combat Style - Ranged (с очень желательным пунктом RangedOnly) то он заведомо будет стрелять а на рукопашное оружие переключится только если цель находится в пределах рукопашной атаки и рукопашное оружие намного мощнее дальнобойного. Так что чтобы твой напарник не щелкал МЕЧ-АВТОМАТ туда-сюда и че попало с земли не хватал дай ему оружие заведомо мощнее того которое он сможет подобрать причем МЕЧ желательно мощнее АВТОМАТА
Как сделать чтобы напарник замечал (ну и атаковал) врага раньше чем враг заметит его
"Замечательность" в игре ГГ-центрическая. То есть всех остальных мобы не то что игнорируют, они за остальными они менее пристально следят. ГГ - пуп земли, и с этим ничего нельзя поделать.
Хочешь чтобы эффекты были на других - вешайся на них сам, анализируй накопленную радиацию и прописывай эффекты.
То есть если я тебя правильно понял радиация на NPC все-таки накапливается? Я почему спрашиваю-то: на некоторых NPC и креатурах висит эффект сопротивления радиации а на некоторых нет..... И если так подскажи как ее отследить - вешать скрипт на каждого отдельного перса или есть более гуманный способ?
То есть если я тебя правильно понял радиация на NPC все-таки накапливается?
Во-первых, да. У мобов есть такой Actor Value - RadiationRads, и базовые эффекты, воздействующие на этот AV (в первую очередь DamageRadiationLevel "Радиационное заражение" [MGEF:00020516]) на мобов действуют.
Во-вторых, мы видим бережно настроенные авторами игры другие эффекты - скажем, EnchRadiationSuit "Антирад. костюм" [ENCH:0003D32A] для ГГ включает 30% сопротивления радиации, а для всех остальных 100%. Или взять GhoulRadHeal "Радиационное оздоровление" [SPEL:000617BE] - оно привязано к фоновой радиации, но включает в себя RestoreRadiationLevel "Уменьшение рад-заражения" [MGEF:0001517A].
Итого - мобы имеют эту характеристику, и разные аспекты игры используют значение этой характеристики мобов.
А теперь плохая новость: "косвенные" источники радиации - то есть не те, которые прицельно тычут в моба и явно воздействуют на его Actor Value - иначе говоря, радиоактивность среды (неважно, явный это RadiationMarker [STAT:00000033] или пересчёт эффекта радиоактивной воды) не трогает мобов.
Какой-нибудь мародёр может хоть весь день просидеть на жутко радиоактивной бочке, и ничего ему не будет - но стоит ему скушать кексик из болотника, и он тут же схватит дозу радиации от этого кекса.
Такое положение дел можно компенсировать, навешивая на всех мобов пару эффектов... Возможно, это даже не сильно нагрузит процессор.
"косвенные" источники радиации - то есть не те, которые прицельно тычут в моба и явно воздействуют на его Actor Value - иначе говоря, радиоактивность среды (неважно, явный это RadiationMarker [STAT:00000033] или пересчёт эффекта радиоактивной воды) не трогает мобов.
Чавой-то я недопонял: вроде те кто одет в антирадиационные костюмы кексиков из болотника не кушают, да и вообще неписи же вроде как не едят в прямом смысле (как ГГ например) это же просто анимация??? Если "фоновая" радиация на неписях не накапливается то зачем вообще какая-то защита? Например у исповедника Кромвеля который стоит в радиоактивной луже защита есть, а у остальных "обитателей Мегатонны" защиты нет и ничего по той же водичке ходят за милую душу...) ? И ОСНОВНОЙ ВОПРОС: даже если я повешу на непися эффект убивающий или как-то калечащий его при достижении определенного уровня радиации, то как заставить непися набрать нужный уровень радиации как говорится "по жизни"?
Изменение репутации для пользователя Ipatow
IpatowOffline
Сообщение №1673
написано: 13 июня 2013, 13:12
| Отредактировано: Ipatow - 13 июня 2013, 14:46
как заставить непися набрать нужный уровень радиации как говорится "по жизни"?
Повесить на него скриптовый эффект примерно такого содержания:
Код
SCRIPTNAME FeelAmbientRadiationEffectScript
SHORT WrongActor FLOAT FeelPulse FLOAT CurrentResistance FLOAT CurrentHeat
BEGIN ScriptEffectStart
Set WrongActor TO (GetIsCreatureType 4) + (GetIsCreatureType 6)
END
BEGIN ScriptEffectUpdate
IF WrongActor RETURN ENDIF
SET FeelPulse TO FeelPulse - ScriptEffectElapsedSeconds IF FeelPulse < 0 SET FeelPulse TO 1 ELSE RETURN ENDIF
SET CurrentHeat TO GetRadiationLevel IF CurrentHeat == 0 RETURN ENDIF
SET CurrentResistance TO GetActorValue RadResist SET CurrentHeat TO CurrentHeat * (100 - CurrentResistance) / 100 DamageActorValue RadiationRads CurrentHeat
END
Добавлено. Я с размаху ошибся, и задача существенно сложнее, чем я предположил. На скрипт, конечно, можно посмотреть - но именно этот скрипт ничего полезного делать не будет...
Оказывается, это любопытная задача. У меня есть гипотеза, почему беседковцы решили это сломать... Попробую придумать, как починить.
Изменение репутации для пользователя SERGANT-AK47
SERGANT-AK47Offline
Сообщение №1674
написано: 13 июня 2013, 14:40
| Отредактировано: SERGANT-AK47 - 13 июня 2013, 14:43
можно сделать так, чтобы при выстреле по активатору, он активировался (анлок на дверь), и если да, то как?
Чтобы объект заметил получение урона, объект должен быть разрушаемым и скриптованным. OnDestructionStageChange практического смысла не имеет, поскольку требует специальную модель, но остаётся возможность проверять GetDestructionStage, для которой всё можно сделать в GECK. Когда урон обнаружен - делай что хочешь, хоть запирай что-нибудь, хоть отпирай.
Ipatow, я ничего не понял Можно поподробнее что и как?
Добавлено (13.06.2013, 19:04) --------------------------------------------- что такое "OnDestructionStageChange" и "GetDestructionStage"? И как это использовать для "обнаружения урона"? =)
Скажите, можно сделать так, чтобы при выстреле по активатору, он активировался (анлок на дверь), и если да, то как?
На активаторах нормально срабатывает блок OnHit. То, что по активатору игрок именно выстрелил, а не кулаком двинул, можно отследить функцией GetLastPlayerAction. Там этих Action'ов не очень много, но выстрел среди них есть.
Т.е. вне зависимости от того, как был нанесен урон активатору, он переключится? В принципе это не важно, т.к. по активатору ГГ разве что выстрелит или попадет взрывчаткой (гранатой например), т.к. активатор в этот момент недосягаем для главного героя (чтобы ударить в ближнем бою или переключить по-обычному)
Да, это должен быть более простой вариант, чем настраивать Destruction для объекта, а потом его анализировать. Я этот блок после вегаса как-то вообще из головы выкинул
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №1680
написано: 13 июня 2013, 16:11
| Отредактировано: Joopeeter - 13 июня 2013, 16:15