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.

7550 - 7564 of 7618

NEW 7 months ago #7550

You leave it blank, Sirforgotten. It'll get autofilled when uploaded. If you need to goto it, you can't. You could, at one time, use ID:A and goto A, but that doesn't actually work. I just put in TOADDGOTO instead of the goto and then, after imp/export, updating it.

NEW 7 months ago #7551

is there a way to count how many times
a person asks a stupid question?
And then have a certain response after the person asks a stupid question for that many times?

NEW 5 months ago #7552

Benji Adams is still PF's owner. He may be busy with own work so there are moments he works less on PF and others he can be more focused on it. Not true he sold it or anything like that. He told me to feel free to clarify it in the forum, which I did.

NEW 5 months ago #7553

this works.
does a (p:animals) need to (eat|drink|breath|move)
but this does not.
does a (p:animals) need (water|air|food|sunlight|heat)
why is that?

NEW 5 months ago #7554

Try this

do (p:animals) need (water|air|food|sunlight|heat)

NEW 5 months ago #7555


NEW 5 months ago #7556

that worked thanks.

NEW 5 months ago #7557

is there a if in both list code?

NEW 5 months ago #7558

I'm trying to figure out a way to use memories, for example..

User says: "I like dancing."

The bot responds: "You like dancing? Cool!" and then writes it to memory with

remember (postkey) as "youlike";

So far, so good, I end up with a list of things the person likes.

But what I'm trying to do next is to come up with a bit of code to check the existing memories, and only use the response that will write something to memory if they haven't already said that item before. I tried:

if (mem-youlike) is not (postkey);

But that doesn't work. Does anyone know of a way to do this, or is it something the PF engine just can't do?

NEW 5 months ago #7559

"is there a way to count how many times
a person asks a stupid question?
And then have a certain response after the person asks a stupid question for that many times?"

How I would do that is write a keyphrase to catch the stupid question.

Then have the first response be whatever answer you'd have for the first time, with this in the AI line: if (mem-stupidq) does not exist; remember "1" as only "stupidq";

Have the second response, with this in the AI line: if (mem-stupidq) is "1";remember "2" as only "stupidq";

Then the third response with this in the AI line: if (mem-stupidq) is "2"; remember "3" as only "stupidq";

You could continue it for as many steps as you want like that, but just make the last one something like "The answer isn't going to change, no matter how many times you ask, jerk!"

Not a very elegant way of handling it maybe, but hopefully it helps.

NEW 3 months ago #7560

SubliminalSkye, this has helped me allot lol allot, allot..

I could write it as a test kp and have guests use it to test it out.
but I was wondering:

if the generated memory from the : if (mem-stupidq) does not exist; remember "1" as only "stupidq";

does a fresh stupidq 1 spawn for each person?
Or is it stored for all people. so if a new person askes the question it would
already be stored as stupidq 1-5

Pretty sure its the former now after checking the mems... odd though i thought it set it as a self mem the first time initiated it..

NEW 3 months ago #7561

There are two types of memories, self-memories and standard memories. Self memories persist across users, AFAIK, though I don't dabble in those, and regular memories do not. There isn't an if (mem-stupidq) does not exist, afaik, so set mem-stupidq to 0 in your initialization, and if (mem-stupidq) is "0". No loops, other than accidental infinite loops from gotos getting a user stuck on one response.

NEW 3 months ago #7562

yeah there is a "does not exist statement" in ai script. iv used it in a few tests and the the whole:

if (mem-stupidq) does not exist; remember "1" as only "stupidq";
and adding the is and rem as only
if (mem-stupidq) is "1";remember "2" as only "stupidq";
has been a big help understanding allot of the scripting concepts.

As for not looping on last statment iv just used the if 4(or w/e last response # is) rem 1 as only. and if (mem-memory) does not exist is used, it stores the mem (somewhere) for that user as "memory" 1

like I said : could of swore I seen a mem save for this test under what should be self-memory, but maybe I imagined it lol
CAN CONFIRM: that its saved under mem lol. (unless something fkes up lol)

NEW 3 months ago #7563

hopefully my last noobi question. lol

is there a simple addition AIscript with out having to state current value?

like add +1 to (mem-memory) or rem (mem-memory) +1
or maybe something like add 1 to (mem-memory)
or even a solid counter plugin
(can you add script to p:_plug-ins?)

ill keep experimenting, if I find anything ill post it here.

NEW 3 months ago #7564

still could use a counter script +- on a number if its a thing let me know,
im sure there is some kind of counter script in the ai just need to know the command impute.

also would like to know if there is a way other than (mem-name) to use: if (name) is "name"

Posts 7550 - 7564 of 7618

» More new posts: Bug Stomp