منتدي اكواد

منتدي اكواد (https://code.vpscairo.com/index.php)
-   تطوير سيرفرات كونكر (https://code.vpscairo.com/forumdisplay.php?f=11)
-   -   حل مشكلة رنك البرفكشن (https://code.vpscairo.com/showthread.php?t=3970)

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 WriterInterfaces.IPacket
    
{
        public 
void AppendP(uint rankuint amountuint uidstring nameuint lvluint clasuint pho)
        {
            
int offset current 80 24;
            if (
offset 72 <= Buffer.Length)
            {
                
current++;
                
Count = (uint)current;
                
WriteUInt32(rankoffsetBuffer); offset += 8;
                
WriteUInt32(amountoffsetBuffer); offset += 8;
                
WriteUInt32(uidoffsetBuffer); offset += 4;
                
WriteUInt32(uidoffsetBuffer); offset += 4;
                
WriteString(nameoffsetBuffer); offset += 16;
                
WriteString(nameoffsetBuffer); offset += 16;
                
WriteUInt32(lvloffsetBuffer); offset += 4;
                
WriteUInt32(clasoffsetBuffer); offset += 4;
                
WriteUInt32(phooffsetBuffer);
            }
        }
        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 Createuint entries 1)
        {
            if (
Create)
            {
                
Buffer = new byte[744 16];
                
Writer.Write(Buffer.Length 80Buffer);
                
Writer.Write(11512Buffer);
            }
        }
        public 
uint Mode
        
{
            
get { return BitConverter.ToUInt32(Buffer4); }
            
set WriteUInt32(value4Buffer); }
        }
        public 
uint RankingType
        
{
            
get { return BitConverter.ToUInt32(Buffer8); }
            
set WriteUInt32(value8Buffer); }
        }
        public 
ushort RegisteredCount
        
{
            
get { return BitConverter.ToUInt16(Buffer12); }
            
set WriteUInt16(value12Buffer); }
        }
        public 
ushort Page
        
{
            
get { return BitConverter.ToUInt16(Buffer14); }
            
set WriteUInt16(value14Buffer); }
        }
        public 
uint Count
        
{
            
get { return BitConverter.ToUInt32(Buffer16); }
            
set WriteUInt32(value16Buffer); }
        }
        public 
void Append(uint rankuint amountuint uidstring namebyte level 0byte Class = 0uint mesh 0bool toper false)
        {
            if (!
toper)
            {
                
int offset current 80 24;
                if (
offset 72 <= Buffer.Length)
                {
                    
current++;
                    
Count = (uint)current;
                    
WriteUInt32(rankoffsetBuffer); offset += 8;
                    
WriteUInt32(amountoffsetBuffer); offset += 8;
                    
WriteUInt32(uidoffsetBuffer); offset += 4;
                    
WriteUInt32(uidoffsetBuffer); offset += 4;
                    
WriteString(nameoffsetBuffer); offset += 16;
                    
WriteString(nameoffsetBuffer); offset += 16;
                    
WriteUInt32(leveloffsetBuffer); offset += 4;
                    
WriteUInt32(Class, offsetBuffer); offset += 4;
                    
WriteUInt64(meshoffsetBuffer); offset += 8;
                }
            }
            else
            {
                
int offset 24;
                
WriteUInt32(1offsetBuffer); offset += 8;
                
WriteUInt32(amountoffsetBuffer); offset += 8;
                
WriteUInt32(80000000offsetBuffer); offset += 4;
                
WriteUInt32(uidoffsetBuffer); offset += 4;
                
WriteString(nameoffsetBuffer); offset += 16;
                
WriteString(nameoffsetBuffer); offset += 16;
                
WriteUInt32(leveloffsetBuffer); offset += 4;
                
WriteUInt32(Class, offsetBuffer); offset += 4;
                
WriteUInt64(meshoffsetBuffer); offset += 8;
            }
        }
        public 
void Appendd(uint rankuint amountuint uidstring nameuint Type 0uint level 0uint Class = 0uint face 0)
        {
            
int offset current 80 24;
            if (
offset 72 <= Buffer.Length)
            {
                
current++;
                
Count = (uint)current;
                
Writer.WriteUInt32(rankoffsetBuffer);
                
offset += 8;
                
Writer.WriteUInt32(amountoffsetBuffer);
                
offset += 8;
                
Writer.WriteUInt32(TypeoffsetBuffer);
                
offset += 4;
                
Writer.WriteUInt32(uidoffsetBuffer);
                
offset += 4;
                
Writer.WriteString(nameoffsetBuffer);
                
offset += 0x10;
                
Writer.WriteString(nameoffsetBuffer);
                
offset += 0x10;
                
Writer.WriteUInt32(leveloffsetBuffer);
                
offset += 4;
                
Writer.WriteUInt32(Class, offsetBuffer);
                
offset += 4;
                
Writer.WriteUInt32(faceoffsetBuffer);
                
offset += 8;
            }
        }
        public 
void Append(uint amountuint uidstring namebyte level 0byte Class = 0uint mesh 0)
        {
            
int offset current 80 24;
            if (
offset 72 <= Buffer.Length)
            {
                
current++;
                
WriteUInt64(1offsetBuffer); offset += 8;
                
WriteUInt64(amountoffsetBuffer); offset += 8;
                
WriteUInt32(80000000 + (uint)(current 1), offsetBuffer); offset += 4;
                
WriteUInt32(uidoffsetBuffer); offset += 4;
                
WriteString(nameoffsetBuffer); offset += 16;
                
WriteString(nameoffsetBuffer); offset += 16;
                
WriteUInt32(leveloffsetBuffer); offset += 4;
                
WriteUInt32(Class, offsetBuffer); offset += 4;
                
WriteUInt64(meshoffsetBuffer); offset += 8;
            }
        }
        public 
void Append(uint rankuint amountuint uidstring name)
        {
            
int offset current 80 24;
            if (
offset 72 <= Buffer.Length)
            {
                
current++;
                
Count = (uint)current;
                
Write(rankoffsetBuffer);
                
offset += 8;
                
Write(amountoffsetBuffer);
                
offset += 8;
                
Write(uidoffsetBuffer);
                
offset += 4;
                
Write(uidoffsetBuffer);
                
offset += 4;
                
Writer.Write(nameoffsetBuffer);
                
offset += 16;
                
Writer.Write(nameoffsetBuffer);
                
offset += 32;
            }
        }
        public 
void Append(uint rankuint amountuint uidstring namebyte level 0byte Class = 0uint mesh 0)
        {
            
int offset current 80 24;
            if (
offset 72 <= Buffer.Length)
            {
                
current++;
                
Count = (uint)current;
                
WriteUInt32(rankoffsetBuffer); offset += 8;
                
WriteUInt32(amountoffsetBuffer); offset += 8;
                
WriteUInt32(uidoffsetBuffer); offset += 4;
                
WriteUInt32(uidoffsetBuffer); offset += 4;
                
Write(nameoffsetBuffer); offset += 16;
                
Write(nameoffsetBuffer); offset += 16;
                
WriteUInt32(leveloffsetBuffer); offset += 4;
                
WriteUInt32(Class, offsetBuffer); offset += 4;
                
WriteUlong(meshoffsetBuffer); offset += 4;
            }
        }
        public 
void Append(uint rankuint amountuint uidstring namebyte levelbyte Class, uint meshuint RankID)
        {
            
int offset current 80 24;
            if (
offset 72 <= Buffer.Length)
            {
                
current++;
                
Count = (uint)current;
                
WriteUInt32(rankoffsetBuffer); offset += 8;
                
WriteUInt32(amountoffsetBuffer); offset += 8;
                
WriteUInt32(RankIDoffsetBuffer); offset += 4;
                
WriteUInt32(uidoffsetBuffer); offset += 4;
                
WriteString(nameoffsetBuffer); offset += 16;
                
WriteString(nameoffsetBuffer); offset += 16;
                
WriteUInt32(leveloffsetBuffer); offset += 4;
                
WriteUInt32(Class, offsetBuffer); offset += 4;
                
WriteUlong(meshoffsetBuffer); 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(buffer0);
                
WriteUInt16(1040buffer);
                
Buffer buffer;
            }
        }

        public 
void Append2(uint rankuint amountuint uidstring namebyte levelushort Class, uint meshbool Main false)
        {
            
int offset current 80 24;
            if (
offset 72 <= Buffer.Length)
            {
                
current++;
                
Count = (uint)current;
                
Write(rankoffsetBuffer);
                
offset += 8;
                
Write(amountoffsetBuffer);
                
offset += 8;
                if (
Main)
                    
Write((80000000 rank) - 1offsetBuffer);
                else
                    
Write(uidoffsetBuffer);
                
offset += 4;
                
Write(uidoffsetBuffer);
                
offset += 4;
                
Writer.Write(nameoffsetBuffer);
                
offset += 16;
                
Writer.Write(nameoffsetBuffer);
                
offset += 16;
                
Writer.Write(leveloffsetBuffer);
                
offset += 4;
                
Writer.Write(Class, offsetBuffer);
                
offset += 4;
                
Writer.Write(meshoffsetBuffer);
                
offset += 8;
            }
        }
    }


مش تنسا دعوه حلوه كدا


سلاموزز


[/RIGHT]


الساعة الآن 11:37 PM

مرحبا بكم في منتدي اكواد لتطوير الالعاب