عرض مشاركة واحدة
قديم 2020-07-31, 04:52 PM
المشاركة 9
Ahmed Mosalam
.:: عضو نشيط ::.
  • غير متواجد
افتراضي رد: مشكلتين بساط في سورس PlayConquer 2D محتاج مساعدة فيهم
اولا بلاش اللغه المعاقه الى بتكتب بيها ده لاما تكتب انجليزى بالكامل لاما عربى انما الهبد ده ما بحبهاش وبضايق منها حضرتك باكت 1040 الى هو كلاس WindowsStats ؟ شوفت سهله ازاى وباكت 1006 الى هو CharacterInfo شوفت سهله ازاى بصراحه مستغرب ازاى ما لقتيش !!!
أولا انا كتبت باللغة المعاقة ديه عشان مكنتش لسا معرب الكيبورد , ثانيا اذا كنت حضرتك هستاعدني فا ساعدني , لكن متحسسنيش انك بتتفضل عليا عشان بتديني معلومة يمكن انا معرفهاش , اللي انت شايفة بالنسبالك ممكن يكون صعب بالنسبة لغيرك , فا بدل متحسس الي قدامك بجهله , خليك انت احسن و اشرحله .

دلوقتي انا لقيت ال CharacterInfo packet و لقيت ال Window stats و مش عارف الغلط فيين لان الOffset شكله صح مش غلط , فا لو حضرتك هتقدر تساعد هكون شاكر , مش هتقدر يبقي كتر خيرك علي وقتك و مجهودك


كود:
using System;

namespace 
PlayConquer.Network.GamePackets
{
    public class 
CharacterInfo : Writer, Interfaces.IPacket
    
{
        
Client.GameState client;
        public 
CharacterInfo(Client.GameState _client)
        {
            
client = _client;
        }
        public 
void Deserialize(byte[] buffer)
        {
            throw new 
NotImplementedException();
        }
        public 
byte[] ToArray()
        {
            
byte[] Packet = new byte[144 + client.Entity.Spouse.Length + client.Entity.Name.Length + 8];
            
WriteUInt16((ushort)(Packet.Length - 8), 0, Packet);
            
WriteUInt16(1006, 2, Packet);
            
WriteUInt32((uint)Time32.timeGetTime().GetHashCode(), 4, Packet);
            
WriteUInt32(client.Entity.UID, 8, Packet);
            
WriteUInt32(client.Entity.Mesh, 14, Packet);
            
WriteUInt16(client.Entity.HairStyle, 18, Packet);
            
Write(client.Entity.Money, 20, Packet);
            
Write(client.Entity.ConquerPoints, 28, Packet);
            
Writer.Write(client.Entity.Experience, 32, Packet);
            
Writer.Write(client.Entity.Strength, 60, Packet);
            
Writer.Write(client.Entity.Agility, 62, Packet);
            
Writer.Write(client.Entity.Vitality, 64, Packet);
            
Writer.Write(client.Entity.Spirit, 66, Packet);
            
Writer.Write(client.Entity.Atributes, 68, Packet);
            
Write(client.Entity.Hitpoints, 70, Packet);
            
Writer.Write(client.Entity.Mana, 74, Packet);
            
Writer.Write(client.Entity.PKPoints, 72, Packet);
            
Packet[78] = client.Entity.Level;
            
Packet[79] = client.Entity.Class;
            
Packet[80] = client.Entity.FirstRebornClass;
            
Packet[81] = client.Entity.SecondRebornClass;
            
Packet[83] = client.Entity.Reborn;
            
Writer.Write(client.Entity.Windwalker, 89, Packet);
            
Writer.Write((ushort)(client.Entity.EnlightenPoints * 100), 93, Packet);
            
Write(client.Entity.BoundCps, 107, Packet);
            
Write(client.Entity.SubClasses.Active, 111, Packet);
            
Write(client.Entity.SubClasses.GetHashPoint(), 112, Packet);
            
Writer.Write((UInt16)client.Entity.MyTitle, 103, Packet);
            
Writer.Write((ushort)client.Entity.CountryID, 124, Packet);
            
Writer.Write(3, 130 + 8, Packet);
            
Packet[139] = (byte)client.Entity.Name.Length;
            
Writer.Write(client.Entity.Name, 140, Packet);
            
Writer.Write((byte)client.Entity.Spouse.Length, 141 + client.Entity.Name.Length, Packet);
            
Writer.Write(client.Entity.Spouse, 142 + client.Entity.Name.Length, Packet);
            return 
Packet;
        }
        public 
void Send(Client.GameState client)
        {
            
client.Send(ToArray());
        }
    }
} 


كود:
using System;
using PlayConquer;
using PlayConquer.Client;
using PlayConquer.Network;

namespace 
PlayConquer.Network.GamePackets
{
    public class 
WindowsStats : Writer, Interfaces.IPacket
    
{
        
byte[] array;
        public 
WindowsStats(Client.GameState client)
        {
            array = new 
Byte[144 + 8];
            
Writer.Write((UInt16)(array.Length - 8), 0, array);
            
Writer.Write((UInt16)1040, 2, array);
            
Writer.Write((UInt32)Time32.timeGetTime().GetHashCode(), 4, array);
            
Writer.Write(client.Entity.UID, 8, array);
            
Writer.Write(client.Entity.MaxHitpoints, 12, array);
            
Writer.Write((UInt32)client.Entity.MaxMana, 16, array);
            
Writer.Write((UInt32)client.Entity.MaxAttack, 20, array);
            
Writer.Write((UInt32)client.Entity.MinAttack, 24, array);
            
Writer.Write((UInt32)client.Entity.Defence, 28, array);
            
Writer.Write((UInt32)client.Entity.MagicAttack, 32, array);
            
Writer.Write((UInt32)client.Entity.MagicDefence, 36, array);
            
Writer.Write((UInt32)client.Entity.Dodge, 40, array);
            
Writer.Write((UInt32)client.Entity.Agility + client.Entity.HitRate, 44, array);
            
Writer.Write((UInt32)(client.Entity.Accuracy), 48, array);
            
Writer.Write((UInt32)(client.Entity.Gems[1]), 52, array);
            
Writer.Write((UInt32)(client.Entity.Gems[0]), 56, array);
            
Writer.Write((UInt32)(client.Entity.MagicDefencePercent), 60, array);
            
Writer.Write((UInt32)(client.Entity.Gems[7]), 64, array);
            
Writer.Write((UInt32)((1 - client.Entity.ItemBless) * 100), 68, array);
            
Writer.Write((UInt32)client.Entity.CriticalStrike, 72, array);
            
Writer.Write((UInt32)client.Entity.SkillCStrike, 76, array);
            
Writer.Write((UInt32)client.Entity.Immunity, 80, array);
            
Writer.Write((UInt32)client.Entity.Penetration, 84, array);
            
Writer.Write((UInt32)client.Entity.Block, 88, array);
            
Writer.Write((UInt32)client.Entity.Breaktrough, 92, array);
            
Writer.Write((UInt32)client.Entity.Counteraction, 96, array);
            
Writer.Write((UInt32)client.Entity.Detoxication, 100, array);
            
Writer.Write((UInt32)client.Entity.PhysicalDamageIncrease, 104, array);
            
Writer.Write((UInt32)client.Entity.MagicDamageIncrease, 108, array);
            
Writer.Write((UInt32)client.Entity.PhysicalDamageDecrease, 112, array);
            
Writer.Write((UInt32)client.Entity.MagicDamageDecrease, 116, array);
            
Writer.Write((UInt32)client.Entity.MetalResistance, 120, array);
            
Writer.Write((UInt32)client.Entity.WoodResistance, 124, array);
            
Writer.Write((UInt32)client.Entity.WaterResistance, 128, array);
            
Writer.Write((UInt32)client.Entity.FireResistance, 132, array);
            
Writer.Write((UInt32)client.Entity.EarthResistance, 136, array);
            
Writer.Write((UInt16)client.Equipment.TotalStars, 140, array);
        }
        public 
void Send(Client.GameState client)
        {
            
client.Send(array);
        }

        public 
byte[] ToArray()
        {
            return array;
        }

        public 
void Deserialize(byte[] buffer)
        {
            array = 
buffer;
        }
    }

}