Upload
-
View
243
Download
1
Embed Size (px)
DESCRIPTION
Â
Citation preview
1 / 104
Сoding Mugen School Rus by MidNight
2 / 104
Table of contents
О движке ......................................................................................................................... 5 Основы ............................................................................................................................ 6 Подготовительный этап ................................................................................................. 7
Нарезка спрайтов ....................................................................................................... 7 Создание файлов персонажа .................................................................................. 10
Интерфейс Figher Factory Classic ................................................................................ 16 Палитра by skamp ......................................................................................................... 28 Файл Кодов ................................................................................................................... 30
Контроллеры ............................................................................................................ 30 AfterImage ............................................................................................................. 30 AfterImageTime ..................................................................................................... 31 AllPalFX ................................................................................................................ 32 AngleAdd ............................................................................................................... 32 AngleDraw ............................................................................................................. 32 AngleMul ............................................................................................................... 32 AngleSet ................................................................................................................ 33 AppendToClipboard ............................................................................................... 33 AssertSpecial ........................................................................................................ 33 AttackDist .............................................................................................................. 35 AttackMulSet ......................................................................................................... 36 BGPalFX ............................................................................................................... 36 BindToParent ........................................................................................................ 36 BindToRoot ........................................................................................................... 36 BindToTarget ......................................................................................................... 37 ChangeAnim .......................................................................................................... 37 ChangeAnim2 ........................................................................................................ 38 ChangeState ......................................................................................................... 38 ClearClipboard ...................................................................................................... 39 CtrlSet ................................................................................................................... 39 DefenceMulSet ...................................................................................................... 39 DestroySelf ............................................................................................................ 39 DisplayToClipboard ............................................................................................... 39 EnvColor................................................................................................................ 40 EnvShake .............................................................................................................. 41 Explod ................................................................................................................... 41 ExplodBindTime .................................................................................................... 46 ForceFeedBack ..................................................................................................... 47 FallEnvShake ........................................................................................................ 48 GameMakeAnim .................................................................................................... 48 Gravity ................................................................................................................... 49 Helper .................................................................................................................... 49 HitAdd ................................................................................................................... 52 HitBy ...................................................................................................................... 52 HitDef .................................................................................................................... 53 HitFallDamage ....................................................................................................... 63 HitFallSet ............................................................................................................... 63 HitFallVel ............................................................................................................... 63 HitVelSet ............................................................................................................... 64 LifeAdd .................................................................................................................. 64
3 / 104
LifeSet ................................................................................................................... 64 MakeDust .............................................................................................................. 65 ModifyExplod ......................................................................................................... 65 MoveHitReset ........................................................................................................ 65 NotHitBy ................................................................................................................ 65 Null ........................................................................................................................ 66 Offset ..................................................................................................................... 66 PalFX .................................................................................................................... 67 ParentVarAdd ........................................................................................................ 68 ParentVarSet ......................................................................................................... 69 Pause .................................................................................................................... 70 PlayerPush ............................................................................................................ 70 PlaySnd ................................................................................................................. 71 PosAdd .................................................................................................................. 72 PosFreeze ............................................................................................................. 72 PosSet ................................................................................................................... 73 PowerAdd .............................................................................................................. 73 PowerSet ............................................................................................................... 73 Projectile................................................................................................................ 73 RemapPal .............................................................................................................. 77 RemoveExplod ...................................................................................................... 77 ReversalDef ........................................................................................................... 78 ScreenBound ......................................................................................................... 78 SelfState ................................................................................................................ 78 SprPriority .............................................................................................................. 79 StateTypeSet ......................................................................................................... 79 SndPan ................................................................................................................. 79 StopSnd ................................................................................................................ 80 SuperPause ........................................................................................................... 80 TargetBind ............................................................................................................. 81 TargetDrop ............................................................................................................ 82 TargetFacing ......................................................................................................... 82 TargetLifeAdd ........................................................................................................ 83 TargetPowerAdd .................................................................................................... 83 TargetState ............................................................................................................ 83 TargetVelAdd ........................................................................................................ 84 TargetVelSet ......................................................................................................... 84 Trans ..................................................................................................................... 85 Turn ....................................................................................................................... 85 VarAdd .................................................................................................................. 86 VarRandom ........................................................................................................... 86 VarRangeSet ......................................................................................................... 87 VarSet ................................................................................................................... 88 VelAdd ................................................................................................................... 89 VelMul ................................................................................................................... 89 VelSet .................................................................................................................... 89 VelMul ................................................................................................................... 89 VictoryQuote .......................................................................................................... 90 Width ..................................................................................................................... 90
Триггеры ................................................................................................................... 91 Abs (Матем) .......................................................................................................... 91 Acos (Матем) ........................................................................................................ 91
4 / 104
AILevel .................................................................................................................. 91 Alive ...................................................................................................................... 91 Anim ...................................................................................................................... 92 AnimElem .............................................................................................................. 92 AnimElemNo ......................................................................................................... 93 AnimElemTime ...................................................................................................... 93 AnimExist .............................................................................................................. 94 AnimTime .............................................................................................................. 95 Asin (Матем) ......................................................................................................... 95 Atan(Матем).......................................................................................................... 95 AuthorName .......................................................................................................... 96 BackEdge (1.1) ...................................................................................................... 96 BackEdgeBodyDist ................................................................................................ 97 BackEdgeDist ........................................................................................................ 97 BottomEdge (1.1) .................................................................................................. 98 CameraPos (1.1) ................................................................................................... 98 CameraZoom (1.1) ................................................................................................ 99 CanRecover .......................................................................................................... 99 Ceil (Матем) .......................................................................................................... 99 Command ............................................................................................................ 100 Cond (Матем) (1.1) ............................................................................................. 100 Const ............................................................. Ошибка! Закладка не определена. Const240p ..................................................... Ошибка! Закладка не определена. Const480p ..................................................... Ошибка! Закладка не определена. Const720p ..................................................... Ошибка! Закладка не определена. Cos (Матем)........................................................................................................ 101 Ctrl ....................................................................................................................... 101 DrawGame .......................................................................................................... 101 E (Матем) ........................................................................................................... 101 Exp (Матем) ........................................................................................................ 102 Facing ................................................................................................................. 102 Floor (Матем) ...................................................................................................... 102 FrontEdge (1.1) ................................................................................................... 102 FrontEdgeBodyDist ............................................................................................. 103 FrontEdgeDist ..................................................................................................... 103
5 / 104
О движке
M.U.G.E.N - бесплатный (условно-бесплатный для расширенного
функционала) графический 2D движок виртуальных сражений, разработанный
компанией Elecbyte. Написан на языке программирования Си с
использованием библиотек Allegro. Бета версия MUGEN работает под
управлением DOS, GNU/Linux и Microsoft Windows. Дата выпуска 17
июля 1999 года.
Движок позволяет игрокам создавать своих персонажей, уровни и другие
игровые объекты при помощи интерпретируемых игрой текстовых файлов,
графики, и звуков. Для создания музыкального оформления заднего плана,
антуража главного меню и т. д., имеется поддержка звуковых
форматов: MP3, ADX, Ogg Vorbis и MIDI. Программный продукт позволяет
воссоздавать атмосферу популярных и любимых игр.
6 / 104
Основы
Для создания персонажа требуются определенные ресурсы. Это в первую
очередь спрайты и звуки, так же эффекты. Все это соединенное кодами и
командами, составляет персонажа
У каждого персонажа имеется набор файлов с определенным расширением
исполняющий некую функцию:
sprite.sff - файл с данным расширением составляет хранилище спрайтов
animation.air - в этом хранятся анимации и "скелет" персонажа
constant.cns - здесь константные данные персонажа, такие как скорость
перемещения, количество маны, жизни и т.д
state.cns - для кодов базовых атак.
common1.cns - файл содержащий базовые коды персонажа - стойка, ходьба,
бег, прыжок и т.д
command.cmd - файл содержащий коды команд, которыми будет управляться
персонаж
sound.snd - файл содержащий звуки персонажа.
pallet.act - файл палитры
7 / 104
Подготовительный этап
Перед началом кодинга персонажа, следует подготовить на него определенные ресурсы, и создать файлы которые будут хранить и использовать ресурсы. Как было сказано ранее, для создания персонада нужно: 1. Спрайты - лист с прорисованными движениями персонажа, что б использовать его в мугене, нужно сначала нарезать все фреймы, об этом отдельная глава. Беруться спрайты: 1.1)из игр (Стандартные Спрайты) 1.2)так же могут быть нарисованы самим кодером, или спрайтером под заказ (Кастом Спрайты). 1.3)есть такой вариант, что взят стандартный лист, и перерисован на другого персонажа, или того же, но иначе выгядещего (Эдит Спрайты). Если же только изменен цвет, и не затронуты детали, то это зоветься Реколор Спрайты 2. Звуки - звуковые файли, нужные для персонажа, в первую очередь это его собственные звуки, такие как голос, речь, озвучивание атак. Так же это дополнительные звуки, нужные что б сделать персонажа более реальным, это звук бега, прыжка, взмахов, удары и многие-многие другие. Звуки персонажа беруться в основном из игры в которой есть такой персонаж, дополнительные же звуки могут быть взяты откуда угодно - из другого персонажа, игры, если требуеться то даже могут быть и музыкальные композиции. 3. Эффекты - это спрайты которые содержат изображений персонажа, но отображают его действия в игровом среде: пыль, ветер, огонь, вода, линии скорости, эффеткы атак и.т.д. Эффекты беруться из игр, других персонажей, так же при хорошем владении фотошопом их можно создавать самому.
Нарезка спрайтов
Начинается все с нарезки спрайтов. Для этого нам понадобиться Photoshop, версия не имеет особого значения. Процес нарезки: Открываем фотошоп:
Открываем спрайтлист:
8 / 104
Спрайтлист должен быть очищен от лишних надписей, картинок и прочего хлама, который не совпадает по палитре со спрайтами персонажа:
Дальше переводим лист в индекс (муген воспринимает только индексированные изображения):
9 / 104
Жмем эту иконку: . Выделяем спрайт:
Жмем Enter, дальше Файл/Сохранить как/ выбираем .bmp формат, жмем Сохранить:
10 / 104
Затем возвращаемся обратно, комбинацией Ctrl+Alt+Z и вырезаем другой спрайт И так вырезаем все спрайты персонажа. Напоминаю, обязательно надо что б лист перед вырезкой был переведен в индекс иначе спрайты будут неправильно отображаться.
Создание файлов персонажа
и так, у нас готовы спайты, создана палитра, можно приступить к созданию персонажа. Для этого используется программа Fighter Factory. Есть версии Класик, Ультимейт. я пользуюсь Класик версией. Для начала создадим файлы. Для этого заполняем строки в окошке def - файла:
11 / 104
понять как заполнять и что где писать думаю не составит труда.
Дальше жмем иконку: и сохраняем файлы персонажа в отдельную папку. туда же кидаем файл созданной палитры. когда появиться вопрос в каком формате сохранить файл .sff (спрайты) выбираем с общей палитрой.
12 / 104
стоит отметить что при сохранении надо будет вписывать имена файлов. Они должны в точности совпадать с именами которые написаны в def-файле иначе просто не будут отображаться. Поэтому если используете файлы из архива что был вместе с тутором, убедитесь в том что переименовали их под вашего персонажа. для проверки правильности действий, после сохранения файлов, закрываем текущего персонажа
кнопкой Потом открываем, и если все созданные файлы отображаються, значит все сделано правильно к примеру файлы: Спрайты:
Анимации:
13 / 104
коды:
команды:
14 / 104
звук:
Также стоит добавить что некоторые файлы сохраняються только если содержат данные. К примеру файл звука нельзя сохранить пока не добавить в него хотя бы один звук. Так же можно создавать дополнительные файлы персонажа. К ним относяться дополнительные cns и act файлы (коды и палитры)
15 / 104
Дополнительные файлы кодов создают в основном для удобства, чтоб не мешать коды разных типов, так как это иногда утрудняет процес.
16 / 104
Интерфейс Figher Factory Classic
Интерфейс программы составляет несколько окошек, каждое из которых отведена функция правки того или иного файла персонажа, а так же дополнительные окошка для тестирования и упорядочения внутренних файлов.
Первый и основной файл - .def с его помощью все другие созданные файлы соединяются между собой. Его окошко и кнопки управления:
Если требуется его правка, сохранять его нужно отдельно, клавишей так как общая для всех
файлов клавиша на def-файл не действует.
Окошко спрайтов:
17 / 104
Кнопки управления спрайтами:
- добавить новые спрайты
- заменить спрайт
- сохранить спрайт
- сохранить файл .sff
- дублировать спрайт
- удалить спрайт
- удалить группу спрайтов
- найти спрайт (по групе и номеру изображения)
- обрезать спрайт (удаляет не нужный фон)
- переименовать группу спрайтов
- карандаш - позволяет править некоторые дефекты спратов. Для того что бы рисовать определенным цветом, надо выбрать его в палитре из готовых или сгенерировать самому там же. Не стоит пользоваться если нет навыков рисования, так как можно испортить спрайты.
- ластик - стирает цвета, заменяя их на цвет фона. Весьма полезен если спрайты были нарезаны не акуратно, с лишними элементами.
- заливка.
- открывает панель инструментов. Данная панель может производить массовые действия нас спрайтами такие как выравнивание на определенную высоту, обрезание, поворот, изменение размера.
18 / 104
- 4 кнопки позволяющее выравнивать персонажа по X Y
- Общая палитра - определяет какую палитру использует данный спрайт. Спрайты персонажа должны использовать общую, спрайты эффектов и прочие элементы не принадлежащие к спрайтлисту должны использовать индивидуальную палитру (галочки не должно быть) Прозрачный - если стоит галочка, цвет фона не будет отображаться (если палитра создана неправильно, эта функция работать не будет)
Двигать Изображение - если стоит галочка, кнопки будут двигать изображение, если галочка снята, будет двигаться крестик-эквалайзер
- кнопки, автоматически выравнивают текущий спрайт по определенному краю, или посередине.
Окошко анимаций
19 / 104
Кнопки операций над анимациями:
- создает новый файл анимации
- открыть файл анимации
- сохранить файл анимации
- сохранить как...
- изменить действие в .тхт формате.
- конвертировать анимацию в .gif - полезно для выкладывания на форумах и сайтах. Пример:
- запустить анимацию. - позволяет посмотреть как будет выглядеть анимация, не запуская персонажа в муген.
- останавливает запущеную анимацию
- данная кнопка позволяет удалить анимацию/спрайт анимации, в зависимости от того какую нажать
- данная кнопка позволяет добавить пустую анимацию/спрайт анимации, в зависимости от того какую нажать
Имя - название анимации. Заполнять не обязательно, чисто для удобства.
20 / 104
Действие(№) - присваивает анимации номер. Этот номер позволяет связать анимацию с кодом. Базовые движения уже имеют определенные номера, их надо знать(см.ниже). анимациям атак, спешлов и т.д номер можно задавать самостоятельно.
- поиск анимации по номеру.
- поставить красную коробочку
- поставить синюю коробочку
- удалить коробочку
- автопостановка коробочки.
- копировать коробочки с предидущего спрайта анимации
- изменить цвет коробочки (синюю на красную и наоборот)
- выкладывает анимации по порядку возрастания номера. типа органайзер.
- время в тиках, для данного спрайта в анимации. чем меньше число тем быстрее анимация.
- поворот данного спрайта в анимации. H - горизонтальное отражение V - вертикальное отражение HV - одновременно отразить горизонтально и вертикально.
- указывает прозрачность спрайта. возможные значения: А А1 S. так же можно указывать самому цыфрами - AS220D256
- 3 кнопки с похожими функциями - позволяют зараз присвоить всем спрайтам данной анимации указанное время, поворот, прозрачность .
- если поставить галочку, анимация поменяет цикл, с того спрайта где поставлена галочка.
21 / 104
- строка для поиска спрайтов в файле .sff, отображает номера груп. после выбора нужной групы поле ниже заполняется спайтами из группы.
- кнопка операций над спрайтами, позволяет добавлять спрайты в анимацию, как по одному так и зараз. При нажатии отрывает контекстное меню (см. ниже) где перечислены возможные операции над спрайтами P.S - тоже самое меню можно вызвать нажав правой кнопкой мыши по спрайту.
Окошко кодов
- это панель перехода от одного файла кодов к другому.
22 / 104
- создает новый файл кода
- открыть файл кода
- сохранить файл кода
- сохранить как...
- вырезает выделенный код
- копирует выделенный код
- вставляет скопированый/вырезаный код
- позволяет искать нужные части текста в кодах по определеным номерам или именам и т.д. Есть возможность настройки.
- похоже на предидущий, но в отличается тем что не просто находит, а заменяет то что нашел на определеный текст, набраный предварительно.
- отменить операцию
- вернуть операцию обратно
- открывает PalFX редактор. Весьма полензная вещь. (подробно в разделе:)
- открывает панель смещения. Полезна когда надо настроить размещение еффекта/хелпера относительно персонажа. Не практичен если оригинальный размер еффекта/хелпера сильно отличается от нужного.
- очень полезная вещь. ФФ автоматически составлет список Варов (целых и переменных) и показывает где их используют, что позволет предотвратить баги связанные с Варами. Панель Кодов (Шаблонов)
23 / 104
- Содержыт коды для создания персонажа. Что б использовать достаточно поставить бегунок курсора в нужном месте рабочего поля, и дважды щелкнуть по нужному коду. После этого на страницу вставится шаблон выбранного кода. (подробние о свойствах каждого из кодов в разделе: )
- окошко - органайзер, позволяет легко искать нужные стейты,
по номеру. Для активации должна быть активирована кнопка
24 / 104
- Создает стейт-шаблон, что значительно ускоряет процес кодировки.
Активированная кнопка выглядит так: После выбора нужного стейта, представлется возможность их частичной настройки (номер стейта, номер анимации, урон, тип физики):
Окошко Команд
25 / 104
- создает новый файл кода
- открыть файл кода
- сохранить файл кода
- сохранить как...
- вырезает выделенный код
- копирует выделенный код
- вставляет скопированый/вырезаный код
- позволяет искать нужные части текста в кодах по определеным номерам или именам и т.д. Есть возможность настройки.
- активирует окно создания команды:
26 / 104
- активирует окно редакции команд:
- отменить операцию
- вернуть операцию обратно
Окошко Звуков
27 / 104
- создает файл звука
- открыть файл звука
- сохранить файл звука
- сохранить как...
- воспроизводит текущий звук
- Останавливает воспроизедение
- воспроизвод с повтором (цыклично)
- добавить звук в файл
- заменить звук
- сохранить звук из файла
- дублировать звук
- удалить звук
-
28 / 104
Палитра by skamp
Теперь мы создаѐм и прописываем палитру! Переходим в меню
палитры и появляется вот такое вот окошко.
Мы нажимаем Open image . Находим ваши нарезанные спрайты.
Открываем самый первый спрайт стойки! Теперь мы видим спрайт и его
палитру.
Нажимаем на фон который должен исчезнуть в МУГЕНЕ!
На палитре появляется выделенный квадратик. Он может быть в любом
месте. Но нам нужно, что бы он появлялся в правом нижнем уголке. Но
вам может и повезти сразу :).
Если квадратик находится хрен знает где нажимаем на и на
теперь наш цвет перенесѐн на другую палитру.
Теперь на первой палитре нажимаем в правый нижний угол! И
нажимаем кнопку .
Для проверки мы нажимаем кнопку Add и добавляем сюда
спрайт который мы открыли.
И потом нажимаем Apply the same name of images.
29 / 104
Сохраняем его куда хотите. Теперь нажимаем Open image и
выбираем этот спрайт который сохранили. И опять тыкаем по фону
который нужно убрать! Если квадратик появляется в правом нижем углу
то все получилось, а если нет то повторяем операцию еще раз но с
этим спрайтом и так далее.
Когда мы добились нужного результата, мы нажимаем(мы сохраняем
палитру) и сохраняем палитру с именем вашего персонажа. Потом
нажимаем на галочку
Use the same name of images .
И нажимаем Add добавляем все ваши нарезанные спрайты.
Потом нажимаем на кнопку Apply the same name of images.
Сохраняем в папку со спрайтами или же в другую папку. Имя ваших
спрайтов будет оригинальное. А если в одну и туже папку сохранить, то
спрайта будут заменены.
Теперь переходим в Def листаем в самый низ и находим широкое
окно с названием ACT Palettes: 1 by line.
Прописываем туда ваше название сохраненной палитры. У меня это
UchihaSasukeV1bySkamp но на конце обязательно надо дописать .act
!Не забывайте нажимать кнопку Save All!
30 / 104
Файл Кодов
Контроллеры
Подробное описание контроллеров мугена, перевод с английского.
Переводчик 1: chameleoncyborg
Переводчик 2, отредактировал и дополнил: MidNight
AfterImage
AfterImage
Активирует эффекты шлейфа. Фрэймы бойца запасаются в истории буфера, и
отображаются после задержки как шлейфы.
Дополнительные параметры:
time = длительность (целое)
Уточняет количество тиков, на протяжении которых будет отображаться шлейф. Выберите
-1 для бесконечного отображения. По умолчанию 1.
length = количество фрэймов (целое)
Выбирается вместимость истории буфера по фрэймам. История буфера будет показывать
количество недавно сохранѐнных фрэймов игрока. Принимая постоянные значения для
timegap и framegap, увеличение продолжительности может увеличить число и «возраст» (за
неимением лучшего термина) шлейфов, отбражѐнных единажды. Максимальная длина 60,
по умолчанию 20.
palcolor = цветов (целое)
palinvertall = обратить_всѐ (булево, 0 или 1)
palbright = add_r, add_g, add_b (целые)
palcontrast = mul_r, mul_g, mul_b (целые)
palposbright = add2_r, add2_g, add2_b (целые)
Эти параметры определяют эффекты палитры применительно ко всем шлейфам. Первый
уровень цвета добавлен следовательно значению palcolor, потом если invertall не ноль,
цвета обращаются. В последствии, компоненты palbright добавляются к соответствующему
компоненту палитры игрока, потом каждый компонент умножается соответствующим
компонентом palcontrast, разделѐнным на 256, затем компоненты palposbright добавляются
к результату. Значение диапазона palcolor от 0 (сероватый) до 256 (нормальный цвет). Для
примера, если красный компонент палитры бойца указан как pal_r, затем красный
компонент палитры шлейфа будет в виде: (pal_r + add_r)*mul_r/256 + add2_r , надменно
31 / 104
значения palcolor и palinvertall остаются при значениях по умолчанию. Действительные
значения для palcolor от 0 до 256, 0-255 для компонентов palbright и palposbright, и любые
не отрицательные значения для компонентов palcontrast. Умолчания:
palcolor = 256
palinvertall = 0
palbright = 30, 30, 30
palcontrast = 120, 120, 120
palposbright = 0, 0, 0
paladd = add_r, add_g, add_b (целое)
palmul = mul_r, mul_g, mul_b (плавающие числа)
Эти параметры уточняют эффекты палитры, которые приняты повторно для удавшихся
фрэймов в щлейфе в одном применении этих эффектов палитры, первые компоненты paladd
добавляются к палитре шлейфа, затем компоненты умножаются умножателем palmul.
Умолчания:
paladd = 10, 10, 25
palmul = .65, .65, .65
timegap = значение (целое)
Этот параметр контролирует, как много фрэймов пропускать между сохранениями фрэймов
игрока для истории буфера при отображении шлейфа. По умолчанию 1 (фрэймы не
пропускаются). Чтоб сохранить каждый третий фрэйм (для примера), вы должны
использовать timegap = 3.
framegap = значение (целое)
Каждый указанный фрэйм в истории буфера будет отображѐн как шлейф. Для примера,
если framegap = 4 (по умолчанию), затем первый, пятый, девятый, … фрэймы истории
буфера будут отображены как шлейфы.
trans = тип (ограничение)
Уточняет тип прозрачности для шлейфов. Действительными типами являются «none» для
непрозрачного шлейфа, «add», «add1» и «sub».
AfterImageTime
AfterImageTime
Изменяет продолжительность эффектов шлейфа игрока, если шлейф в данный момент
активен. Если в данный момент нет активного шлейфа, этот контроллер не подействует.
Известные баги: если параметр timegap в первоначальном AfterImage-контроллере не
равняется единице, использование этого контроллера заставит все местоположения
фрэймов перезапуститься.
Необходимые параметры:
32 / 104
time = новая_продолжительность (целое)
Выбирается новое число тиков для отображения шлейфа, по окончанию тиков он уберѐтся с
экрана.
Альтернативный синтаксис:
value = новая_продолжительность (целое)
AllPalFX
AllPalFX
То же, что и PalFX, исключая действие палитры арены и лайфбаров, также, как и палитру
всех бойцов и эксплодов (не считая параметра ownpal). Смотрите секцию PalFX для деталей
на параметры AllPalFX.
AngleAdd
AngleAdd
Добавляет для изображения угол поворота, используемый AngleDraw.
Необходимые параметры:
value = добавить_угол (плавающее число)
Угол должен быть заданным в градусах.
AngleDraw
AngleDraw
Рисует игрока (на 1 фрэйм), развѐрнутым по его оси, выбранной контроллером AngleSet.
Когда рассматривается в правую сторону, положительный угол означает поворот против
часовой стрелки.
Дополнительные параметры:
value = угол (плавающее число)
Выбор угла рисования.
scale = х_масштабирование, у_масштабирование (плавающие числа)
Масштабирует спрайт игрока.
Примечание: Поворот/масштабирование не подействует на рамки столкновений.
AngleMul
AngleMul
33 / 104
Умножает рисование с углом поворота, используемый AngleDraw указанным фактором.
Необходимые параметры:
value = умножатель_угла (плавающее число)
Умножает угол рисования.
AngleSet
AngleSet
Выбирается угол поворота рисования, используемый AngleDraw. Угол инициализирован
возле нуля.
Необходимые параметры:
value = угол (плавающее число)
Угол должен быть задан в градусах.
AppendToClipboard
AppendToClipboard
Это то же самое, что и DisplayToClipboard, исключая добавление текстового сообщения на
новую линию, вместо переписывания любого текста уже на доске отображения. Смотрите
DisplayToClipboard для описания формата.
AssertSpecial
AssertSpecial
Этот контроллер позволяет утвердить три специальных флага одновременно. Муген будет
автоматически разутверждать каждый флаг во время любого игрового тика, поэтому вы
должны утверждать флаг для каждого игрового тика, который будет активен по вашему
желанию.
Необходимые параметры:
flag = имя_флага
имя_флага является уточнительным ограничением для утверждения флага.
Дополнительные параметры:
flag2 = имя_флага2
flag3 = имя_флага3
Вы можете утвердить три флага одновременно.
34 / 104
Детали:
Имя флага может быть одним из следующих:
-intro
Говорит мугену, что боец сейчас находится в выполнении интро-позы.Должен быть
утверждѐн на каждый игровой тик, пока выполняется интро.
-invisible
Делает бойца невидимым, пока утверждено. Не имеет воздействия на шлейф.
-roundnotover
Говорит мугену, что боец выполняет выигрышную стойку. Должно быть утверждено, пока
выполняется выигрышная стойка (на каждый игровой тик).
-noBG
Отключает спрайты арены. Экран становится чѐрного цвета.
-nostandguard
Пока утверждено, отключает блок стоя для бойца.
-nocrouchguard
Пока утверждено, отключает блок сидя для бойца.
-noairguard
Пока утверждено, отключает блок в воздухе для бойца.
-noautoturn
Пока утверждено, остерегает бойца от автоматического поворота к лицу оппонента.
-nojugglecheck
Пока утверждено, отключает проверку ловкости. Второй игрок может «фокусничать» без
учѐта
очков ловкости.
-nokosnd
Подавляется проигрывание звука 11,0 (звук выигрыша) для игроков, которые уже
повержены.
35 / 104
Для игроков, у которых выигрышный звук производит эхо, nokosnd должен быть утверждѐн
для 50 или больше тиков после повержения игрока в порядке подавления всех эхо.
-nokoslow
Пока утверждено, остерегает муген от показа конца раунда в замедленном движении.
-noshadow
Пока утверждено, отключает отображение всех теней игрока.
-globalnoshadow
Отключает отображение теней всех игроков, хелперов и эксплодов.
-nomusic
Пока утверждено, приостанавливается проигрывание музыки на арене.
-nowalk
Пока утверждено, игрок не может выполнить его стэйт прогулки (ходьбы), за исключением,
если он имеет контроль. Используйте, чтоб предовратить переход стэйтов бега на ходьбу.
-timefreeze
Пока утверждено, останавливает таймер раунда. Полезен для предостережения в раунде
отсчѐта
времени в центре заставки.
-unguardable
Пока утверждено, все утверждѐнные хитдэфы игрока становятся неблокируемыми, так как
их хитфлаги игнорируются.
AttackDist
AttackDist
Изменяет значение параметра guard.dist в текущем хитдэфе игрока. Guard.dist это
расстояние по Х от первого игрока, на котором второй игрок уходит в стэйт блока, если он
зажимает направление в сторону от первого игрока. Если в данный момент первый игрок не
имеет активного хитдэфа, тогда AttackDist не имеет эффекта.
Необходимые параметры:
value = расстояние_блока (целое)
Дистанция блока, в пикселях.
36 / 104
AttackMulSet
AttackMulSet
Выбирается умножатель атаки игрока. Все повреждения, нанесенные игроком,
масштабируются этим количеством.
Необходимые параметры:
value = умножатель_атаки (плавающее число)
Уточняет желаемый умножатель. Для примера, если умножатель_атаки равняется 2,
наносится двойной ущерб.
BGPalFX
BGPalFX
То же, что и PalFX, исключая воздействие палитры арены и лайфбаров вместо палитры
бойца. Смотрите секцию PalFX для деталей на параметры BGPalFX.
BindToParent
BindToParent
Если игрок – хелпер, привязывает этого игрока на назначенную дистанцию относительного
его родителя. Если игрок не является хелпером, контроллер бесполезен.
Дополнительные параметры:
time = время_привязки (целое)
Уточняет количество тиков, на протяжении которых привязка будет эффективной. По
умолчанию 1.
facing = флаг_облицовки (целое)
Если -1, заставляет игрока смотреть в противоположную сторону относительно родителя на
протяжении времени привязки. Если 1, игрок будет развѐрнут в ту же сторону, что и его
родитель на протяжении времени привязки. Если 0, игрок не будет подчиняться действиям
родителя. По умолчанию 0.
pos = позиция_х, позиция_у (плавающие числа)
Эти параметры уточняют смещения (от осей родителя) для привязки. По умолчанию 0,0.
Примечание: если родитель игрока уничтожен (например, если это хелпер и выполняется
DestroySelf), после этого эффект BindToParent пропадает.
BindToRoot
BindToRoot
37 / 104
Если игрок - хелпер, привязывает игрока к назначенной позиции относительно его корня.
Если игрок – не хелпер, контроллер не подействует.
Дополнительные параметры:
time = время_привязки (целое)
Назначает число тиков эффективной привязки. По умолчанию 1.
facing = флаг_облицовки (целое)
Если -1, заставляет игрока быть развѐрнутым в противоположную сторону относительно
его корня на протяжении времени привязки. Если 1, игрок будет развѐрнут в ту же сторону,
что и его корень, на протяжении времени привязки. Если 0, разворот игрока не будет
зависеть от его корня. По умолчанию 0.
pos = позиция_х, позиция_у (плавающие числа)
Эти параметры уточняют смещения (от осей корня) для привязки. По умолчанию 0,0.
Примечание: если родитель игрока уничтожен (например, если это хелпер и выполняется
DestroySelf), после этого эффект BindToRoot пропадает.
BindToTarget
BindToTarget
Привязывает игрока к уточнѐнной позиции относительно назначенной цели.
Дополнительные параметры:
time = время_привязки (целое)
Назначает количество тиков, на протяжении которых привязка будет эффективной.
ID = идентификатор_привязки (целое)
Назначает идентификационный номер для привязки к цели. По умолчанию -1 (выбирается
любая цель).
pos = позиция_х, позиция_у (плавающие числа), тип_позиции (ограничение)
позиция_х и позиция_у назначают смещения (от точки привязки) для привязки. Точка
привязки по умолчанию соответствует оси цели.
Если тип_позиции «Foot», то точка привязки – это ось цели. Если тип_позиции «Head»,
то точка привязки – это голова цели. В последних двух случаях точка привязки
определяется из значений параметров head.pos и mid.pos в CNS-файле цели. Точка привязки
не гарантирует точного сопоставления с головой и торсом цели.
ChangeAnim
38 / 104
ChangeAnim
Изменяет номер действующей анимации игрока.
Необходимые параметры:
value = номер_анимации (целое)
Номер анимации, на которую поменяется текущая анимация.
Дополнительные параметры:
elem = номер_элемента (целое)
Номер элемента анимации, с которого начнѐтся действие.
ChangeAnim2
ChangeAnim2
То же, что и ChangeAnim, исключая, что этот контроллер будет использован, если вы
разместили второго игрока в заказанном стэйте через удар и желаете изменить анимацию
второго игрока на указанную из air-файла первого игрока. Для примера, когда делаются
броски,
используйте это для изменения происходящей анимации броска второго игрока.
ChangeState
ChangeState
Изменяет номер стэйта игрока.
Необходимые параметры:
value = номер_стэйта (целое)
Номер стэйта, на который сменится текущий стэйт.
Дополнительные параметры:
ctrl = флаг_контроля (целое)
Это значение для выбора флага контроля игрока. 0 – отсутствие контроля, не ноль – его
наличие.
anim = номер_анимации (целое)
Номер анимации, на который происходит переключение. Если не учтено, анимация игрока
останется без изменений.
Образец: изменяется на стэйт стойки и даѐт контроль игроку:
39 / 104
type = ChangeState
value = 0
ctrl = 1
ClearClipboard
ClearClipboard
Стирается любой текст, текущий, в буфере отображения игрока.
CtrlSet
CtrlSet
Выбирается флаг контроля игрока.
Необходимые параметры:
value = флаг_контроля (целое)
Выбирается не нулевое значение для осуществления контроля, 0 – для его отключения.
DefenceMulSet
DefenceMulSet
Выбирается умножатель защиты игрока. Весь полученный игроком ущерб масштабирутеся
(обоюдно) этой суммой.
Необходимые параметры:
value = умножатель_защиты (плавающее число)
Назначает умножатель защиты. Для примера, если умножатель_защиты = 2, будет только
половина ущерба.
DestroySelf
DestroySelf
Если вызван игрок в качестве хелпера, DestroySelf заставляет этого игрока убраться с поля
игры. DestroySelf не действителен для игроков, которые не являются хелперами.
Для мугена 1.1 доступно 2 дополнительные опции этого контроллера
recursive = если 1 то все хелперы, вызванные данным хелпером, тоже будут уничтожены
если 0 то не будут
removeexplods = если 1, то все эксплоды которые были задействованы в хелпере, тоже
будут уничтожены вместе с ним.
Если одно временно обе опции задействованы - будут уничтожаться все вызванные данным
хелпером хелперы и их эксплоды тоже.
DisplayToClipboard
40 / 104
DisplayToClipboard
Этот контроллер используется только для отладки. Очищает буфер игрока и печатает
указанное
сообщение для этого. Отображение буфера игроков включено в отладочном режиме
(нажмите Ctrl + D).
Необходимые параметры:
text = «форматное_ограничение»
форматное_ограничение должно быть взято в кавычки. Это форматное ограничение printff,
так что если вы знаете о printff, можете пропустить это описание. Форматное ограничение
содержит любой текст, который вы желаете отобразить. Вы также можете использовать \n,
чтобы создать линию-обрыв, и \t для создания ярлыка-буквы (ширина ярлыка эквивалентна
4-м буквам). Чтоб отобразить значение арифметического выражения, вы должны поместить
%d (для целых) или %f (для плавающих) в формате ограничения, затем указать выражение
в списке параметров. Чтоб отобразить %буква, вы должны поместить %% в форматное
ограничение.
Дополнительные параметры:
params = выражение_1, выражение_2, выражение_3, выражение_4, выражение_5
В форматном выражении может быть назначено до пяти числовых аргументов. Они
должны быть в списке под пунктами параметров, по порядку. Тип каждого параметра
должен соответствовать форматному указателю. Вы не можете назначить больше или
меньше параметров, чем вызываемых в форматном ограничении.
Образец:
type = DisplayToClipboard
text = “The value of var(17) is %d? which is %f%% of 23.\n\t -- Kiwi.”
params = var(17):=1, var(17)/.230
отобразит следующее в буфере игрока:
The value of var(17) is 1, which is 4.347826% of 23.
-- Kiwi
EnvColor
EnvColor
Превращает весь экран в сплошной цвет, исключая слой переднего плана (его анимации) в
этом
же роде, как и вспышки ударов и эксплоды с параметром ontop. Слои переднего плана не
будут видимыми.
Дополнительные параметры:
41 / 104
value = цвет_красный, цвет_зелѐный, цвет_синий (целые)
Указывает красный, зелѐный и синий компоненты цвета для экрана. Каждый компонент
должен быть целым числом от 0 до 255. Больший компонент, больше этого цвета – станет
окружающим цветом. По умолчанию 255, 255, 255 (чисто белый).
time = эффективное_время (целое)
Указывает, как много тиков будет эффективным отображающийся цвет. По умолчанию 1
тик. Выберите -1, чтобы EnvColor был устойчив бесконечно.
under = флаг _«под» (целое)
Выберите 1, чтоб окружающий цвет был нарисован под бойцами и файрболлами. Другими
словами, бойцы и файрболлы будут видимыми поверх закрашенного участка. По
умолчанию 0.
EnvShake
EnvShake
Заставляет экран трястись.
Необходимые параметры:
time = время_тряски (целое)
Указывает число тиков тряски экрана.
Дополнительные параметры:
freq = частота_тряски (плавающее число)
частота_тряски это плавающее число между 0 (медленная тряска) и 180 (быстрая тряска).
По умолчанию 60.
ampl = амплитуда_тряски (целое)
Более высокая амплитуда – более отдалѐнно экран встряхивается вниз и вверх.
Отрицательная амплитуда означает, что экран сперва будет трястись вниз. По умолчанию
-4.
phase = фазовое_смещение (плавающее число)
Указывает фазу смещения для встряхивания. По умолчанию 0; если умножатель частоты 90
или выше, в этом случае по умолчанию фаза смещения 90.
Explod
Explod
42 / 104
Контроллер Explod является гибким инструментом для отображения анимаций в качестве
вспышек. Его функциональность включает в себя GameMakeAnim, который уже устарел.
Необходимые параметры:
anim = [F] номер_анимации (целое)
Указывается номер анимации для еѐ выполнения. Префикс F является дополнительным:
если учтѐн, анимация будет проигрываться из fightfx.air.
Дополнительные параметры:
ID = идентификатор (целое)
Идентификатор указывает идентификационный номер для этого эксплода. Полезен в
основном с триггером NumExplod и контроллером RemoveExplod.
space = screen или stage - поддерживаться только мугеном 1.1
Специализирует координаты в пространстве, где эксплож будет создан. Имеет 2 значения:
screen - координата появляеться в пространстве экрана. Верхний-левый угол это координата
0,0 и правый-нижний угол это ScreenWidth,ScreenHeight (используйте тригеры с этими
именами). Експлоды, создаваимые в пространстве экрана, не реагируют на зум и
перемещение камеры.
stage - координата появляеться в пространстве арены. 0,0 это центр арены на уровене
земли. Експлоды создаваимые в пространстве арены, реагируют на движение камеры и зум.
Являеться значентем по умолчанию
pos = позиция_х, позиция_у (целые)
Эти параметры указывают смещение, создаваемое для эксплода. Точное поведение зависит
от типа позиции postype. Если эти параметры не учтены, то по умолчанию 0,0.
postype = ограничение - параметр устарел в мугене 1.1
Ограничение указывает тип позиции – как интерпретировать параметры pos. Во всех
случаях положительное смещение Y означает перемещение вниз. Действительные значения
для postype следующие:
-p1
Интерпретирует положение относительно оси первого игрока. Положительное смещение Х
происходит впереди первого игрока. Это ограничение берѐтся по умолчанию.
-р2
Интерпретирует положение относительно оси второго игрока. Положительное смещение Х
43 / 104
происходит впереди второго игрока.
-front
Интерпретирует позицию_х относительно края экрана, который видится первым игроком
впереди себя, и позиция_у соответствует верхушке экрана. Положительное смещение Х –
вдали от центра экрана, тогда как отрицательное смещение Х – впереди около центра.
-back
Интерпретирует позицию_х относительно края экрана, которая видится позади себя первым
игроком, и позиция_у соответствует верхушке экрана. Положительное смещение Х
происходит в центре экрана, тогда как отрицательное смещение Х - далеко от центра.
-left
Интерпретирует позицию_х и позицию_у относительно левого верхнего угла экрана.
Положительное смещение Х происходит с правой стороны экрана (направо).
-right
Интерпретирует позицию_х и позицию_у относительно правого верхнего угла экрана.
Положительное смещение Х происходит с левой стороны экрана (налево).
facing = облицовка (целое)
Выбор облицовки 1 будет иметь место для эксплода стоять лицом в том же направлении,
что и положительное смещение Х (определѐнное типом позиции), и -1, если он был
развѐрнут в противоположную сторону. По умолчанию 1.
vfacing = вертикальная_облицовка (целое)
Выбрать -1, чтобы эксплод был вертикально перевѐрнут, или 1, чтоб эксплод не
переворачивался по вертикали. По умолчанию 1, если не учтено.
bindtime = время_привязки (целое)
Указывает количество игровых тиков, чтобы привязывать эксплод к точке привязки,
указанной типом позиции. Для примера, если postype = p1, pos = 30, -40 и bindtime = 5, то
эксплод будет отображѐн на позиции 30, -40 относительно оси первого игрока на 5 тиков,
не имеет значения, как первый игрок движется в это время. После того, как время привязки
истечѐт, эксплод не будет дольше привязан к точке привязки и сохранит эту позицию
(кроме воздействия параметров vel или accel). Если bindtime = -1, затем эксплод будет
привязан навсегда.
bindID = идентификатор (целое) - поддерживаться только мугеном 1.1
ID номер игрока или хелпера для привязки. Позиция привязки эксплода, зависит от обьекта
к которому он был привязан. Специальные значения: -1 (привязаться к любому одиночному
игроку) -2 (не привязываться). bindtime параметр необходим если не -2. Эксплод со space =
44 / 104
screen, не может быть привязан
vel = скорость_х, скорость_у (плавающие числа)
Указывает первоначальные X- и Y-компоненты скорости эксплода. Они интерпретированы
соответственно направлению облицовки (facing) эксплода. По умолчанию 0,0.
accel = ускорение_х, ускорение_у (плавающие числа)
Указывает Х- и Y-компоненты ускорения для эксплода. По умолчанию 0,0.
random = случайная_позиция_х, случайная_позиция_у (плавающие числа)
Заставляет точку привязки эксплода быть перемещѐнной случайной суммой, когда создан.
случайная_позиция_х указывает диапазон перемещения по направлению оси Х, а
случайная_позиция_у – по направлению оси Y. Для примера, если pos = 0, 0 и random = 40,
80,
тогда местонахождение Х эксплода будет случайным числом между -20 и 19, а его
местонахождение Y будет случайным числом между -40 и 39. Оба аргумента по умолчанию
равны 0, если не учтены.
removetime = время_убирания (целое)
Если время_убирания положительное, эксплод будет убран за указанное количество
игровых тиков. Если -1, эксплод будет отображаться бесконечно. Если -2, эксплод будет
убран, когда время анимации истечѐт.
supermove = значение (булево, 0 или 1)
(устаревший параметр, используйте вместо него supermovetime)
Выбрать 1, чтобы эксплод был устойчив до тех пор, пока не закончится суперпауза, не
учитывая removetime. По умолчанию 0.
supermovetime = время_движения (целое)
Определяет количество тиков для «разморозки» эксплода на протяжении суперпаузы. Часто
полезно, если вы хотите, чтобы эксплод был анимирован во время суперпаузы, как и
обычные супервспышки.
pausemovetime = время_движения (целое)
Определяет количество тиков для «разморозки» эксплода во время паузы. По умолчанию 0.
scale = масштабирование_х, масштабирование_у (плавающие числа)
масштабирование_х и масштабирование_у указывают факторы масштабирования, для
применения их к эксплоду в горизонтальном и вертикальном направлениях. Оба по
умолчанию 1 (без масштабирования), если не учтены.
45 / 104
angle = угол (плавающее число) поддерживаться только мугеном 1.1
задает угол рисования эксплода в градусах. По умолчанию 0
yangle = y_угол (плавающее число) поддерживаться только мугеном 1.1
задает угол рисования эксплода в градусах вокруг оси у. По умолчанию 0
xangle = x_угол (плавающее число) поддерживаться только мугеном 1.1
задает угол рисования эксплода в градусах вокруг оси х. По умолчанию 0
sprpriority = приоритетность (целое)
Указывает приоритетность рисования эксплода. Анимации с более высокой
приоритетностью будут нарисованы поверх анимаций с более низкой приоритетностью.
Для примера, если sprpriority = -3, то при этом эксплод будет показываться под
большинством бойцов и их эксплодами, которые обычно имеют приоритетность >= -2. По
умолчанию 0, если не учтено.
ontop = значение (булево, 0 или 1)
Выбрать 1, чтобы эксплод был прорисован поверх всех спрайтов и слоев арен. Этот
параметр имеет превосходство над sprpriority. По умолчанию 0.
shadow = тень_красная, тень_зелѐная, тень_синяя (целые)
Указывает красный, зелѐный и синий компоненты тени эксплода. Действительные значения
для каждого компонента 0-255. Чем выше значение компонента, тем меньше цвета будет
отображено на тени, чтобы использовать цвет тени уровня, выбрать тень_красная как -1. По
умолчанию 0, 0, 0 (нет тени).
ownpal = значение (булево, 0 или 1)
Выбрать 1, чтобы дать эксплоду собственную копию палитры. Это желательно, если вы
хотите сохранить временные изменения по отношению к палитре игрока, такие как
восстановление из падения или использование контроллера PalFX, от воздействия цвета
эксплода. По умолчанию 0, если не учтено.
remappal = номер_групы_палитры, номер_палитры_в групе. (int, int)
указывает источник замены палитры эксплода с индексироваными цветами спрайта на
другую палитру. Этот параметр используеться только если ownpal не 0 и не используеться
анимация из fight.def. Если номер групы палитры = -1, этот параметр будет игнорироваться.
По умолчанию -1,0
removeongethit = значение (булево, 0 или 1)
Выбрать1 – эксплод будет убран, если игрок получает удар. По умолчанию 0.
46 / 104
ignorehitpause = значение (булево, 0 или 1)
Если 1, эксплод будет анимирован независимо от игрока, которым он был создан. Если 0,
он не будет изменѐн, когда игрок находится в паузе при ударе. По умолчанию 1.
trans = тип_прозрачности (ограничение)
Переопределяет настройки прозрачности анимации эксплода. Смотрите контроллер Trans
для деталей. Параметр «alpha» должен быть указан, если тип_прозрачности addalpha. Если
не учтено, прозрачности не будет.
в мугене 1,1 эквивалентами параметрами которые могут заменить postype есть:
postype = p1
space = stage
pos = Pos X + CameraPos X, Pos Y
facing = facing
postype = p2
space = stage
pos = (enemynear, Pos X) + CameraPos X, (enemynear, Pos Y)
facing = enemynear, facing
postype = front
space = screen
pos = ifelse(facing = -1, 0, ScreenWidth), 0
facing = 1
postype = back
space = screen
pos = ifelse(facing = 1, 0, ScreenWidth), 0
facing = facing
postype = left
space = screen
pos = 0, 0
facing = 1
postype = right
space = screen
pos = ScreenWidth, 0
facing = 1
ExplodBindTime
ExplodBindTime
Изменяет позицию времени привязки эксплодов игрока.
Дополнительные параметры:
47 / 104
ID = идентификатор (целое)
Только эксплоды с идентификационным номером, равным указанному идентификатору,
будут выполнять их позиционную привязку. Выбрать ID = -1 для выполнения привязки ко
всем эксплодам. Это является поведением по умолчанию.
time = время_привязки (целое)
Указывает количество тиков, на протяжении которых эксплоды будут привязаны к их
точкам привязки (назначенные во время создания эксплодов). По умолчанию 1 тик. Время
-1 привязывает эксплоды бесконечно.
Альтернативный синтаксис:
value = время_привязки (целое)
Нужно использовать вместо параметра time = время_привязки.
ForceFeedBack
ForceFeedBack
Создаѐт принудительную обратную связь для поддерживаемых устройств. Сейчас
устройства типа PlayStation dual shock–контроллеров используют поддержку этого движка.
Параметры для ForceFeedBack-контроллера могут не указываться использованием
арифметических выражений.
В данном роде это исключение.
Дополнительные параметры:
waveform = тип_волны (ограничение)
Действительные формы волн – «sine», «square» и «off». Для контроллера Dual Shock
синусоидальная форма волны соответствует огромному грохочущему мотору и квадратная
– гудущему мотору. Синусоидально-квадратная, естественно, соответствует обеим моторам
одновременно. Используйте «off», чтобы отключить любую принудительную обратную
связь для текущего выполнения. По умолчанию «sine».
time = продолжительность (целая постоянная)
Указывает, как долго принудительная обратная связь будет оставаться активной, в тиках.
По умолчанию 60.
freq = старт (целая постоянная), d1, d2, d3 (плавающие константы)
Частота обратной принудительной связи между 0 и 255. Использована формула, чтобы
определить частоту принудительной обратной связи:
start + d1*t + d2*t **2 +d3*t**3 ,
где t представляет количество тиков, прошедших с инициализации принудительной
48 / 104
обратной связи. По умолчанию freq = 128, 0, 0, 0.
В текущий момент параметр частоты полностью игнорируется.
ampl = старт (целая постоянная), d1, d2, d3 (плавающие константы)
Амплитуда принудительной обратной связи варьируется между 0 и 255. Используется
следующая формула:
start + d1*t + d2*t **2 +d3*t**3 ,
где t представляет количество тиков, прошедших с инициализации принудительной
обратной связи. По умолчанию ampl = 128, 0, 0, 0.
self = свой_флаг (булево, 0 или 1)
Если 1, тогда джойстик/пад первого игрока будет вибрировать. Если 0 – будет вибрировать
у второго игрока. По умолчанию 1.
Смотрите образец в файле common1.cns.
FallEnvShake
FallEnvShake
Трясѐт экран, используя параметры fall.envshake, выбранные атакой (смотрите контроллер
HitDef). Этот контроллер эффективен только, если GetHitVar (fall.envshake.time) не ноль, и
выбирается нулевой GetHitVar после выполнения. Этот контроллер использован в
common1.cns для тряски экрана, когда игрок падает, по-другому, в нормальных условиях,
не используется.
Смотрите образец в файле common1.cns.
GameMakeAnim
GameMakeAnim
Создаѐт игровую анимацию в качестве вспышки удара или как эффект файрболла. Этот
контроллер был заменѐн эксплодом, что абсолютно обдуманно. Его поддержка может быть
убрана из будущих версий.
Дополнительные параметры:
value = номер_анимации (целое)
Указывает номер анимации (из fightfx.air) как таковую для проигрывания. По умолчанию 0.
under = флаг_“под” (целое)
Если 1, анимация рисуется под спрайтами бойца. По умолчанию 0 (рисуется на бойцах).
pos = позиция_х, позиция_у (плавающие числа)
Указывает позицию для отображения анимации, соответственно оси игрока. По умолчанию
0,0.
49 / 104
random = случайная_сумма (целое)
Позиция анимации будет перемещена в Х- и Y-направлениях случайными суммами.
Перемещение может быть таким же большим, как и половина случайной суммы.
Принимайте параметр случайная_сумма как указание совокупной возможной
«протяженности» в позициях случайно перемещаемых анимаций. По умолчанию 0.
Gravity
Gravity
Ускоряет игрока вниз, используя значение постоянной «yaccel» игрока.
Образец: принимает постоянное ускорение через стэйт:
trigger1 = 1
type = Gravity
Helper
Helper
Создаѐт другой пример игрока в качестве помощника (хелпера).
Дополнительные параметры:
helpertype = ограничение - в мугене 1.1 этот параметр устарел
(возражение: не используйте хелпер типа player)
Если helpertype = normal , то хелпер будет позволять отъезжать для края экрана. Кроме того,
камера не будет двигаться, пытаясь сохранить хелпер на экране. Если helpertype = player ,
тогда хелпер будет двигаться вместе с камерой по экрану, как нормальный игрок. По
умолчанию normal. Если вы планируете использовать хелпер для управления камерой, не
используйте хелпер типа player (это не рекомендовано). Используйте контроллер
ScreenBound с параметром movecamera , если необходимо.
name = «ограничение_имени»
Указывает имя для этого хелпера, которое должно быть взятым в двойные кавычки. Если не
учтено, имя по умолчанию «<имя бойца>’s helper».
ID = идентификатор (целое)
Выбирает идентификационный номер, посылаясь на этот хелпер. По умолчанию 0.
pos = позиция_х, позиция_у (целое)
Эти параметры указывают смещение, создаваемое для хелпера. Точное поведение зависит
от типа позиции postype. Если эти параметры не учтены, то по умолчанию 0,0.
postype = ограничение
50 / 104
Ограничение указывает тип позиции – как интерпретировать параметры pos. Во всех
случаях положительное смещение Y означает перемещение вниз. Действительные значения
для postype следующие:
-p1
Интерпретирует положение относительно оси первого игрока. Положительное смещение Х
происходит впереди первого игрока. Это ограничение берѐтся по умолчанию.
-р2
Интерпретирует положение относительно оси второго игрока. Положительное смещение Х
происходит впереди второго игрока.
-front
Интерпретирует позицию_х относительно края экрана, который видится первым игроком
впереди себя, и позиция_у соответствует верхушке экрана. Положительное смещение Х –
вдали от центра экрана, тогда как отрицательное смещение Х – впереди около центра.
-back
Интерпретирует позицию_х относительно края экрана, которая видится позади себя первым
игроком, и позиция_у соответствует верхушке экрана. Положительное смещение Х
происходит в центре экрана, тогда как отрицательное смещение Х - далеко от центра.
-left
Интерпретирует позицию_х и позицию_у относительно левого верхнего угла экрана.
Положительное смещение Х происходит с правой стороны экрана (направо).
-right
Интерпретирует позицию_х и позицию_у относительно правого верхнего угла экрана.
Положительное смещение Х происходит с левой стороны экрана (налево).
facing = облицовка (целое)
Если postype = left или right, настройка facing = 1 повернѐт хелпера лицом вправо, и если -1
– то влево. Для всех других значений postype, исключая р2, если facing = 1 – хелпер будет
развѐрнут также, как и игрок. Если facing = -1, хелпер будет развѐрнут в
противоположную сторону. В случае postype = p2, облицовка будет иметь такой же эффект,
только применительно ко второму игроку. По умолчанию 1.
stateno = стартовый_стэйт (целое)
Определяет номер стэйта, из которого и будет работать хелпер. По умолчанию 0.
51 / 104
keyctrl = флаг_контроля (булево, 0 или 1)
Если 1, то хелпер способен читать команды, вводимые от игрока (с клавиатуры или
джойстика).
Также хелпер будет наследовать его коренной [State -1]. Если 0, то хелпер не будет иметь
доступа ко введѐнным командам, и не будет наследовать [State -1]. По умолчанию keyctrl =
0.
ownpal = флаг_палитры (булево, 0 или 1)
Если 0, хелпер будет наследовать палитру родителя. Если палитра родителя временно
изменена (например, посредством контроллера PalFX), изменения отразятся и на хелпере
тоже. Если 1, хелпер будет принимать собственную рабочую палитру, которая не зависит от
родительской. По умолчанию 0.
supermovetime = время_движения (целое)
Определяет количество тиков, по истечению которых хелпер «разморозится» на
протяжении паузы. По умолчанию 0.
remappal = номер_групы_палитры, номер_палитры_в групе. (int, int)
указывает групу и номер палитры которую хотим применить на хелпере.
size.xscale (плавающее число)
size.yscale (плавающее число)
size.ground.back (плавающее число)
size.ground.front (плавающее число)
size.air.back (целое)
size.air.front (целое)
size.height (целое)
size.proj.doscale (целое)
size.head.pos (целое, целое)
size.mid.pos (целое, целое)
size.shadowoffset (целое)
Эти параметры имеют такое же значение, как и соответствующие параметры в корневом
52 / 104
CNS-файле. Вы можете указать один или больше из этих параметров и менять их значения,
подходящие для этого хелпера. Иначе они будут взяты как значения по умолчанию,
наследованные от родителя.
HitAdd
HitAdd
Добавляет удары к текущему комбо.
Необходимые параметры:
value = добавить_счѐт (целое)
Указывает число ударов для добавления к текущему комбо.
Добавляет удары к текущему комбо.
Необходимые параметры:
value = добавить_счѐт (целое)
Указывает число ударов для добавления к текущему комбо.
HitBy
HitBy
Временно указывает типы ударов, что позволяют ударить игрока.
Необходимые параметры:
value = аттрибутное_ограничение
или
value2 = аттрибутное_ограничение
Только один из параметров может быть указан. Аттрибутное ограничение должно быть
стандартным ограничением для удара.
Дополнительные параметры:
time = время_эффективности (целое)
Указывает количество игровых тиков, на время которых аттрибуты HitBy будут
эффективными.
По умолчанию 1.
Детали:
Игрок имеет два слота аттрибутов удара, которые могут быть выбраны использованием
53 / 104
параметров value и value2 для этого контроллера. Эти слоты могут использоваться также
контроллером NotHitBy. Когда слот выбран, он получает таймер (эффективное время),
который ведѐт отсчѐт к нулю. Если таймер ещѐ не достиг нуля, слот считается активным.
Игрок может быть ударен только таким хитдэфом, аттрибуты которого появляются в
текущих активных слотах. Использование контроллера HitBy выбирает указанный слот для
содержания только этих аттрибутов удара, которые появляются в аттрибутных
ограничениях HitBy.
Образец: может быть атакован нормальными атаками стоя:
trigger1 = 1
type = HitBy
value = S, NA
HitDef
HitDef
Определяет одиночный удар атаки игрока. Если рамка столкновения (красная) Clsn1 идѐт в
контакт с рамкой столкновения (синяя) Clsn2 противника, то хитдэф будет определѐн (или
до той особой точки времени, когда указанный эффект будет принят). Это один из
наибольших комплексов, из наиболее обычно используемых контроллеров.
Одиночный хитдэф действителен только для одиночного удара. Чтобы сделать
несколько движений ударов, вы должны применить побольше триггеров на протяжении
атаки.
Необходимые параметры:
attr = аттрибут_удара (ограничение)
Это аттрибут атаки. Используйте для определения способа атаки второго игрока.
Имеет формат:
attr = аргумент1, аргумент2
где:
-аргумент1 является любым из «S», «C» или «А». Похоже на statetype для стэйтдэфа, - это
значит, является ли атака таковой стоя, сидя или с воздуха.
-аргумент2 является двузначным ограничением. Первое значение из которых может быть
«N» для «нормальный», «S» для «специальный», или «Н» для «гипер» (или для «супер», как
обычно известно). Второе значение может быть «А» для «атаки» (нормальная атака через
удар), «Т» для «броска» или «Р» для «файрболла».
hitflag = флаги_удара (ограничение)
Определяет тип стэйта, в котором должен находиться второй игрок при ударе первого
игрока. Это ограничение, состоящее из комбинации следующих значений: «Н» для
«высокий», «L» для «низкий» или «А» для «в воздухе». «М» (средний) эквивалентен
высказыванию «HL». «F» для «падения», и, если учтено, будет позволять применять удар
первым игроком по отношению к падающему оппоненту. «D» для «лежащего», и, если
54 / 104
учтено, позволяет первому игроку атаковать лежащего противника.
Есть два дополнительных знака «+» и «-». Если добавлен «+», то удар подействует на
игрока, находящегося в стэйте получения удара. Это должно быть полезно для цепных
движений, которые не подействуют на оппонентов, которые не будут атакованы первым
движением в цепной атаке. Если добавлен «-», то удар подействует на игроков, котрые не
находятся в стэйте получения удара. Вы должны использовать «-» для бросков и других
движений, которые не будут доступны для участия в комбо. «+» и «-» являются взаимно
исключающими друг друга, и, следовательно, не могут использоваться в один и тот же
момент времени. Если они не учтены, по умолчанию «MAF».
guardflag = флаги_блока (ограничение)
Определяет, как второй игрок должен блокировать атаку. Это ограничение, содержащее
комбинацию из следующих значений: «Н» для «высокий», «L» для «низкий», «А» для
«высокий». «М» (средний) то же, что и «HL».
Дополнительные параметры:
affectteam = тип_команды (ограничение)
Указывает, игрок какой команды может быть атакован этим хитдэфом. Используйте В для
обеих команд (всех игроков), Е для команды противника (оппонента) или F для
товарищеской команды (соответственно, вашей). По умолчанию Е.
animtype = тип_анимации (ограничение)
Ссылается на тип анимации, которую получит от атаки второй игрок. Выбирать из «light»
(лѐгкая), «medium» (средняя), «hard» (тяжѐлая), «heavy» (используется в основном в
хитдэфах добиваний), «back» (отбрасывающая), «up» (ориентирована вверх) или «diagup»
(вверх по диагонали). «back» является типом анимации, когда удар сбивает с ног второго
игрока. «up» должна использоваться, когда боец сбит прямо в воздухе (например,
апперкотом) и «diagup», когда боец сбит назад в воздухе, в том числе, когда приземляется
на голову. По умолчанию «light».
air.animtype = тип_анимации (ограничение)
Похоже на animtype, только второй игрок в этом случае должен находиться в воздухе. Если
не учтено, по умолчанию «light».
fall.animtype = тип_анимации (ограничение)
Похоже на animtype, только применительно к падающему противнику. По умолчанию up,
если air.animtype = up, - иначе – back.
priority = приоритет_удара (целое), тип_удара (ограничение)
Указывает приоритетность для этого удара. Удары с более высокой приоритетностью берут
верх над таковыми с более низкой. Действительные значения для приоритет_удара от1 до 7.
По умолчанию 4. тип_удара, если указан, даѐт класс приоритетности для удара.
Действительные классы приоритетности – это Dodge (уворачивание), Hit (удар) и Miss
55 / 104
(промах). Класс приоритетности определяет закрепленное поведение, когда оба игрока
бьют друг друга одновременно с одинаковыми приоритетами. Поведение следующее:
Hit против Hit : оба игрока удачно атакуют друг друга
Hit против Miss : Hit бьѐт, Miss промахивается
Dodge потив Dodge : обоюдный промах
Dodge против Miss : обоюдный промах
Miss против Miss : обоюдный промах
Hit против Dodge : обоюдный промах
В случае связок с обоюдным промахом, соответствующие хитдэфы остаются активными.
damage = ущерб_удара, ущерб_блока (целые)
Это ущерб, который второй игрок получает от удара. Дополнительный параметр
ущерб_блока – это ущерб, который получает второй игрок при блокировании этого удара.
По умолчанию 0, 0.
pausetime = р1_пауза, р2_тряска (целые)
Это время, когда оба игрока будут находиться в паузе при нанесении удара. р1_пауза - это
время «замораживания» первого игрока, выраженное в игровых тиках. р2_тряска – это
время, указывающее, как долго второй игрок будет трястись при отскакивании от удара. По
умолчанию 0, 0, если не учтено.
guard.pausetime = р1_пауза, р2_тряска (целые)
Похоже на pausetime, но в случае, когда удар сблокирован. По умолчанию 0, 0.
sparkno = номер_действия (целое)
Это номер анимации вспышки в случае удачного удара. Чтобы проиграть вспышку из
AIR-файла игрока, добавьте к номеру спереди S. По умолчанию значение выбирается в
переменных игрока, если не учтено.
guard.sparkno = номер_действия (целое)
Это номер анимации вспышки в случае сблокированного противником удара. Опции такие
же, как и в sparkno.
sparkxy = положение_вспышки_х, положение_вспышки_у (целые)
Координаты отображения вспышки, равносильно как при удачном ударе, так и при
сблокированном. положение_вспышки_х это координата относительно переда второго
игрока. Отрицательное значение располагает вспышку ближе ко второму игроку. «Перед»
ссылается на на положение Х возле оси второго игрока, которая сместится к первому
соответствием значения длины в группе [Size] переменных второго игрока.
положение_вспышки_у относится к первому игроку. Отрицательное значение располагает
вспышку выше. Вы можете использовать инструмент вроде AirWiev, чтобы определять это
значение положением курсора возле «пятна атаки» и выражением значения положения Y.
По умолчанию 0, 0, если не учтено.
56 / 104
hitsound = группа_звука, номер_звука (целые)
Это звук для проигрывания при ударе (из common.snd). Учтѐнный fight.snd позволит вам
выбрать от 5,0 (лѐгкий звук удара) до 5,4 («болезненный» звук удара). Чтобы проиграть
звук из собственного SND-файла игрока, добавьте префикс S. Например: hitsound = S1,0 .
По умолчанию значение выбирается в переменных игрока, если не учтено.
guardsound = группа_звука, номер_звука (целые)
Это звук, проигрываемый при блокируемом ударе (из common.snd). Опции аналогичны
hitsound.
ground.type = тип_атаки (ограничение)
Это вид атаки, применительно к находящемуся на полу второму игроку. Выбирать «High»
(высокий) для атак по голове, «Low» (низкий) для атак на подобии удара в живот, «Trip»
для атак-подсечек, или «None» для любого бездействия на второго игрока. Атаки «High» и
«Low» будут неэффективными, если animtype = back. Если второй игрок атакован из-под
низа, «High» будет отображѐн как «Low» и наоборот. По умолчанию «High», если не
учтено.
air.type = тип_атаки (ограничение)
Это вид атаки, если противник находится в воздухе. Условия и умолчания аналогичны к
ground.type.
ground.slidetime = время_скольжения (целое)
Это время в игровых тиках, сколько второй игрок будет скользить назад после получения
удара (это время не учитывает время паузы для второго игрока (pausetime)). Применимо
только для ударов, которые удерживают второго игрока на полу. По умолчанию 0, если не
учтено.
guard.slidetime = время_скольжения (целое)
То же самое, что и ground.slidetime, только если второй игрок блокирует удар. Условия и
умолчания такие же, как и у guard.hittime.
ground.hittime = время_удара (целое)
Время, на которое второй игрок остаѐтся в стэйте удара после получения оного. Увеличить
это значение для удержания второго игрока в стэйте удара на дольшее время, этим
возможно облегчить комбо. Применимо только для ударов, которые удерживают
противника на полу. По умолчанию 0, если не учтено.
guard.hittime = время_удара (целое)
То же, что и ground.hittime, только если второй игрок блокирует удар. Условия и умолчания
такие же, как у ground.hittime.
57 / 104
air.hittime = время_удара (целое)
Время, на которое второй игрок остаѐтся в стэйте удара после получения оного в воздухе,
до того, как будет способен блокировать опять. Этот параметр не эффективен, если fall = 1.
По умолчанию 20, если не учтено.
guard.ctrltime = время_контроля (целое)
Это время, по истечению которого второй игрок восстановит контроль в стэйте блока на
полу. Умолчания те же, что и в guard.slidetime.
guard.dist = расстояние_х (целое)
Это расстояние по оси Х от первого игрока, на котором второй игрок фиксирует
направление от первого игрока, переходя в стэйт блока. По умолчанию значение берѐтся из
переменных игрока, если не учтено.
yaccel = ускорение (плавающее число)
Указывает придаваемое второму игроку ускорение по оси Y при контактируемом ударе. По
умолчанию 0.
ground.velocity = скорость_х, скорость_у (плавающие числа)
Инициализирует придаваемую второму игроку скорость после получения удара, если
второй игрок находился на полу. Если скорость_у не нулевая, второй игрок будет подбит в
воздух с пола. Оба значения по умолчанию 0, если не учтены. Вы можете указать
скорость_у равной нулю, если хотите оставить второго игрока на полу.
guard.velocity = скорость_х (плавающее число)
Придаваемая второму игроку скорость, если он блокирует удар на полу. По умолчанию этот
параметр использует значение параметра ground.velocity, если не учтено.
airguard.velocity = скорость_х, скорость_у (плавающие числа)
Придаваемая второму игроку скорость, если он блокирует удар в воздухе. По умолчанию
скорость_х*1.5, скорость_у/2, где скорость_х и скорость_у – параметры, взятые из
air.velocity.
air.velocity = скорость_х, скорость_у (плавающие числа)
Инициализирует придаваемую второму игроку скорость после получения удара, если
второй игрок находился в воздухе. По умолчанию 0,0.
ground.cornerpush.veloff = скорость_х (плавающее число)
Определяет дополнительную скорость (скоростное смещение), придаваемую второму
58 / 104
игроку, если он находится на полу в углу. Настройка повышенного значения заставит
игрока отпрянуть подальше от угла. Если не учтено, по умолчанию зависит от параметра
attr. Если аргумент1 аттрибута attr указан как «А», то по умолчанию 0. Иначе по умолчанию
равен 1.3*guard.velocity.
air.cornerpush.veloff = скорость_х (плавающее число)
Определяет дополнительную скорость (скоростное смещение), придаваемую второму
игроку, если он делает для находящегося в воздухе оппонента удар в воздухе в углу.
Настройка повышенного значения заставит игрока отпрянуть подальше от угла. Умолчания
аналогичны ground.cornerpush.veloff.
down.cornerpush.veloff = скорость_х (плавающее число)
Определяет дополнительную скорость (скоростное смещение), придаваемую второму
игроку, если он делает падающему оппоненту удар в воздухе в углу. Умолчания
аналогичны ground.cornerpush.veloff.
guard.cornerpush.veloff = скорость_х (плавающее число)
Определяет дополнительную скорость (скоростное смещение), придаваемую второму
игроку, если его удар сблокирован в углу. Умолчания аналогичны ground.cornerpush.veloff.
airguard.cornerpush.veloff = скорость_х (плавающее число)
Определяет дополнительную скорость (скоростное смещение), придаваемую второму
игроку, если он делает удар в воздухе в углу для блокирующего оппонента. Умолчания
аналогичны ground.cornerpush.veloff.
airguard.ctrltime = время_контроля (целое)
Это время, по истечению которого второй игрок восстановит контроль в стэйте блока в
воздухе.
Умолчания те же, что и в guard.ctrltime.
air.juggle = очки_ловкости (целое)
Сумма дополнительных очков ловкости, требуемых ударом. Не путайте с параметром juggle
в стэйтдэфе. По умолчанию 0.
mindist = позиция_х, позиция_у (целые)
mахdist = позиция_х, позиция_у (целые)
Они позволяют вам контролировать минимальное и максимальное расстояние второго
игрока относительно первого, после того, как второй получил удар. Эти параметры обычно
не используются. По умолчанию без изменений в позиции второго игрока.
snap = позиция_х, позиция_у (целые)
59 / 104
это перемещает П2 в специальную позицию относительно П1 если удар удачный. В норме
этот параметр не используеться. Если вы хотите прикрепить П2 к конкретной позиции для
броска, то лучше использовать контроллер "TargetBind" в стейте броска П1. По умолчанию
парамеры не учитываеться
p1sprpriority = приоритет_прорисовки (целое)
Это приоритет прорисовки спрайтов первого игрока, если делаются удары или они
блокируются вторым игроком. Вместе с параметром p2sprpriority можно контролировать
прорисовку первого игрока за вторым игроком или на нѐм. По умолчанию 1.
p2sprpriority = приоритет_прорисовки (целое)
Это приоритет прорисовки спрайтов второго игрока, если делаются удары или они
блокируются вторым игроком. По умолчанию 0.
p1facing = облицовка (целое)
Выбрать -1, чтобы заставлять первого игрока оборачивать при удачном ударе. Обычно
полезно для бросков. По умолчанию оборачивания не будет.
p1getp2facing = облицовка (целое)
Выбрать 1, чтобы первый игрок был развѐрнут лицом в ту же сторону, что и второй игрок
при контактирующем ударе, или -1 – для поворота в противоположную сторону. По
умолчанию 0. Если не ноль, этот параметр берѐт превосходство над p1facing.
p2facing = облицовка (целое)
То же, что и p1facing, только применительно ко второму игроку.
p1stateno = номер_стэйта (целое)
Это номер стэйта, который будет выбран первым игроком в случае удачного удара. В
основном используется для бросков.
p2stateno = номер_стэйта (целое)
Это номер стэйта, который будет действовать на втором игроке в случае удачного удара.
Второй игрок при этом получит стэйты и анимации от первого. В основном используется
для бросков.
p2getp1state = значение (целое)
Выбрать 0, чтобы предотвратить получение вторым игроком стэйтов и анимаций первого
игрока, в случае, если вы не хотите, чтоб это было поведением по умолчанию за счѐт
параметра p2stateno. По умолчанию 1, если используется параметр p2stateno. В противном
случае будет игнорироваться.
60 / 104
forcestand = значение (целое)
Выберите 1, чтобы заставить перейти второго игрока из сидящего положения в стойку при
удачном ударе. По умолчанию 0 ; если скорость_у параметра ground.velocity не ноль, тогда
по умолчанию 1.
fall = значение (целое)
Выберите 1, если хотите, чтоб второй игрок переходил в стэйт падения (когда второй игрок
падает на пол без восстановления контроля в воздухе). Используйте, если хотите «сбить»
второго игрока.
fall.xvelocity = скорость_х (плавающее число)
Это скорость по оси Х, которую получает второй игрок при «отпрыгивании» от земли в
стэйте падения. По умолчанию не действует, если не учтено.
fall.yvelocity = скорость_y (плавающее число)
Это скорость по оси Y, которую получает второй игрок при «отпрыгивании» от земли в
стэйте падения. По умолчанию 4.5, если не учтено.
fall.recover = значение (целое)
Выбрать 0, если хотите, чтоб второй игрок был способен восстановиться из стэйта падения.
По умолчанию 1, если не учтено.
fall.recovertime = время_восстановления (целое)
Это время, которое должно пройти до того момента, пока второй игрок будет способен
восстановиться из стэйта падения. Не включает в себя время тряски второго игрока от
удара. По умолчанию 4, если не учтено.
fall.damage = сумма_ущерба (целое)
Показывает сумму ущерба, отбираемого у второго игрока при падении на пол из стэйта
падения. По умолчению 0, если не учтено.
air.fall = значение (целое)
Выбрать 1, если вы хотите, чтоб второй игрок перешѐл в стэйт падения (когда он падает на
пол без восстановления контроля в воздухе), если удар – в воздухе. Условия аналогичны
fall.
down.velocity = скорость_х, скорость_у (плавающие числа)
Это назначенная для второго игрока скорость, когда он бьѐтся о земь, пока ложится. Если
скорость_у не ноль, второй игрок будет ударен в воздухе. Если 0, то второй игрок будет
скользить по полу назад. Умолчания аналогичны air.velocity, если не учтены.
61 / 104
down.hittime = время_удара (целое)
Это время, на протяжении которого второй игрок будет скользить назад, пока лежит. Этот
параметре игнорируется, если скорость_у не равняется нулю в параметре down.velocity.
down.bounce = значение (целое)
Выбрать 1, если хотите, чтоб второй игрок отпрыгивал от пола один раз (используя
значения fall.xvelocity и fall.yvelocity) после ударения об пол от удара. Этот параметр
игнорируется, если скорость_у параметра down.velocity равняется нулю. По умолчанию 0,
если не учтено (второй игрок ударяется об пол и остаѐтся на нѐм).
id = идентификатор (целое)
В основном используется для цепных движений. Вы можете использовать этот номер для
дальнейшего обнаружения, если последний удар игрока был сделан этим особым хитдэфом.
Этот номер называется targetID. Используется в таких контроллерах, как TargetBind или в
target(ID), в перенаправлении ключевого слова. Действительны все значения >= 1. Если не
учтено, по умолчанию 0 (без ID). Не путайте targetID c playerID.
chainID = идентификатор (целое)
В основном используется для цепных движений. Если второй игрок был атакован
движением первого игрока с этим идентификационным номером, то потом он может быть
атакован только хитдэфом с этим chainID. Вы можете использовать его в последующих
частях цепного движения: обратите внимание, эти цепные движения остаются возможными
даже без использования параметров id и chainID. Если не учтено, по умолчанию -1 (цепь от
каждого удара).
nochainID = не_цепь_1, не_цепь_2 (целые)
Указывает до двух идентификационных номеров ударов, которые по цепочке не могут
перейти в этот удар. Если -1 (по умолчанию), тогда сцепление не точно отключает любые
идентификационные номера удара. не_цепь_2 может не учитываться. Исключая -1,
указанные значения не должны совпадать со значением chainID. Этот параметр не имеет
эффекта, если второй игрок ударен третьей группой между предыдущим и текущим
хитдэфом первого игрока.
hitonce = флаг_бить_единажды (булево, 0 или 1)
Если выбрать 1, хитдэф будет воздействовать только на одного оппонента. Если удар
удачный, все другие цели будут утеряны. По умолчанию 0 в большей части времени.
Только исключение, если параметр attr является типом броска – по умолчанию 1.
kill = флаг_гибели (целое)
Выбрать 0, если удар в случае удачного попадания не убьѐт оппонента. По умолчанию 1.
62 / 104
guard.kill = флаг_гибели_при_блоке (целое)
Выбрать 0, если удар в случае блокирования не убьѐт оппонента. По умолчанию 1.
fall.kill = флаг_гибели_при_падении (целое)
Выбрать 0, если эта атака не будет способна убить оппонента, пока он падает на пол
(смотрите fall.damage). По умолчанию 1.
numhits = счѐт_ударов (целое)
Счѐт удара показывает, как много ударов этот хитдэф может добавить к счѐтчику комбо. По
умолчанию 1.
getpower = р1_сила_при_атаке, р1_сила_при_блоке (целые)
р1_сила_при_атаке указывает количество силы, получаемой первым игроком при удачной
атаке этим хитдэфом. р1_сила_при_блоке указывает количество силы, получаемой первым
игроком при блокировании оппонентом этого хитдэфа. Если не учтено, р1_сила_при_атаке
равняется ущербу от удачного удара (из параметра damage) , умноженному на значение
Default.Attack.LifeToPowerMul, указанное в data/mugen.cfg. Если р1_сила_при_блоке не
учтено, то по умолчанию значение будет: 2* р1_сила_при_атаке.
givepower = р2_сила_при_атаке, р2_сила_при_блоке (целые)
р2_сила_при_атаке указывает количество силы, получаемой вторым игроком при удачной
атаке этим хитдэфом. р2_сила_при_блоке указывает получаемую вторым игроком силу при
блокировании этого хитдэфа. Если не учтено, р2_сила_при_атаке по умолчанию равняется
ущербу в случае сблокированного удара (из параметра damage), умноженному на значение
Default.GetHit.LifeToPowerMul, указанное в data/mugen.cfg. Если р2_сила_при_блоке не
учтено, то по умолчанию значение будет: 2* р2_сила_при_атаке.
palfx.time = время_фиксации_палитры (целое)
palfx.mul = красный1, зелѐный1, синий1 (целые)
palfx.add = красный2, зелѐный2, синий2 (целые)
palfx.sinadd = красный3, зелѐный3, синий3, период (целые)
Если активированы, позволяют применить эффекты изменения палитры на втором игроке.
время_фиксации_палитры по умолчанию 0 (без эффекта). Остальные параметры такие же,
как и в контроллере PalFX.
envshake.time = время_тряски (целое)
envshake.freq = частота_тряски (целое)
63 / 104
envshake.ampl = амплитуда_тряски (целое)
envshake.phase = фаза_тряски (плавающее число)
Если активированы, экран трясѐтся при одиночном ударе. время_тряски – время в игровых
тиках для тряски экрана. Остальные параметры такие же, как и в контроллере EnvShake.
fall.envshake.time = время_тряски (целое)
fall.envshake.freq = частота_тряски (целое)
fall.envshake.ampl = амплитуда_тряски (целое)
fall.envshake.phase = фаза_тряски (плавающее число)
Аналогично параметрам EnvShake, только в случае падения второго игрока на пол.
HitFallDamage
HitFallDamage
Когда игрок атакован и находится в стэйте падения, принимается ущерб от падения для
игрока (указан в хитдэфе атаки).
HitFallSet
HitFallSet
Когда игрок атакован, выбирает переменные падения этого игрока.
Дополнительные параметры:
value = флаг_выбора_падения (целое)
Если -1, тогда этот контроллер не даѐт изменений, не зависимо от того, падает игрок или
нет. Если 0, означает, что игрок не будет падать, а при значении 1 будет падать. По
умолчанию -1.
xvel = скорость_х (плавающее число)
yvel = скорость_y (плавающее число)
Если указано, выбирает соответственно параметры игрока – fall.xvelocity и fall.yvelocity.
Для описания этих параметров смотрите контроллер HitDef.
HitFallVel
HitFallVel
Если игрок атакован и находится в стэйте падения, выбирает скорости падения игрока для
64 / 104
параметров fall.xvelocity и fall.yvelocity. Для описания этих параметров смотрите
контроллер HitDef.
HitVelSet
HitVelSet
Когда игрок сделал удар, выбирает желаемые компоненты скорости игрока для
присваивания к скоростям получения удара.
Дополнительные параметры:
x = флаг_х (целое)
у = флаг_у (целое)
Флаг, отличный от нуля, означает изменение этого компонента скорости на скорость
получения удара.
LifeAdd
LifeAdd
Добавляет указанное количество жизни игроку, масштабированное умножателем защиты
игрока, если необходимо.
Необходимые параметры:
value = добавить_сумму (целое)
Указывает количество жизни, добавляемое к лайфбару игрока.
Дополнительные параметры:
kill = флаг_гибели (целое)
Если 0, то отнимание жизни не переступит отметку в 1 очко на лайфбаре. По умолчанию 1.
absolute = флаг_абсолютности (целое)
Если 1, будет добавлена точная сумма (добавить_сумму) к лайфбару игрока (умножатель
защиты игнорируется). По умолчанию 0.
LifeSet
LifeSet
Выбирается указанное значение жизни игрока.
Необходимые параметры:
65 / 104
value = количество_жизни (целое)
Указывает количество жизни, которое будет иметь игрок после выполнения этого
контроллера.
MakeDust
MakeDust - этот контроллер устарел, используйте Explod
Создаѐт эффект пыли.
Дополнительные параметры:
pos = положение_х, положение_у (целые)
Указывает положение, на котором будет нарисована пыль относительно оси игрока. По
умолчанию 0,0.
pos2 = положение_х, попложение_у (целые)
Указывает положение для одновременного рисования второго облака пыли. Если не учтено,
второе облако пыли не рисуется.
spacing = значение (целое)
Определяет число фрэймов для ожидания между рисованием облаков пыли. Для примера,
если spacing = 3 (по умолчанию), то облако пыли будет рисоваться каждый третий фрэйм.
Интервал должен быть >= 1.
Примечание: насколько известно, для работы этого контроллера необходима анимация
№120 из файла fightfx.air с соответствующим набором спрайтов.
ModifyExplod
ModifyExplod
Изменяет параметры существующего эксплода. Базовый синтаксис такой же, как и у
эксплода. Тем не менее, этот контроллер стоит под вопросом для использования в будущем.
Нет гарантии что коды этого контроллера будут работать в будущих версиях.
MoveHitReset
MoveHitReset
Сбрасывает флаг movehit к нулю. После выполнения этого контроллера триггеры
MoveContact, MoveGuarded и MoveHit становятся равными нулю.
NotHitBy
NotHitBy
Времени указывает типы ударов, которые не будут позволять ударить игрока.
66 / 104
Необходимые параметры:
value = аттрибутное_ограничение или value2 = аттрибутное_ограничение
Только один из вышеуказанных параметров может быть назначен.
аттрибутное_ограничение должно быть стандартным аттрибутным ограничением удара.
Дополнительные параметры:
time = эффективное_время (целое)
Указывает время, на протяжении которого заданные аттрибуты уклонения от ударов будут
эффективными. По умолчанию 1.
Детали:
Игрок имеет два слота аттрибутов ударов, которые могут выбрать использование
параметров value и value2 контроллера NotHitBy. Эти слоты также могут быть выбраны
контроллером HitBy. Когда слот выбирается, игрок получает таймер (эффективное время),
ведущий отсчѐт к нулю. Если таймер ещѐ не достиг нуля, слот считается активным. Игрок
может быть атакован хитдэфом, только если аттрибуты этого хитдэфа появятся во всех
текущих активных слотах. Использование этого контроллера выбирает указанный слот для
содержания всех аттрибутов, за исключением таковых, указанных в аттрибутном
ограничении.
Образец: игрок не может быть ударен всеми видами атаки:
trigger1 = 1
type = NotHitBy
value = SCA
Игрок не может быть удачно атакован нормальными атаками и всеи файрболлами:
trigger1 = 1
type = NotHitBy
value = NA, AP
Null
Null
Заставляет стейт не действовать. Полезно для временного отключения стэйт-контроллеров
простым изменением ихнего типа на Null.
Примичание: любые тригеры асоциированные с теми что в контролере, будут все ещѐ будут
восприниматься.
Так можно использовать этот контроллер что б задавать нужные в стейте параметры,
например, присваивать значения переменным, писать формулы.
Offset
Offset
67 / 104
Изменяет смещение отображения игрока. Игрок рисуется перемещѐнным от его оси этой
суммой.
Дополнительные параметры:
х = значение_х (плавающее число)
у = значение_у (плавающее число)
Указывает смещения по осям X и Y соответственно. Вы можете указать один или оба из
этих дополнительных параметров.
PalFX
PalFX
Принимает временные эффекты палитры игрока. Это также воздействует на любые
эксплоды и хелперы игрока, только если они не имеют ownpal = 1.
Дополнительные параметры:
time = длительность (целое)
Указывает количество тиков, на протяжении которых будут действовать эффекты палитры.
Указать -1, чтобы эффекты палитры были бесконечными. Указать 0, чтобы остановить
любые еѐ эффекты.
add = добавить_красный, добавить_зелѐный, добавить_синий (целые)
mul = умножить_красный, умножить_зелѐный, умножить_синий (целые)
Каждый дополнительный компонент добавляется для присвоения к компоненту палитры
игрока, и результат умножается дополнительно присвоенным умножающим компонентом,
разделѐнным на 256. Для примера, если добавить_красный является красным компонентом
оригинальной палитры игрока, то новым красным компонентом будет:
(красная_палитра + добавить_красный)*(умножить_красный)/256
Значения умножателя должны быть >= 0. Умолчания этих параметров для палитры без
изменений:
add = 0, 0, 0
mul = 256, 256, 256
sinadd = амплитуда_красного, амплитуда_зелѐного, амплитуда_синего, период (целые)
Создаѐт дополнительный синусоидальный эффект для эффектов палитры.Указывается в
тиках период синусоидальной волны и параметры контроля амплитуды синусоидальной
волны для соответствующих компонентов. Для примера, если t представляет собой
количество тиков, прошедших с активации контроллера PalFX, и красная_палитра – это
68 / 104
красный компонент оригинальной палитры игрока, тогда красным компонентом палитры за
время t будет:
(красная_палитра + добавить_красный +
амплитуда_красного*sin(2*π*t/период))*(умножить_красный)/256
invertall = значение (булево, 0 или 1)
Если 1, то цвета в палитре будут обращены, создавая «эффект негатива». Цветовая
инверсия принимается перед эффектами add и mul. По умолчанию 0.
color = значение (целое)
Воздействует на цветовой уровень палитры. Если 0, палитра будет в серых тонах. Если 256,
изменений в палитре не будет. Промежуточные значения будут иметь соответствующий
эффект. Эффекты этого параметра вступают в действие раньше, чем invertall, add и mul.
Значения должны быть в диапазоне 0-256. По умолчанию 256.
ParentVarAdd
ParentVarAdd
Если игрок хелпер, добавляется значение к рабочей переменной родителя.Этим
контроллером может быть добавлена любая плавающая или целая переменная. Если игрок
не является хелпером, контроллер не подействует.
Необходимые параметры (версия для целых чисел):
v = номер_переменной (целое)
Определяется целым числом между 0 и 59.
value = целое_выражение (целое)
Это значение для добавления к целой переменной, показанной в параметре v.
Необходимые параметры (версия для плавающих чисел):
fv = номер_переменной (целое)
Определяется целым числом между 0 и 39.
value = плавающее_выражение (плавающее число)
Это значение для добавления к плавающей переменной, показанной в параметре v.
Альтернативный синтаксис:
var(номер_переменной) = целое_выражение (версия для целых чисел)
69 / 104
fvar(номер_переменной) = плавающее_выражение (версия для плавающих чисел)
Примечания: исходя из исторических соображений, запомните, что этот альтернативный
синтаксис для VarAdd, записанный выше, не сопосталяется ни с синтакисисом для
назначения переменной внутри выражения, ни с синтаксисом для добавления переменной
внутри выражения. Если вы разместили второго игрока в заказанном стэйте через удачную
атаку, не используйте назначение переменной внутри заказанных стэйтов. Иначе вы
перезапишете родительские переменные второго игрока, которые значительно важнее.
ParentVarSet
ParentVarSet
Если игрок хелпер, выбирает одну из рабочих переменных родителя. Этим контроллером
может быть выбрана любая плавающая или целая переменная. Если игрок не является
хелпером, контроллер не подействует.
Необходимые параметры (версия для целых чисел):
v = номер_переменной (целое)
Определяется целым числом между 0 и 59.
value = целое_выражение (целое)
Это значение для добавления к целой переменной, показанной в параметре v.
Необходимые параметры (версия для плавающих чисел):
fv = номер_переменной (целое)
Определяется целым числом между 0 и 39.
value = плавающее_выражение (плавающее число)
Это значение для добавления к плавающей переменной, показанной в параметре v.
Альтернативный синтаксис:
var(номер_переменной) = целое_выражение (версия для целых чисел)
fvar(номер_переменной) = плавающее_выражение (версия для плавающих чисел)
Примечания: исходя из исторических соображений, запомните, что этот альтернативный
синтаксис для назначения переменной, записанный выше, не сопосталяется ни с
синтакисисом для назначения переменной внутри выражения, ни с синтаксисом для
добавления переменной внутри выражения. Если вы разместили второго игрока в
заказанном стэйте через удачную атаку, не используйте назначение переменной внутри
заказанных стэйтов. Иначе вы перезапишете родительские переменные второго игрока,
которые значительно важнее.
70 / 104
Pause
Pause
Делает паузу в игре на определѐнный отрезок времени. Действия игрока и арены
«замораживаются» на протяжении этого времени.
Необходимые параметры:
time = t (целое)
Это количество игровых тиков, используемых для паузы.Действительные значения для t –
все положительные числа, начиная с 0.
Дополнительные параметры:
endcmdbuftime = bt (целое)
Это количество тиков, на протяжении которых при протекании отрезка времени
завершения паузы команды движений игрока будут внесены в буфер. Внесенные в буфер
команды будут обнаружены триггерами «command» незамедлительно после окончания
паузы. Буферизация принимает только игроков, которые не способны двигаться на
протяжении паузы (смотрите параметр movetime). Действительные значения для
endcmdbuftime могут быть от нуля до t, где t
является значением параметра time. По умолчанию 0.
movetime = mt (целое)
Это длительности старта паузы в тиках, когда игроку позволено двигаться. Обнаружение
столкновения завершается на протяжении этого времени, что позволяет ударить других
игроков. Действительные значения для mt от 0 до t, где t
является значением параметра time. По умолчанию 0.
pausebg = p (булево, 0 или 1)
Если 1, действия арены прекращаются на протяжении паузы. Если 0, арена продолжает
отображать свои эффекты во время паузы. По умолчанию 1.
Примечание: выполнение контроллера Pause на протяжении времени паузы другого такого
же контроллера будет отменять эффект предыдущего. Старт действия этого контроллера во
время суперпаузы будет задерживать эффекты паузы до тех пор, пока суперпауза не
закончится.
PlayerPush
PlayerPush
Отключает проверку нажатий игрока на 1 тик. Проверка нажатия остерегает игроков от
дублирования нажатий других. Временным отключением проверки нажатия движения
уворачивающегося типа игрок может пройти через другого во время наносимого удара.
71 / 104
Необходимые параметры:
value = флаг_нажатия (целое)
Если не 0, то проверка нажатия будет включена. Если 0 – тогда отключается.
PlaySnd
PlaySnd
Проигрывает звук.
Необходимые параметры:
value = номер_группы, номер_звука (целые)
Эти два параметра соответствуют идентификации пары данных назначенного звука из
SND-файла игрока. Для проигрывания звука из common.snd добавьте префикс F к номеру
группы.
Дополнительные параметры:
volume = уровень_громкости (целое) - описание для предидущих версий и версии 1.0
Уровень громкости 0 для нормальной громкости, положительное число – для повышения,
отрицательное – для смягчения.
volumescale = уровень_громкости (целое) - описание для версии 1.1
Определяет уровень громкости от 0 до 100. 100 = 100% громкость, 50 = половина громкости
звука и т.д
channel = номер_канала (целое)
Указывает, на каком из звуковых каналов игрока будет проигрываться этот звук. Только
один голос может проигрываться в особом канале на время. Для примера, если вы хотите
проигрывать звук на втором канале, то проигрывание любого другого звука на этом же
канале по умолчанию остановит первоначально проигрывающийся звук и будет играть
вместо него. 0 – это специальный канал, запасной, для голосов игрока. Голоса нулевого
канала останавливаются, когда игрок делает удар. Рекомендовано проигрывать голоса
вашего бойца на нулевом канале.Если не учтено, то по умолчанию -1 - это значит, что звук
будет проигрываться на свободном канале.
lowpriority = приоритет (целое)
Действует только тогда, когда номер_канала не равен -1. Если приоритет не 0, то звук,
играющий в текущий момент времени на этом канале из предыдущего PlaySnd, не может
быть прерван текущим звуком.
72 / 104
freqmul = f (плавающее число)
Частота текущего звука будет умножена на f. Для примера, freqmul = 1.1 даст в результате
звук с повышенным тоном. По умолчанию 1.0 (частота не меняется).
loop = флаг_зацикливания (целое)
Если значение не нулевое, то звук будет проигрываться раз за разом. По умолчанию 0.
pan = p (целое)
(взаимно исключающий с параметром abspan)
Это позиционное смещение звука, выраженное в пикселях. Если p>0, то звук смещается
впереди игрока, если p<0, то позади него. По умолчанию 0.
abspan = p (целое)
(взаимно исключающий с параметром pan)
Как и pan, за исключением, что звук доносится из центра экрана, не с положения игрока.
Образец: звук 2,0 играет из SND-файла бойца:
type = PlaySnd
value = 2,0
Образец: звук 5,2 играет из файла common.snd:
type = PlaySnd
value = F5,2
PosAdd
PosAdd
Смещает положение игрока указанными суммами. Координата Х, относительно оси игрока,
с положительными значениями двигается в направлении лица игрока. Координата Y,
относительно оси игрока, с отрицательными значениями движется вверх, с положительным
вниз.
Дополнительные параметры:
x = значение_х (плавающее число)
у = значение_у (плавающее число)
Вы можете на время указать один или оба дополнительных параметра.
PosFreeze
PosFreeze
73 / 104
Временно заставляет «заморозить» положение игрока.
Дополнительные параметры:
value = флаг_«замораживания» (целое)
Если 1, позиция игрока будет заморожена, если 0, положение игрока не будет
«заморожено». По умолчанию 1.
PosSet
PosSet
Выбирает положение игрока на указанных координатах. Координата Х, относительно
центра экрана, с положительными значениями движется вправо. Координата Y,
относительно пола, с отрицательными значениями движется вверх.
Дополнительные параметры:
x = значение_х (плавающее число)
у = значение_у (плавающее число)
Вы можете на время указать один или оба дополнительных параметра.
PowerAdd
PowerAdd
Добавляет указанную сумму к силе игрока.
Необходимые параметры:
value = добавить_сумму (целое)
Количество добавляемой игроку силы.
PowerSet
PowerSet
Выбирает количество имеющейся у игрока силы.
value = количество_силы (целое)
Выбор количества силы у игрока.
Projectile
Projectile
Создаѐт файрболл для игрока. Этот контроллер имеет все параметры контроллера HitDef, а
74 / 104
также имеет множество дополнительных параметров.
Дополнительные параметры:
projID = идентификатор (целое)
Указывает идентификационный номер для ссылки на этот файрболл. Должен быть
положительным числом, если указан.
projanim = номер_анимации (целое)
Указывает номер анимации в качестве таковой для отображения файрболла. По умолчанию
0.
projhitanim = номер_анимации (целое)
Указывает номер анимации, когда файрболл ударяет оппонента. По умолчанию 1 (нет
изменений в анимации).
projremanim = номер_анимации (целое)
Указывает номер анимации, когда файрболл после попадания убирается с экрана. Если не
учтено, вместо этого параметра используется projhitanim.
projcancelanim = номер_анимации (целое)
Указывает номер анимации, когда файрболл отменѐн столкновением с другим файрболлом.
Если не учтено, вместо этого параметра используется projremanim.
projscale = масштаб_х, масштаб_у (плавающее числа)
Указывает фактор масштабирования файрболла. Финальный масштаб определяется
воздействием этих параметров и параметром proj.doscale в группе [Size] в CNS-файле
игрока. По умолчанию 1,1 (нормальный размер).
projremove = флаг_убирания (целое)
Выбрать не нулевое значение, чтоб файрболл был убран после того, как ударит, или 0 – для
отключения этого поведения. По умолчанию 1.
projremovetime = время_убирания (целое)
Указывает количество тиков, по истечению которых файрболл будет убран с экрана. По
умолчанию -1 (таймаут бесконечен).
velocity = скорость_х, скорость_у (плавающие числа)
Указывает скорости полѐта файрболла. По умолчанию 0,0.
75 / 104
remvelocity = скорость_х, скорость_у (плавающие числа)
Указывает скорости полѐта файрболла до момента убирания его с экрана. По умолчанию
0,0.
accel = ускорение_х, ускорение_у (плавающие числа)
Указывает принятое для файрболла ускорение в направлении осей Х и Y. По умолчанию
0,0.
velmul = умножатель_х, умножатель_у (плавающие числа)
Указывает умножатели скоростей фарболла в направлении осей Х и Y. Умножатели
действуют каждый тик времени на скорости файрболла. По умолчанию 1,1.
projhits = число_ударов (целое)
Указывает число ударов, которые успеет произвести файрболл до момента убирания. По
умолчанию 1.
projmisstime = время_промаха (целое)
Если файрболл имеет множественные удары, указывает наименьшее число прошедших
тиков между ударами. По умолчанию 0. Нулевое значение не приемлемо в случае
множественных ударов файрболла.
projpriority = приоритетность_файрболла (целое)
Указывает приоритетность данного файрболла. Если файрболл сталкивается с другим
файрболлом одинаковой приоритетности, они оба будут отменены. Если он сталкивается с
другим файрболлом с более низкой приоритетностью, то этот другой файрболл будет
отменѐн. По умолчанию 1.
projsprpriority = приоритетность (целое)
Указывает приоритетность данного файрболла. Спрайты с более высокой приоритетностью
будут нарисованы поверх спрайтов с более низкой. По умолчанию 3.
projedgebound = значение (целое)
Это расстояние в пикселях от края экрана до файрболла до момента его убирания. По
умолчанию 40.
projstagebound = значение (целое)
Указывает наибольшее расстояние полѐта файрболла от края уровня (не экрана), до того,
как он будет убран. По умолчанию 40.
76 / 104
projheightbound = lowbound, highbound (целые)
Указывает наименьшее и наибольшее Y-значение досягаемости файрболла. Если файрболл
покидает эти границы, он убирается. Помните: с тех пор, как Y-значение уменьшается с
увеличением высоты на экране, lowbound актуально указывает наибольшую высоту,
которую может достигнуть файрболл. Эти параметры по умолчанию -240, 1.
offset = смещение_х, смещение_у (целые)
Указывает координаты Х и Y для точки создания файрболла. По умолчанию 0,0. Точное
поведение этих параметров зависит от postype.
postype = ограничение
Ограничение указывает тип позиции – как интерпретировать параметры offset. Во всех
случаях положительное смещение Y означает перемещение вниз. Действительные значения
для postype следующие:
-p1
Интерпретирует положение относительно оси первого игрока. Положительное смещение Х
происходит впереди первого игрока. Это ограничение берѐтся по умолчанию.
-р2
Интерпретирует положение относительно оси второго игрока. Положительное смещение Х
происходит впереди второго игрока.
-front
Интерпретирует позицию_х относительно края экрана, который видится первым игроком
впереди себя, и позиция_у соответствует верхушке экрана. Положительное смещение Х –
вдали от центра экрана, тогда как отрицательное смещение Х – впереди около центра.
-back
Интерпретирует позицию_х относительно края экрана, которая видится позади себя первым
игроком, и позиция_у соответствует верхушке экрана. Положительное смещение Х
происходит в центре экрана, тогда как отрицательное смещение Х - далеко от центра.
-left
Интерпретирует позицию_х и позицию_у относительно левого верхнего угла экрана.
Положительное смещение Х происходит с правой стороны экрана (направо).
-right
Интерпретирует позицию_х и позицию_у относительно правого верхнего угла экрана.
Положительное смещение Х происходит с левой стороны экрана (налево).
77 / 104
projshadow = тень_красная, тень_зелѐная, тень_синяя (целые)
Указывает красный, зелѐный и синий компоненты тени файрболла. Эти компоненты
должны быть целыми числами между 0 и 255 включительно. Если указать красный
компонент тени
как -1, то будет использован цвет тени уровня. Более высокое значение компонента –
меньше цвета будет отображено в тени. Идеально чѐрная тень это 255, 255, 255. По
умолчанию 0, 0, 0 (тень отсутствует).
supermovetime = время_движения (целое)
Определяет количество тиков, по истечению которых файрболл будет «разморожен» во
время паузы. По умолчанию 0.
afterimage.time = время_шлейфа (целое)
Если активировано, добавляет шлейф для файрболла. Эти параметры такие же, как и в
контроллере AfterImage, только с префиксом «afterimage.».
Примечание: все файрболлы, созданные хелперами, немедленно становятся присвоенными
корнем.
RemapPal
RemapPal
Меняет одну из палитр игрока на другую
source = група_источник_палитры, номер_палитры_в групе (целое)
source - палитра которую надо заменить
dest = група_источник_палитры, номер_палитры_в групе (целое)
dest - палитра на которую хотим заменить
Пример:
type = RemapPal
source = 1,1
dest = 1,3
RemoveExplod
RemoveExplod
Убирает все эксплоды игрока или только эксплоды с указанным ID-номером.
Дополнительные параметры:
78 / 104
ID = идентификатор (целое)
Это идентификационный номер убираемого эксплода. Если не указано, убирает все
эксплоды.
ReversalDef
ReversalDef
Назначает реверсирование. Если одна из Clsn1(красных)-рамок второго игрока
контактирует с одной из Clsn1(красной)-рамок первого игрока и ReversalDef активен, тогда
первый игрок перенаправит атаку второго игрока. Использовать с p1stateno (и
дополнительно с p2stateno) для создания реверсивных атак.
Этот контроллер имеет хитдэф-параметры pausetime, sparkno, hitsound, p1stateno и p2stateno,
плюс:
Необходимые параметры:
reversal.attr = аттрибутное_ограничение
Указывает список аттрибутов атак, которые могут быть перенаправлены данным
контроллером.
Это стандартное аттрибутное ограничение удара. Для примера: reversal.attr = SA, NA, SA
означает: стоя + с воздуха, нормальная атака, специальная атака.
Примечание: параметр sparkxy взят как смещение для sparkxy хитдэфа второго игрока.
ScreenBound
ScreenBound
Определяет, будет ли движение игрока принудительно показано на экране или нет. Также
определяет, будет ли камера двигаться вслед за игроком или нет. Результаты действия этого
контроллера будут действительными на 1 тик времени.
Дополнительные параметры:
value = флаг_привязки (целое)
Если 0, то игрок будет пособен сместиться с экрана.
movecamera = флаг_движения_х, флаг_движения_у (целые)
Определяет, будет ли камера панорамно следить за игроком в направлении осей Х и Y
соответственно. По умолчанию 0,0.
SelfState
SelfState
Как и ChangeState, только за исключением, что текущий стэйт изменится на указанный
79 / 104
среди собственных стэйтов игрока. Используйте, когда вы разместили игрока в заказанном
стэйте через атаку и желаете возвратить его к нормальному состоянию.
SprPriority
SprPriority
Изменяет приоритетность спрайтов игрока. Спрайты с более высокой приоритетностью
рисуются поверху спрайтов с более низкой.
Необходимые параметры:
value = уровень_приоритетности (целое)
Действительные уровни приоритетности в пределах от -5 до 5.
StateTypeSet
StateTypeSet
Изменяет текущий тип стэйта и тип движения. Полезно для стэйтов, переходящих из
«земли» в «воздух» и т.п.
Дополнительные параметры:
statetype = тип_стэйта (ограничение)
Может быть: А – для движений в воздухе, С – для сидячего положения, L – для лежащего.
По умолчанию тип стэйта остаѐтся без изменений.
movetype = тип_движения (ограничение)
Может быть: I – для бездействия, А – для атаки, Н – при получении удара. По умолчанию
тип движения остаѐтся без изменений.
physics = физика (ограничение)
Может быть: А - для движений в воздухе, С – сидя, S – стоя, N – без указанной физики
движения. По умолчанию физика движения не меняется.
SndPan
SndPan
Изменяет панорамирование текущего играющего звука. Этот контроллер может
беспрестанно работать для сглаженного движение звука сквозь звуковое поле или для
звука, преследующего игрока.
Необходимые параметры:
channel = номер_канала (целое)
80 / 104
Указывает номер канала звука для панорамирования.
pan = p или abspan = р (целые)
Эти оба параметра не могут быть указаны одновременно. р определяет звуковое смещение в
пикселях от игрока (в случае pan) или от центра экрана (в случае abspan). Смотрите PlaySnd
для описания параметров панорамирования.
StopSnd
StopSnd
Останавливает любой звук, который играет в указанном канале.
Необходимые параметры:
channel = номер_канала (целое)
Останавливает проигрывание любого звука на указанном номере канала. Если -1, тогда
останавливаются все звуки, включая их принадлежность к другим игрока. Не
злоупотребляйте этой особенностью.
SuperPause
SuperPause
«Замораживает» геймплей и затемняет экран. Пока какой-либо игрок «заморожен», для
него время останавливается также. Используйте для драматической паузы на протяжении
старта гипер-атак.
Дополнительные параметры:
Этот контроллер принимает все дополнительные параметры контроллера Pause. Вдобавок,
также есть следующие параметры:
time = время_паузы (целое)
Определяет количество тиков для продолжительности паузы. По умолчанию 30 тиков
(полсекунды для скорости по умолчанию).
anim = номер_анимации (целое)
Выбирает номер анимации (из файла fightfx.air) для проигрывания на протяжении
суперпаузы. По умолчанию 30 (анимация супервспышки). Если -1, анимация
проигрываться не будет. Если вы предварительно поставите префикс S впереди номера
анимации, она будет использована из AIR-файла игрока. Для примера: anim = S10.
sound = группа_звука, номер_звука (целые)
Проигрывает звук (из common.snd) на протяжении суперпаузы. По умолчанию -1, что
означает, что звук проигрываться не будет. Если вы предварительно поставите префикс S
81 / 104
впереди номера группы, тогда звук будет использован из собственного SND-файла игрока.
Для примера: sound = S10,0.
pos = позиция_х, позиция_у (плавающие числа)
Определяет смещение (от осей игрока), на котором будет проигрываться анимация
супервспышки. По умолчанию 0,0.
darken = значение (булево, 0 или 1)
Если 1, экран будет затемнѐн на протяжении суперпаузы. Выберите 0 для отключения этого
эффекта. По умолчанию 1.
p2defmul = умножатель_защиты (плавающее число)
Это сумма, на которую временно умножается защита любых целей, которые имеет игрок.
Использовать, чтобы делать сцепление в суператаку без ущерба. Выбор значения 1 не будет
делать никаких изменений в защите цели. 0 – это специальное значение, которое выбирает
защиту числом, указанным в Super.TargetDefenceMul в секции [Rules] в файле mugen.cfg.
По умолчанию 0. Действительными значениями являются все положительные числа,
включая ноль.
poweradd = значение (целое)
Добавляет указанную сумму к силе игрока. По умолчанию 0.
unhittable = значение (булево, 0 или1)
Если 1, игрок не сможет быть атакован на протяжении суперпаузы. Выбрать 0 для
отключения этого параметра. По умолчанию 1.
Примечание: если перед этим предварительно был выполнен контроллер Pause, и действие
по-прежнему приостановлено, выполнение SuperPause будет преобладать над эффектами
контроллера Pause. На протяжении SuperPause время, прошедшее с истечением эффектов
контроллера Pause, не будет отсчитываться.
TargetBind
TargetBind
Привязывает указанные цели игрока к указанному положению относительно оси игрока.
Дополнительные параметры:
time = время_привязки (целое)
Указывает количество тиков, на протяжении которых привязка будет эффективной. По
умолчанию 1.
ID = идентификатор (целое)
82 / 104
Указывает ID-номер желаемой цели для еѐ привязки. Только цели с этим
идентификационным номером будут привязаны. По умолчанию -1 (привязываются все
цели).
pos = позиция_х, позиция_у (плавающие числа)
Указывает смещение от оси игрока для места привязки цели. По умолчанию 0,0.
TargetDrop
TargetDrop
Сбрасывает все цели со списка целей, за исключением возможных целей, имеющих
указанный идентификационный номер. Полезно для применения эффектов только к
определѐнным целям.
Дополнительные параметры.
excludedID = идентификатор (целое)
Любые цели с идентификационным номером, не равным указанному идентификатору,
будут утеряны из списка целей. По умолчанию -1 (сбрасывает все цели).
keepone = значение (целое)
Если значение не нулевое, тогда не более одной цели сохраняется в списке целей. Если есть
несколько целей, чьи идентификационные номера такие же, как и указанный excludedID,
одна будет выбрана случайно, а остальные будут утеряны. Это поведение полезно в
бросках, чтобы уберечься от броска нескольких оппонентов одновременно. Если 0, тогда
все цели с подходящим идентификационным номером будут сохранены. По умолчанию 1.
TargetFacing
TargetFacing
Обращает все цели лицом в указанном направлении относительно игрока.
Необходимые параметры:
value = значение_облицовки (целое)
Если значение положительное, все цели будут развѐрнуты лицом в том же направлении, что
и игрок. Если отрицательное, все цели будут развѐрнуты в противоположную к лицу игрока
сторону.
Дополнительные параметры:
ID = идентификатор (целое)
Указывает идентификационный номер желаемой цели для действия. Только цели с этим ID
83 / 104
будут задействованы. По умолчанию -1 (действует на все цели).
TargetLifeAdd
TargetLifeAdd
Добавляет указанную сумму к жизни всех целей, масштабированную умножателями
защиты целей, если необходимо.
Необходимые параметры:
value = добавить_сумму (целое)
Указанное количество добавляется к жизни каждой цели.
Дополнительные параметры:
ID = идентификатор (целое)
Указывает идентификационный номер желаемой цели для действия. Только цели с этим ID
будут задействованы. По умолчанию -1 (действует на все цели).
kill = флаг_гибели (целое)
Если 0, то отнимание жизни не переступит отметку в 1 очко на лайфбаре. По умолчанию 1.
absolute = флаг_абсолютности (целое)
Если 1, тогда параметр value не будет масштабироваться умножателями атаки и защиты. По
умолчанию 0.
TargetPowerAdd
TargetPowerAdd
Добавляет указанную сумму к силе всех целей.
Необходимые параметры:
value = добавить_сумму (целое)
Количество добавляемой силы для всех целей.
Дополнительные параметры:
ID = идентификатор (целое)
Указывает идентификационный номер желаемой цели для действия. Только цели с этим ID
будут задействованы. По умолчанию -1 (действует на все цели).
TargetState
84 / 104
TargetState
Заставляет все цели перейти в указанный номер стэйта.
Необходимые параметры:
value = номер_стэйта (целое)
Номер стэйта, на который сменится текущий стэйт всех целей.
Дополнительные параметры:
ID = идентификатор (целое)
Указывает идентификационный номер желаемой цели для действия. Только цели с этим ID
будут задействованы. По умолчанию -1 (действует на все цели).
TargetVelAdd
TargetVelAdd
Добавляет указанную сумму к скоростям всех целей. Скорость по оси Х положительная в
направлении от лица цели, тогда как положительная скорость по оси Y направлена вниз по
экрану.
Дополнительные параметры:
x = значение_х (плавающее число)
у = значение_у (плавающее число)
Вы можете назначить один или оба дополнительных параметра одновременно.
ID = идентификатор (целое)
Указывает идентификационный номер желаемой цели для действия. Только цели с этим ID
будут задействованы. По умолчанию -1 (действует на все цели).
Пример: применяет «гравитацию» ко всем целям:
[State Gravity]
type = TargetVelAdd
trigger1 = 1
y = 0.45
TargetVelSet
TargetVelSet
Выбирает скорости всех целей из указанных значений. Скорость по оси Х положительная в
направлении от лица цели, тогда как положительная скорость по оси Y направлена вниз по
85 / 104
экрану.
Дополнительные параметры:
x = значение_х (плавающее число)
у = значение_у (плавающее число)
Вы можете назначить один или оба дополнительных параметра одновременно.
ID = идентификатор (целое)
Указывает идентификационный номер желаемой цели для действия. Только цели с этим ID
будут задействованы. По умолчанию -1 (действует на все цели).
Trans
Trans
Переопределяет параметры прозрачности анимации игрока для текущего тика игрового
времени. Полезно для специальных эффектов.
Необходимые параметры:
trans = тип_прозрачности (ограничение)
Должен быть одним из следующих:
default – ничего не меняет
add – рисует с полной добавочной прозрачностью
add1 – рисует с добавочной прозрачностью при alpha = 256, 128
sub – рисует с инвертированной прозрачностью
addalpha – рисует с добавочной прозрачностью (альфа должна быть указана)
Дополнительные параметры:
alpha = альфа_насыщенности, альфа_прозрачности (целые)
Это значение придаваемой насыщенности и прозрачности для типа прозрачности addalpha.
Действительны значения от 0 до 256. По умолчанию 256, 0, если не учтено.
Пример: боец блекнет за 256 тиков:
[State Trans]
type = Trans
trigger1 = time < 256
trans = addalpha
alpha = time, 256-time
Turn
86 / 104
Turn
Мгновенно поворачивает игрока лицом в противоположную сторону. Анимация поворота
при этом не проигрывается.
VarAdd
VarAdd
Добавляет значение к рабочей переменной игрока.Этим контроллером может быть
добавлена любая плавающая или целая переменная.
Необходимые параметры (версия для целых чисел):
v = номер_переменной (целое)
Определяется целым числом между 0 и 59.
value = целое_выражение (целое)
Это значение для добавления к целой переменной, показанной в параметре v.
Необходимые параметры (версия для плавающих чисел):
fv = номер_переменной (целое)
Определяется целым числом между 0 и 39.
value = плавающее_выражение (плавающее число)
Это значение для добавления к плавающей переменной, показанной в параметре v.
Альтернативный синтаксис:
var(номер_переменной) = целое_выражение (версия для целых чисел)
fvar(номер_переменной) = плавающее_выражение (версия для плавающих чисел)
Примечания: исходя из исторических соображений, запомните, что этот альтернативный
синтаксис для VarAdd, записанный выше, не сопосталяется ни с синтакисисом для
назначения переменной внутри выражения, ни с синтаксисом для добавления переменной
внутри выражения. Если вы разместили второго игрока в заказанном стэйте через удачную
атаку, не используйте назначение переменной внутри заказанных стэйтов. Иначе вы
перезапишете родительские переменные второго игрока, которые значительно важнее.
VarRandom
VarRandom
Выбирает указанную целую переменную для случайного значения. Плавающие переменные
87 / 104
не могут быть выбраны этим контроллером.
Необходимые параметры:
v = номер_переменной (целое)
Это показатель целой переменной для выбора. Определяется целым числом между 0 и 59.
Дополнительные параметры:
range = наименьшее_значение, наибольшее_значение (целые)
Указываются наименьшее и наибольшее значения, назначенные этим контроллером
соответственно. Значение, назначенное для переменной, будет выбрано как случайное
целое число из указанного диапазона. По умолчанию диапазон от 0 до 1000. Если только
один аргумент указан, тогда в таком случае диапазон будет использоваться в следующем
виде:
range = 0, аргумент.
Примечания: если вы разместили второго игрока в заказанном стэйте через удачную атаку,
не используйте назначение переменной внутри заказанных стэйтов. Иначе вы перезапишете
родительсике переменные второго игрока, которые значительно важнее.
Пример: назначает случайное число между 0 и 500 для переменной var(5):
type = VarRandom
v = 5
range = 500
VarRangeSet
VarRangeSet
Выбирает смежный диапазон рабочих переменных игрока к одному и тому же значению.
Этим контроллером может быть добавлена любая плавающая или целая переменная, но
только не оба вида одновременно.
Необходимые параметры (версия для целых чисел):
value = целое_выражение (целое)
Оценивается единажды, чтобы дать значение, которое назначено ко всем целым
переменным в диапазоне.
Необходимые параметры (версия для плавающих чисел):
fvalue = целое_выражение (целое)
Оценивается единажды, чтобы дать значение, которое назначено ко всем плавающим
переменным в диапазоне.
88 / 104
Дополнительные параметры (в обеих версиях):
first = первый_показатель (целое)
Указывает низший предел диапазона переменных для выбора.
По умолчанию 0 (первая переменная).
last = последний_показатель (целое)
Указывает высший предел диапазона переменных для выбора. По умолчанию 59 для целых
переменных или 39 для плавающих (это последние доступные переменные в обеих случаях
соответственно).
Примечания: если вы разместили второго игрока в заказанном стэйте через удачную атаку,
не используйте назначение переменной внутри заказанных стэйтов. Иначе вы перезапишете
родительские переменные второго игрока, которые значительно важнее
VarSet
VarSet
Выбирает одну из рабочих переменных игрока. Этим контроллером может быть выбрана
любая плавающая или целая переменная.
Необходимые параметры (версия для целых чисел):
v = номер_переменной (целое)
Определяется целым числом между 0 и 59.
value = целое_выражение (целое)
Это значение для добавления к целой переменной, показанной в параметре v.
Необходимые параметры (версия для плавающих чисел):
fv = номер_переменной (целое)
Определяется целым числом между 0 и 39.
value = плавающее_выражение (плавающее число)
Это значение для добавления к плавающей переменной, показанной в параметре v.
Альтернативный синтаксис:
var(номер_переменной) = целое_выражение (версия для целых чисел)
fvar(номер_переменной) = плавающее_выражение (версия для плавающих чисел)
89 / 104
Примечания: исходя из исторических соображений, запомните, что этот альтернативный
синтаксис для назначения переменной, записанный выше, не сопосталяется ни с
синтакисисом для назначения переменной внутри выражения, ни с синтаксисом для
добавления переменной внутри выражения. Если вы разместили второго игрока в
заказанном стэйте через удачную атаку, не используйте назначение переменной внутри
заказанных стэйтов. Иначе вы перезапишете родительские переменные второго игрока,
которые значительно важнее
VelAdd
VelAdd
Добавляет указанную сумму к скоростям игрока. Скорость по оси Х положительная в
направлении от лица игрока, тогда как положительная скорость по оси Y направлена вниз
по
экрану.
Дополнительные параметры:
x = значение_х (плавающее число)
у = значение_у (плавающее число)
Вы можете назначить один или оба дополнительных параметра одновременно.
VelMul
VelSet
VelSet
Выбирает скорости игрока из указанных значений. Скорость по оси Х положительная в
направлении от лица цели, тогда как положительная скорость по оси Y направлена вниз по
экрану.
Дополнительные параметры:
x = значение_х (плавающее число)
у = значение_у (плавающее число)
Вы можете назначить один или оба дополнительных параметра одновременно.
VelMul
VelMul
Умножает скорость игрока указанными суммами. Скорость по оси Х положительная в
направлении от лица игрока, тогда как положительная скорость по оси Y направлена вниз
по
экрану.
90 / 104
Дополнительные параметры:
x = умножатель_х (плавающее число)
у = умножатель_у (плавающее число)
Вы можете назначить один или оба дополнительных параметра одновременно.
Образец: принимает «трение» для игрока:
type = VelMul
X = 0.8
VictoryQuote
VictoryQuote
Выбирает одну из Выграшных Цытат игрока, отображая на дисплее в выграшном окошке.
value = номер_цытаты (целое)
задает номер цытаты для использования. Возможны значения от 0 до 99
Если номер цытаты неверный, он будет выбран случайно.
По умолчанию -1
Примичание: Этот контроллер может быть вызван любым игроком в любое время матча.
Однако, только выгравшый игрок повлияет на цытату которая показана. Этот контроллер
влияет только на победный экран сразу же после текущего матча. Не будет иметь эффекта
если будет использован хелпером. Цытаты игрока засываються в групе [Quotes] в
константах игрока.
Width
Width
Меняет размер барьера ширины игрока на 1 тик времени. Полезно для контролирования
«напористого» поведения, когда игрок контактирует с другим.
Дополнительные параметры:
edge = ширина_края_спереди, ширина_края_сзади (целые)
Выбирает ширину края игрока впереди и позади. Ширина края определяет, как близко
игрок может достигнуть края экрана. По умолчанию 0,0.
player = ширина_игрока_спереди, ширина_игрока_сзади (целые)
Выбирает игроку ширину спереди и сзади. Ширина игрока определяет, как близко игрок
может достать к другим игрокам. По умолчанию 0,0.
Альтернативный синтаксис:
91 / 104
value = ширина_ спереди, ширина_ сзади (целые)
Это стенографический синтаксис для выбора обоих параметров – ширины края и ширины
игрока одновременно.Можно использовать, если параметры края и игрока не указаны.
Примечание: если активировано отображение рамки столкновения, барьер ширины края
отображѐн оранжевым цветом, а барьер ширины игрока – жѐлтым. Если они совпадают,
область совпадения отображается ярко-жѐлтым цветом.
Триггеры
Это алгебраичные и логичные индексы для функциональных типов триггеров.
Abs (Матем)
Abs ( )
Вычесляет абсолютное значение своего аргумента.
Acos (Матем)
Acos ( )
Вычисляет арккосинус (в радианах) указанного аргумента.
Пример:
value = acos(1)
Устаноить значение арккосинус 1, что равно 0.0
AILevel
AILevel Отвечает за уровень сложности Исскуственного Интелекта (ИИ) игрока. Если ИИ игрока включен, значение тригера в диапазоне от 1 (простой) до 8 (самый сложный) Если ИИ игрока отключен, возвращает значение 0 Пример: trigger1 = Random < AILevel * 10 Тригер с вероятностю активации 10% при AILevel 1, 20% при AILevel 2 и.т.д
Alive
Alive
Означает 1 если игрок способен драться, жив
Означает 0 когда игрок нокаутирован.
92 / 104
пример:
trigger1 = alive = 0
Активирует тригер когда игрок нокаутирован.
Anim
Anim Отвечает за текущий номер анимации что проигрываеться Пример: trigger1 = anim = 200 Триггер активируеться когда проигрываемая анимация игрока будет 200.
AnimElem
AnimElem(*,***) Использует номер и время фрейма текущей анимации. Полезен для синхронизации событий через фреймы анимации. (напоминание: первый фрейм анимации это 1, а не 0) Форматы: AnimElem = значение1 AnimElem = значение1, [оперон] значение2 Аргументы: [опероны ] =, !=, <, >, <=, >= значение1 (целое) - номер фрейма анимации для проверки значение2 (целое) - значение времени анимации для сравнения Тип присвоения значения: Логический, целый (либо да, либо нет) Если ошибки в условиях: Возвращает нижнее значение если указанный номер элемента недопустимый (например слишком большой или слишком мальенький) Детальное описание: Триггер в формате 1 верный (активируеться) когда анимация находиться в указанном значении (другими словами на указаном фрейме анимации) Триггер в формате 2 верен (активируеться) когда анимация находиться в указанном значении1, и на указаном игровом тик (значение 2) Примеры: trigger1 = AnimElem = 2 Активируется на первом игровом тике, когда анимация игрока будет на элементе 2. Это эквивалентно:
93 / 104
trigger1 = AnimElem = 2, = 0 trigger1 = AnimElem = 2, = 4 Активируеться на 4 игровом тике на 2 элементе анимации игрока. trigger1 = AnimElem = 2, >= 0 trigger1 = AnimElem = 3, < 0 Активен весь 2 эелемент анимации игрока до конца 3 элемента. Если 3 элемента не существует, второй строкой должно быть: trigger1 = AnimTime <= 0
AnimElemNo
AnimElemNo Использует номер элемента текущей анимации который будет отображаться в заданное время. Аргументом AnimElemNo являеться время, чтобы проверить игровые тики, по сравнению с настоящим. Формат: AnimElemNo(выражение) Аргументы: (выражение) - выражение, определяющее смещение времени Тип присовоения значения: целые значения. Если ошибки в условиях: Возвращает нижнее значение, если вы пытаетесь проверить время, до начала текущего действия.
Примечание: Если действие в настоящее время в пределах своей части цикла, то предполагается что будет зацикливание. То есть, независимо от того, как далеко в прошлое вы проверяете, AnimElemNo всегда возвращает номер элемента, который лежит в пределах действия цикла . Примеры: trigger1 = AnimElemNo(0) = 2 Активируеться когда элемент анимации (в данном случае это элемент 2) будет отображать нулевой тик в будущем . Это выражение эквивалентно: trigger1 = AnimElem = 2, >= 0 trigger1 = AnimElem = 3, < 0 trigger1 = AnimElemNo(2) = 4 Активируеться когда элемент анимации (в данном случае это элемент 2) будет отображать 2 тик в будущем. Это выражение эквивалентно: trigger1 = AnimElem = 4, >= -2 trigger1 = AnimElem = 5, < -2
AnimElemTime
94 / 104
AnimElemTime Использует время , прошедшее с начала указанного фрейма текущей анимации. Полезен для синхронизации событий через фреймы анимации. (напоминание: первый фрейм анимации это 1, а не 0) Формат: AnimElemTime(выражение) Аргументы: (выражение) - выражение, определяющее номер элемента для проверки Тип присовоения значения: целые значения. Если ошибки в условиях: Возвращает нижнее значение, если вы пытаетесь проверить номер элемента, не допустимий для текущего действия. Примеры: trigger1 = AnimElemTime(2) = 0 Активируеться на первом тике элемента 2, текущей анимации игрока. Это эквивалентно с: trigger1 = AnimElem = 2 trigger1 = AnimElemTime(2) = 4 Активируеться на 4 тике после запуска 2 элеманта анимации игрока.
trigger1 = AnimElemTime(2) >= 0 trigger1 = AnimElemTime(3) < 0 Активен весь 2 эелемент анимации игрока до конца 3 элемента. Если 3 элемента не существует, второй строкой должно быть: trigger1 = AnimTime <= 0
AnimExist
AnimExist Возвращает 1, если указанная анимация действия существует для игрока. Результат этого триггера не определяеться, если игрок был помещен в Кастом-Стейт через успешный удар. В этой ситуации используеться SelfAnimExist. Формат: AnimExist(выражение) Аргументы: (выражение) - выражение, определяющее номер анимации. Тип присвоения значения: Логический, целый (либо да, либо нет)
95 / 104
Если ошибки в условиях: Возвращает нижнее значение, если определение ошибочное. Примеры: trigger1 = !AnimExist(200) Активируеться если игрок пропустил действие с анимацией 200.
AnimTime
AnimTime Дает разница между временем повторения текущей анимации и проигрывателем анимации времени. Полезно знать, когда в конце анимация была достигнута. ( Время Анимации - это время, в игрровых тиках, что игрок провел в текущей анимации.) Имя может привести к путанице. Попытайтесь думать о нем, как о "времени от конца анимации". Во время анимации, AnimTime всегда будет возвращася к не-положительному числу. Формат: AnimTime Аргументы: нет Тип присвоения значения: целые Если ошибки в условиях: нет Пример: trigger1 = AnimTime = 0 Активируется когда когда время анимации совпадает в временем повтора анимации, другими словами - конец действия анимации.
Asin (Матем)
Asin ( )
Вычисляет арксинус (в радианах) указанного аргумента.
Пример:
value = asin(1)
Устаноить значение арксинус 1, что равно pi/2
Atan(Матем)
96 / 104
Atan() Вычисляет арктангенс (в радианах) указанного аргумента.
Пример:
value = atan(1)
Устаноить значение арктангенс 1, что равно pi/4
AuthorName
AuthorName Использует имя автора (которое зазначено в Def-файле). Формат: AuthorName [оперон] "имя" Аргументы: [опероны ] =, != (другие опероны не действенны) "имя" (строка) Тип присвоения значения: Логический, целый (либо да, либо нет) Если ошибки в условиях: нет Пример: trigger1 = Authorname = "Suika" Активируеться если имя автора Suika.
BackEdge (1.1)
BackEdge Использует Х-позицию края экрана позади игрока в абсолютных координатах рабочей области. Формат: BackEdge Аргументы: нет Тип присвоения значения: дробные
97 / 104
Если ошибки в условиях: нет Примечание: Этот триггер эквивалентен выражению "ifelse(facing = 1, LeftEdge, RightEdge)". Пример: trigger1 = Pos X + CameraPos X < BackEdge Активируеться если игрок слева от заднего края экрана.
BackEdgeBodyDist
BackEdgeBodyDist Использует дистанцию от задней стороны игрока (заданной в константах) к заднему краю экрана. Формат: BackEdgeBodyDist Аргументы: нет Тип присвоения значения: дробные Если ошибки в условиях: нет Пример: trigger1 = BackEdgeBodyDist < 30 Активируеться если задняя сторона игрока в пределах 30 пикселей от края экрана позади игрока.
BackEdgeDist
BackEdgeDist Использует дистанцию между Х-осью игрока и краем экрана позади него. Формат: BackEdgeDist Аргументы: нет Тип присвоения значения: дробные
98 / 104
Если ошибки в условиях: нет Пример: trigger1 = BackEdgeDist < 30 Активируеться если Х-ось игрока в пределах 30 пикселей от края экрана позади игрока.
BottomEdge (1.1)
BottomEdge Использует Y-позицию нижнего края экрана в абсолютных координатах рабочей области. Формат: BottomEdge Аргументы: нет Тип присвоения значения: дробные Если ошибки в условиях: нет Примечание: Этот триггер эквивалентен выражению "Pos Y - ScreenPos Y + GameHeight". Пример: trigger1 = Pos Y < BottomEdge Активируеться если игрок выше нижнего края экрана.
CameraPos (1.1)
CameraPos Использует значение положения камеры относительно арены. Формат: CameraPos [составляющие] Аргументы: [составляющие] X,Y Тип присвоения значения: дробные
99 / 104
Если ошибки в условиях: нет Детальное описание: Исходное положение камеры 0,0. Значение "CameraPos X" увеличивается, когда камера движется вправо и уменьшаеться когда влево. Значение "CameraPos Y" уменьшается камера перемещается вверх, увеличиваеться когда вниз. Единицы позиции указаны в coordspace игроке. Пример: trigger1 = CameraPos X >= 0 Активируеться когда камера слева от центра арены.
CameraZoom (1.1)
CameraZoom Использует значение коэффициента масштабирования камеры. Формат: CameraZoom Аргументы: нет Тип присвоения значения: дробные Если ошибки в условиях: нет Примеры: fvar(1) = CameraZoom * ScreenWidth Устанавливает переменной fvar(1) значение коефициента дистанции между правым и левым краем экрана Данная формулировка "CameraZoom * ScreenWidth" эквивалентна к триггеру GameWidth
CanRecover
CanRecover Если игрок в настоящее время в стейте падения, используетья значение 1 что б игрок был способен перейти в стейт востановления, и 0 что б он этого не мог сделать. Триггер бесполезный если игрок в настоящее время не находиться в стейте падения.
Ceil (Матем)
Ceil
100 / 104
Вычесляет "потолок" значения (другими словами это округление до высшего значения). Возвращает наименьшее целое число, которое больше или равно заданному аргументу. Примеры: 1. value = ceil(5.5) Значение равно 6. 2. value = ceil(-2) Значение равно -2.
Command
Command (*,***) Активируеться если игрок вводит команды. Формат: сommand [оперон] "имя_команды" Аргументы: [опероны] =, != (другие опероны не действуют) "имя_команды" (строка) - это имя команды Команды определены в CMD файле игрока, и чувствительны к регистру. Если CMD имеет несколько команд с тем же именем, то любая из этих команд будет работать. Названия команд должны быть заключены в двойные кавычки. Тип присвоения значения: Логический, целый (либо да, либо нет) Пример: trigger1 = Command = "fireball motion" Активируеться если игрок вводит команду под именем "fireball motion"
Cond (Матем) (1.1)
Cond (условие, правда, ложь) Этот триггер использует три аргумента. Первым аргументом является условии. Если условие истинно (т.е. ненулевое), условие вычисляется и активируеться Второй аргумент. Если условие ложно, условие вычисляется и активируеться Третий аргумент. Если условие неверно, то активируеться "Конд нулевой" без оценки Второго или Третьего аргументов. Во всех случаях неиспользованные аргументы не оцениваются. Таким образом, условие может быть задано через Cond, вместо IfElse, чтобы избежать побочных эффектов, которые были бы вызваны оценкой неиспользуемого параметра Формат: Cond (Условие,Правда,Ложь)
101 / 104
Аргументы: Условие - выражение для обработки Правда - выражение значения для использования, если Условие ненулевое Ложь - выражение значения для использования, если Условие нулевое. Пример: value = Cond(var(3),1,2) Установит значение 1, если var(3) не ноль, и установит значение 2 если var(3) ноль
Cos (Матем)
Сos ( )
Вычисляет косинус (в радианах) указанного аргумента.
Пример:
value = cos(0)
Устаноить значение арккосинус 1, что равно 1.0
Ctrl
Ctrl Использует флаг контроля над P1
Пример: trigger1 = Ctrl Активируеться когда игрок имеет контроль над персонажем.
DrawGame
DrawGame Означает 1 если игрок (в одиночном или командном режиме) закончил раунд в ничию, 0 если нет.
Пример: trigger1 = DrawGame Активируеться если игрок закончил раунд в ничию
E (Матем)
E Использует значении Е (2.718281828...)
102 / 104
Exp (Матем)
Exp
Вычисляет экспоненту от аргумента (Е возведенное в степень аргумента.) Это приводит к несколько более точные результаты, чем эквивалентное выражение Е**(аргумент).
Пример: value = exp(4-var(0)) Устанавливает значение Е в количестве 4-var(0)
Facing
Facing Означает 1 если игрок повернут лицом вправо, и -1 если игрок повернут лицом влево
Пример: Trigger = Facing = -1 Активиреться если игрок повернут лицов в левую сторону экрана
Floor (Матем)
Floor Вычесляет "дно" значения (другими словами это округление до низшего значения). Возвращает наименьшее целое число, которое больше или равно заданному аргументу. Примеры: 1. value = floor(5.5) Значение равно 5. 2. value = floor(-2) Значение равно -2.
FrontEdge (1.1)
FrontEdge Использует Х-позицию края экрана спереди игрока в абсолютных координатах рабочей области. Формат: FrontEdge Аргументы: нет Тип присвоения значения: дробные
103 / 104
Если ошибки в условиях: нет Примечание: Этот триггер эквивалентен выражению "ifelse(facing = 1,RightEdge, LeftEdge)". Пример: trigger1 = facing * (Pos X + CameraPos X) < facing * (FrontEdge) Активируеться если игрок позади переднего края экрана
FrontEdgeBodyDist
FrontEdgeBodyDist Использует дистанцию от передней стороны игрока (заданной в константах) к переднему краю экрана. Формат: FrontEdgeBodyDist Аргументы: нет Тип присвоения значения: дробные Если ошибки в условиях: нет Пример: trigger1 = FrontEdgeBodyDist < 30 Активируеться если передняя сторона игрока в пределах 30 пикселей от переднего края экрана.
FrontEdgeDist
FrontEdgeDist Использует дистанцию между Х-осью игрока и передним краем экрана. Формат: FrontEdgeDist Аргументы: нет Тип присвоения значения: дробные
104 / 104
Если ошибки в условиях: нет Пример: trigger1 = FrontEdgeDist < 30 Активируеться если Х-ось игрока в пределах 30 пикселей от переднего края экрана.