Acordate que esta bien copiar los codigos, pero tambien tenes que aprender a usarlos al mismo tiempo, podes editar cualquier codigo para que haga lo que vos queres... te doy un ejemplo: Este es el statedef del ataque de mi sonic que pega la patada cuando apretas dos veces adelante y el de pegar:
;---------------------------------------------------------------------------
; windmill
[Statedef 601]
type = A
movetype= A
physics = A
juggle = 6
ctrl = 0
anim = 601
Velset = 5, -4 [State 600, 2]
type = HitDef
trigger1 = animelem = 2
attr = A, NA
damage = 30
animtype = light
hitflag = MAF
guardflag = MA
pausetime = 2,12
sparkxy = 0,-10
sparkno = 0
hitsound = ifelse(enemy, animexist(7997), 8,5),ifelse(enemy, animexist(7996), 1,0)
guardsound = 6,0
ground.type = trip
ground.slidetime = 4
ground.hittime = 15
ground.velocity = -4,-3
air.velocity = -14,3
down.hittime = 20
getpower = 30,0
givepower = 0,30
fall = 1
[State 600, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 50
ctrl = 1
;---------------------------------------------------------------------------
Ahora lo edito para que quede como vos queres:
;---------------------------------------------------------------------------
; windmill
[Statedef 601]
type = A
movetype= A
physics = A
juggle = 6
ctrl = 0
anim = 601
Velset = 6,-4 ; le ajustas la velocidad a tu gusto
[State 600, 2]
type = HitDef
trigger1 = animelem = 1
attr = A, NA
damage = 30
animtype = light
hitflag = MAF
guardflag = MA
pausetime = 2,10
sparkxy = 0,-10
sparkno = 0
hitsound = 5,0
guardsound = 6,0
ground.type = trip ; esto significa que el enemigo no revota en el piso, es derrivado
ground.slidetime = 4
ground.hittime = 15
ground.velocity = -4,-3 ; esto ajusta la velocidad con la que el enemigo sale disparado cuando recibe el golpe estando en el suelo
air.velocity = -14,3 ; lo mismo, pero cuando esta en el aire
down.hittime = 20
getpower = 30,0
givepower = 0,30
fall = 1 ; es derrivado el enemigo [State 600, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 50
ctrl = 1
;---------------------------------------------------------------------------
asi de sencillo...
y para el dash usamos el mismo statedef, pero con otros detallistos cambiados:
;---------------------------------------------------------------------------
; dash
[Statedef 602]
type = S ; esta en el suelo
movetype= A
physics = N; no hay friccion ni gravedad
ctrl = 0
anim = 602
Velset = 8,0 ; le ajustas la velocidad a tu gusto, sin movimiento vertical
[State 600, 4]; esto hace que se frene el personaje, multiplica la velocidad por un valor
type = Velmul
trigger1 = 1
x= 0.92 ;mientras mas pequeño es el número, mas se frena, si pones valores mayor a uno, acelera en lugar de frenar
[State 400, 2]
type = HitDef
trigger1 = Time = 0
attr = S, NA
damage = 20
animtype = up
hitflag = MAF
guardflag = MA
pausetime = 3,12
sparkxy = 0,-5
sparkno = 1
hitsound = 5,0
guardsound = 6,0
ground.type = low
ground.slidetime = 10
ground.hittime = 20
air.hittime = 30
ground.velocity = -1.2,-6.5
air.velocity = -1.3,-3
down.velocity = -4,0
down.hittime = 20
getpower = 50,0
givepower = 0,50 [State 600, 4]
type = ChangeState
trigger1 = AnimTime = 0
trigger2 = vel x <= 0
value = 0
ctrl = 1
;---------------------------------------------------------------------------
Espero que te sirva, cualquier duda me avisas