So the script might be timing out... aka... not finishing. Well then its obviously not reporting any errors....
Of course there are other ways of exiting a script quietly i.e. putting 'Exit Function' inside the UltraHal or GetResonse functions. I don't think 'WScript.Quit' is supported or else that could also cause a problem. If you were desperate enough you could always go through Hal's brain and erraticate all 'Exit Functions' just to be sure thats not the problem ( I wouldn't recommend it though

)
Without error reporting it's difficult to know what the problem could be.
However, if you want to try this you can. It is very simple. If Hal simply has nothing to say then this should make him/her talk. If the brain script is quietly exiting (somehow) then this script will not work. Or if the databases are timing out then this should make Hal say something nonetheless.
Rem Type=Plugin
Rem Name=Thoughtless
Rem Author=snowman
Rem Host=Assistant
'This sub setups the plug-ins option panel in Hal's options dialog
Sub OptionsPanel()
lblPlugin(0).Caption = ""
lblPlugin(0).Move 120, 10, 3300, 1000
lblPlugin(0).WordWrap = True
lblPlugin(0).Visible = True
End Sub
'...........................................................................
'...........................................................................
Rem PLUGIN: POST-PROCESS
HalBrain.ReadOnlyMode = True
If UltraHal = "" Then
Randomize
Select Case int(rnd()*4)
Case 1
UltraHal = "Sometimes I'm speechless. This is one of those times."
Case 2
UltraHal = "Could you please say that again? I don't think I heard you correctly."
Case 3
UltraHal = "Huh? I'm not sure I heard you."
Case Else
UltraHal = "What did you say? Please repeat what you said."
End Select
End If
End Select
End If
'...........................................................................
'...........................................................................
'End of Plugin
I also recommend placing my GetResponsetracker.uhp plugin in your script. If you use this plugin, then the next time Hal doesn't say something then you or I could look at the GetResponse.log file that it creates and see what Hal was thinking. We could determine when Hal decided not to respond, what Hal was going to say but didn't, or even when the Hal script decided not to work any longer (aka. not all the logs reported).
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: CUSTOMMEM
'..........................................................................................
GetResponse = LogWriter("CUSTOMMEM", GetResponse)
'..........................................................................................
Rem PLUGIN: PLUGINAREA1
'..........................................................................................
GetResponse = LogWriter("PLUGINAREA1", GetResponse)
'..........................................................................................
Rem PLUGIN: PLUGINAREA2
'..........................................................................................
GetResponse = LogWriter("PLUGINAREA2", GetResponse)
'..........................................................................................
Rem PLUGIN: PLUGINAREA3
'..........................................................................................
GetResponse = LogWriter("PLUGINAREA3", GetResponse)
'..........................................................................................
Rem PLUGIN: PLUGINAREA4
'..........................................................................................
GetResponse = LogWriter("PLUGINAREA4", GetResponse)
'..........................................................................................
Rem PLUGIN: PLUGINAREA5
'..........................................................................................
GetResponse = LogWriter("PLUGINAREA5", GetResponse)
'..........................................................................................
Rem PLUGIN: LOWQUALITYRESPONSES
'..........................................................................................
GetResponse = LogWriter("LOWQUALITYRESPONSES", GetResponse)
'..........................................................................................
Rem PLUGIN: PLUGINAREA6
'..........................................................................................
GetResponse = LogWriter("PLUGINAREA6", GetResponse)
'..........................................................................................
Rem PLUGIN: PLUGINAREA7
'..........................................................................................
GetResponse = LogWriter("PLUGINAREA7", GetResponse)
'..........................................................................................
Rem PLUGIN: CUSTOMMEM2
'..........................................................................................
GetResponse = LogWriter("CUSTOMMEM2", GetResponse)
'..........................................................................................
Rem PLUGIN: POST-PROCESS
'..........................................................................................
UltraHal = LogWriter("POST-PROCESS", UltraHal)
'..........................................................................................
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)
objTextFile.Close
strHalResponse = ""
LogWriter = keepvar1
End Function
'..........................................................................................
'End of Plugin
As always, if anyone wants to add to this, or change anything then go ahead and have fun.
I don't know if it will help Lightspeed, but I hope it will.
