PF News

For discussion of the latest upgrades and changes posted in the News, including questions, details, or any related bugs.

Posts 826 - 837 of 894

3 years ago #826
How can I remember something that user types? Like for example his name?

3 years ago #827
look at the example scripts in the book of ai in the build menu.
that should answer your question.

2 years ago #828
I am still struggling how to effectively deal with not being to apply "forget" script into response.

I often need to require memory first, to determine what should be the proper response, and after the response is chosen, forget that memory.

Can someone please help me?

2 years ago #829
Did the suggestion of a throwaway seek/KP with the forget command that you goto, from Zeig, work? So something like:
seek
response for not in train station <?PF if (mem-location) is not "train station" ?>
goto 1234 <?PF if (mem-location) is "train station" ?>
+otherSeek [0,0] ID:1234 <?PF forget "train station" from "location" ?>
Response for leaving train station

(using notation from working offline to make things clear, hence the <?PF ?> around the AIScript)

2 years ago #830
But this way I would have to make dozens of same key phrases for different memories. E.g. one for being in blue train, one for being in red train etc. because e.g. each of them goes to different destination. Than I would have to apply goto for proper one. I think it is not even allowed to have multiple same key phrases.

It is not possible to write (goto 123) and add custom text after it right?

2 years ago #831
i would overwrite the memory like this.
use aiscript intialization in ai settings to remember it for a long time.
put in ai settings default "blank" as "train";

i hope you know where it is.

rem "blue" as only "train";
rem "red" as only "train";

2 years ago #832
I'm not sure you're understanding "goto", https://personalityforge.com/developers/seeks.php#2. No, you cannot add text after a goto, but the goto goes to another set of text. Not that that's probably any clearer... And each keyphrase is different, "GetOffRedTrainStationOne", "GetOffRedTrainStationTwo", etc. in those you would store your "forget I was on that train" script. and you would use a "goto" to point to those keyphrases, where your responses would be, like the example I showed previously.

2 years ago #833
You still don't understand! If e.g. each train goes to different station and some trains from different original stations can go to same stations and each train goes at different time, .... the number of combinations would be immense. I just want to e.g. arrive at new station and forget the previous one, without loosing information about other things. Why did the developers didn't think of this! Like this, my only option will be to split memories into more, like: typeofplaceoforigin, typeofstation, typeoftrain, typeoftime, which is insane and very easy to be messed up in seeks.

2 years ago #834
Of course my bot is not about trains, but this is the best analogy I came up with.

2 years ago #835
One thing I have noticed by accident (didn't delete some tabs when copy/pasting) is that the site lets you hang seeks off gotos, which might help keep things clean? There's no natural way to get to the seek hanging off a goto, but it's got an ID and so you can goto it. Still doubling the amount of seeks required, but same thing happens with lack of or statements (no way to do if (mem-x) is "yes" or (mem-y) is "no" in one seek, for example). Main issues with the gotos is that you can't have a goto pointing to another goto (therefore need text for whilst travelling) and that it roughly doubles/trebles seek count? Thinking, starting from station A or C and going to B (tabs denote hangin off previous entry on prior tab amount, as per working offline):

+blue train [0,0]
goto X
<tab> +blue [0,0] ID:X <?PF forget "A" from "inStation" ?>
<tab> text for travelling to station B
<tab><tab> +xnomatch [0,0]
<tab><tab> goto Y
+red train [0,0]
goto Z
<tab> +red [0,0] ID:Y <?PF forget "C" from "inStation" ?>
<tab> text for travelling to station B
<tab><tab> +xnomatch [0,0]
<tab><tab> goto Y
+arrive at B [0,0] ID:Y <?PF rem "B" as "inStation" ?>
text for arrival at B

Actually, if it's a location you're in, there's only one of those at a time, so you'd use rem "B" as only "inStation", but if you want multiple items in that memory (such as tracking multiple people in one memory), it's hoops to jump through. Much like copying the first line of seek chains if there's a goto option, to prevent breakage, using lots of if (mem-x) is not "Y" to get around lack of or, or duplicating responses to again get around lack of or.

There's certainly lacking features that you have to work around, unfortunately, sometimes by lengthening things.

2 years ago #836
You can have a go-to place pointing to another go-to, but can't have the second go-to pointing to a third. I think this was a fairly recent change because I don't feel like it used to be this way, but a noticed it working a few months.

2 years ago #837
Really, Emily? That's excellent to hear. Probably to get around the kind of issues I had. So it can be done without the extra step. I am 100% certain old behaviour was 'too many goto error if any responses - even those that won't fire due to AIScript - have a goto'.


Posts 826 - 837 of 894

» More new posts: Doghead's Cosmic Bar