protected void HandlePartyList(InPacket packet) { GroupType groupType = (GroupType)packet.ReadByte(); packet.ReadByte(); packet.ReadByte(); packet.ReadByte(); if (groupType.HasFlag(GroupType.GROUPTYPE_LFG)) { packet.ReadByte(); packet.ReadUInt32(); } packet.ReadUInt64(); packet.ReadUInt32(); uint membersCount = packet.ReadUInt32(); GroupMembersGuids.Clear(); for (uint index = 0; index < membersCount; index++) { packet.ReadCString(); UInt64 memberGuid = packet.ReadUInt64(); GroupMembersGuids.Add(memberGuid); packet.ReadByte(); packet.ReadByte(); packet.ReadByte(); packet.ReadByte(); } GroupLeaderGuid = packet.ReadUInt64(); }
protected void HandleMessage(InPacket packet) { var chatType = (Client.Chat.Definitions.ChatMessageType)packet.ReadByte(); var language = (Client.Chat.Definitions.Language)packet.ReadInt32(); UInt64 senderGuid = packet.ReadUInt64(); var unkInt = packet.ReadUInt32(); var receiverGuid = packet.ReadUInt64(); UInt32 messageLen = packet.ReadUInt32(); string message = packet.ReadCString(); Console.WriteLine(chatType + "." + language + "." + senderGuid + "." + message); if (message == "heal") { var response = new OutPacket(WorldCommand.CMSG_CAST_SPELL); response.Write((Byte)1); response.Write((UInt32)2050); response.Write((Byte)0x00000000); response.Write((UInt32)0x00000000); SendPacket(response); Console.WriteLine("SendPacket Heal!"); } else if (message == "targetme") { TargetLeader(); } }
public Character(InPacket packet) { GUID = packet.ReadUInt64(); Name = packet.ReadCString(); Race = (Race)packet.ReadByte(); Class = (Class)packet.ReadByte(); Gender = (Gender)packet.ReadByte(); Bytes = packet.ReadBytes(5); Level = packet.ReadByte(); ZoneId = packet.ReadUInt32(); MapId = packet.ReadUInt32(); X = packet.ReadSingle(); Y = packet.ReadSingle(); Z = packet.ReadSingle(); GuildId = packet.ReadUInt32(); Flags = packet.ReadUInt32(); packet.ReadUInt32(); // customize (rename, etc) packet.ReadByte(); // first login PetInfoId = packet.ReadUInt32(); PetLevel = packet.ReadUInt32(); PetFamilyId = packet.ReadUInt32(); // read items for (int i = 0; i < 19; ++i) { packet.ReadUInt32(); packet.ReadByte(); packet.ReadUInt32(); // ??? } // read bags for (int i = 0; i < 4; ++i) { packet.ReadUInt32(); packet.ReadByte(); packet.ReadUInt32(); } }