بسم الله الرحمن الرحيم ,
طبعا كل الناس الى عملت التوبات السوبر جايلد وار الى هما دول ,
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
طبعا محدش بيعرف يضفهم ,
والى منزل الفلاجات بيديلك التوب مسافه ما تعمل لوجن تانى ,
تلاقى التوب اختفى يا اما يجى توب تانى غيره ,
شرح بقى تثبت التوبات ,
اول شئ هتخش على كلاس ,
Update.cs ,
ونعمل سيرش على الكود دا ,
- الكود:
public class Flags3
{
تحت الفلاجات الى فيه هنحط دول ,
- الكود:
ConuqerSuperYellow = (ulong)1UL << 23,
//GL flag
ConuqerSuperBlue = (ulong)1UL << 24,
//DL flag
ConuqerSuperUnderBlue = (ulong)1UL << 25,
// Memeber Flag
بعد كدا هنروح على كلاس Entity.cs ,
ونعمل سيرش على الكود دا ,
- الكود:
public void AddTopStatus(UInt64 Title, DateTime EndsOn, Boolean Db = true)
فوقه على طول هنضيف الكود دا ,
- الكود:
public void AddTopStatus3(UInt64 Title, DateTime EndsOn, Boolean Db = true)
{
Boolean HasFlag = false;
int T = (int)Title;
HasFlag = Halos.ContainsKey(T);
Halos[T] = EndsOn;
AddFlag3(Title);
if (Db)
{
if (HasFlag)
{
MySqlCommand cmd = new MySqlCommand(MySqlCommandType.UPDATE);
cmd.Update("status").Set("time", Kernel.ToDateTimeInt(EndsOn))
.Where("status", Title).And("entityid", (UInt32)UID);
cmd.Execute();
}
else
{
MySqlCommand cmd = new MySqlCommand(MySqlCommandType.INSERT);
cmd.Insert("status")
.Insert("entityid", (UInt32)UID)
.Insert("status", Title)
.Insert("time", Kernel.ToDateTimeInt(EndsOn));
cmd.Execute();
}
}
}
فى نفس المكان هنعمل سيرش على الكود دا ,
- الكود:
public void RemoveTopStatus(UInt64 Title)
هننزل فيه لحد الكود الكود دا ,
- الكود:
else RemoveFlag(Title);
فوقه هنضيف الكود دا ,
- الكود:
else if (Title == (uint)1UL << 23 || Title == (uint)1UL << 24 || Title == (uint)1UL << 25)
RemoveFlag3((uint)Title);
فى نفس المكان هنعمل سيرش على الكود دا ,
- الكود:
public void LoadTopStatus()
هنقفلو من السالب ونبدلو بالكود دا ,
- الكود:
public void LoadTopStatus()
{
using (MySqlCommand Command = new MySqlCommand(MySqlCommandType.SELECT))
{
Command.Select("status").Where("entityid", UID).Execute();
using (MySqlReader Reader = new MySqlReader(Command))
{
while (Reader.Read())
{
UInt64 Title = Reader.ReadUInt64("status");
DateTime Time = Kernel.FromDateTimeInt(Reader.ReadUInt64("time"));
if (DateTime.Now > Time)
RemoveTopStatus(Title);
else
{
//if (!ContainsFlag(IntToTopStatus(Title)))
if (Title == (uint)1UL << 23 || Title == (uint)1UL << 24 || Title == (uint)1UL << 25)
{
AddTopStatus3((uint)Title, Time, false);
}
else
{
AddTopStatus(Title, Time, false);
}
}
}
}
}
}
كدا تمام اوى ,
فى حاجه بقى عند ناس اه وناس لا ,
فى معظم الناس سورستها نضيفه ومعظم الناس سورستها عاكه فيها ,
بمعنى اصح ,
التوب بعد ما تاخدو ممكن تقفل الاميل وتفتح مش تلاقيه ,
بس لو ضربت بى اسكله او ضربت وحش هيظهر ,
خلى بالك دى معظم السورسات مش فى كلها ,
وحلها سهل ,
هنخش الباكت هندلر ,
ونعمل سيرش على الكود دا ,
- الكود:
public static void LoginMessages(Client.GameClient client)
{
وقبل اخر قوس فى الفويد ,
هنحط الكود دا ,
- الكود:
client.Entity.UpdateEffects(true);
ملحوظه مش تعلم الكود دا الا لما تجرب الاول تشوف كلامى صح ولا لا ,
لو مش بيظهر وبتضرب الوحوش ويظهر عليك ,
تروح عامل الحل دا ,
انما ظهر عادى جدا مفيش مشاكل مش ضرورى تعمله ,
ودا ان بى سى بيدى التوبات تجربه ,
للى عايزو ,
- الكود:
#region TestSuperGuildWarTops
case 222111: //ElmistRo
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Hello there. tops Super GuldWars for 1000 cps .");
dialog.Option("Give Me Top GL.", 1);
dialog.Option("Give Me Top DL.", 2);
dialog.Option("Give Me Top Memeber.", 3);
dialog.Option("Give Me Top DragonWarirr", 4);
dialog.Option("I'm standing by.", 255);
dialog.Send();
break;
}
case 1:
{
if (client.Entity.ConquerPoints >= 1000)
{
client.Entity.ConquerPoints -= 1000;
client.Entity.AddTopStatus3(Update.Flags3.ConuqerSuperYellow, DateTime.Now.AddDays(7));
}
else
{
dialog.Text("Sorry you dont have cps.");
dialog.Option("Alright.", 255);
}
break;
}
case 2:
{
if (client.Entity.ConquerPoints >= 1000)
{
client.Entity.ConquerPoints -= 1000;
client.Entity.AddTopStatus3(Update.Flags3.ConuqerSuperBlue, DateTime.Now.AddDays(7));
}
else
{
dialog.Text("Sorry you dont have cps.");
dialog.Option("Alright.", 255);
}
break;
}
case 3:
{
if (client.Entity.ConquerPoints >= 1000)
{
client.Entity.ConquerPoints -= 1000;
client.Entity.AddTopStatus3(Update.Flags3.ConuqerSuperUnderBlue,
DateTime.Now.AddDays(7));
}
else
{
dialog.Text("Sorry you dont have cps.");
dialog.Option("Alright.", 255);
}
break;
}
case 4:
{
if (client.Entity.ConquerPoints >= 1000)
{
client.Entity.ConquerPoints -= 1000;
client.Entity.AddTopStatus3(Update.Flags3.DragonWarriorTop,
DateTime.Now.AddDays(7));
}
else
{
dialog.Text("Sorry you dont have cps.");
dialog.Option("Alright.", 255);
}
break;
}
}
break;
}
#endregion
على فكره ده موضوع المايسترو ومعلش انى نقلته انا نقلته علشان افيد الناس
الأحد 01 مايو 2016, 7:45 pm من طرف Mr.MOSTAFA
» صفحة تسجيل فاجرة ومحمية مميزة وسهلة
الثلاثاء 09 يونيو 2015, 8:48 am من طرف VampiersCo
» Epic Taoist Screen.cs Code By ElMistro
الجمعة 22 مايو 2015, 8:41 pm من طرف Mr.MOSTAFA
» ابجريد 6075 الرقم بتاع ضربه الاسكله
السبت 09 مايو 2015, 2:05 am من طرف Mr.MOSTAFA
» الاصدار التانى من سورس هشام يورى بعد حل جميع المشاكل لعيون الناس كلها بمناسبه افتتاح المنتدى
السبت 28 مارس 2015, 12:49 am من طرف hsinstar
» WayOfHeroes Like TQ
الثلاثاء 17 مارس 2015, 7:37 am من طرف Mr.MOSTAFA
» حصريا : شرح عمل اوتو باتش كامل بالصور من منتدى تيم تى كى يو
الثلاثاء 03 مارس 2015, 4:26 pm من طرف VampiersCo
» حل مشكله البرود كاست BroadCast
الخميس 19 فبراير 2015, 1:54 am من طرف Mr.MOSTAFA
» أتحكم فى الدونيشن برحتك
الخميس 08 يناير 2015, 11:38 pm من طرف Mr.MOSTAFA