A note on the earlier script - the doneif checks you run for the main script shouldn't be on the earlier script. None of the conditions they're checking for will have been set yet, so
Code:
doneif (hero.tagis[Hero.EquipArmor] + hero.tagis[mClass.Heavy] < 1)
Will always fail if it's run that early.