SF3's parry is a bit more complicated since there isn't an animation for attempting a parry. In that case, you would need a Helper (in the statedef -2) that activates whenever a parry is attempted.
[StateDef -2]
[State -2, Helper]
type = Helper
triggerall = !numhelper(800) ;prevents multiple parry helpers from spawning
triggerall = command = "press_fwd"
trigger1 = ctrl
helpertype = normal
name = parry
ID = 800
stateno = 800 ;parry state helper
pos = 0,0
postype = p1
The Helper would have a ReversalDef. The animation should be one frame with no sprites and a Red CLSN.
[StateDef 800] ;helper
type = S
movetype = I
anim = 800
[State 800, BindToParent] ;this keeps helper in the same place relative to P1
type = BindToParent
trigger1 = 1
time = 1
[State 800, ReversalDef]
type = ReversalDef
trigger1 = Time = 0
reversal.attr = S, AA, AP
[State 800, DestroySelf]
type = DestroySelf
trigger1 = MoveHit ;helper dies when parry is successful
trigger2 = Time = 8 ;parry window
You'd then need a ChangeState (also in statedef -2) for when the Reversal is successful.
[StateDef -2]
[State -2, ChangeState]
type = ChangeState
trigger1 = numhelper(800) ;prevents debug flood
trigger1 = helper(800),MoveHit
value = 805
As well as a state for P1 to enter when the Reversal is successful
[StateDef 805]
type = S
movetype = I
physics = N
velset = 0,0
anim = 805
ctrl = 0
[State 805, Pause] ;pauses the screen while parry animation plays
type = Pause
trigger1 = Time = 0
time = 14
movetime = 14
[State 805, ChangeState]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
While this is barebones compared to the code needed to replicate SF3 or CvS2, this is the basic idea.