What you should do is this:
[StateDef 3101]
type = S
movetype= A
physics = N
juggle = 0
velset = 0,0
ctrl = 0
anim = 3101
poweradd = 0
sprpriority = 3
[State 3005, Sound]
type = PlaySnd
trigger1 = Time = 1
value = s6000, 0+random%2
volume = 999
channel = 3
[State 3005, Sound] ;Add this for hit sound
type = PlaySnd
trigger1 = movehit
value = s6,22
volume = 999
channel = 3
ignorehitpause=1
persistent=0
[State 3005, Sound] ;Add this for guard sound
type = PlaySnd
trigger1 = moveguarded
value = f6,0
volume = 999
channel = 3
ignorehitpause=1
persistent=0
[State 3101, PosSet]
type = PosSet
trigger1 = Time = 0
y = 0
ignorehitpause = 1
[State 3101, NotHitBy]
type = NotHitBy
trigger1 = anim = 3101
value = ,NA,NT,ST
time = 2
ignorehitpause = 1
[State 3101, 1]
type = PosAdd
trigger1 = Anim = 3101
trigger2 = animelem = 4
persistent = 2
x = 7
[State 3101, PlayerPush]
type = PlayerPush
trigger1 = 1
value = 1
ignorehitpause = 1
[State 3102, Color]
type = PalFX
trigger1 = Time = 0
time = 150
add = 100,0,0
sinadd = 0,255,0,5
[State 3339, 6]
type = HitDef
trigger1 = Anim = 3101
trigger2 = Time = 1
attr = S, SA
hitflag = MAFPD
animtype = Hard
damage = 3,0
getpower = 0
priority = 6
guardflag = MA
pausetime = -5,-5 ;I recommend you fix this. Never seen negative pausetimes
sparkxy = -25,-60
hitsound = -1 ;This is to stop the hitsound from playing by default, same with the guard sound.
guardsound = -1
ground.type = Low
ground.slidetime = 12
ground.hittime = 12
ground.velocity = -0,-0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
air.cornerpush.veloff = 0
air.velocity = -0,-0
fall = 0
fall.recover = 0
sprpriority = 3
[State 3101, Bind 1]
type = TargetBind
trigger1 = anim = 3101
pos = 0,0
ignorehitpause = 1 ;Add this
[State 3101, Bind 1] ;Add this to prevent the hitsound and guardsound from playing continuously
type = Movehitreset
trigger1 = movecontact
ignorehitpause = 1
[State 3101, end]
type = ChangeState
trigger1 = Time = 150
value = 0
ctrl = 1
Hope this helps.