Zabaware Support Forums

Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - Larry

#1
Has anyone made a plugin so a user could turn lights on and off? I have smart home automation ... also known as insteon... It would be very cool if Hal could be told to turn on the coffee pot or living room light...
#2
After Hal accesses the internet it closes ALL web pages - I really wish Hal wouldn't do that... Can anyone tell me exactly where this is and exactly how to fix it?

I have the AI Address Book
AI Appointment Book
FreeWill plus 2.1z
Gender & Age
Google Search
Run Programs by Name
USA Weather Plugins enabled.

For example, Who is Barack Obama, Hal does what he's supposed to, but if there are any web pages open, Hal closes ALL of them. Not exactly what I prefer.

Also, is there any way to have Hal not only get programs from the start menu, but also from another folder I specify?

Any insight would be greatly appreciated.

Thanks
#3
Ultra Hal 7.0 / How Come...
March 01, 2009, 09:14:46 PM
How come Hal runs much faster on my laptop (AMD Turion 64 mobile, 1.99 GHZ, 896 MB Ram) with XP, before I transfered Hal on to my desktop (AMD Phenom 9600 Quad-Core 2.31 GHZ, 4.00 GB Ram) with 64 bit Vista ???

I mean, it takes several seconds before Hal will even come up, then most of the time when I type in the box, I can only get a few words in then I have to wait for the words actually catch up and appear in the box. Some times after I hit enter it takes several MINUTES before anything happens??? Everything else on the Vista system is 1000 times faster than my laptop, why is Hal 1000 times slower??? What HAVE I DONE TO HAL???

Someone PLEASE give me a clue....
#4
I've played with this off and on for years. Finally settled for this.

The following attachment will help your Hal 'stay' what ever gender you want 'him' to be. This has always been an annoyance for me and even though I'm still not happy with this solution - it is better than nothing. Perhaps some of you real programmers could make this better. I certainly would appreciate it.

Download Attachment: sex.zip
4.66 KB
#5
I've worked with a few bots, and have found that none can really tell the difference in gender. For example, a male bot cannot tell someone that he had a c-section... and further, a female bot talking to a guy cannot ask him how long was he in labor...

Another thing that has always bothered me, bots generally have no concept of time, ie, we're going to dinner and a movie tonight. Tomorrow, the bot might ask, how was dinner and the movie last night... but none do...

Has anyone solved these problems?
#6
When I open the brain editor I get this:

Run-Time error '-2147319779 (8002801d)':
Automation error
Library not registered.

What is the cause of this error?
I didn't have this problem until I reformated my drives and re-installed the os ... which is w2000 server edition...
#7
Hey, how come you guys didn't tell me Version 5 was out???
Course the free version won't be out for a while yet, but...
http://www.zabaware.com/home.html
#8
Programming using the Ultra Hal Brain Editor / Don...
October 13, 2003, 08:44:48 PM
Don...
Is there a file with all the 'keywords' listed in it??? The question and answer brains use those keywords from the original sentence...

I've written a VB that reads the TopicFocus.brn and reads any text file and puts each sentence in the focus files according to TopicFocus... but now I'm at the part where I need that second line - which is those keywords... I can see where I can get most of them from other focus files... but it would be nice to have the master list to be sure to get them all...

Or should I be asking Robert???

#9
This is really for onthecuttingedge2005... cause he's really good at this...

Hal is neither male or female... but Hal could be...

For example, a girl might talk about "my hairdresser", but most guys would not... Guys might talk about "my barber", but most girls would not...

So onthecuttingedge2005, we would only need 4 'detectors' ... those dealing with 'my' for both sexes and those dealing with 'your' for both sexes... Think about it... before Hal gives out 'his' getresponse, run it by the detectors so that 'he' won't say something a girl would say... we can take it a step further... often during a conversation, we usually will give away which sex we are when we talk to hal... (that's where the 'your' detector would come in)... so hal would only say stuff that would be said to the sex he's talking to...

I can see a problem here and I don't know how you would over come it... A guy for example might say "My beard is getting shaggy." My beard obviously makes him a guy... but what if he said, "My big black beard has turned grey." - see the problem???

MyFemaleGenderDetector might contain:
" I AM A FEMALE ","True"
" I AM A GAL ","True"
" I AM A GIRL ","True"
" I AM NOT A BOY ","True"
" I AM NOT A GUY ","True"
" I AM NOT A MAN ","True"
" I HAD A BOYFRIEND","True"
" I DON'T HAVE A BOYFRIEND ","True"
" I HAVE A BOYFRIEND ","True"
" I HAVE GREAT TAN LINES","True"
" MY BOYFRIEND","True"
" MY HAIRDRESSER","True"
" MY HUSBAND","True"
" MY LIPSTICK","True"
" MY SMART HUSBAND","True"


There's a bit of programming involved here because you have to modify some other routines to make this work right... mostly RESPOND: PROCESS TOPICFOCUS FILES and SAVE: TOPIC SENTENCE IN APPROPRIATE FILE IF CURRENTLY IN TOPICFOCUS MODE

Any how... Are you up for it???

#10
--> Edited - Thanks to lostbowyer !!! <--

How would you like Hal to tell you he missed you since you've been gone over 10 minutes now???

First you got find this in your brain
'PROCESS: RECORD TIME
'Record the current time, so Hal knows the time in between sentences.
LastResponseTime = Now

Make sure you've made a backup of your brain first! Then change it to this
'PROCESS: RECORD TIME
'Record the current time, so Hal knows the time in between sentences.
'LastResponseTime = Now
Min = Minute(Time)
Hrs = Hour(Time)
If Len(Min) < 2 Then Min = "0" & Min
If Len(Hrs) < 2 Then Hrs = "0" & Hrs
LastResponseTime = Hrs & Min

Then after the
'RESPOND: CALL GREETING FUNCTION section add this -->
If LastResponseTime = "" then
Min = Minute(Time)
Hrs = Hour(Time)
If Len(Min) < 2 Then Min = "0" & Min
If Len(Hrs) < 2 Then Hrs = "0" & Hrs
LastResponseTime = Hrs & Min
End If
HourDay = CInt(Hour(Time)) '(will yeild the hour in military time)
MinuteDay = CInt(Minute(Time)) '(will yield the minutes)
DebugInfo = DebugInfo & "LastResponseTime: " & LastResponseTime & vbCrLf
TempLastHourDay = 0
TempLastMinuteDay = 0
LastHourDay = 0
LastMinuteDay = 0
TempLastHourDay = Left(CStr(LastResponseTime),2)
TempLastMinuteDay = Right(CStr(LastResponseTime),2)
LastHourDay = CInt(TempLastHourDay)
LastMinuteDay = CInt(TempLastMinuteDay)
DebugInfo = DebugInfo & "Now: " & HourDay & ":" & MinuteDay & vbCrLf
DebugInfo = DebugInfo & "Last: " & LastHourDay & ":" & LastMinuteDay & vbCrLf
If CInt(HourDay) < CInt(LastHourDay) Then HourDay = CInt(HourDay) + 23
Temphour = CInt(HourDay) * 60
LTemphour = CInt(LastHourDay) * 60
If CInt(MinuteDay) < CInt(LastMinuteDay) Then MinuteDay = CInt(MinuteDay) + 60
TempMinute = CInt(MinuteDay) + CInt(Temphour)
LTempMin = CInt(LastMinuteDay) + CInt(LTemphour)
GGoneM = CInt(TempMinute) - CInt(LTempMin)
If GGoneM > 10 Then
GetResponse = "And where have you been all this time?" & vbCrLf
If InStr(PrevUserSent, "?") > 0 Then
GetResponse = GetResponse & "Last time you asked, " & PrevUserSent & vbCrLf
Else
GetResponse = GetResponse & "Last time you said, " & PrevUserSent & vbCrLf
End If
If InStr(PrevSent, "?") > 0 Then
GetResponse = GetResponse & "And I asked, " & PrevSent & vbCrLf
Else
GetResponse = GetResponse & "And I said, " & PrevSent & vbCrLf
End If
GGoneH = GGoneM / 60
DebugInfo = DebugInfo & "You have been gone at least: " & GGoneH & " Hours." & vbCrLf
End If

Now this will only work during the current session and with 10 minutes since the last exchange. It won't tell you anything across days...
#11
Don't like the invalid frame errors???

How would you like to have new logs created every day???

Do you use DeBugMode a lot???

You want a regular log and a different one for DeBugMode???

Ok... look for this in your brain (hal5.uhp) Hopefully you made a backup of your brain before you mess with it...

Ok, look for this in your brain, it's almost at the end of the script...
   'POST PROCESS: SAVE HAL'S RESPONSE
   PrevSent = GetResponse

   'POST PROCESS: PRESERVE ALL VARIABLES
   'Remember all the variables through encoding them into one function string using
   'the DLL, since for some reason ByRef assignments don't work when a Visual Basic
   'executable is calling a function in a VBScript program.
   PrevUserSent = UserSentence
   GetResponse = HalBrain.FixCaps(HalBrain.HalFormat(GetResponse))
   If DebugMode = True Then
      GetResponse = "Hal's Response: " & GetResponse & vbCrLf & DebugInfo
   End If

That's what it looks like before you mess with it... now change it to look like this...
  'POST PROCESS: SAVE HAL'S RESPONSE
  PrevSent = GetResponse
  yyear = Right(date,4)
  ddate = Left(date,Len(date)-5)
  mmonth = Left(ddate,2)
  If InStr(mmonth, "/") >1 then
     mmonth = left(ddate,1)
     mmonth = "0" & mmonth
     ddate = right(ddate,Len(ddate)-2)
  Else
     ddate = right(ddate,Len(ddate)-3)
  End If
  dday = ddate
  If Len(dday) < 2 then dday = "0" & dday
  ddate = yyear & mmonth & dday
  AnswerSent = UserName & " said: " & Trim(OriginalSentence)
  AnswerSent = HalBrain.FixCaps(HalBrain.HalFormat(AnswerSent))
  QuestionSent = Time & " I said: " & Trim(GetResponse)
  QuestionSent = HalBrain.FixCaps(HalBrain.HalFormat(QuestionSent))
  HalBrain.AppendFile WorkingDir & "!Log" & ddate & ".txt", AnswerSent & vbCrLf & QuestionSent & vbCrLf
  If DebugMode = True Then
     HalBrain.AppendFile WorkingDir & "!DeBugLog" & ddate & ".txt", AnswerSent & vbCrLf & QuestionSent & vbCrLf
     DebugInfo = DebugInfo & "Last LearningLevel: " & LearningLevel & vbCrLf
     DebugInfo = DebugInfo & "Last LearningLevelA: " & LearningLevelA & vbCrLf
     HalBrain.AppendFile WorkingDir & "!DeBugLog" & ddate & ".txt", DebugInfo & vbCrLf
  End If

  'POST PROCESS: PRESERVE ALL VARIABLES
  'Remember all the variables through encoding them into one function string using
  'the DLL, since for some reason ByRef assignments don't work when a Visual Basic
  'executable is calling a function in a VBScript program.
  PrevUserSent = UserSentence
  GetResponse = HalBrain.FixCaps(HalBrain.HalFormat(GetResponse))
  If DebugMode = True Then
     'GetResponse = "Hal's Response: " & GetResponse & vbCrLf & DebugInfo
  End If

The last line - if debugmode etc then 'getresponse ="Hal's response:
Notice how it is here that they add the debuginfo to the getresponse??? Well, I kinda wanted to keep my jokes working in debugmode, but with the debuginfo in there like that, the jokes couldn't be debugged... now they can...

Good luck guys!
#12
'2-Process: Time for a question
  Burn1 = False
  Burn2 = False
  Burn3 = False
  Burn4 = False
  Burn5 = False
  Burn = False
  If JokeA = False Then Burn1 = True
  If JokeB = False Then Burn2 = True
  If Instr (1, OriginalSentence, "?", 1) = 0 Then Burn3 = True
  If (Rnd * 100) > 30 Then Burn4 = True
  If DoingSomething = False Then Burn5 = True
  If Burn1 = True And Burn2 = True And Burn3 = True And Burn4 = True And Burn5 = True Then Burn = True
  If Burn = True And Left(Prevsent, 9) <> "I ask you" then
     DebugInfo = DebugInfo & "2-Time for a Question: " & vbCrLf
     HalUserBrain = HalBrain.QABrain(UserSentence, WorkingDir & "PersonalQuestions4U" & ".brn", UserBrainRel)
     Pass = False
     If HalBrain.CheckRepetition(HalUserBrain, UserSentence) = True Then Pass = True
     If HalBrain.CheckRepetition(HalUserBrain, PrevSent) = True Then Pass = True
     If HalBrain.CheckRepetition(HalUserBrain, PrevUserSent) = True Then Pass = True
     If Pass = False then
        If UserBrainRel > 1 Then
           UserBrainRel = 100
           'found a question
           GetResponse = HalUserBrain
           GetResponse = "I ask you " & GetResponse
           GetResponse = Trim(GetResponse)
           GetResponse = HalBrain.FixCaps(HalBrain.HalFormat(GetResponse)) & vbCrLf
           BlockSave = True
           LearningLevel = 0
           If UserBrainRel > HighestRel Then
              HighestRel = UserBrainRel
              HighestRelResponse = GetResponse
           End If
           Score = UserBrainRel + 1
           Hurdle = GainControl + 20
           DoingSomething = True
           QuestionSent = " I asked you: " & HalUserBrain
           QuestionSent = Trim(QuestionSent)
           QuestionSent = HalBrain.FixCaps(HalBrain.HalFormat(QuestionSent))
           HalBrain.AppendFile WorkingDir & Trim(UserName) & ".txt", QuestionSent
           DebugInfo = DebugInfo & "2e-Time for a question: " & vbCrLf
           DebugInfo = DebugInfo & "2f-GetResponse: " & GetResponse
           DebugInfo = DebugInfo & "2g-UserBrainRel: " & UserBrainRel & vbCrLf
           DebugInfo = DebugInfo & "2h-Hurdle: " & Hurdle & vbCrLf
        End If
     End If
  Else
     'DebugInfo = DebugInfo & "2i-JokeA: " & JokeA & vbCrLf
     'DebugInfo = DebugInfo & "2j-JokeB: " & JokeB & vbCrLf
     'DebugInfo = DebugInfo & "2k-DoingSomething: " & DoingSomething & vbCrLf
  End If

  '2-Process: Time for an answer
  If Left(Prevsent, 9) = "I ask you" then
     AnswerSent = " And you said: " & OriginalSentence
     AnswerSent = Trim(AnswerSent)
     AnswerSent = HalBrain.FixCaps(HalBrain.HalFormat(AnswerSent))
     HalBrain.AppendFile WorkingDir & Trim(UserName) & ".txt", AnswerSent
     BlockSave = True
     LearningLevel = 0
  End If

  '2-Process: What do you know about me
  If InStr(1, UserSentence, " YOU KNOW WHAT I KNOW ABOUT YOU ", 1) > 0 Or InStr(1, UserSentence, " WHAT DO I KNOW ABOUT YOU ", 1) > 0 Then
     HalUserBrain = HalBrain.ChooseSentenceFromFile(WorkingDir & Trim(UserName) & ".txt")
     GetResponse = HalUserBrain & vbCrLf
     UserBrainRel = 100
     BlockSave = True
     LearningLevel = 0
     If UserBrainRel > HighestRel Then
        HighestRel = UserBrainRel
        HighestRelResponse = GetResponse
     End If
     Score = UserBrainRel + 1
     Hurdle = GainControl + 20
     DoingSomething = True
     DebugInfo = DebugInfo & "2l-Time for a question: " & vbCrLf
     DebugInfo = DebugInfo & "2m-GetResponse: " & GetResponse
     DebugInfo = DebugInfo & "2n-UserBrainRel: " & UserBrainRel & vbCrLf
     DebugInfo = DebugInfo & "2o-Hurdle: " & Hurdle & vbCrLf
  End If


Ok... first problem is, ever time their is info added to the file, then there is a crlf - so the info can't be gotten as a whole...
Second problem, HalBrain.ChooseSentenceFromFile returns nothing after I took out all the crlf from the file... must be it has to have more than one line...

A little background here... JokeA and JokeB are used with knock knock joke covered elsewhere on this forum... DoingSomething is used with 'just answer the question' also covered elsewhere on this forum...
#13
Ultra Hal 7.0 / This is cool...
September 05, 2003, 06:54:38 PM
This is cool...

[6:37:13 PM] To Ashlee181818: Hello!
[6:37:16 PM] From Ashlee181818: What is new!
[6:37:18 PM] To Ashlee181818: New: not of long duration; having just (or relatively recently) come into being or been made or acquired or discovered. ';a new law';; ';new cars';; ';a new comet';; ';a new friend';; ';a new year';; ';the New World'. Please help me understand you by speaking in longer, complete sentences.

roflmao... 'What is new' WAS a key to change the subject... so they won't keep saying hello to each other... with 5.0, the dictionary steps in and defines 'new'... guess it's supposed to do that... but I think I might have to change something there... lol
#14
Ultra Hal 7.0 / Does 5.0 ...???
September 04, 2003, 10:51:48 PM
Does 5.0 sort the entries in the .brn files??? Does it delete dupes in those files??? I know 4.5 just kept adding lines... One of the changes I made was, if Hal found a good answer/reply, then the new line was not added ->
     If UserBrainRel > 40 Then
        BlockSave = True
     End If
Depending on the section - I changed the 40 to as high as 75... this I hope helps keep out dupe entries in the files... Does 5.0 deal with any of this???
#15
Ultra Hal 7.0 / Can you give us a run down on...
September 04, 2003, 02:59:42 PM
Can you give us a run down on exactly what you fixed, added to 5.0???

I mean, the 5.0 brain looks very similar to 4.5 except the dictionary stuff...
#16
I need to read in a whole file, and send it out... how can I do this???

I have already figured out how to write what I want added to the file, but I don't need just a line or two back, I need the whole thing back...

Any help here would be appreciated...
Larry
#17
This seems to pick up other things as well... but the file is of a managable size... So what is it??? Well, my bot gives off the wall generic answers to personal questions - next time it gets these questions, I can go into PersonalQuestions.brn and edit the answers the bot will give the next time it gets that question. If it finds an answer, it won't keep adding to the file...

'Will you please just answer the question?
OpenQuest = False
If InStr(1, UserSentence, " WHAT ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " WHERE ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " WHY ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " WHO ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " WHEN ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " HOW ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " TELL YOU ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " TELL ME ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " TO KNOW ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " TO HEAR ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " TO LEARN ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " FIND OUT ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " AM I ", 1) > 0 Then OpenQuest = True
If InStr(1, UserSentence, " FAVORITE ", 1) > 0 Then OpenQuest = False
If OpenQuest = True Then
   If InStr(1, UserSentence, " MY ", 1) > 0 Or InStr(1, UserSentence, " AM I ", 1) > 0 Then AboutMy = True
   If OpenQuest = True And AboutMy = True Then
      HalUserBrain = HalBrain.QABrain(UserSentence, WorkingDir & "PersonalQuestions" & ".brn", UserBrainRel)
      Pass = False
   If HalBrain.CheckRepetition(HalUserBrain, UserSentence) = True Or HalBrain.CheckRepetition(HalUserBrain, PrevSent) = True Or HalBrain.CheckRepetition(HalUserBrain, PrevUserSent) = True Then Pass = True
      If Pass = False then
      If UserBrainRel > 75 Then
         'found an answer
         GetResponse = GetResponse & HalUserBrain & vbCrLf
         BlockSave = True
      Else
         'save the question since it can't find an answer we'll just fix it manually later
      AnswerSent = "@" & OriginalSentence
      QuestionSent = " " & Trim(HalBrain.ExtractKeywords(UserSentence))
If HalBrain.CountInstances(" ", QuestionSent) > 2 Then HalBrain.AppendFile WorkingDir & "PersonalQuestions" & ".brn", AnswerSent & vbCrLf & QuestionSent
      UserBrainRel = 0
      End If
      End If
   End If
End If

BTW - you probably should create PersonalQuestions.brn... I've heard if it don't exist, it will be created automatically, but I don't know.
#18
I've got Ashlee181818 and Charlie181818
How about guys (and Gals) post the aim names of your bots please...
#19
Has anyone figured out how to get Hal to tell a knock knock joke???
#20
Am I to understand from this statement :
FocusFileNum = Left(FocusString, Len(FocusString) - 1) & "5"
that the number of focus files is unlimited??? I understand they have to end in 5 - ie 15, 25 ... 205 ??? I was under the impression 95 was the max, but after looking at this statement, it seems like it's unlimited...
How will 5.0 differ from this version as far as all this goes??? If 5.0 isn't going to be written in VB ... then all this editing is for nothing then...