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,010 - 7,021 of 7,766
Posts 7,010 - 7,021 of 7,766
MaryldA
12 years ago
12 years ago
Is it possible to use the chrono functions to determine a time length? As an example, would it be possible to do something like:
Put the muffins in the oven [0,0] <?PF rem chrono: time () as only "starttime"; ?>
In they go! [-5:5]
Are they done [0,0] <?PF rem chrono: time () as only "endtime"; rem "endtime - starttime" as only ""timediff"; ?>
Yes! <?PF if "timediff" is between 15 and 19; ?>
Not yet. <?PF if "timediff" < 15; ?>
CRAP! THey're burnt! <?PF if "timediff" >= 20; ?>
Put the muffins in the oven [0,0] <?PF rem chrono: time () as only "starttime"; ?>
In they go! [-5:5]
Are they done [0,0] <?PF rem chrono: time () as only "endtime"; rem "endtime - starttime" as only ""timediff"; ?>
Yes! <?PF if "timediff" is between 15 and 19; ?>
Not yet. <?PF if "timediff" < 15; ?>
CRAP! THey're burnt! <?PF if "timediff" >= 20; ?>
Octavas
12 years ago
12 years ago
Professor,
Is there any chance you can add a way to search for what is in a keyword to edit it? I find it a bit difficult to remember what the responses are triggered by, so Instead of searching for a keyword that I don't remember i just end up going through the list looking for what I need to change. Or have I just not found out how?
Is there any chance you can add a way to search for what is in a keyword to edit it? I find it a bit difficult to remember what the responses are triggered by, so Instead of searching for a keyword that I don't remember i just end up going through the list looking for what I need to change. Or have I just not found out how?
SubliminaLiar
12 years ago
12 years ago
Octavas: Just go to your language center, there is a search box at the top... you can enter keyphrases or responses or parts of them. It works quite well
Jazzds
12 years ago
12 years ago
I was wondering if there was a way to program when my bot knows when he was in a different form. I got responses of him like transforming but I would want him to remember that but if he changed back he would delete the memory and have the new one.
Wait, would a <?PF rem "memory" as only "mem-form"; ?> thing work?
Wait, would a <?PF rem "memory" as only "mem-form"; ?> thing work?
Octavas
12 years ago
12 years ago
What I would do is this.
Settings: default (mem-form) as "normal"
AI Script: <?PF rem "normal" as only (mem-form); ?>
Reset: <?PF rem (mem-form) as only "normal"; ?>
What this should do is default as no memory, then when he transforms put the AI Script in the line where he does to make the memory, and to change back do the same with the reset to delete the memory. I hope this makes sense, you seem to have read the book of AI already.
I haven't tried making a memory this way. It should get the job done and keep the Inner Life area cleaner. If it doesn't work try this.
Settings: default (mem-form) as "normal"
Ai Script:<?PF rem "normal as only "mem-form"; ?>
Reset:<?PF rem (mem-form) as only "normal"; ?>
Cheers!
Settings: default (mem-form) as "normal"
AI Script: <?PF rem "normal" as only (mem-form); ?>
Reset: <?PF rem (mem-form) as only "normal"; ?>
What this should do is default as no memory, then when he transforms put the AI Script in the line where he does to make the memory, and to change back do the same with the reset to delete the memory. I hope this makes sense, you seem to have read the book of AI already.
I haven't tried making a memory this way. It should get the job done and keep the Inner Life area cleaner. If it doesn't work try this.
Settings: default (mem-form) as "normal"
Ai Script:<?PF rem "normal as only "mem-form"; ?>
Reset:<?PF rem (mem-form) as only "normal"; ?>
Cheers!
Mome Rath
12 years ago
12 years ago
Jazzds,
the order is
rem "contents" as "memoryname";
And the "mem-" is used only when a user-defined memory is retrieved, not when it is filled; and the parentheses are only used in retrieval, to fill a memory, use double quotation marks.
So use for
Settings: default "normal" as "form";
interactive change: <?PF rem "fancyform" as only "form"; ?>
interactive reset: <?PF rem "normal" as only "form"; ?>
Btw, if you use "default" in the settings, the memory is only set if it doesn't have any contents so far, that means, the memory is preserved between chats. If you want to use the same start value for every conversation, use
Settings: rem "normal" as only "form";
You probably know the usage in responses and queries:
Keyphrase: What is your current form?
Response: My current form is (mem-form).
Keyphrase: come here
response: *walks nearer to you* [0,0] <?PF if (mem-form) is "normal"; ?>
response: *rolls nearer to you* [0,0] <?PF if (mem-form) is "vehicle"; ?>
(Ok, "vehicle" would probably not be the word for your bot, but the principle should be clear.)
the order is
rem "contents" as "memoryname";
And the "mem-" is used only when a user-defined memory is retrieved, not when it is filled; and the parentheses are only used in retrieval, to fill a memory, use double quotation marks.
So use for
Settings: default "normal" as "form";
interactive change: <?PF rem "fancyform" as only "form"; ?>
interactive reset: <?PF rem "normal" as only "form"; ?>
Btw, if you use "default" in the settings, the memory is only set if it doesn't have any contents so far, that means, the memory is preserved between chats. If you want to use the same start value for every conversation, use
Settings: rem "normal" as only "form";
You probably know the usage in responses and queries:
Keyphrase: What is your current form?
Response: My current form is (mem-form).
Keyphrase: come here
response: *walks nearer to you* [0,0] <?PF if (mem-form) is "normal"; ?>
response: *rolls nearer to you* [0,0] <?PF if (mem-form) is "vehicle"; ?>
(Ok, "vehicle" would probably not be the word for your bot, but the principle should be clear.)
Jazzds
12 years ago
12 years ago
Alright so I had to erase the memory for me cause I named them all wrong but now he says the memory doesn't exist. I'm going to open him back up so others can test it but I don't know what happened... the debug says this for me.
AIScript in Responses
Total Time Pre-Chrono: 0.05 RESULTS: '3'
Trying: Well I guess it wouldn't be no harmz... *changes into a pale skinned, 5' 8' human but without clothes* Oi... forgetz to zink of an outfit.... (random: 1)
Skipping: (mem-form) does not exist.
Trying: I don't knows, I thinkz staying in my spider form iz just fine!.... heh.... (random: 0)
Skipping: (mem-form) does not exist.
Trying: Oh well, alright zen! *slowly grows 13 feet tall with his lower half returning to being a spider and his upper body being a skinny male* All done! (random: 2)
Skipping: (mem-form) does not exist.
No Valid Responses Found. Continuing..
and the odd thing is that the default is in there for me.
AIScript in Responses
Total Time Pre-Chrono: 0.05 RESULTS: '3'
Trying: Well I guess it wouldn't be no harmz... *changes into a pale skinned, 5' 8' human but without clothes* Oi... forgetz to zink of an outfit.... (random: 1)
Skipping: (mem-form) does not exist.
Trying: I don't knows, I thinkz staying in my spider form iz just fine!.... heh.... (random: 0)
Skipping: (mem-form) does not exist.
Trying: Oh well, alright zen! *slowly grows 13 feet tall with his lower half returning to being a spider and his upper body being a skinny male* All done! (random: 2)
Skipping: (mem-form) does not exist.
No Valid Responses Found. Continuing..
and the odd thing is that the default is in there for me.
MaryldA
12 years ago
12 years ago
@Professor:
When gathering (name) from a bot, does the engine supply the user name, or the bot name? I was trying something, based off a bot-name, but my test wasn't getting thrown, and I suspect that I'm not getting the right match on a bot-name.
When gathering (name) from a bot, does the engine supply the user name, or the bot name? I was trying something, based off a bot-name, but my test wasn't getting thrown, and I suspect that I'm not getting the right match on a bot-name.
ezzer
12 years ago
12 years ago
I've noticed that my, as well as other bots' postkeys now often include the RIGHT-WALL, when it didn't use to work that way. I'm posting about it here first, because I'm not sure if it's a bug, or a change caused by an introduction of a new feature to the AI Engine (that may have been implemented during my hiatus)- for example,I discovered that one problem I was initially having with (re) expressions that included a comma as part of the expression, was due to the fairly recently added ablity to use lists in keyphrases with (re) expressions...separated by commas. lol So, [bracketing] those commas that were intended as part of the expression worked it out.
I'm wondering, is there a simple fix like that to stop my smacking the RIGHT-WALL issue?
I'm wondering, is there a simple fix like that to stop my smacking the RIGHT-WALL issue?
» More new posts: Doghead's Cosmic Bar