Файлы: 857 Видео: 13 Комментарии: 242 Статьи: 306 Новости: 155 Форум: 39179 Пользователи: 3407 + 0 |Добавить на сайт ...

Новое на форуме Новые статьи Мини профиль
[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Manoichi, Ronnie, Skamp  
MUGEN WORKS - ANIME,CHARACTERS,STAGES,SCREENPACK,LIFEBAR » M.U.G.E.N » Туториалы / Tutorials » Кодинг CMD и CNS и т.д.
Кодинг CMD и CNS и т.д.
Manoichi
Дата: Пятница, 30.03.2012, 22:43 | Сообщение # 1
;-- Созадание Удара-------------------------------------------------------
;++++++++++++++++++++++CNS-ФАЙЛ+++++++++++++++++++++++++++
;---------------------------------------------------------
[Statedef 221]
anim = 221 ;номер анимации
ctrl = 0 ;отключает Контроль во время удара или движения
type = S ;тип физики движения Стоя ( С- Сидя, А- В воздухе)
movetype = A ;Показывает что это атака ( активирует Clsn1 Красные рамки )
physics = S ;тип физики движения Стоя ( С- Сидя, А- В воздухе)
velset = 6,0 ;Движение в начале атаки
juggle = 1
poweradd = 30 ;Сколько прибавиться Энергии или Чакры
sprpriority = 1 ;приаритет спрайтов

[State 221,PlaySnd]
type = PlaySnd ;Тип озвучка спрайтов
trigger1 = animelem = 2 ;проиграть звук, номер спрайта
value = S20,3 ;Группа и номер звука \ если не стоит S то звуки считываются из common.snd
volume = 255 ;Громкость
channel = 1 ;Количество каналов

[State 221,1] ;Начало функции атаки
type = HitDef ;Включает тип функции серий
trigger1 = Time = 0 ;Проиграть все спрайты \ AnimElem = ? проиграть номер спрайта
attr = S,NA ;определяет признак Вашего хита (1-Стоя,2-Нормальное,3-Атака)
damage = 10,0 ;Сколько % будет снимать атака припопадании, будет снимать атака припопадании по блоку
guardflag = MA
hitflag = MAF
priority = 1,Hit ;С какого удара начинается приаритет атаки
pausetime = 1,14 ;Первая цифра притормаживает бойца,2 цифра Огрушение врага
sparkno = 0 ;Номер эффекта при попадании
sparkxy = -10, -76 ;Коардинаты эффекта
hitsound = 3,1 ;Звук при попадании удара
guardsound = S16,0 ;Звук при попаданию по блоку
animtype = Hard ;Тип удара (Лёгкий-Средний,Тяжёлый,Жёсткий-> Light-Medium-Heavy-Hard--> и , Back)
ground.type = High ;Тип аним. удара(Нижний-Высокий-Откидывающий,->Low,High,trip)
ground.slidetime = 5 ;Время, которое противник скользит назад
ground.hittime = 12 ;восстанавливает управление в комбо
ground.velocity = -3,-1 ;Откидывает врага если он стоит на земле X,Y
airguard.velocity = -1.0,-.8 ;Откидывает врага при защите в воздухе X,Y
air.velocity = -1,0 ;Откидывает врага при попадания удара в воздухе
air.type = High ;Тип аним. удара в воздухе(Нижний-Высокий-Откидывающий,->Low,High,trip)
air.hittime = 12 ;восстанавливает управление в воздухе
fall = 1 ;Раняет врага на спину

[State 221,End] ;Функция завершения кода
type = ChangeState
trigger1 = AnimTime = 0 ;Не закончится пока анимация не проиграет ВСЯ
value = 0 ;Переход на 0 стейл группу
ctrl = 1 ;Может двигаться после перехода

;---------------------------------------------------------
;++++++++++++++++++++++CMD-ФАЙЛ+++++++++++++++++++++++++++
;---------------------------------------------------------

[Command] ;Команда
name = "z" ;Название комманды
command = z ;Клавиша удара
time = 1 ;Время за которое надо нажать удар

;Strong Punch Fwd
[State -1, Strong Punch Fwd] ;Название стэйта
type = ChangeState
value = 221 ;Номер группы стейта
triggerall = command = "z" ;Название Команды
trigger1 = (statetype = s) && ctrl ;Контроль (Ctrl) тип атаки type = S-Стоя, С-Сидя, А-В воздухе
trigger2 = movehit ;При условии если HitDef или movecontact - при услови прикосновения к противнику
Manoichi
Дата: Пятница, 30.03.2012, 22:43 | Сообщение # 2
; Скажем смертельный удар сделаем сейчас :-)
[Statedef 221]
anim = 221 ;номер анимации
ctrl = 0 ;отключает Контроль во время удара или движения
type = S ;тип физики движения Стоя ( С- Сидя, А- В воздухе)
movetype = A ;Показывает что это атака ( активирует Clsn1 Красные рамки )
physics = S ;тип физики движения Стоя ( С- Сидя, А- В воздухе)
velset = 6,0 ;Движение в начале атаки
juggle = 1
poweradd = 30 ;Сколько прибавиться Энергии или Чакры
sprpriority = 1 ;приаритет спрайтов

;-----------------------------------
[State 221, SuperPause] – супер пауза
type = SuperPause
trigger1 = AnimElem = 1 ;– начинается с кадра первого
time = 150 ;– сколько времени она будет
anim = 700 ; – Номер анимации
sound = s2,0 ;– звук анимации
pos = 40,-10 ;– позиция анимации
movetime = 150 ;– сколько будешь двигаться ты во время супер паузы
darken = 1 ;– затемнение экрана, если 1 – то будет, если 0 – не будет
p2defmul = 1 ;если 1, Снимает заданное в damage = 10,10 котичество энергии при каждом ударе

[State 221,PlaySnd]
type = PlaySnd ;Тип озвучка спрайтов
trigger1 = animelem = 2 ; проиграть звук, номер спрайта
value = S20,3 ;Группа и номер звука \ если не стоит S то звуки считываются из common.snd
volume = 255 ;Громкость
channel = 1 ;Сколько каналов звука

[State 221, RunForward] ; Стэйт передвежения по экрану
type = VelSet ; тип функции передвежения по экрану Velset
trigger1 = 1 ;Выполнить всю анимацию
x = 20 ; координаты движения ( двигаться на 20 ед.)
const(velocity.run.fwd.x) ;Определение константы передвежения вперёд
trigger1 = animelem = 28 ; Анимация на которой будет передвижение и их может быть несколько...

[State 221,1] ;Начало функции атаки
type = HitDef ;Включает тип функции серий
trigger1 = AnimTime = 0 ;Проиграть все спрайты \ AnimElem = ? проиграть номер спрайта
attr = S,NA ;определяет признак Вашего хита (S,N,A--1-Стоя,2-Нормальное,3-Атака,можно комбинировать)

:---Эффект-тряски экрана
envshake.time = 30 ;=> Время тряски экрана при ударе
envshake.freq = 90 ;=> частота тряски экрана при ударе
envshake.ampl = 5 ;=> амплитуда тряски экрана при ударе
;-----------------------

damage = 9999,9999 ;Сколько % будет снимать атака припопадании, будет снимать атака припопадании по блоку
guardflag = MA
hitflag = MAF
priority = 1,Hit ;С какого удара начинается приаритет атаки
pausetime = 1,14 ;Первая цифра притормаживает бойца,2 цифра Огрушение врага
sparkno = 0 ;Номер эффекта при попадании
sparkxy = -10, -76 ;Коардинаты эффекта
hitsound = 3,1 ;Звук при попадании удара
guardsound = S16,0 ;Звук при попаданию по блоку
animtype = Hard ;Тип удара (Лёгкий-Средний,Тяжёлый,Жёсткий-> Light-Medium-Heavy-Hard--> и , Back)
ground.type = High ;Тип аним. удара(Нижний-Высокий-Откидывающий,->Low,High,trip)
ground.slidetime = 5 ;Время, которое противник скользит назад
ground.hittime = 12 ;восстанавливает управление в комбо
ground.velocity = -3,-1 ;Откидывает врага если он стоит на земле X,Y
airguard.velocity = -1.0,-.8 ;Откидывает врага при защите в воздухе X,Y
air.velocity = -1,0 ;Откидывает врага при попадания удара в воздухе
air.type = High ;Тип аним. удара в воздухе(Нижний-Высокий-Откидывающий,->Low,High,trip)
air.hittime = 12 ;восстанавливает управление в воздухе
fall = 1 ;Раняет врага на спину
;-----------
p2stateno = 9999 ; меняем анимацию врага => переходим на
;-----------

[State 221,End] ;Функция завершения кода
type = ChangeState
trigger1 = AnimTime = 0 ;Не закончится пока анимация не проиграет ВСЯ
value = 0 ;Переход на 0 стейл группу
ctrl = 1 ;Может двигаться после перехода если 0 то нет

;Меняем-анимацию-Врага------------------------------------------------------
[Statedef 9999]
type = S ;тип физики движения Стоя ( С- Сидя, А- В воздухе)
movetype = A ;Показывает что это атака ( активирует Clsn1 Красные рамки )
physics = S ;тип физики движения Стоя ( С- Сидя, А- В воздухе)
ctrl = 0 ;отключает Контроль во время удара или движения
anim = 9999 ;номер анимации <--- Пустой Спрайт для того что бы перса небыло видно
velset = 6,0 ;Движение в начале атаки
poweradd = 30 ;Сколько прибавиться Энергии или Чакры
sprpriority = 3 ;приаритет спрайтов

;---На его местерисуем другой Эффект--------------------------------
[State 0, SuperPause] – супер пауза
type = SuperPause
trigger1 = AnimElem = 1 ;– начинается с кадра первого
time = 0 ;– сколько времени она будет
anim = 700 ; – эффект при её появлении
sound = s2,0 ;– звук при её появлении
pos = -30,0 ;– позиция эффекта
movetime = 0 ;– сколько будешь двигаться ты во время супер паузы
darken = 1 ;– затемнение экрана, если 1 – то будет, если 0 – не будет

;-Выводим после надпись Фаталити-----------------------------------------------------------
[State 900, FatMessageL]
type = Explod ;Вызов Эффекта
triggerall = teamside = 1
trigger1 = time = 150 ;Время через которое выполниться Эффект
anim = F3011 ;Анимация Эффекта
pos = 80,80 ;координаты эффекта
postype = Left ;тип Вывода - слева
ontop = 1 ; поверх всего на экране
facing = 1 ;повернуться лицом к врагу
ownpal = 1

[State 900, FatMessageR]
type = Explod
triggerall = teamside = 2
trigger1 = time = 150 ;Время через которое выполниться Эффект
anim = F3011 ;Анимация Эффекта
pos = -80,80 ;координаты эффекта
postype = Right ;тип Вывода - справа
ontop = 1 ; поверх всего на экране
facing = 1 ;повернуться лицом к врагу
ownpal = 1
Manoichi
Дата: Пятница, 30.03.2012, 22:44 | Сообщение # 3
***** Работа со звуком *****
******************************
Возьмем за основу прошлый пример.....
-Смотрим--Простой пример №1- Скажем у нас Ультро из 3х ударов--а всего анимация состоит из скажем 15 спрайтов---

[Statedef 221] ; Делаем стэйт анимации
;---cod-----------
;------------------

[State 221,PlaySnd]
type = PlaySnd ;Тип озвучка спрайтов
trigger1 = animelem = 5 ; (Удар 1) - проиграть один и тот же звук, на все спрайты перед ударами
trigger2 = animelem = 10 ; (Удар 2)
trigger3 = animelem = 15 ; (Удар 3)
value = S20,3 ;Группа и номер звука \ если не стоит S то звуки считываются из common.snd
volume = 255 ;Громкость
channel = 1 ;Сколько каналов звука например - 2

;------тут тоже есть---------
[State 221,1] ;Начало функции атаки
type = HitDef ;Включает тип функции серий
trigger1 = AnimTime = 0 ;Проиграть все спрайты \ AnimElem = ? проиграть номер спрайта
attr = S,NA ;определяет признак Вашего хита (S,N,A--1-Стоя,2-Нормальное,3-Атака,можно комбинировать)

:---Эффект-тряски экрана
envshake.time = 30 ;=> Время тряски экрана при ударе
envshake.freq = 90 ;=> частота тряски экрана при ударе
envshake.ampl = 5 ;=> амплитуда тряски экрана при ударе
;-----------------------

damage = 9999,9999 ;Сколько % будет снимать атака припопадании, будет снимать атака припопадании по блоку
guardflag = MA
hitflag = MAF
priority = 1,Hit ;С какого удара начинается приаритет атаки
pausetime = 1,14 ;Первая цифра притормаживает бойца,2 цифра Огрушение врага
sparkno = 0 ;Номер эффекта при попадании
sparkxy = -10, -76 ;Коардинаты эффекта
hitsound = 3,1 ;Звук при попадании удара
guardsound = S16,0 ;Звук при попаданию по блоку
animtype = Hard ;Тип удара (Лёгкий-Средний,Тяжёлый,Жёсткий-> Light-Medium-Heavy-Hard--> и , Back)
ground.type = High ;Тип аним. удара(Нижний-Высокий-Откидывающий,->Low,High,trip)
ground.slidetime = 5 ;Время, которое противник скользит назад
ground.hittime = 12 ;восстанавливает управление в комбо
ground.velocity = -3,-1 ;Откидывает врага если он стоит на земле X,Y
airguard.velocity = -1.0,-.8 ;Откидывает врага при защите в воздухе X,Y
air.velocity = -1,0 ;Откидывает врага при попадания удара в воздухе
air.type = High ;Тип аним. удара в воздухе(Нижний-Высокий-Откидывающий,->Low,High,trip)
air.hittime = 12 ;восстанавливает управление в воздухе
fall = 1 ;Раняет врага на спину
;-----------
-Смотрим--Простой пример №2- Скажем у нас Ультро из 3х ударов--а всего анимация состоит из скажем 15 спрайтов---на каждый удар отдельный звук....
[Statedef 221] ; Делаем стэйт анимации
;--------------
[State 221,PlaySnd]
type = PlaySnd ;Тип озвучка спрайтов
trigger1 = animelem = 5 ; (Удар 1) - проиграть один и тот же звук, на все спрайты перед ударами
value = S20,3 ;Группа и номер звука \ если не стоит S то звуки считываются из common.snd
volume = 255 ;Громкость
channel = 1 ;Сколько каналов звука например - 2

type = PlaySnd ;Тип озвучка спрайтов
trigger1 = animelem = 10 ; (Удар 2) - проиграть один и тот же звук, на все спрайты перед ударами
value = S201,3 ;Группа и номер звука \ если не стоит S то звуки считываются из common.snd
volume = 255 ;Громкость
channel = 1 ;Сколько каналов звука например - 2

type = PlaySnd ;Тип озвучка спрайтов
trigger1 = animelem = 15 ; (Удар 3) - проиграть один и тот же звук, на все спрайты перед ударами
value = S20,3 ;Группа и номер звука \ если не стоит S то звуки считываются из common.snd
volume = 255 ;Громкость
channel = 1 ;Сколько каналов звука например - 2
Manoichi
Дата: Пятница, 30.03.2012, 22:44 | Сообщение # 4
****** Работа С Ордерами *******
********** В MUGEN *************
Привет всем!
Возможно ли сделать так чтобы перс из игры не мог выбраться компом а только мною? --- > конечно ДА

ПРИЧЁМ ОЧЕНЬ ПРОСТО !!!!
--------------------------------------------
приведу пример: скажем у тебя 7 персов и ты хочешь сделать так чтобы перс из игры не мог выбраться компом а только тобой ...
>> Мы ещё сделаем что бы они шли попорядку ..... Смотри исходник внизу

Jago2,order = 2.......это будет 1
Thunder,order = 3.......это будет 2
Glacius2,order = 4.......это будет 3
Glacius,order = 5.......это будет 4
Fulgore2,order = 6.......это будет 5
Combo2....................Этого комп не сможет выбрать
Cinder....................Этого комп не сможет выбрать

а в низу файла в arcade.maxmatches указваешь примерно следующее
arcade.maxmatches = 0,2,3,4,5,6 >>> заметь что все начинается с 0
сейчас обьясню что сее значит
количество цифр означает чесле персов с которыми ты будешь драться когда будешь проходить игру... унас их каквидишь >>> 5 смотри выше.... Нумирация начинается с 2ки , 0 не считаешь !!!!
-------
едем дальше, 0 тут мы, так скажем обруливаем наших стандартных играков в нашем случае 2х >> Combo2 и Cinder если мы тут поставим 2 то у нас сначало будут идти на Рандоме ( тобешь в проезвольном порядке, наши 2 перса Combo2 и Cinder тобешь как ты уже понимаешь у на в бою будут учавствовать ухе не 5 а все 7 персов но они тобешь, Combo2 и Cinder будут идти первыми..А дальше все по нумирации ... ДОСТУПНО ОБЬЯСНЯЮ
---------------------
Даже если мы с пронумируем ТАК
Combo2,Stages/Combo2.def,order = 1
Cinder,Stages/Cinder.def............А тут не тронем , или наоборот
>>> Combo2 и Cinder всё равно будут идти как ранше в тобешь в проезвольном порядке..
-----------------------
ЗАПОМНИ НУМИРАЦИЯ ПОРЯДКА НАЧИНАЕТЬСЯ С 2 так например ты можешь выставить босов...........
------------------------
Разберём другой пример скажем у нас также как и было 7 персов мы сделаем что бы наш Combo2 последним а Cinder был первым - ниже наш изменённый исходник
---------------------------------------------------------------------------
Cinder,order = 1.......это будет 1
Jago2,order = 2.......это будет 2
Thunder,order = 3.......это будет 3
Glacius2,order = 4.......это будет 4
Glacius,order = 5.......это будет 5
Fulgore2,order = 6.......это будет 6
Combo2,order = 7.......это будет 7

а в низу файла в arcade.maxmatches указваем следующее
arcade.maxmatches = 1,2,3,4,5,6,7 >>> заметь что все начинается теперь с 1
----------
Как я и говорил раньше первая цыфра ( Это персы которые идут первые, но в произвольном порядке, а дальше всё по номерам тобешь как ты я надеюсь понял.
мы могли первого перса копорый идёт в произвольном порядке в нашем случае это Cinder не нумировать а просто оставить так Cinder без order = 1
но как ты наверно догадался по примеру который был выше, если мы эту единицу заменим на 0 то мы обрулим этого Cinder, и естественно парвым уже будет тот
перс который идёт по нумирации начиная с Двойки (2)
----------
в arcade.maxmatches у нас добавилась одна цифра 7 это как ты мог заметить наш Combo2.......
ЕЩЁ РАЗ ПОВТАРЯЮ ЗАПОМНИ НУМИРАЦИЯ ПОРЯДКА НАЧИНАЕТЬСЯ С 2
Manoichi
Дата: Пятница, 30.03.2012, 22:45 | Сообщение # 5
Чтобы Добавить Фаталити для MKP:
- нужно перейти в .CMD файл персонажа. Найти там такие строки:
;-[Finishers]----------------------------------------------------
[Command]
name = "fatal" <--- название команды, можно писать любое но нужно чтобы сходилось со стэйтом который будет ниже.
command = F,F,F <--- команда выполнения (вперед, вперед, вперед).
time = 35 <--- это не трогать.

Скопируй это, в .cmd файл персонажа - которому ты хочешь добавить фаталити.
далее в этом же файле .cmd(файл откуда ты берешь стэйты на выполнение фаталити), нужно отыскать такие строки:

[State -1,fatal]
type = ChangeState
value = 3000 <--- номер стэйта фаталити.
triggerall = p2bodydist X < 10
triggerall = command = "fatal" <--- имя комманды, точь в точь как в первом стэйте.
triggerall = p2stateno = 9010
trigger1 = statetype = S
trigger1 = ctrl = 1

скопируй это, и добавь в .cmd файл персонажа которому ты добавляешь фаталити.

Далее, нам нужно отыскать номер стэйта фаталити(в данном случае 3000). Обычно они находятся в файлах Finishers.st или Fatality.st.

Пример:

;-------FATAL
[Statedef 3000] <--- вот он самый, номер стэйта.
type = S
movetype= A
physics = S
velset = 0,0,0
anim = 3380 <--- анимация добивания. Нужно зайти в .air файл этого персонажа скопировать ее и добавить в .air файл персонажа, которому ты доб. фат.
ctrl = 0

[State 1200, BoltFat]
type = Explod
trigger1 = time = 17
anim = 3381
postype = p1
sprpriority >= 2

[State 9130, SetFatal]
type = Varset
trigger1 = movehit
V = 4
value = 1

[State 1200, ZappySound]
type = PlaySnd
trigger1 = AnimElem = 3
value = 5, 13
;channel = 4

[State 1200, Za]
type = VelSet
trigger1 = time = 1
trigger2 = Vel Y != 0
y = 0

[State 1200, BoltFat]
type = Hitdef
trigger1 = AnimElem = 5
velocity = 8, 0
remvelocity = 0, 0
; HitDef part of projectile info
attr = S, NT
animtype = Hard
air.animtype = Back
air.fall = 1
fall.recover = 0
numhits = - 1
guardflag = HL
pausetime = 0,0
sparkno = -1
p2stateno = 3384
guard.sparkno = -1
hitsound = s4,17
guardsound = s4,17
ground.type = High
kill = (Var(9) = 0)
fall.kill = (Var(9) = 0)
guard.kill = (Var(9) = 0)

[State 1200, BoltFat]
type = Explod
trigger1 = time = 96
anim = 3382
postype = p2
sprpriority >= 2
pos = -30, -5

[State 200, 7]
type = Selfstate
trigger1 = Animtime = 0
value = 0
ctrl = 1

Сохрани все файлы. Должно работать.
Manoichi
Дата: Пятница, 30.03.2012, 22:45 | Сообщение # 6
ГОТОВЫЙ, КАЧЕСТВЕННЫЙ КОД ФАИРБОЛА

===============Для *st
[Statedef 1000] ;номер
type = S
movetype= A
physics = S
juggle = 5
ctrl = 0
velset = 0,0
sprpriority = 2 ;Слой
anim = 1000 ;Анимация первого игрока

[State 1000, Pos] ;Лучше не трогать, чтобы не возникало багов с АИ
type = posset
trigger1 = Time = 0
Y = 0

[State 1000] ;Чтобы АИ не делал часто этот приём
type = Explod
trigger1 = time = 0
anim = 888
ID = 1000
removetime = 300 ;Промежуток времени для АИ, через сколько он сможет сделать приём

[State 1000, Sound]
type = playsnd
trigger1 = time = 6
value = 0,0 ;звук вылета фаирбола

[State 1000, Raketa]
type = helper
trigger1 = animelem = 3
stateno = 1001 ;Номер стейтдефа фаирбола
ID = 1011
;size.xscale = .25 ;размер фаирбола по горизонтали
;size.yscale = .25 ;размер фаирбола по вертикали
pos = -20,-90 ;Позиция
ownpal = 1

[State 1000, End]
type = changestate
trigger1 = animtime = 0
ctrl = 1
value = 0
;_______________________________________________________
[Statedef 1001]
type = S
movetype= A
physics = S
juggle = 2
sprpriority = 1
anim = 7015

[State 1001]
type = veladd
trigger1 = 1
X = 8 ;скорость движения фаирбола по горизонтали
;Y = 0 ;скорость движения фаирбола по вертикали

[State 1011, Sound]
type = Playsnd
trigger1 = movecontact ;При попадании в блок работает
;trigger1 = movehit ;Только при попадании без блока, при использовании уберите триггер выше.
value = 0,0 ;звук фаирбола при попадании в противника

[State 1001, Effect P2] ;Эффект второго игрока при столкновении
type = explod
trigger1 = movecontact ;При попадании в блок работает
;trigger1 = movehit ;Только при попадании без блока, при использовании уберите триггер выше.
postype = p2
pos = 0,-55
;scale = 1,1 ;Размер вспышки
anim = F0 ;Анимация с Fightx.sff, если анимация в игроке, то сотрите F
sprpriority = 1
bindtime = -2
ownpal = 1

[State 1001, Hit]
type = HitDef
trigger1 = time = 0
attr = S,NA
getpower = 0
animtype = Hard
damage = 180, 100 ;(без блока, в блоке)
guardflag = MA
hitflag = MAFP
priority = 4
animtype = Light
air.animtype = Back
air.fall = 1
spakno = -1
guardflag = HL
pausetime = 0,10
p2stateno = 21238 ;стейтдеф второго игрока при столкновении без блока
kill = (parent,Var(9) = 0)
fall.kill = (parent,Var(9) = 0)
guard.kill = (parent,Var(9) = 0)
;palfx.time = 60
;palfx.add = 250,33,33
;palfx.sinadd = 100,50,0,90

[State 1001, End]
type = DestroySelf
trigger1 = movecontact
trigger2 = time = 100

========Для *cmd:

[State 1000, Fireball]
type = ChangeState
value = 1000
triggerall = (p2stateno != 9010) && (statetype = S) && (vel X = 0) && (vel Y = 0)
trigger1 = command = "unnamed" ;имя команды
trigger2 = var(50) = 1 || AiLevel = 1
trigger2 = numexplod(1000) < 1
Manoichi
Дата: Пятница, 30.03.2012, 22:46 | Сообщение # 7
Эффект заморозки противника, в любом ударе просто прописывается p2StateNo переход противника на этот стейт..1005.
-------------------------------------------------------------------------------------------------------------------------------------------- -------------------
[Statedef 221]
anim = 221 ;номер анимации
ctrl = 0 ;отключает Контроль во время удара или движения
type = S ;тип физики движения Стоя ( С- Сидя, А- В воздухе)
movetype = A ;Показывает что это атака ( активирует Clsn1 Красные рамки )
physics = S ;тип физики движения Стоя ( С- Сидя, А- В воздухе)
velset = 6,0 ;Движение в начале атаки
juggle = 1
poweradd = 30 ;Сколько прибавиться Энергии или Чакры
sprpriority = 1 ;приаритет спрайтов

[State 221,PlaySnd]
type = PlaySnd ;Тип озвучка спрайтов
trigger1 = animelem = 2 ;проиграть звук, номер спрайта
value = S20,3 ;Группа и номер звука \ если не стоит S то звуки считываются из common.snd
volume = 255 ;Громкость
channel = 1 ;Количество каналов

[State 221,1] ;Начало функции атаки
type = HitDef ;Включает тип функции серий
trigger1 = Time = 0 ;Проиграть все спрайты \ AnimElem = ? проиграть номер спрайта
attr = S,NA ;определяет признак Вашего хита (1-Стоя,2-Нормальное,3-Атака)
damage = 10,0 ;Сколько % будет снимать атака припопадании, будет снимать атака припопадании по блоку
guardflag = MA
hitflag = MAF
priority = 1,Hit ;С какого удара начинается приаритет атаки
pausetime = 1,14 ;Первая цифра притормаживает бойца,2 цифра Огрушение врага
sparkno = 0 ;Номер эффекта при попадании
sparkxy = -10, -76 ;Коардинаты эффекта
hitsound = 3,1 ;Звук при попадании удара
guardsound = S16,0 ;Звук при попаданию по блоку
animtype = Hard ;Тип удара (Лёгкий-Средний,Тяжёлый,Жёсткий-> Light-Medium-Heavy-Hard--> и , Back)
ground.type = High ;Тип аним. удара(Нижний-Высокий-Откидывающий,->Low,High,trip)
ground.slidetime = 5 ;Время, которое противник скользит назад
ground.hittime = 12 ;восстанавливает управление в комбо
ground.velocity = -3,-1 ;Откидывает врага если он стоит на земле X,Y
airguard.velocity = -1.0,-.8 ;Откидывает врага при защите в воздухе X,Y
air.velocity = -1,0 ;Откидывает врага при попадания удара в воздухе
air.type = High ;Тип аним. удара в воздухе(Нижний-Высокий-Откидывающий,->Low,High,trip)
air.hittime = 12 ;восстанавливает управление в воздухе
fall = 1 ;Раняет врага на спину

P2StateNo = 1005 ; Вот тут мы переводим противника на 1005 стейт ( На эффект ЗАМОРОЗКИ )

[State 221,End] ;Функция завершения кода
type = ChangeState
trigger1 = AnimTime = 0 ;Не закончится пока анимация не проиграет ВСЯ
value = 0 ;Переход на 0 стейл группу
ctrl = 1 ;Может двигаться после перехода

;-----------------------------------------------

; Теперь накладываем на противника эффект заморозки
[Statedef 1005]
type = S
movetype= U
physics = N
velset = 0,0

[State 1005, attempt]
type = Varset
trigger1 = time = 0
V = 23
Value = Anim

[State 1005, freeze in anim]
type = Changeanim
trigger1 = time != 0
value = Var(23)

[State 1005, Frosty color]
type = palFX
trigger1 = time != 0
add = 49,153,221
mul = 70, 160, 170
time = 2

[State 1005, VELSET]
type = velset
trigger1 = time = 0
X = 0
Y = 0

[State 1005, CS]
type = SelfState
trigger1 = time = 200
trigger1 = Pos Y > -1
value = 0
ctrl = 1

[State 1005, CZ]
type = ChangeState
trigger1 = time = 200
trigger1 = Pos Y < 0
value = 1006

[Statedef 10055]
type = S
movetype= U
physics = N
velset = 0,0

[State 10055, attempt]
type = Varset
trigger1 = time = 0
V = 23
Value = Anim

[State 10055, freeze in anim]
type = Changeanim
trigger1 = time != 0
value = Var(23)

[State 10055, Frosty color]
type = palFX
trigger1 = time != 0
add = 49,153,221
mul = 70, 160, 170
time = 2

[State 10055, VELSET]
type = velset
trigger1 = time = 0
X = 0
Y = 0

[State 10055, CS]
type = SelfState
trigger1 = time = 2
trigger1 = Pos Y > -1
value = 0
ctrl = 1

[State 10055, CZ]
type = ChangeState
trigger1 = time = 2
trigger1 = Pos Y < 0
value = 1006
;-------------------------------------------------------------
; Drops if
[Statedef 1006]
type = S
movetype= H
physics = N
velset = 0,4
ctrl = 0
anim = 5070

[State 1006, VELADD]
type = Veladd
trigger1 = Pos Y < 0
Y = .75

[State 1006, Hit ground A]
type = Velset
trigger1 = Pos Y > 0
Y = 0

[State 1006, Hit ground A]
type = Posset
trigger1 = Pos Y > 0
trigger1 = Vel Y = 0
Y = 0

[State 1006, Hit Ground C]
type = SelfState
trigger1 = vel Y = 0
trigger1 = Pos Y = 0
value = 5100
ctrl = 1
Manoichi
Дата: Пятница, 30.03.2012, 22:46 | Сообщение # 8
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 , надменно значения 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

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

Необходимые параметры:

time = новая_продолжительность (целое)

Выбирается новое число тиков для отображения шлейфа, по окончанию тиков он уберётся с экрана.

Альтернативный синтаксис:

value = новая_продолжительность (целое)
Tiroh
Дата: Пятница, 09.08.2013, 20:20 | Сообщение # 9
Круто сейчас же попробую.

Добавлено (09.08.2013, 20:20)
---------------------------------------------
Что такое *st

Vadzim_Kuchta
Дата: Пятница, 31.01.2014, 22:46 | Сообщение # 10
scorpion
Дата: Вторник, 12.08.2014, 19:35 | Сообщение # 11
Мало того,что "стащили",но и автора даже не указали. dry
MUGEN WORKS - ANIME,CHARACTERS,STAGES,SCREENPACK,LIFEBAR » M.U.G.E.N » Туториалы / Tutorials » Кодинг CMD и CNS и т.д.
  • Страница 1 из 1
  • 1
Поиск: