Veracity, I'm not sure I understand your question. Are you asking me the exact commands to make this work? I don't have that level of detail, but at a higher-level, I guess I was imagining that the command would change to put_display(1, myitem, myshelf1) or just put_display(1, myitem, 1), indicating to use the first shelf.
My point was that KoL does not let you choose where to put an item.
- If you do not already have the item in the case, it goes onto the first shelf.
- If you do already have the item in the case, it goes into the shelf it is already on.
In order to put an item onto a specific shelf that it is not already on, you have to put it into the case (request #1) and then move it to the other shelf (request #2) - which will move ALL of the items of that sort to the new shelf, not just the number you just inserted.
Perhaps what is really needed, given how the display case works, is better shelf support.
- a function to get an array of shelves
- a function to return the shelf number that a particular item is on
- a function to move an item from one shelf to another.
The problem with the last one is that, although it would work, KoL allows you to move all of your items at once, if you wish, which is obviously more efficient than the "one item at a time" approach. So, presumably we'd need bulk functions which would get ALL the items and shelves and let you rearrange them en masse.
Probably easier (for us) to let the rare script that needs to do something like that code it up itself using visit_url().
I understood the function you were requesting. I was just pointing out that the display case itself does not work the way you want it to. If we provided put_display( count, item, shelf) implemented in terms of put_display( count, item) followed by move_displayed_item( item, shelf), I fully expect that people who don't understand the underlying limitation will complain that when they put the same item on shelf #1 and then on shelf #2, all the items ended on shelf #2.
NOT adding a "shelf" parameter to put_display, and instead adding, say, move_displayed_item, might eliminate that bug report waiting to happen. But, as I said, it's less efficient than KoL itself, if you will be moving lots of items.