I've never tried using it for anything, but the entire main user interface window is exposed to the vbscript with all its objects and functions as an object called "FrmAss"
The character engine (whether MSAgent, Haptek, or Ogre) can be referenced with:
FrmAss.HalFace.object
If Haptek is the active character engine, you have access to these methods:
Sub Refresh()
Sub Options()
Sub StartAnimation()
Sub StopAnimation()
Sub LoadFace(WorkingDir As String, filename As String)
Sub Speak(TextString As String)
Sub HapFile(filename As String)
Sub HapBack(filename As String)
Sub HapSendText(strText As String)
Sub Translate(x, y, z, t)
Sub Rotate(x, y, z, t)
Function HapQuery(strQuery As String)
Function GetCurFigure() As String
Function LoadEngine(EngineGUID As String, Optional VoiceName As String) As Boolean
Properties:
ScaleWidth() As Single
ScaleHeight() As Single
AutoRedraw() As Boolean
FaceExpression() As String
BackColor() As OLE_COLOR
Transparent() As Boolean
ShowBackgroundArrows() As Boolean
So if I understand your post correctly, the commands tyou are looking for are:
FrmAss.HalFace.object.HapSendText "Some hap text to send to haptek"
HaptekResponse = FrmAss.HalFace.object.HapQuery("A query to ask of haptek")
In theory, these should work from inside a Hal VBScript, but I've never tried it. You'd have to look at Haptek documentation to see what you can actually send or query from Haptek.
If you try using this and an engine other than Haptek is selected, the script will error and fail.