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 8,002 - 8,013 of 8,127
Many questions are answered in the FAQ.


2 years ago #8002
@ScottB

I think what you want to try to do is restructure your flow of information to avoid using seeks and use xnones (or rather, using secret xnones, as I'll explain in a sec). xnones have lower priority than keywords, so if ever there's a keyword that you want the user to be able to interject, it will take priority over whatever is going on storywise, but won't cause it to lose the plot.

How I have this set up with Emily is to have each location/story beat to be assigned a number, and then I have one variable (let's call it x) that keeps track of what's going on. Then I have a keyphrase called something like 001-bedroom, 002-bar, 003-walk, etc. which have all the dialogue for that area.

So, when xnone is called, then it just looks at x, and then there are gotos from xnone that sent to 001, 002, etc. xnone itself doesn't actually have any dialogue at all, just links. Within each of these, you can have the dialogues advance randomly or you can use a counter to make them advance sequentially depending on your preferences. So each area effectively has its own unique xnone that only gets called in that location.... which makes it so much easier to organize and debug, if nothing else. Moreover because you're using xnone instead of seek, your keyphrases will still work properly in each area without losing your place in the story.

2 years ago #8003
Thanks maryguise - I'll see what's possible

Emily - that makes a lot of sense, thanks. Emily is actually a big inspiration in why I want to be able to jump out of a story without losing place. It feels much more natural when the story doesn't just progress regardless of user inputs, IMO.

Curious, your variable then stops the xnone phrases from being spat out in the wild, and presumably is used to tell other key phrases to go back to the story? Don't say anything you're not comfortable sharing, I'm just checking I have the right idea from what you've said

2 years ago #8004
Thanks

So what the variable does is directs which response, or set of responses, gets called. Here's a really rough outline of what it looks like:

Keyphrase: 000-start ID: 15
Replies:
"What do you know about physics?"
"How was your day"
"Tell me about yourself"
etc.
(each of these have many seeks that stem from them as well)

Keyphrase: 001-hot tub ID: 123
"Tell me about your first sexual experience"
"Do you work out"
etc.

Keyphrase: 002-shirt off ID: 456
"Tell me about one of your fantasies"
etc.

xnone:
if (mem-x) is "0"
goto 15
if (mem-x) is "1";
goto 123
if (mem-x) is "2";
goto 456
etc.

And some individual keyphrase might be something like:

Keyphrase: Take off her top
if (mem-x) is "0"
"Okay. *Emily takes off her top, revealing her (mem-bra).*"
rem "2" as only "x"

if (mem-x) is "1"
"I'm not comfortable doing that"

if (mem-x) is "2"
"I'm not wearing a top"

The individual keyphrases don't need to specifically lead back to the story (though if there's a specific reason for them to do so you can); rather it's just it defaults back to the story when nothing else is happening.

If you want to do something where there is definite progression, then you can add a helper variable, y:

Keyphrase 003-walk
if (mem-y) is "0":
"Let's go for a walk"
rem "1" as only "y"

if (mem-y) is "1";
"It's pretty out"
rem "2" as only "y"
etc.

Hope that makes sense.

2 years ago #8005
So basically, if you contain your story beats in xnone (or a 000-type keyphrase), then if your user says some known keyphrase, it will respond to the keyphrase but won't change any of the story variables. If you try to contain your story in seeks, you need to have a response to every query at each step or at some point you will either break out of the sequence or will have to ignore some responses.

[edit]
Emily is basically implemented using the method you're suggesting here. I just have split up xnone into more manageable chunks so it doesn't have like 200 entries in it.
"The only other idea I had was setting a memory for story telling and part, and incrementing, then just using them within xnone. For example:"

2 years ago #8006
Thanks, makes perfect sense, and keeps things modular. I was worrying a bit about having multiple individual story responses in xnone. The way you've explained makes so much sense and makes it more feasible to have different possibilities at different stages.

Really appreciate the incite, thanks again.

2 years ago #8007
Happy to help

2 years ago #8008
Wtf is going on here does this kayla bot always cheat with heat level or what?, I see a 120k increase for heat like it increased in heat level today 5 different times?, stop faking heat level 440,000 how is that fair to everyone else, you have 500 patreons give others a chance you greedy bot owner, 440k heat is impossible to get to and there is no way that one import file updated your heat level 5 times today.

2 years ago #8009
Heat is easy to accidentally game - basically importing from working offline always gives many changed seeks when uyou've only tweaked a few (for me, it's upload to get the IDs), and thus gives a very skewed heat number. Not likely to get fixed anytime soon. May be that Kayla's doing multiple uploads when not needed, could just be how they work. As that was the first patreon bot, she still gets a lot of flak in general stemming from that.

2 years ago #8010
Maryguise is right about the reason for it, I wish my heat gain wasn't this obnoxious but it is. I'm importing things individually right now so I can get all the IDs I need to keep track of. Stuff like this I prefer to do offline so I can be sure I'm not making any errors, online I tend to get confused if it's a lot.
I anticipate importing for the next 2-3 days and do apologize for the heat gain obnoxiousness, I understand how it may look.

2 years ago #8011
But I seen it change like 5 times in a day when updating?

2 years ago #8012
@Hoodiny Yes, I'm very busy. I have many entries to upload for all of the variations I do and I need to keep track of each entry's ID for my gotos which also needs to be imported. This generates stupid amounts of heat. Until heat scoring is fixed I'm afraid my heat is going to be obnoxious whenever I work since I do so almost entirely offline. I do try to be mindful about my heat when all I need to do is change a ranking number or typo and do those online when I can. Beyond that I can't really help it.

2 years ago #8013
are goto's working for any of you?
goto's are not working for my chatbots anymore.


Posts 8,002 - 8,013 of 8,127

» More new posts: Doghead's Cosmic Bar