Модератор форума: КсюXa, ApeX  
Форум » Fallout 3 » Мастерская » Помощь по G.E.C.K. (Помощь по редактору)

Помощь по G.E.C.K.
КсюXa  Offline  Сообщение №1 написано: 25 сентября 2010, 10:57


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


Внимание!


Эта тема предназначена только для помощи, связанной с редактором G.E.C.K..
Все вопросы, касательно модмейкерского дела, прошу сюда - "Помощь по моддингу."

Тема по GECK раздела New Vegas



Galko  Offline  Сообщение №1291 написано: 26 декабря 2012, 17:22 | Отредактировано: Galko - 26 декабря 2012, 17:54


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


Joopeeter, Хэй, Джуд!
Полочка активатор - тоже неплохо, но слишком уж просто :) Нам бы это... как говорила уже: если секс - то только стоя в гамаке. На лыжах. В водолазном костюме.
ЗЫ. Это refusepit виноват :D Сбил с толку - невидимый активатор, невидимый активатор. :( Действительно - создать активатор и указать моделью полочку. и все дела. Только что проверила на деревянной полке - появляется буква Е, как и заказывалось.

Ваше счастье, что я не ваше счастье
refusepit  Offline  Сообщение №1292 написано: 26 декабря 2012, 19:40 | Отредактировано: refusepit - 26 декабря 2012, 19:47



650
Dashie, боюсь соврать, но, по-моему, просто в разделе Actors-> NPC находите двух красавцев (точнее, красавца и красавицу): player и playerfemale - да и добавляете этим НПЦ (заготовкам игрока) на вкладке Inventory то, что душеньке угодно.

Только, если подумать, это не поможет: по-моему, скрипты очищают инвентарь на каждой стадии "взросления" в Убежище. Я просто кладу все в шкафчик в кабинете Смотрителя. :) Он смотритель, у него в заначке что хошь оказаться может! ;)

А так - наверное, править скрипт квеста в Убежище: когда он доходит до стадии "Побег" - тогда и добавлять.

Joopeeter, неужто так просто?? Эхъ, приду домой - и весь мир активаторами завалю! Чтобы, понимаешь, ступить было нельзя, чтобы в активатор, значить, не вляпаться! :)

Галко, не, не, не! Я про гамак ничего не говорил! mocking
*бурчит* Секс в невидимом гамаке по клавише "Е"... гм... гм... есть о чем подумать...

JupiterJour  Offline  Сообщение №1293 написано: 26 декабря 2012, 23:16


_


Цитата refusepit

Только, если подумать, это не поможет: по-моему, скрипты очищают инвентарь на каждой стадии "взросления" в Убежище. Я просто кладу все в шкафчик в кабинете Смотрителя. Он смотритель, у него в заначке что хошь оказаться может!

А так - наверное, править скрипт квеста в Убежище: когда он доходит до стадии "Побег" - тогда и добавлять.


Я глубоко убеждён, что править оригинальные скрипты и вообще трогать ванильное надо только в крайнем случае, предварительно хорошенько разобравшись что же ты делаешь и на что это потом повлияет. Хоть в данном случае никаких таких особых последствий и не предвидится, но лучше всё же сделать свой квест, отметить ему Start Game Enabled, в квестовом скрипте добавить предметы игроку с проверкой, что пройдена последняя очищающая инвентарь стадия начальных квестов (хм, никогда не думал об этом в таком разрезе, действительно, карапузу бронежилеты с пушками без надобности) и тут же остановить этот квест.

refusepit  Offline  Сообщение №1294 написано: 27 декабря 2012, 07:03 | Отредактировано: refusepit - 27 декабря 2012, 07:04



650
Цитата Joopeeter

Я глубоко убеждён, что править оригинальные скрипты и вообще трогать ванильное надо только в крайнем случае



Абсолютно согласен.

Dashie, кстати, если копаться, какой там квест и на какой стадии исполнился-не исполнился, лень, то можно тупо, но эффективно, добавить по факту достижения уровня. Какой там уровень дается игроку, который только-только вышел из убежища? Второй, по-моему?

Вот и сделать, как говорит Joopeeter, свой "квест", в котором значение имеет только его скрипт: в этом скрипте проверяется "уровень игрока == 2? добавим вещи и поставим флаг "вещи добавлены", после чего "квест" завершается.

Код
scn defaultInventoryQuestScript

short doOnce

begin GameMode

if ( player.getLevel == 2 ) && ( doOnce == 0 )
     
player.addItem ...................
player.addItem ...................
player.addItem ...................
.....................

set doOnce to 1

stopQuest defaultInventoryQuest

endif

end


Добавлено (27.12.2012, 11:03)
---------------------------------------------
* * *

Дорогая Америка, а чем отличаются и как соотносятся ячейка и локация (cell и location)? Мне не хватает английского, чтобы понять.

refusepit  Offline  Сообщение №1295 написано: 27 декабря 2012, 07:32



650
Ну, эта тема посвящена ГЕКК, то есть как писать моды. Вам и отвечали про это. :)

А я повторю вопрос, чтобы не затерялся:

Чем отличаются и как соотносятся ячейка и локация (cell и location)? Мне не хватает английского, чтобы понять.

Graf  Offline  Сообщение №1296 написано: 27 декабря 2012, 12:16



179
refusepit, локация считается миром, а ячейка интерьером, вроде так.

...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
Galko  Offline  Сообщение №1297 написано: 27 декабря 2012, 16:40 | Отредактировано: Galko - 27 декабря 2012, 19:13


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


Цитата refusepit

чем отличаются и как соотносятся ячейка и локация (cell и location)?


Cell - ячейка, элемент, часть чего-либо большого, а Location - это местоположение чего-то, ну хоть той же ячейки. Это если переводить :)
Если мне не изменяет память - насчет ячеек был разговор. А вот, точно!!! Вот тут как раз именно тебе и рассказывала. Сейчас даже выделю там цветом, чтоб долго не искать :D
А вообще-то, когда говорят "локация" - подразумевают конкретную местность в игре. Чаще всего - во внешнем мире: локация Гудспрингс, (ой, тут же Фол!) Мегатонна, локация - городок Андейл и так далее. А ячейка - это термин редакторский.

---------------------------------------------

Ваше счастье, что я не ваше счастье
refusepit  Offline  Сообщение №1298 написано: 28 декабря 2012, 05:34 | Отредактировано: refusepit - 28 декабря 2012, 06:05



650
Ой, спасибо тебе, Галочко!
Даже неловко, что ты столько труда в ответы на тупые вопросы вкладываешь! Зато кристально ясно!

Мне это нужно было, чтобы понять про getDistance. Там сказано в примечании: "If a null reference - or a reference to an object not in the current cell - is passed, the script crashes". Как я понимаю, это значит "если референс объекта не в текущей (относительно проверяемого) cell, то кирдык вашему скрипту, и компьютеру, и вам, и даже асфальт возле вашего дома трещинами пойдет".

И есть такая проверялка, как GetInSameCell - "Returns true if the calling reference is in the same cell as the target Actor ". Вот я и пытался понять, когда она сработает и можно будет проверять собственно дистанцию.

Теперь понятно. Если я проверяю дистанс до мистера Велда (робота у ворот Мегатонны), то GetInSameCell даст 1 именно тогда, когда я окажусь в cell "MegatonMainGate", а не около Убежища 101 или внутри самой Мегатонны.

Спасибо, Галко! Ты настоящий друг, а не поросячий хвостик! good

Цитата Galko

свечной заводик



mocking

Да, а мне тут довелось в молодежной среде что-то из "Песни о буревестнике" процитировать - спросили, сам ли написал... ;)

Spalny_Vagon  Offline  Сообщение №1299 написано: 28 декабря 2012, 07:31


Мастер


Цитата refusepit

Мне это нужно было, чтобы понять про getDistance. Там сказано в примечании: "If a null reference - or a reference to an object not in the current cell - is passed, the script crashes". Как я понимаю, это значит "если референс объекта не в текущей (относительно проверяемого) cell, то кирдык вашему скрипту, и компьютеру, и вам, и даже асфальт возле вашего дома трещинами пойдет".


Это означает, что невозможно измерять расстояния между объектами, если один в интерьере, а второй в экстерьере. Странно, да?
Но если Вы хотите сравнить это расстояние с неким числом, то все работает, во всяком случае, у меня никаких проблем никогда не возникало. Т.е.:
if [ObjectRef].GetDistance player > 8000
должно работать всегда.

======================
Мод "Нью-Йорк" на русском: 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
refusepit  Offline  Сообщение №1300 написано: 28 декабря 2012, 07:59



650
Spalny_Vagon, любопытно... Где-то я читал, что размер cell - 4096... Т.е. можно проверить, условно говоря, "если объект в 2 ячейках от меня, то..."?

Ipatow  Offline  Сообщение №1301 написано: 28 декабря 2012, 08:53 | Отредактировано: Ipatow - 28 декабря 2012, 08:59



Цитата Spalny_Vagon

if [ObjectRef].GetDistance player > 8000
должно работать всегда.

Если этот ObjectRef только что получен функцией GetSelf - не взорвётся. Если это FormID персонажа, первым на прошлой неделе прошедшего через определённый триггер... Побойтесь бага, тот мод вместе со своими объектами ещё позавчера снесён! lol

refusepit  Offline  Сообщение №1302 написано: 28 декабря 2012, 09:08 | Отредактировано: refusepit - 28 декабря 2012, 09:20



650
Запутали вы меня, майне экселенцы...

Т.е. в этом описании говорится про текущую ячейку только применительно к интерьерам (или паре интерьер - экстерьер)? А в миру можно спокойно из cell MegatonWorld проверить, доедить это колесо до cell Ривер-сити аль не доедить (точнее, в пределах трех "запасом" загруженных ячеек)?

Наверное, надо максимально конкретно... Стоит у меня НПЦ возле ворот Мегатонны снаружи (MegatonMainGate cell). Чаво ему просто так стоять? Пусть робота, мистера Велла, чинит (имитация бурной деятельности)! Заставить его постоянно чинить мистера Велла я не смог (ну, вроде как RepairWall02 - это не аним-групп, когда ее пытаешься зациклить PlayGroup 2, скрипт на это и ругается). Тогда я соглашаюсь на полцарства: пусть чинит, когда ГГ к нему в первый раз подходит. Конечно, можно триггером, но триггеров там - ступить некуда. И подумалось - сделаю playIdle, когда getDistance будет в разумных пределах. Вот такая постановка задачи...

Ipatow  Offline  Сообщение №1303 написано: 28 декабря 2012, 09:30



Цитата refusepit

Стоит у меня НПЦ возле ворот Мегатонны снаружи (MegatonMainGate cell). Чаво ему просто так стоять? Пусть робота, мистера Велла, чинит (имитация бурной деятельности)! Заставить его постоянно чинить мистера Велла я не смог (ну, вроде как RepairWall02 - это не аним-групп, когда ее пытаешься зациклить PlayGroup 2, скрипт на это и ругается). Тогда я соглашаюсь на полцарства: пусть чинит, когда ГГ к нему в первый раз подходит. Конечно, можно триггером, но триггеров там - ступить некуда. И подумалось - сделаю playIdle, когда getDistance будет в разумных пределах. Вот такая постановка задачи

Ну, я бы поставил возле помшерифа маркер CG04StanleyFix [IDLM:0005688F], который как раз и крутит обе стеночинки случайным образом (или свой маркер сделал бы), а на маркер принудительно посадил того персонажа... Впрочем, почему бы и не мерять расстояние до ГГ - ГГ всегда существует, персонаж, на котором крутится скрипт, во время выполнения этого скрипта тоже материализован - меряй не хочу.

refusepit  Offline  Сообщение №1304 написано: 28 декабря 2012, 09:59



650
Цитата Ipatow

или свой маркер сделал бы



Ооо... А можно подробнее? Давно хочется попробовать маркер уникальной анимации!

Кстати, про маркеры... Как они соотносятся с вкладкой Idle пакетов? То есть, опытным путем я увидел, что а) персонажи, не имеющие в этой вкладке анимации курения, все равно курят на этих маркерах б) персонажи, имеющие эту анимацию, курят и не на маркерах. То есть, маркер, по сути, нужен, чтобы персонаж выполнял это действие в этом месте?

Spalny_Vagon  Offline  Сообщение №1305 написано: 28 декабря 2012, 10:18 | Отредактировано: Spalny_Vagon - 28 декабря 2012, 10:29


Мастер


Цитата refusepit

Тогда я соглашаюсь на полцарства: пусть чинит, когда ГГ к нему в первый раз подходит. Конечно, можно триггером, но триггеров там - ступить некуда. И подумалось - сделаю playIdle, когда getDistance будет в разумных пределах. Вот такая постановка задачи...


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

======================
Мод "Нью-Йорк" на русском: 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
Galko  Offline  Сообщение №1306 написано: 28 декабря 2012, 11:38 | Отредактировано: Galko - 28 декабря 2012, 13:06


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


To refusepit
Уважаемый, мы и эту проблему обсуждали с Вами же ;) Вот тут...
Все курильщики в игре состоят во фракции курильщиков. И поэтому они могут проигрывать анимацию курения во время "простоя" в любом месте, поскольку эта анимация принадлежит им и только им. Чтобы заставить некурящего закурить - надо:
а) его сильно напугать, чтоб он перенервничал, т.е. - "вступить" его во фракцию курящих
б) или создать анимационный маркер с анимацией курения, тогда на этом маркере будут курить все, его использующие неписи. В этом ты убедился сам
Цитата refusepit

б) персонажи, имеющие эту анимацию, курят и не на маркерах


Ваше счастье, что я не ваше счастье
refusepit  Offline  Сообщение №1307 написано: 28 декабря 2012, 12:47 | Отредактировано: refusepit - 28 декабря 2012, 12:48



650
Galko, у меня курят все, и никто не состоит во фракции курильщиков. Они, собственно, ни к каких фракциях не состоят, НПЦ мои. И никто их не пугает, напротив, живут в тепличных условиях. :) По-моему, про фракцию не совсем верно. Я потому и спрашиваю, что в игре вижу одно, а читаю другое... unsure

Galko  Offline  Сообщение №1308 написано: 28 декабря 2012, 13:01 | Отредактировано: Galko - 28 декабря 2012, 13:09


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


Цитата refusepit

По-моему, про фракцию не совсем верно


Что ж тут неверного? Если б это было не так - то зачем было разрабам создавать фракцию курильщиков и привязывать к этой фракции анимацию курения?

Ваше счастье, что я не ваше счастье
refusepit  Offline  Сообщение №1309 написано: 28 декабря 2012, 13:08



650
Да, да, именно так. Или на маркере, или при пакете. Поэтому я и уточняю: маркер необязателен, он нужен лишь, чтобы персонаж делал в определенном месте то, что он при наличии прописанной идле делает и так, но где попало.

Еще я не знал, что анимации могут... даже не знаю, как назвать... перекрываться? сочетаться? Совершенно выпал в осадок, когда зашел в комнату медсестры, заведенной вместо мини-больнички, а она лежит, значит, в комбинашке (не сработал скрипт переодевания в конце пакета сна, потому что я не учел хитрость "подсунуть известную броню и сразу удалить") на кровати своей и курит лежа, нахально так... :)

Вот такие детали я и уточняю.

Galko  Offline  Сообщение №1310 написано: 28 декабря 2012, 14:59 | Отредактировано: Galko - 28 декабря 2012, 13:11


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


Цитата refusepit

я и уточняю: маркер необязателен он нужен лишь, чтобы персонаж делал в определенном месте то, что он при наличии прописанной идле делает и так, но где попало


Дык... само слово маркер означает - метка. Отмечает место где будет происходить нечто.

Добавлено (28.12.2012, 18:59)
---------------------------------------------
Кстати, о курении...
Такая вот ситуация: если создать новую сигарету в раздел "Помощь" (ведь иногда ж сигарета помогает?) дабы можно было к ней "привинтить" скрипт, срабатывающий в момент использования, и когда ГГ использует\активирует эту сигарету - срабатывает этот самый скрипт, заставляющий ГГ проигрывать анимацию курения и ГГ начинает курить (уф, длинное предложение получилось). Вопрос: как долго будет курить ГГ и как его заставить бросить это занятие в момент, выбранный самим играющим? Да и будет ли всё так просто с курением, закурит ли ГГ таким образом? Проверить в данный момент на практике не могу, поскольку редактор и игра в очередной раз "слетели".


Ваше счастье, что я не ваше счастье
JupiterJour  Offline  Сообщение №1311 написано: 28 декабря 2012, 19:21


_


Цитата Galko

Да и будет ли всё так просто с курением, закурит ли ГГ таким образом?


Ну, запустить PlayIdle на игроке мне ни разу не удавалось, а вот если сделать ему (себе то есть) AddScriptPackage с прописанными Idle-анимациями, то они проигрываются. Работает с пакетами Guard, Find, Travel и Sandbbox, нацеленными на Current Location либо на что-то, находящееся прямо под игроком. С ними же, но нацеленными куда либо ещё, не работает, другие не проверял. Контроль при этом полностью теряется (иногда навсегда) и возвращается (или как повезёт) только после RemoveScriptPackage. Также анимации видны только от третьего лица, а от первого отрубается управление, видно, что голова совершает какие-то движения, но не видать ни собственных рук, ни бутылки, ни сигареты (ёмаё, сразу ясно, что я далёк от здорового образа жизни, нет бы на отжиманиях проверял!). А вот функции для принудительного перехода к виду от третьего лица не предусмотрено, только обратно.

Graf  Offline  Сообщение №1312 написано: 29 декабря 2012, 00:20



179
Цитата Joopeeter

Ну, запустить PlayIdle на игроке мне ни разу не удавалось


А мне удавалось, но с эффектом.

...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
Galko  Offline  Сообщение №1313 написано: 29 декабря 2012, 13:00


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


Цитата Graf

но с эффектом.


С обычным или с использованием FOSE?

Ваше счастье, что я не ваше счастье
Graf  Offline  Сообщение №1314 написано: 29 декабря 2012, 15:52 | Отредактировано: Graf - 29 декабря 2012, 15:52



179
Galko, обычным, имелось ввиду что используются в base effect.

...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
refusepit  Offline  Сообщение №1315 написано: 3 января 2013, 10:02



650
С Новым Годом, дорогая Америка!

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

Можно ли в редакторе включить/отключить показ объектов disabled? Логически мне кажется, что должно такое быть... вон, в доме игрока сколько всякой перекрывающейся дряни из "стилей жилища" понапихано - неужто так и пихали, при всеобщей видимости?

Цитата Joopeeter

ёмаё, сразу ясно, что я далёк от здорового образа жизни, нет бы на отжиманиях проверял!



Аха-ха-ха! Коллега!.. ;)

JupiterJour  Offline  Сообщение №1316 написано: 3 января 2013, 11:15


_


Цитата refusepit

Можно ли в редакторе включить/отключить показ объектов disabled? Логически мне кажется, что должно такое быть... вон, в доме игрока сколько всякой перекрывающейся дряни из "стилей жилища" понапихано - неужто так и пихали, при всеобщей видимости?


Через View -> Show/Hide Window можно включать/отключать видимость разных типов объектов (статических, подвижных, актёров и т.д.).
Клавишей "1" можно циклически делать выделенные в окне рендера предметы невыделяемыми-невидимыми-обычными. Невыделяемость и невидимость предметов распространяется только на окно рендера, в окне Cell View можно с ними делать что хочешь, в том числе снова выделить и нажать единицу.

refusepit  Offline  Сообщение №1317 написано: 3 января 2013, 12:22



650
Спасибо, Joopeeter! А то я замучился с двухэтажными конструкциями - ни черта не видать было за полами-потолками!

morozik75  Offline  Сообщение №1318 написано: 3 января 2013, 21:54 | Отредактировано: morozik75 - 3 января 2013, 21:55


Sorcerer's Apprentice


336
Всем доброго времени суток! Имеются 2 вопроса по ГЕККу, думаю всё-таки по нему, а не моддингу в целом.
1)На что влияет параметр у брони Weight Class: light или heavy? Мне вот не очень понятно, та же силовая броня имеет параметр light, а например плащ Вэнса - heavy.
2)Заметил, что только у силовой брони есть индивидуальный звук шагов Data\sound\fx\fst\armor\power\left или \\right, для всей же остальной брони используется звук кожаной, хотя в ресурсах игры в папке Sound.bsa имеются файлы и для металлической брони Data\sound\fx\fst\armor\metal\left или \\right. Но в ГЕККе в разделе Sound ссылок на металлическую бронь нет. Кто-нибудь подскажет как и где привязать конкретную бронь с конкретным звуком шагов?

Играми, к которым делал моды, в настоящее время, не увлекаюсь. Не имею ни желания, ни возможности эти моды исправить или доработать. Так же не смогу объяснить почему именно у вас, что-то не работает. Прошу понять и простить. С уважением к ресурсу и его пользователям. Вадим Морозов.
Ipatow  Offline  Сообщение №1319 написано: 3 января 2013, 22:39



Цитата morozik75

как и где привязать конкретную бронь с конкретным звуком шагов?

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

Ну, это-то всё ерунда - главное не спрашивай как украсть лошадь!

refusepit  Offline  Сообщение №1320 написано: 4 января 2013, 15:49 | Отредактировано: refusepit - 4 января 2013, 15:51



650
Можно, я про лошадь спрошу? :)
Лошадь у меня такая: НПЦ-напарник, ничего особенного, может отчитаться о своем здоровье и слопать стимулятор, буде есть нужда. Реализация примитивная, в Beg-скрипте топика "Как самочувствие":

Код
long cH
long bH

set cH to getAV Health
set bH to getBaseAV Health

showMsg MSG cH bH


Я этот скрипт привожу, только чтобы показать, что нет никаких заморочек и хитростей. Все пррррекрасно работает.

Но. Если на этого НПЦ повесить скрипт (совершенно банальный, на событие "бобик сдох" вывести сообщение "бобик сдох") - он начинает говорить, что здоровье у него 0 из 0. Т.е. вот эти getAv, getBaseAV перестают работать. Убираем скрипт - снова все пучком. Тип скрипта, похоже, значения не имеет: на нем висели и onCombatEnd, и onHit - результат тот же: нет скрипта, состояние здоровья отображается, есть скрипт - "0 из 0".

Ладно, плюнул я и в скрипте квеста GameMode проверяю, не сдох ли бобик. Но осадочек неприятный остался, дорогая Америка! Хочет понять: это я дурак, или все-таки лыжи не едут? Почему заскриптованный персонаж не может на getAV простенький ответить вежливо?

Форум » Fallout 3 » Мастерская » Помощь по G.E.C.K. (Помощь по редактору)
Поиск:





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