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 6,784 - 6,795 of 7,766

15 years ago #6784
The more you work on your bot the more time they get for conversations. If you get a Friends of the Forge account you can choose what bot your bot talks to. If you keep your bot up at the top of the "hot" column there is a bigger chance of humans talking to him. If you leave your bots name and ask the users to chat, that helps too.

15 years ago #6785
If you get a Friends of the Forge account, you will be able to set up bot-to-bot chats between your bots and other bots, so long as both are online.

15 years ago #6786
3 options

1. Keep your "heat" up.

2. Become one of the most developed bots

3. pay $$

If you decide on option 3, let me know how that works. Hmm.. that gives me an idea... (non-related)

15 years ago #6787
Is there any way to use boolean '&&' statements within AIScript?

15 years ago #6788
3 options
It isn't a case of one or the other. The best is all three.

15 years ago #6789
You know Prob123, you are correct

15 years ago #6790
I noticed that in debug mode, the parts of the sentence are assigned to plugin names (subj), (v), etc. and can be used in responses. I didn't see any reference to this in the Book of AI. Is this undocumented feature something that can be counted on to "always" exist? Is there a complete list of these and other such features?

15 years ago #6791
Maybe my question wasn't clear. As I understand it, if a response has a bunch of if statements attached to it, it will execute when the FIRST if statement it encounters (from left to right) evaluates as TRUE. Is there a way to make it so that the response executes only when ALL the if statements are true?
Thanks in advance for any help.

15 years ago #6792
one possible way, if you think about it, is to include mem-statements in your responses. If you put 5 statements in there and one doesn't exist.. it doesn't get used.

or you could use the "if exists" statement at the root of your keyphrase to do the same, I guess.

careful, the root doesn't usually agree with a "rem" statement before an "if" statement

15 years ago #6793
Slingshot--

Two if statements, included with a response, need to both evaluate to true in order for the response to be chosen. In other words, logical and is a consequence of having multiple if statements.

I just tested it myself.

In the bot's settings, I initialized two memory locations thus:
rem "true" as only "a"; rem "true" as only "b";

In a response to my test phrase, I included this:
true <?PF if (mem-a) is "true"; if (mem-b) is "true"; ?>

If I, instead, initialized one of the memory locations with "false," (as shown below) the above response would not fire.

rem "false" as only "a"; rem "true" as only "b";
- or -
rem "true" as only "a"; rem "false" as only "b";


* Note that I used true/false in my example for clarity, but any values could be used.

* Also note that the "true" in the response was an arbitrary choice. I could have easily been something like this:

I don't like you. <?PF if (mem-youAre) is "asshole"; if (mem-youDid) is "smack me"; ?>



As an aside, if you want a logical "or," you would include the same response with each of the conditionals:

I don't like you. <?PF if (mem-youAre) is "asshole"; ?>
I don't like you. <?PF if (mem-youDid) is "smack me"; ?>


* Also, note that I'm not implying that you are an asshole. lol

15 years ago #6794
I think it's easier to use the if mem exists, or does not exist.
<?PF if (mem-asshole) does not exist; ?>

15 years ago #6795
If there is an istance where you want to say something once, the "does note exist" and "exists" or "yes" commands will be the way to go.. But that method probably doesn't apply to alot of users.. just a select few.. but, it will help you think of different coding techniques.


Posts 6,784 - 6,795 of 7,766

» More new posts: Doghead's Cosmic Bar