Вы вошли как: Гость      
[ Новые сообщения · Участники · Правила форума · Поиск]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум » Общие вопросы по MUGEN » Работа со спрайтами и Кодинг » Кодинг для НАЧИНАЮЩИХ - Создание Бойца (Учимся прописывать удары)
Кодинг для НАЧИНАЮЩИХ - Создание Бойца
OzXakerДата: Понедельник, 26.03.2012, 11:05 | Сообщение # 1
Мастер
Группа: Главный Администратор - Сайта
Сообщений: 159
Статус: Не в сети
Созадание Удара

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


 
OzXakerДата: Понедельник, 26.03.2012, 11:06 | Сообщение # 2
Мастер
Группа: Главный Администратор - Сайта
Сообщений: 159
Статус: Не в сети
как сделать чтоб появлялась картинка перед супер атакой?ну например лицо твоего перса
просто прописываешь как простой эффект в SuperPause

;-----------------------------------
[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 котичество энергии при каждом ударе
--------------------------------------------------------------------------------------------------------------------------------
только не забудь поставить прозрачность на этот спрайи в Fighter Factory ...... happy


 
OzXakerДата: Понедельник, 26.03.2012, 11:09 | Сообщение # 3
Мастер
Группа: Главный Администратор - Сайта
Сообщений: 159
Статус: Не в сети
вот скажем пример: я сей час поставлю картинку на заставку перед боем на 191 стейт
--------------------------------------------------------------------------------------------------------------------
; Стойка Перед боем
[Statedef 191] ; Стэйт начальной анимации
type = S ;тип физики движения Стоя ( С- Сидя, А- В воздухе)
ctrl = 0 ;отключает Контроль во время удара или движения
anim = 190 ;номер анимации
velset = 0,0 ;Движение в начале атаки

[State 191,PlaySnd] ;Определяем Стэйт для проигрывания звуков
type = PlaySnd ; Тип проигрывания звуков
trigger1 = animelem = 1 ;На каком спрайте проигрывать звук
value = S0,1 ;Адрес звука ( Если без буквы S-то из обших звуков...1-группа,2-номер мелодии
volume = 255 ;Громкость звука
channel = 1

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


[State 191, 1] ; Стэйт следующей анимации
type = ChangeState ;
trigger1 = AnimTime = 0 ;Проиграть всю анимацию
value = 0 ;Переходим и проигрывам в группу 0 в Air ( Стойка )

-------------------------------------------------------------------------------------------------------------------------------------------- ---

;есть ещё 1 вариант как вывести картинку ....

[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


его можешь вставить в любой стэйт


 
OzXakerДата: Понедельник, 26.03.2012, 11:14 | Сообщение # 4
Мастер
Группа: Главный Администратор - Сайта
Сообщений: 159
Статус: Не в сети
Вот смотри как управлять размером эффектов ..разберём - наш прошлый пример....
---------------------------------------------------------------------------------------
[State 900, Effect_L]
type = Explod ;Вызов Эффекта
triggerall = teamside = 1
trigger1 = time = 150 ;Время через которое выполниться Эффект
anim = F3011 ;Анимация Эффекта
pos = 80,80 ;координаты эффекта
scale = .9,.9 ; Размер ЭФФЕКТА
postype = Left ;тип Вывода - слева
ontop = 1 ; поверх всего на экране
facing = 1 ;повернуться лицом к врагу
ownpal = 1

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


 
OzXakerДата: Четверг, 29.03.2012, 09:28 | Сообщение # 5
Мастер
Группа: Главный Администратор - Сайта
Сообщений: 159
Статус: Не в сети
Drummer86, Так можно установить приоритет над спрайтами....
С помощью контройлеров - sprpriority = приоритетность (целое) и ontop = значение (булево, 0 или 1) - Пример: sprpriority = 1 или ontop = 1

(Описание ниже )




sprpriority = приоритетность (целое)
Указывает приоритетность рисования эксплода. Анимации с более высокой приоритетностью будут нарисованы поверх анимаций с более низкой приоритетностью. Для примера, если sprpriority = -3, то при этом эксплод будет показываться под большинством бойцов и их эксплодами, которые обычно имеют приоритетность >= -2. По умолчанию 0, если не учтено.
------------------------------------------------------------------------------
ontop = значение (булево, 0 или 1)
Выбрать 1, чтобы эксплод был прорисован поверх всех спрайтов и слоев арен. Этот параметр имеет превосходство над sprpriority. По умолчанию 0.




ВОТ ЕЩЁ ПРИМЕР УПРАВЛЕНИЯ ПРИАРИТЕТОМ СПРАЙТОВ




 
OzXakerДата: Воскресенье, 13.05.2012, 13:22 | Сообщение # 6
Мастер
Группа: Главный Администратор - Сайта
Сообщений: 159
Статус: Не в сети
Renjmon, ВОТ НА ДЕРЖИ ... ОН РАБОТАЕТ smile
-------------------------------------
;-----CMD-------

[command]
name = "Charge"
command = /s
time = 1

[State -1,Charge]
type = ChangeState
value = 900
triggerall = command ="Charge"
triggerall = power < powermax
trigger1 = statetype = S
trigger1= ctrl = 1

;-----CNS-------

[Statedef 900]
type = S
movetype = I
physics = S
anim = 7781
ctrl = 0
sprpriority = 2

[State 900, Playsound]
type = playsnd
trigger1 = time = 0
value = s20,2
channel = 0

[State 900, Pulse]
type = Explod
triggerall = command = "Charge"
trigger1 = power trigger1 = animtime = 0
anim = 7780
pos = 10,0
shadow = 0
scale = .5,.5
sprpriority = 18
removetime = 34

[State 900,Power]
type = PowerAdd
triggerall = command = "Charge"
trigger1 = power value = time/8

[State 900,5]
type = ChangeState
trigger1 = power >= powermax
trigger1 = AnimTime = 0
trigger2 = command != "Charge"
value = 0
ctrl = 1


 
RenjmonДата: Воскресенье, 13.05.2012, 15:25 | Сообщение # 7
Начинающий
Группа: Заслуженный
Сообщений: 8
Статус: Не в сети
Код ошибки: invalid trigger: trigger1
Error parsing trigger 1,1
OzXaker, а ты на каком магене её тестил???
У меня просто RC8+ баттле кри бета.

Добавлено (13.05.2012, 14:07)
---------------------------------------------
А нет всё работает!!!!!

Добавлено (13.05.2012, 15:25)
---------------------------------------------
Мелочь а важно!!
[State 900, Pulse] спцифект
type = Explod -тип
triggerall = command = "Charge" -команда
trigger1 = power - сила и вот тут весь замес. Если ставить просто power- то персонаж в дальнейшем будет набирать силу только после того, как вы сделаете первый удар или наоборот получите по репе.
А вот если поставить powermax то сила будет набиратся сразу.
trigger1 = animtime = 0 -будут ли проигрыватся спрайты. Если ставить 1- то спецыфекта не увидеть а вот если поставить -1 то специфекты будет не только видно но ещё вас не будут трогать во время чарджинга. (Просто проскочат сквозь вашего перса-читерство!)
anim = 7780 - ну номер анимации.
pos = 10,0 -поза анимации
shadow = 0 -этот параметр то же каким то образом влияет на повербар. Оо у меня лично стоит 1 и сила набирается сразу. А вот если 0 то сила не будет набиратся сразу же.
scale = .5,.5 -размер специфекта.
sprpriority = 18 -приоритет
removetime = 34 - это показатель того, через сколько спрайты будут исчезать или какое время она будет проигрыватся. И если поставить очень низкое число, то (я поставил 5) то у меня просто выскакивала одна застывшая картинка. Так что думаю чем число больше, тем будет лучше.
 
OzXakerДата: Воскресенье, 13.05.2012, 16:42 | Сообщение # 8
Мастер
Группа: Главный Администратор - Сайта
Сообщений: 159
Статус: Не в сети
Renjmon, ПРОЗРАЧНЫЕ СПРАЙТЫ МОЖНО СДЕЛАТЬ ЧЕРЕЗ .... FF и FFU




 
RenjmonДата: Понедельник, 04.06.2012, 09:01 | Сообщение # 9
Начинающий
Группа: Заслуженный
Сообщений: 8
Статус: Не в сети
Имею вопрос. Хочу написать одному чару код парирования. (Ниже приведён код из парирования Раре акумы. И код, хоть каким местом вы его ставьте у вас не попрёт если его не переписать как надо). Так вот и у меня вопрос. Как закодировать парирование.
[Statedef 700]-номер стейта это я помню. (У себя моня прописать другой).
type=U -Тип.
physics=N (физ тип или чото типа того)
movetype=I (то же какой то тип, я не знаю, я блондин )
anim=700 -ну тут понятно анимация.
velset=0,0
ctrl=0
sprpriority=2 - приоритет спрайтов
poweradd=78 - добавление силы (Да-да, ровно как при ударах)

[State 700, hb]- так теперь вот что это такое??
type=hitby- тип стейта, но что он значит мне непонятно.
trigger1= 1 -Триггер(пусковик. И почему прописано тока 1?)
value=SCA,AT
time=1

[State 700, stop] - ну это понятно, остановка.
type=posfreeze - замораживает при контакте вроде.
trigger1= 1 -пусковик.
value=1

[State 700, pause] - пауза
type=pause - тип команды.
trigger1= !time && var(20)<=0 (вот это что значит и для чего написано?? Оо)
time=15
movetime=15
endcmdbuftime=15
pausebg=0

[State 700, pause] -А нафига вторая пауза?? Оо
type=pause
trigger1= !time && numenemy && var(20)<=0
trigger1= (enemynear,movehit=1)
time= ifelse((enemynear,hitpausetime=[0,15]), 15-(enemynear,hitpausetime), 0)
movetime= ifelse((enemynear,hitpausetime=[0,15]), 15-(enemynear,hitpausetime), 0)
endcmdbuftime= ifelse((enemynear,hitpausetime=[0,15]), 15-(enemynear,hitpausetime), 0)
pausebg=0

[State 700, blueflash]
type=palfx
trigger1= !time
add=0,50,255
sinadd=0,-50,-255,60
time=15

[State 700, snd]
type=playsnd
trigger1= !time
value=3,(random<500)
channel=0
freqmul=ifelse(ishelper, 1.5, 1)

[State 700, snd]
type=playsnd
trigger1= !time
value=7,3
[State 700, spark]
type=explod
trigger1= animelem=2
anim=7200
ID=7200
sprpriority=5
postype=p1
pos=36,-65
pausemovetime=60
ownpal=1
scale=.5,.5

[State 700, nowalk]
type=assertspecial
trigger1= 1
flag=nowalk

[State 700, end]
type=changestate
trigger1= !animtime
value=ifelse(statetype=A, 51, 0)
ctrl=1
Вот и ответте мне. Можно и как то этот код сократить что бы был не такой длинный и что бы было понятно для чего это пишется, как и зачем??

Добавлено (04.06.2012, 09:01)
---------------------------------------------
Да народ, очень важный момент при создании даже простенького бойца.
Думаю что все с этим сталкивались.
Допустим вы написали код удара в CNS фаайле, прописали как положено статы и прочее,
а затем вы пишите в CMD саму команду, пусть это будет:
[command]
name = "Parry"
command = a+b
time = 2

Затем в как положено прописываете все соответствующие константы внизу, сохраняете персонажа и пытаетесь его запустить. И в ответ вам сообщение (Error library command ******- имя команды).
И вы в недоумении начинаете пробовать разные комбинации кнопок в надежде что какая либо опознается.
Сразу скажу. Забуддте про это.
Просто в константах управления где идёт код самой команды в строке:
triggerall = command =(ваша команда) тупо пропишите Parry и оставьте всё как есть.
(по крайней мере с командой Charge это прокатило, думаю и с другими подействцует).
Надеюсь это вам помогло.

 
ScorpionДата: Вторник, 05.06.2012, 09:30 | Сообщение # 10
Профессионал
Группа: Главный Администратор - Сайта
Сообщений: 126
Статус: Не в сети
Renjmon, вот держи тутор -нашел на английском сайте (переведенный гуглом)-я сначала на русском копирну а потом на английском.
=========Парированиe===============
=========
Парирующий
=========
Автор: FlowaGirl
flowergirl@cutey.com
http://blargh.i-xcell.com

-------------------------------------------------- -------------------------
Эта функция была родом из SF3, и это возможность блокировать
атаковать и быть немедленно предоставлена ​​возможность принять ответные меры.

Для выполнения парировать, вы должны нажать вперед в момент нападения составляет около
чтобы поразить вас. Надавите на низких атак.

Эта версия основана на версии CvS2, поэтому она не включает в себя
дополнительных функций, которые были в SF3, гвардии Парри, и Нижний воздушных Пэрри.
-------------------------------------------------- -------------------------

Положите эти государства под -2/-3 StateDef. Var (0) используется для того времени парировать
активна, и Var (1) используется для определения момента, когда вы впервые нажмите
вперед / вниз направленный ключ для выполнения этого.

[Государство -2: Null]
тип = Null
trigger1 = (! времени) && (Var (1) = 0)
trigger1 = ((Command = "holdfwd") && (StateNo = 20)) ^ ^ ((Command = "крепежный") && (StateNo = [10,11]))
trigger1 = (Var (0): = Прохладный
trigger2 = (Command! = "holdfwd") && (Command! = "крепежный") && (Var (1) = 1)
trigger2 = (Var (1): = 0)
ignorehitpause = 1

[Государство -2: VarAdd]
тип = VarAdd
trigger1 = (Var (0)> 0)
ж (0) = -1
ignorehitpause = 1

Это используется для парирования в воздухе во время прыжка и во время воздушных парировать.
Примечание: *** 1 является основанием парировать государства, *** 2 в воздухе парировать государства, 3 ***
помощник для парирования воздуха и *** 4 парировать искры.

[Государство -2: Helper]
тип = Helper
trigger1 = ((StateNo = 50) | | (StateNo = *** 2)) && (Command = "holdfwd") && (NumHelper (*** 3) = 0)
helpertype = Нормальный
имя = "Air Парри"
ID = *** 3
POS = 0,0
postype = p1
перед = 0
stateno = *** 3
keyctrl = 0
ownpal = 1
supermovetime = 0
pausemovetime = 0
ignorehitpause = 1

Постоянно парировать государства.

[Государство -2: HitOverride]
тип = HitOverride
triggerall = (StateType! =) && (Ctrl) && (Var (0)> 0)
trigger1 = (Command! = "крепежный") && (Command! = "задержка")
Attr = SA, AA, AP
Слот = 0
stateno = *** 1
ignorehitpause = 1

Крадущийся парировать государства, для низких атак.

[Государство -2: HitOverride]
тип = HitOverride
triggerall = (StateType! =) && (Ctrl) && (Var (0)> 0)
trigger1 = (Command! = "holdfwd") && (Command! = "задержка")
Attr = C, AA, AP
Слот = 0
stateno = *** 1
ignorehitpause = 1

Антенна парировать государства.

[Государство -2: HitOverride]
тип = HitOverride
triggerall = ((StateNo = 50) | | (StateNo = *** 2)) && (Var (0)> 0)
trigger1 = (Command! = "крепежный") && (Command! = "задержка")
Attr = SCA, А. А., А. П.
Слот = 0
stateno = *** 2
ignorehitpause = 1

И теперь, парировать государств.

[Statedef *** 1]
тип = U
movetype = I
физика = U
Anim = IfElse (StateType = S, ****, ****) <--- первое значение должно быть постоянно парировать аним, 2 являются корточках парировать аним.
velset = 0,0
Ctrl = 0
poweradd = 0
жонглировать = 0
facep2 = 1
hitdefpersist = 0
movehitpersist = 0
hitcountpersist = 0
sprpriority = 2

Необходимый материал.

[Государство *** 1: AssertSpecial]
тип = AssertSpecial
trigger1 = 1
флаг = NoWalk

[Государство *** 1: CtrlSet]
тип = CtrlSet
trigger1 = (Время> 4) && (StateType = S)
значение = 1

[Государство *** 1: NotHitBy]
тип = NotHitBy
trigger1 = 1
Значение = SCA

[Государство *** 1: Пауза]
type = пауза
trigger1 = (! время)
Время = 14
movetime = 14

[Государство *** 1: VarSet]
тип = VarSet
trigger1 = (! время)
VAR (1) = 1

Разные спецэффекты.

[Государство *** 1: PalFX]
тип = PalFX
trigger1 = (! время)
время = 8
добавить = 0,0,0
MUL = 256256256
sinadd = 75,100,255,8
invertall = 0
цвет = 256

[Государство *** 1: EnvColor]
тип = EnvColor
trigger1 = (! время)
Значение = 255255255
Время = 4

[Государство *** 1: EnvShake]
тип = EnvShake
trigger1 = (! время)
время = 8
частота = 60
ампл = -2
фаза = 90

Звуковых эффектов, если это необходимо. Один голос за персонажа, а другой для парирования искра звуковой эффект.

[Государство *** 1: PlaySnd]
тип = PlaySnd
trigger1 = (! время)
Значение = S *, *

[Государство *** 1: PlaySnd]
тип = PlaySnd
trigger1 = (! время)
Значение = S *, *

Это парировать искры.

[Государство *** 1: Explod]
тип = Explod
trigger1 = (! время)
Anim = ****
ID = ****
POS = (IfElse (StateType = S *, *)), (IfElse (StateType = S *, *)) <--- Первый набор координат используются на должность постоянного парирования искры, со 2-й , установленных для Крадущийся.
postype = p1
перед = 1
vfacing = 1
bindtime = 1
Вел = 0,0
ускорение = 0,0
случайный = 0,0
removetime = -2
supermove = 0
supermovetime = 0
pausemovetime = 12
шкала = 1,1
sprpriority = 3
OnTop = 0
тень = 0,0,0
ownpal = 1
removeongethit = 1

И это заканчивается земля парировать государства.

[Государство *** 1: ChangeState]
тип = ChangeState
trigger1 = (! AnimTime)
Значение = IfElse (StateType = S, 0,11)

Это воздушный парировать государства.

[Statedef *** 2]
тип =
movetype = I
физика = N
Anim = *** 2
Ctrl = 0
poweradd = 0
жонглировать = 0
facep2 = 0
hitdefpersist = 0
movehitpersist = 0
hitcountpersist = 0
sprpriority = 2

[Государство *** 2: CtrlSet]
тип = CtrlSet
trigger1 = (Время> 4)
значение = 1

[Государство *** 2: NotHitBy]
тип = NotHitBy
trigger1 = (Время <14)
Значение = SCA

[Государство *** 2: Пауза]
type = пауза
trigger1 = (! время)
Время = 14
movetime = 14

[Государство *** 2: VarSet]
тип = VarSet
trigger1 = (! время)
VAR (1) = 1

То же самое спецэффекты от земли состоянии парировать можно добавить здесь.
[PalFX]
[EnvColor]
[EnvShake]
[PlaySnd]

Они используются для проверки текущей прыжки персонажа скоростями и сохранить его для последующего использования.
FVar (0) используется для скорости X и FVar (1) Y скорости.

[Государство *** 2: Null]
тип = Null
trigger1 = (! время)
trigger1 = (FVar (0): = X Vel) && (FVar (1): = Vel Y)

Характер заморожен в течение парировать государства.

[Государство *** 2: VelSet]
тип = VelSet
trigger1 = (Время)
х = 0
у = 0
стойкие = 0

Но после 14 клещей, характер возобновится нормальное движение прыжками.

[Государство *** 2: VelSet]
тип = VelSet
trigger1 = (время> 14)
х = FVar (0)
у = FVar (1)
стойкие = 0

[Государство *** 2: VelAdd]
тип = VelAdd
trigger1 = (время> 14)
у = 0,45

Пэрри искры могут быть добавлены здесь.
[Explod]

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

[Государство *** 2: ChangeState]
тип = ChangeState
trigger1 = (Pos Y> = 0) && (Vel Y> 0)
значение = 52

Это состояние воздушной парировать помощника. Следует использовать невидимый аним, не Clsns.

[Statedef *** 3]
тип =
movetype = I
физика = N
Anim = *** 3
poweradd = 0
жонглировать = 0
facep2 = 0
hitdefpersist = 0
movehitpersist = 0
hitcountpersist = 0
sprpriority = 2

[Государство *** 3: ParentVarSet]
тип = ParentVarSet
trigger1 = (! время)
ж (0) = 8
ignorehitpause = 1

[Государство *** 3: DestroySelf]
тип = DestroySelf
trigger1 = (Родитель, команда! = "holdfwd")



=========
Parrying
=========
Author: FlowaGirl
flowergirl@cutey.com
http://blargh.i-xcell.com

---------------------------------------------------------------------------
This feature is was originally from SF3, and it is the ability to block an
attack and immediately be given the chance to retaliate.

To perform a parry, you must press forward the moment the attack is about
to hit you. Press down for low attacks.

This version is based on CvS2's version, so it does not include the
additional features that were in SF3; Guard Parry, and Lower Aerial Parry.
---------------------------------------------------------------------------

Put these states under StateDef -2/-3. Var(0) is used for the time the parry
is active, and Var(1) is used to detect the moment when you first tap the
forward/down directional key to perform it.

[State -2: Null]
type = Null
trigger1 = (!Time) && (Var(1) = 0)
trigger1 = ((Command = "holdfwd") && (StateNo = 20)) ^^ ((Command = "holddown") && (StateNo = [10,11]))
trigger1 = (Var(0) := Cool
trigger2 = (Command != "holdfwd") && (Command != "holddown") && (Var(1) = 1)
trigger2 = (Var(1) := 0)
ignorehitpause = 1

[State -2: VarAdd]
type = VarAdd
trigger1 = (Var(0) > 0)
var(0) = -1
ignorehitpause = 1

This is used for parrying in the air, while jumping and during the aerial parry.
Note: ***1 is the ground parry state, ***2 is the air parry state, ***3 is the
helper for air parrying, and ***4 is the parry spark.

[State -2: Helper]
type = Helper
trigger1 = ((StateNo = 50) || (StateNo = ***2)) && (Command = "holdfwd") && (NumHelper(***3) = 0)
helpertype = Normal
name = "Air Parry"
id = ***3
pos = 0,0
postype = p1
facing = 0
stateno = ***3
keyctrl = 0
ownpal = 1
supermovetime = 0
pausemovetime = 0
ignorehitpause = 1

The standing parry state.

[State -2: HitOverride]
type = HitOverride
triggerall = (StateType != A) && (Ctrl) && (Var(0) > 0)
trigger1 = (Command != "holddown") && (Command != "holdback")
attr = SA, AA, AP
slot = 0
stateno = ***1
ignorehitpause = 1

The crouching parry state, for low attacks.

[State -2: HitOverride]
type = HitOverride
triggerall = (StateType != A) && (Ctrl) && (Var(0) > 0)
trigger1 = (Command != "holdfwd") && (Command != "holdback")
attr = C, AA, AP
slot = 0
stateno = ***1
ignorehitpause = 1

The aerial parry state.

[State -2: HitOverride]
type = HitOverride
triggerall = ((StateNo = 50) || (StateNo = ***2)) && (Var(0) > 0)
trigger1 = (Command != "holddown") && (Command != "holdback")
attr = SCA, AA, AP
slot = 0
stateno = ***2
ignorehitpause = 1

And now, the parry states.

[Statedef ***1]
type = U
movetype = I
physics = U
anim = IfElse(StateType = S,****,****) <--- The first value should be the standing parry anim, 2nd being the crouching parry anim.
velset = 0,0
ctrl = 0
poweradd = 0
juggle = 0
facep2 = 1
hitdefpersist = 0
movehitpersist = 0
hitcountpersist = 0
sprpriority = 2

The required stuff.

[State ***1: AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = NoWalk

[State ***1: CtrlSet]
type = CtrlSet
trigger1 = (Time > 4) && (StateType = S)
value = 1

[State ***1: NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA

[State ***1: Pause]
type = Pause
trigger1 = (!Time)
time = 14
movetime = 14

[State ***1: VarSet]
type = VarSet
trigger1 = (!Time)
var(1) = 1

Miscellaneous special effects.

[State ***1: PalFX]
type = PalFX
trigger1 = (!Time)
time = 8
add = 0,0,0
mul = 256,256,256
sinadd = 75,100,255,8
invertall = 0
color = 256

[State ***1: EnvColor]
type = EnvColor
trigger1 = (!Time)
value = 255,255,255
time = 4

[State ***1: EnvShake]
type = EnvShake
trigger1 = (!Time)
time = 8
freq = 60
ampl = -2
phase = 90

Sound effects if needed. One for the character's voice, and another for the parry spark sound effect.

[State ***1: PlaySnd]
type = PlaySnd
trigger1 = (!Time)
value = S*,*

[State ***1: PlaySnd]
type = PlaySnd
trigger1 = (!Time)
value = S*,*

This is the parry spark.

[State ***1: Explod]
type = Explod
trigger1 = (!Time)
anim = ****
id = ****
pos = (IfElse(StateType = S,*,*)),(IfElse(StateType = S,*,*)) <--- First set of co-ordinates are used for the position of the standing parry spark, with 2nd set for the crouching.
postype = p1
facing = 1
vfacing = 1
bindtime = 1
vel = 0,0
accel = 0,0
random = 0,0
removetime = -2
supermove = 0
supermovetime = 0
pausemovetime = 12
scale = 1,1
sprpriority = 3
ontop = 0
shadow = 0,0,0
ownpal = 1
removeongethit = 1

And this ends the ground parry state.

[State ***1: ChangeState]
type = ChangeState
trigger1 = (!AnimTime)
value = IfElse(StateType = S,0,11)

This is the aerial parry state.

[Statedef ***2]
type = A
movetype = I
physics = N
anim = ***2
ctrl = 0
poweradd = 0
juggle = 0
facep2 = 0
hitdefpersist = 0
movehitpersist = 0
hitcountpersist = 0
sprpriority = 2

[State ***2: CtrlSet]
type = CtrlSet
trigger1 = (Time > 4)
value = 1

[State ***2: NotHitBy]
type = NotHitBy
trigger1 = (Time < 14)
value = SCA

[State ***2: Pause]
type = Pause
trigger1 = (!Time)
time = 14
movetime = 14

[State ***2: VarSet]
type = VarSet
trigger1 = (!Time)
var(1) = 1

The same special effects from the ground parry state can be added here.
[PalFX]
[EnvColor]
[EnvShake]
[PlaySnd]

These are used to check the character's current jumping velocities, and save it to be used later.
FVar(0) is used for the X velocity, and FVar(1) for the Y velocity.

[State ***2: Null]
type = Null
trigger1 = (!Time)
trigger1 = (FVar(0) := Vel X) && (FVar(1) := Vel Y)

The character is frozen during the parry state.

[State ***2: VelSet]
type = VelSet
trigger1 = (Time)
x = 0
y = 0
persistent = 0

But after 14 ticks, the character will resume normal jumping movement.

[State ***2: VelSet]
type = VelSet
trigger1 = (Time > 14)
x = FVar(0)
y = FVar(1)
persistent = 0

[State ***2: VelAdd]
type = VelAdd
trigger1 = (Time > 14)
y = 0.45

Parry spark can be added here.
[Explod]

And this ends the aerial parry state when the character lands.

[State ***2: ChangeState]
type = ChangeState
trigger1 = (Pos Y >= 0) && (Vel Y > 0)
value = 52

This is the aerial parry state helper. It should use an invisible anim, with no Clsns.

[Statedef ***3]
type = A
movetype = I
physics = N
anim = ***3
poweradd = 0
juggle = 0
facep2 = 0
hitdefpersist = 0
movehitpersist = 0
hitcountpersist = 0
sprpriority = 2

[State ***3: ParentVarSet]
type = ParentVarSet
trigger1 = (!Time)
var(0) = 8
ignorehitpause = 1

[State ***3: DestroySelf]
type = DestroySelf
trigger1 = (Parent, Command != "holdfwd")



 
RenjmonДата: Четверг, 07.06.2012, 16:46 | Сообщение # 11
Начинающий
Группа: Заслуженный
Сообщений: 8
Статус: Не в сети
Скорпион, ОГРОМЕННОЕ СПИСИБИЩЕ ТЕБЕ. Но в следующий раз такие вкусняшки и плюшки лучше в личку.=)

Добавлено (07.06.2012, 16:46)
---------------------------------------------
И ещё. Scorpion, я тебя очень прошу. Чуть чуть совсем дополни где надо в CNS писать а г де в CMD.
(Сожалею но первая ссылка меня выкидывает на мою домашнюю страницу а вторая вообще на рекламный сайт).

 
ScorpionДата: Четверг, 07.06.2012, 20:40 | Сообщение # 12
Профессионал
Группа: Главный Администратор - Сайта
Сообщений: 126
Статус: Не в сети
Renjmon,
Quote
ОГРОМЕННОЕ СПИСИБИЩЕ ТЕБЕ.
- незачто.
Quote
Но в следующий раз такие вкусняшки и плюшки лучше в личку.=)
- зачем пускай все обозревают.
Quote
Чуть чуть совсем дополни где надо в CNS писать а г де в CMD
- чуть позже напишу ок?
И спасибо за репу! smile



 
ScorpionДата: Пятница, 08.06.2012, 11:09 | Сообщение # 13
Профессионал
Группа: Главный Администратор - Сайта
Сообщений: 126
Статус: Не в сети
Renjmon, этот тутор нашел тут http://forum.mugen-infantry.net/index.php?topic=80855.0


 
RenjmonДата: Вторник, 19.06.2012, 10:39 | Сообщение # 14
Начинающий
Группа: Заслуженный
Сообщений: 8
Статус: Не в сети
А для чего служит и как работает стейт ReversalDef и ReversalHitDef??
Просто я тут с одним человечком разговаривал, он говрит что это очень просто в применении но я сам так нифига и не понял.
 
ScorpionДата: Вторник, 19.06.2012, 10:47 | Сообщение # 15
Профессионал
Группа: Главный Администратор - Сайта
Сообщений: 126
Статус: Не в сети
Renjmon, sorry я сам толком не знаю!


 
Форум » Общие вопросы по MUGEN » Работа со спрайтами и Кодинг » Кодинг для НАЧИНАЮЩИХ - Создание Бойца (Учимся прописывать удары)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Сайт создан в системе uCoz