No, rooms and other objects are referenced internally by pointers rather than by name. If you really need to do that, you’d have to use a construction like this:
To decide which object is the (D - description of objects) referenced as (T - text):
repeat with X running through D:
if the printed name of X exactly matches T:
decide on X;
decide on nothing.
The fast solution would be to store the numerical address of each room in the table rather than its name. Although that wouldn’t be portable between game versions; I don’t know if you need that.
That’s what I’d do, yeah. Looking up a manually-assigned ID number would be somewhat faster than looking up the printed name (or a manually-assigned ID string).
To decide which object is the (D - description of objects) referenced as (T - text):
repeat with X running through D:
if the printed name of X exactly matches T:
decide on X;
decide on nothing.
For me to get to work I had to make a minor edit:
To decide which object is the (D - description of objects) referenced as (T - text):
repeat with X running through D:
if "[the printed name of X]" exactly matches the text T:
decide on X;
decide on nothing.
And then, to actually see it do its thing, I invoked it thus:
toy is a thing. The printed name of toy is "yoyo".
chest is a container.
...
let myvar be the thing referenced as "yoyo";
move myvar to chest;
I think for eje211 to move Laura it would go like this:
Let place be the room referenced as "[the room name]".
Maybe I’ll come back and attach a whole example file… Thanks for the topic.