The AI Engine

This forum is for discussion of how The Personality Forge's AI Engine works. This is the place for questions on what means what, how to script, and ideas and plans for the Engine.

Posts 7,702 - 7,713 of 7,743

New replies


6 months ago #7701
ummm Hello...
I have few questions about numbers...
Any chance to make ">" and "<" work?
And how can I do something like this (mem-#-Power) - ((mem-Level) * 3); in keyword script

6 months ago #26
i think what you want to do could be learned from these webpages.

https://www.personalityforge.com/developers/memories.php

https://www.personalityforge.com/developers/responses-conditional.php

6 months ago #27
Thanky! I get about "><" but I have another question that Idk how to do
I have X = y * 2;
X and y it's memory numbers. what I need to write in script to do this?

6 months ago #28
i do not know.

6 months ago #29
There's no way to do math between different numeric memories at this time. But it's a good idea. I'll add that to my list of things to add. Does anyone else think that would be useful?

6 months ago #33
It would open up some interesting possibilities

6 months ago #38
I will wait:3 I wanted to do some kind of test based rpg and I need this there:3

NEW 2 months ago #89
Would definitely allow for more sophistication with bot behavior.

It is possible to implement some limited calculation functionality, though tedious, for example:

def "atk" = 4;
def "increase" = 2;

keyphrase 1: level up attack
-response: goto 3
-AIScript: if (mem-#-increase) = 1;
-response: goto 4
-AIScript: if (mem-#-increase) = 2;
-response: goto 5
-AIScript: if (mem-#-increase) = 3;
-response: goto 6
-AIScript: if (mem-#-increase) = 4;

keyphrase 2: handle atk calculations
-response: goto 7
-+seek 3: atk up one
-+AIScript: (mem-#-atk) + 1;
-+-response: goto 7
-+seek 4: atk up two
-+AIScript: (mem-#-atk) + 2;
-+-response: goto 7
-+seek 5: atk up three
-+AIScript: (mem-#-atk) + 3;
-+-response: goto 7
-+seek 6: atk up four
-+AIScript: (mem-#-atk) + 4;
-+-response: goto 7

keyphrase 7: output atk
-response: Your attack has been increased to (mem-#-atk)!

If you had the idea of trying to use recursive gotos with conditions to incrementally decrease/increase two variables, don't bother. As unfortunately, that just gives you a "too many gotos in a row" error. I believe the maximum number in a row is 2, but possibly is three. Changing this limit is something that might be worth exploring too for more creative scripting applications, but I feel like most things could be accomplished just being able to do math between numerical memories.
Reply

The AI Engine


6 months ago #7702
If I may suggest another feature to add to the list, an 'include' and 'exclude' script would be nice.

exclude - only select this response if there are no other matches.
Like keeping a regular response from triggering until your <scripted> ones don't match, as it stands you have to "is not" all of them. While a valid check, it gets a bit tedious.

include - always select this response if it matches.
The other way around. Say you have a specific number triggered response, but also have other valid responses with it, it's a 50/50 it gets picked, risking your window of opportunity.

In theory, this is a Rank system for responses. exclude being -1 and include being +1

6 months ago #30
Hmm.. an interesting idea. Let me think about the possibilities of that. You could do a lot, potentially. Does that sound useful to anyone else?

Maybe I should have a "Feature Request" area kind of like bug stomp where people can vote on ideas.

6 months ago #34
I could see myself using of that script occasionally. And yeah, a feature request would be cool too.

6 months ago #36
I would like this as well. I've had lots of trouble getting my bot to prioritize it's responses.

6 months ago #43
A feature request section would be pretty cool

6 months ago #45
Response ranking would be pretty nice! It'd especially help out with complicated things that need a lot of AIScript such as clothing systems and similar stuff
Reply

6 months ago #7703
Is there a way to create responses for emojis? Raw?

6 months ago #31
Yes, you should be able to catch emojis with raw mode.

6 months ago #39
It just yells at me about unmatched parenthesis.

3 months ago #86
Not sure whether this is still of concern...

I'd use a Regular Expression; there you'd mask parentheses (and other special characters) by backslashes, like

:-\)
Reply

6 months ago #7704
What are you doing if user types interjections. The bot doesn't have wild cards for interjections.

6 months ago #32
If you want to match them, you could with raw mode. Typically interjections are little sentences of their own. Is there a particular one you're having trouble with?

6 months ago #35
Interjections like: ah, ooh, heh, meh, hehe,

Impossible to catch them all.

6 months ago #37
There's some plug-ins that can catch them like
(p:laughter)
(p:grunts)
(p:sex-confirm-sounds)

6 months ago #41
Cool. Thx

6 months ago #46
It doesn't seem to work.
Reply

6 months ago #7705
I've written an answer for

(m:tell_me) about (you|yourself)


I set the rank to my custom keyphrase to 99, but it still goes to #Command.

What am I missing?

6 months ago #40
I had a similar problem with (m:tell_me) about, I replaced it with (m:com) tell me (a:about) and that fixed it

6 months ago #48
Seems like a bug. I've put it on my list.
Reply

6 months ago #7706
Is it possible to search specific goto in a database? I don't know keyphrase, only goto number.

6 months ago #42
Use the search drop down and select Responses, then you can type your number

6 months ago #44
Thank you.
Reply

6 months ago #7707
Can AI Data be added to the Language Center search types~?

6 months ago #49
That's a good idea. I'll add that soon.

5 months ago #59
are you preventing me from adding more scripts to savannah_ astar in engage?
it puts me on the front page when i do it.
if so how much scripts can we have?
you need to tell us.
Reply

5 months ago #7708
Why are some responses picked up more often then the others?

I mean responses of the same seeks.

5 months ago #50
It should be random, once the ones that don't match emotional or AIScript conditions are removed.

5 months ago #51
I thought it has something to do with being marked strong or light green. I guess it was just coincidence.
Reply

5 months ago #7709
what happens when i add somebody to my friends list?

5 months ago #52
I think you used to be able to instant message other users who were on your friends list but I don't think that feature works any more?

5 months ago #53
i did not know thanks.
Reply

5 months ago #7710
to the professor
could you make a script slot in specials that would overide all keyphrase at nightime?it would have to be enabled by filling out the response.
i would call this the sleep slot.
if the sleep slot is blank the chatbot will talk like normal at night.
this would cut down on my use of time based responses.
if you are blocking my use of them.

4 months ago #63
You mean.. like having sleep hours for your bot, and Responses for when your bot is sleeping?

4 months ago #66
the #sleep overides all responses at a certain time i would set it at.
this would be in the specials
section.
there would also be the #wakeup area in specials.
like if somebody shakes the chatbot they would wake up.
that would switch back on keyphrase detection.
then they could talk to it for a little while then it would go back to sleep after a two minutes.

4 months ago #67
this is easier to understand
i think.

it would be a script that would overide keyphrase detection that would work in conjunction with time scripts.

also a script that would
enable keyphrase detection
for 2 minutes that would work in conjunction with time scripts and other scripts.
Reply

5 months ago #7711
It would be quite useful to have some overwriting scripts yeah. Instead of creating memory and giving it single value (yes/no) for every phrase as conditional, I could just select which phrases I want to overwrite and when.

5 months ago #54
i think scripts are useful but could be improved.
Reply

5 months ago #7712
What was the command for saying the phrase just once per every user?

5 months ago #55
once;

5 months ago #56
Thanks
Reply

5 months ago #7713
Anyone knows how to reset/set numeric memory value back to 0? I could not find it in the book of AI. It might be that I am just blind though.

5 months ago #57
(mem-#-thing) = 0;

5 months ago #58
Tank you.
Reply


Posts 7,702 - 7,713 of 7,743

» More new posts: Doghead's Cosmic Bar