Instead of using onPlayerRespawn, just stop a player from entering a bed outside of their zone.