Ending scenes with speech

I’m writing a sort of cave crawl adventure that is heavily dependant on speech and player interaction. Although I am fairly well into it, I have reached a fallback, so any help is appreciated. :open_mouth:

What I am trying to do is to have a scene which is mainly player dialogue with somebody else. The trouble is, I’m not quite sure how to end a scene when a person in the game says a specific phrase.

Merci

There’s probably a ton of ways to do this. What I’m about to tell you is what I do regularly, and it is not tested. I stick all sorts of tags at everything, PC included. Like so:

[code]A person can be solved or unsolved. A person is usually unsolved.

Final dialog is a scene. Final dialog begins when (whatever).

Final dialog ends when Doe is solved.

Instead of asking Doe about final subject:
say “‘This is the last time I’m telling you to shave your beard. Do it or I’ll get a divorce.’”;
now Doe is solved.[/code]

If you want the ending trigger to be present in multiple subjects:

[code]Instead of asking Doe about an ending subject:
say “‘And take a shower every now and then! Chirst!’[solve doe]”

Instead of asking Doe about another ending subject:
say “‘And those teeth, dear lord, those molars!!!’[solve doe]”

To say solve doe:
now doe is solved.[/code]

What sort of conversation system are you using?

Remember that say phrases can do anything, not just printing text.

[code]The Stage is a room.

The curtain is in stage. The curtain can be open or closed. “The curtain is [if open]open[otherwise]closed[end if].” The curtain is open.

Bob is a man in The Stage.

Instead of asking Bob about something:
say “‘Ask me no questions, I’ll tell you no lies. I’m afraid it’s [curtains] for you, my friend.’”

To say curtains:
say “curtains”;
now the curtain is closed;

Epilogue is a scene. Epilogue begins when the curtain is closed.

When Epilogue begins:
remove Bob from play.

Test me with “ask Bob about the script/l”[/code]

Aha! This is really helpful, thanks. One last thing on the general subject.

I’ve played a game called an act of murder, which has a ‘notepad’ of clues you can get from talking to people (well and physical evidence). I think i know how to get inform to mentally know what the player has learned through conversation, but would it be possible for the program to take what the player already knows and therefore spit out a different ending phrase?

In other words, could I make many different conversations variables and depending on the conversations the player has had, the ending of the phrase would be different.

Sorry if this is really confusing.

You can make variables, and you can make properties of objects. In my WIP I do it this way:

A thing can be discussed.

And in the code for giving an NPC’s response to ‘the second noun’:

    Now the second noun is discussed.

Again, how you manage this will depend on your conversation system.

If you want to record things in a notebook, you might do it like this:

[code]A thing can be noted. A thing has a text called the note.

To say note [item - a thing]:
unless the note of item is empty: [this skips items that have no note text]
say “You write a note about [the item]: ‘[note of item]’”;
now item is noted.

To say notebook contents:
Repeat with item running through noted things:
say “[The item]: [note of item][paragraph break]”[/code]

And now you can test whether items are noted:

Instead of asking Bob about "play": say "'It was a resounding success[if the script is noted], even though there was no script[end if]!"

brilliant! big help thanks

Actually, I’ve switched over to the Eric eve mainframe thingy, but right of the bat, the program has a problem with [any known thing]
it says “I was unable to understand what you meant by the grammar token ‘any known thing’ in the sentence ‘Understand “tell [someone] about [any known thing]” as informing it about’”

I’ve used [any known thing] before, so why won’t it work?

[code]Requesting it for is an action applying to two visible things.
Imploring it for is an action applying to one visible thing and one topic.

Understand the command “ask” as something new.

Understand “ask [someone] about [text]” as asking it about.

Understand “ask [someone] for [any known thing]” as requesting it for.
Understand “ask [someone] for [text]” as imploring it for.

Quizzing it about is an action applying to two visible things.

Understand “ask [someone] about [any known thing]” as quizzing it about.

Informing it about is an action applying to two visible things.

Understand “tell [someone] about [any known thing]” as informing it about.[/code]

It is likely that you either haven’t installed the extension or it somehow failed installation.

Check again to see if the add-on is actually integrated.

Hope this helps.

I am a beginner, so forgive me if I am way off base, but shouldn’t it be:

Understand "tell [someone] about [any known thing]" as informing somebody about.

or

Understand "tell [someone] about [any known thing]" as informing somebody about it.

?

I was just looking over this:

http://inform7.com/extensions/Aaron%20Reed/Conversation%20Framework%20for%20Sand-dancer/source.txt

and came across something similar.(is this one of the extensions you have in use?)

No, “it” is used in action names that involve two nouns to tell you where the first noun goes, whether or not the first noun is a person or a thing. So if your action is informing [noun] about [second noun], its name is “informing it about.”

This is pretty well buried in the documentation; it seems to be introduced in section 12.7, which says, in an aside about the action name “scraping it with”:

Ok, sorry, it just seems weird to me that “it” is an item you are informing an it (person) about. :laughing:

Again, sorry for derailing things. I hope you get a solution.

The ‘mod’ is actually installed, and should work fine, but the [any known thing is still being called out.

Just checking: You are including the extension correctly to your project with the line “Include Conversation Framework by Eric Eve” and not copy-pasting the extension’s code? Have you made any manual changes to the extension?