احصائياتى

الردود
50

المشاهدات
7222
 
Commander
.::عضو جديد ::.

    غير متواجد

المشاركات
119

+التقييم
0.04

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

الاقامة

نظام التشغيل

رقم العضوية
407
2019-08-05, 06:08 PM
المشاركة 1
2019-08-05, 06:08 PM
المشاركة 1
Happy الدونشن بوقت :DonationTime
بسم الله الرحمن الرحيم
ده هيفيد الناس الي عايزه تعمل شحن في سيرفراتها كنج بوقت معين ومش عارفه
نخش في الاضافه علي طول والاضافه سهله جدا ومش طويله
اول حاجه هنعمل كلاس جديد

كود:
using Extreme.Game;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ResidentEvil.Network.GamePackets;
using System.Threading;
using System.Threading.Generic;
using ResidentEvil.Network.Sockets;
using ResidentEvil.Game.ConquerStructures;
using ResidentEvil.Game.ConquerStructures.Society;
using ResidentEvil.Client;
using System.Drawing;
using ResidentEvil.Game.Events;
using ResidentEvil.Database;
using System.Data.SqlClient;
using System.Configuration;

namespace 
ResidentEvil
{
    public class 
NobilityTimer
    
{
        public 
DateTime StartOn, EndOn;
        public 
ulong OldDonation;
        public 
byte Donation;
        public 
Time32 CheckStamp = Time32.Now;
        public 
void Insert(DateTime _StartOn, DateTime _EndOn, byte _Donation, ulong _OldDonation, Client.GameState client)
        {
            
this.StartOn = _StartOn;
            
this.EndOn = _EndOn;
            
this.Donation = _Donation;
            
this.OldDonation = _OldDonation;
            
client.NobilityInformation.Donation = this.OldDonation;
            
#region Insert
            
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("nobilitytimer").Where("UID", client.Entity.UID))
            
using (var reader = new MySqlReader(cmd))
            {
                if (!
reader.Read())
                    
using (var cmds = new MySqlCommand(MySqlCommandType.INSERT))
                        
cmds.Insert("nobilitytimer").Insert("UID", client.Entity.UID).Execute();
            }
            
#endregion
            
this.Save(client);
            
client.Send("Your Rank Will End In " + this.EndOn + "");
            
        }
        public 
void Load(Client.GameState c)
        {
            
using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("nobilitytimer").Where("UID", c.Entity.UID))
            
using (var reader = new MySqlReader(cmd))
            {
                if (
reader.Read())
                {
                    
this.Donation = reader.ReadByte("Number");
                    
this.OldDonation = reader.ReadByte("OldDonation");
                    
this.StartOn = Kernel.FromDateTimeInt(reader.ReadUInt64("StartOn"));
                    
this.EndOn = Kernel.FromDateTimeInt(reader.ReadUInt64("EndOn"));
                }
            }
        }
        public 
void Save(Client.GameState client)
        {
            
Database.MySqlCommand cmd = new Database.MySqlCommand(Database.MySqlCommandType.UPDATE);
            
cmd.Update("nobilitytimer").Set("Number", this.Donation).Set("OldDonation", this.OldDonation).Set("StartOn", Kernel.ToDateTimeInt(this.StartOn)).Set("EndOn", Kernel.ToDateTimeInt(this.EndOn))
            .
Where("UID", client.Entity.UID).Execute();
        }
    }
} 

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

كود:
 GameState or GameClient 

ونحط فيه ده

كود:
 public NobilityTimer NobilityTimer = new NobilityTimer(); 

بعد كدا في نفس الكلاس وندور علي

كود:
void ShutDown() 

وننزل لحد

كود:
    Database.EntityTable.SaveEntity(this, conn); 

ونحط فوقيها ده

كود:
  NobilityTimer.Save(this); 

بعد كدا نروح لكلاس

كود:
EntityTable 

ونبحث عن

كود:
 client.Entity.FullyLoaded = true; 

ونحط تحتو ده

كود:
   client.NobilityTimer.Load(client); 

بعد كدا نروح لكلاس

كود:
Nobility

ندور علي

كود:
 case NobilityInfo.Donate: 

وتحت القوس نحط

كود:
  if (client.NobilityTimer.Donation == 1 || client.NobilityTimer.Donation == 2 || client.NobilityTimer.Donation == 3)
                        {
                            
client.MessageBox("Sorry U Can't Donate Now.", null, null, 60);
                            return;
                        } 

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

كود:
 void DoLogin 

وتحت القوس نحط

كود:
 client.NobilityTimer.Load(client); 

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

كود:
 void CharactersCallback 

ونحط فيه ده

كود:
#region NobilityTimer Check
           
            
if (client.NobilityTimer.Donation > 0 && DateTime.Now >= client.NobilityTimer.EndOn)
            {
                
client.NobilityInformation.Donation = client.NobilityTimer.OldDonation; 
                
Game.ConquerStructures.Nobility.Sort(client.Entity.UID);
                
Database.NobilityTable.UpdateNobilityInformation(client.NobilityInformation);
                
client.NobilityTimer.Save(client);
                
client.Send("Your Rank, Is Ended, Now Your Rank is Back.");
                
MySqlCommand cmd = new MySqlCommand(MySqlCommandType.DELETE);
                
cmd.Delete("nobilitytimer", "UID", client.Entity.UID).Execute();
                
client.NobilityTimer.Donation = 0;
            }
          
            
#endregion 

بعد كدا اخر حاجه في الاضافه في السي شارب وهيا الان بي سي

كود:
#region DonationTime
                
case 38213:
                    {

                        switch (
npcRequest.OptionID)
                        {
                            case 
0:
                                {

                                    
dialog.Text("Hey there " + client.Entity.Name + ", I'm Here to Up Ur Rank 7 Days For Cps.");
                                    
dialog.Option("Up Me To King/Queen", 1);
                                    
dialog.Option("Up Me To Prince/Princess.", 2);
                                    
dialog.Option("Up Me To Duke/Duchess.", 3);
                                    
dialog.Option("No Thanks.", 255);
                                    
dialog.Avatar(50);
                                    
dialog.Send();
                                    break;
                                }
                            case 
1:
                                {

                                    
dialog.Text("I'll Up U To King/Queen to 7 Days For 200.000 Cps.");
                                    
dialog.Option("Ok, Up Me.", 4);
                                    
dialog.Option("No Thanks.", 255);
                                    
dialog.Avatar(50);
                                    
dialog.Send();
                                    break;
                                }
                            case 
2:
                                {

                                    
dialog.Text("I'll Up U To Prince/Princess to 7 Days For 100.000 Cps.");
                                    
dialog.Option("Ok, Up Me.", 5);
                                    
dialog.Option("No Thanks.", 255);
                                    
dialog.Avatar(50);
                                    
dialog.Send();
                                    break;
                                }
                            case 
3:
                                {

                                    
dialog.Text("I'll Up U To Duke/Duchess to 7 to Days 50.000 Cps.");
                                    
dialog.Option("Ok, Up Me.", 6);
                                    
dialog.Option("No Thanks.", 255);
                                    
dialog.Avatar(50);
                                    
dialog.Send();
                                    break;
                                }
                            case 
4:
                                {
                                    if (
DateTime.Now >= client.NobilityTimer.EndOn)
                                    {
                                        if (
client.Entity.ConquerPoints >= 200000)
                                        {
                                            
client.Entity.ConquerPoints -= 200000;
                                            
client.NobilityTimer.Insert(DateTime.Now, DateTime.Now.AddDays(7), 1, client.NobilityInformation.Donation, client);
                                            
client.NobilityTimer.Save(client);
                                            
client.NobilityInformation.Donation = 1;
                                            
Kernel.SendWorldMessage(new Message("Congratulation! " + client.Entity.Name + " Has been King/Queen For 7 Days. ", Color.Red, Message.Center));
                                            
Game.ConquerStructures.Nobility.Sort(client.Entity.UID);
                                            
Database.NobilityTable.UpdateNobilityInformation(client.NobilityInformation);
                                        }
                                        else
                                        {
                                            
dialog.Text("Please come back to me with 200.000 Conquer Points.");
                                            
dialog.Option("Ahh sorry.", 255);
                                            
dialog.Avatar(50);
                                            
dialog.Send();
                                        }
                                    }
                                    else
                                    {
                                    
dialog.Text("U Already do it.");
                                    
dialog.Option("Ahh sorry.", 255);
                                    
dialog.Avatar(50);
                                    
dialog.Send();
                                    }
                                    break;
                                }
                            case 
5:
                                {
                                    if (
DateTime.Now >= client.NobilityTimer.EndOn)
                                    {
                                        if (
client.Entity.ConquerPoints >= 100000)
                                        {
                                            
client.Entity.ConquerPoints -= 100000;
                                            
client.NobilityTimer.Insert(DateTime.Now, DateTime.Now.AddDays(7), 2, client.NobilityInformation.Donation, client);
                                            
client.NobilityTimer.Save(client);
                                            
client.NobilityInformation.Donation = 2;
                                            
Kernel.SendWorldMessage(new Message("Congratulation! " + client.Entity.Name + " Has been Prince/Princess For 7 Days. ", Color.Red, Message.Center));
                                            
Game.ConquerStructures.Nobility.Sort(client.Entity.UID);
                                            
Database.NobilityTable.UpdateNobilityInformation(client.NobilityInformation);
                                        }
                                        else
                                        {
                                            
dialog.Text("Please come back to me with 100.000 Conquer Points.");
                                            
dialog.Option("Ahh sorry.", 255);
                                            
dialog.Avatar(50);
                                            
dialog.Send();
                                        }
                                    }
                                    else
                                    {
                                        
dialog.Text("U Already do it.");
                                        
dialog.Option("Ahh sorry.", 255);
                                        
dialog.Avatar(50);
                                        
dialog.Send();
                                    }
                                    break;
                                }
                            case 
6:
                                {
                                    if (
DateTime.Now >= client.NobilityTimer.EndOn)
                                    {
                                        if (
client.Entity.ConquerPoints >= 50000)
                                        {
                                            
client.Entity.ConquerPoints -= 50000;
                                            
client.NobilityTimer.Insert(DateTime.Now, DateTime.Now.AddDays(7), 3, client.NobilityInformation.Donation, client);
                                            
client.NobilityTimer.Save(client);
                                            
client.NobilityInformation.Donation = 3;
                                            
Kernel.SendWorldMessage(new Message("Congratulation! " + client.Entity.Name + " Has been Duke/Duchess For 7 Days. ", Color.Red, Message.Center));
                                            
Game.ConquerStructures.Nobility.Sort(client.Entity.UID);
                                            
Database.NobilityTable.UpdateNobilityInformation(client.NobilityInformation);
                                        }
                                        else
                                        {
                                            
dialog.Text("Please come back to me with 50.000 Conquer Points.");
                                            
dialog.Option("Ahh sorry.", 255);
                                            
dialog.Avatar(50);
                                            
dialog.Send();
                                        }
                                    }
                                    else
                                    {
                                        
dialog.Text("U Already do it.");
                                        
dialog.Option("Ahh sorry.", 255);
                                        
dialog.Avatar(50);
                                        
dialog.Send();
                                    }
                                    break;
                                }
                        }
                        break;
                    }
                
#endregion 

روح لكلاس

كود:
nobility 

ابحث عن

كود:
  if (Place >= 51) 

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

كود:
  if (entry.Donation == 1)
                        {
                            
Rank = NobilityRank.King;
                        }
                        if (
entry.Donation == 2)
                        {
                            
Rank = NobilityRank.Prince;
                        }
                        if (
entry.Donation == 3)
                        {
                            
Rank = NobilityRank.Duke;
                        } 

والتحكم في الوقت من هنا

كود:
DateTime.Now.AddDays(7), 

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

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



التعديل الأخير تم بواسطة Rider ; 2019-08-06 الساعة 05:26 AM
قديم 2019-08-05, 06:30 PM
المشاركة 2
Hazem
.:: المدير العام::.
  • غير متواجد
افتراضي رد: الدونشن بوقت :DonationTime
رايد منزل موضوع ده
بس هو لما يجي يشوفه هو هو ولا لا
وتسلم علي الموضوع

قديم 2019-08-05, 06:32 PM
المشاركة 3
Hassan Emprator
.:: مشرف قسم المشاكل ::.
  • غير متواجد
افتراضي رد: الدونشن بوقت :DonationTime
تسلم ايدك كنت محتاجو اوي ولله عااااش فشخ يقيم من 5 نجوووم

قديم 2019-08-05, 06:36 PM
المشاركة 4
Commander
.::عضو جديد ::.
  • غير متواجد
افتراضي رد: الدونشن بوقت :DonationTime
عفواً لايمكن عرض الرابط إلا بعد الرد على الموضوع
رايد منزل موضوع ده
بس هو لما يجي يشوفه هو هو ولا لا
وتسلم علي الموضوع
انا لسا شايفو دلوقتي والله لما شوفت كلامك بس انا مش واخده منه خالص وممكن انزل تاريخ السيستم ده عاملو اكتر من سنه والفرق الي بين الاتنين الاتشك معمول بطريقه احسن عنندي مبيعملو كل ثانيتين و ان اللاعب مينفعش يتبرع وهو شاحن علشان هو كدا بيتبرع علي الفاضي

قديم 2019-08-05, 06:38 PM
المشاركة 5
Hazem
.:: المدير العام::.
  • غير متواجد
افتراضي رد: الدونشن بوقت :DonationTime
عفواً لايمكن عرض الرابط إلا بعد الرد على الموضوع
انا لسا شايفو دلوقتي والله لما شوفت كلامك بس انا مش واخده منه خالص وممكن انزل تاريخ السيستم ده عاملو اكتر من سنه والفرق الي بين الاتنين الاتشك معمول بطريقه احسن عنندي مبيعملو كل ثانيتين و ان اللاعب مينفعش يتبرع وهو شاحن علشان هو كدا بيتبرع علي الفاضي
عادي مش مشكله بس لما يجي رايدر لان نفس الفكره نزلت وهو المشرف هنا ومره تاني تسلم علي الموضوع الجميل

قديم 2019-08-05, 06:50 PM
المشاركة 6
Commander
.::عضو جديد ::.
  • غير متواجد
افتراضي رد: الدونشن بوقت :DonationTime
عفواً لايمكن عرض الرابط إلا بعد الرد على الموضوع
تسلم ايدك كنت محتاجو اوي ولله عااااش فشخ يقيم من 5 نجوووم
حبيبي

قديم 2019-08-05, 08:41 PM
المشاركة 7
MohamedModyAdel
.:: عضو مميز ::.
  • غير متواجد
افتراضي رد: الدونشن بوقت :DonationTime
تسلم كنت مستني موضوع دا من زمان

قديم 2019-08-05, 11:20 PM
المشاركة 8
Matrix
.:: عضو نشيط ::.
  • غير متواجد
افتراضي رد: الدونشن بوقت :DonationTime
3aaaaaaash

قديم 2019-08-06, 12:42 AM
المشاركة 9
Commander
.::عضو جديد ::.
  • غير متواجد
افتراضي رد: الدونشن بوقت :DonationTime
يا ريت اي حد من الاشراف يضيف ده في الموضوع علشان نسيتو
روح لكلاس

كود:
nobility 

ابحث عن

كود:
  if (Place >= 51) 

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

كود:
  if (entry.Donation == 1)
                        {
                            
Rank = NobilityRank.King;
                        }
                        if (
entry.Donation == 2)
                        {
                            
Rank = NobilityRank.Prince;
                        }
                        if (
entry.Donation == 3)
                        {
                            
Rank = NobilityRank.Duke;
                        } 


قديم 2019-08-06, 05:26 AM
المشاركة 10
Rider
.:: نائب المدير ::.
  • غير متواجد
افتراضي رد: الدونشن بوقت :DonationTime
عاش احسنت <3


العلامات المرجعية



الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 

الانتقال السريع

المواضيع المتشابهه للموضوع: الدونشن بوقت :DonationTime
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
كيفية اعطاء باند بوقت Hazem تطوير سيرفرات كونكر 2 2020-04-17 04:14 AM
اعمل سجن بدون خروج وكمان بوقت انت الى بتحددو ورسالة Hazem تطوير سيرفرات كونكر 3 2019-07-29 01:02 PM


الساعة الآن 02:09 AM