Hola, aca te escivo un codigo del spin dash, no lo he probado porque lo escribí ahora mismo, pero seguro funciona sin problemas. El que te mandé por mensaje pribado no está muy bueno: En el siguiente ejemplo, tu personaje hace el spin dash manteniendo a mientras estas agachado.
;--------------------------------------------------------
; Spin Dash
[Statedef 620]
type = S
movetype= A
physics = N
velset = 0,0
anim = 200
ctrl = 0
[State 40, 4]
type = ChangeAnim
trigger1 = Command = "a" || Command = "b" || Command = "c"
value = 200
[State 620, Hit With Spin]
type = HitDef
trigger1 = time = 0
attr = S, SP
animtype = Medium
damage = 50
guardflag = MA
pausetime = 0,0
sparkno = S23242
;sparkxy = -10,-70
hitsound = 5,2
guardsound = 6,0
ground.type = High
ground.slidetime = 12
ground.hittime = 13
ground.velocity = -5.5
air.velocity = -2.5,-4
air.fall = 1
fall = 1
ground.cornerpush.veloff = -20 ;To push far away when p2 is in corner
[State 620, Dash Snd] ; sonido
type = PlaySnd
trigger1 = time = 0
trigger2 = Command = "a" || Command = "b" || Command = "c"
value = 7,0
[State 620, Break Dust] ; efecto de tierra levantandoce
type = Explod
triggerall = pos y = 0
triggerall = numexplod(620)!= 1
trigger1 = time >= 0
anim = 600
pos = -7,0
sprpriority = 3
bindtime = -1
removetime = -1
ownpal = 1
id = 620
[State 600, Go to Rolling Spin]
type = ChangeState
trigger1 = command != "holddown"
trigger1 = time >= 5
value = 621
ctrl = 0
;---------------------------------------------------------------------------
; Rolling Spin
[Statedef 621]
type = S
movetype= A
physics = N
anim = 43
ctrl = 0
[State 621, Dash Snd End]
type = PlaySnd
trigger1 = time = 4
value = 7,5
channel = 0
[State 621, 1] ;Gravity
type = VelSet
trigger1 = 1
y = 0
[State 621, 1] ;Gravity
type = VelSet
trigger1 = time = 0
x = 14
[State 621, 1]
type = Veladd
trigger1 = 1
x = -0.5 ; mientras mas grande sea este valor, mas rapido se frena
ignorehitpause = 1
[State 621, End]
type = ChangeState
triggerall = time >= 30
trigger1 = vel x <= 1
trigger2 = frontedgedist <= 5
value = 0
ctrl = 1
;---------------------------------------------------------------------------
ESo es todo, ese codigo no usa variables ni nada raro, es sencillo y fasil, solo le tenes que configurar las velocidades y las animaciones y sonidos. Cualquier problema me avisas.