void PrivateMessage()
{
//Wrap our code inside a try / catch to catch bad errors
try
{
//Create a new mssql query to get information from messages table
Systems.MsSQL ms = new Systems.MsSQL("SELECT * FROM message WHERE receiver='" + Character.Information.Name + "' ORDER BY time DESC");
//Set integer definition for count rows
int count = ms.Count();
//If we have more then zero messages
if (count > 0)
{
//Tmp test for desc / asc
int Tempdate = 0;
//Create a new packet writer
PacketWriter Writer = new PacketWriter();
//Add the opcode for messages
Writer.Create(Systems.SERVER_PM_MESSAGE);
//Write static 1 byte
Writer.Byte(1);
//Write total messages count
Writer.Byte(Convert.ToByte(count));
//Create new sql data reader for reading colums.
using (SqlDataReader reader = ms.Read())
{
//While our reader is reading information
while (reader.Read())
{
//Set definition for pm sender
string MessageFrom = reader.GetString(1);
//Set definition for pm receiver
string MessageTo = reader.GetString(2);
//Set definition for message
string MessageContent = reader.GetString(3);
//Set byte definition for status (Read unread) 0 = unread, 1 = read
byte pmstatus = reader.GetByte(4);
//Get date time when message have been send
DateTime MessageDate = Convert.ToDateTime(reader.GetDateTime(5));
//Write text message sender
Writer.Text(MessageFrom);
//Write time
//DateTime Time = reader.GetDateTime(5);
//Time = Time..ToString();
Writer.DWord(0);
//Write date
Writer.DWord(Tempdate += 1);
//Write byte status 0 = unread , 1 = read
Writer.Byte(pmstatus);
}
//Send bytes to client
client.Send(Writer.GetBytes());
}
}
//Close mssql query
ms.Close();
}
//If any error accures
catch (Exception ex)
{
Console.WriteLine("Error reading private messages: {0}",ex);
//Write the information to the debug file.
Systems.Debugger.Write(ex);
}
}