private static void OnChatWhisper(PacketReader reader_, int Index_)
{
ushort charlen = reader_.ReadWord();
string name = reader.ReadString(false, charlen);
if (name.ToCharArray(0, 1)[0] == '[')
{
name = name.Substring(3);
}
ushort msglen = reader_.ReadWord();
byte[] bmsg = reader_.ReadByteArray(msglen * 2);
if (DatabaseCore.Character.GetIndexByName(name) != -1)
{
PacketWriter writer = new PacketWriter();
writer.SetOpcode(SERVER_OPCODES.GAME_SERVER_CHAT);
writer.AppendByte(2);
writer.AppendWord((ushort)Player.General[Index_].CharacterName.Length);
writer.AppendString(false, Player.General[Index_].CharacterName);
writer.AppendWord((ushort)(msglen / 2));
writer.AppendByteArray(bmsg, bmsg.Length);
for (int i = 0; i <= Player.PlayersOnline; i++)
{
if (Player.General[i].CharacterName == name)
{
ServerSocket.Send(writer.getWorkspace(), i);
break;
}
}
}
}