عرض مشاركة واحدة
قديم 07-15-2012, 03:10 PM   #1 (permalink)

Mr.Amr

عضو موقوف
 




 
Mr.Amr على طريق التميز

افتراضي اضافة سكيلات البيور كامله azure shield و soulshackle



بسم الله الرحمن الرحيم,,
اضافة سكيلات البيور كامله azure shield و soulshackle

اولا تفتح ملف handle.cs

ندور على الكود دا

كود PHP:
switch (spellID)
                            { 
ونحط تحتو دا
كود PHP:
                               
                                
#region Pure Skills
                                //SoulShackle
                                
case 10405:
                                    {
                                        if (
CanUseSpell(spell, attacker.Owner) && attacked.Dead)
                                        {
                                            
SpellUse suse = new SpellUse(true);
                                            
suse.Attacker = attacker.UID;
                                            
suse.SpellID = spell.ID;
                                            
suse.SpellLevel = spell.Level;
                                            
suse.Targets.Add(attacked.UID, 1);
                                            
attacked.ShackleStamp = Time32.Now;
                                            if (
attacked.Dead)
                                            {
                                                if (
attacker.Owner.Spells[SpellID].Level == 0)
                                                {
                                                    
attacked.ShackleTime = 30;
                                                }
                                                if (
attacker.Owner.Spells[SpellID].Level == 1)
                                                {
                                                    
attacked.ShackleTime = 45;
                                                }
                                                if (
attacker.Owner.Spells[SpellID].Level == 2)
                                                {
                                                    
attacked.ShackleTime = 60;
                                                }
                                                if (
attacker.Owner.Spells[SpellID].Level == 3)
                                                {
                                                    
attacked.ShackleTime = 75;
                                                }
                                                if (
attacker.Owner.Spells[SpellID].Level == 4)
                                                {
                                                    
attacked.ShackleTime = 90;
                                                }
                                              
//  attacked.AddFlag(18014398509481984);
                                                
attacked.AddFlag(Update.Flags.SoulShackle);
                                                
Update ud = new Update(true);
                                                
ud.SoulShackle(attacked,   attacked.SoulShackleTime, spell.Level, (byte)spell.Duration); 
                                                if (
attacked.EntityFlag == EntityFlag.Player)
                                                    
attacked.Owner.SendScreen(suse, true);
                                            }
                                        }
                                        
attacker.AttackPacket = null;
                                        break;
                                    }
                                
//AzureShield
                                
case 30000:
                                    {
                                        if (
attacked == null)
                                            return;
                                        if   (
ServerBase.Kernel.GetDistance(attacker.X, attacker.Y, attacked.X,   attacked.Y) <= spell.Distance)
                                        {
                                            if (
CanUseSpell(spell, attacker.Owner))
                                            {
                                                
PrepareSpell(spell, attacker.Owner);

                                                
SpellUse suse = new SpellUse(true);
                                                
suse.Attacker = attacker.UID;
                                                
suse.SpellID = spell.ID;
                                                
suse.SpellLevel = spell.Level;
                                                
suse.X = X;
                                                
suse.Y = Y;

                                                
suse.Targets.Add(attacked.UID, 0);
                                                
attacked.Owner.SendScreen(suse, true);
                                                
attacked.AzureStamp = Time32.Now;
                                                
attacked.AzureTime = (short)spell.Duration;
                                                
attacked.AzureDamage = spell.Power;
                                                
attacked.AddFlag(Update.Flags.AzureShield);
                                             
                                                
Update ud = new Update(true);
                                                
ud.AzureShield(attacked,   attacked.AzureDamage, spell.Level, (byte)spell.Duration);
                                            }
                                        }
                                        break;
                                    }
                               
                                
#endregion 
نفتح الملف دا Entinity.cs
ندور على الكود دا
كود PHP:
public ushort KOSpell = 0; 
ونضيف تحتو دا
كود PHP:
 public int AzureDamage = 0;
        public 
short SoulShackleTime = 0; 
ويعد كدا حتلاقى فوق دول
كود PHP:
 public int AzureDamage = 0;
        public 
short SoulShackleTime = 0; 
دى
كود PHP:
public short CycloneTime = 0, SupermanTime = 0, NoDrugsTime = 0,   FatalStrikeTime = 0,  Cannonbarage = 0, Blackbeard = 0,   ShurikenVortexTime = 0, OblivionTime = 0, 
تشيله وتحط دا
كود PHP:
 public short CycloneTime = 0, SupermanTime = 0, NoDrugsTime = 0,   FatalStrikeTime = 0,  Cannonbarage = 0, Blackbeard = 0,   ShurikenVortexTime = 0, OblivionTime = 0, ShackleTime = 0,   AzureTime; 
بعد كدا نفتح المسار دا Game/Enums.cs

ندور على دا
كود PHP:
EarthAura = 109, 
ونحط تحتو دا
كود PHP:
 SoulShackle = 110,
            
AzureShield = 92, 
وبعد كدا ندور على دا
كود PHP:
Serenity = 10400, 
ونحط تحتو دا
كود PHP:
            AzureShield = 30000,
            
SoulShackle = 10405, 
وبعد كدا نفتح ملف update.cs

وندور على دا
كود PHP:
Ride = 50, 
ونحط تحتو دا

كود PHP:
               AzureShield = 92,
                
SoulShackle = 110, 
وبعد كدا ندور على
كود PHP:
            WriteUInt64(value2, offset + 12, Buffer);
        } 
ونحط تحتو دا
كود PHP:
        public void SoulShackle(Conquer_Online_Server.Game.Entity Entity, int Dmg, byte SpellLevel, byte Time_)
        {
            
byte[] Buf = new byte[52 + 8];
            
WriteUInt16(52, 0, Buf);//Packet Lenght
            
WriteUInt16(10017, 2, Buf);//Status Packet Id
            
WriteUInt32(Entity.UID, 4, Buf);//Client Id
            
WriteUInt32(2, 8, Buf);// Switch
            
WriteUInt32(25, 12, Buf); // Status Effect Type
            
WriteUInt64((ulong)Entity.EntityFlag, 16, Buf);//Status flag 1
            
WriteUInt64((ulong)Entity.StatusFlag2, 24, Buf);//Status flag 2
            
WriteUInt32(54, 32, Buf); //StatusTypes.AzureShield
            
WriteUInt32(113, 36, Buf);//i guess Sybtype ,, 
            
WriteUInt32(Time_, 40, Buf);//Time duration for the effect
            
WriteUInt32((uint)Dmg, 44, Buf);//Damage Coused by the skill
            
WriteUInt32(SpellLevel, 48, Buf); //the SoulShackle Skill Level
            
if (Conquer_Online_Server.ServerBase.Kernel.GamePool.ContainsKey(Entity.UID))
            {
//3alashan ngeeb el client 
                
Client.GameState Cl = Conquer_Online_Server.ServerBase.Kernel.GamePool[Entity.UID];
                
Cl.Send(Buf);
            }
            
// wa lamma t7eb testad3eha ekteb bas el code dah ,,  Update ud = new Update(true);
            //ud.AzureShield(attacked, attacked.AzureDamage, spell.Level, (byte)spell.Duration);
        
}
        public 
void AzureShield(Conquer_Online_Server.Game.Entity Entity, int Dmg, byte SpellLevel, byte Time_)
        {
            
byte[] Buf = new byte[52 + 8];
            
WriteUInt16(52, 0, Buf);//Packet Lenght
            
WriteUInt16(10017, 2, Buf);//Status Packet Id
            
WriteUInt32(Entity.UID, 4, Buf);//Client Id
            
WriteUInt32(2, 8, Buf);// Switch
            
WriteUInt32(25, 12, Buf); // Status Effect Type
            
WriteUInt64((ulong)Entity.EntityFlag, 16, Buf);//Status flag 1
            
WriteUInt64((ulong)Entity.StatusFlag2, 24, Buf);//Status flag 2
            
WriteUInt32(49, 32, Buf); //StatusTypes.AzureShield
            
WriteUInt32(93, 36, Buf);//i guess Sybtype ,, 
            
WriteUInt32(Time_, 40, Buf);//Time duration for the effect
            
WriteUInt32((uint)Dmg, 44, Buf);//Damage Coused by the skill
            
WriteUInt32(SpellLevel, 48, Buf); //the Azure Skill Level
            
if (Conquer_Online_Server.ServerBase.Kernel.GamePool.ContainsKey(Entity.UID))
            {
//3alashan ngeeb el client 
                
Client.GameState Cl = Conquer_Online_Server.ServerBase.Kernel.GamePool[Entity.UID];
                
Cl.Send(Buf);
            }
            
// wa lamma t7eb testad3eha ekteb bas el code dah ,,  Update ud = new Update(true);
            //ud.AzureShield(attacked, attacked.AzureDamage, spell.Level, (byte)spell.Duration);
        
} 
وبعد كدا نحط دا تحت خالص
كود PHP:
        internal void AzureShield(int p, byte p_2, byte p_3)
        {
            throw new 
NotImplementedException();
        }
    }
} 
وبعد كدا نفتح program.cs
ندور على دا
كود PHP:
if (client.Entity.HandleTiming) 
ونحط تحتو دا
كود PHP:
                        #region SoulShackle
                        
if (client.Entity.ContainsFlag2(Network.GamePackets.Update.Flags2.SoulShackle))
                        {
                            if (
Now > client.Entity.ShackleStamp.AddSeconds(90))
                            {
                                
client.Entity.RemoveFlag2(Network.GamePackets.Update.Flags2.SoulShackle);
                                
client.Entity.RemoveFlag2(18014398509481984);
                            }
                        }
                        
#endregion 
وبعد كدا نرجع لملف update.cs

ندور على دا
كود PHP:
Top3SpouseYellow = 0x4000000, 
ونحط تحتو دا
كود PHP:
            AzureShield = 0x20000000,
            
AzureShieldFade = 0x40000000, 
وبكدا يبقى باقى النافى كات بس

كود PHP:
INSERT INTO `spells` VALUES ('10335', '30000', '0006',   'AzureShield', '0', '0', '0', '0001', '0001', '0123', '7500', '0000',   '0100', '0040', '0000', '0021', '0089', '0000', '1190', '0050', '0',   '0000', '0000', '0', '0000', '0', '0000', '0', '0030', '0', '0000',   '0000', '0000', '0001');
INSERT INTO `spells` VALUES ('10336', '30000', '0006', 'AzureShield',   '0', '0', '0', '0001', '0002', '0169', '8000', '0000', '0100', '0050',   '0000', '0022', '0089', '0000', '1442', '0070', '0', '0000', '0000',   '0', '0000', '0', '0000', '0', '0030', '0', '0000', '0000', '0000',   '0001');
INSERT INTO `spells` VALUES ('10337', '30000', '0006', 'AzureShield',   '0', '0', '0', '0001', '0003', '0280', '9500', '0000', '0100', '0050',   '0000', '0023', '0089', '0000', '1690', '0090', '0', '0000', '0000',   '0', '0000', '0', '0000', '0', '0030', '0', '0000', '0000', '0000',   '0001');
INSERT INTO `spells` VALUES ('10338', '30000', '0006', 'AzureShield',   '0', '0', '0', '0001', '0004', '0405', '12000', '0000', '0100', '0060',   '0000', '0025', '0089', '0000', '0', '0110', '0', '0000', '0000', '0',   '0000', '0', '0000', '0', '0030', '0', '0000', '0000', '0000',   '0001'); 
ودا كمان
كود PHP:
INSERT INTO `spells` VALUES ('10405', '10405', '0006',   'SoulShackle', '1', '0', '0', '0064', '0000', '0050', '0', '0000',   '0100', '0060', '0000', '0015', '0106', '0000', '720', '0090', '0',   '0000', '0000', '0', '0000', '0', '0000', '0', '0010', '0', '0000',   '0000', '0000', '0001');
INSERT INTO `spells` VALUES ('10406', '10405', '0006', 'SoulShackle',   '1', '0', '0', '0064', '0001', '0060', '0', '0000', '0100', '0090',   '0000', '0015', '0106', '0000', '860', '0100', '0', '0000', '0000',  '0',  '0000', '0', '0000', '0', '0010', '0', '0000', '0000', '0000',  '0001');
INSERT INTO `spells` VALUES ('10407', '10405', '0006', 'SoulShackle',   '1', '0', '0', '0064', '0002', '0075', '0', '0000', '0100', '0120',   '0000', '0015', '0106', '0000', '960', '0110', '0', '0000', '0000',  '0',  '0000', '0', '0000', '0', '0010', '0', '0000', '0000', '0000',  '0001');
INSERT INTO `spells` VALUES ('10408', '10405', '0006', 'SoulShackle',   '1', '0', '0', '0064', '0003', '0090', '0', '0000', '0100', '0150',   '0000', '0015', '0106', '0000', '1010', '0115', '0', '0000', '0000',   '0', '0000', '0', '0000', '0', '0010', '0', '0000', '0000', '0000',   '0001');
INSERT INTO `spells` VALUES ('10409', '10405', '0006', 'SoulShackle',   '1', '0', '0', '0064', '0004', '0100', '0', '0000', '0100', '0180',   '0000', '0015', '0106', '0000', '0', '0120', '0', '0000', '0000', '0',   '0000', '0', '0000', '0', '0010', '0', '0000', '0000', '0000',   '0001'); 
تحياتى للجميع





Mr.Amr غير متواجد حالياً   رد مع اقتباس