| ElSaher | 
			2020-03-11 10:27 PM | 
		 
		 
		 
		
			حل مشكلة رنك البرفكشن   
		
		
		[RIGHT 
حل مشكلة رنك البرفكشن في بضع السورسات الحل قادم من Mr ElSaher 
نبدا 
هتبحث عن
  
	كود PHP: 
	
		 
		
		
			
 public unsafe class MsgRank 
 
		 
		
		 
	 
 هتبدل كل الي جواها بي دا
 
	كود PHP: 
	
		 
		
		
			
 
 
 
 using System;
 using System.Linq;
 using System.Text;
 using System.Collections.Generic;
 using MoElSaher.Client;
 
 namespace MoElSaher.Network.GamePackets
 {
     public unsafe class MsgRank : Writer, Interfaces.IPacket
     {
         public void AppendP(uint rank, uint amount, uint uid, string name, uint lvl, uint clas, uint pho)
         {
             int offset = current * 80 + 24;
             if (offset + 72 <= Buffer.Length)
             {
                 current++;
                 Count = (uint)current;
                 WriteUInt32(rank, offset, Buffer); offset += 8;
                 WriteUInt32(amount, offset, Buffer); offset += 8;
                 WriteUInt32(uid, offset, Buffer); offset += 4;
                 WriteUInt32(uid, offset, Buffer); offset += 4;
                 WriteString(name, offset, Buffer); offset += 16;
                 WriteString(name, offset, Buffer); offset += 16;
                 WriteUInt32(lvl, offset, Buffer); offset += 4;
                 WriteUInt32(clas, offset, Buffer); offset += 4;
                 WriteUInt32(pho, offset, Buffer);
             }
         }
         public const uint
         Ranking = 1,
         QueryCount = 2,
         InformationRequest = 5,
         TotemRank = 6;
         public const uint
         RoseFairy = 30000002,
         LilyFairy = 30000102,
         OrchidFairy = 30000202,
         TulipFairy = 30000302,
         Kiss = 30000402,
         Love = 30000502,
         Tins = 30000602,
         Jade = 30000702,
         PrestigeHighWall = 312500,
         Chi = 60000000,
         DragonChi = 60000001,
         PhoenixChi = 60000002,
         TigerChi = 60000003,
         TurtleChi = 60000004,
          InnerPower = 70000000,
         Prestige = 80000000,
         PrestigeTrojan = 80000001,
         PrestigeWarrior = 80000002,
         PrestigeArcher = 80000003,
         PrestigeNinja = 80000004,
         PrestigeMonk = 80000005,
         PrestigePirate = 80000006,
         PrestigeDWarrior = 80000007,
         PrestigeWater = 80000008,
         PrestigeFir1e = 80000009,
          Prestigewing = 80000010;
 
         byte[] Buffer;
         int current;
 
         public MsgRank(bool Create, uint entries = 1)
         {
             if (Create)
             {
                 Buffer = new byte[744 + 16];
                 Writer.Write(Buffer.Length - 8, 0, Buffer);
                 Writer.Write(1151, 2, Buffer);
             }
         }
         public uint Mode
         {
             get { return BitConverter.ToUInt32(Buffer, 4); }
             set { WriteUInt32(value, 4, Buffer); }
         }
         public uint RankingType
         {
             get { return BitConverter.ToUInt32(Buffer, 8); }
             set { WriteUInt32(value, 8, Buffer); }
         }
         public ushort RegisteredCount
         {
             get { return BitConverter.ToUInt16(Buffer, 12); }
             set { WriteUInt16(value, 12, Buffer); }
         }
         public ushort Page
         {
             get { return BitConverter.ToUInt16(Buffer, 14); }
             set { WriteUInt16(value, 14, Buffer); }
         }
         public uint Count
         {
             get { return BitConverter.ToUInt32(Buffer, 16); }
             set { WriteUInt32(value, 16, Buffer); }
         }
         public void Append(uint rank, uint amount, uint uid, string name, byte level = 0, byte Class = 0, uint mesh = 0, bool toper = false)
         {
             if (!toper)
             {
                 int offset = current * 80 + 24;
                 if (offset + 72 <= Buffer.Length)
                 {
                     current++;
                     Count = (uint)current;
                     WriteUInt32(rank, offset, Buffer); offset += 8;
                     WriteUInt32(amount, offset, Buffer); offset += 8;
                     WriteUInt32(uid, offset, Buffer); offset += 4;
                     WriteUInt32(uid, offset, Buffer); offset += 4;
                     WriteString(name, offset, Buffer); offset += 16;
                     WriteString(name, offset, Buffer); offset += 16;
                     WriteUInt32(level, offset, Buffer); offset += 4;
                     WriteUInt32(Class, offset, Buffer); offset += 4;
                     WriteUInt64(mesh, offset, Buffer); offset += 8;
                 }
             }
             else
             {
                 int offset = 24;
                 WriteUInt32(1, offset, Buffer); offset += 8;
                 WriteUInt32(amount, offset, Buffer); offset += 8;
                 WriteUInt32(80000000, offset, Buffer); offset += 4;
                 WriteUInt32(uid, offset, Buffer); offset += 4;
                 WriteString(name, offset, Buffer); offset += 16;
                 WriteString(name, offset, Buffer); offset += 16;
                 WriteUInt32(level, offset, Buffer); offset += 4;
                 WriteUInt32(Class, offset, Buffer); offset += 4;
                 WriteUInt64(mesh, offset, Buffer); offset += 8;
             }
         }
         public void Appendd(uint rank, uint amount, uint uid, string name, uint Type = 0, uint level = 0, uint Class = 0, uint face = 0)
         {
             int offset = current * 80 + 24;
             if (offset + 72 <= Buffer.Length)
             {
                 current++;
                 Count = (uint)current;
                 Writer.WriteUInt32(rank, offset, Buffer);
                 offset += 8;
                 Writer.WriteUInt32(amount, offset, Buffer);
                 offset += 8;
                 Writer.WriteUInt32(Type, offset, Buffer);
                 offset += 4;
                 Writer.WriteUInt32(uid, offset, Buffer);
                 offset += 4;
                 Writer.WriteString(name, offset, Buffer);
                 offset += 0x10;
                 Writer.WriteString(name, offset, Buffer);
                 offset += 0x10;
                 Writer.WriteUInt32(level, offset, Buffer);
                 offset += 4;
                 Writer.WriteUInt32(Class, offset, Buffer);
                 offset += 4;
                 Writer.WriteUInt32(face, offset, Buffer);
                 offset += 8;
             }
         }
         public void Append(uint amount, uint uid, string name, byte level = 0, byte Class = 0, uint mesh = 0)
         {
             int offset = current * 80 + 24;
             if (offset + 72 <= Buffer.Length)
             {
                 current++;
                 WriteUInt64(1, offset, Buffer); offset += 8;
                 WriteUInt64(amount, offset, Buffer); offset += 8;
                 WriteUInt32(80000000 + (uint)(current - 1), offset, Buffer); offset += 4;
                 WriteUInt32(uid, offset, Buffer); offset += 4;
                 WriteString(name, offset, Buffer); offset += 16;
                 WriteString(name, offset, Buffer); offset += 16;
                 WriteUInt32(level, offset, Buffer); offset += 4;
                 WriteUInt32(Class, offset, Buffer); offset += 4;
                 WriteUInt64(mesh, offset, Buffer); offset += 8;
             }
         }
         public void Append(uint rank, uint amount, uint uid, string name)
         {
             int offset = current * 80 + 24;
             if (offset + 72 <= Buffer.Length)
             {
                 current++;
                 Count = (uint)current;
                 Write(rank, offset, Buffer);
                 offset += 8;
                 Write(amount, offset, Buffer);
                 offset += 8;
                 Write(uid, offset, Buffer);
                 offset += 4;
                 Write(uid, offset, Buffer);
                 offset += 4;
                 Writer.Write(name, offset, Buffer);
                 offset += 16;
                 Writer.Write(name, offset, Buffer);
                 offset += 32;
             }
         }
         public void Append(uint rank, uint amount, uint uid, string name, byte level = 0, byte Class = 0, uint mesh = 0)
         {
             int offset = current * 80 + 24;
             if (offset + 72 <= Buffer.Length)
             {
                 current++;
                 Count = (uint)current;
                 WriteUInt32(rank, offset, Buffer); offset += 8;
                 WriteUInt32(amount, offset, Buffer); offset += 8;
                 WriteUInt32(uid, offset, Buffer); offset += 4;
                 WriteUInt32(uid, offset, Buffer); offset += 4;
                 Write(name, offset, Buffer); offset += 16;
                 Write(name, offset, Buffer); offset += 16;
                 WriteUInt32(level, offset, Buffer); offset += 4;
                 WriteUInt32(Class, offset, Buffer); offset += 4;
                 WriteUlong(mesh, offset, Buffer); offset += 4;
             }
         }
         public void Append(uint rank, uint amount, uint uid, string name, byte level, byte Class, uint mesh, uint RankID)
         {
             int offset = current * 80 + 24;
             if (offset + 72 <= Buffer.Length)
             {
                 current++;
                 Count = (uint)current;
                 WriteUInt32(rank, offset, Buffer); offset += 8;
                 WriteUInt32(amount, offset, Buffer); offset += 8;
                 WriteUInt32(RankID, offset, Buffer); offset += 4;
                 WriteUInt32(uid, offset, Buffer); offset += 4;
                 WriteString(name, offset, Buffer); offset += 16;
                 WriteString(name, offset, Buffer); offset += 16;
                 WriteUInt32(level, offset, Buffer); offset += 4;
                 WriteUInt32(Class, offset, Buffer); offset += 4;
                 WriteUlong(mesh, offset, Buffer); offset += 8;
             }
         }
         public void Reset()
         {
             current = 0;
         }
         public void Send(Client.GameState client)
         {
             client.Send(Buffer);
         }
         public byte[] ToArray()
         {
             return Buffer;
         }
         public void Deserialize(byte[] _buffer)
         {
             Buffer = _buffer;
             if (Count == 0)
             {
                 byte[] buffer = new byte[112];
                 Buffer.CopyTo(buffer, 0);
                 WriteUInt16(104, 0, buffer);
                 Buffer = buffer;
             }
         }
 
         public void Append2(uint rank, uint amount, uint uid, string name, byte level, ushort Class, uint mesh, bool Main = false)
         {
             int offset = current * 80 + 24;
             if (offset + 72 <= Buffer.Length)
             {
                 current++;
                 Count = (uint)current;
                 Write(rank, offset, Buffer);
                 offset += 8;
                 Write(amount, offset, Buffer);
                 offset += 8;
                 if (Main)
                     Write((80000000 + rank) - 1, offset, Buffer);
                 else
                     Write(uid, offset, Buffer);
                 offset += 4;
                 Write(uid, offset, Buffer);
                 offset += 4;
                 Writer.Write(name, offset, Buffer);
                 offset += 16;
                 Writer.Write(name, offset, Buffer);
                 offset += 16;
                 Writer.Write(level, offset, Buffer);
                 offset += 4;
                 Writer.Write(Class, offset, Buffer);
                 offset += 4;
                 Writer.Write(mesh, offset, Buffer);
                 offset += 8;
             }
         }
     }
 } 
 
		 
		
		 
	 
 مش تنسا دعوه حلوه كدا
 
سلاموزز
 
[/RIGHT]  
	 |