[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ] |
|
|
Модератор форума: Manoichi, Ronnie, Skamp |
MUGEN WORKS - ANIME,CHARACTERS,STAGES,SCREENPACK,LIFEBAR » M.U.G.E.N » Туториалы / Tutorials » Кодинг CMD и CNS и т.д. |
Кодинг CMD и CNS и т.д. | |||
;-- Созадание Удара-------------------------------------------------------
;++++++++++++++++++++++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 - при услови прикосновения к противнику
| |||
; Скажем смертельный удар сделаем сейчас :-)
[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
| |||
***** Работа со звуком *****
****************************** Возьмем за основу прошлый пример..... -Смотрим--Простой пример №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
| |||
****** Работа С Ордерами *******
********** В 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
| |||
Чтобы Добавить Фаталити для 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 Сохрани все файлы. Должно работать.
| |||
ГОТОВЫЙ, КАЧЕСТВЕННЫЙ КОД ФАИРБОЛА
===============Для *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
| |||
Эффект заморозки противника, в любом ударе просто прописывается 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
| |||
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 = новая_продолжительность (целое)
| |||
Дата: Пятница, 31.01.2014, 22:46 | Сообщение # 10 | |||
| |||
| |||