Модератор форума: Ксю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



YikxX  Offline  Сообщение №2821 написано: 10 марта 2025, 19:36


Местный Дон Кихот Ламанчский


JIuKBuDaToR, смущает затененная галка Persistent Reference он должна быть активной. Видимо, поэтому и не работает.

Вот пример скрипта из игры, где производятся действия над неписем при заходе игрока на триггер

scn YaoGuaiDenRunnerScript

short doOnce

begin onTriggerEnter player
    if doOnce == 0
        YaoGuaiDenRunnerREF.setAV variable01 1
        YaoGuaiDenRunnerREF.evp
        set doOnce to 1
    endif
end

Как видите, никаких ref ... тут нет и все отлично работает.

Возможно, проблема в названии самого скрипта, все-таки SCPIPT должно быть в конце, а не середине названия.

Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
JIuKBuDaToR  Offline  Сообщение №2822 написано: 10 марта 2025, 21:40 | Отредактировано: JIuKBuDaToR - 10 марта 2025, 21:40



86
YikxX, Уже менял и ID скрипта, NPC, в настройках NPC отмечал разные галки. Вы правы скорее всего, я не могу отметить галку Persistent Reference у своего NPC в локации. Вот, например у Супермутанта из LVL листа, есть возможность отметить галку.

image

"Хочешь сделать что-нибудь хорошее, сделай это сам!"
ApeX  Offline  Сообщение №2823 написано: 11 марта 2025, 16:17



Так надо сравнивать с какой-нибудь базовой неписью, а не с кричером из левел-листа. От настроек в базовом и зависят возможности ставить галки. А здесь в ADragNPC будто базовые настройки и мешают.


Цитата JIuKBuDaToR

в настройках NPC отмечал разные галки

Как вариант, создать своего бота на базе "рабочей" неписи, где галка ставится.

JIuKBuDaToR  Offline  Сообщение №2824 написано: 11 марта 2025, 17:06 | Отредактировано: JIuKBuDaToR - 11 марта 2025, 17:08



86
ApeX, Проблема решена! Компилирятор не компилировал скрипт из-за цифры в скрипте. Убрал цифру из рефссылки, из названия скрипта и все скомпилировалось! 

ВЫВОД: Никогда не указывайте в названии скрипта и в реф-ссылках цифры!, только буквы!

"Хочешь сделать что-нибудь хорошее, сделай это сам!"
ApeX  Offline  Сообщение №2825 написано: 11 марта 2025, 18:20



Цитата JIuKBuDaToR

Никогда не указывайте в названии скрипта и в реф-ссылках цифры


Спорно. В ванили полно скриптов - в названии и содержимом - и не только с цифрами. И с ними нет проблем.

JIuKBuDaToR  Offline  Сообщение №2826 написано: 11 марта 2025, 19:42 | Отредактировано: JIuKBuDaToR - 11 марта 2025, 19:42



86
Проблема с созданием диалогов!
Учусь, практикуюсь с диалогами. Создал приветствие GREETING для моего NPC - "ADragNPC".
Игрок начинает разговор, НПС говорит: "Ты кто такой?.. Плати и уход" и Игрок должен ему ответить: "Хорошо, я согласен."
Почему появляется стандартная дефолтная фраза "Мне пора идти" и как ее убрать?

image-2image-1

"Хочешь сделать что-нибудь хорошее, сделай это сам!"
JIuKBuDaToR  Offline  Сообщение №2827 написано: 13 марта 2025, 10:57 | Отредактировано: JIuKBuDaToR - 13 марта 2025, 10:57



86
UPDATE!
Я узнал! Для того, что в вашем диалоге не было реплики "Мне пора идти.", добавляйте ваши реплики через окно "Choices", а не "Add Topics"

image-2

"Хочешь сделать что-нибудь хорошее, сделай это сам!"
JIuKBuDaToR  Offline  Сообщение №2828 написано: 13 марта 2025, 10:58



86
Ищу скриптера для создания/редактирования погодного мода для Fallout 3. Готов оплатить ваши труды! Сам изменить/доработать я не могу, слишком много кода, которого я не понимаю. Просьба писать в личные сообщения!

"Хочешь сделать что-нибудь хорошее, сделай это сам!"
igelschmigel  Offline  Сообщение №2829 написано: 16 марта 2025, 15:33 | Отредактировано: igelschmigel - 16 марта 2025, 15:39



10
Здравствуй, моя прекрасная Америка! Это я, кто помнит. smile

Слушайте, очень похожая проблема, как у автора выше, только с GOODBYE.
Мне НЕ надо, чтобы в списке ответов был "стандартный" ответ-прощалка "мне пора идти".
Ну, иду на Conversation, добавляю GOODBYE, самое верхнее поле (Topic text) пустое, в промт пишу, что мне надо, в ответ НПЦ - тоже свое.
Запускаю игру - вылетает. Я сперва думал, что галку "топ-левел" надо убрать (ну, что это я ее нечаянно поставил, а ее не было), но глянул в Fallout3.esm - не, там "гудбай" именно топ-левел, в отличии от GREETING.
Оки. В Topic Text пишу стандартное "Мне пора идти", но в промт - свое. Не вылетает, но предлагает вариант "Мне пора идти". Дорогая Америка, пришла пора поговорить на действительно важную тему: что это за фигня?! smile

PS. Этот скриншот я сделал, чтобы показать. Условие GetIsId просто забыл добавить, при реальных пробах оно было, не сумлевайтесь!


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



AnotherJupiter  Offline  Сообщение №2830 написано: 16 марта 2025, 19:18



17
Цитата JIuKBuDaToR

написал скрипт, который запирает/отпирает дверь в его хижину, в зависимости от времени суток.

На всякий случай напоминаю о галочках отпирания и запирания дверей в настройках AI пакета.

Цитата YikxX

смущает затененная галка Persistent Reference он должна быть активной.


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

Почему появляется стандартная дефолтная фраза "Мне пора идти" и как ее убрать?

Дефолтные фразы находятся в дефолтных или точнее, Generic, квестах, имеющих условием наличие у актёра дефолтного голоса. Актёры с другими типами голоса не будут пользоваться дефолтными квестами и говорить дефолтные фразы дефолтными голосами. Но, емнип, просто убрать Voice type нельзя. Какой-нибудь, хоть пустой, Voice type должен быть создан и назначен, а то будут какие-то проблемы... быстрое проскакивание текста, вроде бы.

Ну, можно и через Choices, если не хочется совсем расставаться с дефолтными фразами типа "Ага, пока." и "Это не просто так заперто!"


AnotherJupiter  Offline  Сообщение №2831 написано: 16 марта 2025, 19:29 | Отредактировано: AnotherJupiter - 16 марта 2025, 19:30



17
Цитата igelschmigel

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


https://modgames.net//forum/70-5415-631944-16-1337777032

Может, пригодится. И Ликвидатору тоже.


JIuKBuDaToR  Offline  Сообщение №2832 написано: 16 марта 2025, 21:22 | Отредактировано: JIuKBuDaToR - 16 марта 2025, 21:30



86
Цитата AnotherJupiter

На всякий случай напоминаю о галочках отпирания и запирания дверей в настройках AI пакета.


Я пробовал эти галки. НПС тупит с этими галками. Работает некорректно функция. Например, с этой галкой нпс не может запереть дверь в свою хижину из своей хижины. Запереть можно только скриптом, а я как раз скриптом и запираю/отпираю дверь в хижину в 22 вечера/7 утра

"Хочешь сделать что-нибудь хорошее, сделай это сам!"
JIuKBuDaToR  Offline  Сообщение №2833 написано: 16 марта 2025, 21:29 | Отредактировано: JIuKBuDaToR - 16 марта 2025, 21:33



86
Цитата AnotherJupiter

Может, пригодится. И Ликвидатору тоже.


В том и дело, что этот вариант не подходит. Нечего удалять было, у меня было указано только две реплики, мои которые я сделал. Нужно было сразу мне через Choises добавлять реплики, чтобы не было "мне пора" дефолтного, иначе если добавить реплики через AddTopic, реплики дефолтные остаются.

"Хочешь сделать что-нибудь хорошее, сделай это сам!"
JIuKBuDaToR  Offline  Сообщение №2834 написано: 16 марта 2025, 21:53 | Отредактировано: JIuKBuDaToR - 16 марта 2025, 22:01



86
Здравствуйте! Некорретно у меня работает скрипт. Проблему описал и показал на видео.
https://youtu.be/Dy8pPwpyizU - Часть 1

https://youtu.be/hEksheS3xjc - Часть 2


image-2-1

scn aaWeatherSettingScript

short sMenuLevel ;Уровень меню.

short sButtonMSG ;Нажатая кнопка.

ref rCurrentWeather ;Переменная для хранения текущей погоды.

Begin OnEquip

  showmessage aaWeatherSettingMsgMain ;Показываем главное меню.

  set sMenuLevel to 1 ;Устанавливаем уровень меню на 1.

  PrintC "Установили уровень меню 1"

End

;==================================================================================================

Begin MenuMode

    set sButtonMSG to GetButtonPressed ;Узнаем/получаем нажатую кнопку в переменную.

    PrintC "Узнаем/получаем нажатую кнопку в переменную."

    if sMenuLevel == -1

      set sMenuLevel to 1

    endif

;==================================================================================================

;Кнопка 0

      if ( sButtonMSG == 0 ) && ( sMenuLevel == 1 ) ;Если нажата кнопка 0

        PrintC "Нажата кнопка 0"

        ShowMessage aaWeatherSettingMsgType00

        PrintC "Погоду узнали"

        showmessage aaWeatherSettingMsgMain ;Показываем главное меню.

         set sMenuLevel to -1

;==================================================================================================

;Кнопка 1

      elseif ( sButtonMSG == 1 ) && ( sMenuLevel == 1 ) ;Если нажата кнопка 1 то выходим из меню

        PrintC "Нажата кнопка 1"

        set sMenuLevel to 0 ;Сбрасываем уровень меню.

        PrintC "Сбрасываем уровень меню на 0"

        player.UnEquipItem aaWeatherSettingItem 0 1 ;Снимаем предмет.

      endif

End


"Хочешь сделать что-нибудь хорошее, сделай это сам!"
KabarGarrotte  Offline  Сообщение №2835 написано: 17 марта 2025, 11:30



2
Здравствуйте. С созданием модов я знаком посредственно, а точнее вообще не знаком. Проблема вот в чём - я создал очки (в игре они называются  - очки-хамелеоны) и прикрепил им свойства +75 к красноречию и бартеру - всё работает, но вот отображаются они на персонаже мягко говоря некорректно, помогите это исправить. Заранее благодарен.
Прикрепления: ScreenShot.bmp (448,0 Kb)

ApeX  Offline  Сообщение №2836 написано: 17 марта 2025, 11:53



Привет.
Цитата KabarGarrotte

но вот отображаются они на персонаже


2 способа

AnotherJupiter  Offline  Сообщение №2837 написано: 17 марта 2025, 19:20 | Отредактировано: AnotherJupiter - 17 марта 2025, 19:51



17
Цитата JIuKBuDaToR

с этой галкой нпс не может запереть дверь в свою хижину из своей хижины


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


Цитата JIuKBuDaToR

у меня было указано только две реплики, мои которые я сделал


А в Generic квесте - другие. Раз появляются реплики и оттуда, и оттуда, значит, оба квеста подходят по условиям. Я про условия квеста. Которые на первой вкладке квеста. Но вроде да, для специального редко используемого прощания подходит простой топик с галкой Goodbye через Choices. Можно и обычное, многоразовое прощание организовать через Choices, но тогда, если правильно помню, придётся эти Choices совать во все ветки диалога, ни разу не возвращаясь в корень, в котором появится Generic-прощание, что весьма неудобно в мало-мальски длинном разговоре.

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

Цитата JIuKBuDaToR

Некорретно у меня работает скрипт.


Это всё в гейммоде делается, а не в менюмоде. 

igelschmigel  Offline  Сообщение №2838 написано: 17 марта 2025, 20:40 | Отредактировано: igelschmigel - 17 марта 2025, 20:48



10
Цитата AnotherJupiter

Может, пригодится.


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

А насчет уникального голоса - то есть, можно дать НПЦ голос Аматы, например (у нее в войс-типе не стоит галка "разрешен в диалогах") - и он перестанет махать хвостом при каждой встрече и радоваться, что "еще один клиент доволен"? Было бы круто!.. smile

ЗЫ. Просто у меня таинственная и крутая торговка из... еще не решил, откуда, признаться... Пойт-Локаут? Бостон? в общем, не решил; так вот, ей совсем не пристало кричать "о, привееет!", а уж слышать от девушки "еще один довольный клиент" - сразу начинаешь сомневаться в ее профессии... mosking

ApeX  Offline  Сообщение №2839 написано: 17 марта 2025, 21:00



Цитата igelschmigel

уникального голоса


А в тройке нельзя разве через экстендер менять голоса на лету - просто 1/2/... - как в этом моде для четверки? Пусть там и Папирус, но движок в основе почти один.

AnotherJupiter  Offline  Сообщение №2840 написано: 18 марта 2025, 00:18



17
Цитата igelschmigel

А насчет уникального голоса - то есть, можно дать НПЦ голос Аматы, например (у нее в войс-типе не стоит галка "разрешен в диалогах")


Не помню, как эта галка работает. Обычно я просто создавал новый Voice type, назначал его NPC - и тот сразу отвязывался от всех имеющихся Generic диалогов. Ну, писал ему новые неозвученные привет-пока в своём квесте. Если прорабатывать хорошенько, то надо и прочие стандартные топики прописать: бой, кражу и тому подобное на других вкладках квеста. Вся озвучка, естественно, пропадает, зато можно строить диалоги как обычно, используя Choices только где они действительно нужны.

AnotherJupiter  Offline  Сообщение №2841 написано: 18 марта 2025, 00:26



17
Цитата AnotherJupiter

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


С другой стороны, вроде бы, тогда ответы на "Мне пора" будут рандомно выхватываться из разных подходящих по условиям квестов с поправкой на приоритет (или без поправки? всё забыл нафиг sad), так что иногда NPC будет говорить стандартную фразу, а иногда новую.

KabarGarrotte  Offline  Сообщение №2842 написано: 18 марта 2025, 15:48



2
Apex, спасибо тебе огромное, очень помог.

igelschmigel  Offline  Сообщение №2843 написано: 5 апреля 2025, 07:29 | Отредактировано: igelschmigel - 5 апреля 2025, 13:14



10
Моя прекрасная Америка, есть такой вопрос.
Вот карта, на ней рейдеры из левел-листа. Мы их стреляем, они через какое-то время возрождаются. То есть, как я понимаю, смерть наступает для конкретного референса, а не размещенного на карте "левел-листный-нпц", так? Ну, просто рейдер же появляется не мертвым, хотя и был убит?
А если мы этому рейдеру (референсу) сделаем kill + disable + markForDelete (ну, инопланетяне его похитили, kill здесь не обязателен, я его ставлю для подстраховки, чтобы рейдер возродился) - так вот, этим я не отключу на фиг самого "базового" левел-листного НПЦ на карте - и рейдера здесь больше никогда не будет? Чо-то мне кажется, что у меня рейдеров поубавилось... :(

Итак, коротко: disable + markForDelete в игре конкретному рейдеру - не отключит ли сам источник его возрождения?


UPD. Похоже, именно что отключает - реально рейдеры поисчезали. Тогда вопрос, скорее, такой: есть мысли, как сделать исчезновение НПЦ (визуальное)?


AnotherJupiter  Offline  Сообщение №2844 написано: 5 апреля 2025, 16:00 | Отредактировано: AnotherJupiter - 5 апреля 2025, 16:19



17
Емнип, даже просто Disable актёра нарушает нормальный респаун, то есть ты его через 3 дня обратно Enable, а он всё ещё тот же и мёртвый, если к моменту исчезновения был мёртв, кажется, так. MarkForDelete, естественно, стирает реф-копию уровневого рейдера напрочь и там просто нечему становится возрождаться.

Не совсем понятно, что за исчезновение имеется ввиду. В смысле обратимое, неокончательное исчезновение, но с респауном? Ну, можно попробовать задвинуть подальше (но в том месте должен быть разрешён респаун) с помощью MoveTo или MoveToCell. Предварительно отключить мозги SetActorsAI, SetRestrained или SetUnconscious, чтобы не прибежал назад своим ходом, то есть чтобы пакет поведения не привёл его на нормальное место. Правда, требуются исследования, как взаимодействует респаун с тремя последними функциями, не пробудится ли возродившийся актёр к активной жизни.


igelschmigel  Offline  Сообщение №2845 написано: 5 апреля 2025, 22:28



10
Цитата AnotherJupiter

что за исчезновение имеется ввиду


Визуальное.
Смотри, у ГГ есть бластер Чужих, попадание из которого "похищает" НПЦ. Т.е. идет бой с рейдерами, ты думаешь: о, а вот этого мы не убьем, а похитим. Достаешь бластер-шмластер, трах-бабах - и рейдер, померцав, как в DLC Анкоридж, исчезает  визуально. При этом я не хочу, чтобы он больше никогда не появился, напротив, хорошо бы, если бы игра считала его просто убитым (например) - пусть возрождается через 3 дня, мы его снова похитим (похищение просто увеличивает счетчик - типа, арена из плохишей, счетчик показывает, сколько гладиаторов у нас есть: похитил ты рейдера, значит, на арене 1 бойцом больше стало). smile

Сейчас (поняв, что дизаблить его нельзя) я сделал это тупо: он просто взрывается (bloody mess), а игроку предлагается напрячь фантазию, что это он исчез, а не взорвался, а кишки вокруг - ну, это, типа, лишние детали при исчезновении отвалились. smile
Поскольку локация с таким рейдером может быть любая, задвигать его некуда (точнее, неизвестно, куда).  Особенно, если, как ты сказал, он там и возродится.

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

AnotherJupiter  Offline  Сообщение №2846 написано: 6 апреля 2025, 01:29 | Отредактировано: AnotherJupiter - 6 апреля 2025, 01:36



17
Не факт, что актёр возродится именно там, куда его перенесли. Ведь возрождаются же на прежнем месте актёры, убежавшие куда-то своими ногами. Не факт даже, что к нему будет применяться Encounter zone того места, куда он перемещён. Может, и разрешённый респаун в том месте не обязателен.

По поводу визуального исчезновения также можно применить SetActorAlpha 0. Но это вот именно что только визуальное. Наощупь актёр будет доступен: можно поговорить, ударить, обокрасть и т.п. Так что всё равно потом переместить куда-то и там либо грохнуть насмерть, либо отключить мозги. Либо поместить в место без дверей, но актёры, когда им куда-то надо, бывает, пролазят там, где вроде бы не должны. По крайней мере через отсутствующий навмеш проходят запросто, насчёт отсутствующих дверей не знаю. Кстати, актёр под действием SetActorsAI 0 неощутим наощупь (но глазами виден) и, кажется, с радара его метка тоже исчезает, но насчёт метки не уверен.

Загвоздка ещё в том, что не все уровневые актёры являются постоянными ссылками, поэтому как-то скриптово ими манипулировать затруднительно, только через скрипты эффектов, которые ещё фиг знает как сработают, если игрок далеко, так как все уровневые актёры ещё и No low level processing. Либо записывать его в какую-то реф-ссылку, которую хранить в другом месте и оттуда отслеживать и что-то с ней делать. Громоздко, ненадёжно. Возможно, надо не мудрить, а просто перемещать актёра очень далеко, но с доступом к миру (то есть для всяких отдельных миров типа Пойнт Лукаутов нужны свои "очень далеко"), и пусть плинтухает оттуда пешком. Не дойдёт, с полпути отреспаунится на старом месте - хорошо. Не отреспаунится - и фиг с ним, придёт потом своим ходом.

Мерцание, наверное, надо искать в шейдерах. Это тоже такие объекты, есть раздел в ГЭККе. Ну и в любом случае можно просто поглядеть, как сделано это мерцание в Анкоридже, или где оно там...


igelschmigel  Offline  Сообщение №2847 написано: 6 апреля 2025, 09:00 | Отредактировано: igelschmigel - 6 апреля 2025, 09:06



10
Цитата AnotherJupiter

применить SetActorAlpha 0


Слууушай, так это же и есть то, что мне надо, похоже! Я про этот метод просто не знал, про Альфу-то!
У меня сделано так: на бластере эффект, попал в актора - он замер (setActorsAI 0), померцал, умер (killActor) и взорвался, потому что ничего другого я не придумал. А теперь вместо взорвался он будет setActorAlpha!

А после респавна он прозрачным не останется? А то будут у меня невидимые рейдеры бродить по локациям... smile

AnotherJupiter  Offline  Сообщение №2848 написано: 6 апреля 2025, 17:00



17
Да кто ж его знает, останется он или нет. Поди разбери, относится ли эта альфа к свойствам "конкретного воплощения" как инвентарь или к свойствам "всей ссылки" как состояние Enable/Disable... Пока не попробуешь не узнаешь.

igelschmigel  Offline  Сообщение №2849 написано: 7 апреля 2025, 13:19 | Отредактировано: igelschmigel - 7 апреля 2025, 13:23



10
Новый вопрос, дорогая Америка, никак не связанный со всем предыдущим, да и не сюда его надо, но люди-то только здесь... smile

Что означает "одежда для Type3"?
Я вот о чем: если мы даже сделали, допустим, бикини (свят-свят), то оно ведь заменяет тело, а не буквально надевается на него, так? То есть, какое там было тело до надевания одежды вообще не важно - одежда "сделает" новое тело, так ведь? Так что такое "одежда ДЛЯ Тайп3"-то, почему "для"?

ЗЫ. Может, это как-то связано со skeleton.nif? Я вообще не знаю, для чего он, почему он есть, когда у нас femaleupperbody.nif содержит всё, кроме головы (и, вроде, всякие кости тоже, хотя в 3D я вообще не шарю).


ApeX  Offline  Сообщение №2850 написано: 7 апреля 2025, 15:37



Цитата igelschmigel

Что означает "одежда для Type3"?


В основном из-за развертки текстур. У Т3/4/6 они совпадают между собой, можно иметь любой из них, необязательно Т3. Но от ванили отличаются, при несовпадении будет, например, пятка на животе. 
Цитата igelschmigel

оно ведь заменяет тело, а не буквально надевается на него, так?


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

Цитата
igelschmigel

skeleton.nif


Это основные кости, к которым привязано само тело upperbody, а с ним и анимация персонажа. Это как в реальном теле примерно.

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





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