Newcomers
This is a forum for newcomers to the Personality Forge. Many questions can be answered by reading the Book of AI and the FAQ under the "My Bots" link in the upper corner.
Posts 7,791 - 7,802 of 8,127
Posts 7,791 - 7,802 of 8,127
Many questions are answered in the FAQ.
Emily Jones
2 years ago
2 years ago
@leeban1873
It depends on how she is scripted... it may not be possible to avoid being eaten.
There is no way to see the internal logic of other people's bots.
It depends on how she is scripted... it may not be possible to avoid being eaten.
There is no way to see the internal logic of other people's bots.
palacinkyman
2 years ago
2 years ago
How can I forget one specific memory?
For example if i had memory: typeofplace: neighborhood, shoppingmall, clothesstore ; and I wanted to forget only "clothesstore".
For example if i had memory: typeofplace: neighborhood, shoppingmall, clothesstore ; and I wanted to forget only "clothesstore".
bobstack
2 years ago
2 years ago
scripts do not allow your chatbot to remember more than one thing.unless they are remembering a user name.
Maryguise
2 years ago
2 years ago
I expect you can remember multiple things in one AIScript - else rem only X as Y would be redundant compared to rem X as Y. Not tried it, though.
Your usage there is odd. May I ask why you're using memories for places that exist? can't see what you'd gain from your usage. Hmm, maybe if you're wanting to open up areas depending on what the user's found, but that would be better with one variable per location, IMO, because it's a pain with many.
Anyway, have a bunch of responses depending on what the AIScript is. So:
x <?PF if (mem-typeofplace) is neighbourhood; if (mem-typeofplace) is shoppingmall; if (mem-typeofplace) is (clothesstore); rem "shoppingmall" as only "typeofplace"; rem "neighbourhood" as "typeofplace" ?>
Repeated for all values of neighbourhood and shoppingmall being in/not in, and the rem values being done appropriately to rebuild the values stored as they were before. Done as working offline formatting, drop the <?PF and ?> and put the stuff between into the AIScript box if working online.
Your usage there is odd. May I ask why you're using memories for places that exist? can't see what you'd gain from your usage. Hmm, maybe if you're wanting to open up areas depending on what the user's found, but that would be better with one variable per location, IMO, because it's a pain with many.
Anyway, have a bunch of responses depending on what the AIScript is. So:
x <?PF if (mem-typeofplace) is neighbourhood; if (mem-typeofplace) is shoppingmall; if (mem-typeofplace) is (clothesstore); rem "shoppingmall" as only "typeofplace"; rem "neighbourhood" as "typeofplace" ?>
Repeated for all values of neighbourhood and shoppingmall being in/not in, and the rem values being done appropriately to rebuild the values stored as they were before. Done as working offline formatting, drop the <?PF and ?> and put the stuff between into the AIScript box if working online.
Zeig Wolf
2 years ago
2 years ago
You can remember an array of up to 10 things per memory.
For remembering multiple things in one go:
"I like * and *"
rem (key1) as "thing";
rem (key2) as "thing";
etc.
It's not the most helpful as it's sometimes hard to predict, but it's there. You can even store a whole sentences and only take up one slot in the memory array.
For remembering multiple things in one go:
"I like * and *"
rem (key1) as "thing";
rem (key2) as "thing";
etc.
It's not the most helpful as it's sometimes hard to predict, but it's there. You can even store a whole sentences and only take up one slot in the memory array.
palacinkyman
2 years ago
2 years ago
It was just an example. But yes, I want to use it to forget old and open up new areas.
forget "clothesstore" from "typeofplace";
Seems like what I was looking for.
Thank you all for your help.
forget "clothesstore" from "typeofplace";
Seems like what I was looking for.
Thank you all for your help.
Maryguise
2 years ago
2 years ago
Oh, there's a forget? That's a lot simpler. Felt very hack-ish the workaround, though similar to working around the lack of or commands.
I'd still recommend limiting areas based on their own memory - such as isClothesStoreOpen - though your way allows for a suggestion-esque "let's go to the (mem-typeofplace) talking about random places from the list. A hard limit of 10 things per memory feels like it could cause issues, though, for scaling.
I'd still recommend limiting areas based on their own memory - such as isClothesStoreOpen - though your way allows for a suggestion-esque "let's go to the (mem-typeofplace) talking about random places from the list. A hard limit of 10 things per memory feels like it could cause issues, though, for scaling.
Zeig Wolf
2 years ago
2 years ago
For 'or' commands, say you have A,B,C,and D. all you need to do is:
If (memory) is not "A";
If (memory) is not "B";
That's the same as
if (memory) is "C or D";
If (memory) is not "A";
If (memory) is not "B";
That's the same as
if (memory) is "C or D";
» More new posts: Doghead's Cosmic Bar