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 5,377 - 5,388 of 8,130
Posts 5,377 - 5,388 of 8,130
Many questions are answered in the FAQ.
marco3b
16 years ago
16 years ago
post 5376
I tryed for a long time do deal with that, no way to do it. I'm sorry, it seems that the engine it's not able to recognize it...
I tryed for a long time do deal with that, no way to do it. I'm sorry, it seems that the engine it's not able to recognize it...
Bev
16 years ago
16 years ago
The engine probably considers it blab and I think that makes raw useless unless it's part of a longer phrase, unfortunately.
marco3b
16 years ago
16 years ago
Excuse me to all, but anybody knows why if I wrote in sction AIScript:
default "NONE" as "guest_given_gift";
I have in Inner Life an entry called guest_given_gift with value NONE
and if I wrote
default "NONE" as "DeclamedPoetry";
I do not have this entry?
The AI engine can work as prefer, but MUST work always in the same way at least or it will be impossible to write a bot!
default "NONE" as "guest_given_gift";
I have in Inner Life an entry called guest_given_gift with value NONE
and if I wrote
default "NONE" as "DeclamedPoetry";
I do not have this entry?
The AI engine can work as prefer, but MUST work always in the same way at least or it will be impossible to write a bot!
Irina
16 years ago
16 years ago
I can see nothing wrong with either of them. ["Declaimed" would be more correct English spelling but that should not influence the AIengine.] Wild guess: Is there an item before<0> the "DeclamedPoetry" case, and Is there something wrong with that item, for example the semicolon is missing? Or any<0> earlier item? If one item is bad, it would probably mess up all subsequent items. Try reversing the order of the two items and see what happens.
marco3b
16 years ago
16 years ago
Hi Irina, you are right! I discovered a behaviour that I never suppose!
If I declare a memory as:
default "" as "myMemory";
each memory declared after this is not initialized. It just will exists the first time the bot will put something in it! So first I have to put each memory inizialized with a value (should be a generic token, if I wont check if a value is in it or not, otherwisw the AI will skip the answer) then put all the memory inizialized with ""! Thats it!
If I declare a memory as:
default "" as "myMemory";
each memory declared after this is not initialized. It just will exists the first time the bot will put something in it! So first I have to put each memory inizialized with a value (should be a generic token, if I wont check if a value is in it or not, otherwisw the AI will skip the answer) then put all the memory inizialized with ""! Thats it!
marco3b
16 years ago
16 years ago
Hallo to all!
Anybody has ever deal vith dynamic memories?
An example on what I mean:
do you like (*) [0,0]
Yes I like it {?PF if (mem-Likes) is (key1); ?}
No, I'm not {?PF if (mem-Likes) is not (key1); ?}
But the import engine gives the error:
ERROR: The following AIScript statement is incorrectly formatted: "if (mem-Likes) is (key1)". Please correct this and try again.
The problem seems related to the key1 that is a dynamic value. It seems that only an exact math is accepted:
do you like dog [0,0]
Yes I like it {?PF if (mem-Likes) is "dog"; ?}
This works, but it is not usefull for my task! It is a bit more complex tnan the example...
Any workaround/syntax able to help?
Thanks
Anybody has ever deal vith dynamic memories?
An example on what I mean:
do you like (*) [0,0]
Yes I like it {?PF if (mem-Likes) is (key1); ?}
No, I'm not {?PF if (mem-Likes) is not (key1); ?}
But the import engine gives the error:
ERROR: The following AIScript statement is incorrectly formatted: "if (mem-Likes) is (key1)". Please correct this and try again.
The problem seems related to the key1 that is a dynamic value. It seems that only an exact math is accepted:
do you like dog [0,0]
Yes I like it {?PF if (mem-Likes) is "dog"; ?}
This works, but it is not usefull for my task! It is a bit more complex tnan the example...
Any workaround/syntax able to help?
Thanks
prob123
16 years ago
16 years ago
You have to establish what (key1) is first. You can't use (key1) in a mem. I don't think you can work around it.
psimagus
16 years ago
16 years ago
It rather surprises me that you can't compare (key1) to a memory (though I've certainly never tried it,) but the only workaround I can think of is to use custom plugins instead of memories - one containing a list of things the bot likes, and another containing a list of dislikes. I agree it's an imperfect and non-dynamic solution though 
I don't suppose this would actually work, but another rather hypothetical solution occurs to me which might be feasible if memories can be compared (I haven't actually tried this.) It does involve spreading the response over a couple of stages though -
do you like (*) [0,0]
Do I like (key1)? Well, I wonder... {?PF rem (key1) as (mem-temp); ?}
+ xnomatch [0]
goto z_doIlike
...
z_doIlike [0,0]
Yes, I think I do like (mem-temp) actually. {?PF if (mem-Likes) is (mem-temp); ?}
No, I rather think I don't like (mem-temp). {?PF if (mem-Likes) is not (mem-temp); ?}<0>
I suspect it may run into the same problem though

I don't suppose this would actually work, but another rather hypothetical solution occurs to me which might be feasible if memories can be compared (I haven't actually tried this.) It does involve spreading the response over a couple of stages though -
do you like (*) [0,0]
Do I like (key1)? Well, I wonder... {?PF rem (key1) as (mem-temp); ?}
+ xnomatch [0]
goto z_doIlike
...
z_doIlike [0,0]
Yes, I think I do like (mem-temp) actually. {?PF if (mem-Likes) is (mem-temp); ?}
No, I rather think I don't like (mem-temp). {?PF if (mem-Likes) is not (mem-temp); ?}<0>
I suspect it may run into the same problem though

marco3b
16 years ago
16 years ago
Psim,
use the plagin it is a serious problem. I can easily list things liked, but the not liked ones are a not finite number.
I should use a NOT operator at least:
do you like (thingsliked)
yes, I like (key1)
do you like NOT(thingsliked)
no, I do not like (key1)
so you know a workaround?
use the plagin it is a serious problem. I can easily list things liked, but the not liked ones are a not finite number.
I should use a NOT operator at least:
do you like (thingsliked)
yes, I like (key1)
do you like NOT(thingsliked)
no, I do not like (key1)
so you know a workaround?
prob123
16 years ago
16 years ago
The only workaround I can think of is to make a plug in with the most common negative things. Rotten food, murder, etc. You can use the AI engine plug ins like (noun-qual-neg) and (verb-action-neg) etc
» More new posts: Doghead's Cosmic Bar