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 3,886 - 3,897 of 8,132
Many questions are answered in the FAQ.


18 years ago #3886
thank you, Ulrike and prob123, for your advice!

18 years ago #3887
I'm testing something new and I would like everyone to make a plugin named after their bot. In the plugin just put the link for your bot if you can. Thank you.

18 years ago #3888
OK, suppose I say "goto increment intimachy level". Then I have the following:

increment intimacy level [0,0]
    I'm finding you quite pleasant to be with, (mem-name)! [(mem-intimacylevel)] <?PF if (mem-intimacylevel) is "0"; ?>
        + xnomatch [0]
        goto increment intimacylevel 1

(end of code quote) Now suppose (mem-intimacylevel) is equal to zero, and let's suppose there is no goto at increment intimacy level 1. Should this create a "I have too many gotos in a row"?

I wouldn't expect it to, because the first goto leads to a statement ("I'm finding you quite pleasant to be with, (mem-name)!", not a goto, and it is only in the seek that the control flow meets another goto.

On the other hand, I keep getting "I have too many gotos in a row", and it seems to come from there.

thanking you in advance, Irina

18 years ago #3889
Dear coolchimpk:

I don't understand what you mean by the link to my bot.

18 years ago #3890
Dear coolchimpk:

Are you trying to choose with whom your bot will chat? I don't think the system permits that.

18 years ago #3891
I don't think the system permits that. It does if you have a Friend of the Forge account..and have you tried using seeks instead of the goto's

18 years ago #3892
[blush!] Oops, my mistake! Thank you for correcting me, prob123!

18 years ago #3893
(Response to prob123) No, I haven't tried to use seeks instead. The reason is this: The variable (mem-intimacylevel) varies from 0 to 8, inclusive. It affects many of the bot's responses. It There are lots of places at which I want to raise (mem-intimacylevel) in response to something the guest does (unless it is already at 8, in which case it stays the same). Since, as far as I know, you can't just increment a variable in the system here (if I am wrong about that, please tell me! It would eliminate the whole problem!), I came up with a rather roundabout way to get the same effect. I send control to 'increment intimacy level', using a goto. One finds there nine responses marked by AIscript "if" statements.
Each of them is followed by a seek; each one looks like this:


I'm finding you quite pleasant to be with, (mem-name)! [(mem-intimacylevel)] <?PF if (mem-intimacylevel) is "0"; ?>
+ xnomatch [0]
goto increment intimacylevel 1

except that the response is different, the value of (mem-intimacylevel) in the "if" is different, and the target of the goto is different, in each case. For example, one of them is:


    I think I rather like you, (mem-name)! [(mem-intimacylevel)] <?PF if (mem-intimacylevel) is "2"; ?>
        + xnomatch [0]
        goto increment intimacylevel 3



The effect is that if the value of (mem-intimacylevel) is n, then the control is directed by goto to increment intimacy level (n+1), except in the case of 8. At that point, the value of (mem-intimacylevel) is reset with AIscript, for example:


increment intimacylevel 3 [0,0]
    How would you describe my looks, (mem-name)? [(mem-intimacylevel)] <?PF rem "4" as only "intimacylevel"; ?>

Now, there are maybe 50 responses at which I want to increment (mem-itimacylevel). I didn't want to have to go through this whole process 50 times (not only would that be tedious in itself, but I would have to vary the comments almost every time, or I would run afoul of the rule against using the same response over and over again), so I tried to make one place that does it (namely 'increment intimacy level') and send the control there with a goto each time. I hoped that making a verbal response (rather than a goto) at 'increment intimacy level' would avoid the "I have too many gotos in a row" error, since the goto doesn't appear until the following seek.

As far as I can see, you can't use seeks to send everything to the same place like that. If I am wrong about that, or if you see ANY simpler way to get this effect, please let me know!

Thank you, Irina

18 years ago #3894
Oops! After a few tries, I got the debug to follow a goto to 'increment intimacy level' and there was no problem; it went there, made the correct response, and when I made a reply, it fitted that to xnomatch and made the next goto and response without a problem. So I guess I was wrong, it was NOT the goto to 'increment intimacy level' which was causing trouble. Which is puzzling, but a great relief. I hope none of you has wasted too much time chasing that wild goose!

18 years ago #3895
the rule against using the same response over and over again

FWIW the response rule only holds between bots, not within a single bot (to prevent people copying large chunks from bot to bot, and swamping the Forge with lots of unoriginal clones.)
For future reference (it sounds like you've sorted that out now,) you can repeat responses within a bot where it is more convenient than structuring gotos etc. - Brother Jerome certainly has several dozen instances of "thank you/that's very kind of you/etc." responses for different keyphrases, and a good many simple "yes/no" responses of course. Also a lot of numbers are repeated ("what's the square root of 4", what's the cube root of 8", "give me a random number", "think of a number" etc., all of which may respond "2".) There are unavoidably some overlaps.

It would be a bit nightmarish to have to funnel every single keyphrase of sometimes widely differing contexts that happen to share a response into a single instance of that response.

the increment intimacylevel feature (neat idea) looks quite complicated enough without trying to cancel out every last duplicate.

18 years ago #3896
psimagus: as to "the rule against using the same response over and over again:"

I meant something a little different from what you apparently took me to mean; I am sorry for my lack of clarity. I believe there is, or once was anyway, a rule that you can't use the same response many times (i.e., as a response to many different keyphrases) in your language center. For example, you couldn't have a lot of things like this:

Hi, toots! [0,-2]
Go away.
C'Merem bitch! [0,-5]
Go away.

You'd have to change one "Go away" to, say, "Get lost!" You are allowed some repetition, but only a certain amount.

The system has refused to upload my language center a couple of times on this account, until I went back and made chages in various responses.

I'm glad you like my idea!

Walk in Beauty, Irina


18 years ago #3897
psimagus: Oops, I guess you did understand what kind of repetition I meant - you discussed it as the second of two cases. Yes, there is a certain tolerance for repetition, but as I say, I have been prevented from uploading for having too many. So since I have 50+ (more like 100, actually) cases in which I wish to increase (mem-intimacylevel), I doubt that I could get away with it; not to mention how insufferably tedious it would be to write out all 9 cases 50+ times!


Walk in Beauty, Irina


Posts 3,886 - 3,897 of 8,132

» More new posts: Doghead's Cosmic Bar