Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void ShowMsgRank(MsgRank ranking, GameState client)
- {
- List<PrestigeRank> li = new List<PrestigeRank>();
- string command = Kernel.Player.Values.OrderByDescending(p => p.PrestigePoints).ToString();
- //string command = "select top 100 * from entities where PrestigePoints > 0 order by PrestigePoints desc";
- uint rank1 = 0;
- string query = "select * from entities PrestigePoints ";
- using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("entities"))
- {
- cmd.Command = query;
- using (var reader = new MySqlReader(cmd))
- {
- while (reader.Read())
- {
- rank1++;
- PrestigeRank pr = new PrestigeRank()
- {
- uid = reader.ReadUInt32("Uid"),
- name = reader.ReadString("Name"),
- Class = reader.ReadByte("Class"),
- Level = reader.ReadByte("Level"),
- Score = reader.ReadUInt32("PrestigePoints"),
- Avater = reader.ReadUInt32("Face"),
- Mesh = reader.ReadUInt32("Body")
- };
- li.Add(pr);
- if (pr.uid == client.Player.UID)
- {
- var nRanking2 = new MsgRank(true);
- nRanking2.Mode = MsgRank.QueryCount;
- nRanking2.RankingType = ranking.RankingType;
- nRanking2.Append(rank1, pr.Score, pr.uid, pr.name, pr.Level, pr.Class, uint.Parse(pr.Avater.ToString() + pr.Mesh));
- client.Send(nRanking2);
- nRanking2.Reset();
- }
- }
- }
- }
- PrestigeRank[] list = li.ToArray();
- ushort page = ranking.Page;
- Func<PrestigeRank, uint> select = null;
- select = (chiData) => { return chiData.Score; };
- if (list.Length < page * 10) return;
- uint count = (uint)Math.Min(list.Length - page * 10, 10);
- var nRanking = new MsgRank(true, count);
- nRanking.Mode = MsgRank.Ranking;
- nRanking.RankingType = ranking.RankingType;
- nRanking.Page = page;
- nRanking.RegisteredCount = (ushort)list.Length;
- int rank = (int)page * 10;
- for (int i = rank; i < rank + count; i++)
- {
- var current = list[i];
- nRanking.Append((uint)(i + 1), (uint)select(current), current.uid, current.name, current.Level, current.Class, uint.Parse(current.Avater.ToString() + current.Mesh));
- }
- client.Send(nRanking);
- }
Advertisement
Add Comment
Please, Sign In to add comment