public CharacterListUpdatePacket(PacketReader reader) : base(0x86, "Character List Update") { // Documented at http://docs.polserver.com/packets/index.php?Packet=0xA8 int characterCount = reader.ReadByte(); _characters = new CharacterListEntry[characterCount]; for (int i = 0; i < characterCount; i++) { _characters[i] = new CharacterListEntry(reader); } }
public CharacterListUpdatePacket(PacketReader reader) : base(0x86, "Character List Update") { // Documented at http://docs.polserver.com/packets/index.php?Packet=0xA8 var characterCount = reader.ReadByte(); _characters = new CharacterListEntry[characterCount]; for (var i = 0; i < characterCount; i++) { _characters[i] = new CharacterListEntry(reader); } }
public CharacterCityListPacket(PacketReader reader) : base(0xA9, "Char/City List") { var characterCount = reader.ReadByte(); _characters = new CharacterListEntry[characterCount]; for (var i = 0; i < characterCount; i++) { _characters[i] = new CharacterListEntry(reader); } var locationCount = reader.ReadByte(); _locations = new StartingLocation[locationCount]; for (var i = 0; i < locationCount; i++) { _locations[i] = new StartingLocation(reader); } }
public CharacterCityListPacket(PacketReader reader) : base(0xA9, "Char/City List") { int characterCount = reader.ReadByte(); _characters = new CharacterListEntry[characterCount]; for (int i = 0; i < characterCount; i++) { _characters[i] = new CharacterListEntry(reader); } int locationCount = reader.ReadByte(); _locations = new StartingLocation[locationCount]; for (int i = 0; i < locationCount; i++) { _locations[i] = new StartingLocation(reader); } }
public CharacterEntryGump(uint index, CharacterListEntry character, Action <uint> selectedFn, Action <uint> loginFn) { CharacterIndex = index; _selectedFn = selectedFn; _loginFn = loginFn; // Bg AddChildren(new ResizePic(0x0BB8) { X = 0, Y = 0, Width = 280, Height = 30 }); // Char Name AddChildren(_label = new Label(character.Name, false, NORMAL_COLOR, 270, 5, align: TEXT_ALIGN_TYPE.TS_CENTER) { X = 0 }); AcceptMouseInput = true; }
public static async void HandleEnumCharacters(EnumCharacters enumCharacters, CharacterSession session) { var charList = DB.Character.Where <Character>(c => c.GameAccountId == session.GameAccount.Id); var enumCharactersResult = new EnumCharactersResult(); charList.ForEach(c => { var character = new CharacterListEntry { Guid = new CharacterGuid { CreationBits = c.Guid, RealmId = (ushort)c.RealmId }, Name = c.Name, ListPosition = c.ListPosition, RaceID = c.Race, ClassID = c.Class, SexID = c.Sex, SkinID = c.Skin, FaceID = c.Face, HairStyle = c.HairStyle, HairColor = c.HairColor, FacialHairStyle = c.FacialHairStyle, ExperienceLevel = c.ExperienceLevel, ZoneID = (int)c.Zone, MapID = (int)c.Map, PreloadPos = new Vector3 { X = c.X, Y = c.Y, Z = c.Z }, GuildGUID = new GuildGuid { CreationBits = c.GuildGuid }, Flags = c.CharacterFlags, Flags2 = c.CustomizeFlags, Flags3 = c.Flags3, FirstLogin = c.FirstLogin == 1, PetCreatureDisplayID = c.PetCreatureDisplayId, PetExperienceLevel = c.PetLevel, PetCreatureFamilyID = c.PetCreatureFamily, }; if (c.CharacterItems != null) { for (var i = 0; i < character.InventoryItems.Length; i++) { foreach (var ci in c.CharacterItems) { Item item; if ((int)ci.Slot == i && ClientDB.Items.TryGetValue(ci.ItemId, out item) && ci.Equipped) { character.InventoryItems[i].DisplayID = (uint)item.DisplayId; character.InventoryItems[i].InvType = (byte)item.Slot; break; } } } } enumCharactersResult.Characters.Add(character); }); await session.Send(enumCharactersResult); }
public static void SetCharacterList(CharacterListEntry[] list) { _characters = list; _updateValue++; }