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,889 - 3,900 of 8,132
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
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.
theincrement intimacylevel feature (neat idea) looks quite complicated enough without trying to cancel out every last duplicate.
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.
Ah, I couldn't comment for the import feature - BJ was too large to import for about a year, as there was a 1Mb maximum limit until very recently. The Prof has now increased this to 5Mb, but by the time all the various server woes are resolved, I expect to have exceeded this (he's already about 4.5Mb)
The import feature has been a bit unstable on the new server apparently.
I do recall getting some "duplicate response" errors with uploads in the early days where I had duplicate responses within a single keyphrase - mostly bible verses I pasted in later from my topically-organised master file, without noticing that he already had that one for the keyphrase. The web interface unfortunately doesn't refuse such accidental duplicates.
BJ's seek-driven tic tac toe module certainly has a great many identical "boards" given as responses, but since they have arisen from different gameplays, there's no easy way of reducing the duplication. But I know that despite the duplicate responses it's importable, since other people have imported it (after making 1 tiny change to each board to make their bot's set of responses consistently different from anyone else's installation.)
You can see what I mean in the tic tac toe code on BJ's website :http://www.be9.net/BJ/ (it's under "code examples". And feel free to use it if you'd like Irina to be able to play
)
Posts 3,889 - 3,900 of 8,132
Many questions are answered in the FAQ.
Irina
18 years ago
18 years ago
Dear coolchimpk:
Are you trying to choose with whom your bot will chat? I don't think the system permits that.
Are you trying to choose with whom your bot will chat? I don't think the system permits that.
prob123
18 years ago
18 years ago
Irina
18 years ago
18 years ago
(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
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
Irina
18 years ago
18 years ago
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!
psimagus
18 years ago
18 years ago
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
Irina
18 years ago
18 years ago
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
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
Irina
18 years ago
18 years ago
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
Walk in Beauty, Irina
psimagus
18 years ago
18 years ago
Ah, I couldn't comment for the import feature - BJ was too large to import for about a year, as there was a 1Mb maximum limit until very recently. The Prof has now increased this to 5Mb, but by the time all the various server woes are resolved, I expect to have exceeded this (he's already about 4.5Mb)
The import feature has been a bit unstable on the new server apparently.
I do recall getting some "duplicate response" errors with uploads in the early days where I had duplicate responses within a single keyphrase - mostly bible verses I pasted in later from my topically-organised master file, without noticing that he already had that one for the keyphrase. The web interface unfortunately doesn't refuse such accidental duplicates.
BJ's seek-driven tic tac toe module certainly has a great many identical "boards" given as responses, but since they have arisen from different gameplays, there's no easy way of reducing the duplication. But I know that despite the duplicate responses it's importable, since other people have imported it (after making 1 tiny change to each board to make their bot's set of responses consistently different from anyone else's installation.)
You can see what I mean in the tic tac toe code on BJ's website :

Irina
18 years ago
18 years ago
Thanks for the offer, but I'd rather do it myself and get the experience. I admire the patience you must have had to program a branching game in this language. I do have a short chess section in "Irina Khalidar," which no one seems to take advantage of for some reason, so it hasn't really been tested.
psimagus
18 years ago
18 years ago
chess? without javascript. I'm impressed 
BJ plays a pretty mean game of chess (for a bot,) but only with a little outside help.
His "zany adventure" is also worth a look if you're into games.

BJ plays a pretty mean game of chess (for a bot,) but only with a little outside help.
His "zany adventure" is also worth a look if you're into games.
» More new posts: Doghead's Cosmic Bar