-->

إشترك في النشرة البريدية

إغلاق القائمة
جميع الحقوق محفوظة لـ الاختراع سمارت © 2019

تم تجديد الموقع وسنقوم بالعمل عليه مره اخري


سلسله دروس لعمل اي كويست باي فكره مهمها كانت صعبه خش وشوف بنفسك




     

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

    اان شاء الله هبدا معاكم سلسله دروس متجدده هتكون في نفس الموضوع واتمني تعجبكم بس
    الهدف من الدروس دي ان شاء الرحمن هتكون لو عاوز تعمل اي كويست باي فكره تعملها الزاي هقولكم الفكره
    وهشرحلكم بعض الاكواد اللي هنستخدمها علي اساس انك لما تكون بتعمل كويست وبعد مما تخلص تلاقي فيها ثغره عاوز تعدلها تعرف تعدلها منين من غير ما تسئل حد
    الكويستات انواع كتير جدا والمنتشر منها هيا فكره اللاست مان انك تدخل مابه وتموت اللي فيها وتخرج تكسب الجايزه ودي كانت عامله مشكله ان كدا الكويستات بقت للكينجات بس فابتدينا ندور ع حفلات تانيه بس للاسف بتبقي مليانه ثغرات ومشاكل دا لو لقينا اصلا
    هنبدا مع بعض بكويست عباره عن انك بتجمع ايتمات وتسلمها دي اديمه طبعا لكن في ناس كتير مش بتعرف تعملها
    ودي حاجه مبدئيه بس عشان نتعلمها وبعد كدا هنطور الفكره وهنستخدمها باكتر من طريقه
    نبدا علي بركه الله واي حد عنده سؤال في حاجه او تعليق علي حاجه او عاوز ارفع شرح لحاجه معينه يطلب في رد وان شاء الله هرد عليه وهكون متابع الموضوع حسب وقتي يعني
    اول كويست معانا هيا كويست كنت عاملها في السورس بتاعي اللي هو 5780 اللي كان نزل ع المنتدي بعد ما اتسرق هنزلها دلوقتي كامله وهشرح كل جزء فيها دوره ايه
    اولا هناخد الكويست جزء جزء
    الكويست عباره عن انك هتكلم انبي سي بيدخلك مابه فيها وحوش بتموتهم وتجمع منهم حروف كلمه GHOSTS
    وبتسلمهم لانبي سي تاني جوا بيخرجك التون وبيديك ايتم بتفتحه يديك ايتم علي شكله عمله بتتفحه بيطلعلك وحش تموته يديك عمله تانيه تفتحها تطلعلك وحش تاني وهكذا لحد 4 وحوش وبعد كدا بيديك جرمنت وبيديك الجايزه المحدده وليكن مثلا مليون سي بي اس
    هناخد اول جزء اللي هو الانبي سي هات
    الانبي سي دا هو الراجل اللي بتكلمو عشان تخش المابه ودا عباره عن جزئين جزء خاص بالنافي كات وجزء خاص بالسي شارب
    الجزء الخاص بالنافي هو انك بتروح ع القاعده بتاعت السورس وتفتح ملف npcs وبتلاقيه كالاتي
    وتاني جزء بيكون في السورس في ملف npcs
    ملحوظه ع الصوره عشان دي فيها حل ايرورات كتير جدا بتيجي لما بنحب نلغي كود او سطر
    لو نلاحظ انا عامل كل سهمين بلون ودي حاجه من اساسيات السي شارب يعني كل قوس مفتوح لازم يقابلو قوس مقفول وكل
                                                                                

    الاختراع سمارت



     
    #region 
    
    لازم يقابلها

    الاختراع سمارت



     
    #endregion 
    
    وكل

    الاختراع سمارت



     
    case 
    
    بيقابلها

    الاختراع سمارت



     
    Break 
    
    وبريك بالنسبه لكيس معناها انتهاء الحاله
    تعالو بقي نبتدي نشرح كود الانبي سي
                  

    الاختراع سمارت

                                                                   


     
    #region Profishonal Quest 
    
    #region دي معناها بدا مجموعه او بمعني اصح دورها انها بتجمع الكود كلو جواها لما بتقفلها من علامه - اللي بتبقي جنبها
    بتقفل من اول بدا المجموعه اللي هيا #region لحد انتها المجموعه اللي هيا #endregion
    بعد كدا عندنا

    الاختراع سمارت



     
    case 20136:
                        { 
    
    دي معناها الحاله رقم كذا والرقم اللي هنا دا هو الاي دي بتاع الانبي سي اللي بنستخدمه في اول خانه في النافي كات
    وبعد كدا فتحنا قوس عشان نبدا الحاله اللي معانا اللي هيا اي دي الانبي سي

    الاختراع سمارت



     
    switch (npcRequest.OptionID)
                            { 
    
    السطر دا بقا للي عاوز يفهمه في حاجه لغه السي شارب اسمها قاعده switch واللي بين القوسين دا بيكون العامل بتاعها واللي ع اساسه بنختار رقم الحاله اللي بنروح ليها بمعني
    انا لو قولت
    switch (2)
    السورس هيدور ع اول case 2 :
    وينفذ اللي فيه
    طيب هنا هو كاتبلي

    الاختراع سمارت



     
    switch (npcRequest.OptionID)
                            { 
    
    ايه اللي بين القوسين دا وكمان مفيش case ادامها الكلمه دي
    هقوللك اللي بين القوسين دا مسار موجود في السورس الكود بيروحلو وبياخد منو الرقم اللي موجود فيه
    في السورس مثلا ان اول امر بيبقي معايا اللي هو اني دوست ع الانبي سي دا يعتبر امر بسميه حاله وبتبقي رقمها صفر
    فانا اول لما بضغط ع الانبي سي بيبعت رقم صفر في المسار اللي بين القوسين بتوع switch
    وبتبدا تدور ع الحاله صفر او
    case 0:
    لما بتلاقيها بتبدا تنفذ اللي فيها طيب وبعد كدا
    فتحنا قوس تاني طيب واحد هيقولي فتحنا قوس تاني من غير ما نقفل اللي فوق اصلا
    هقولو احنا كدا كل شغلنا هيفضل جوا الحاله الرئيسيه اللي هيا اي دي الانبي سي نفسه يعني كدا كل شغلنا جوا الانبي سي مش هنقفل القوس اللي فوق دا غير لما نخلص الانبي سي وهقوللك نقفله الزاي
    كدا احنا بدانا اول جزء جوا الانبي سي نفسه اللي هو لما بنضغط علي الانبي سي وقولنا الامر بيوصل الزاي وبيروح للحاله صفر الزاي
    طيب وبعد كدا ؟

    الاختراع سمارت



     
    dialog.Text("Do you Want To Go To The Professional Quest?"); 
    
    بص بقي معايا اول كلمه عندنا اللي هيا dialog دي متعرفه في السورس ع انها الحاجه اللي بتخرج عن طريق الانبي سي ع هيئه كلام ودي بتبقي حاجتين اما مجرد كلام بنقراه او كلام بنقراه ونقدر نبعت امر للسورس عن طريقه
    الحاله الاولي هيا اللي معانا دلوقتي اللي مجرد كلام بنقراه طيب عرفت منين ؟
    عرفت لانه كاتبلي dialog.text وكلمه تكست هيا اللي حددتلي نوع امر dialog
    وبعد كدا فتحنا قوس من النوع دا ) وع السريع كدا الفرق بين القوس دا ) والقوس دا { ان القوس دا { بيكون في تحديد بدايه ونهايه حاله معينه في اكتر من سطر لكن لو الحاله اللي معايا مجرد سطر واحد بيبقي مش مهم اوي يعني
    اما القوس دا ) بيكون في نص السطر يعني مينفعش احط مفتوح في سطر واحط وواحد مقفول في السطر اللي بعده
    طيب وبعد ما فتحنا القوس عندنا العلامه دي " العلامه دي بنستخدمها دايما في اي نص كتابي بنكتبه ودي بتكون لتحديد بدايه ونهايه النص الكتابي
    لما بنبدا النص الكتابي بنحطها ولما النص بيخلص بنحطها طيب وبعد كدا

    الاختراع سمارت



     
    Do you Want To Go To The Professional Quest? 
    
    دا النص اللي انا عاوز الانبي سي يقولو وبعد كدا بقفل النص بنفس العلامتين برده "
    وبعد كدا بقفل القوس الصغير اللي بداته في اول السطر (
    وبعد كدا بحط العلامه دي
    ;
    العلامه دي اسمها فصله منقوطه ودي بتتحط في اخر السطر لعزله عن السطر اللي بعده
    تمام لحد كدا
    بعدكدا معايا

    الاختراع سمارت



     
    dialog.Option("Yes Sure.", 1);
                                        dialog.Option("No Thanks.", 255);
                                        dialog.Send(); 
    
    انا خدت ال 3 سطور دول مره واحده لانهم شبه بعض يعني ال حد ما
    هنا الفرق ان دي هنا اسمها
    dialog.option وهناك كانت text
    دا النوع التاني اللي قولنا عليه ودا متعرف في السورس ع اساس انه بيبعت الحاله ل switch عشان تبحث عنها وتنفذ اللي فيها
    طيب هتبعته الزاي ؟ هنشوف مع بعض
    ("Yes Sure.", 1);
    طبعا السطر دا انا شرحته فوق اللي هو

    الاختراع سمارت



     
    ("Do you Want To Go To The Professional Quest?"); 
    
    بس هنا بقي في فرق
    الفرق في رقم واحد اللي في الاخر دا
    دا هنا مقصود بيه الامر اللي هتبعته dialog.option ل npcRequest.OptionID ودا اصلا اللي switch بتجيب منه الامر بتاعها وبكدا switch بدل ما تدور ع
    case 0 :
    هيدور ع case 1:
    تمام كدا
    طيب السطر التاني بقا ؟

    الاختراع سمارت



     
    dialog.Option("No Thanks.", 255); 
    
    انا معنديش case 255: هيعمل ايه بقاااااااااا؟
    هقوللك مش هيعمل حاجا هو جالو امر مش موجود بيقف ع كدا والتكست بيختفي
    وكدا اغلب الشغل مسارات بمعني اصح
    وبعد كدا عندي
    break;
    }
    بريك هنا المقصود بيها انت الحاله صفر انتهت وبنقفل بعدها القوس اللي فتحناه لما قولنا
    case 0:
    {
    ودي موضوحه في الصوره اللي فوق طيب احنا كدا لما هنختار الامر 1 اللي هو دا

    الاختراع سمارت



     
    dialog.Option("Yes Sure.", 1); 
    
    هيروح علي
    case 1:
    وينفذ اللي فيه
    تعالو نشوف case 1: كدا

    الاختراع سمارت



     
    case 1:
                                    {
                                        client.Entity.Teleport(9575, 50, 50);
                                        break;
                                    } 
    
    طبعا كدا الكود كلو مشروح الا السطر اللي في النص
    طيب تعالو كدا ع السريع ترجمه خفيفه للحاله
    هنا بيقول الحاله 1 وفتح القوس وبعدين اداني الامر اللي هنفذه وبعدين جابلي break وقالي كدا الحاله 1 خلصت وقفل القوس
    طيب تعالي نشوف الامر دا كدا ايه ؟

    الاختراع سمارت



     
    client.Entity.Teleport 
    
    دا متعرف في السورس ع انه مسار نقل احداثيات اللاعب او نقل اللاعب من مكان لمكان
    يعني باختصار بيقولي انقل اللاعب للمسار دا وبيفتح قوس يحط فيه المسار وطبعا اول خانه هيا ادي المدينه وبعد كدا فصله وبعدين الاحداثيات بالطول وبعدين فصله وبعدين الاحداثيات بالعرض ويقفل الكود الصغير
    طيب كدا الانبي سي قالي اني في حاله الضغط عليه هيبعت امر 0 ل switch
    وهتجبلي الكلام اللي هقراه والكلام اللي هبعت عن طريقه الامر مره تانيه وكمان انا اختارت الامر 1 وتم التنفيذ
    طيب انا عاوز حاجه تانيه من الانبي سي ؟
    لا كدا دورو انتهي طيب نقفل الانبي سي بقا

    الاختراع سمارت



     
    case 20136:
                        {
                            switch (npcRequest.OptionID)
                            {
                                case 0:
                                    {
                                        dialog.Text("Do you Want To Go To The Professional Quest?");
                                        dialog.Option("Yes Sure.", 1);
                                        dialog.Option("No Thanks.", 255);
                                        dialog.Send();
                                        break;
                                    }
                                case 1:
                                   {
                                        client.Entity.Teleport(9575, 50, 50);
                                        break;
                                    } 
    
    كدا احنا قفلنا كل الحالات الفرعيه في الانبي سي وعاوزين نقفل بقا حاله الانبي سي نفسه اللي هيا

    الاختراع سمارت



     
    case 20136:
                        { 
    
    طيب هنقفلها فين والزاي ؟
    هقوللك عادي جدا بعد ما تخلص اخر حاله معانا هنروح حاطين تحتيها ع طول

    الاختراع سمارت



     
    break;
                        } 
    
    طيب كدا خلاص ؟ لا لسه
    هيفضل معانا ايرور تعالي ندور كدا ونقسم الاقواس زي ما انا مقسمها في الصوره
    هتلاقي ان في قوس لسه ما قفلناهوش اللي هو فين ؟

    الاختراع سمارت



     
    switch (npcRequest.OptionID)
                            { 
    
    القوس دا لسه مقفلناهوش طيب هنقفل فين ؟
    هقوللك هنشوف هو اتفتح فين ودور كان ايه
    القوس دا بيحدد حاله switch كامله ولكن switch نفسها جوا حاله الانبي سي نفسه
    يبقي مينفعش اقفلها في الاخر لان كدا هتدخل الدنيا في بعضها لا انا هقفل القوس قبل نهايه حاله الانبي سي ع طول
    طيب احنا قفلنا الانبي سي فين ؟
    قفلنا بالسطر دا

    الاختراع سمارت



     
    break;
                        } 
    
    خلاص يبقي هدور ع break اللي بنقفل بيها اول حاله اللي هيا حاله الانبي سي واحط فوقها ع طول القوس اللي هقفل بيه حاله switch
    وبكدا الانبي سي انتهي وهعمل #endregion عشان اقفل المجموعه
    وكدا تم شرح كل تفاصيل اول انبي سي اللي هو انبي سي النقل من مكان لمكان
    ملحوظه :
    _______
    اي حد مش فاهم اي حاجه في الدرس يسيب سؤال في رد واللي مش راكبه معاه اوي يفتح السي شارب ويحاول يطبق عملي هتثبت معاه بشكل سهل جدا لان البرمجه اساسها الممارسه
    اتمني تاخدو الحكايه جد وباذن الله هنزل درس تاني فيه الانبي سي اللي بيستلم منك وشرح الزيادات من الانبي سي دا لدا وايه اللي اتغير وايه الاوامر الجديده
    لو محسيتش ان في ناس متابعه معايا وعاوزه تتعلم انا هتوقف عن رفع الدروس لان ساعتها مش هيكون في فايده منها
    اتمني من الله اني اكون عرفت افيدكم ولو بحاجه بسيطه وان شاء الله الموضوع دا متجدد واي شرح هيكون هنا في نفس الموضوع
    تحياتي واحترامي للجميع ...............
    الدرس التاني :
    __________
    دلوقتي هشرح الانبي سي التاني وطبعا مش هشرح الانبي سي كله لان في اجزاء تم شرحها في الجزء الاول
    بس هشرح الزياده ودورها وطريقه استخدامها
    اولا الانبي سي التاني اهو

    الاختراع سمارت



     
                    #region City Ghosts
                    case 135135:
                        {
                            switch (npcRequest.OptionID)
                            {
                                case 0:
                                    {
                                        dialog.Text("Hello " + client.Entity.Name + " this is Professional QUest You Need Prize? .");
                                        dialog.Text("I need ABC of word  G H O S T S   ?.");
                                        dialog.Option("Yes I Have Give My Prize.", 1);
                                        dialog.Option("Sorry I Don't Have All Items.", 255);
                                        dialog.Avatar(116);
                                        dialog.Send();
                                        break;
                                    }
                                case 1:
                                    {
                                      //  if (DateTime.Now.Minute >= 01 && DateTime.Now.Minute <= 59)
                                       // {
                                            if (client.Inventory.Contains(20141, 1))//Joy-Coin
                                            {
                                                if (client.Inventory.Contains(20142, 1))//Wish-Coin
                                                {
                                                    if (client.Inventory.Contains(20143, 1))//Advancedjoy-Coin
                                                    {
                                                        if (client.Inventory.Contains(20144, 1))//Nirvana-Box
                                                        {
                                                            if (client.Inventory.Contains(20145, 1))//FlyingRoosterE-gg
                                                            {
                                                                if (client.Inventory.Contains(20146, 1))//FlyingRoosterE-gg
                                                                {
                                                                    client.Inventory.Remove(20141, 1);
                                                                    client.Inventory.Remove(20142, 1);
                                                                    client.Inventory.Remove(20143, 1);
                                                                    client.Inventory.Remove(20144, 1);
                                                                    client.Inventory.Remove(20145, 1);
                                                                    client.Inventory.Remove(20146, 1);
                                                                    client.Inventory.Add(5130513, 0, 1);
                                                                    client.Entity.Teleport(1002, 460, 380);
                                                                    AhmedBakkar.Kernel.SendWorldMessage(new AhmedBakkar.Network.GamePackets.Message("Congratulations! " + client.Entity.Name + " Has finshed Professional Quest Ghosts of Sparta Part (1) .", Message.TopLeft));
                                                                   
                                                                }
                                                              /*  else
                                                                {
                                                                    dialog.Text("Sorry But You Don't Have All Things You Can't finish The Quest");
                                                                    dialog.Option("Ahh sorry.", 255);
                                                                    dialog.Avatar(116);
                                                                    dialog.Send();
                                                                }
                                                                break;
                                                            }*/
                                                            else
                                                            {
                                                                dialog.Text("Sorry But You Don't Have All Things You Can't finish The Quest");
                                                                dialog.Option("Ahh sorry.", 255);
                                                                dialog.Avatar(116);
                                                                dialog.Send();
                                                            }
                                                            break;
                                                        }
                                                        else
                                                        {
                                                            dialog.Text("Sorry But You Don't Have All Things You Can't finish The Quest.");
                                                            dialog.Option("Ahh sorry.", 255);
                                                            dialog.Avatar(116);
                                                            dialog.Send();
                                                        }
                                                        break;
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("Sorry But You Don't Have All Things You Can't finish The Quest.");
                                                        dialog.Option("Ahh sorry.", 255);
                                                        dialog.Avatar(116);
                                                        dialog.Send();
                                                    }
                                                    break;
                                                }
                                                else
                                                {
                                                    dialog.Text("Sorry But You Don't Have All Things You Can't finish The Quest.");
                                                    dialog.Option("Ahh sorry.", 255);
                                                    dialog.Avatar(116);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                            else
                                            {
                                                dialog.Text("Sorry But You Don't Have All Things You Can't finish The Quest.");
                                                dialog.Option("Okay sorry Iam Will Waiting.", 255);
                                                dialog.Avatar(116);
                                                dialog.Send();
                                            }
                                            break;
                                        }
                                        else
                                        {
                                            dialog.Text("Sorry But You Don't Have All Things You Can't finish The Quest.");
                                            dialog.Option("Okay sorry Iam Will Waiting.", 255);
                                             dialog.Avatar(116);
                                            dialog.Send();
                                        }
                                        break;
                                    }
                            }
                            break;
                        }
                    #endregion 
    

    الجديد في الانبي سي دي حاجه اسمها قاعده if وهنعرف ايه هيا if و else و elseif
    اول جزء في الانبي سي تم شرحه في الجزء اللي فات

    الاختراع سمارت



     
    #region City Ghosts
                    case 135135:
                        {
                            switch (npcRequest.OptionID)
                            {
                                case 0:
                                    {
                                        dialog.Text("Hello " + client.Entity.Name + " this is Professional QUest You Need Prize? .");
                                        dialog.Text("I need ABC of word  G H O S T S   ?.");
                                        dialog.Option("Yes I Have Give My Prize.", 1);
                                        dialog.Option("Sorry I Don't Have All Items.", 255);
                                        dialog.Avatar(116);
                                        dialog.Send();
                                        break;
                                    } 
    
    بس هنا في اختلاف في الكلام مش اكتر وطبعا الكلام دا مش محدد دا اي حاجه انت بتحتاج تعملها حسب رغبتك
    حاجه بسيطه كدا عشان الناس اللي متعرفش في السطر دا

    الاختراع سمارت



     
    dialog.Text("Hello " + client.Entity.Name + " this is Professional QUest You Need Prize? ."); 
    
    وبالتحديد

    الاختراع سمارت



     
    " + client.Entity.Name + " 
    
    هنا علامه " الاولي هيا انهاء لعلامه " اللي موجوده قبل كلمه hello وبعد كدا علامه + عشان تضيف
    للنص المسار دا وبعد كدا علامه + و بعدين " ولو لغينا العلامتين اللي في النص دول هتلاقي الانبي سي بيقوللك

    الاختراع سمارت



     
    "Hello  + client.Entity.Name +  this is Professional QUest You Need Prize? 
    
    يبقي لازم نحط العلامتين عشان الانبي سي ميخلطش الكلام في بعضو ويعرف يفرق وطبعا

    الاختراع سمارت



     
    client.Entity.Name 
    
    دي مسار لاسم اللاعب اللي بيكلم الانبي سي وبناء عليه هيحل محلها اسم اللاعب اللي بيكلم الانبي سي
    نكمل بقا الجديد
    اللي هيا قاعده if
    دي باختصار معناها اذا او لو
    يعني انا مثلا عاوز اعمل الكويست بوقت يبقي هقول لو الساعه كذا يدخل
    عشان اقول لو الساعه كذا يدخل للسورس بقي هقولهالو الزاي ؟
    هقولهالو بالطريقه اللي يفهمها اللي هيا قاعده if
    يعني هقولو

    الاختراع سمارت



     
    if (الساعه كذا ) 
    
    طيب دلوقتي انا حطيت شرط
    وقولت لو الساعه كذا طيب الساعه كذا دي هيعمل ايه ؟
    يبقي اللي انا عاوزو يعملو دي حاجه اسمها جواب الشرط انا مثلا عاوزو يدخلك مكان معين يبقي جواب الشرط هو امر الدخول زي كدا مثلا

    الاختراع سمارت



     
    if(الساعه كذا )
    نقل الي المكان كذا 
    
    وطبعا دا مثال عشان افهمك المقصود ايه انما دي ليها استخدامات كتييييييييييير جدا ممكن اقول لو بوينت البي كي كذا يحصل كذا ولو معاه سي بي اس كذا يحصل كذا ولو الساعه كذا يحصل كذا الخ........
    طيب هو انا ممكن احطلو شرطين يعني مثلا اقولو ان الساعه تكون كذا وان نقاط البي كي تكون كزا ؟
    اه ينفع وفيه اكتر من طريقه
    طيب الزاي؟
    هقوللك الطريقه الاولي والسهله لو انا عاوز اقولو ان من الساعه 1 لحد الساعه 1.10 يدخلك المكان او يخرجك منو في المعاد دا بس غير كدا ميرداش ينقلك
    دا هيتم بواسطه بعض العلامات ودا مثال

    الاختراع سمارت



     
    if ( الساعه تساوي 1 && الساعه اقل من او تساوي 1.10)
    نقل من مكان كذا الي مكان كذا 
    
    والطريقه التانيه

    الاختراع سمارت



     
    if (الساعه تساوي 1)
    {
    if (الساعه اقل من او تساوي 1.10)
    نقل من مكان كذا الي مكان كذا 
    
    طيب انا امته استخدم دي وامته استخدم دي هنعرف مع الوقت ومع الدروس اللي جايه ان شاء الله
    طيب كدا انا قولت لو الساعه 1 واقل من واحده و1.10 هيتم النقل طيب ولو الساعه مش واحد اصلا او واحده بس واحده وتلت مثلا
    هنا بقا في حاجه اسمها else
    ودي بمعنا لو لم
    يعني كدا مثلا

    الاختراع سمارت



     
    if (الساعه 1 && الساعه اقل من  1.10)
    نقل من مكان كذا الي مكان كذ 
    else :
    ( لن يمكنك المرور الا من الساعه 1.00 الي الساعه 1.10) 
    
    و بالنسبه ل elseif فمش وقتها ولكن هيا باختصار دمج للامرين يعني مثلا هقول لو محصلش كزا يبقي كزا لو محلصش كزا يبقي كزا يعني مثلا لو مش احمد يبقي محمد ولو مش احمد ولا محمد يبقي عمر وهكذا
    طيب الكلام بلغه البرمجه عموما عاوزين نخصصو اكتر شويه للسورس هنشوفو بقا مع المثال بس نخلينا فاكرين ايه هيا شغله if و else
    تعالو نشوف

    الاختراع سمارت



     
    case 1:
                                    {if (client.Inventory.Contains(20141, 1))//Joy-Coin
                                            {
                                                if (client.Inventory.Contains(20142, 1))//Wish-Coin
                                                {
                                                    if (client.Inventory.Contains(20143, 1))//Advancedjoy-Coin
                                                    {
                                                        if (client.Inventory.Contains(20144, 1))//Nirvana-Box
                                                        {
                                                            if (client.Inventory.Contains(20145, 1))//FlyingRoosterE-gg
                                                            {
                                                                if (client.Inventory.Contains(20146, 1))//FlyingRoosterE-gg
                                                                {
                                                                    client.Inventory.Remove(20141, 1);
                                                                    client.Inventory.Remove(20142, 1);
                                                                    client.Inventory.Remove(20143, 1);
                                                                    client.Inventory.Remove(20144, 1);
                                                                    client.Inventory.Remove(20145, 1);
                                                                    client.Inventory.Remove(20146, 1);
                                                                    client.Inventory.Add(5130513, 0, 1);
                                                                    client.Entity.Teleport(1002, 460, 380);
                                                                    AhmedBakkar.Kernel.SendWorldMessage(new AhmedBakkar.Network.GamePackets.Message("Congratulations! " + client.Entity.Name + " Has finshed Professional Quest Ghosts of Sparta Part (1) .", Message.TopLeft));
                                                                   
                                                                } 
    
    متخضوش اوي من شكل الكود دا منظر ع الفاضي وممكن يتلم كلو في سطر واحد كمان بس هو معمول كدا لهدف هقولو بس لما اخلص الحته دي
    اول الكود بيقولي في الحاله واحد وطبعا احنا عرفنا الحاله واحد دي يعني ايه وجات الزاي ؟
    تعالو ننفذ اللي في الحاله واحد دي
    انا عاوز اقولو لو معاه نوع الايتم كذا عدد كذا يبقي هقول

    الاختراع سمارت



     
                                    {[if (client.Inventory.Contains(20141, 1))//Joy-Coin
                                            { 
    
    ايه ياعم الكلام دا ؟
    الكلام اللي فات مكانش فيه انجليزي خالص
    هقوللك خليك معايا وهتفهم
    اول جزئيه if يعني لو وبعد كدا فتحنا القوس عشان نكتب الشرط
    وبعد كدا هنكتب الشرط اللي هو لو معاه ايتم كذا بعدد كذا (يعني مثلا معاه 10 ايتمات من النوع دا )
    بلغه السورس بقا اسمها كدا

    الاختراع سمارت



     
    client.Inventory.Contains 
    
    دا المسار اللي لما الكود يروحلو هيلاقي فيه الايتمات اللي مع اللاعب وعددها يبقي احنا كدا بنقولو روح المكان دا وشوف فيه الايتم رقم كذا موجود ولا لا ولو موجود هتشوفو موجود كذا ولا لا
    طيب انا بقي معايا السطر شكله كدا دلوقتي

    الاختراع سمارت



     
    if (client.Inventory.Contains 
    
    طيب كدا انا قولتلو روح المكان ودور طيب هيدور ع ايه ؟
    هفتحله بقا قوس صغير واقولو هتدور علي احمد ولو لقيته شوفلي كام واحد اسمهم احمد هنا برده نفس القصه تقريبا
    هفتح قوس واحطله اي دي الايتم طيب هتقولي اي دي الايتم دا هجيبو منين ؟ هقولو هعمل درس لشرح عمل ايتمات وانواعها وهتعرف ايه هو الايتم وايه هو الاي دي بتاعو
    طيب تمام جبنا الايتم والكود بقا شكله كدا

    الاختراع سمارت



     
    client.Inventory.Contains(20141 
    
    طيب احنا كدا مقولناش كام ايتم يبقي خلاص هنعمل فصله ونضيف الايتم ويبقي شكل الكود كدا

    الاختراع سمارت



     
    client.Inventory.Contains(20141, 1 
    
    كدا انا قولتلو عاوز عدد ايتم واحد بس من الايتم دا وممكن اخليه اكتر طبعا لو انا عاوز طيب انا كدا قولتلو اللي انا عاوزو
    عاوز اقفل بقا لازم اقفل بالترتيب عشان مش اتلخبط
    يعني هقفل الاول قوس عشان القوس اللي انا فتحته لما جيت احط الايتم وبعدين احط قوس تاني عشان اقفل القوس اللي فتحته لما جيت احط الشرط
    لان زي ما احنا متفقين ان كل قوس مفتوح لازم يقابله قوس من نفس نوعه يقفله
    طيب شكل الكود هيبقي كدا

    الاختراع سمارت



     
    client.Inventory.Contains(20141, 1)) 
    
    طيب احنا كدا حطينا الشرط وقولتلو لو لقيت معاه واحد علي الاقل من الايتم دا هتعمل كذا
    كذا دا بقا هو جواب الشرط اللي هو ايه عندنا في المثال ؟

    الاختراع سمارت



     
     if (client.Inventory.Contains(20142, 1))//Wish-Coin
                                                { 
    
    ايه دا دا شرط تاني ؟
    اه مش انا قولتلك ان ممكن نعمل اكتر من شرط ودلوقتي كمان بقوللك ينفع نعمل عده حاجات بمجرد تحقق شرط واحد وممكن نعمل عده شروط لتحقق حاجه واحده
    هو هنا بيقولي لو انت معاك الايتم الاول شوف لو معاك ايتم تاني طيب تمام معايا الايتم التاني بتفضل ماشي تحقق الشروط لحد لما توصل لشرط منهم هيقوللك تعمل حاجا معينه بس هتعملها امته بقي ؟ لما يكون كل الشروط اللي فاتت اتاكدت انها تمام ودا الحاله التانيه اللي انا قولتلكو عليها فوق طيب هنا معانا بنفس الطريقه 
    لحد


    الاختراع سمارت



     
    if (client.Inventory.Contains(20141, 1))//Joy-Coin
                                            {
                                                if (client.Inventory.Contains(20142, 1))//Wish-Coin
                                                {
                                                    if (client.Inventory.Contains(20143, 1))//Advancedjoy-Coin
                                                    {
                                                        if (client.Inventory.Contains(20144, 1))//Nirvana-Box
                                                        {
                                                            if (client.Inventory.Contains(20145, 1))//FlyingRoosterE-gg
                                                            {
                                                                if (client.Inventory.Contains(20146, 1))//FlyingRoosterE-gg
                                                                {
                                                                    client.Inventory.Remove(20141, 1);
                                                                    client.Inventory.Remove(20142, 1);
                                                                    client.Inventory.Remove(20143, 1);
                                                                    client.Inventory.Remove(20144, 1);
                                                                    client.Inventory.Remove(20145, 1);
                                                                    client.Inventory.Remove(20146, 1); 
    
    طيب كدا بعد ما اتاكد ان معايا كل الايتمات وبالاعداد المطلوبه هيعمل ايه ؟ تعالو نشوف الاوامر كدا
    مش انا فوق قولتلك لو الساعه 1 تدخلني هنا نفس الحكايه فوق بيقولي لو معاك الايتم كذا بعدد 1 هتمسح الايتم كذا بعدد كذا
    هو هنا عاوز يقول كدا انت ممكن تقولو لما تجمع الايتمات دي تموت او تاخد سي بي اس او تتنقل لمكان تاني اي حاجه انت عاوزها وهقولكم الزاي مع الوقت وفي دروس قادمه المهم درسنا دلوقتي بيقول لو لقيت الايتمات دي بالاعداد دي هتمسحها بنفس الاعداد تعالو نشوف كدا
    اول شرط عندي كان

    الاختراع سمارت



     
    if (client.Inventory.Contains(20141, 1)) 
    
    واول حاجه عندي في الحاجات اللي هتتنفذ بعد تحقيق اول شرط

    الاختراع سمارت



     
    client.Inventory.Remove(20141, 1); 
    
    الاتنين نفس المسار بس تعالو نشوف الفرق في الشرط بيقول contains وفي جواب اخر شرط بيقول remove
    يبقي هو كدا بيقول لو معاك الايتم مون بوكس مثلا بعدد واحد مون بوكس هعمل ايه ؟ هشوف لو معاك ميته بعدد 1 طيب لو معايا ميته ومون بوكس هشوف معايا دي بي طيب لو معايا ميته ومون بوكس ودي بي هعمل ايه ؟ هتمسح المون بوكس والميته والدي بي وطبعا دا مثال
    عندنا في الانبي سي بتاعنا بيتاكد انك معاك الايتمات ولا لا بعدد 1 ايتم من كل نوع وبعد ما يتاكد انهم معاك كلهم
    بيكمل ايه المطلوب تاني بعد ما لفيت الحاجات دي ؟ بيلاقي اكواد المسح للايتمات طيب تمام
    مسحت الايتمات عاوز تعمل حاجا تاني ولا خلاص اخد منه الايتمات وشكرا كدا
    لا انا لسه عاوز بقا اديله جيزته طيب عاوز الجايزه ايه ؟ ممكن بقي سي بي اس ممكن ايتمات غاليه اي حاجه تعالي نضيفها

    الاختراع سمارت



     
    client.Inventory.Add(5130513, 0, 1); 
    
    كدا انا حطتله ايتم جديد ولو تلاحظه انه برده نفس السطر بس الفرق المره دي في add اضافه
    طيب لو عاوز اضيف سي بي اس هتبقي كدا

    الاختراع سمارت



     
    client.Entity.ConquerPoints += 100000; 
    
    والكود بيروح ع المسار اللي بتبقي فيه السي بي اس وبيزود ع اللي موجود الملبغ اللي انا بحطه ايا كان
    طيب خلاص انا حطيت الشروط وحطيت اجوبه الشروط خلاص كدا ؟
    لا لسه محطيناش في حاله الشروط متحققتش او شرط منها متحققش
    هعد معايا كام if وهعمل كل if منهم حاله else خاصه بيها
    ودا عشان لو انا مثلا معايا الايتم الاول والتاني ومش معايا التالت
    هيجي الكود يدور هيلاقي الاول والتاني وهيجي عند التالت مش هيلاقيه هيروح else يقرا اللي فيها
    انا هنا معايا كام شرط ؟ معايا 6 شروط يبقي هعملهم 6 حالات عدم تحقق للشرط
    زي كدا

    الاختراع سمارت



     
    else
                                                            {
                                                                dialog.Text("Sorry But You Don't Have All Things You Can't finish The Quest");
                                                                dialog.Option("Ahh sorry.", 255);
                                                                dialog.Avatar(116);
                                                                dialog.Send();
                                                            }
                                                            break;
                                                        }
                                                        else
                                                        {
                                                            dialog.Text("Sorry But You Don't Have All Things You Can't finish The Quest.");
                                                            dialog.Option("Ahh sorry.", 255);
                                                            dialog.Avatar(116);
                                                            dialog.Send();
                                                        }
                                                        break;
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("Sorry But You Don't Have All Things You Can't finish The Quest.");
                                                        dialog.Option("Ahh sorry.", 255);
                                                        dialog.Avatar(116);
                                                        dialog.Send();
                                                    }
                                                    break;
                                                }
                                                else
                                                {
                                                    dialog.Text("Sorry But You Don't Have All Things You Can't finish The Quest.");
                                                    dialog.Option("Ahh sorry.", 255);
                                                    dialog.Avatar(116);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                            else
                                            {
                                                dialog.Text("Sorry But You Don't Have All Things You Can't finish The Quest.");
                                                dialog.Option("Okay sorry Iam Will Waiting.", 255);
                                                dialog.Avatar(116);
                                                dialog.Send();
                                            }
                                            break;
                                        }
                                        else
                                        {
                                            dialog.Text("Sorry But You Don't Have All Things You Can't finish The Quest.");
                                            dialog.Option("Okay sorry Iam Will Waiting.", 255);
                                             dialog.Avatar(116);
                                            dialog.Send();
                                        }
                                        break;
                                    } 
    
    طيب انا كدا حطيت الشروط وحطيت حالات عدم تحقق الشروط ؟ وحطيت اللي انا عاوزه يحصل لو اتحققت الشروط دي
    هقفل بقا الكود زي ما اتعلمنا في المثال اللي فوق وهيبقي معايا الانبي سي في النهايه كدا

    الاختراع سمارت



     
                    #region City Ghosts
                    case 135135:
                        {
                            switch (npcRequest.OptionID)
                            {
                                case 0:
                                    {
                                        dialog.Text("Hello " + client.Entity.Name + " this is Professional QUest You Need Prize? .");
                                        dialog.Text("I need ABC of word  G H O S T S   ?.");
                                        dialog.Option("Yes I Have Give My Prize.", 1);
                                        dialog.Option("Sorry I Don't Have All Items.", 255);
                                        dialog.Avatar(116);
                                        dialog.Send();
                                        break;
                                    }
                                case 1:
                                    {
                                            if (client.Inventory.Contains(20141, 1))//Joy-Coin
                                            {
                                                if (client.Inventory.Contains(20142, 1))//Wish-Coin
                                                {
                                                    if (client.Inventory.Contains(20143, 1))//Advancedjoy-Coin
                                                    {
                                                        if (client.Inventory.Contains(20144, 1))//Nirvana-Box
                                                        {
                                                            if (client.Inventory.Contains(20145, 1))//FlyingRoosterE-gg
                                                            {
                                                                if (client.Inventory.Contains(20146, 1))//FlyingRoosterE-gg
                                                                {
                                                                    client.Inventory.Remove(20141, 1);
                                                                    client.Inventory.Remove(20142, 1);
                                                                    client.Inventory.Remove(20143, 1);
                                                                    client.Inventory.Remove(20144, 1);
                                                                    client.Inventory.Remove(20145, 1);
                                                                    client.Inventory.Remove(20146, 1);
                                                                    client.Inventory.Add(5130513, 0, 1);
                                                                    client.Entity.Teleport(1002, 460, 380);
                                                                    AhmedBakkar.Kernel.SendWorldMessage(new AhmedBakkar.Network.GamePackets.Message("Congratulations! " + client.Entity.Name + " Has finshed Professional Quest Ghosts of Sparta Part (1) .", Message.TopLeft));
                                                                   
                                                                }
                                            
                                                            else
                                                            {
                                                                dialog.Text("Sorry But You Don't Have All Things You Can't finish The Quest");
                                                                dialog.Option("Ahh sorry.", 255);
                                                                dialog.Avatar(116);
                                                                dialog.Send();
                                                            }
                                                            break;
                                                        }
                                                        else
                                                        {
                                                            dialog.Text("Sorry But You Don't Have All Things You Can't finish The Quest.");
                                                            dialog.Option("Ahh sorry.", 255);
                                                            dialog.Avatar(116);
                                                            dialog.Send();
                                                        }
                                                        break;
                                                    }
                                                    else
                                                    {
                                                        dialog.Text("Sorry But You Don't Have All Things You Can't finish The Quest.");
                                                        dialog.Option("Ahh sorry.", 255);
                                                        dialog.Avatar(116);
                                                        dialog.Send();
                                                    }
                                                    break;
                                                }
                                                else
                                                {
                                                    dialog.Text("Sorry But You Don't Have All Things You Can't finish The Quest.");
                                                    dialog.Option("Ahh sorry.", 255);
                                                    dialog.Avatar(116);
                                                    dialog.Send();
                                                }
                                                break;
                                            }
                                            else
                                            {
                                                dialog.Text("Sorry But You Don't Have All Things You Can't finish The Quest.");
                                                dialog.Option("Okay sorry Iam Will Waiting.", 255);
                                                dialog.Avatar(116);
                                                dialog.Send();
                                            }
                                            break;
                                        }
                                        else
                                        {
                                            dialog.Text("Sorry But You Don't Have All Things You Can't finish The Quest.");
                                            dialog.Option("Okay sorry Iam Will Waiting.", 255);
                                             dialog.Avatar(116);
                                            dialog.Send();
                                        }
                                        break;
                                    }
                            }
                            break;
                        }
                    #endregion 
    
    طيب ملحوظه بقا الكلام اللي قولته دا
    انا في الاخر لما جيت اضيف حالات else لو لاحظتو هتلاقو كل حاله فيها كلمه break طيب ليه ؟ مع ان مفيش else
    لان break مش متخصصه لا case بس دا معناها ان المطلوب انتهي وتذهب لاخر قوس مغلق في الكود كله
    يعني لو شلتها هتلاقي ان في حاله عدم تحقق اول شرط جابلك كل حالات ال else اللي موجوده ودا عشان مفيش حاجه تقولو ان كدا المطلوب انتهي لان السورس زي العيل الصغير لو معرفتوش كل حاجه وكل تفصيله مهما كانت صغيره مش هيعملها وهيقف عندها
    تاني حاجه السطور المنتهيه بالفصله المنقوطه اللي هيا دي ;
    الفصله المنقوطه دورها فصل السطر عن السطر اللي بعده وعشان كدا مش بحطها في اخر السطر مع if لان جواب الشرط تابع ل if
    يارب يكون الدرس وصل لعقولكم بسهوله واي استفسار عن اي حاجه او اي نقطه انا موجود ومتابع ان شاء الله بس غالبا هرد بعد المغرب لحد الساعه 12 باليل عشان مش ببقي فاضي غير في الوقت دا بس
    كدا انا خلصت اول انبي سي وتاني انبي سي في حفله تجميع الحروف
    ودا الانبي سي الاول والتاني بعد ما خلصو عشان تكون قادر ع فهمهم وقراتهم وان شاء الله في الدرس اللي جاي هقول الزاي تعمل وحوش معينه والزاي تخليها توقع ايتمات معينه والزاي تعمل مابه
    اتمني منكم التنفيذ العملي والفوري حتي يكون من السهل عليكم فهم هذا الكلام
    بالتوفيق للجميع ..................
    __________________________________________________ ___________
    الدرس التالت
    __________________________________________________ ___________
    بسم الله الرحمن الرحيم
    النهارده ان شاء الله هقول كام حاجه مهمين ومميزين ومش محتاجين غير شويه تشغيل دماغ لا اكتر ولا اقل
    اولا هقول الزاي تدي اوامر معينه باستخدام if و else
    وهقوللك الزاي تجيب اي امر انت عاوزو من السورس
    ومش هطول عليكم
    انت المفروض بعد الدرسين اللي فاتو لما تشوف اي سطر فيه if او else هتفهمه وتعرف تقراه علي الاقل
    دلوقتي انا هقولكم شويه علامات واقولكم معناها وامتي نستخدمها وكمان هقولكم تطلعو الاوامر الزاي بدون اي مجهود او تعب
    طيب اولا ناخد الرموز ويارب مش انسي حاجه وممكن انتو تكونو عارفين بعض منها ولكن بالتاكيد مش كلها

    الاختراع سمارت



     
    
    :   1
    
    {   2
    
    (   3
    
    ;   4
    
    ,   5 
    
    نقدر نقول دا اول جزء وانا هقسمهم لجزئين للتسهيل عليكم
    تعالو ناخد اول علامه اللي هيا
    :
    ودي معناها بنستخدمها في بعض الاوامر زي case بنحطها بعد رقم ال case عشان نقول ان اللي جاي تابع للحاله دي
    تاني حاجه القوس دا
    }
    دا بنستخدمه لتحديد الحالات بشكل اجمالي او خاص بمعني اني ممكن احدد بيه case من اولها لحد الامر اللي بتخلص عنده وخصوصا لو كان اكتر من سطر وطبعا بنقفله بالقوس اللي زيه بس اللي بيقفل مش بيفتح وانا وضحت الطريقه في اول درس
    تالت حاجه هيا القوس دا
    (
    ودا بنستخدمه لتحديد شرط او عمليه صغيره جوا شرط بس لازم يكون في نفس السطر يعني لما افتح قوس من النوع دا في سطر لازم احط قصادو قوس زيه يقفله بعد انتها الشرط او العمليه البسيطه المطلوبه
    رابعا العلامه دي او الفصله المنقوطه
    ;
    ودي دورها ببساطه انتهاء السطر وان السطر اللي بعده امر جديد او سطر جديد لان ممكن يكون في سطرين تحت بعض واخدين نفس الامر وهنشرح مثال لكدا فيما بعد
    وخامسا العلامه دي اللي هيا الفصله
    ,
    بمعني و يعني بتقولي اني هعمل كذا وكذا ومش شرط تكون لنوعين ممكت تكون لنوع وعدد وليها استخدامات كتير هنشوفها مع الوقت بس هيا مبدايا معناها و يعني مثلا احمد و محمد
    يبقي الفاصله هيا حرف الواو
    طيب انا كدا قولت خمس انواع وعزلتهم عن الباقي ليه ؟
    لان دول من الاساسيات اللي دايما معاك وبيتحدد بيهم حاجات كتير ومهمه جدا ومع الوقت هنتعود عليهم وعلي استخداماتهم
    طيب ندخل ع الباقي

    الاختراع سمارت



     
    
    =
    ==
    
    >=
    
    <=
    
    +=
    
    -=
    
    !
    
    &&
    
    || 
    
    هنلاحظ ان في هنا علامات متكرره انا معاك هيا متكرره اه لكن كل مره بمعني مختلف ؟
    طيب الزاي ؟
    هنشوف مع بعض . تعالو ناخد اول امر اللي هو
    =
    دا بمعني ان احمد هو احمد خلاص مفيش كلام يعني لما احط علامه يساوي واحده معناه تاكيد يعني لما اقول
    x = 1
    دا معناه ان قيمه اكس = واحد ودا مينفعش نحطه في شرط . طيب ليه مينفعش احطه في شرط ؟ عشان دا امر اصلا انت بتقولو خليلي قيمه اكس دي 1 يبقي الزاي هتشترط حاجه انت اصلا بتعملها ؟ واللي مش فاهم تابع بس معايا وركز هتفهم من العلامه اللي جايا
    تاني علامه اللي هيا
    ==
    معناها ايه دي بقا ؟ مش احنا لسه شارحين علامه يساوي وقولت ان معناها امر بتحويل قميه اكس هقول بقا دلوقتي
    ان علامه يساوي واحده معناها تحويل الحاجه اللي قبل علامه يساوي للقيمه اللي بعدها يعني في لغه البرمجه لو قولت
    ahmed = mohammed
    يبقي هو هيجيب احمد ويخليه محمد
    انما لو قولتله
    ahmed == mohamed
    هنا بقي انا بقوله هل ؟ احمد هو نفس محمد ؟ يبقي هنا انا محولتش احمد لمحمد بس انا بسالو هو احمد هو هو نفس محمد ؟
    طيب هيجي واحد لسه مفمهمش ويقولي ايه يا عم اللي انت بتقولو دا احمد يبقي محمد والكلام دا هجبهالك بشكل اسهل
    انا لو قولت
    الساعه = 1
    دي في لغه البرمجه معناها ان الساعه واحده خلاص مفيش كلام وحتي لو هيا مش واحده هو هيعتبرها واحده
    انما لو قولت
    الساعه == 1
    دي معناها انا بسئله هل الساعه تساوي واحد ؟ يبقي هنا دا سؤال مش امر وينفع نستخدمه كشرط يبقي هنقوله لو الساعه واحده هتعمل كذا طيب لو مش واحده ؟ يبقي خلاص خرجنا من الشرط وهتروح بقا ع else
    اتمني كدا اول علامتين يكونو اتفهمو
    العلامه التالته اللي هيا
    >=
    اللي هيا اكبر من او يساوي
    لما الاقي علامه اكبر من الاول وبعد كدا علامه يساوي يبقي معناها ان القيمه اللي انا حاطتها قبل العلامه اما اكبر من القيمه اللي بعد العلامه او تساويها
    يعني مثلا لما اقول
    الساعه >= واحده
    يبقي انا بقوله لو الساعه واحده او اكتر
    طيب لو انا عاوز اقوله لو الساعه واحده او اقل
    هتبقي العلامه الرابعه اللي هيا دي
    <=
    اللي هيا معناها اقل من
    اعتقد دول مفيش فيهم مشكله
    بس لازم الفت نظركم لحاجه
    لو لقيت اكبر من بس معناها ان لازم تكون اكبر من القيمه مش تساويها يعني مثلا
    الساعه > واحده يبقي كدا لو الساعه واحده هو هيعتبر الشرط محصلش لازم تكون اكتر من واحده عشان الشرط يتحقق ونفس الموضوع بالنسبه لعلامه اكبر من
    طيب ندخل في اللي بعده
    +=
    بمعني قيمه الزياده علامه زائد يمعني زياده ويساوي اللي هيا قيمه الزياده يبقي لما الاقي علامه
    +=
    يبقي هو كدا هيزود حاجه عن اصلها يعني لو انا قولت
    += 50
    وانا اصلا معايا 10 هيديني المجموع 60
    ونفس الموضوع بالنسبه ل -=
    لو انا معايا 60 وقالي
    -= 10
    هيفضل معايا 50 لانه نقص من العدد اللي معايا اصلا
    بعد كدا عندي علامه التعجب
    !
    دي بقا في البرمجه معناها لو غير . يعني ايه لو غير دي ؟
    يعني انا مثلا عاوز امنع الكود ان ينفذ الامر في حاله او اتنين بس ينفذ في اي حاله تانيه غير دول هفضل بقي اكتب كل الحالات عشان مينفذش الا فيهم ويسيب الحالتين دول ؟ لا هنا بقي هنستخدم علامه التعجب ونحط الحاليتن
    الزاي ياعم . انا مش فاهم حاجه .
    تعالو نجرب بمثال
    انا لو قولت
    if (الساعه 1 )
    روح الدرس
    دا كدا معناه اني بقولو ان لو الساعه واحده متروحش الدرس
    طيب ياعم ايه الجديد ؟
    الجديد بقي اني لو عاوز اقوله لو الساعه مش واحده متروحش الدرس هفضل بقا اقوله لو الساعه اتنين او تلاته او اربعه او خمسه ................. او 12 متروحش الدرس ؟
    هنا بقا ممكن اقوله
    if ( الساعه !1 )
    متروحش الدرس
    كدا انا قولتلو لو الساعه مش واحده متروحش الدرس ووفرت ع نافسي لفه كبيره
    وبنحط علامه التعجب قبل القيمه او الحاجه اللي مش عاوزينها الكود يتنفذ في وجودها
    اعتقد لحد كدا تمام
    اللي بعده
    &&
    دي بقي سهله ومعناها و بس هنا بقي مش حرف الواو اللي كان في الفصله دا هنا بمعني حرف الواو برده ولكن في مواضع تانيه غير الفصله وبستخدمها لو عاوز احقق اكتر من شرط في نفس الحاله زي مثلا
    if ( الساعه واحده او اكتر && الساعه اقل من واحده و 10 دقايق )
    يبقي انا كدا اشترط الاول ان الساعه تكون واحده او اكتر وبعدين اشترط انها تكون اقل من واحده و10 يبقي هو مش هينفذ الامر الا من الساعه واحده بالظبط لحد الساعه واحده و 9 دقايق وباستخدام علامه and او && الكود مش هيتنفذ في حاله تحقق الشرطين
    اللي بعده
    ||
    دي بقي بمعني او وليها نفس استخدامات && ولكن مع الفرق ان هناك قولت كذا و كذا هنا بقول كذا او كذا يعني مثلا
    if ( الساعه 1 || الساعه 2 || الساعه 3 )
    طيب ايه الفرق بين (او ) و (و)
    الفرق ان في حاله || اللي هو او يكفي شرط واحد لتنفيذ الامر يعني احمد او عمر او محمد اي واحد فيهم يكفي
    ام ابقي في حاله && فهنا لازم يكونو كلهم موجودين يعني احمد وعمر ومحمد
    اعتقد لحد كدا تمام
    العلامات دي انا جبتها لانها مهمه جدا وهنستخدمها كتير جدا ولازم نبقي فاهمينها
    قد يكون في علامات تانيه لان العلم كله عند الله ولم يؤته احد من خلقه ولكن دي اكتر علامات هنستخدمها
    والعلامات اللي في القسم الاول دي روتينيه
    اما علامات الجزء التاني فدي علامات بتختلف من سطر للتاني حسب رغبه المبرمج
    طيب كدا فاضل حاجه في الدرس دا
    الزاي اطلع مسار لامر معين من السورس مع اني معرفش مكانو اطريقه كتابتو ؟
    باختصار هيا حته تشغيل مخ من اللي هيشتغل الزاي ؟
    بص يا سيدي الاكواد اللي هتحتاجها كلها بنسبه 100% موجوده في السورس و 90 % منها مش هتغير فيها حاجه الا انك تاخدها من مكانها كوبي تحطها في الكويست بتاعتك باست بس طبعا هتكون فاهم انت بتنقل ايه
    الزاي الكلام دا
    تعالو كدا نعمل كويست بشكل بسيط وبالحاجات اللي اتعلمناها مش هنحتاج حاجه اكتر هنبتدي نعمل #region وبعدين #endregion وابدا اكتب بينهم
    ع اساس يبقي بالشكل دا
               

    الاختراع سمارت

      


     
    #region 
    
    
    
    #endregion 
    
    وهبدا اكتب بينهم اول حاجه معايا امر حاله الانبي سي اللي هو case وهنفترض رقم اي دي الانبي سي 123

    الاختراع سمارت



     
    #region
    case 123:
    {
    
    
    
    
    #endregion 
    
    وبعد كدا همشي انفذ الخطوات اللي اتعلمتها في المرحله الاولي والتانيه لحد لما اوصل ل if
    احنا متفقين ان if هيا اللي عن طريقها بقول في حاله لو كذا هنعمل كذا طيب تعالو نقول دا بلغه السورس بقا
    انا عاوزو اقولو لو الساعه واحده او اكتر لحد الدقيقه اقل من 10 او لحد الساعه اقل من واحده و 10 هروح ع اي انبي سي في السورس وهشوفو بيستخدم كود الوقت هنطلعو وناخدو كوبي احنا مش هناخدو عشان احنا مش هنعرف نعملو بس هناخدو بدل ما نكتبو ع ايدينا توفير في الوقت لان في النهايه لازم برده بنكتبو حسب مسارات السورس بتاعنا فالاسهل ان احنا ناخدو من اي انبي سي طيب احنا دلوقتي ناس بتعرف تقرا الاكواد وهنعرف نطلع كود الوقت بسهوله
    وليكن مثلا

    الاختراع سمارت



     
    if (DateTime.Now.Hour == 21 && DateTime.Now.Minute >= 11 && DateTime.Now.Minute < 30) 
    
    طيب تمام كدا هو بيقولي ايه ؟
    اول شرط : الساعه 21 ؟ اللي هيا DateTime.Now.Hour == 21 طيب الاجابه نعم نشوف اللي بعده
    تاني شرط : الدقيقه اكتر من 11 ؟ اللي هيا DateTime.Now.Minute >= 11 طيب الاجابه نعم اللي بعده
    تالت شرط : الدقيقه اقل من 30 ؟ اللي هيا DateTime.Now.Minute < 30 طيب الاجابه نعم اللي بعده
    ايه دا دا مفيش حاجا تاني ؟
    يبقي خلاص كل الشروط اتحققل هبتدي انفذ بقا المطلوب مني بس انا كدا هبقي اتعلمت ان مسار الوقت في السورس هو : DateTime.Now.Minute
    وباستخدام العلامات اللي انا لسه شارحها هتعرف تقول بقي الساعه كام بالظبط
    لو انت عملت الخطوه دي يبقي حطيت رجلك ع اول الطريق
    ومن هنا بقي ممكن تعمل اي شرط انت عاوزه مش لازم يكون الوقت
    يعني مثلا لو عاوز تعمل مسابقه لشخصيه معينه يبقي لانبي سي توب الشخصيات وتاخد منه كود تحديد الشخصيه
    بس هتاخدو وانت فاهم كل حرف فيه معناه ايه
    وهكذا في اي كود لاي اسكله اوي لفل او كونكر بوينت او كونكر بي كي اي حاجه موجوده في السورس
    وبكدا تقدر تعمل كويستات كتير بانواع مختلفه
    متخافش احنا لسه مخلصناش احنا لسه مشاورنا طويل شويه
    طيب كدا احنا حققنا الشرط عاوزين بقي ننفذ
    هقوللك هيا نفس الطريقه تقريبا
    يعني عاوز في حاله تحقق الشرط يتنقل للمابه اللي انت عاملها للمسابقه يبقي خلاص هتشوف اي كود بينقل اللاعب من اي انبي سي كويست
    وهيكون بالشكل دا وانت طبعا هتعرفه لواحدك لما تقرا الكود

    الاختراع سمارت



     
    client.Entity.Teleport(1002, 429, 378); 
    
    طيب لو عاوز ازود سي بي اس هتبقي زي كدا
    client.Entity.ConquerPoints += 100000;
    الكلام دا كله موجود في السورس وع فكره اللي هيدور هيلاقي حاجات كتير جدا انا اديتكم مفاتيحها بالشروحات اللي فاتت واللي لسه هتيجي ومن هنا اللي هيفكر بس هو اللي هيبدع اما اللي بيستني الناس تساعده هيفضل طول عمره مستني الناس تساعده
    وبكدا درس النهارده انتهي ويارب تكونو استفدتم واي حد عندو اي سؤال في اي حاجه انا متابع يسيب بس السؤال في رد