XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Другие игры (только чтение)> Max Payne
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
Зевс
Адская Зверюга
offline
Опыт: 152,154
Активность:
F.A.Q
Здесь Вы найдете ответы практически на все, что касается моддинга/меппинга в Max Payne 2. Если же здесь нет того, что Вы искали - пожалуйте сюда

Для начала ознакомьтесь с подборкой наших статей здесь

Зевс добавил:
Не могу сохрнаить уровень ("export"). Экспортирую, но никаких файлов в папке work не появляется, кроме разработческого уровня.
Сперва убедись, что в твоем уровне имеются по-крайней мере 2 комнаты, соединенные порталом (действуй по Игроманскому туториалу, либо по тутору от самих Ремеди). Прежде чем экспортировать уровень, сохрани его (в формате lv2). Не советую тебе использовать в названии lv2 уровня пробелы (потом возникнут проблемы с освещением). После сохранения экспортируй уровень в ldb формат, в папку work (можешь дать название уровня-примера от разработчиков, чтобы было проще запускать игру с ним).

Если я помещаю противника в комнате, обязательно мне его "совмещать" с комнатой, как и другие объекты?
Да, непременно. Все объекты в уровне должны принадлежать какой-либо комнате- это необходимое условие для экспорта уровня в ldb формат.

Люди как работать с MaxRas'ом?
Для того, чтобы распаковать файлы:
1-скопируй программу в директорию игры.
2-создай ярлык файлу "RASMaker".
3-открой свойства ярлыка и допиши в директорию "обьект" -x имя архива и каталог распаковки,
например:-x MP2_Data.ras database
Также распаковываются и моды
Если путь не указывать, то будет распаковываться в корневую директорию архива, кот. распаковываешь.

Для того, чтобы запаковать файлы:
1-Допустим ты сделал свой мод и у тебя в папке Data хранится лишь изменённые файлы, которые и являются твоим модом.
2-создай ярлык файлу "RASMaker".
3-открой свойства ярлыка и допиши в директорию "обьект" -a data название_мода
Наример: "C:\Games\Max Payne 2\RASMaker.exe" -a data mymod.mp2m

Кто знает как заставить Макса целиться всегда? Т.Е. так же как он после стпельбы несколько мнгновений держит пушку поднятой и целится туда куда вертишь мышей.
В ролике есть два способа:
1. Через команду действия:
this->AI_AddCommand( WALK, AIM, ::Mesh_01::Waypoint_00 );
NPC идет в указанную точку и целится во врага.
2. Через анимацию:
this->AI_AddCommand(ANIMATELOOPING,NOTHING,aim_pistol);
NPC стоит на месте и целится перед собой. Если вместо NOTHNIG поставить LOOKAT, то персонаж будет смотреть на врага, то есть выглядеть это будет так, как будто он в него целится.

Это что касается роликов. А так, мне кажется, что тебе нужно переделывать анимацию Макса когда он стоит. Типа вместо анимации с опущенным оружием поставить нечто вроде aim_pistol или aim_rifle.

Когда я ставлю свойство меша - Ексклюде фром гейм, меш в редакторе исчезает. Раньше не исчезал - как вернуть былое?
Нужно поставить в окошке Show objects of type - вызывается по F1 поставить галочку на
Non exporting objects или нажать 9 на дополнительной клаве...

Как сделать так, чтобы при игре все "плыло", как на первом уровне?
MaxPayne_GameMode->GM_ChangeMotionBlur(0.5,0xffffff,0.9,0.1,0);

Как сделать так, чтобы экран в течении какого-то времени затемнился, а потом вернулся в нормальную форму?
MaxPayne_HUDMode->MPHM_FadeToColor(0x000000ff,0x00000000,3);
или
MaxPayne_HUDMode->MPHM_FadeToColor(0x00, 0xff, 0.5);
MaxPayne_HUDMode->MPHM_FadeToColor(0xff, 0x00, 0.5);

Как сделать НПС тригеррами: чтобы когда Макс стоял рядом, то смотрел на них, и чтоб при нажатии клавиши "Использовать", можно было давать им команды, как при активации триггера?
На свойство OnUse у NPC задаешь ему какое-то действие
Только сначала отключаешь его рекции (не знаю, может быть будет достаточно EnablePerceiving, я на всяк случсай все повырубал)

this->AI_EnablePerceiving(0);
this->AI_EnableFeeling(0);
this->AI_EnableHearing(0);
this->AI_EnableSeeing(0);
--А потом задаешь команду, допустим:
this->AI_PushCommand(ANIMATELOOPING, NOTHING, sit_idle_action_d);

Все, NPC будет, в моем случае, спокойно сидеть.

Как активировать врагов с помощью триггера? Что именно нужно прописать в скриптах и где?
В своем уровне создаешь врага, создаешь триггер. Заходишь в свойства триггера и выбираешь способы его активации: когда игрок касается триггера, когда игрок "использует" триггер, когда какой-либо враг касается триггера, когда в триггер попадает пуля, когда игрок наводит прицел на триггер. Затем заходишь в FSM триггера, заходишь в блок T_Activate и ниже надписи "Send Always After:" пишешь "::StartRoom::enemy_00->AI_SetTactic(Combat);" (естественно без кавычек). Где: StartRoom - название комнаты уровня, где находится враг; enemy_00 - непосредственно имя врага. Вообще, можешь писать в этом блоке (T_Activate) любые доступные команды для любых динамических объектов (для игрока и врагов - тоже) в своем уровне, если необходимо.

Как сделать так, чтобы камера следила за npc во вреия его смерти?
Заходишь в FSM npc, движешься в блок OnDeath и набираешь там (после Send Always After:) this->CAM_AnimateParented(death_circle_4s); Где death_circle_4s означает, что камера опишет одну окружность в 360 градусов за 4 секунды вокруг npc, незамедлительно после того, как данный npc умрет. Ты можешь выбрать любую понравившуюся команду взамен death_circle_4s.

Как сделать так, чтобы на одном из мест на моей карте был костёр (или другой эффект)?
Действуй таким образом: создай в своем уровне триггер, хотя можно обойтись любым динамическим объектом, например бревном, которое горит. Зайди в окно редактирования его FSM и в блоке Startup пропиши вот эти весчи:
this->PS_StartEffect(fire_large, "");
this->A_Play3DSound(generic, fire_large_loop, "");

У меня такой вопрос. для изготовления мешей или при создании обьектов в 3дмаксе, формата .asi обязательно использовать текстуры в формате .dds?
tga, jpg - но лучше dds.

Создание анимации в MaxEd 2
Все очень просто!
Имеем динамический объект (например камеру). входим в режим F5, наводим курсор на объект, нажимаем Tab. Открылось окно кадров. Нажимаем там кнопку Add, создаем второй кадр. Затем выходим из этого окна и в режиме F5 нажимаем на клавиатуре кнопку N - у основного окна появится красная рамка, режим анимации включен. Снова заходим в окно кадров, выделяем второй кадр (по умолчанию Keyframe_1) и жмем кнопку Goto. Выходим из окна, перемещаем объект в нужное место и снова нажимаем N, тем самым выключая режим анимации. Теперь, если зайти в окно кадров снова и переключаться между кадрами двойным щелчком по ним или кнопкой Goto, то можно видеть положение объекта в том или ином кадре. Следующее: наводим курсор на объект и нажимаем Shift+Tab - откроется окно анимаций. Нажимаем Add и выбираем начальный и заключительный кадры, создаем анимацию, с помощью кнопки Length задаем длительность созданной анимации в секундах. Теперь путем двойного клика на анимации можно просмотреть ее в макс эдиторе. Осталась ерунда: заходим в FSM динамического объекта (нажать B) и, например, в блоке Startup вводим эту команду this->DO_Animate(Animation_0); Где Animation_0 - имя созданной анимации.

Это самая простая анимация в макседе. Попробуйте создавать свои, более сложные анимации с множеством кадров, играть с параметрами Position graph, Rotation graph.

Каким триггером положить в руку пейна телефон, одеть на голову шлем или хандсфри?
this->C_ShowSkinItem(имя скинайтема из папки skinitems, true );

Отредактировано Зевс, 11.07.2007 в 16:31.
Старый 10.07.2007, 13:21

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 06:27.