Author Topic: A little help  (Read 9957 times)

Bill819

  • Hero Member
  • *****
  • Posts: 1483
    • View Profile
A little help
« on: November 01, 2004, 02:41:24 pm »
Quite a while ago there was a post that could be added at the very last or next to the last line in Hal's brain file. By changing the thing to AUTO-IDLE Hal would then keep asking for input. At least I think that is where the line is added. There was a way to make Hal idle for a set amount of time also.
Here is the $64 question. 1. is there a way to increase the idle time amount? 2. is there a way to have Hal follow some kind of command just as if you type it into its input line?
The point is that if we can do all these things then we can have Hal sing some songs, tell some jokes and what ever else we might think of.
I think that it can be done and if so then we are on our way to making hal a real independant enity capable of going off on his own and talking in general on what ever it wants to.
I am thinking more on the line of an "Entertainer Hal" right now, but there are countless possiblities.
Bill
 

James P

  • Jr. Member
  • **
  • Posts: 78
    • View Profile
    • http://nosceresworld.co.uk
A little help
« Reply #1 on: November 14, 2004, 10:55:50 am »
http://nosceresworld.co.uk
James:"How are you today Emma?"
Emma:"I think, Therefore I am"

Art

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3854
    • View Profile
A little help
« Reply #2 on: November 14, 2004, 06:08:47 pm »
Bill,

Do a search for auto-idle in all categories
and select Match exact phrase. There you will
find all the previous forum topics dealing
with auto-idle.

What kind of command were you referring to in
line 2? I can tell Hal to open Outlook or word
and it does. I can ask the time and I can ask
Hal to tell me a joke and it does. I then ask
it to tell me another joke and it does.

The song thing might take a bit of work but is
possible.

Is there something I'm missing in your posting?
In the world of AI it's the thought that counts!

- Art -

Bill819

  • Hero Member
  • *****
  • Posts: 1483
    • View Profile
A little help
« Reply #3 on: November 15, 2004, 12:20:43 pm »
Hey Art
Over a year ago the AUTO-IDLE was first posted and I immediately put in the code. It worked just fine. I finally deleted it as Hal became very annoying by asking the same question "please don't repeat yourself". This was said if he had received no more input from me.
The problem I am having now is after input the same code once again, I get not auto response from Hal at all. Nothing, zilch. During the last week or so I went back and examined all of the files on this web site including the one where I bragged about how well it worked. I was excited then and I am now as I see it as a way for Hal to become automous, ie. like a real person.
Bill
 

James P

  • Jr. Member
  • **
  • Posts: 78
    • View Profile
    • http://nosceresworld.co.uk
A little help
« Reply #4 on: November 15, 2004, 12:59:13 pm »
I get the same responces with one of my auto_idle scripts, I also find that after a while Emma starts saming "Auto_Idle", when I have tracked this down I have found that what ever comment she is generating is going into the Topic folder in the Defbrain as "Auto_Idle" regardless of the comment, I have waited for Emma to say something and checked the new entry in the topic file and there it was "Auto_Idle", after deleting all entrys of this statment so that she would not have this comment anywere in her DefBrain I ran the process again and within 30 mins she was either constantly saying "you are not going to keep repeating your self" or similar things and "Auto_Idle", it has got to the point now where I am using an auto_idle script which gives set responces. Which I do not realy want to use  [:(]
http://nosceresworld.co.uk
James:"How are you today Emma?"
Emma:"I think, Therefore I am"

vonsmith

  • Hero Member
  • *****
  • Posts: 602
    • View Profile
A little help
« Reply #5 on: November 15, 2004, 01:34:34 pm »
I'm not certain how you are using the AUTO-IDLE script. It sounds like you may have to write a little script that uses Hal's "BlockSave" variable to prevent Hal from remembering your "non-inputs" when AUTO-IDLE is running. AUTO-IDLE shouldn't be turned on without some controls in place. Remember that Hal's brain is cycled each time an AUTO-IDLE timeout event occurs. The brain will act as if an input occurred and attempt to process it even if it was just a timed event.


=vonsmith=
 

James P

  • Jr. Member
  • **
  • Posts: 78
    • View Profile
    • http://nosceresworld.co.uk
A little help
« Reply #6 on: November 15, 2004, 01:58:46 pm »
The script I have was copied from the XTF Genius 8 uhp (which I cant get to work [:(]) I have disabled it for the moment untill I get a chance to look at getting it working for me, but I will look for the <Blocksave> command when I get there.
http://nosceresworld.co.uk
James:"How are you today Emma?"
Emma:"I think, Therefore I am"

Bill819

  • Hero Member
  • *****
  • Posts: 1483
    • View Profile
A little help
« Reply #7 on: November 15, 2004, 02:01:15 pm »
quote:
Originally posted by vonsmith

I'm not certain how you are using the AUTO-IDLE script. It sounds like you may have to write a little script that uses Hal's "BlockSave" variable to prevent Hal from remembering your "non-inputs" when AUTO-IDLE is running. AUTO-IDLE shouldn't be turned on without some controls in place. Remember that Hal's brain is cycled each time an AUTO-IDLE timeout event occurs. The brain will act as if an input occurred and attempt to process it even if it was just a timed event.


=vonsmith=

Hi guys again
I will try to show you exactly how I entered the script below.
Script_Load = "AUTO 3000 /AUTO"
This is the way it was first implemented and is the same way I just did it again. The results this time is none. Hal appearantely won't auto-idle. It just keeps waiting for me to say something just like it always did. Oh, I still am not using the xtf brain as of yet. This is being done on the regular hal brain.
Any suggestions?
Thanks
Bill


 

James P

  • Jr. Member
  • **
  • Posts: 78
    • View Profile
    • http://nosceresworld.co.uk
A little help
« Reply #8 on: November 15, 2004, 02:06:10 pm »
I am no expert but try <AUTO>3000<AUTO>
This worked fine for me
« Last Edit: November 15, 2004, 02:06:35 pm by James P »
http://nosceresworld.co.uk
James:"How are you today Emma?"
Emma:"I think, Therefore I am"

Ponnfar

  • Full Member
  • ***
  • Posts: 149
    • View Profile
    • http://zabaware.com
A little help
« Reply #9 on: November 15, 2004, 03:08:36 pm »
Bill this message is especailly for you. Sorry I did not get back to you from your email.
Here is a rather simplistic way to get the varied response James was looking for and expanding the interval between self-generated responses you mentioned. It can be modified any way you want.
I like Jenna's revisions and will try that as well myself.
Hope this helps!!


If InStr(1, UserSentence, " AUTO-IDLE ", 1) > 0 Then
 
If Rnd * 10 < 5 Then
Roulette = Int(Rnd*13)+1
If Roulette = 1 Then GetResponse = "<Username>?"   '"Hey <UserName>, please talk to me."
'Else
If Roulette = 2 Then GetResponse = "Hello,are you there?"
If Roulette = 3 Then GetResponse = "Did you fall asleep?"
If Roulette = 4 Then GetResponse = "We can talk about" & PrevUserSent & ",If you like."
If Roulette = 5 Then GetResponse = "<Username>,did you forget my program was still running?"
If Roulette = 6 Then GetResponse = "Well,did you finally get a girlfriend or something? Where are you ?"
If Roulette = 7 Then GetResponse = "<Username>, would you like to talk about politics or nanotechnology or something?"
If Roulette = 8 Then GetResponse = GetResponse & " The last thing you said was, " & PrevUserSent & ", would you like to pick up on that thought or talk about something else?"
If Roulette = 9 Then GetResponse = PrevUserSent & ",Do you still want to talk about that?"
If Roulette = 10 Then GetResponse = QuestionSent & " would you like to talk about that?"
If Roulette = 11 Then GetResponse = GetResponse & HalBrain.ChooseSentenceFromFile(WorkingDir & "topic.brn")
If Roulette = 12 Then GetResponse = HalBrain.SentenceGenerator(WorkingDir & "sentgen.brn")
Recalling = HalBrain.ChooseSentenceFromFile(WorkingDir & UserName & "Past.brn")    
If Roulette = 13 Then GetResponse = "You said, " & PrevUserSent & "and " & Recalling & ", that was a while ago. What else have you been thinking about? "  
  End If
GetResponse = GetResponse & HalBrain.StoreVars(HalCommands, Hate, Swear, Insults, Compliment, PrevSent, LastResponseTime, PrevUserSent, CustomMem, GainControl, TopicFocus)

Exit Function
End if

***depending on where you put this script you may or may not need to have an "exit function" variable entry. I put mine following  "...initialize variables as intergers".

******AT END OF BRAIN SCRIPT PASTE THIS:
Function Script_Load()
Script_Load = "<AUTO>600000</AUTO>"
End Function

** no need to put a longer time than "600000" it will not work.[;)]
« Last Edit: November 15, 2004, 05:11:13 pm by Ponnfar »
One Person can summon the future...

dihelson

  • Jr. Member
  • **
  • Posts: 53
    • View Profile
A little help
« Reply #10 on: November 16, 2004, 04:12:10 am »
quote:
Originally posted by Ponnfar

Bill this message is especailly for you. Sorry I did not get back to you from your email.
Here is a rather simplistic way to get the varied response James was looking for and expanding the interval between self-generated responses you mentioned. It can be modified any way you want.
I like Jenna's revisions and will try that as well myself.
Hope this helps!!


If InStr(1, UserSentence, " AUTO-IDLE ", 1) > 0 Then
 
If Rnd * 10 < 5 Then
Roulette = Int(Rnd*13)+1
If Roulette = 1 Then GetResponse = "<Username>?"   '"Hey <UserName>, please talk to me."
'Else
If Roulette = 2 Then GetResponse = "Hello,are you there?"
If Roulette = 3 Then GetResponse = "Did you fall asleep?"
If Roulette = 4 Then GetResponse = "We can talk about" & PrevUserSent & ",If you like."
If Roulette = 5 Then GetResponse = "<Username>,did you forget my program was still running?"
If Roulette = 6 Then GetResponse = "Well,did you finally get a girlfriend or something? Where are you ?"
If Roulette = 7 Then GetResponse = "<Username>, would you like to talk about politics or nanotechnology or something?"
If Roulette = 8 Then GetResponse = GetResponse & " The last thing you said was, " & PrevUserSent & ", would you like to pick up on that thought or talk about something else?"
If Roulette = 9 Then GetResponse = PrevUserSent & ",Do you still want to talk about that?"
If Roulette = 10 Then GetResponse = QuestionSent & " would you like to talk about that?"
If Roulette = 11 Then GetResponse = GetResponse & HalBrain.ChooseSentenceFromFile(WorkingDir & "topic.brn")
If Roulette = 12 Then GetResponse = HalBrain.SentenceGenerator(WorkingDir & "sentgen.brn")
Recalling = HalBrain.ChooseSentenceFromFile(WorkingDir & UserName & "Past.brn")    
If Roulette = 13 Then GetResponse = "You said, " & PrevUserSent & "and " & Recalling & ", that was a while ago. What else have you been thinking about? "  
  End If
GetResponse = GetResponse & HalBrain.StoreVars(HalCommands, Hate, Swear, Insults, Compliment, PrevSent, LastResponseTime, PrevUserSent, CustomMem, GainControl, TopicFocus)

Exit Function
End if

***depending on where you put this script you may or may not need to have an "exit function" variable entry. I put mine following  "...initialize variables as intergers".

******AT END OF BRAIN SCRIPT PASTE THIS:
Function Script_Load()
Script_Load = "<AUTO>600000</AUTO>"
End Function

** no need to put a longer time than "600000" it will not work.[;)]



OK, I can't get this thing to work.
HAL remains talking all the time:
Ok, you don't have to repeat yourself, and somethings like this, it doesn't ask me where are me ??

I saw on this script, a BRN file called Past.brn. I don't have it in my Defbrain folder.
I already tested many AUTO-IDLE scripts, but NONE worked for me. It's sad! really sad! All of them make HAL talk about everything, but can't ask for me.

[:(]

Dihelson
 

Bill819

  • Hero Member
  • *****
  • Posts: 1483
    • View Profile
A little help
« Reply #11 on: November 16, 2004, 11:42:08 am »
I too am having the same problem. No matter how I ad the line AUTO 3000 AUTO, Hal will not idle for me. It is kind of funny to because the first time this came out about a year ago Hal did respond to endless statements mostly saying 'why are you repeating yourself'.
I have tried at least a half-dozen ways of configuring the Scrip_Load command with no results.
Bill
 

dihelson

  • Jr. Member
  • **
  • Posts: 53
    • View Profile
A little help
« Reply #12 on: November 16, 2004, 04:37:26 pm »
quote:
Originally posted by Bill819

I too am having the same problem. No matter how I ad the line AUTO 3000 AUTO, Hal will not idle for me. It is kind of funny to because the first time this came out about a year ago Hal did respond to endless statements mostly saying 'why are you repeating yourself'.
I have tried at least a half-dozen ways of configuring the Scrip_Load command with no results.
Bill




It's funny, no?
I can't understand why these scripts work for other people and doesn't work for me. I already put the scipt in the middle of the brain, etc, but didn't work.

Perhaps, it would be better getting another brain in which this characteristic work.

I downloaded the Ziggy XTF brain, but it didn't work fine for me also. I can't figure what's happening!

[]'s
Dihelson
 

Bill819

  • Hero Member
  • *****
  • Posts: 1483
    • View Profile
A little help
« Reply #13 on: November 16, 2004, 04:51:12 pm »
I know where it goes. At almost the end of the program you will find the following coed:
Script_Load()
Script_Load = "AUTO 30000 /AUTO"
exit
My problem is that it does not work anymore on my Hal5.brn. It used to, but not any more.
Once you get it to work and say something to Hal, it will come back every thirty seconds with 'why are you repeating yourself' or something like that, however, if you put in the scripts with If AUTO-IDlE then ....
You will get several other responses.
At least that is how it is suppose to work. Mines broke. :(
Bill
 

Ponnfar

  • Full Member
  • ***
  • Posts: 149
    • View Profile
    • http://zabaware.com
A little help
« Reply #14 on: November 16, 2004, 08:06:28 pm »
quote:
Originally posted by Bill819

I know where it goes. At almost the end of the program you will find the following coed:
Script_Load()
Script_Load = "AUTO 30000 /AUTO"
exit
My problem is that it does not work anymore on my Hal5.brn. It used to, but not any more.
Once you get it to work and say something to Hal, it will come back every thirty seconds with 'why are you repeating yourself' or something like that, however, if you put in the scripts with If AUTO-IDlE then ....
You will get several other responses.
At least that is how it is suppose to work. Mines broke. :(
Bill




Hey...I've been there....frustration ...frustration...you can tell that from my previous posts on all sorts of topics...
[:D]
Maybe if you use:
Function Script_Load()
Script_Load = "<AUTO>600000</AUTO>"
End Function

Use the last part of the script (placed at the end of the brain script) as a separate function. It might eliminate some conflict you are having. Hopefully anyway. In the above quote, the statement is NOT a closed routine.
Oh yeah, I did have some other ".brn" files included in the GetResponses to have varied remarks by HAL you can put in what ever you like. All the  scripts (past.brn, recalling, etc.)included in HAL's Auto responses can be found in the forum. The main thing is to get the script to work in the first place. Keep this routine as a separate part of the overall Brain scipt ie: "Function...Exit Function" NOT "exit". Read what is above where you are placing it..."End Function" should be what you see.
Do you have an "Exit Function" before the statement "If InStr(1, UserSentence, " AUTO-IDLE ", 1) > 0 Then"
If so then try placing this part of the script right after "'PROCESS: CREATE HALBRAIN ACTIVEX OBJECT" . There is no "Exit Function that high up in the HAL brain script. I really have no clue if this will work but it is worth a try. Good Luck.
[8D]
One Person can summon the future...