Добавлен Iron Fred,
не публикуется
Раздел:
Max Payne II: Моддинг
Введение.
Создание внешнего дочернего *.h файла выбора персонажей.
Назначение определений моделей картам и подключение файла *.h.
Создание пакетного исполняющего файла.
Создание иконки для конфигуратора. (Необязательный пункт).
Создание удобного исполнимого файла *.exe.
Тестирование нового конфигуратора.
Назначение определений моделей картам и подключение файла *.h.
Создание пакетного исполняющего файла.
Создание иконки для конфигуратора. (Необязательный пункт).
Создание удобного исполнимого файла *.exe.
Тестирование нового конфигуратора.
Задача -> создание конфигуратора, способного редактировать дочерний текстовый файл, содержащий такие характеристики, как типы игровых моделей, используемых для управления игроком. Движок игры ограничен по количеству игровых карт, а каждой карте можно прописать только одну модель игрока (скин), по этой причине много моделек в него не добавить. Как же быть, если скинов у вас много и каждый хочется испытать в игре? Это ограничение можно обойти. Один из способов - вынести отдельный дочерний *.h файл, содержащий характеристики моделей в игровую директорию и создать удобный конфигуратор для быстрого внесения в него изменений.
Для работы потребуются:
- Блокнот, либо любой другой текстовый редактор.
- Любой графический редактор, умеющий сохранять в формате *.ico (не обязательно).
- Архиватор WinRar.
Создание внешнего дочернего *.h файла выбора персонажей
В главной директории игры создадим новую папку и назовем ее произвольно. Можно создать *.h файл и без отдельной папки, но в случае с папкой легче будет найти и удалить его после удаления вашего мода. Файл должен содержать запись следующего вида:
#define DEFAULT_MAXPAYNE "MaxPayne"
#define HOME_MAXPAYNE "MaxPayne_Home"
#define HOSPITAL_MAXPAYNE "MaxPayne_Hospital"
#define DREAM_MAXPAYNE "MaxPayne_Dream"
Как видно, это определения моделей Макса Пейна, соответствующие разным картам в игре. Например DREAM_MAXPAYNE будет использоваться на уровнях со сновидениями, HOSPITAL_MAXPAYNE - в клинике, и тд... Запись в кавычках -> ID самой модели-скина, а количество записей и моделек может соответсвовать всем имеющимся игровым картам. Подобный список лучше создать как простой текстовый файл, после чего переправить ему расширение c *.txt на *.h.
Назначение определений моделей картам и подключение файла *.h
Открываем файл levels.txt вашей распакованной для моддинга игры, расположенный по адресу: game\data\database\levels. Напротив PlayerSkinName = прописываем определение из вашего нового файла *.h соответствующее данной карте. Получится примерно так:
PlayerSkinName = DEFAULT_MAXPAYNE;
После этого подключаем ваш новый файл *.h в качестве включения (#include) в любом месте файл с новой строки. Удобнее всего сделать это в самом верху, чтобы проще было найти если потребуется. Должна получиться запись такого вида:
#include "..\..\..\Имя вашей папки\Имя вашего файла.h"
...Или такого вида, если новую папку вы не создавали, а кинули прямо в директорию игры:
#include "..\..\..\Имя вашего файла.h"
Создание пакетного исполняющего файла
Создаем в любом месте (лучше в отдельной папке) обычный текстовый файл *.txt, при помощи, например, блокнота. Прописываем в нем код, в котором все названия скинов моделек, а так-же имя нового *.h файла, должны быть вашими. На примере кода, подменяющего файл "Mod-skins.h", все наглядно видно. Вам после "set name=" вместо "Mod-skins" нужно будет везде переписать в коде на имя вашего файла *.h, который и будет заменяться конфигуратором.
Код
@echo off
chcp 1251
title Max Payne 2 Select skins for story mode
:main
cls
echo.
Ping -n 1 127.0.0.1 > nul
color 04
echo (1) Select skins
echo (2) Exit
echo.
echo Press key:
SET /p q=
if `%q%`==`1` goto select
if `%q%`==`2` goto exit
:exit
del %0
exit
:select
cls
echo Choose skin Max Payne
echo.
echo (1) Sam Lake
echo (2) Timothy Gibbs
echo (3) James G. McCaffrey
echo (4) Exit
echo.
echo Press key:
SET /p q=
if `%q%`==`4` goto exit
if `%q%`==`1` goto sammp
if `%q%`==`2` goto timmp
if `%q%`==`3` goto jammp
:sammp
cls
set name=Mod-skins
(Echo #define DEFAULT_MAXPAYNE "MaxPayne"
Echo #define HOME_MAXPAYNE "MaxPayne_Home"
Echo #define HOSPITAL_MAXPAYNE "MaxPayne_Hospital"
Echo #define DREAMZONE_MAXPAYNE "MaxPayne_Dream"
)>"%name%.h"
echo You have chosen the model Sam Lake!
echo.
echo (1) Back to menu
echo (2) Exit
echo.
echo Press key:
SET /p q=
if `%q%`==`2` goto exit
if `%q%`==`1` goto select
:timmp
cls
set name=Mod-skins
(Echo #define DEFAULT_MAXPAYNE "MaxPayne_Tim"
Echo #define HOME_MAXPAYNE "MaxPayne_Tim_Home"
Echo #define HOSPITAL_MAXPAYNE "MaxPayne_Tim_Hospital"
Echo #define DREAMZONE_MAXPAYNE "MaxPayne_Tim_Dream_zone"
)>"%name%.h"
echo You have chosen the model Timothy Gibbs!
echo.
echo (1) Back to menu
echo (2) Exit
echo.
echo Press key:
SET /p q=
if `%q%`==`2` goto exit
if `%q%`==`1` goto select
:jammp
cls
set name=Mod-skins
(Echo #define DEFAULT_MAXPAYNE "MaxPayne_Jam"
Echo #define HOME_MAXPAYNE "MaxPayne_Jam_Home"
Echo #define HOSPITAL_MAXPAYNE "MaxPayne_Jam_Hospital"
Echo #define DREAMZONE_MAXPAYNE "MaxPayne_Jam_Dream_zone"
)>"%name%.h"
echo You have chosen the model James G. McCaffrey!
echo.
echo (1) Back to menu
echo (2) Exit
echo.
echo Press key:
SET /p q=
if `%q%`==`2` goto exit
if `%q%`==`1` goto select
Меню конфигуратора выполнено в черно-красном макспейновом стиле, но цвет можно менять как вам вздумается. За это отвечает код:
Ping -n 1 127.0.0.1 > nul
color 04
Вы можете исправить цветовую гамму на свой вкус меняя значения после "color" используя следующую таблицу цветов:
Таблица атрибутов цветов
Первая цифра - задает цвет фона, а вторая задает - цвет текста. Каждая цифра может иметь следующие значения:
0 = Черный | 8 = Серый | 1 = Синий | 9 = Светло-синий |
2 = Зеленый | A = Светло-зеленый | 3 = Голубой | B = Светло-голубой |
4 = Красный | C = Светло-красный | 5 = Лиловый | D = Светло-лиловый |
6 = Желтый | E = Светло-желтый | 7 = Белый | F = Ярко-белый |
источник: www.docent777.ru
Как видно, данный исполнительный код написан под обычный пакетный файл (файл *.bat, или проще говоря "батник"). Осталось переписать его расширение с *.txt на *.bat, и дело сделано.
Создание иконки для конфигуратора. (Необязательный пункт).
Нарисуйте в любом графическом редакторе изображение размером не более 64x64 пикселя. Сохраните его в формате *.iso.
Вы можете взять и любую уже готовую иконку.
Создание иконки тем хорошо, что ваш конфигуратор станет заметнее выделяться. После можно будет сделать ярлык и вынести его на рабочий стол, где он не будет выглядеть топорно.
Создание удобного исполнимого файла *.exe
Теперь преобразуем наш новый "батник" в исполнимый файл с расширением *.exe. Хотя вернее сказать -> запакуем его в самораспаковывающийся архив.
- Выберем созданный файл с расширением *.bat правой кнопкой мыши и в контекстном меню выберем пункт "добавить в архив..."
- Отметим галкой пункт "создать SFX-архив".
- Во вкладке "дополнительно" нажимаем кнопку "Параметры SFX..."
- В строке "выполнить после распаковки" параметров SFX прописываем имя нашего файла с расширением *.bat.
- Во вкладке "Текст и графика" загрузите ваш значок SFX из файла -> новую иконку *.iso (если вы ее решили добавить).
- Во вкладке "Режимы" отметьте - "не показывать начальный диалог".
- Подтвердите ваши параметры SFX и жмите "ОК".
Тестирование нового конфигуратора.
Запустите ваш конфигуратор, кликнув по его иконке.
В командном окне, следуя пояснениям, вводите требуемую цифру и подтверждайте ваш выбор клавишей "Enter".
Вы увидите список ваших моделек, в котором станет возможно выбирать нужные.
В командном окне, следуя пояснениям, вводите требуемую цифру и подтверждайте ваш выбор клавишей "Enter".
Вы увидите список ваших моделек, в котором станет возможно выбирать нужные.
Особенность кода батника такова, что после выполнения нужных команд он самоудалится при закрытии и не будет захламлять дисковое пространство вашего ПК.
Конфигуратор выбора игровых моделей готов.
Данное приложение сможет менять и другие конфигурации игры, способные улучшить геймплей. К примеру: вид главной камеры (от первого или от третьего лица); музыку и бэкграунд главного меню игры и тд... Вам потребуется лишь дописать код этого конфигуратора, а это не сложно.
Данное приложение сможет менять и другие конфигурации игры, способные улучшить геймплей. К примеру: вид главной камеры (от первого или от третьего лица); музыку и бэкграунд главного меню игры и тд... Вам потребуется лишь дописать код этого конфигуратора, а это не сложно.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Комментарии пока отсутcтвуют.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.