شرح اضافة ابيك الورير الجديد واسكلاتة كاملة Epic Warrior Full Add

بسم الله الرحمن الرحيم

الموضوع بيتكلم عن اضافة سلاح ابيك الورير واسكلاتة كاملة طبعا هوا نازل من فترة بس اتأخرنة عشان ننزل الاضافة كاملة على بعضها بدل ما انزل كل شية اسكلة وهكذا

قبل ما نخوش على الشرح اللى ضايف اى حاجة قبل كيدا يمسحها عشان هيضيف بتعاتنا على اضافات تانية هيعوك ومش هتشتغل وهيجبله ارور نبدأ الشرح

اول حاجة هنضيف الانبسى سى بتاع الورير

#region WarriorGod
                            case 10001:
                                {
                                    //ShaDow
                                    dialog.Avatar(8);
                                    switch (npcRequest.OptionID)
                                    {
                                        case 0:
                                            {
                                                if (client.Entity.Class >= 20 && client.Entity.Class <= 25)
                                                {
                                                    dialog.Text("Warriors destory the enemies and sgield the Compatriots. but remember violence is a means of attaining a goal. Never let yourself sink into killing [ShaDow-Co].");
                                                    dialog.Option("Learn Skills for Fist.", 7);
                                                    dialog.Option("Promote me.", 1);
                                                    dialog.Option("Learn Shiled skills.", 2);
                                                    dialog.Option("Learn Weapon skills.", 8);
                                                    dialog.Option("Learn Pure skills.", 17);
                                                    dialog.Option("Wait a minute.", 255);
                                                    dialog.Send();
                                                }
                                                else
                                                {
                                                    dialog.Text("Only a warrior can learn what I have to teach. Our secrets are not for trade.");
                                                    dialog.Option("I~understand.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        #region Promote
                                        case 1:
                                            {
                                                if (client.Entity.Class >= 20 && client.Entity.Class <= 25)
                                                {
                                                    if (client.Entity.Class == 25)
                                                    {
                                                        dialog.Text("You cannot be promoted anymore. You have mastered your class.");
                                                        dialog.Option("Thank you master.", 255);
                                                        dialog.Send();
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("To promote now you need" + client.PromoteItemNameNeed + " level " + client.PromoteLevelNeed + ".");
                                                        dialog.Option("Promote me sir.", 3);
                                                        dialog.Send();
                                                    }
                                                }
                                                else
                                                {
                                                    dialog.Text("I will not tell any of the warrior secrets to another class, so, good bye.");
                                                    dialog.Option("Alright.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        case 3:
                                            {
                                                if (client.Entity.Class >= 20 && client.Entity.Class <= 25)
                                                {
                                                    if (client.Entity.Class == 25)
                                                    {
                                                        dialog.Text("You cannot be promoted anymore. You have mastered your class.");
                                                        dialog.Option("Thank you master.", 255);
                                                        dialog.Send();
                                                    }
                                                    else
                                                    {
                                                        if (client.PromoteItemNeed == 721020)
                                                        {
                                                            if (client.Inventory.Remove("moonbox"))
                                                            {
                                                                client.Inventory.Add(client.PromoteItemGain, 0, 1);
                                                                client.Entity.Class++;
                                                                client.Entity.Update(_String.Effect, "end_task", true);
                                                                dialog.Text("Congratulations! You have been promoted.");
                                                                dialog.Option("Thank you master.", 255);
                                                                dialog.Send();
                                                            }
                                                            else
                                                            {
                                                                dialog.Text("You don't meet the requierments.");
                                                                dialog.Option("Ahh.", 255);
                                                                dialog.Send();
                                                            }
                                                            return;
                                                        }
                                                        if (client.Inventory.Contains(client.PromoteItemNeed, client.PromoteItemCountNeed) && client.Entity.Level >= client.PromoteLevelNeed)
                                                        {
                                                            client.Inventory.Remove(client.PromoteItemNeed, client.PromoteItemCountNeed);
                                                            client.Inventory.Add(client.PromoteItemGain, 0, 1);
                                                            client.Entity.Class++;
                                                            client.Entity.Update(_String.Effect, "end_task", true);
                                                            dialog.Text("Congratulations! You have been promoted.");
                                                            dialog.Option("Thank you master.", 255);
                                                            dialog.Send();
                                                        }
                                                        else
                                                        {
                                                            dialog.Text("You don't meet the requierments.");
                                                            dialog.Option("Ahh.", 255);
                                                            dialog.Send();
                                                        }
                                                    }
                                                }
                                                else
                                                {
                                                    dialog.Text("I will not tell any of the warrior secrets to another class, so, good bye.");
                                                    dialog.Option("Alright.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region all Skills
                                        case 2:
                                            {
                                                if (client.Entity.Class >= 20 && client.Entity.Class <= 25)
                                                {
                                                    dialog.Text("Let me know what you want to learn.");
                                                    dialog.Option("XP Skills (Lvl 40).", 5);
                                                    dialog.Option("Dash (Lvl 61).", 6);
                                                    dialog.Option("Shield Block (Lvl 40).", 9);
                                                    dialog.Option("Defensive Stance (Lvl 70).", 10);
                                                    dialog.Option("Magic Defender (Lvl 40).", 11);
                                                    dialog.Send();
                                                }
                                                else
                                                {
                                                    dialog.Text("I will not tell any of the warrior secrets to another class, so, good bye.");
                                                    dialog.Option("Alright.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        case 7:
                                            {
                                                if (client.Entity.Class >= 20 && client.Entity.Class <= 25)
                                                {
                                                    dialog.Text("If You`r interested in the skills for fist. I`m glad to give some guidance.");
                                                    dialog.Option("Sceare of Earth. (Lv.40).", 77);
                                                    dialog.Option("Wave or Blood (Lv.40).", 88);
                                                    dialog.Option("Maniac Dance.(Lv.40).", 99);
                                                    dialog.Option("Twist of war.(Lv.70).", 55);
                                                    dialog.Option("Backfire (Lvl 40).", 66);
                                                    dialog.Send();
                                                }
                                                else
                                                {
                                                    dialog.Text("I will not tell any of the warrior secrets to another class, so, good bye.");
                                                    dialog.Option("Alright.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        #region Sceare
                                        case 77:
                                            {
                                                if (client.Entity.Class >= 20 && client.Entity.Class <= 25)
                                                {
                                                    if (client.Entity.Level >= 40)
                                                    {
                                                        dialog.Text("You have learned the Sceare of Earth of this Fist.");
                                                        dialog.Option("Thank you master.", 255);
                                                        dialog.Send();
                                                        client.AddSpell(LearnableSpell(12670));
                                                        if (!client.AddSpell(LearnableSpell(12670)))
                                                        {
                                                            dialog.Text("You already know this skill.");
                                                            dialog.Option("Thank you master.", 255);
                                                            dialog.Send();
                                                        }
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("Sorry , you can't get Sceare of Earth because you are not level 40 or more.");
                                                        dialog.Option("Alright.", 255);
                                                        dialog.Send();
                                                    }
                                                }
                                                else
                                                {
                                                    dialog.Text("I will not tell any of the Warrior secrets to another class, so, good bye.");
                                                    dialog.Option("Alright.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region Wave or Blood
                                        case 88:
                                            {
                                                if (client.Entity.Class >= 20 && client.Entity.Class <= 25)
                                                {
                                                    if (client.Entity.Level >= 70)
                                                    {
                                                        dialog.Text("You have learned the Wave or Blood of this class.");
                                                        dialog.Option("Thank you master.", 255);
                                                        dialog.Send();
                                                        client.AddSpell(LearnableSpell(12690));
                                                        if (!client.AddSpell(LearnableSpell(12690)))
                                                        {
                                                            dialog.Text("You already know this skill.");
                                                            dialog.Option("Thank you master.", 255);
                                                            dialog.Send();

                                                        }
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("Sorry , you can't get Wave or Blood because you are not level 40 or more.");
                                                        dialog.Option("Alright.", 255);
                                                        dialog.Send();
                                                    }
                                                }
                                                else
                                                {
                                                    dialog.Text("I will not tell any of the Warrior secrets to another class, so, good bye.");
                                                    dialog.Option("Alright.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region Maniac Dance
                                        case 99:
                                            {
                                                if (client.Entity.Class >= 20 && client.Entity.Class <= 25)
                                                {
                                                    if (client.Entity.Level >= 40)
                                                    {
                                                        dialog.Text("You have learned the Maniac Dance of this class.");
                                                        dialog.Option("Thank you master.", 255);
                                                        dialog.Send();
                                                        client.AddSpell(LearnableSpell(12700));
                                                        if (!client.AddSpell(LearnableSpell(12700)))
                                                        {
                                                            dialog.Text("You already know this skill.");
                                                            dialog.Option("Thank you master.", 255);
                                                            dialog.Send();

                                                        }
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("Sorry , you can't get Maniac Dance because you are not level 40 or more.");
                                                        dialog.Option("Alright.", 255);
                                                        dialog.Send();
                                                    }
                                                }
                                                else
                                                {
                                                    dialog.Text("I will not tell any of the Warrior secrets to another class, so, good bye.");
                                                    dialog.Option("Alright.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region Twist of war
                                        case 55:
                                            {
                                                if (client.Entity.Class >= 20 && client.Entity.Class <= 25)
                                                {
                                                    if (client.Entity.Level >= 70)
                                                    {
                                                        dialog.Text("You have learned the Twist of war of this class.");
                                                        dialog.Option("Thank you master.", 255);
                                                        dialog.Send();
                                                        client.AddSpell(LearnableSpell(12660));
                                                        if (!client.AddSpell(LearnableSpell(12660)))
                                                        {
                                                            dialog.Text("You already know this skill.");
                                                            dialog.Option("Thank you master.", 255);
                                                            dialog.Send();

                                                        }
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("Sorry , you can't get Twist of war because you are not level 40 or more.");
                                                        dialog.Option("Alright.", 255);
                                                        dialog.Send();
                                                    }
                                                }
                                                else
                                                {
                                                    dialog.Text("I will not tell any of the Warrior secrets to another class, so, good bye.");
                                                    dialog.Option("Alright.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        #endregion
                                        #region Back Fire
                                        case 66:
                                            {
                                                if (client.Entity.Class >= 20 && client.Entity.Class <= 25)
                                                {
                                                    if (client.Entity.Level >= 61)
                                                    {
                                                        dialog.Text("You have learned the Twist of war Skill of this class.");
                                                        dialog.Option("Thank you master.", 255);
                                                        dialog.Send();
                                                        client.AddSpell(LearnableSpell(12680));
                                                        if (!client.AddSpell(LearnableSpell(12680)))
                                                        {
                                                            dialog.Text("You already know this skill.");
                                                            dialog.Option("Thank you master.", 255);
                                                            dialog.Send();
                                                        }
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("You need to be level 61 or more.");
                                                        dialog.Option("Alright.", 255);
                                                        dialog.Send();
                                                    }
                                                }
                                                else
                                                {
                                                    dialog.Text("I will not tell any of the warrior secrets to another class, so, good bye.");
                                                    dialog.Option("Alright.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        #endregion
                                        case 8:
                                            {
                                                if (client.Entity.Class >= 20 && client.Entity.Class <= 25)
                                                {
                                                    if (client.Entity.Level >= 40)
                                                    {
                                                        dialog.Text("You have learned the Fast/Sceand of this class.");
                                                        dialog.Option("Thank you master.", 255);
                                                        dialog.Send();
                                                        client.AddSpell(LearnableSpell(1045));
                                                        client.AddSpell(LearnableSpell(1046));
                                                        if (!client.AddSpell(LearnableSpell(1045)))
                                                            if (!client.AddSpell(LearnableSpell(1046)))
                                                            {
                                                                dialog.Text("You already know this skill.");
                                                                dialog.Option("Thank you master.", 255);
                                                                dialog.Send();
                                                            }
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("Sorry , you can't get Fast/Sceand because you are not level 40 or more.");
                                                        dialog.Option("Alright.", 255);
                                                        dialog.Send();
                                                    }
                                                }
                                                else
                                                {
                                                    dialog.Text("I will not tell any of the Warrior secrets to another class, so, good bye.");
                                                    dialog.Option("Alright.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        case 17:
                                            {
                                                if (client.Entity.Class >= 20 && client.Entity.Class <= 25)
                                                {
                                                    if (client.Entity.Level >= 40)
                                                    {
                                                        dialog.Text("You have learned the Perseverance of this class.");
                                                        dialog.Option("Thank you master.", 255);
                                                        dialog.Send();
                                                        client.AddSpell(LearnableSpell(10311));
                                                        if (!client.AddSpell(LearnableSpell(10311)))
                                                        {
                                                            dialog.Text("You already know this skill.");
                                                            dialog.Option("Thank you master.", 255);
                                                            dialog.Send();
                                                        }
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("Sorry , you can't get Perseverance because you are not level 40 or more.");
                                                        dialog.Option("Alright.", 255);
                                                        dialog.Send();
                                                    }
                                                }
                                                else
                                                {
                                                    dialog.Text("I will not tell any of the Warrior secrets to another class, so, good bye.");
                                                    dialog.Option("Alright.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        case 11:
                                            {
                                                if (client.Entity.Class >= 20 && client.Entity.Class <= 25)
                                                {
                                                    if (client.Entity.Level >= 40)
                                                    {
                                                        dialog.Text("You have learned the Magic Defender of this class.");
                                                        dialog.Option("Thank you master.", 255);
                                                        dialog.Send();
                                                        client.AddSpell(LearnableSpell(11200));
                                                        if (!client.AddSpell(LearnableSpell(11200)))
                                                        {
                                                            dialog.Text("You already know this skill.");
                                                            dialog.Option("Thank you master.", 255);
                                                            dialog.Send();
                                                        }
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("Sorry , you can't get Magic Defender because you are not level 40 or more.");
                                                        dialog.Option("Alright.", 255);
                                                        dialog.Send();
                                                    }
                                                }
                                                else
                                                {
                                                    dialog.Text("I will not tell any of the Warrior secrets to another class, so, good bye.");
                                                    dialog.Option("Alright.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        case 10:
                                            {
                                                if (client.Entity.Class >= 20 && client.Entity.Class <= 25)
                                                {
                                                    if (client.Entity.Level >= 70)
                                                    {
                                                        dialog.Text("You have learned the Defensive Stance of this class.");
                                                        dialog.Option("Thank you master.", 255);
                                                        dialog.Send();
                                                        client.AddSpell(LearnableSpell(11160));
                                                        if (!client.AddSpell(LearnableSpell(11160)))
                                                        {
                                                            dialog.Text("You already know this skill.");
                                                            dialog.Option("Thank you master.", 255);
                                                            dialog.Send();

                                                        }
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("Sorry , you can't get Defensive Stance because you are not level 40 or more.");
                                                        dialog.Option("Alright.", 255);
                                                        dialog.Send();
                                                    }
                                                }
                                                else
                                                {
                                                    dialog.Text("I will not tell any of the Warrior secrets to another class, so, good bye.");
                                                    dialog.Option("Alright.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        case 9:
                                            {
                                                if (client.Entity.Class >= 20 && client.Entity.Class <= 25)
                                                {
                                                    if (client.Entity.Level >= 40)
                                                    {
                                                        dialog.Text("You have learned the Shield Block of this class.");
                                                        dialog.Option("Thank you master.", 255);
                                                        dialog.Send();
                                                        client.AddSpell(LearnableSpell(10470));
                                                        if (!client.AddSpell(LearnableSpell(10470)))
                                                        {
                                                            dialog.Text("You already know this skill.");
                                                            dialog.Option("Thank you master.", 255);
                                                            dialog.Send();

                                                        }
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("Sorry , you can't get Shield Block because you are not level 40 or more.");
                                                        dialog.Option("Alright.", 255);
                                                        dialog.Send();
                                                    }
                                                }
                                                else
                                                {
                                                    dialog.Text("I will not tell any of the Warrior secrets to another class, so, good bye.");
                                                    dialog.Option("Alright.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        case 5:
                                            {
                                                if (client.Entity.Class >= 20 && client.Entity.Class <= 25)
                                                {
                                                    if (client.Entity.Level >= 40)
                                                    {
                                                        dialog.Text("You have learned the XP Skills of this class.");
                                                        dialog.Option("Thank you master.", 255);
                                                        dialog.Send();
                                                        client.AddSpell(LearnableSpell(1025));
                                                        client.AddSpell(LearnableSpell(1020));
                                                        client.AddSpell(LearnableSpell(1015));
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("You need to be level 40 or more.");
                                                        dialog.Option("Alright.", 255);
                                                        dialog.Send();
                                                    }
                                                }
                                                else
                                                {
                                                    dialog.Text("I will not tell any of the warrior secrets to another class, so, good bye.");
                                                    dialog.Option("Alright.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        case 6:
                                            {
                                                if (client.Entity.Class >= 20 && client.Entity.Class <= 25)
                                                {
                                                    if (client.Entity.Level >= 61)
                                                    {
                                                        dialog.Text("You have learned the Dash Skill of this class.");
                                                        dialog.Option("Thank you master.", 255);
                                                        dialog.Send();
                                                        client.AddSpell(LearnableSpell(1051));
                                                        if (!client.AddSpell(LearnableSpell(1051)))
                                                        {
                                                            dialog.Text("You already know this skill.");
                                                            dialog.Option("Thank you master.", 255);
                                                            dialog.Send();
                                                        }
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("You need to be level 61 or more.");
                                                        dialog.Option("Alright.", 255);
                                                        dialog.Send();
                                                    }
                                                }
                                                else
                                                {
                                                    dialog.Text("I will not tell any of the warrior secrets to another class, so, good bye.");
                                                    dialog.Option("Alright.", 255);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                        #endregion
                                    }
                                    break;
                                }
                            //ShaDow
                            #endregion

وطبعا هيكون فى كلاس الانبى سى 

بعد كيدا هتخوش على كلاس PacketHandler وهتبحث عن

return Positions.Right;

هضيف تحته الكود دا

if (iType == 624)  
                return Positions.Right;

فى نفس الكلاس بقى عشان السلاح الشمال هتبحث عن

return Positions.Left;

وهضيف تحته الكود دا

if (iType == 624)  
                return Positions.Left;

فى نفس الكلاس هتبحث عن

return ConquerItem.RightWeapon;

هضيف تحته الكود دا

if (iType == 624)  
                return ConquerItem.RightWeapon;

فى نفس المكان بردو هتبحث عن

return ConquerItem.LeftWeapon;

هضيف تحته دا

if (iType == 624)  
                return ConquerItem.LeftWeapon;

وبعدين هتفتح كلاس Entity هضيف الكود دا فى اى مكان فى الكلاس

public Time32 XpBlueStamp;
        public Time32 BackfireStamp;
        public Time32 ManiacDance;
        public byte XPCountTwist = 0;
        public bool EpicWarrior()
        {
            if (EntityFlag == Game.EntityFlag.Player)
            {
                var weapons = Owner.Weapons;
                if (weapons.Item1 != null)
                    if (weapons.Item1.ID / 1000 == 624)
                        return true;
                    else if (weapons.Item2 != null)
                        if (weapons.Item2.ID / 1000 == 624)
                            return true;
            }
            return false;
        }

مثلا تحت سطر زاى دا

public class Entity : Writer, Interfaces.IBaseEntity, Interfaces.IMapObject

وبعد كيدا هتروح لكلاس الباكت هندلر PacketHandler تانى وابحث

#region Sanity checks

وضيف دول تحته

if (client.Entity.Class >= 20 && client.Entity.Class <= 25)
                {
                    can2hand = true;
                    can2wpn = true;
                } 

بعد كيدا روح لكلاس Handle عشان الاسكلات وابحث

#region EpicMonk

وضيف تحته دا

#region ManiacDance
                                case 12700:
                                    {
                                        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;
                                            attacker.AddFlag3((ulong)1UL << 53);
                                            attacker.ManiacDance = Time32.Now;
                                            attacker.RemoveFlag(Update.Flags.Ride);
                                            attacker.Owner.SendScreen(suse, true);
                                        }
                                        break;
                                    }
                                #endregion 
                                #region Backfire
                                case 12680:
                                    {
                                        SpellUse spellUse = new SpellUse(true);
                                        spellUse.Attacker = attacker.UID;
                                        spellUse.Attacker1 = attacker.UID;
                                        spellUse.SpellID = spell.ID;
                                        spellUse.SpellLevel = spell.Level;
                                        spellUse.X = X;
                                        spellUse.Y = Y;
                                        spellUse.AddTarget(attacker, 1, attack);
                                        attacker.Owner.SendScreen(spellUse, true);
                                        if (attacker.ContainsFlag3((ulong)1UL << 51))
                                            attacker.RemoveFlag3((ulong)1UL << 51);
                                        else
                                            attacker.AddFlag3((ulong)1UL << 51);
                                        attacker.BackfireStamp = Time32.Now;
                                        break;
                                    }
                                #endregion

بعد كيدا افتح كلاس World وابحث

private void BuffersCallback

وضيف جواه الكود دا

 #region XpBlueStamp
            if (client.Entity.ContainsFlag3(Update.Flags3.WarriorEpicShield))
            {
                if (Time32.Now > client.Entity.XpBlueStamp.AddSeconds(33))
                {
                    client.Entity.ShieldIncrease = 0;
                    client.Entity.ShieldTime = 0;
                    client.Entity.MagicShieldIncrease = 0;
                    client.Entity.MagicShieldTime = 0;
                    client.Entity.RemoveFlag3(Update.Flags3.WarriorEpicShield);
                }
            }
            #endregion
            #region ManiacDance
            if (client.Entity.ContainsFlag3((ulong)1UL << 53))
            {
                if (Time32.Now > client.Entity.ManiacDance.AddSeconds(15))
                {
                    client.Entity.RemoveFlag3((ulong)1UL << 53);
                }
            }
            #endregion
            #region Backfire
            if (client.Entity.ContainsFlag3((ulong)1UL << 51))
            {
                if (Time32.Now > client.Entity.BackfireStamp.AddSeconds(8))
                {
                    if (client.Spells.ContainsKey(12680))
                    {
                        if (client.Entity.ContainsFlag3((ulong)1UL << 51))
                            client.Entity.RemoveFlag3((ulong)1UL << 51);
                    }
                    client.Entity.BackfireStamp = Time32.Now;
                }
            }
            #endregion

وافتح كلاس Entity وابحث 

public void Die(Entity killer)

وانزل لغاية الكود دا

 if (killer.EntityFlag == Game.EntityFlag.Player)
            {

وتحت القوس ضيف دول

f (ContainsFlag3((ulong)1UL << 53))
                    RemoveFlag3((ulong)1UL << 53);

وبعدين افتح كلاس Screen وابحث عن

#region Player

وانزل لغاية ما تلاقى الكود دا

if (distance <= monster.MonsterInfo.AttackRange)
                                            {

تحت القوس هضيف الكود دا

if (client.Entity.ContainsFlag3((ulong)1UL << 53))
                                                {
                                                    var attack = new Attack(true);
                                                    attack.Attacker = client.Entity.UID;
                                                    attack.AttackType = Attack.Melee;
                                                    var spell = Database.SpellTable.GetSpell(12700, client);
                                                    foreach (var obj1 in client.Screen.Objects)
                                                    {
                                                        if (Kernel.GetDistance(obj1.X, obj1.Y, obj.X, obj.Y) <= 8)
                                                        {
                                                            if (obj1.MapObjType == MapObjectType.Monster || obj1.MapObjType == MapObjectType.Player)
                                                            {
                                                                var attacked = obj1 as Entity;
                                                                if (Attacking.Handle.CanAttack(client.Entity, attacked, spell, false))
                                                                {
                                                                    uint damage = Game.Attacking.Calculate.Melee(client.Entity, attacked, spell, ref attack);
                                                                    damage = (damage * 100) / 100;
                                                                    attack.Damage = damage;
                                                                    attack.Attacked = attacked.UID;
                                                                    attack.X = attacked.X;
                                                                    attack.Y = attacked.Y;

                                                                    Attacking.Handle.ReceiveAttack(client.Entity, attacked, attack, ref damage, spell);
                                                                }
                                                            }
                                                            else if (obj1.MapObjType == MapObjectType.SobNpc)
                                                            {
                                                                var attacked = obj1 as SobNpcSpawn;
                                                                if (Attacking.Handle.CanAttack(client.Entity, attacked, spell))
                                                                {
                                                                    uint damage = Game.Attacking.Calculate.Melee(client.Entity, attacked, ref attack);
                                                                    damage = (damage * 100) / 100;

                                                                    attack.Damage = damage;
                                                                    attack.Attacked = attacked.UID;
                                                                    attack.X = attacked.X;
                                                                    attack.Y = attacked.Y;

                                                                    Attacking.Handle.ReceiveAttack(client.Entity, attacked, attack, damage, spell);
                                                                }
                                                            }
                                                        }
                                                    }
                                                }

وبعدين رح لكلاس Update وابحث عن

public class Flags3 {

هتلاقى تحت القوس عل طول الكود دا

public const ulong

ضيف تحته دا

WarriorEpicShield = 1UL << 55,

وبعدين روح ل كلاسPacketHandler تانى وابحث عن

static void Revive

وانزل لغاية ما تلاقى دا

bool ReviveHere = generalData.dwParam == 1;

وضيف دا تحته

if (client.Spells.ContainsKey(12660))
                {
                    client.XPCount = client.Entity.XPCountTwist;
                }

افتح النافى كات وافتح الكونصل وضيف دول واضغط انتر

INSERT INTO `spells` VALUES ('12660', '12660', '0006', 'TwistofWar', '0', '0', '2', '0000', '0000', '0000', '0', '0000', '0100', '0000', '0000', '0182', '0000', '0000', '0', '0000', '0', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12670', '12670', '0082', 'ScarofEarth', '1', '1', '1', '0008', '0000', '0000', '30195', '0005', '0030', '0003', '0005', '0180', '0000', '0000', '20243', '10000', '15', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12671', '12670', '0082', 'ScarofEarth', '1', '1', '1', '0008', '0001', '0000', '30200', '0005', '0031', '0003', '0005', '0180', '0000', '0000', '60000', '30000', '30', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12672', '12670', '0082', 'ScarofEarth', '1', '1', '1', '0008', '0002', '0000', '30205', '0005', '0032', '0003', '0005', '0180', '0000', '0000', '100000', '50000', '45', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12673', '12670', '0082', 'ScarofEarth', '1', '1', '1', '0008', '0003', '0000', '30210', '0005', '0033', '0003', '0005', '0180', '0000', '0000', '150000', '70000', '60', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12674', '12670', '0082', 'ScarofEarth', '1', '1', '1', '0008', '0004', '0000', '30215', '0005', '0034', '0003', '0005', '0180', '0000', '0000', '200000', '100000', '70', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12675', '12670', '0082', 'ScarofEarth', '1', '1', '1', '0008', '0005', '0000', '30220', '0005', '0035', '0003', '0005', '0180', '0000', '0000', '300000', '150000', '80', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12676', '12670', '0082', 'ScarofEarth', '1', '1', '1', '0008', '0006', '0000', '30225', '0005', '0036', '0003', '0005', '0180', '0000', '0000', '500000', '175000', '90', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12677', '12670', '0082', 'ScarofEarth', '1', '1', '1', '0008', '0007', '0000', '30230', '0005', '0037', '0003', '0005', '0180', '0000', '0000', '750000', '200000', '100', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12678', '12670', '0082', 'ScarofEarth', '1', '1', '1', '0008', '0008', '0000', '30240', '0005', '0038', '0003', '0005', '0180', '0000', '0000', '1000000', '250000', '110', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12679', '12670', '0082', 'ScarofEarth', '1', '1', '1', '0008', '0009', '0000', '30245', '0005', '0042', '0003', '0005', '0180', '0000', '0000', '0', '0000', '0', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12680', '12680', '0006', 'Backfire', '0', '0', '0', '0002', '0000', '0000', '55', '0000', '0100', '0010', '0000', '0000', '0179', '0000', '500', '3000', '60', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12681', '12680', '0006', 'Backfire', '0', '0', '0', '0002', '0001', '0000', '60', '0000', '0100', '0010', '0000', '0000', '0179', '0000', '1000', '6000', '70', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12682', '12680', '0006', 'Backfire', '0', '0', '0', '0002', '0002', '0000', '65', '0000', '0100', '0010', '0000', '0000', '0179', '0000', '10000', '10000', '80', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12683', '12680', '0006', 'Backfire', '0', '0', '0', '0002', '0003', '0000', '70', '0000', '0100', '0010', '0000', '0000', '0179', '0000', '50000', '50000', '90', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12684', '12680', '0006', 'Backfire', '0', '0', '0', '0002', '0004', '0000', '75', '0000', '0100', '0010', '0000', '0000', '0179', '0000', '100000', '100000', '100', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12685', '12680', '0006', 'Backfire', '0', '0', '0', '0002', '0005', '0000', '80', '0000', '0100', '0010', '0000', '0000', '0179', '0000', '500000', '150000', '110', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12686', '12680', '0006', 'Backfire', '0', '0', '0', '0002', '0006', '0000', '90', '0000', '0100', '0010', '0000', '0000', '0179', '0000', '0', '0000', '0', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12690', '12690', '0069', 'WaveofBlood', '1', '1', '1', '0004', '0000', '0000', '30095', '0000', '0100', '0008', '0008', '0020', '0178', '0000', '500', '3000', '15', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12691', '12690', '0069', 'WaveofBlood', '1', '1', '1', '0004', '0001', '0000', '30100', '0000', '0100', '0008', '0008', '0020', '0178', '0000', '1000', '6000', '30', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12692', '12690', '0069', 'WaveofBlood', '1', '1', '1', '0004', '0002', '0000', '30105', '0000', '0100', '0008', '0008', '0020', '0178', '0000', '10000', '10000', '50', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12693', '12690', '0069', 'WaveofBlood', '1', '1', '1', '0004', '0003', '0000', '30108', '0000', '0100', '0008', '0008', '0020', '0178', '0000', '50000', '50000', '70', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12694', '12690', '0069', 'WaveofBlood', '1', '1', '1', '0004', '0004', '0000', '30110', '0000', '0100', '0008', '0008', '0020', '0178', '0000', '100000', '100000', '90', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12695', '12690', '0069', 'WaveofBlood', '1', '1', '1', '0004', '0005', '0000', '30115', '0000', '0100', '0008', '0008', '0020', '0178', '0000', '500000', '150000', '110', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12696', '12690', '0069', 'WaveofBlood', '1', '1', '1', '0004', '0006', '0000', '30118', '0000', '0100', '0008', '0008', '0020', '0178', '0000', '0', '0000', '0', '61624624', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12700', '12700', '0083', 'ManiacDance', '1', '0', '0', '0002', '0000', '0000', '30100', '0000', '0100', '0001', '0005', '0000', '0181', '0000', '0', '0000', '1', '61624624', '0015', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12770', '12770', '0084', 'Pounce', '1', '1', '0', '0004', '0000', '0000', '30030', '0000', '0100', '0000', '0005', '0020', '0000', '0000', '500', '3000', '60', '0900', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12771', '12770', '0084', 'Pounce', '1', '1', '0', '0004', '0001', '0000', '30035', '0000', '0100', '0000', '0005', '0020', '0000', '0000', '1000', '6000', '70', '0900', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12772', '12770', '0084', 'Pounce', '1', '1', '0', '0004', '0002', '0000', '30040', '0000', '0100', '0000', '0005', '0020', '0000', '0000', '10000', '10000', '80', '0900', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12773', '12770', '0084', 'Pounce', '1', '1', '0', '0004', '0003', '0000', '30045', '0000', '0100', '0000', '0005', '0020', '0000', '0000', '50000', '50000', '90', '0900', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12774', '12770', '0084', 'Pounce', '1', '1', '0', '0004', '0004', '0000', '30050', '0000', '0100', '0000', '0005', '0020', '0000', '0000', '100000', '100000', '100', '0900', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12775', '12770', '0084', 'Pounce', '1', '1', '0', '0004', '0005', '0000', '30055', '0000', '0100', '0000', '0005', '0020', '0000', '0000', '500000', '150000', '110', '0900', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');  
INSERT INTO `spells` VALUES ('12776', '12770', '0084', 'Pounce', '1', '1', '0', '0004', '0006', '0000', '30060', '0000', '0100', '0000', '0005', '0020', '0000', '0000', '0', '0000', '0', '0900', '0000', '0', '0000', '0', '0000', '0', '0000', '0', '0000', '0000', '0000', '0001');

وكيدا تكون الاضافة انتهت كاملة والحمدلله بدون مشاكل صورتين للاسكلات





واستنه سورس جديد ب اضافة بالابيك انشالله

وقسم الشروحات من هنا


تنويه : الصور والفيديوهات في هذا الموضوع على هذا الموقع مستمده أحيانا من مجموعة متنوعة من المصادر الإعلامية الأخرى. حقوق الطبع محفوظة بالكامل من قبل المصدر. إذا كان هناك مشكلة في هذا الصدد، يمكنك الاتصال بنا من هنا.

عن الكاتب

هذا النص هو مثال لنص يمكن أن يستبدل في نفس المساحة، لقد تم توليد هذا النص من مولد النص العربى

5 التعليقات لموضوع "شرح اضافة ابيك الورير الجديد واسكلاتة كاملة Epic Warrior Full Add"

الكاتب
avatar

افتح كلاس Entity وابحث

public void Die(Entity killer)
وانزل لغاية الكود دا

if (killer.EntityFlag == Game.EntityFlag.Player)
{
وتحت القوس ضيف دول

f (ContainsFlag3((ulong)1UL << 53))
RemoveFlag3((ulong)1UL << 53);

الكاتب
avatar

بيجيبلي غلط في الجذء ده انا كاتبه كدا

public void Die(Entity killer)//just replace this whole void for die delay
{
if (killer.EntityFlag == Game.EntityFlag.Player)
{
if (ContainsFlag3((ulong)1UL << 53))
RemoveFlag3((ulong)1UL << 53);
if (killer.MapID == 1234)
{
if (ConquerPoints >= 1200)
{
ConquerPoints -= 1200;
killer.ConquerPoints += 1200;
}

}

والخطاء عندي ده

Error 1 Invalid token '{' in class, struct, or interface member declaration D:\سورسات\سيرفر صعب كونكر\New folder - Copy\Game\Entity.cs 36 5 Conquer_Online_Server

الكاتب
avatar

طب انا برفعهم من الكونصل بس بردو الحركة مش بتضترب ومش بيظهرو في ملف ال spells

الكاتب
avatar

انت شغال بسورس ايه

الكاتب
avatar

يبقى فى مشكلة فى القاعدة اللى عندك ممكن تحوطهم بايدك افضل

شروط التعليق :
■ يجب على التعليق أن يكون بلا روابط إشهارية
■ لاستعمال خط عريض ضع الكود : النص هنا...
■ لاستعمال خط مائل ضع الكود : النص هنا...
■ لإضافة صورة ضعها بهذا الكود : ... رابط الصورة هنا ...
الابتسامات الابتسامات