Skip Navigation

[Help] Hierarchical Consumable list?

I've been reading up on hierarchical lists in the tutorials and the reddit pages, but I'm having problems understanding and implementing the way I'd like.

I'm working on this generator (I may turn it into a plug-in).

What I'd like to do is have a consumable list of the regions, then output a random state corresponding to that region. I've got it working correctly for a single region/state output, but I'm having trouble with the state output for the consumable list items.

Also, I used a tutorial example for the output so it currently says: "The Plains region contains Missouri" - which is correct.

I'd rather it said: "Missouri is in The Plains region" .. but I couldn't figure out how to format the output since the state is a sub item of the region, so I can't swap the output in the HTML

Any help/tips would be appreciated!

5

You're viewing a single thread.

5 comments
  • Since you have both items in the region item. Currently you have it like:

    The [r = regions.selectOne, r.name] region contains [r.state]
    

    But, since you have stored the item in r you can just swap them like so:

    [r = regions.selectOne, r.state] is in the [r.name] region
    

    Also, a tip to get the name of the list (to not need the name property in the item) you can do:

    [r = regions.selectOne, r.state] is in the [r.getName] region
    

    See Perchance Snippets - Traversing Hierarchical Lists.

    • Thanks so much, @[email protected] that's perfect!

      Any tips on creating my consumable list output with Region+State?

      • You can get a consumable list of the states with r.state.consumableList, then you can have it like:

        [r = regions.selectOne, rscl = r.state.consumableList, rscl.selectOne] is in the [r.name] region, as well as [rscl.selectMany(3).join(', ')].
        
        • That's very cool.. but I kind of need the opposite - I have the consumable list of regions working at the bottom of the page, but I don't know how to get a random state to show for each (consumable) region:

          https://perchance.org/l87prl9bea#edit

          • First, you need to create a new variable, then just like the first one, you only need to change the regions list to the rcl consumable list like so:

            [r = rcl.selectOne, r.state] is in the [r.name] region <br>
            [r = rcl.selectOne, r.state] is in the [r.name] region <br>
            [r = rcl.selectOne, r.state] is in the [r.name] region <br>
            [r = rcl.selectOne, r.state] is in the [r.name] region <br>
            

            You can use other variables other than r.