Семь Футов под Килем
Форма входа
 
Приветствуем тебя, корсар Юнга!

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!
Логин:
Пароль:


Купить игры
 



Чат
 
500


Статистика
 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

  • Страница 1 из 1
  • 1
Модератор форума: NikK  
Форум » Ад-доны для игр серии Корсары » FAQ по модам - "Сделай мод сам" » Урок №15: Делаем своё игровое меню (Разберёмся как сделать своё меня для игры)
Урок №15: Делаем своё игровое меню
korsar328Дата: Четверг, 09.08.2018, 10:24 | Сообщение # 1
Мичман
Группа: Корсар
Сообщений: 86
Награды: 4
Репутация: 30
Статус: В открытом море
Урок №15: Делаем своё меню


Глядя на труды других, я решил тоже внести свою лепту и написать урок по созданию своего меню.


Меню будет в формате ПКМ


Вот мой пример:



И так, давайте приступим..

Для работы нам потребуется:


Мы будем редактировать три файла, это:
1. mainmenu.c Находится в "..\PROGRAM\interface\"
2. mainmenu.ini Находится в "..\RESOURCE\INI\interfaces\"
3. common.ini Находится в "..\RESOURCE\INI\texts\"

Открываем mainmenu.ini
Находим такие строки:


Заменяем на следующие


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

Далее в этом же файле находим строки

и удаляем их

Далее нам нужна картинка которую мы будем использовать в качестве фона
Фон создадим в фотошопе, размер изображения должен быть 1024х1024 пикселов и в формате *.tga
Я назвал свою картинку myMenuBackGround.tga вы можете назвать её по своему, главное потом не ошибиться при добавлении
Далее нам нужно её отконвертировать в формат .tx
Ставим вот такие параметры:

Это нужно для того, чтобы она корректно отображалась в самой игре.
Конвертируем в папку RESOURCE\Textures\INTERFACES\

Далее идём в файл mainmenu.ini и находим следующие строки:
Код

[BACKPICTURE]
position = 5,20,635,460
textureName = interfaces\mainback\mb1.tga
;textureName    = interfaces\ship copy.tga
;textureRect    = 0,0,1,1
color = 84,128,128,128


Меняем их на
Код

[BACKPICTURE]
textureName    = interfaces\myMenuBackGround.tga //путь до картинки


Далее идём в файл mainmenu.c
Ищем следующие строчки:

Удаляем, так как погода у нас генериться не будет
Далее ищем строки

Меняем на


Объясню значит строка формата
CreateString(true,"site",VERSION_NUMBER3,FONT_NORMAL,COLOR_NORMAL,400,575,SCRIPT_ALIGN_CENTER,0.9);

значения в их порядке "видимость" "краткое значение строки" "полное значение строки которое будет отображаться в главном меню" "шрифт текста" "цвет текста" "отступ слева" "отступ сверху" "положение текста" "размер текста"

Цитата шрифт текста ()

Я пока нашёл только два, но наверное есть и ещё
FONT_NORMAL - обычный печатный текст
FONT_CAPTION - текст составленный из букв, которые находятся в файле


Цитата цвет текста ()

С цветом такая же история
COLOR_NORMAL - обычный белый цвет
COLOR_MONEY - золотистый цвет


Цитата положение текста ()

С положением текста дело обстоит проще, тут достаточно знать азы работы с CSS
SCRIPT_ALIGN_LEFT - текст слева
SCRIPT_ALIGN_CENTER - текст по центру
SCRIPT_ALIGN_RIGHT - текст справа


Ищем строки

Меняем на следующее

Это нужно для того, чтобы при нажатии на открытые нами кнопки, они открывали соответствующие окна.
Например, при нажатии на кнопку "Новая игра" Открывалось окно выбора персонажа и т.д.
Далее ищем строки:

Удаляем
Саму функцию MainMenu_CreateShip() не трогайте, иначе крашнется
Далее открываем файл common.ini
Находим строку
Код
string = titleGameMenu,"  Игровое меню  "

Ниже по аналогии создаём свою
Код
string = titleMainMenu,"  Главное меню  "

Это заголовок окна.
Если мы сейчас в таком виде запустим игру то увидим следующее:

А именно что кнопки стоят не правильно
Давайте поставим их на то место, где они и должны стоять в данном уроке:
Для этого заходим снова в mainmenu.ini
Находим строку [B_NEWGAME] далее идут описания этой кнопки, находим строку position


Цитата
Разберёмся в позицией:

Позиция пишется по такому принципу: "отступ с лева до левого края", "отступ сверху до верхнего края", "отступ слева до правого края", "отступ сверху до нижнего края"



Теперь поставим координаты для этой кнопки как у меня в примере:
560,240,780,270
Далее находим следующие поля и ставим им следующие координаты:
[B_LOAD] ==> 560,280,780,310
[B_OPTIONS] ==> 560,320,780,350
[B_CREDITS] ==> 560,360,780,390
[B_QUIT] ==> 560,400,780,430

Сохраняем.

Запускаем игру и видим что всё работает отлично

Скрин из лаборатории:


Подведём итоги, сегодня вы узнали способ создания меня для игры Корсары. Есть ещё второй способ создания меню, с использованием локации, но я с ним не разбирался, поэтому ничего сказать по этому поводу не могу.

С вами был korsar328, если возникнут трудности - пишите в комментарии, я или другие корсары по мере возможностей дадут ответ на ваш вопрос.

Урок написан специально для форума pirates-life.ru

Спасибо за внимание!


Жизнь - как божественная комедия...

Сообщение отредактировал korsar328 - Пятница, 10.08.2018, 23:02
NathanielДата: Четверг, 09.08.2018, 17:02 | Сообщение # 2
Контр-адмирал
Группа: Капитан
Сообщений: 7726
Награды: 335
Репутация: 1744
Статус: В открытом море
Весьма годный материал. Тем не менее, нуждается в незначительном редактировании. Я бы подписал с помощью комментариев строки в .ini и .c файлах. Чтобы объяснить совсем уж малознакомому с этими скриптами начинающему мододелу, что где находится и зачем это надо. Особенно это касается .ini-файлов. Я на первых порах очень жёстко терялся в смысле этих строк...

Цитата korsar328 ()
Ставим вот такие параметры

Если мне память не изменяет, для 1024х1024 лучше ставить mips=8. Там прямая пропорциональность: чем больше формат изображения - тем больше и значение mips. Об этом ещё когда-то Tymofei писал на форумах. По Convertor TX есть небольшой мини-мануал, это оттуда.

И напоследок позволю себе включить "режим зануды" и немного придраться... Мне кажется, но в данном меню текст внизу лучше разместить на фоне однотонного цвета где-нибудь слева или справа внизу. В нынешней редакции этот текст перекрывает рисунок компаса.


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
korsar328Дата: Пятница, 10.08.2018, 00:42 | Сообщение # 3
Мичман
Группа: Корсар
Сообщений: 86
Награды: 4
Репутация: 30
Статус: В открытом море
Цитата Nathaniel ()
Если мне память не изменяет, для 1024х1024 лучше ставить mips=8

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

Цитата Nathaniel ()
В нынешней редакции этот текст перекрывает рисунок компаса.

Но это уже кому как будет удобно

Объясню значит строка формата
CreateString(true,"site",VERSION_NUMBER3,FONT_NORMAL,COLOR_NORMAL,400,575,SCRIPT_ALIGN_CENTER,0.9);

значения в их порядке "видимость" "краткое значение строки" "полное значение строки которое будет отображаться в главном меню" "шрифт текста" "цвет текста" "отступ слева" "отступ сверху" "положение текста" "размер текста"

Цитата шрифт текста ()

Я пока нашёл только два, но наверное есть и ещё
FONT_NORMAL - обычный печатный текст
FONT_CAPTION - текст составленный из букв, которые находятся в файле


Цитата цвет текста ()

С цветом такая же история
COLOR_NORMAL - обычный белый цвет
COLOR_MONEY - золотистый цвет


Цитата положение текста ()

С положением текста дело обстоит проще, тут достаточно знать азы работы с CSS
SCRIPT_ALIGN_LEFT - текст слева
SCRIPT_ALIGN_CENTER - текст по центру
SCRIPT_ALIGN_RIGHT - текст справа

Добавлено (10.08.2018, 00:49)
---------------------------------------------
Nathaniel,
А по поводу комментариев в файлах, я считаю что можно методом тыка разобраться, просто блочить строку и смотреть что исчезнет, потом уже разбираться что к чему


Жизнь - как божественная комедия...
NathanielДата: Пятница, 10.08.2018, 17:34 | Сообщение # 4
Контр-адмирал
Группа: Капитан
Сообщений: 7726
Награды: 335
Репутация: 1744
Статус: В открытом море
Цитата korsar328 ()
Добавлено...

Так это лучше в первый же пост и добавить.

Цитата korsar328 ()
тут достаточно знать азы работы с CSS

Далеко не все знают о CSS, не учили английский, не знают про left, right и прочее. Я бы это тоже в первый пост добавил...


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
korsar328Дата: Пятница, 10.08.2018, 23:04 | Сообщение # 5
Мичман
Группа: Корсар
Сообщений: 86
Награды: 4
Репутация: 30
Статус: В открытом море
Цитата Nathaniel ()
Так это лучше в первый же пост и добавить.


Изменения внесены


Жизнь - как божественная комедия...
Форум » Ад-доны для игр серии Корсары » FAQ по модам - "Сделай мод сам" » Урок №15: Делаем своё игровое меню (Разберёмся как сделать своё меня для игры)
  • Страница 1 из 1
  • 1
Поиск:

Copyright Pirates-Life.Ru © 2008-2018


Семь Футов под Килем - Бухта Корсаров и Пиратов!