public static byte[] SendSpawnPlayers(Character ch) { Packet p = new Packet(200); p.WriteHexString("00"); p.WriteInt(ch.MapId); p.WriteHexString("01 00"); p.WriteInt(ch.CharacterId); p.WriteShort(ch.Position.X); p.WriteShort(ch.Position.Y); p.WriteHexString("76"); p.WriteShort(ch.Position.X); p.WriteShort(ch.Position.Y); p.WriteHexString("76"); p.WriteHexString("16 B2 00 00"); p.WriteByte(ch.Class); p.WriteString(ch.Name); p.WriteInt(ch.Fame); p.WriteByte(Convert.ToByte(ch.Shop.Active)); p.WriteString(ch.Shop.ShopName); p.WriteString(ch.Shop.ShopDesc); p.WriteHexString("00"); // purple name p.WriteHexString("00"); // fe p.WriteHexString("00"); // fe ring p.WriteHexString("00 00"); if (ch.Guild != null) { p.WriteInt(ch.Guild.ID); p.WriteString(ch.Guild.Name); GuildMember member = ch.Guild.Members.Single(x => x.Character.CharacterId == ch.CharacterId); p.WriteInt((int)member.Rank); p.WriteString(member.Title); p.WriteHexString("00 00 00 00"); // picture } else p.WriteHexString("00 00 00"); p.WriteHexString("00"); if (ch.Party != null) { p.WriteInt(ch.Party.PartyID); p.WriteInt(ch.Party.Leader.CharacterId); } p.WriteHexString("00 00 00 00"); foreach (Equipment e in ch.GetVisuals()) { p.WriteShort(e.VisualID); p.WriteByte(e.Plus); p.WriteByte(e.Slvl); p.WriteByte(e.RequiredClass); } p.WriteByte(ch.Rebirth); // rebirth p.WriteHexString("00 00 00 00 00"); p.WriteHexString("00 00 00 00"); // title return p.GetWrittenBuffer(PacketIds.SendSpawnPlayers); }
public static byte[] SendSpawnPlayers(Character ch) { Packet p = new Packet(200); p.WriteHexString("00"); p.WriteInt(ch.MapId); p.WriteHexString("01 00"); p.WriteInt(ch.CharacterId); p.WriteShort(ch.X); p.WriteShort(ch.Y); p.WriteHexString("76"); p.WriteShort(ch.X); p.WriteShort(ch.Y); p.WriteHexString("76"); p.WriteHexString("16 B2 00 00"); p.WriteByte(ch.Class); p.WriteString(ch.Name); p.WriteInt(ch.Fame); p.WriteHexString("00"); // bool selling p.WriteString(""); // shopname p.WriteString(""); // shopdesc p.WriteHexString("00"); // purple name p.WriteHexString("00"); // fe p.WriteHexString("00"); // fe ring p.WriteHexString("00"); // maybe has guild thingy //if Character has guild //p.WriteHexString("00 00 00 00"); // guild id //p.WriteString(""); // guild name //p.WriteHexString("00 00 00 00"); // maybe guild position //p.WriteHexString("00 00 00 00"); // maybe guild position //p.WriteHexString("00 00 00 00 00 00 00 00"); //p.WriteHexString("00"); // something p.WriteHexString("00 00 00 00 00 00 00 00 00"); // else write this foreach (Equipment e in ch.GetVisuals()) { p.WriteShort(e.VisualID); p.WriteByte(e.Plus); p.WriteByte(e.Slvl); p.WriteByte(e.RequiredClass); } p.WriteByte(ch.Rebirth); // rebirth p.WriteHexString("00 00 00 00 00"); return p.GetWrittenBuffer(PacketIds.SendSpawnPlayers); }
public static byte[] SendSpawnPlayer(Character ch) { Packet p = new Packet(200); p.WriteHexString("00"); p.WriteInt(ch.CharacterId); p.WriteInt(ch.MapId); p.WriteShort(ch.Position.X); p.WriteShort(ch.Position.Y); p.WriteHexString("76"); p.WriteShort(ch.Position.X); p.WriteShort(ch.Position.Y); p.WriteHexString("76"); p.WriteHexString("0B C5 00 00"); p.WriteByte(ch.Class); p.WriteString(ch.Name); p.WriteInt(ch.Fame); p.WriteByte(Convert.ToByte(ch.Shop.Active)); p.WriteString(ch.Shop.ShopName); p.WriteString(ch.Shop.ShopDesc); p.WriteHexString("00 00 00 00 00 00 00 00 00"); p.WriteInt(ch.Party.PartyID); p.WriteInt(ch.Party.Leader.CharacterId); p.WriteHexString("00 00 00 00"); foreach (Equipment e in ch.GetVisuals()) { p.WriteShort(e.VisualID); p.WriteByte(e.Plus); p.WriteByte(e.Slvl); p.WriteByte(e.RequiredClass); } p.WriteHexString("00 00 00 00 00 00"); return p.GetWrittenBuffer(PacketIds.SendSpawnPlayer); }