عرض مشاركة واحدة
احصائياتى

الردود
26

المشاهدات
8868
 
محمد ياسر

محمد ياسر is on a distinguished road

    غير متواجد

المشاركات
1,940

+التقييم
0.90

تاريخ التسجيل
Apr 2019

الاقامة
https://www.facebook.com/daany

نظام التشغيل

رقم العضوية
1
2020-04-16, 12:15 AM
المشاركة 1 
#1  
افتراضي سستم شحن كروت الشحن داخل الجيم



السلام عليكم ورحمة الله وبركاته
اعود اليكم منذ سنتين بفكره جديده
انا سايب مجال السي شارب ليه سنتين بس لما فكرت افتح لعبه قولت لازم ابداء اراجع الاكواد من تاني فعملتلكم حاجه بسيطه كده فكره صغيرها بس ناس كتير محتجاها
انبي سي بيشحن كروت الشحن جواها اللعبه ومش اي انبي سي
ده ممكن يشحنلك اكتر من عرض في كرت واحد علي حسب مانت تحط في العرض ده
يلا نبداء بعد كده نشرح

في كلاس npc.cs

كود:
#region Charge card System 
                    //code.vpscairo.com
                    //  code by  Hazem , Rider , Rayzo,HassanEmprator:)
                
case 3001215:
                    {
                        switch (
npcRequest.OptionID)
                        {
                            case 
0:
                                {
                                    
dialog.Text("Welcome to the shop using card. Do you want to user card TQ?");
                                    
dialog.Option("use card"102);
                                    
dialog.Option("Not now."255);
                                    
dialog.Avatar(175);
                                    
dialog.Send();
                                    break;
                                }
                           
                           
                            case 
102:
                                try
                                {
                                    
string Numberofcard;
                                    
Numberofcard npcRequest.Input;
                                    
client.Numberofcard Numberofcard;
                                    
dialog.Text("Please insert Card Number.");
                                    
dialog.Input("Here:"10814);
                                    
dialog.Option("No."110);
                                    
dialog.Send();
                                    break;
                                }
                                catch
                                {
                                    
dialog.Text("Please write the correct value.");
                                    
dialog.Option("Try Again."106);
                                    
dialog.Option("Quit."110);
                                    
dialog.Send();
                                }
                                break;
                            
//////////////////////////////////////////  
                            
case 108:
                                try
                                {
                                    
string Numberofcard;
                                    
Numberofcard npcRequest.Input;
                                    
client.Numberofcard Numberofcard;
                                    if (
Numberofcard == client.Numberofcard)
                                    {
                                        
dialog.Text("enter the password card number");
                                        
dialog.Input("Here:"109100);
                                        
dialog.Option("No."10);
                                    }
                                    else
                                    {
                                        
dialog.Text("Wrong Code.");
                                        
dialog.Option("Alright."10);
                                    }
                                    
dialog.Send();
                                    break;
                                }
                                catch
                                {
                                    
dialog.Text("Please write the correct value.");
                                    
dialog.Option("Try Again."7);
                                    
dialog.Option("Quit."0xff);
                                    
dialog.Send();
                                }
                                break;
                            
//////////////////////////////////////////  
                            
case 109:
                                {
                                    
string Numberofitem;
                                    
Numberofitem npcRequest.Input;
                                    
client.Numberofitem Numberofitem;
                                    
string str2 client.Socket.IP.ToString().Split(new char[] { ':' })[0].ToString();
                                    
client.Account.IP str2;

                                   
                                    
using (var reader = new MySqlReader(new MySqlCommand(MySqlCommandType.SELECT).Select("cards").Where("card"client.Numberofcard)))
                                    {

                                        if (
reader.Read())
                                        {

                                            if (
client.Numberofitem == "" reader.ReadUInt32("pass") + "")
                                            {

                                                if (
reader.ReadUInt32("uses") == 0)
                                                {

                                                    
using (var items = new MySqlReader(new MySqlCommand(MySqlCommandType.SELECT).Select("item_card").Where("id_order"reader.ReadString("id"))))
                                                    {
                                                        if (
client.Inventory.Count 40 reader.ReadUInt32("items"))
                                                        {
                                                        
dialog.Text("Congratulations, the card was successfully shipped and received");
                                                        while (
items.Read())
                                                        {
                                                            if (
items.ReadUInt32("uses") == 0)
                                                            {


                                                               

                                                                    if (
items.ReadString("type") == "entities")
                                                                    {
                                                                        if (
items.ReadString("name") == "ConquerPoints"client.Entity.ConquerPoints += items.ReadUInt32("item");
                                                                        if (
items.ReadString("name") == "Level"client.Entity.Level items.ReadByte("item");
                                                                        if (
items.ReadString("name") == "Money"client.Entity.Money += items.ReadUInt32("item");
                                                                        if (
items.ReadString("name") == "VIPLevel"client.Entity.VIPLevel items.ReadByte("item");
                                                                        if (
items.ReadString("name") == "Domino"client.Entity.Domino items.ReadByte("item");
                                                                        
dialog.Option("You Get  [ " items.ReadString("item") + " ] " items.ReadString("name") + " ");


                                                                    }
                                                                    else if (
items.ReadString("type") == "items")
                                                                    {
                                                                        
client.Inventory.Add(items.ReadUInt32("item"), 01);
                                                                        
dialog.Option("You Get item [ " items.ReadString("name") + " ]");
                                                                    }

                                                                    
client.Send(new NpcReply(NpcReply.MessageBox"The card was successfully shipped"));
                                                                    new 
Database.MySqlCommand(Database.MySqlCommandType.Update).Update("cards").Set("uses"1).Set("user"client.Entity.Name).Set("uid"client.Entity.UID).Where("card"client.Numberofcard).Execute();
                                                                    new 
Database.MySqlCommand(Database.MySqlCommandType.Update).Update("item_card").Set("uses"1).Set("user"client.Entity.Name).Set("uid"client.Entity.UID).Where("id_order"reader.ReadString("id")).Execute();
                                                            }
                                                        }

                                                        } else
                                                        {
                                                            
dialog.Text("You need to [ " reader.ReadUInt32("items") + " ] In the bag to complete charging the card");
                                                        }
                                                       
                                                    }
                                                  
                                                   
                                                }
                                                else
                                                {
                                                    
dialog.Text("This card has already been used");
                                                }
                                            }
                                            else {
                                                
dialog.Text("Card data mistake, please make sure the card data is correct");
                                            }
                                        }
                                        else
                                        {
                                            
dialog.Text("You entered an error data. Please try again later");
                                        }
                                    }

                                   
                                    
client.Numberofcard "";
                                    
client.Numberofitem "";
                                   
                                    
dialog.Option("Team code."255);
                                    
dialog.Send();
                                 
                                    break;
                                }
                        }
                        break;
                    }
                
#endregion 




GameState.cs


كود:
        public string Numberofcard;
        public 
string Numberofitem

ارفع دول لقاعده البيانات
عفواً لايمكن عرض الرابط إلا بعد الرد على الموضوع

صور للسستم









شرج السستم
بص ياسيدي انت لما ترفع القاعده الي في الملف لقاعده الجيم ايطلع عندك ملفيهم هما
cards : ده مسئول عن الكارت من رقم الكارت وكلمة سر الكارت
item_card : ده مسئول عن الاغراض الي جوها الكارت ياعني الكارت ايشحن ايه وكده

طيب علي سبيل المثال



ده مثال كارت انت اتعمله علي ايدك طبعا مش عامل ليه صفحه ولا حاجه ده مجرد تجربه اوليه لكن انا رابطه في صفحه لعبه بكل حاجه وده مش موضوعنا ندخل علي المهم
شايف ال id الي عامل عليه مربع احمر ده منطقة اللعبه
مهم صف items تحط فيهم رقم الايتمات لاحظ معايا الايتمات ياعني items مش entities علشان الانبي سي يعرف محتاج كام خانه فاضيه علشان الكارت يشحن
وعلشان نربط ايتم بالكارت نروح لجدول item_card ونشوف المثال ده


في الصوره في المربع الاحمر اتلاحظ ان رقم ال id_order هو رقم id بتاع الكارت الي احنا عملنها
وصف item ده الكميه ياعني لو عايز تدي للاعب مليون سي بي اتكتب مليون 1000000 كده اما لو ايتم انت اتكتب رقم الايتم فقط لاغير
وصف type ده نوع الغرض لو عايزه يدي سي بي او جولد او في اي بي او لفل او ديمنو اتخليه entities لو عايز تخليه ايتم تخليه items
وصف name ده اسم الغرض وده مهم بنستعمله فقط في entities لو كان سي بي او ...... وتحط فيه واحد من الاربع دول العب الاساسي عليهم

كود:
ConquerPoints
Level
Money
VIPLevel
Domino 


اظن الكل عارف ايه هو كل كود الاول لسي بي والتاني للفل والتالت لجولد والرابع للفي اي بي والخامس لديمو
طيب لو عايز احط غرضين في الكارت سهله ياباشا اعمل سطر جديد واربط برقم الكارت وعيش انت بقا اهم حاجه رقم id لكارت
وبعد ما الكارت يتشحن ميشحن تاني هي مره وبس
وزياده امان الشحن لو الكارت فيه 10 ايتمات والاعب مفيش في الحقيبه 11 خانه فاضيه الكارت مش ايشحن غير لما يفضي شوية من الحقيبه علشان مفيش حاجه تروح منه
والي مش فاهم يقول وانا اعيد من تاني

رمضان مبارك عليكم كلكم