I'm certain there is a way, albeit rather cumbersome, to do this with events. However, since it's already built in for Armor, it's pretty easy to just have it check for the Regen state as well....
alias regen_auto_hp_recover auto_hp_recover
if state?(17) # Regenerate. Change 17 to your Regen state ID
if self.hp == maxhp
remove_state(17) # Regenerate. Change 17 to your Regen state ID
This adds 1 HP per step on the map, and 5% of MAXHP per turn during battle. (Same as the Auto HP Recover for Armor)
This script will also remove the Regen state once the character is fully healed.