You can do all of this via events, using a variable and resetting the variable rather than resetting the party steps. There are other things (like states) that also keep track of steps, so if you keep resetting it to 0, you could be causing issues in other areas.