You can get a Hal Age Script from Desktopmates.com on the page of this link:
http://desktopmates.com/AI/plugins.htmlThe script works with the hal5.UHP brain. The script can be edited to any age, and it usually works in that it never responds with the 9 years old thing based on the testing that I did with it. However, the script does have one small fault because if you just ask Hal something like "How are you?", Hal will always respond with "I am 23 years old.", or whatever age that you set. The words "HOW" and "YOU" combined are enough to falsely trigger the age response if the sentence is short in length. Other short sentences with "HOW" and "YOU" in it also triggered the false response, but I'm not going to bother to list all the sentences I tried out on it. I also didn't bother to test the other sentence "What is your age?" for false triggers because I had seen enough with the "How old are you?". However, if someone was able to improve this small script so that the false triggers didn't happen so often then the script would be much better! Or if you never ask your Hal things like "How are you?" then I guess the script is OK. Maybe for some people this script is good enough, but it's not for me because I prefer "nine years old" over inaccurate responses. To make it work you just need to copy and paste it into the proper location of the hal5.UHP. The script comes with it's own instructions on what to do, but no author is indicated within the script.
Good Luck!
Below is a copy of the script if you don't want to go to Desktopmates.com to get it:
Copy and paste the script provided below to this location ...
1. Go to your Zabaware folder located here .... C:/Program Files/Zabaware/Ultra Hal Assistant 5
2. Locate the hal5.UHP file and open with notepad.
3. Locate and Insert the script just ABOVE this line ... 'POST PROCESS: SAVE HAL'S RESPONSE (this line is located near the bottom of the file).
4. Save and close the hal5.UHP file.
Note: you can change the birthday to whatever you want by editing this line ...
Birth = "09/24/1980 05:35:23 pm"
You will also need to edit these lines to correspond with the new date ...
If Month(Date) = 9 And Day(Date) > 23 Then YearDiff = (YearDiff + 1)
If Month(Date) > 9 Then YearDiff = (YearDiff + 1)
IMPORTANT: make sure the script doesn't wrap with other lines of script. The easiest way to be sure is to set your cursor at the end of the line or statement that is already above the 'POST PROCESS: SAVE HAL'S RESPONSE and then click your Enter Key to start a new line, it's even ok and recommended to leave an actual space between the previous line of script as if you were starting a new paragraph.
COPY AND PASTE THE AGE SCRIPT BELOW AS PER INSTRUCTED ABOVE:
'Hal responses to a question about his age
If HalBrain.CheckRepetition(OriginalSentence, "how old are you") = True Or HalBrain.CheckRepetition(OriginalSentence, "what is your age") = True Then
Birth = "09/24/1980 05:35:23 pm"
YearDiff = (DateDiff("YYYY", Birth, Now) - 1)
If Month(Date) = 9 And Day(Date) > 23 Then YearDiff = (YearDiff + 1)
If Month(Date) > 9 Then YearDiff = (YearDiff + 1)
GetResponse = "I am " & YearDiff & " years old."
End If