Nothing is supported that will perform this type of activity nicely (right now). There are some really horrible methods of achieving some of what you want, but please, don't do it.
The while loop was intended to be used for such a feature, but this is another undocumented feature of Adventuron that you have discovered. Anything that is undocumented can be assumed to be undocumented by design (either not beginner friendly, or not fully realised yet).
Please don't imagine that Adventuron is anywhere near as powerful as general purpose code you can write in Inform 5 / 6. It's still a database-driven format, and an in-development one at that.