Moving player on action

I’m new to inform and cant seem to find the answer in the documentation, I was wondering how to move the player when they attempt another action. Here is what I was able to come up with so far.

Instead of opening door, say "You gingerly touch the brass door nob and pull, You hear a screem coming from behind you and hesitate a second before turning. As you pull the door open a bright red light floods the space revealing a large plain, interspersed with fires and scorched black. Your eyes bolt open and you find yourself wrapped in rough linnen sheets sweating heavily."

but something like

Instead of opening door, say "You gingerly touch the brass door nob and pull, You hear a screem coming from behind you and hesitate a second before turning. As you pull the door open a bright red light floods the space revealing a large plain, interspersed with fires and scorched black. Your eyes bolt open and you find yourself wrapped in rough linnen sheets sweating heavily."; you are now in your room

results in an error.

How do I move the player with rules?

You’re close! For most situations, the proper syntax would be “now [whatever you want to happen]” with the “now” first, like this: now the player is in your room (assuming “your room” is a previously-defined location). But in this very specific case where you want to move the player, you actually want to use this: move the player to your room The difference is that the former just moves the player, whereas the latter moves the player and does all the things that would be done if the player had moved there themself (including updating scope and printing out the room description).

One last thing is that rules are one of the places where Inform actually cares about how you arrange your code with tabs and linebreaks. In this case, you need “move the player to your room” to be on its own line, tabbed as much to the right as the “say” block before it is. Since there’s more than one thing you want done, the “Instead” line ends with a colon, all but the last thing to do need to end in semicolons, and the last ends in a period. Like so:

Instead of opening door: say "You gingerly touch the brass door nob and pull, You hear a screem coming from behind you and hesitate a second before turning. As you pull the door open a bright red light floods the space revealing a large plain, interspersed with fires and scorched black. Your eyes bolt open and you find yourself wrapped in rough linnen sheets sweating heavily."; move the player to your room.

Thanks for the help, i knew it had to be something wrong with the syntax

No, “now the player is in your room” and “move the player to your room” do the same thing. You can use either.

confirmed, at least they do they same thing in my code

Oh hm, was it different in a previous release? Or am I hallucinating?

I wish it worked that way, I didn’t want it to show the orriginal room description. though i got around that using [if unvisited]

You may have been thinking of “surreptitiously move the player to your room”, which is dangerous for the reason you mention. (And that’s why it’s undocumented.)

If you want to move the player without displaying a room description, use “move the player to your room, without printing a room description”. (Which is documented and safe.)

thanks, i think ill just keep the [if unvisited] code for now, but may decide to change it later when refining the prose. Sorry for my general noobiness. it’s been a while since i messed with inform and have never worked on anything substancial but now i have two projects planned, i may be over reaching a bit but couldn’t decide which one i wanted to do first so i decided to work on them at the same time so that when im stuck on one i can mess with the other and use what i learn interchangably.