|
Since this section of the forum isn't just for requesting...
I'm currently making a script and GUI that you can attach to an object (preferably a humanoid), which will open up a TextBox and you can converse with the 'assistant' without restrictions on what you say. For example:
Assistant: Hello there!
User: Hi.
Assistant: Once again, hi!
User: I was wondering if you have anything I can buy?
Assistant: Sure! Hold on a second, I'll show you.
*Opens shop*
If and when I release it, it will come with instructions on how to add your own responses to what the user types.
If anyone would like to make suggestions as to anything I could add, please say, I'd love to hear them :P |
|
|
|
It's not a dialog...
It's all gui and analyses what the user has typed. |
|
WoolHatJoin Date: 2013-05-19 Post Count: 1873 |
Local billboard gui, maybe? I haven't looked at those in forever so I'm not sure if they have the properties for that to work |
|
WoolHatJoin Date: 2013-05-19 Post Count: 1873 |
Oh wait I misunderstood.
This would be a very complex script, as it would have to know specific keywords and learn specific keywords. Not sure how well that would work for you, even if you're an advanced scripter.
Though you could use a billboard gui, and set its adorned to the torso when you click it at least, so it'd be a 2d chat in a 3d environment. Mix it up a bit |
|
|
I've done the basic things of it understanding keywords in text, for instance:
User: How're you today?
*System understands 'how' and 'you'.
Assistant: I'm good thanks.
But I'm thinking about adding a system that uses anything extra that you've said, so the 'today' will be used to improve the response.
I'm also thinking about adding a system that learns from what you've typed previously so if uses it and changes its answers in the future. |
|
|
I've added several 'logic' elements, so if the player types 'lol' or something when it isn't appropriate, it will respond differently.
Example:
System: Hey there!
User: lmao
System: What..? What's so funny?
User: haha!
System: Seriously though, what's so funny?
User: Sorry, just messing with you.
System: That's ok, I get that a lot. |
|
|
This can be very tedious and complex |
|
|
Surprisingly it's not. It's just a 25 lists of similar words and alternative spellings, one function, one if with many many ifs in there, and for loops for each one (for loops used to simulate the speech (slows down and speeds up depending on the length of the word). Also a quite a few int values that switch between 0 and 1 all the time... |
|
|
I've added a 'repetitive request' function which will fire if the user repeats too often.
System: 'Hey there.'
User: 'Hi.'
System: 'Is there anything I can do for you?'
User: 'Hello.'
System: 'Hi again.'
User: 'Hey'
System: 'You don't have to keep on greeting me. I'm here.'
I'm having an issue though, where it'll fire when the player says 'hi', and I want it to only fire when that word isn't in another word, like 'thing'. Can anyone help with that? |
|
|
I've incorporated it into a game, and I've also added colour changing to show emotional changes. (green text when happy, red when angry, blue when sad, and green when confused).
Still open for suggestions if anyone wants to. |
|