inform 7:why wont this reading option work?

[code]Understand the command “read” as something new.
Reading is an action applying to one thing.
Understand “read [something]” as reading.

A thing can be readable. A thing is usually not readable.

Check reading when the noun is not readable: say “That’s not something that can be read.” instead.[/code]

A desk is here. the desk is a supporter. glass pieces are here. glass pieces are scenery. a page is a portable supporter on the desk. a paperweight is on the page. the glass wall is a closed scenery door. the glass wall is a breakable wall. the glass wall is east of Dim Lit Room. the glass wall is west of the Room of Horrors.

Rule for printing room description details of the desk: omit contents in listing.

[code]The description of the page is “The title of the page is Experiment Data.”

Before examining the page for the first time:
now the printed name of the page is “Experiment Data page”.

After examining the page for the first time:
now the description of the page is “A small piece of white paper.”

Understand “experiment” and “data” as the page when we have examined the page.

Check taking the page:
If a thing is on the page, say “You can’t take the page while [a random thing on the page] is on it.” instead.[/code]

Instead of reading the page: say "[if player is goose]It[for the first time]says experiment #1.[otherwise if player is human and not in Skylight Room] say it's too dark to read that here."

The last code in the list above is the code that won’t work. so you know what im trying to do is to make it so only the goose can read it in any room and if the player is human the page can only be read in Skylight Room.

Hmm well one thing I see is that since you only have 2 “if” conditions in that last chunk of code, when all you need is to use [otherwise].

There’s no reason to specify “if player is human and not in Skylight Room”

The token “for the first time” is not known to Inform 7. That, at least, wouldn’t compile until you defined the term.

Yeah, good eye. I missed that one. Try “for 1 turn” instead.

Often rules can be easier to read, if you lift some of the conditions out of the say phrase into the rule preamble.
Instead of writing:

Instead of reading the page: say "[if player is goose]It says experiment #1.[otherwise if player is human and not in Skylight Room] say it's too dark to read that here."
you can write:

[code]Instead of examining the page when the player is goose:
say “It says: ‘Experiment #1’.”

Instead of examining the page when the player is human and the player is not in Skylight:
say “It’s too dark to read that here.”
[/code]
In this case, it doesn’t matter much; but sometimes, when you need to test a lot of conditions for your rules, this trick can make things a lot easier.

I don’t think that would compile either.

Instead of reading the page: say "[if player is goose]It[for the first time]says experiment #1.[otherwise if player is human and not in Skylight Room] say it's too dark to read that here."

“If the player is goose” is a statement that can be evaluated as true or false. On its own, “For the first time” is neither a “to say” token or a statement to be evaluated, and that’s how it’s going to be read. Also, it’s a toss-up as to how I7 would interpret the next phrase, “if player is (human-and-not-in-Skylight-Room)” (is this a name of the value, is it an object, is it a condition?).

I’ve not bothered trying out the example since several vital details were omitted, but I’d definitely expect to have to write “if player is human and the location is not the Skylight Room”.

Both “if the player is in the Skylight Room” and “if the location is the Skylight Room” are legal, but they don’t mean quite the same, and mostly what one wants is “if the location is …”.
“If the player is in the Skylight Room” means “if the player is on the floor of the Skylight Room, but not in or on something else”.
“If the location of the player is the Skylight Room” means “if the player is somewhere inside the Skylight Room, even in or on something else”.

So if you write a rule like

Instead of examining the page when the player is human: if the location of the player is not the Skylight Room, say "It's too dark to read that here."; otherwise continue the action.
The page can be read, when you stand in the Skylight Room, but if you sit down in an armchair in the Skylight Room, it will suddenly be too dark to read, since you’re no longer directly “in” the living room but in the sofa.