Remember this Plugin LightSpeed (its modified some). All this plugin does is records what Hal's GetResponse and UserInput is at various locations in the brain script. If you read the GetResponse.log located within the Hal directory (after speaking to Hal) then you can see how Hal is choosing what it wants to say before He says it. Of course, this can only give a partial picture, but if you talk to your Hal with this plugin selected and if you get a blank response then it might help narrow down the possibilities. You can then email me the GetResponse.log and we'll see what its telling us.
Of course, it may not help, but I think its worth giving a shot. If you want to.
Rem Type=Plugin
Rem Name=GetResponseTracker
Rem Author=snowman
Rem Host=Assistant
'This sub setups the plug-ins option panel in Hal's options dialog
Sub OptionsPanel()
lblPlugin(0).Caption = "This plugin creates a log called GetResponse.log with the Ultra Hal Assistant Directory. It tracks the developement and change of Ulta Hal's responses. This can be used for troubleshooting Errors within the Ulta Hal brain. "
lblPlugin(0).Move 120, 10, 3300, 1000
lblPlugin(0).WordWrap = True
lblPlugin(0).Visible = True
End Sub
'..........................................................................................
Rem PLUGIN: PRE-PROCESS
'..........................................................................................
'Clean previous log
Set fso = CreateObject("Scripting.FileSystemObject")
MyDir = fso.GetAbsolutePathName(".") & "\"
Set objTextFile = fso.OpenTextFile(MyDir & "GetResponse.log", 2, True)
objTextFile.Close
'..........................................................................................
Rem PLUGIN: PRE-PROCESS
'..........................................................................................
InputString = LogWriter("PRE-PROCESS", InputString)
'..........................................................................................
Rem PLUGIN: CUSTOMMEM
'..........................................................................................
GetResponse = LogWriter("CUSTOMMEM", UserSentence & vbCrLf & GetResponse)
'..........................................................................................
Rem PLUGIN: PLUGINAREA1
'..........................................................................................
GetResponse = LogWriter("PLUGINAREA1", UserSentence & vbCrLf & GetResponse)
'..........................................................................................
Rem PLUGIN: PLUGINAREA2
'..........................................................................................
GetResponse = LogWriter("PLUGINAREA2", UserSentence & vbCrLf & GetResponse)
'..........................................................................................
Rem PLUGIN: PLUGINAREA3
'..........................................................................................
GetResponse = LogWriter("PLUGINAREA3", UserSentence & vbCrLf & GetResponse)
'..........................................................................................
Rem PLUGIN: PLUGINAREA4
'..........................................................................................
GetResponse = LogWriter("PLUGINAREA4", UserSentence & vbCrLf & GetResponse)
'..........................................................................................
Rem PLUGIN: PLUGINAREA5
'..........................................................................................
GetResponse = LogWriter("PLUGINAREA5", UserSentence & vbCrLf & GetResponse)
'..........................................................................................
Rem PLUGIN: LOWQUALITYRESPONSES
'..........................................................................................
GetResponse = LogWriter("LOWQUALITYRESPONSES", UserSentence & vbCrLf & GetResponse)
'..........................................................................................
Rem PLUGIN: PLUGINAREA6
'..........................................................................................
GetResponse = LogWriter("PLUGINAREA6", UserSentence & vbCrLf & GetResponse)
'..........................................................................................
Rem PLUGIN: PLUGINAREA7
'..........................................................................................
GetResponse = LogWriter("PLUGINAREA7", UserSentence & vbCrLf & GetResponse)
'..........................................................................................
Rem PLUGIN: CUSTOMMEM2
'..........................................................................................
GetResponse = LogWriter("CUSTOMMEM2", UserSentence & vbCrLf & GetResponse)
'..........................................................................................
Rem PLUGIN: POST-PROCESS
'..........................................................................................
UltraHal = LogWriter("POST-PROCESS", InputString & vbCrLf & UltraHal)
UltraHal = LogWriter("///////////////////////////////////", "//////////////////////////////////////////")
'..........................................................................................
Rem PLUGIN: FUNCTIONS
'..........................................................................................
Function LogWriter(strlocation, strHalResponse)
keepvar1 = strHalResponse
If strHalResponse = "" THen strHalResponse = "<empty>"
Set fso = CreateObject("Scripting.FileSystemObject")
MyDir = fso.GetAbsolutePathName(".") & "\"
Set objTextFile = fso.OpenTextFile(MyDir & "GetResponse.log", 8, True)
objTextFile.WriteLine("Report#" & strlocation & vbCrLf & strHalResponse & vbCrLf & vbCrLf & vbCrLf)
objTextFile.Close
strHalResponse = ""
LogWriter = keepvar1
End Function
'..........................................................................................
'End of Plugin