Descriptive text meant for players that Inform 7 ignores

I am writing a game in Inform 7 when I write text within double-quotes, prefaces by the word “say” I keep getting error messages saying “but I can’t find a verb here that I know how to deal with so I am ignoring this sentence all together.”

What I am trying to do is integrate both descriptive and instructional text, but Inform 7 keeps trying to do something with my text, when all I want it to do is print out text for the reader. For example, I want my players to be able to read the following:

“You will need to raise money to run your campaign. You can recruit volunteers to help with the work, but you need to pay rent for your campaign office, pay for the pins, bumper stickers and lawn signs, rent a photocopier, buy computers, etc. Oregon has some rules to ensure transparency.
The campaign needs to have its own bank account. Information about that account needs to be filed with the Secretary of State’s office so they can monitor compliance with reporting rules.
The campaign treasurer has 30 days to report both contributions and expenditures to the Secretary of State’s office.
Any campaign funds left at the end of an election CANNOT be converted to anyone’s personal use.
Subject to spot checks
There are financial penalties for any campaign that does not follow these rules.”

Is there a way to tell Inform not to try to parse content within double quotes?

Any assistance would be wonderful, thank you.

Quotes within quotes?

““You will need to raise money… that does not follow these rules.””

Inform doesn’t know when do you want those things to be printed to the player, and so it is patiently waiting for you to tell him. The “say” instruction never works on it’s own, because the question “When shall I say such thing?” wouldn’t be answered.

When, in the context of the game, do you want that text to show up? Is it after the player does something?

After doing this: say "You did that, yes you did!"

Is it when the player examines a document?

The god written document is in the bathroom. The description is "Hello! I am God and I feel lonely!"

You should go and read what’s on 2.2 (and beyond) of Writing with Inform for more details.

I have already tried that, and unfortunately it doesn’t resolve the problem.

Right now, I have the text appearing right after the player enters a room. I have not gotten any errors regarding the say " " instruction that I have given it, which is too bad, because that is a problem I know how to deal with.

If you post an example of what you’ve tried that didn’t work, it’ll be easier for people to figure out where it went wrong.

Here is how I have it set up right now:

Campaign Finance is a room.
When player enters Campaign finance, say “You will need to raise money to run your campaign. You can recruit volunteers to help with the work, but you need to pay rent for your campaign office, pay for the pins, bumper stickers and lawn signs, rent a photocopier, buy computers, etc. Oregon has some rules to ensure transparency.
The campaign needs to have its own bank account. Information about that account needs to be filed with the Secretary of State’s office so they can monitor compliance with reporting rules.
The campaign treasurer has 30 days to report both contributions and expenditures to the Secretary of State’s office.
Any campaign funds left at the end of an election CANNOT be converted to anyone’s personal use.
Subject to spot checks
There are financial penalties for any campaign that does not follow these rules.”

Is this something that you only want displayed once or is it a recurring thing?

I only want this text displayed once. I have other places where I want to do the same thing with different text, but if I figure out how to make this work, presumably I will be able to do it again.

I mean… I’m not all that great at this Inform stuff yet, but it would seem like you could use something like the following:

It would only display it once, so maybe you would have to write some kind of new rule to display it if the player wanted to see it again? I’m sure there are rules that you could set up to make it actually use SAY, but I don’t know what they are. :slight_smile:

Probably throw an actual room description in there after the [end if]?

I think you need to change “when” to “after” --“when” is a condition, not a rule heading. So you can have a rule that starts “Every turn when the player is in Campaign Finance,” but in general you can’t have a rule that starts with a plain “when” (except “when play begins” and maybe some others I can’t remember).

Given that you only want it to show the first time, the rule should probably start “After entering Campaign Finance for the first time…” And it maybe should end “continue the action,” because otherwise the “after” rule will prevent some other rules from firing that you might want to fire, I think. Or you could take I4L’s suggestion and fold this text into the room description.

This looks like a cool game idea, btw.

I4L,

I thought that was a great idea, but it didn’t solve the problem.

But, I think you are now getting why this is making me so crazy.

Strange: I4L compiles and runs fine here, and it seems a very good solution to your problem.

Copy+paste the error message here.

Hm… How 'bout:

“‘You will need to raise money to run your campaign. You can recruit volunteers to help with the work, but you need to pay rent for your campaign office, pay for the pins, bumper stickers and lawn signs, rent a photocopier, buy computers, etc. Oregon has some rules to ensure transparency. [paragraph break]The campaign needs to have its own bank account. Information about that account needs to be filed with the Secretary of State’s office so they can monitor compliance with reporting rules. [paragraph break]The campaign treasurer has 30 days to report both contributions and expenditures to the Secretary of State’s office.[paragraph break]Any campaign funds left at the end of an election CANNOT be converted to anyone’s personal use.[paragraph break]Subject to spot checks[paragraph break]There are financial penalties for any campaign that does not follow these rules.’”

I think the “meat of the matter” is to force it to display the quotes. In which case, I read the docs wrong. I initially said “” instead of '".

Matt W - Thanks. It is a game meant to teach high school students the process of running for a state elected office in Oregon. I was planning on putting it and its source code up on both the Inform 7 site (as an example of how to use IF in an educational context) and on IFDB when I finally get the %@%##& thing working.

Here is the error message I keep getting:

This is the report produced by Inform 7 (build 6G60) on its most recent run through:

Problem. You wrote ‘You can recruit volunteers to help with the work, but you need to pay rent for your campaign office, pay for the pins, bumper stickers and lawn signs, rent a photocopier, buy computers, etc’ : but I can’t find a verb here that I know how to deal with, so I am ignoring this sentence altogether. (I notice there’s a comma here, which is sometimes used to abbreviate rules which would normally be written with a colon - for instance, ‘Before taking: say “You draw breath.”’ can be abbreviated to ‘Before taking, say…’ - but that’s only allowed for Before, Instead and After rules. I mention all this in case you meant this sentence as a rule in some rulebook, but used a comma where there should have been a colon ‘:’?
See the manual: 2.17 > Review of Chapter 2: The Source Text

Problem. You wrote ‘Information about that account needs to be filed with the Secretary of State’s office so they can monitor compliance with reporting rules’ : but I can’t find a verb here that I know how to deal with, so I am ignoring this sentence altogether.
Problem. You wrote ‘Any campaign funds left at the end of an election CANNOT be converted to anyone’s personal use’ : again, I can’t find a verb here that I know how to deal with.

Problem. The sentence ‘Subject to spot checks There are financial penalties for any campaign that does not follow these rules’ appears to say two things are the same - I am reading ‘Subject to spot checks There’ and ‘financial penalties for any campaign that does not follow these rules’ as two different things, and therefore it makes no sense to say that one is the other: it would be like saying that ‘St Peter is St Paul’. It would be all right if the second thing were the name of a kind, perhaps with properties: for instance ‘Pearly Gates is a lighted room’ says that something called Pearly Gates exists and that it is a ‘room’, which is a kind I know about, combined with a property called ‘lighted’ which I also know about.
Problem. You wrote '"; continue the action.

BTW, I am now fairly convinced that the problem is a small typo or error that I am just not seeing.

This worked for me to display the quotes:

Campaign Finance is a room. "'[if unvisited]You will need to raise money to run your campaign. You can recruit volunteers to help with the work, but you need to pay rent for your campaign office, pay for the pins, bumper stickers and lawn signs, rent a photocopier, buy computers, etc. Oregon has some rules to ensure transparency. [paragraph break]The campaign needs to have its own bank account. Information about that account needs to be filed with the Secretary of State’s office so they can monitor compliance with reporting rules. [paragraph break]The campaign treasurer has 30 days to report both contributions and expenditures to the Secretary of State’s office.[paragraph break]Any campaign funds left at the end of an election CANNOT be converted to anyone's personal use.[paragraph break]Subject to spot checks[paragraph break]There are financial penalties for any campaign that does not follow these rules.[end if]'".

But again, you’re using the room description to display the text. I can’t make Inform do it any other way.

If the problem is printing the text with quotes, then the only thing you should watch out for is to use ’ instead of ". Inform will print ’ as ". So, this code:

[code]Campaign Finance is a room.

“[if unvisited]There are some rules here for you to read:[paragraph break]‘You will need to raise money to run your campaign.’[paragraph break]I hope you follow these rules.[end if]”[/code]

Will result in:

[code]Campaign Finance
There are some rules here for you to read:

“You will need to raise money to run your campaign.”

I hope you follow these rules.

[/code]

You are absolutely right, When I put 14L’s code in to a test game, it works just fine. I clearly need to go backwards and figure out why it isn’t working in my game version.

Thank you all for your help. I may be back with more questions, though.