Talking to game characters?

If for example I type "Hello Mary" or "Say Hello to Mary" and want a text message such as "Mary says Hello to me" how do I do this in Quest. I have turned on the ask/tell feature in Quest. Is there a certain format for this as you not asking, telling or ordering a character.
If you do order a character to do something what format do you use to type it in?

Looks like I need to type "Tell Mary to stand up" to order the character Mary to do something.
As for the Hello Mary then maybe this could be a command with the word pattern 'hello Mary'.

I use 'Speak' in a drop-down of verbs when the name of a character is selected. Then it runs a script of whatever I want.

Hi Forgewright.

In the drop down list for the character Mary I clicked on "Speak to" but that gives a message "She saies nothing" 'saies' seems to be misspelled so maybe I tried it in as a default message but I can't find where I would have typed that in.

The "saies" bug is already known. If you want to fix that, take a look at the core function Conjugate.
I've already posted this fix several times, and I'm hoping that it'll be sorted out in the next version of Quest.

It seems that "speak to" is a verb, which would need to be added to each NPC; while "talk to" is a more advanced command which allows you to give each character a range of things to talk about. It's probably best to pick one or the other, or to make your own command.

In the case of allowing the player to say arbitrary things, like "say hello", I'd probably create a command with a pattern like say "#object_statement#";say #object_statement# to #opbject_npc#;say #object_statement#;talk to #object_npc#;speak to #object_npc#

You could give it the scope: object_statement=statements|object_npc=room where "statements" is an inaccessible room containing objects that represent the things the player can talk about. you could give these objects aliases that are a complete sentenct, and an alternate alias which is a bunch of all the words the player might try typing. This means that the disambiguation menu will work correctly, if there's multiple things the player might have meant.

Then in the command script, you would have variables object_statement and object_npc (although you would have to use IsDefined("object_statement") and IsDefined("object_npc") to check if the player has supplied both parameters.

This topic is now closed. Topics are closed after 60 days of inactivity.