/// <summary> /// Sends a Message in game /// </summary> /// <param name="szSource">Receiver</param> /// <param name="szMsg">Message</param> /// <param name="nType">Message Type (whisper, global, advertisment, [...]</param> /// <returns></returns> public void CreateMessagePacket(string szSource, string szMsg, int nType) { PacketOut o = new PacketOut( 20 ); o.FillString( szSource, 21 ); o.WriteByte( 0 ); o.WriteByte( (byte)szMsg.Length ); o.WriteByte( (byte)nType ); o.WriteString( szMsg, szMsg.Length ); o.FinalizeLengthAndChecksum(); m_cGameConnection.SendTCP( o ); }
/// <summary> /// Not sure about the content - but it actually sends your GPU with its driver version. /// </summary> /// <returns></returns> private PacketOut CreateReportPacket() { PacketOut o = new PacketOut( 8000 ); o.WriteShort( 8704 ); o.WriteShort( 18197 ); o.WriteByte( 81 ); o.WriteByte( 251 ); o.WriteString( "Windows (6.2.9200)|ATI Radeon HD 3600 SeriesDrv Version : 8.17.10.1129", 71 ); // Only for testing. And yes, my GPU sucks. Problem? o.FinalizeLengthAndChecksum(); return o; }
/// <summary> /// Logs your character into the game /// </summary> /// <param name="nIndex">Selected Character Index</param> /// <returns></returns> public void CreateLoginPacket(int nIndex) { try { PacketOut oLogin = new PacketOut( 1 ); oLogin.FillString( m_iGameCharacterList.nList[nIndex - 1].szName, 61 ); oLogin.WriteByte( (byte)m_iGameCharacterList.nList[nIndex - 1].nRace ); oLogin.FinalizeLengthAndChecksum(); m_dHandles.Add( 0, m_iGameCharacterList.nList[nIndex - 1].szName ); m_cGameConnection.SendTCP( oLogin ); XLog.AddMessage( "", "", -5 ); // Clear box } catch ( Exception e ) { XLog.Log( "Error while logging in to the server: {0}", e.Message ); } }