محمد ياسر
2019-04-23, 03:23 PM
شرح النظام هو ان اللعبه تغلق 15 دقيقه اثناء مواقيت الصلاه وبعد انتهاء الـ 15 دقيقه اللعبه تشتغل لوحدها أؤتومتيك
ملحوظه فى صلاة الجمعه اللعبه بتقفل 30 دقيقه وبرضو بعد انتهاء الـ 30 دقيقه اللعبه تشتغل لوحدها أؤتومتيك
وعلشان مواقيت الصلاه مش ثابته لانها بتتغير مع الايام فعملت قاعده بيانات تحتوى على مواقيت الصلاه لسنه 2016 كامله
بتوقيت مصر لمدينة القاهره لان عاصمة مصر القاهره وعلى فكره النظام ده انا مطبقه فى سيرفراتى بقالى فتره والحمد لله شغال تمام
وأرجو عدم تغير حقوق الموضوع والله سبحانه وتعالى مطلع على كل شىء
نخش بقا على شرح الاضافة
هتخش فى Game وهتضيف فيه كلاس باسم
Mwa8ytAlslah.cs
وهتمسح كل الاكواد اللى جواه وهتضيف الاكواد دي
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ElbooshyProject.Client;
using ElbooshyProject.Database;
namespace ElbooshyProject.Game
{
class Mwa8ytAlslah
{
public static uint SlaatAlfgrHour = 0;
public static uint SlaatAlfgrMinute = 0;
public static uint SlaatAlzhrHour = 0;
public static uint SlaatAlzhrMinute = 0;
public static uint SlaatAl3srHour = 0;
public static uint SlaatAl3srMinute = 0;
public static uint SlaatAlmghrbHour = 0;
public static uint SlaatAlmghrbMinute = 0;
public static uint SlaatAl3shaHour = 0;
public static uint SlaatAl3shaMinute = 0;
public static DateTime LastSlah;
public static uint WaitingSlah;
public static bool SlahNow = false;
public static uint TimeHour(byte Hour)
{
byte hour = 0;
if (Hour == 1) hour = 13;
else if (Hour == 2) hour = 14;
else if (Hour == 3) hour = 15;
else if (Hour == 4) hour = 16;
else if (Hour == 5) hour = 17;
else if (Hour == 6) hour = 18;
else if (Hour == 7) hour = 19;
else if (Hour == 8) hour = 20;
else if (Hour == 9) hour = 21;
else if (Hour == 10) hour = 22;
else hour = Hour;
return hour;
}
public static void LoadMwa8ytAlslah()
{
DateTime Date = DateTime.Now;
MySqlCommand cmd = new MySqlCommand(MySqlCommandType.SELECT);
cmd.Select("Mwa8ytAlslah").Where("Month", Date.Month);
MySqlReader r = new MySqlReader(cmd);
while (r.Read())
{
if (r.ReadString("Day") == Date.Day.ToString())
{
#region Alfgr
{
string Alfgr = "";
Alfgr = r.ReadString("Alfgr");
string[] Alfgrs = Alfgr.Split(':');
SlaatAlfgrHour = Convert.ToByte(Alfgrs[0]);
SlaatAlfgrMinute = Convert.ToByte(Alfgrs[1]);
}
#endregion
#region Alzhr
{
string Alzhr = "";
Alzhr = r.ReadString("Alzhr");
string[] Alzhrs = Alzhr.Split(':');
SlaatAlzhrHour = TimeHour(Convert.ToByte(Alzhrs[0]));
SlaatAlzhrMinute = Convert.ToByte(Alzhrs[1]);
}
#endregion
#region Al3sr
{
string Al3sr = "";
Al3sr = r.ReadString("Al3sr");
string[] Al3srs = Al3sr.Split(':');
SlaatAl3srHour = TimeHour(Convert.ToByte(Al3srs[0]));
SlaatAl3srMinute = Convert.ToByte(Al3srs[1]);
}
#endregion
#region Almghrb
{
string Almghrb = "";
Almghrb = r.ReadString("Almghrb");
string[] Almghrbs = Almghrb.Split(':');
SlaatAlmghrbHour = TimeHour(Convert.ToByte(Almghrbs[0]));
SlaatAlmghrbMinute = Convert.ToByte(Almghrbs[1]);
}
#endregion
#region Al3sha
{
string Al3sha = "";
Al3sha = r.ReadString("Al3sha");
string[] Al3shas = Al3sha.Split(':');
SlaatAl3shaHour = TimeHour(Convert.ToByte(Al3shas[0]));
SlaatAl3shaMinute = Convert.ToByte(Al3shas[1]);
}
#endregion
}
r.Close();
r.Dispose();
}
Console.WriteLine("Mwa8ytAlslah Loaded.");
}
public static void Mwa8ytAlslahh(GameState client)
{
if (SlahNow)
{
client.Disconnect();
}
}
public static void ShutDownLSlah()
{
#region Mwa8ytAlslah
if (DateTime.Now.Hour == Mwa8ytAlslah.SlaatAlfgrHour && DateTime.Now.Minute == Mwa8ytAlslah.SlaatAlfgrMinute ||
DateTime.Now.Hour == Mwa8ytAlslah.SlaatAlzhrHour && DateTime.Now.Minute == Mwa8ytAlslah.SlaatAlzhrMinute ||
DateTime.Now.Hour == Mwa8ytAlslah.SlaatAl3srHour && DateTime.Now.Minute == Mwa8ytAlslah.SlaatAl3srMinute ||
DateTime.Now.Hour == Mwa8ytAlslah.SlaatAlmghrbHour && DateTime.Now.Minute == Mwa8ytAlslah.SlaatAlmghrbMinute ||
DateTime.Now.Hour == Mwa8ytAlslah.SlaatAl3shaHour && DateTime.Now.Minute == Mwa8ytAlslah.SlaatAl3shaMinute)
{
if (!SlahNow)
{
if (DateTime.Now.DayOfWeek == DayOfWeek.Friday && DateTime.Now.Hour == Mwa8ytAlslah.SlaatAlzhrHour && DateTime.Now.Minute == Mwa8ytAlslah.SlaatAlzhrMinute)
WaitingSlah = 30;
else
WaitingSlah = 15;
LastSlah = DateTime.Now;
SlahNow = true;
}
}
if (DateTime.Now > LastSlah.AddMinutes(WaitingSlah))
{
if (SlahNow) SlahNow = false;
}
if (DateTime.Now.Hour == 01 && DateTime.Now.Minute == 00 && DateTime.Now.Second == 00)
LoadMwa8ytAlslah();
#endregion
}
}
}
وهتبحث فى ملف Program.cs أو فى ملف Server.cs على حسب سورسك على
Database.ArenaTable.Load();
هتضيف فوقيها على طول
Game.Mwa8ytAlslah.LoadMwa8ytAlslah();
وهتبحث فى ملف GeneralData.cs أو فى ملف PacketHandler.cs على حسب سورسك على
DoLogin(client);
هتضيف فوقيها على طول
if (Game.Mwa8ytAlslah.SlahNow)//Mwa8ytAlslah
{
client.Send(new Message("all3bh m'3l8h lada2 alslah 7awol ald5wol fyw8t la78", "ALLUSERS", System.Drawing.Color.Orange, GamePackets.Message.Dialog));
return;
}
ملحوظه الكود ده موجود فيه الرساله اللى هتظهر للاعب تعرفه ان اللعبه مغلقه للصلاه علشان لو حبيتو تغيروها بالعربى للناس اللى سيرفراتها عربى هى حاليا فرانكو
وهتبحث فى ملف Thread.cs أو فى ملف World.cs.cs على حسب سورسك على
Game.Qualifier.Reset();
وهتضيف تحتو على طول
Game.Mwa8ytAlslah.ShutDownLSlah();
وهتبحث برضو فى نفس الملف على
if (client.Entity.HandleTiming)
وهتضيف تحت اول } يقابلك
#region Mwa8ytAlslah
Game.Mwa8ytAlslah.Mwa8ytAlslahh(client);
#endregion
وأخيراً هتحمل الملف ده وهتفك ضغطه هيطلعلك ملف بصيغة sql هترفعو على قاعدة البيانات
تحميل الملف (عفواً لايمكن عرض الروابط في الإرشيف)
ملحوظه اسم البروجيكت ElbooshyProject هتغيروه الى اسم البروجيكت بتاع السورس اللى هتضيفو فيه السيستم
وبكده الحمد لله اتنهت الاضافه
لا اريد منكم شكر ولا تقيم ولاكن اريد دعوه خالصه من قلبكم
وأريد من الله عز وجل ان يجعله فى ميزان حسناتى وفى ميزان حسنات كل من طبق هذا النظام فى سيرفره
في أمان الله وفي حفظ الرحمن
والسلام عليكم ورحمة الله وبركاته
ملحوظه فى صلاة الجمعه اللعبه بتقفل 30 دقيقه وبرضو بعد انتهاء الـ 30 دقيقه اللعبه تشتغل لوحدها أؤتومتيك
وعلشان مواقيت الصلاه مش ثابته لانها بتتغير مع الايام فعملت قاعده بيانات تحتوى على مواقيت الصلاه لسنه 2016 كامله
بتوقيت مصر لمدينة القاهره لان عاصمة مصر القاهره وعلى فكره النظام ده انا مطبقه فى سيرفراتى بقالى فتره والحمد لله شغال تمام
وأرجو عدم تغير حقوق الموضوع والله سبحانه وتعالى مطلع على كل شىء
نخش بقا على شرح الاضافة
هتخش فى Game وهتضيف فيه كلاس باسم
Mwa8ytAlslah.cs
وهتمسح كل الاكواد اللى جواه وهتضيف الاكواد دي
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ElbooshyProject.Client;
using ElbooshyProject.Database;
namespace ElbooshyProject.Game
{
class Mwa8ytAlslah
{
public static uint SlaatAlfgrHour = 0;
public static uint SlaatAlfgrMinute = 0;
public static uint SlaatAlzhrHour = 0;
public static uint SlaatAlzhrMinute = 0;
public static uint SlaatAl3srHour = 0;
public static uint SlaatAl3srMinute = 0;
public static uint SlaatAlmghrbHour = 0;
public static uint SlaatAlmghrbMinute = 0;
public static uint SlaatAl3shaHour = 0;
public static uint SlaatAl3shaMinute = 0;
public static DateTime LastSlah;
public static uint WaitingSlah;
public static bool SlahNow = false;
public static uint TimeHour(byte Hour)
{
byte hour = 0;
if (Hour == 1) hour = 13;
else if (Hour == 2) hour = 14;
else if (Hour == 3) hour = 15;
else if (Hour == 4) hour = 16;
else if (Hour == 5) hour = 17;
else if (Hour == 6) hour = 18;
else if (Hour == 7) hour = 19;
else if (Hour == 8) hour = 20;
else if (Hour == 9) hour = 21;
else if (Hour == 10) hour = 22;
else hour = Hour;
return hour;
}
public static void LoadMwa8ytAlslah()
{
DateTime Date = DateTime.Now;
MySqlCommand cmd = new MySqlCommand(MySqlCommandType.SELECT);
cmd.Select("Mwa8ytAlslah").Where("Month", Date.Month);
MySqlReader r = new MySqlReader(cmd);
while (r.Read())
{
if (r.ReadString("Day") == Date.Day.ToString())
{
#region Alfgr
{
string Alfgr = "";
Alfgr = r.ReadString("Alfgr");
string[] Alfgrs = Alfgr.Split(':');
SlaatAlfgrHour = Convert.ToByte(Alfgrs[0]);
SlaatAlfgrMinute = Convert.ToByte(Alfgrs[1]);
}
#endregion
#region Alzhr
{
string Alzhr = "";
Alzhr = r.ReadString("Alzhr");
string[] Alzhrs = Alzhr.Split(':');
SlaatAlzhrHour = TimeHour(Convert.ToByte(Alzhrs[0]));
SlaatAlzhrMinute = Convert.ToByte(Alzhrs[1]);
}
#endregion
#region Al3sr
{
string Al3sr = "";
Al3sr = r.ReadString("Al3sr");
string[] Al3srs = Al3sr.Split(':');
SlaatAl3srHour = TimeHour(Convert.ToByte(Al3srs[0]));
SlaatAl3srMinute = Convert.ToByte(Al3srs[1]);
}
#endregion
#region Almghrb
{
string Almghrb = "";
Almghrb = r.ReadString("Almghrb");
string[] Almghrbs = Almghrb.Split(':');
SlaatAlmghrbHour = TimeHour(Convert.ToByte(Almghrbs[0]));
SlaatAlmghrbMinute = Convert.ToByte(Almghrbs[1]);
}
#endregion
#region Al3sha
{
string Al3sha = "";
Al3sha = r.ReadString("Al3sha");
string[] Al3shas = Al3sha.Split(':');
SlaatAl3shaHour = TimeHour(Convert.ToByte(Al3shas[0]));
SlaatAl3shaMinute = Convert.ToByte(Al3shas[1]);
}
#endregion
}
r.Close();
r.Dispose();
}
Console.WriteLine("Mwa8ytAlslah Loaded.");
}
public static void Mwa8ytAlslahh(GameState client)
{
if (SlahNow)
{
client.Disconnect();
}
}
public static void ShutDownLSlah()
{
#region Mwa8ytAlslah
if (DateTime.Now.Hour == Mwa8ytAlslah.SlaatAlfgrHour && DateTime.Now.Minute == Mwa8ytAlslah.SlaatAlfgrMinute ||
DateTime.Now.Hour == Mwa8ytAlslah.SlaatAlzhrHour && DateTime.Now.Minute == Mwa8ytAlslah.SlaatAlzhrMinute ||
DateTime.Now.Hour == Mwa8ytAlslah.SlaatAl3srHour && DateTime.Now.Minute == Mwa8ytAlslah.SlaatAl3srMinute ||
DateTime.Now.Hour == Mwa8ytAlslah.SlaatAlmghrbHour && DateTime.Now.Minute == Mwa8ytAlslah.SlaatAlmghrbMinute ||
DateTime.Now.Hour == Mwa8ytAlslah.SlaatAl3shaHour && DateTime.Now.Minute == Mwa8ytAlslah.SlaatAl3shaMinute)
{
if (!SlahNow)
{
if (DateTime.Now.DayOfWeek == DayOfWeek.Friday && DateTime.Now.Hour == Mwa8ytAlslah.SlaatAlzhrHour && DateTime.Now.Minute == Mwa8ytAlslah.SlaatAlzhrMinute)
WaitingSlah = 30;
else
WaitingSlah = 15;
LastSlah = DateTime.Now;
SlahNow = true;
}
}
if (DateTime.Now > LastSlah.AddMinutes(WaitingSlah))
{
if (SlahNow) SlahNow = false;
}
if (DateTime.Now.Hour == 01 && DateTime.Now.Minute == 00 && DateTime.Now.Second == 00)
LoadMwa8ytAlslah();
#endregion
}
}
}
وهتبحث فى ملف Program.cs أو فى ملف Server.cs على حسب سورسك على
Database.ArenaTable.Load();
هتضيف فوقيها على طول
Game.Mwa8ytAlslah.LoadMwa8ytAlslah();
وهتبحث فى ملف GeneralData.cs أو فى ملف PacketHandler.cs على حسب سورسك على
DoLogin(client);
هتضيف فوقيها على طول
if (Game.Mwa8ytAlslah.SlahNow)//Mwa8ytAlslah
{
client.Send(new Message("all3bh m'3l8h lada2 alslah 7awol ald5wol fyw8t la78", "ALLUSERS", System.Drawing.Color.Orange, GamePackets.Message.Dialog));
return;
}
ملحوظه الكود ده موجود فيه الرساله اللى هتظهر للاعب تعرفه ان اللعبه مغلقه للصلاه علشان لو حبيتو تغيروها بالعربى للناس اللى سيرفراتها عربى هى حاليا فرانكو
وهتبحث فى ملف Thread.cs أو فى ملف World.cs.cs على حسب سورسك على
Game.Qualifier.Reset();
وهتضيف تحتو على طول
Game.Mwa8ytAlslah.ShutDownLSlah();
وهتبحث برضو فى نفس الملف على
if (client.Entity.HandleTiming)
وهتضيف تحت اول } يقابلك
#region Mwa8ytAlslah
Game.Mwa8ytAlslah.Mwa8ytAlslahh(client);
#endregion
وأخيراً هتحمل الملف ده وهتفك ضغطه هيطلعلك ملف بصيغة sql هترفعو على قاعدة البيانات
تحميل الملف (عفواً لايمكن عرض الروابط في الإرشيف)
ملحوظه اسم البروجيكت ElbooshyProject هتغيروه الى اسم البروجيكت بتاع السورس اللى هتضيفو فيه السيستم
وبكده الحمد لله اتنهت الاضافه
لا اريد منكم شكر ولا تقيم ولاكن اريد دعوه خالصه من قلبكم
وأريد من الله عز وجل ان يجعله فى ميزان حسناتى وفى ميزان حسنات كل من طبق هذا النظام فى سيرفره
في أمان الله وفي حفظ الرحمن
والسلام عليكم ورحمة الله وبركاته