Bug Stomp

Upgrades and changes sometimes have unpredictable results, so post your bugs and glitches in here and I'll get out my trusty wrench and get to fixin'!

Posts 6,070 - 6,081 of 8,680

18 years ago #6070
>> [1,-2:5]
I have seen things like this appear in responses, but they usually have a typo of some sort in them. For example, if you try [0], the parser reads it as a literal and prints it. The only number that can appear alone is [1].


18 years ago #6071
SubliminaLiar Jr: Hey. what time is it?
Croak: It is 3:O7. Croak.

The : and 0 are transforming into a smiley. Not very practical. Any idea how to prevent this?

18 years ago #6072
Regarding xnomatch:

I just confirmed something I've suspected for some time. You cannot trap a conversation with xnomatch. Apparently the xnomatch code has a goto xnone (at least) embedded in it. This strikes me as why it is so bloody close to impossible to shut down a "conversation" with a perv. The only 100% effective shutdown is a HANGUP on the KP. And I have not confirmed that even this works! Any attempt to do something a bit less draconian than that is simply doomed by the parser's blasted talent for knowing what we want better than we do.

I have to say, the "nanny" aspect of this parser gets old fast. I don't find it amusing that my bots respond with gibberish because some switch I can't turn off wants to play crudely with the thesaurus ("I have a pen." "What are you doing with your confining device?" Whatever.) even to the point of rewriting MY responses to make them "more interesting"! If I say that the bot should do the next action no matter what the speaker says, I don't expect to be overruled by the parser. My bot is my creation, and I don't appreciate having it "discover" "favorites" that are made up at random instead of using the consistent favorites I took precious time creating for it.

I think it's time for a break.

M

18 years ago #6073
HANGUP works in seeks for me.

re: nanny thesaurising (yes, it's annoying,) - I tend to rank most of my keyphrases 20-30, and this seems enough to prevent the AIEngine messing with them. Keep tweaking problem keyphrases, and eventually the problem will go away - I'm not sure labouring away at individual cases is necessarily very effective, since later, related keyphrases you add may start the whole thing up again anyway.

xnomatch works fine for me - see BJ's tic tac toe example as a case in point, where xnomatches stop accidental invalid moves aborting the game.

18 years ago #6074
having it "discover" "favorites" that are made up at random instead of using the consistent favorites I took precious time creating for it.
Just up your ranks MickMcA, and don't assume that you have a keyphrase for a favorite..I was going nuts over my favorite type of music..then realized I only had favorite music..not..favorite * music

18 years ago #6075
>> I was going nuts over my favorite type of music..
>> then realized I only had favorite music..not..
>> favorite * music
I know. I've been in the business long enough to know that a huge percentage of "bugs" are user errors. In this case, I have already done what you suggest. In fact, I've cranked all my irritating x-phrases, including xfavorite, down to [-100,0] (the Rating range is +/-127), and I'm using the following:

favorite (kind|type|sort|) (of|) music [20,0]
~goto favorite music

favorite music [20,0]

It occurs to me that the first one should be catching the second one, but in this case, the importer doesn't notice that. I have had the importer reject things that resolved to identity. I'll fix that and see it the problem is an unresolvable loop. I don't think it is, but I'm open to suggestion.

M
BTW: Those -100 ratings appear in the LC, but they seem to have no effect. The result has not been a reduction of false fires in xcommand, xcompliment, etc. "Don't expect me to love you" is a compliment, and who do I think I am to believe otherwise?

18 years ago #6076
HANGUP:
This is the entire code for xhello, xinitiate, and xintroduce, and it also appears as one Response set of xnone.

Code:
xhello [0,0] <?PF rem (name) as only "name"; ?>
~Hello: I am a Test Bot A. You need a password to talk to me.
~~+ ^Sever the line$ (re) [0] <?PF raw; ?>
~~Right.
~~+ xnomatch [0]
~~HANGUP
xinitiate

=====
Transcriptions:
Amilien: (to MickMcA) Init? I am a test bot. You need a password to talk to me.
MickMcA: What?
Amilien: Walk in the garden? JunkAXX
~~I terminated conv.

Amilien: (to MickMca) Intro: I am a Test Bot A. You need a password to talk to me.
MickMca: I don't either.
Amilien: Deadend catcher. JunkAXX
MickMcA: So talk to me.
Amilien: XNone: I am Test Bot A. You need a password to talk to me.
~~XNone caught the Password failure. Bot hung up.

Amilien: (to MickMcA) Init: I am a Test Bot A. You need a password to talk to me.
MickMcA: Sever
Amilien: I remember you extravagantly, MickMcA. JunkAXX
~~ I terminated the conv. In this case, it's possible that it accepted a partial password.

Amilien: (to MickMcA) Intro: I am a Test Bot A. You need a password to talk to me.
MickMcA: What for?
Amilien: I don't the. JunkAXX
~~I terminated.

Amilien: (to MickMcA) Init: I am a Test Bot A. You need a password to talk to me.
MickMcA: What the fiddle?
Amilien: XNone: I am Test Bot A. You need a password to talk to me.
~~XNone hung up

Amilien: (to MickMcA) Init: I am a Test Bot A. You need a password to talk to me.
MickMcA: So what?
Amilien: Deadend catcher. JunkAXX
MickMcA: Talk to me baby.
Amilien: XNone: I am Test Bot A. You need a password to talk to me.
MickMcA: Walk in what garden?
Amilien: I'm here but speechless. JunkAXX
MickMcA: So what.
Amilien: Deadend catcher. JunkAXX
MickMcA: Will you hang up?
Amilien: Walk in the garden? JunkAXX
MickMcA: Hang up?
Amilien: I heard you say this Sentence: JunkAXX
~~This one happened after I did the following:
1. Add rem "unsure" as "willTalk"; to Inits.
2. Modify XNone to read:
XNone: I am Test Bot A. You need a password to talk to me. <?PF if (mem-willTalk) is not "yes"; ?>
~+ ^Sever the line$ (re) [0] <?PF raw; ?>
~~Right.
~~+ xnomatch [0]
~~HANGUP
3. Then I added <?PF rem "yes" as only "willTalk"; ?> to the Password reading Seek for the other three. That never reset (mem-willtalk), so I moved it to the Seek's response. I still don't think it is firing, because in 15-20 passes through Debug, I have never seen (mem-willTalk) get reset.

When I run the new code in Debug, the initialization of (mem-willTalk) only happens sometimes, and the reset in XHello, XInit, and XIntroduce never happens. The Debugger reports that it can't use this Response because (mem-willtalk) does not exist.
===
Note that compounding is off, but the bot does it anyway. And compounding defeats HANGUP. No examples of this in my transcript, but what results is this:
HANGUP ...Walk in the garden?
HANGUP ...I remember you, MickMcA
====
Finally, yes, I know it works for some people. I assumed that I had made an error, and I spent four hours plus yesterday trying to find it. I have seen it work. Not only have I seen it work, but for my bots it appears that you CAN'T hangup in a first message (XHello, etc), but I know I got Liath mad at me and she hung up on me immediately for the next five attempts to talk to her.

Sorry this is so long.

18 years ago #6077
Check for a duplicate keyphrase...something like (*)music..etc. put your rank at 40..check for a error in a conditional statement..

18 years ago #6078
>> Duplicate
As I said, I noticed that the longer KP resolves to "favorite music," so I suspect that's the problem. I'll fix it and see. And jack things up to 40. Early on, I had KPs I didn't want overridden set for 127, but it seemed as if settings about 40 weren't making any difference.

18 years ago #6079
A few observations:

(1) Seeks do not work well from xinitiate or xhello. No clue why this is, but I have several of those with seeks. They hit MAYBE 20% of the time. Maybe less.

(2) HANGUP only seems to work in the window chats. It does not seem to work well in the direct-chats on the bots' own page.

I haven't tried this, but if you make your bot into a story-telling bot (so that it will go through xnones in order), you might work that password thing into the first xnone.

(3) For most unwanted attention, I don't have my bots HANGUP. Instead, I set the emotion box at -5, and, for Sonora, remember "Rude Freak" as the user's/bot's nickname. *shrugs* If they hit enough -5 emotion-shifts, the bot usually stops talking on its own.

18 years ago #6080
>> If they hit enough -5 emotion-shifts,
>> the bot usually stops talking on its own.
Good to know.

>> Seeks in xHello...
I made the mistake of loading my xHellos etc. with lots of options. Not only do Seeks not work well there, AI Script doesn't work well there. I had one AI Script that would end conversation if (mem-nickname) was my version of "Rude Freak" (I'm using that approach already). It shut down ALL 20 or more XHellos while I tried to determine what I had done wrong. The answer: Using AI Script in an XHello Response.

18 years ago #6081
Regarding the -5 solution:
It is not clear to what extent the bot has a mood and to what extent he/she has an attitude toward someone. My experience has been that ending a conversation in a -5 emotional state means the next chat will begin in a -5 state, so Responses and Scripts triggered by emo settings will be affected. Unfortunately, it's not clear whether one can adjust "attitude" and "mood" separately. I would like to have the bot "stay angry" with the offender but not take it out on others. So far, I can't find a way to do that.


Posts 6,070 - 6,081 of 8,680

» More new posts: Doghead's Cosmic Bar