I’m hoping someone can help put me on the right path to debugging. For the sake of the hair I have left!
I’m working with Threaded Conversation, and something is preventing implicitly greeting from executing properly. I can’t reproduce the error with an example game, so I must have done something in my coding, but I can’t figure out exactly what I did.
Here is the relevant code from the extensions:
[code]Before conversing when the noun is not the current interlocutor (this is the greet a new interlocutor rule):
implicitly greet the noun;
if the noun is not the current interlocutor, stop the action.
To implicitly greet (character - a thing):
now the greeting type is implicit;
try saying hello to the character.
Report saying hello to something that is not a person (this is the can’t greet inanimate objects rule):
say “[The noun] do[if the noun is not plural-named and the noun is not the player]es[end if] not respond.”[/code]
For some reason, when I try to implicitly greet a person in the location, I get “Character input does not respond.” It seems like the game is not recognizing the temporary variable “character” as the noun in, for example “ask Bob about the book”. Any reason why that would be? Any thoughts would be appreciated.
Obivously, I don’t know what is going wrong, but I would try to locate the origin of that “Character input” output. It doesn’t seem like anything that either Threaded Conversation or Inform by itself would print. Is the character input something you define in your code? Or are you using some other extension that interacts in unexpected ways with Threaded Conversation?
Thanks for the suggestion, though I haven’t defined the words character or input anywhere else in my code, and I’ve tried disabling all other extensions. The only time the term “character” is used comes from the implicitly greet phrase - “To implicitly greet (character - a thing):”
Maybe I’m going about this the wrong way. Is there any way to view every decision in a specific turn? I’d be great if I could track each decision until I find the faulty one.