Make a new method, IsLegalChatString(), and use that for the chatting validation instead of IsLegalString(). There is probably a check that is performed somewhere on the client using IsLegalString on chat text, but not positive. Then, in IsLegalChatString(), just add support for missing characters that you can use in the chat.
...
Okay, I decided I'd just write a little guide. I didn't test this, so let me know if it doesn't work or what doesn't work.
Find in the server:
Code:
Private Sub Data_Chat_Say(ByVal inSox As Long)
'*********************************************************************************
'User said something in the local chat
'<Text(S)>
'*********************************************************************************
Dim Text As String
Text = rBuf.Get_String
'Check if legal
If Text = vbNullString Then Exit Sub
If Len(Text) > MAXCHATLENGTH Then Exit Sub
If Not IsLegalString(Text) Then Exit Sub
Replace with:
Code:
If Not IsLegalChatString(Text) Then Exit Sub
In the ValidStrings module, add:
Code:
Public Function IsLegalChatString(ByVal s As String) As Boolean
'*********************************************************************************
'Check if a string contains any invalid chat characters
'*********************************************************************************
Dim b() As Byte
Dim i As Long
Dim IsNumeric As Boolean
Dim IsLowerCase As Boolean
Dim IsUpperCase As Boolean
On Error GoTo ErrOut
'Check for invalid string
If s = vbNullString Then Exit Function
'Convert the string into a byte array
b() = StrConv(s, vbFromUnicode)
'Loop through the string and check the values
For i = 0 To UBound(b)
If b(i) < 32 Or b(i) > 126 Then Exit Function
Next i
'Valid string
IsLegalChatString = True
Exit Function
ErrOut:
'There was some kind of error :(
IsLegalChatString = False
End Function
Find in the client:
Code:
'Text
Case Else
If IsEnteringChat Then
If IsLegalString(Chr$(KeyAscii)) Then
ChatBox.InputText = ChatBox.InputText & Chr$(KeyAscii)
End If
End If
Replace "IsLegalString" with "IsLegalChatString".
That should fix it.