Эта тема предназначена только для помощи, связанной с редактором G.E.C.K.. Все вопросы, касательно модмейкерского дела, прошу сюда - "Помощь по моддингу."
Если вместо ГЕККа запускается белый экран - это из-за ENBшного d3d9.dll в папке игры. Если после одного из обновлений винды при попытке редактирования лица перса или попытке открыть любое оружие стала выскакивать вот такая надпись Assert File: C:\projects\fallout3PC\BSShader\BSShaderManager.cpp(пути могут различаться) Line: 1996 После чего ГЕКК сворачивается. Вопрос решатся запуском ГЕКК через основную игровую видюху. Установленная по умолчанию в настройках интегрированная выдаёт такую ошибку.
Refusepit спасибо, но во первых OnHit врага вообще не вариант поскольку (число тех кто может быть врагом) х (число возможных видов применяемого оружия) = (короче КОШМАР), а во вторых важен как раз процесс, я любитель "типа реализма" чтобы модель оружия +/- соответствовала мощности и скорострельности, а модель брони защите....
Цитата Galko
Через переменные, "вычисляющие" цель
подскажи пожалуйста можно ли в таком случае назначить в качестве CombatTarget (как бы бредово не прозвучало) конкретную часть тела врага?.. чтобы потом использовать UseWeapon или что-то в этом роде...
Но если важен сам процесс, тогда вообще никак. Посмотри окошко UseWeapon:
никак ты в нем не задашь часть тела. В настройках Combat Style тоже нет ничего подобного.
И killАctor - это тоже результат, а не процесс (я его использование и имел в виду, когда писал, но не стал входить в подробности, не зная востребованности идеи). "Убийца" в нем - это параметр для последующего определения ("Холмс, но кто же убил этого бедолагу? - Элементарно, Ватсон, дедуктивный метод bedolagaRef.isKiller player == 1 говорит о том, что убийца - игрок"), а не "руководство к действию" для назначенного убийцы в момент убийства.
https://modgames.net/load/32-1-0-1298 Мод Big Town Overhaul. Там NPC и зверюки сквозь стены бегают как к себе домой, загрузил в гекк, но увы я особо не разбираюсь в нем. Посмотрел на примере стен по периметру как парадиз-фаллс. Вроде тоже самое. Collision markers (transparent) и стандартные заграждения (static), но через них по дороге параллельной выходу и просто сквозь забор все кроме меня проходят. Также npc выходят на патруль за пределы города, а потом возвращаются в город по дороге через забор. В gecke я этот patrol почему-то не нашел. Там другой набит, а он не ведет по этому маршруту. Подскажите в чем дело.
Tipoksfall, НПЦ (но не игрок!) ведь ходят по Navmesh'у - специально создаваемой невидимой в игре поверхности. Честно говоря, не знаю, совершенно ли они плюют на коллизию, если прямо сквозь нее проложен "навмеш", но теоретически - да, если есть "навмеш", значит, это путь, а не препятствие.
Изменение репутации для пользователя Tipoksfall
TipoksfallOffline
Сообщение №1805
написано: 23 августа 2013, 15:50
| Отредактировано: Tipoksfall - 23 августа 2013, 16:26
Да мод то нормальный, в том и дело что может я не туда смотрю, но не увидел навмешей сквозь стену. Там есть только один круговой по центру города и все. Через стену пробегают и зверюки, но они же не по навмешу идут. Также когда неписи преследуют например яо-гая, то они тоже пробегают сквозь забор. Это тоже явно не по навмешу. Вот скриншот http://savepic.su/3039057.jpg Навмеш по центру, через точку один пробегают все. Через точку 2 видел как подошел к забору радскорпион, потолкался и прошел сквозь стену. Через точку 3 у меня прибежал яо-гай так как догонял одного типка из другого мода, потом пробежал через 1. Все кинулись за ним через 1, завалили на нижнем домике, а потом через 1 вернулись. Точка один у меня уже маленького модифицирована, не обращает внимания. Collision marker ведь на животных действует? Блин, походу я понял что такое навмеш (щелкнул Navmesh editing), надо все красные треугольнички удалить которые под заборы заходят. Сделаю, мне это не сложно.
Есть ли хоткей чтобы прям в окне редактора откопировать уже существующий объект?
Изменение репутации для пользователя Galko
GalkoOffline
Сообщение №1806
написано: 23 августа 2013, 16:50
| Отредактировано: Galko - 23 августа 2013, 17:37
Есть ли хоткей чтобы прям в окне редактора откопировать уже существующий объект?
В окне рендера... Contrl+D - дублирует выделенный объект. Дополнительные операции не нужны. После нажатия комбинаций клавиш - объект продублируется и возникнет точно на том же месте, что и оригинал и будет выделен. Остается только мышкой передвинуть его в нужное место. Contrl+C - копирует выделенный объект Contrl+V - вставляет скопированный объект (в этой же ячейке или в любую другую) Копированием объекта нужно пользоваться аккуратно, возможно, что скопируется часть "навешенных" на этот объект всяких разностей. Лучше объект дублировать. Тогда будет "чистый" дубликат, с которым можно делать что угодно. Если нужна копия базового объекта из окна объектов - то просто открываешь его и меняешь ID. Нажимаешь ОК и на вопрос о создании нового объекта тоже отвечаешь ОК. Получится полная копия, но только со своим уникальным ID примечание: Базовые навыки в ГЕКК
надо все красные треугольнички удалить которые под заборы заходят.
так вот и я о том жеш. правда там не треугольнички, там ромбики просто они оч маленькие и по пояс в землю сидят))
Добавлено (24.08.2013, 09:50) --------------------------------------------- вопрос к скриптерам (и не только): есть такой мод "переносная лампа", хороший мод но я его хотел доработать для себя - сделать так чтобы лампа хавала батарею не каждый раз как ты ее зажигаешь, а только через какоето время (через сутки например). так в процессе решения столкнулся с таким вопросом: как мне можно сохранить время если я выключил лампу раньше 24 часов и она не используется? в смысле, допустим включил я лампу, слетела батарейка с инвентаря, прошло 12 часов, потом я ее отключаю и включаю через какое время, но в расход идет уже то время что осталось (лампа дорабатывает оставшиеся 12 часов)...
атарею не каждый раз как ты ее зажигаешь, а только через какоето время
Есть глобальные переменные, отвечающие за время. Например, gamedayspased. С ее помощью обычно организуют счетчики времени. Лампа включена - счетчик тикает, лампа выключена, счетчик остановлен. Ну, где-то примерно так:
begin onactivate if LightOn == 0 ;если свет не включен if FissionCharge > 0 ;если батарея еще не разряжена полностью set LightOn to 1 ;включить ligth.enable ;свет set timer to gamedayspassed ;засечь время else ;если батарея полностью разряжена if player.getitemcount FissionBattery > 0 ;если у игрока есть запасная батарея player.removeitem FissionBattery 1 ;вставить батарею set FissionCharge to 1 ;зафиксировать полный заряд ligth.enable ;включить set LightOn to 1 ;свет set timer to gamedayspassed ;засечь время else ;если нет запасной батареи ; showmessage [no fussion battery] ;сообщить игроку "нет запасных батарей" endif endif else ;если свет включен set LightOn to 0 ;выключить ligth.disable ;свет endif end
begin gamemode if LightOn ;если свет включен if FissionCharge > 0 ;если батарея еще не разряжена полностью set DeltaT to gamedayspassed - timer ;уменьшается set FissionCharge to FissionCharge - DeltaT ;заряд батареи else ;если батарея полностью разрядилась set LightOn to 0 ;выключить ligth.disable ;свет ; showmessage [need to insert new battery] ;сообщить игроку о "батарея разрядилась" endif endif end
Такой скрипт должен висеть на самой лампе. Источник света прилинкован к лампе и предварительно задисеблен. Как недостаток можно отметить то, что этот скрипт будет крутиться в каждом фрейме, а так же то, что если батарея полностью разрядилась, а игрок был в другой ячейке, то он может заметить момент отключения света при загрузке.
====================== Мод "Нью-Йорк" на русском: 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
Такой скрипт должен висеть на самой лампе. Источник света прилинкован к лампе и предварительно задисеблен.
ага...тогда продолжение вопроса: а скрипт будет работать если я возьму лампу в инвентарь? она же ведь все-таки "переносная"...точнее при взятии в инвентарь активатор дисейблится и добавляется лампа как misc. при зажигании активатор вызывается через placeatme..может квестовым скриптом это можно като сделать?
Наверное можно. Хотя, не исключено, что и обычным тоже можно обойтись. Нужно только переменные хранить в другом месте. Сделать их или глобальными, например. И для переносной лампы меню, скорее всего, понадобиться - зажечь, потушить, убрать в рюкзак. Каждый раз создавать рядом с собой новый активатор не рационально, проще двигать с места на место один и тот же (Moveto player). Точно так же можно двигать и источник света, кстати.
====================== Мод "Нью-Йорк" на русском: 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, а можете подсказать еще по двум вопросам. 1. как можно определить что пистолет заряжен? 2. и если не заряжен то можно как-то добавить ему патроны без проигрывания анимации перезарядки?
з.и. это я все работаю над идеей самозарядного пистолета, я об этом писал выше...
Дорогая Америка, не поможешь ли ты мне с этими чертовыми "конверсациями"?
Вот хочу я, чтобы, как в Вегасе, напарник говорил мне, когда у него кончаются патроны. Что я для этого делаю: 1. Создаю в квесте конверсацию "У меня кончились патроны". Ни условий, ничего, просто запись в конверсациях, приоритет 100. 2. Напарнику пишу в скрипт:
begin onStartCombat
if патроны кончаются startConversation player convId endif
3. Иду тестово драться, отняв у напарника патроны.
Он мне говорит: "Привет! Рад тебя видеть!". Приятно, конечно, но почему не "У меня кочаются патроны"? Что за неуместная вежливость?
StartConversation: Use the function to force a conversation between two NPCs, starting with a specified topic. If called on an NPC who is in combat with the player, won't start conversation with the chosen topic but with the GREETINGS topic.
У меня нормально напарники между собой треплются... И на здоровье жалуются, и на нехватку патронов, и что босс давно не кормил... И из-под HELLO, и из-под IdleChatter - даже не возникало потребности специально тему для болтовни им задавать.
Изменение репутации для пользователя refusepit
refusepitOffline
Сообщение №1817
написано: 26 августа 2013, 22:23
| Отредактировано: refusepit - 26 августа 2013, 22:29
Эм... Раз тут у нас курсы английского для "тех, кому за" - это вот: "If called on an NPC who is in combat with the player, won't start conversation with the chosen topic but with the GREETINGS topic" означает, что "Если вызванный НПЦ находится в бою... гм... с игроком?... конверсацию надо вызывать из GREETINGS, а иначе нифига работать не будет"?
что такое: ref.joe, ref.player? Что за "реф - точка"? У меня на нее ругается!
В принципе, поскольку напарник должен это сказать в воздух, можно поставить npcRef.startConversation npcRef greetingId ? Тихо сам с собою, так сказать?
В цитате сказано именно "сражается с ГГ", но моё мнение - неважно с кем; если NPC воюет, то какую бы тему ты ни пытался запустить, разговор начнётся с GREETING. Но это из раздела примечаний - а ключевой момент тут тот, что Conversation это не диалог с ГГ. Разговоры с ГГ - на закладке Topics.
Я бы предположил, что для твоих целей - проинформировать ГГ о чём-то, не начиная полноформатный диалог - правильнее использовать SayTo.
Пара вопросов по этому же моду https://modgames.net/load/32-1-0-1298 Big Town Overhaul 1) Почему на месте удаленных деревьев стоят какие-то 'деревца' из 4 граней в низком разрешении сквозь которые можно проходить и как их убрать? На этом моде в городе есть. 2) Заметил ночью в большом городе глюк от свет бочек стоящих на земле. На стены свет отбрасывают, а на землю нет. Подходишь поближе ничего, наводишь прицел на бочку - свет появляется, отводишь - исчезает. Еще один момент, походу там где стоят бочки, одна стандартная как в игре и одна на входе, автор мода понижал уровень земли, потому что центральная бочка висела в воздухе достаточно ощутимо. Поставил бочку в другом месте на дороге, где высота явно не затрагивалась - там все ок, а тут нет. Что это такое и что делать?
Заметил ночью в большом городе глюк от свет бочек стоящих на земле. На стены свет отбрасывают, а на землю нет. Подходишь поближе ничего, наводишь прицел на бочку - свет появляется, отводишь - исчезает.
Проблемы с освещением земли - дефект игрового движка, тем более заметный, чем темнее. Чтобы было не очень заметно, авторы игры специально сделали очень светлые ночи...
Ipatow, да, цель именно такова - выбросить в воздух реплику без продолжения, обязательно с субтитром, ибо озвучки всех этих фраз нет и не предвидится. Пробовал и SayTo, и Say - вообще ничего не происходит. При стартКонверсацион есть хоть какая-то реакция. Однако, с учетом новой информации - о расположении реплики в "гритингсах" - попробую СайТо, как до гекка добреду. Спасибо.
Дорогая Америка, что-то я уже голову сломал, давай вместе подумаем? Тема размышлений такая: можно ли отследить убийство/повреждение конкретным (т.е. на него можно повесить и скрипты, и эффекты, и что угодно) НПЦ других (уже не конкретных, любых!) НПЦ, кроме как эффектом на оружие, которым вооружен наш конкретный НПЦ?
Т.е. можно ли создать на НПЦ, его броне, вещи, добавляемой в его инвентарь (по onAdd) что-то, что будет свистеть - "он убил (попал, произошел onHit)" - но НЕ на оружии?
PS. На всякий случай поясню, зачем это - вдруг есть вообще не связанное с попаданиями решение: это для начисления игроку экспы за убитых напарником врагов. Сейчас это у меня эффект на винтовке, соответственно, напарник всю игру вынужден бегать с ней и только с ней, а все разнообразие оружия в игре - псу под хвост, хны, хны!
Представь себе, что ты используешь не "рукопашное" оружие, а что-то там стреляющее. То есть ты спустил курок, вылетел какой-то там прожектиль... И дальше ты бродишь по лесу, прожектиль летает вокруг... Ты по ходу дела ещё пару раз стрельнул, ты ходишь, прожектили летают.. Ты перекусил, послушал радио, переоделся, вздремнул... Тут кто-то пришёл и на один из твоих прожектилей нарвался. Взрывы! Вопли! Ну, то есть кого-то там неизвестно кого ты повредил, а то и вовсе убил. И вот поставь себя на место игрового движка - это как надо напрягаться, чтобы какая-нибудь каска была способна отследить судьбу всех запущенных носителем каски за истекшие сутки прожектилей, чтобы заметить, что эти прожектили наконец в кого-то попали?
Попробую утешиться маленькой плюшкой: а вот как в скрипте определить уровень сложности текущей игры? Там ведь для каждого уровня свои множители к опыту - а критерий их применения я не нашел. Мало того, что напарник всю игру бегает с одной винтовкой, так еще на "хардкоре" опыт с нее получает, как с "нормала". Должна же быть хоть какая-то справедливость в Америке, а?!
как в скрипте определить уровень сложности текущей игры?
Никак - это же не характеристика текущей игры, это режим, в котором запущена игра. Вроде того, в полноэкранном режиме игра запущена или в окошке. И поменять режим сложности можно в любой момент совершенно асинхронно. То есть вот, допустим, будь такая возможность - мод спросил, какая сейчас у игры сложность, получил ответ и только собрался соответственно этому что-то подрегулирвать у себя - а игрок миллисекунду спустя взял и переключил сложность...
Изменение репутации для пользователя Tipoksfall
TipoksfallOffline
Сообщение №1829
написано: 28 августа 2013, 23:10
| Отредактировано: Tipoksfall - 28 августа 2013, 23:18
Подскажите пожалуйста, как вернуть изначальное значение, которое было в esmе. Например: берется fallout.esm, на его основе делается мод, там правится один package из fallout.esm, теперь над ним горит звездочка, мол подвергался корректировке. Как при активированном плагине вернуть изначальное состояние какого либо form id или base id в котором объект находится в esmе? Или только зачистить все удалением через FO3Edit? Не гавкнется чего-нибудь тогда из-за этого? (В смысле: человеку было делать нечего, он например на стандартные ящики навешал флаги квестовый, подкорректировал, но не критично, пакеты в большом городе и прочее подобное по мелочи).
как вернуть изначальное значение, которое было в esmе
FO3Edit позволяет вернуть и отдельные значения полей объектов, и целиком объекты, в тот вид, в каком они были на момент загрузки любого патча, содержащего этот объект. Также с помощью FO3Edit можно начисто удалить объект из патча, полностью отменив вмешательство этого патча в этот объект. Для подобных целей FO3Edit инструмент наиболее гибкий и функциональный.
При помощи GECK тоже можно удалить объект из патча (то есть отменить вмешательство этого патча в этот объект). В диалоге, перечисляющем загружаемые патчи, есть кнопка Details - которая показывает список объектов патча (не требуется ничего загружать в GECK - это всё доступно уже тогда, когда ты только размышляешь "а не загрузить ли мне что-нибудь?"). В этом окошке работает кнопка Delete - которая включает/выключает флаг Ignore на выбранном мышкой объекте. Объект с таким флагом не будет загружен ни в игру, ни в GECK - загрузка патча с игнорируемыми объектами как активного и немедленное сохранение патча приведёт к исчезновению из патча этих объектов.