Для тех кто не умеет создавать скринпаки я написал ТУТОРИАЛ. Распределю его на несколько сообщений. Для создания скринпака нам нужны 2 проги: Figther Factory и Adobe Photoshop.
Итак, начнем мы с самого простейшего. Для этого запустим Fighter Factory, нажмем на блокнот:
Далее открываем файл System.def вашего Мугена, нажав на кнопку открыть:
Все. Теперь у нас открыт System.def и мы начинаем его редактировать: [b][info] - основная инфа о игре Name = "****" - название вашей игры/сборки Author = "****" - вы, то-есть создатель игры displayname = "****" - отображаемое имя автора versiondate = 25.04.2008 - дата создания mugenversion= 06,14,2003 - версия Мугена pal.defaults=1,2,3,4,5 - стандартный набор палитр (менять не надо)
Далее у нас идет заголовок [Files], где и идет подключение различных файлов spr = system.sff - файл спрайтов для самого меню snd = system.snd - файл звуков для основного меню logo.storyboard = ****.def - Это лого при запуске игры intro.storyboard = ****.def - Инто в игре select = select.def - здесь пишите файл, в котором вы подключаете персов и арены fight = fight.def - файл битвы (Лайфбар и тд и тп) font1 = ****.fnt - шрифт 1 font2 = ****.fnt - шрифт 2, и так можете продолжать долго, увеличивая цифру после font. Ну вот, файлы мы теперь подключили!
Следующим заголовком в System.def должен быть [Music]. Разбираемся тут.
title.bgm = sound/Menu.mp3 - путь к файлу музыки для главного меню title.bgm.loop = 1 - параметр =1говорит,что после конца песни она начнет играть снова, при = 0 этого не будет
select.bgm =sound/CharSel.mp3 - путь к файлу музыки для меню выбора персонажей select.bgm.loop = 1 - параметр=1говорит,что после конца песни она начнет играть снова,при=0 этого не будет
vs.bgm =sound/VSscreen.mp3 - путь к файлу музыки для ВС скрина (Когда идет показ кто против кого) vs.bgm.loop = 1 - параметр =1говорит,что после конца песни она начнет играть снова, при = 0 этого не будет
Теперь у нас есть музыка в скринпаке!
так, сейчас мы будем описывать главное меню и его примочки. Перед описанием меню должен идти такой заголовок - [Title Info] Поехали разбирать, что к чему:
fadein.time = 10 - скорость, с которой картинка плавно появится на экране, чем значение меньше, тем быстрей появится картинка fadeout.time = 10 - - скорость, с которой картинка плавно исчезает с экрана, чем значение меньше, тем быстрей исчезнет картинка menu.pos = 159,158 - позиция на экране самого меню (тобишь окно для выбора режима) menu.item.font = 2,0,0 - шрифт букв в меню. Первая цифра 2 говорит о том, что он будет использовать Font2, который мы подключали во 2-ом шаге. Цифра 0 обозночает цветовую гамму шрифта, третью цифру лучше не менять. menu.item.active.font = 2,5,0 - шрифт выделенного меню или режима. Он отличается только цветом, так как вторая цифра у нас 5 menu.item.spacing = 0, 13 - Расстояние между надписями в меню
menu.itemname.arcade = "ARCADE" - надпись в меню для режима аркады. Если вы не хотите данный режим, то вместо букв просто напишите = "" menu.itemname.versus = "VS MODE" - надпись в меню для режима поединка. Убирание идентично предыдущему. menu.itemname.teamarcade = "TEAM ARCADE" - надпись в меню для режима командной аркады. Убирание идентично предыдущему. menu.itemname.teamversus = "TEAM VS" - надпись в меню для режима командного поединка. Убирание идентично предыдущему. menu.itemname.teamcoop = "TEAM CO-OP" - надпись в меню для режима командного сотрудничества. Убирание идентично предыдущему. menu.itemname.survival = "SURVIVAL" - надпись в меню для режима выживания. Убирание идентично предыдущему. menu.itemname.survivalcoop = "SURVIVAL CO-OP" - надпись в меню для режима командного выживания. Убирание идентично предыдущему. menu.itemname.training = "TRAINING" - надпись в меню для режима тренировки. Убирание идентично предыдущему. menu.itemname.watch = "WATCH" - надпись в меню для режима наблюдения. Убирание идентично предыдущему. menu.itemname.options = "OPTIONS" - надпись в меню для режима опций. Убирание идентично предыдущему. menu.itemname.exit = "EXIT" - надпись в меню для выхода. Убирание идентично предыдущему.
menu.window.margins.y = 12, 8 - размер окна для надписей меню. menu.window.visibleitems = 5 - сколько надписей видно одновременно. menu.boxcursor.visible = 1 - 1 - видимость стандартного курсора меню, 0 - станет невидимым. menu.boxcursor.coords = -58,-10,57,2 - координаты на экране стандартного курсора.
cursor.move.snd = 100,0 - звук перемещения курсора (берется из подключенного файла музыки в шаге 2). Первое значение 100 обозначает группу звука, второе - его номер в группе. cursor.done.snd = 100,1 - звук выбора. Берется оттуда же cancel.snd = 100,2 - звук отмены, тоже находится в подключенном файле.
Вот мы и настроили меню. В следующем шаге я опишу установку графики на главном меню.
Следующим шагом нам надо сделать графику для нашего меню, так как просто черный экран и буквы нас не устраивают. . Следующим заголовком должно идти [TitleBGdef]. Тут один параметр: bgclearcolor = 0,0,0 - это стандартный цвет фона. Как вы поняли три цифры - это красный, синий и зеленый.
Так, фон у нас есть. Что же дальше? Дальше нам надо повставлять картинки. Для этого мы в Fighter Factory откроем вкладку sprites, как на скрине
Затем там мы жмем на кнопку "открыть"(на скрине) и выбираем .sff файл, который мы подключили во 2-ом шаге.
Итак, файл открыт, и нам надо вставить туда нужные нам картинки, которые мы хотим увидеть в скринпаке. Для этого мы жмем на кнопку "добавить" (на скрине), устанавливаем нужную вам группу, и добавляем.
Обратите внимание, все картинки должны быть в формате .pcx и в палитре 256 цветов(для этого и требуется Photoshop или PhotoImpact). Добавили? Теперь мы переходим к коду и следущим заголовком надо написать [TitleBG 0] Теперь давайте разберемся в структуре добавления изображения на экран:
type = normal - определяет тип изображения: Normal - нормальное, Parralax - паралельное и Anim - анимация spriteno = 5, 1 - группа и номер спрайта/картинки из подключенного файла (только для Normal & Parralax) start = 0, 145 - Начальные координаты рисунка width = 400, 1200 - чесслово, хр*н знает, нафига оно нужно, скока юзал, никаких от него эффектов tile = 1,1 - дублирование изображения: первая 1 -по горизонтали, вторая 1 - по вертикали tilespacing = 350,0 - расстояние между дублированными изображениями, опять же сначала по оси X, затем Y. velocity = -1,1 - скорость перемещения по экрану. Первое значение - по оси Х, второе - по оси Y. ActionNo = 2000 - указание на код анимации (только для Anim). trans = sub - Тип прозрачности: Sub - инверсия цветов, с прозрачностью; Add - Просто прозрачность; None - нету. Mask = 1 - отключает задний фон картинки.
Вот мы и вставили картинку, она может "плавать" по экрану, быть прозрачной. В следующем шагу настройка Anim типа изображений.
Здесь я опишу как работает анимация в скринпаках. Для этого вам сначала нужно создать [Title BG] с параметром type = anim и actionno = **** для перехода к самой анимации. Когда вы напишите все остальные нужные вам параметры, с новой строки вы должны начать код анимации: [Begin Action ****] - вместо звезд ставьте то значение, которое вы указали в параметре Actionno = ****. В принципе код анимации прост. Сейчас я опишу его строение: 410,0,0,0, 2 - это и есть описание одного кадра анимации. Давайте разберемся в нем: 410 - номер группы изображений в подключенном файле спрайтов. 0 - номер изображения 0 в группе 410. 0 - смещение по горизонтали от начальных координат. 0 - смещение по вертикали от начальных координат. 2 - время пребывания кадра на экране. Вот и все. Если вы хотите еще один кадр в анимации, просто напишите подобный код в следующей строке. Шаг анимация пройден!
Вот мы и подошли к окну выбора персонажей. Сдесь все идет также по аналогии: сначала опись скриптов, затем графика. Со скриптов и начнем. Заголовок должен быть [Select Info]. После него идет описание выбора персонажей: fadein.time = 10 - скорость, с которой картинка плавно появится на экране, чем значение меньше, тем быстрей появится картинка fadeout.time = 10 - скорость, с которой картинка плавно исчезает с экрана, чем значение меньше, тем быстрей исчезнет картинка rows = 5 - количество строк ячеек для перснонажей columns = 5 - количество столбцов ячеек для персонажей wrapping = 0 - при 1 позволяет курсору крутится вокруг ячейки pos = 68,63 - самая верхняя левая точка свей таблицы ячеек, то-есть координаты ее расположения. showEmptyBoxes = 0 - при 1 показывает пустые ячейки персонажей, при 0 нет. moveOverEmptyBoxes = 0 - при 1 позволяет водить курсором по пустым ячейкам, при 0 нет. cell.size = 33,32 - размер каждой ячейки. cell.spacing = 14,6 - расстояние между каждой ячейкой: по горизонтали, по вертикали соответственно. cell.bg.spr = 412,1 - группа и номер спрайта для ячейки. cell.random.spr = 412,0 - группа и номер спрайта для ячейки случайного выбора. cell.random.switchtime = 3 - время смены рандомного персонажа на следующего. p1.cursor.startcell = 0,0 - номер строки и ряда первоначального положения курсора 1-го игрока. p1.cursor.active.**** = 410 - Номер анимки или спрайта для курсора 1-го игрока. Хотите анимацию, тогда вместо **** пишите anim, спрайт - spr, причем, если вы выбрали аним, то это значение раносильно Actionno в устаноке картинок. p1.cursor.done.anim = 420 - анимация выбора перса 1-ым игроком, или спрайт, как и выше (только если вы вставляете спрайт, не забудьте через запятую дописать номер изображения в группе). p1.cursor.move.snd = 100,0 - звук перемещения курсора 1-го игрока. p1.cursor.done.snd = 100,1 - звук выбора перса 1-ым игроком p1.random.move.snd = 100,0 - звук перебора персов ячейкой случайного выбора. p2.cursor.startcell = 0,4 - дальше все аналогично, но для второго игрока. p2.cursor.active.anim = 410 p2.cursor.done.anim = 420 p2.cursor.blink = 1 - моргание курсора 2-го игрока, когда оба курсора стоят на одной ячейке. p2.cursor.move.snd = 100,0 p2.cursor.done.snd = 100,1 p2.random.move.snd = 100,0 random.move.snd.cancel = 1 - звук отмены ячейки случайного выбора. stage.move.snd = 100,0 - звук перемещения на другую карту. stage.done.snd = 100,1 - звук выбора карты. cancel.snd = 100,2 - звук отмены. portrait.offset = 0,0 - расположение портретов. ortrait.scale = 1,1 - масштабирование портрета. title.offset = 160,38 - Расположение заголовка, Аркада, например. title.font = 4,0,0 - Шрифт для заголовка.
p1.face.offset = 1,1 - позиция для большого портрета 1-го игрока. p1.face.scale = 1,1 - масштабирование этого портрета. p1.face.facing = 0 - инверсия портрета, то есть, если =1, то картинка будет повернута в другую сторону. p2.face.offset = 1,1 - позиция для большого портрета 2-го игрока. Дальше идет аналогично тому, что выше, только для 2-го игрока. p2.face.scale = 1,1 p2.face.facing = 0
p1.name.offset = 60,235 - позиция для надписи имени перса, выбранного 1-ым игроком. p1.name.font = 4,0,0 - шрифт этой надписи, если хотите,чтобы ее не было, просто введите = -1. p2.name.offset = 260,235 - тоже самое, но для 2-го игрока. p2.name.font = 4,0,0
stage.pos = 175,190 - положение надписи выранной карты. stage.active.font = 4,1,0 - первый шрифт стэйджа. stage.active2.font = 4,2,0 - вотрой шрифт стэйджа. Здесь, как видите, используется один и тот же шрифт, но разным цветом, и это создает эффект мигания. stage.done.font = 4,2 - цвет шрифта надписи, когда вы выбрали арену.
teammenu.move.wrapping = 0 - вращение при перемещении командного меню. p1.teammenu.pos = 29, 189 - положение командного меню для 1-го игрока. Я надеюсь, что вы знаете, что такое командное меню. Если нет, то это можно узнать даже в Naruto Battle Arena 2, когда вы выбираете командный режим. Там вы видите надписи Single,Team, и тд, и можете выбирать: 1-му быть, в паре, или играть 4-мя по очереди. Это и есть командное меню. p1.teammenu.bg.spr =****,****/b] - фоновый спрайт для командного меню, или анимация, если вы вместо spr напишите anim. p1.teammenu.selftitle.font = 4,0, 0 - шрифт заголовка для своего меню. p1.teammenu.selftitle.text ="****" - сам текст заголовка. p1.teammenu.enemytitle.font = 4,0, 0 - шрифт заголовка меню противника. p1.teammenu.enemytitle.text ="****" - текст этого заголовка. p1.teammenu.move.snd = 100,0 - звук перемещения в курсора в командном меню. p1.teammenu.value.snd = 100,0 - звук при изменении количества игроков в твоем командном меню. p1.teammenu.done.snd = 100,1 - звук выбора в командном меню. p1.teammenu.item.offset = 0,20 - расположение командного меню p1.teammenu.item.spacing = 0,10 - расстояние между обьектами в командном меню. p1.teammenu.item.font = 4,0, 0 - шрифт надписей в командном меню. p1.teammenu.item.active.font = 4,1, 0 - активный шрифт надписи в меню. p1.teammenu.item.active2.font = 4,2, 0 - 2 активный шрифт, для мерцания. p1.teammenu.value.icon.offset = 22,-9 - расположение иконок в командном меню (в стандартном мугене это формы человечков). p1.teammenu.value.icon.spr = 181,0 - спрайт этих иконок p1.teammenu.value.empty.icon.offset = 22,-9 - спрайт пустых иконок, то есть, когда их не выбирают. p1.teammenu.value.empty.icon.spr = 182,0 - распложение пустых иконок, то есть можно делать так, что при включении этой иконки в общий список, она будет менять свое положение. p1.teammenu.value.spacing = 6,0 - расстояние между иконками.
Когда вы все это написали, идет подключение рисунков,анимаций и тд и тп. Это дело происходит аналогично подлючению всего вышеперечисленного в главном меню, только заголовки должны быть [TitleBG **] - всемто звезд пишите номер,начиная с 0,затем 1,2, и так далее.
Вот мы и подошли к написанию Versus Screen. Это по сути то окно где показывают перед раундом кто против кого сражается. Как и все предыдущие пункты давайте разберемся в коде этого окна: [VS Screen] - этот заголовок служит определителем для МУГЕНА что здесь описываются параметры ВС окна. time = 150 - этот параметр задает продолжительность нахождения ВС окна на экране. fadein.time = 15 - этот параметр отвечает за скорость появления этого окна из черного фона. fadeout.time = 15 - обратный параметр предыдущему. Задает скорость исчезновения окна. p1.pos = 20,31 - отвечает за положение портрета первого персонажа из его файла спрайтов 9000,1 на координатах Х,У в данном окне. p1.facing = 1 - устанавливает отражение портрета 1-го игрока. Тоесть если будет 1 - то портрет будет направлен в ту сторону в которую он смотрел изначально, а если -1 то в противоположную. p1.scale = 1,1 - масштаб портрета 1-го игрока по осям Х и У. Если хотите чтоб портрет был больше оригинальных размеров увеличьте эти числа, меньше - уменьшите. p2.pos = 299,31 - отвечает за положение портрета второго персонажа из его файла спрайтов 9000,1 на координатах Х,У в данном окне. p2.facing = -1 - отражение портрета 2-го персонажа. Как видите у меня он -1, значит если персонаж будет один и тот же, то портреты в ВС окне будут смотреть друг на друга p2.scale = 1,1 - масштаб портрета 1-го игрока по осям Х и У. Если хотите чтоб портрет был больше оригинальных размеров увеличьте эти числа, меньше - уменьшите. p1.name.pos = 78,190 - позиция Надписи имени 1-го персонажа. Если вы пишите имя шрифтом игры, а не врисовываете его в портрет как это делаю я в своей игре, тогда вам нужно настраивать этот параметр. p1.name.font = 3,0,0 - шрифт который будет использоваться для написания имени 1-го игрока. p2.name.pos = 241,190 - позиция Надписи имени 2-го персонажа. Если вы пишите имя шрифтом игры, а не врисовываете его в портрет как это делаю я в своей игре, тогда вам нужно настраивать этот параметр. p2.name.font = 3,0,0 - шрифт который будет использоваться для написания имени 2-го игрока.
Когда вы все это написали, идет подключение рисунков,анимаций и тд и тп. Это дело происходит аналогично подлючению всего вышеперечисленного в главном меню, только заголовки должны быть [VersusBG **] - всемто звезд пишите номер,начиная с 0,затем 1,2, и так далее.
Вот мы и настроили Versus экран!!!
ВНИМАНИЕ!!!-Я не знаю автора данного тутора!Все что написано в туторе ведеться от лица автора тутора!!!