I’ve been trying for awhile to figure out a way to change the room description. I’ve tried using the " Now the description of [name of room] is " but it reads out the error that " Now the description of " is an object instead of declaration. Does anyone have any suggestions on what to do?
You can always use conditionals in your room description.
The Garden is a room.
The description of the Garden is "A [if the player is carrying the water]beautiful[otherwise]dry[end if] garden."
You should be able to change the description of the room in the way you’re trying to do it. However, from the error you mention, it seems as though you may not be putting your “now” statement in a rule?
This will work:
Lab is a room. "Here is an ordinary lab."
After jumping:
say "You crack the floor.";
now the description of the Lab is "Here is an ordinary lab with a cracked floor."
Note that the “now” statement is in an After jumping rule. This tells Inform when to change the description–after the player jumps. (Specifically, when processing a jumping action, in the stage when the After rules are running.)
If you just put the Now statement on its own like this:
Now the description of the Lab is "Here is an ordinary lab with a cracked floor."
then you’ll get an error. Since this isn’t in a rule, Inform doesn’t know that it’s a code line it’s supposed to execute (and even if it knew that, it wouldn’t know when to do it!) So you get a weird error.
tl;dr: Make sure the code you want to run is in rules!
(Also, welcome to the board!)
@matt_weiner @Stian Thank you both so much ! That clears up alot of the problems i was having. Ill try using them in my program and let you know what happens