I listed 2 ways you might want to do it as you did not define them.
One is really simple, all you do is put a loopstart on the animation. So it will do frame 1, then loop frame 2,3,4,5. But it will do that EVERY time you enter the standing state. I don't know if you want that (still don't as your last post doesn't say)
The other one requires changeanim. And making use of a variable. As you have a defined value for your variable, this means an ADDITIONAL variable on top of the existing one.
[State changeanim]
type = changeanim
triggerall = var(1) = 10000
trigger1 = anim != 10000
trigger2 = animtime = 0 && anim = 5
triggerall = var(2) = 1 ;Use whatever you have free
value = 10000
elem = 2
[State changeanim]
type = changeanim
triggerall = var(1) = 10000
trigger1 = anim != 10000
trigger2 = animtime = 0 && anim = 5
triggerall = var(2) = 0 && var(2) := 1 ;Use whatever you have free
value = 10000
elem = 1
persistent = 0
What that does (keep them in order) is it looks at this second variable, if it's set to 1, it'll play from animelem = 2. If it's NOT set to 1, that controller is passed over and it moves to the next. It checks the value of var(2), finds it to be 0, then sets it to 1 (my syntax may be dodgy here). It'll then play the animation from elem1. Next time the state is entered, var(2) is 1 already and the first frame will not be played.
Either way requires the anim to have a loopstart in it.
Honestly using a variable for this is pretty ugly and the loopstart is much easier to deal with.
As for the hitdef, you mean, during the transformation? Add one, not complex.