المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : Hell Quests


محمد ياسر
2019-04-20, 11:54 AM
نبداء اول حاجه بى الاضافه فى السورس C#
اول حاجه انعمل كلاس باسم

New Quests Mr.khled.cs

ونضيف الاكواد ده

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using XMeGo.Network.GamePackets;
using XMeGo.Game.ConquerStructures.Society;

namespace XMeGo.Game
{
public class HellQuests
{
public static SobNpcSpawn Poles;

public static SafeDictionary<uint, Guild> Scores = new SafeDictionary<uint, Guild>(100);

public static bool IsWar = false, Flame10th = false, FirstRound = false;

public static Time32 ScoreSendStamp, LastWin;

public static Guild PoleKeeper, CurrentTopLeader;

private static bool changed = false;

private static string[] scoreMessages;

public static DateTime StartTime;

public static bool Claim
{
get { return Program.Vars["egwclaim"]; }
set { Program.Vars["egwclaim"] = value; }
}
public static uint KeeperID
{
get { return Program.Vars["egwkeeperid"]; }
set { Program.Vars["egwkeeperid"] = value; }
}

public static void HellQuestsGwint()
{
if (!Kernel.Maps.ContainsKey(2022) && !Database.DMaps.LoadMap(2022))
new Map(2022, Database.DMaps.MapPaths[2022]);
var Map = Kernel.Maps[2022];
Poles = (SobNpcSpawn)Map.Npcs[825];
}

public static void Start()
{
if (Poles == null) return;
Claim = false;
Scores = new SafeDictionary<uint, Guild>(100);
StartTime = DateTime.Now;
Kernel.SendWorldMessage(new Message("Hell Quests war has began!", System.Drawing.Color.Red, Message.Center), Program.Values);
FirstRound = true;
foreach (Guild guild in Kernel.Guilds.Values)
{
guild.EWarScore = 0;
}
IsWar = true;
}

public static void Reset()
{
Scores = new SafeDictionary<uint, Guild>(100);

Poles.Hitpoints = Poles.MaxHitpoints;


foreach (Guild guild in Kernel.Guilds.Values)
{
guild.EWarScore = 0;
}

IsWar = true;
}

public static void FinishRound()
{
if (PoleKeeper != null && !FirstRound)
{
if (PoleKeeper.Wins == 0)
PoleKeeper.Losts++;
else
PoleKeeper.Wins--;
Database.GuildTable.UpdateGuildWarStats(PoleKeeper );
}
LastWin = Time32.Now;

FirstRound = false;
SortScores(out PoleKeeper);
if (PoleKeeper != null)
{
KeeperID = PoleKeeper.ID;
Kernel.SendWorldMessage(new Message("The guild, " + PoleKeeper.Name + ", owned by " + PoleKeeper.LeaderName + " has won this guild war round!", System.Drawing.Color.Red, Message.Center), Program.Values);
//Kernel.SendWorldMessage(new Message("It is generald pardon time. You have 5 minutes to leave, run for your life!", System.Drawing.Color.White, Message.TopLeft), Program.Values, (ushort)6001);
if (PoleKeeper.Losts == 0)
PoleKeeper.Wins++;
else
PoleKeeper.Losts--;
Database.GuildTable.UpdateGuildWarStats(PoleKeeper );
Poles.Name = PoleKeeper.Name;
}
Poles.Hitpoints = Poles.MaxHitpoints;
Kernel.SendWorldMessage(Poles, Program.Values, (ushort)2022);
Reset();
}

public static void End()
{
if (PoleKeeper != null)
{
Kernel.SendWorldMessage(new Message("The Hell Quests, " + PoleKeeper.Name + ", owned by " + PoleKeeper.LeaderName + " has won this guild war!---Guild war has ended!", System.Drawing.Color.White, Message.Center), Program.Values);
//TroZenA.Database.EntityTable.Status2();
}
else
{
Kernel.SendWorldMessage(new Message("Hell Quests war has ended and there was no winner!", System.Drawing.Color.Red, Message.Center), Program.Values);
//TroZenA.Database.EntityTable.Status2();
}
IsWar = false;
Claim = true;
UpdatePole(Poles);
}

public static void AddScore(uint addScore, Guild guild)
{
if (guild != null)
{
guild.EWarScore += addScore;
changed = true;
if (!Scores.ContainsKey(guild.ID))
Scores.Add(guild.ID, guild);
if ((int)Poles.Hitpoints <= 0)
{
FinishRound();

return;
}
}
}

public static void SendScores()
{
if (scoreMessages == null)
scoreMessages = new string[0];
if (Scores.Count == 0)
return;
if (changed)
SortScores(out CurrentTopLeader);

for (int c = 0; c < scoreMessages.Length; c++)
{
Message msg = new Message(scoreMessages[c], System.Drawing.Color.Red, c == 0 ? Message.FirstRightCorner : Message.ContinueRightCorner);
Kernel.SendWorldMessage(msg, Program.Values, (ushort)2022);
Kernel.SendWorldMessage(msg, Program.Values, (ushort)6001);
}
}

private static void SortScores(out Guild winner)
{
winner = null;
List<string> ret = new List<string>();

int Place = 0;
foreach (Guild guild in Scores.Values.OrderByDescending((p) => p.EWarScore))
{
if (Place == 0)
winner = guild;
string str = "No " + (Place + 1).ToString() + ": " + guild.Name + "(" + guild.EWarScore + ")";
ret.Add(str);
Place++;
if (Place == 4)
break;
}

changed = false;
scoreMessages = ret.ToArray();
}

private static void UpdatePole(SobNpcSpawn pole)
{
new Database.MySqlCommand(XMeGo.Database.MySqlCommandT ype.UPDATE)
.Update("sobnpcs").Set("name", pole.Name).Set("life", Poles.Hitpoints).Where("id", pole.UID).Execute();
}
}
}

جميل كدا الكلاس اتضف :)

بعد اضافة الكلاس هنخش على كلاس

اول شئ Guild.cs هنبقا بالترتيب علشان الكوسته تشتغل عندك من غير مشاكل

هنبحث عن


public static void EliteGwint()

وهنضيف بعد الفويد دة
public static void HellQuestsGwint()
{
Database.DMaps.LoadMap(2022);
var Map = Kernel.Maps[2022];
Poles = (SobNpcSpawn)Map.Npcs[825];
}

بعدين هنخش كلاس Guild.cs
public bool PoleKeeper

وبنبحث عن
ونضيف تحتو
public bool PoleKeeper3
{
get
{
return HellQuests.Poles.Name == Name;
}
}

بعدين هنخش على Npcs
ونضيف اول شئ تحت Region Phoenix
لو ما لقتهوش هتبحث عن case
case 138:
هتضيف علطول
#region Boss-Monster
case 825:
{
switch (npcRequest.OptionID)
{

case 0:
{
dialog.Text(" Hello " + client.Entity.Name + " Do You Want Kill Dangerous Monsters ");
dialog.Option("Go Monsters ya 3asl", 4);
dialog.Option("Information In Monsters", 3);
break;
}
case 3:
{
dialog.Text("This Monster Start 32xx59 Second\n");
dialog.Text("Monster Give you Stone or Vip 7 lamodt youm w5ad");
dialog.Text("We kman ht3edr t5od meno Souls P8 we Cps 100 Mellion or 200 Mellion");
dialog.Text("We t3der tgeb Garments kman we Mounts btdek HP we ha5ht tanyh katar Go Fight Monsters");
dialog.Option("Thanks.", 255);
dialog.Send();
break;
}
case 4:
{
DateTime Now64 = DateTime.Now;
if (DateTime.Now.Minute == 32 && DateTime.Now.Second <= 59)
{
client.Entity.Teleport(8557, 94, 125);
}
else
{
dialog.Text("T3edr Tro7 le el Monster Pk War is held during 32xx59 Second in every Day");
dialog.Option("I don't care.", 255);
dialog.Send();
break;
}
break;
}

}
break;
}
#endregion

تمام كدا بعدين هنضيف تحت EliteGw

او

case 115522:

الكود دة

#region New Quests
case 115523:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Hey there " + client.Entity.Name + " Would you like to Join Hell Quests?.");
dialog.Text("or claim the Prize?, you can join Every day Hour At xx:19 to xx:31.");
dialog.Text("Hey there " + client.Entity.Name + " Would you like to Join Hell Quests?.");
dialog.Option("Join HellQuests!", 1);
// dialog.Option("Claim Prize.", 5);
dialog.Send();
break;
}
case 1:
{
if (HellQuests.IsWar)
{
client.Entity.Teleport(2022, 184, 192);
}
else
{
dialog.Text("The war is not held now! It will start every day at xx:19.");//mohsen elite pk
dialog.Option("okay", 255);
dialog.Send();
break;
}
break;
}
case 5:
{
if (!HellQuests.IsWar)
{
if (client.Guild != null)
{
if (HellQuests.KeeperID != 0)
{
if (HellQuests.Claim && client.AsMember.Rank == Game.Enums.GuildMemberRank.GuildLeader && client.Guild.ID == HellQuests.KeeperID)
{
HellQuests.Claim = false;
HellQuests.KeeperID = 0;
XMeGo.Kernel.SendWorldMessage(new Message(" Congratulations ! " + client.Entity.Name + " claimed the prize [" + ServerRates.EliteGuildWar + "] ConquerPoints & [" + ServerRates.BigBTops + "] CpsBound for winning the Elite GuildWar.", System.Drawing.Color.Black, Message.Center), Program.Values);
client.Entity.ConquerPoints += ServerRates.EliteGuildWar;
// client.Inventory.Add(720665, 0, 2);
client.Entity.BoundCps += ServerRates.BigBTops;
client.Entity.AddTopStatus(Update.Flags3.rygh_hglx , 3, DateTime.Now.AddHours(2));
Program.AddWarLog("EliteGuildWar", "[Prize : " + ServerRates.EliteGuildWar + "]", client.Entity.Name);
}
else
{
dialog.Text("sorry u dont have any prize to claim....");
dialog.Option("okay", 255);
dialog.Send();
break;
}
}
}
else
{
dialog.Text("sorry u dont have any prize to claim");
dialog.Option("okay", 255);
dialog.Send();
break;
}
}
else
{
dialog.Text("Hey there " + client.Entity.Name + " You can't get the prize while the war is on!");
dialog.Option("okay", 255);
dialog.Send();
break;
}
break;
}
}
break;
}
#endregion

كدا جميل قوي نصلي اهم حاجه على حضرت النبي وبعدين نكمل بقيت الشرح
نخش بقا على Program.cs
ونبحث عن


new Game.Map(1038, Database.DMaps.MapPaths[1038]);

وهنضيف تحتو
new Game.Map(2022, Database.DMaps.MapPaths[2022]);

كدا جميل قوي

بعدين نبحث عن


Game.EliteGuildWar.EliteGwint()


تحتو علطول او فوقيه مش هتفرق نضيف
Game.HellQuests.HellQuestsGwint();

كدا جميل قوي نخش بقا على كلاس handle
ونبحث عن Static


public static bool CanAttack

هننزل تحت شوية لحد
if (attacker.MapID == 2071)
بعدين هننزل فيها لحد اخر ال
}
تمام كدا هنضيف تحتو علطول
if (attacker.MapID == 2022)
{
if (attacker.GuildID == 0 || !Game.HellQuests.IsWar)
{

if (Game.HellQuests.Poles != null && Game.HellQuests.Poles != null && Game.HellQuests.Poles != null)
if (attacked.UID == Game.HellQuests.Poles.UID || attacked.UID == Game.HellQuests.Poles.UID || attacked.UID == Game.HellQuests.Poles.UID)
return false;
}
if (Game.HellQuests.PoleKeeper != null)
{
if (Game.HellQuests.PoleKeeper == attacker.Owner.Guild)
{
if (attacked.UID == 825)
{
return false;
}

}
}
if (Game.HellQuests.PoleKeeper != null)
{
if (Game.HellQuests.PoleKeeper == attacker.Owner.Guild)
{
if (Game.HellQuests.Poles != null)
if (attacked.UID == Game.HellQuests.Poles.UID)
return false;
}
}
if (Game.HellQuests.PoleKeeper != null)
{
if (Game.HellQuests.PoleKeeper == attacker.Owner.Guild)
{
if (Game.HellQuests.Poles != null)
if (attacked.UID == Game.HellQuests.Poles.UID)
return false;
}
}
if (attacked.UID == 516075 || attacked.UID == 516074)
{
if (Game.HellQuests.PoleKeeper == attacker.Owner.Guild)
{
if (attacker.PKMode == Enums.PKMode.Team)
return false;
}
}

}

كدا تمام قوي وهنبحث برضو فى نفس الكلاس على
public static void ReceiveAttack

جميل قوي ركزو بقا
هننزل تحت شوية لحد if (attacker.MapID == 2071)
تمام كدا وهنضيف فوقيها دة
if (attacker.MapID == 2022)
{
if (attacked.UID == 825)
{
if (Game.HellQuests.PoleKeeper == attacker.Owner.Guild)
return;
if (attacked.Hitpoints <= damage)
attacked.Hitpoints = 0;
Game.HellQuests.AddScore(damage, attacker.Owner.Guild);
}
if (Game.HellQuests.Poles != null && Game.HellQuests.Poles != null)
{
if (attacked.UID == Game.HellQuests.Poles.UID)
{
if (Game.HellQuests.PoleKeeper == attacker.Owner.Guild)
return;
if (attacked.Hitpoints <= damage)
attacked.Hitpoints = 0;
Game.HellQuests.AddScore(damage, attacker.Owner.Guild);
}
if (attacked.UID == Game.HellQuests.Poles.UID)
{
if (Game.HellQuests.PoleKeeper == attacker.Owner.Guild)
return;
if (attacked.Hitpoints <= damage)
attacked.Hitpoints = 0;
Game.HellQuests.AddScore(damage, attacker.Owner.Guild);
}
}
}

كدا جميل قوي مش عايزن حد يغلط فى الشرح
كدا تم الانتهاء من هندل
نخش بقا بالصلاه على حضرت النبي على كلاس Constants.cs
وهنبحث فيها عن
PKFreeMaps
هنضيف تحت {
الكود دة طبعا حد هيسائل ليه علشان خاطر المابه يبقا شغال فيها ال pk
2022,
كدا تمام انتهينا من الكلاس دة
نخش على الى بعدو
World.cs
هنبحث عن

private void WorldTournaments(int time)

عظمه قوي هننزل شوية بقا لحد
DateTime Now64 = DateTime.Now;

هنضيف تحتها علطول الكود دة

#region Hell Quests
// if (Now64.DayOfWeek != DayOfWeek.Saturday && Now64.DayOfWeek != DayOfWeek.Sunday)
{
if (!Game.HellQuests.IsWar)
{
if (XMeGo_Times.Start.HellQuests && Now64.Minute >= 19 && Now64.Second == 59)
{
Game.HellQuests.Start();
foreach (var client in Program.Values)
// if (client.Entity.GuildID != 0)
client.MessageBox("Hell Quests Begin Want Join ?",
p => { p.Entity.Teleport(1002, 249, 241); }, null);
foreach (var client in Program.Values)
// if (client.Entity.GuildID != 0)
client.MessageBox("Hell Quests Begin Want Join",
p => { p.Entity.Teleport(1002, 249, 241); }, null, 60, Languages.Arabic);
}
}
if (Game.HellQuests.IsWar)
{
if (Time32.Now > Game.HellQuests.ScoreSendStamp.AddSeconds(3))
{
Game.HellQuests.ScoreSendStamp = Time32.Now;
Game.HellQuests.SendScores();
}
if (XMeGo_Times.Start.HellQuests && Now64.Minute == 26 && Now64.Second <= 2)
{
Kernel.SendWorldMessage(new Network.GamePackets.Message("5 Minutes left till Elite GuildWar End Hurry kick other Guild's Ass!.", System.Drawing.Color.White, Network.GamePackets.Message.Center), Program.Values);
}
}
if (Game.HellQuests.IsWar)
{
if (XMeGo_Times.End.HellQuests && Now64.Minute >= 31 && Now64.Second == 59)
Game.HellQuests.End();
}
}
#endregion

طبعا فيها ناس هيجيله ايرور بسباب كلمه XMeGo_Times وى HellQuests
هنخش على كلاس Program.cs
كدا جميل قوي
وهبحث عن
_Times
من غير ميجو علشان خاطر يوصلنا ونعرف احنا عندنا تيمز اسمه اية
بعدين هننزل شوية لم نلقي التيمز
لحد Class Start
هنبحث فيها عن
public static bool EliteGw

طبعا لو ما لقهنوش مش مهم اهم حاجه هتنزل بعد Class Start وتضيف
الكود دة




public static bool HellQuests
{
get
{
return /*(now.Hour == 15 || now.Hour == 19) && */now.Minute == 19;
}
}

تمام كدا جميل قوي وبرضو لسه ما خلصنش ما حدش يستعجل يجدعان
فى نفس الكلاس هتبحث عن


public class End

دة هتلقي بعد علطول كلاس Start
وننزل تحت شوية ونضيف الكود دة


public static bool HellQuests
{
get
{
return now.Minute == 31 && now.Second == 59;
}
}

طبعا حد هيسئلني ويقولي اية لازمت الحوارت دة هقولك علشان خاطر دة المواعد الى هيشتغل منو المهمه يارب كدا تكون الفكره وصلت
كدا جميل قوي تم الانتهاء من موضوعنا دة نروح بقا على اهم المواضيع
هنخش على كلاس MonsterTable.cs
ونبحث عن

public void Drop(Game.Entity killer)

جميل قوي لو ما لقنش الفويد بالشكال دة عادي مش مشكله ابحث بس عن Void Drop وهو هيجيلك هتضيف تحتو بقا
#region Monster is hard Quests Mr.khled
if (Name == "BlackTurtle")
{
this.RespawnTime = 15 * 60;
uint Drob = 0;
int type2 = 24;
for (int i = 0; i < 60; i++)
{
type2 = (byte)Kernel.Random.Next(1, 24);
switch (type2)
{
case 1: Drob = 2152198; break;
case 2: Drob = 2152199; break;
case 3: Drob = 2152200; break;
case 4: Drob = 2152201; break;
case 5: Drob = 2152202; break;
case 6: Drob = 2152203; break;
case 7: Drob = 2152204; break;
case 8: Drob = 2152205; break;
case 9: Drob = 2152206; break;
case 10: Drob = 2152207; break;
case 11: Drob = 2152208; break;
case 12: Drob = 2152209; break;
case 13: Drob = 2152210; break;
case 14: Drob = 2152211; break;
case 15: Drob = 2152212; break;
case 16: Drob = 2152213; break;
case 17: Drob = 2152214; break;
case 18: Drob = 2152215; break;
case 19: Drob = 2152216; break;
case 20: Drob = 2152217; break;
case 21: Drob = 2152218; break;
case 22: Drob = 2152219; break;
case 23: Drob = 2152220; break;
case 24: Drob = 2152221; break;
}
//killer.Owner.Inventory.Add(710691, 0, 1);
var infos = Database.ConquerItemInformation.BaseInformations[Drob];
//killer.Owner.Entity.ConquerPoints += ServerRates.VIP4Drop / 2;
//killer.Owner.Send(new Message("If You Vip7 Get Items in Item", System.Drawing.Color.Azure, Message.TopLeft));
//if (killer.VIPLevel >= 7)
//{
// killer.Owner.Inventory.Add(Drob, 0, 1); //الايتم يجي في الشنطه
{
/////// الايتم يوقع ع الارض
ushort X = Owner.X, Y = Owner.Y;
Game.Map Map = Kernel.Maps[Owner.MapID];
if (Map.SelectCoordonates(ref X, ref Y))
{
Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
floorItem.Item = new Network.GamePackets.ConquerItem(true);
floorItem.Item.Color = (XMeGo.Game.Enums.Color)Kernel.Random.Next(4, 8);
floorItem.Item.ID = Drob;
floorItem.Item.Plus = 0;
floorItem.Item.StackSize = 1;
floorItem.Item.MaximDurability = floorItem.Item.Durability = 65535;
floorItem.Item.MobDropped = true; ////////ال بتخلي الايتم لما يتخد يتجمع علي بعضو
floorItem.Item.UID = ConquerItem.ItemUID.Next; ;
floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
floorItem.ItemID = Drob;
floorItem.MapID = Owner.MapID;
floorItem.MapObjType = Game.MapObjectType.Item;
floorItem.X = X;
floorItem.Y = Y;
floorItem.Type = Network.GamePackets.FloorItem.Drop;
floorItem.OnFloor = Time32.Now;
floorItem.ItemColor = floorItem.Item.Color;
floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
while (Map.Npcs.ContainsKey(floorItem.UID))
floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
Map.AddFloorItem(floorItem);
SendScreenSpawn(floorItem);
}
}
}
return;
}
#endregion
#region Monster is hard Quests Mr.khled
if (Name == "IronTiger")
{
this.RespawnTime = 15 * 60;
uint Drob = 0;
int type2 = 18;
for (int i = 0; i < 18; i++)
{
type2 = (byte)Kernel.Random.Next(1, 18);
switch (type2)
{
case 1: Drob = 3000369; break;
case 2: Drob = 3000369; break;
case 3: Drob = 3000369; break;
case 4: Drob = 192935; break;
case 5: Drob = 192775; break;
case 6: Drob = 188755; break;
case 7: Drob = 188945; break;
case 8: Drob = 188515; break;
case 9: Drob = 192825; break;
case 10: Drob = 200220; break;
case 11: Drob = 200475; break;
case 12: Drob = 3004124; break;
case 13: Drob = 3004124; break;
case 14: Drob = 3004124; break;
case 15: Drob = 721016; break;
case 16: Drob = 721017; break;
case 17: Drob = 721017; break;
case 18: Drob = 721016; break;
}
//killer.Owner.Inventory.Add(710691, 0, 1);
var infos = Database.ConquerItemInformation.BaseInformations[Drob];
//killer.Owner.Entity.ConquerPoints += ServerRates.VIP4Drop / 2;
//killer.Owner.Send(new Message("If You Vip7 Get Items in Item", System.Drawing.Color.Azure, Message.TopLeft));
//if (killer.VIPLevel >= 7)
//{
// killer.Owner.Inventory.Add(Drob, 0, 1); //الايتم يجي في الشنطه
{
/////// الايتم يوقع ع الارض
ushort X = Owner.X, Y = Owner.Y;
Game.Map Map = Kernel.Maps[Owner.MapID];
if (Map.SelectCoordonates(ref X, ref Y))
{
Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
floorItem.Item = new Network.GamePackets.ConquerItem(true);
floorItem.Item.Color = (XMeGo.Game.Enums.Color)Kernel.Random.Next(4, 8);
floorItem.Item.ID = Drob;
floorItem.Item.Plus = 0;
floorItem.Item.StackSize = 1;
floorItem.Item.MaximDurability = floorItem.Item.Durability = 65535;
floorItem.Item.MobDropped = true; ////////ال بتخلي الايتم لما يتخد يتجمع علي بعضو
floorItem.Item.UID = ConquerItem.ItemUID.Next; ;
floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
floorItem.ItemID = Drob;
floorItem.MapID = Owner.MapID;
floorItem.MapObjType = Game.MapObjectType.Item;
floorItem.X = X;
floorItem.Y = Y;
floorItem.Type = Network.GamePackets.FloorItem.Drop;
floorItem.OnFloor = Time32.Now;
floorItem.ItemColor = floorItem.Item.Color;
floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
while (Map.Npcs.ContainsKey(floorItem.UID))
floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
Map.AddFloorItem(floorItem);
SendScreenSpawn(floorItem);
}
}
}
return;
}
#endregion

الوحشين الحلوين دول طبعا همنا الوحشين دول بى يوقعو ايتميت انت تقدر تغيرهم يعني انا مثلان بخليهم واحد بى يوقع صولات بى 8 وى الثاني بى يوقع ايتمت من دماغي الى همنا عمومنا موجودين عندي يعني فى السرفر
على حسب انت بقا هتنفذ الفكره ازاي يعني انت اكيد طبعا هتغير الايتمز وهتخليهم حاجه ثانية طبعا هتقولي ازاي هقولك هكذا
switch (type2)

تحتها علطول فيه id الايتمز جميل انت بقا هتغير انا مثلان مخلي وحش بيوقع 18 ايتمز
وى الثاني بى يوقع 24 انت ورحتك بقا تقدر تخليهم ان شاء الله 100 ايتمز ما فيش مشاكل اهم حاجه تضيف الايتمز الى انت عايزو بحيث لم تموت الوحش هيوقع علطول منو الايتمز فى الارض
يارب كدا اكون وصلتلكو الفكره بطريقه سهله
نخش بقا على اهم المواضيع انت دلوقتى ضفت دة كلوها فيه اضافه بقا فى السورس فى bin بعدين Debug بعدين database بعدين maps
وتضيف دة


تحميل المابه

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

تحميل اضافه الي اتحطه في الكلينت

اضافة الكلينت (عفواً لايمكن عرض الروابط في الإرشيف)

بكدا نكون انتهينت من السورس والاضافه فى الباتش نخش بقا على اضافة القاعده البسيطه
واسف نسيت اقول شئ مهم لازم تغير XMeGo وتخليه اسم البروجكيت بتاعك
كدا جميل قوي تم الانتهاء نهائي

نخش بقا على اضافة القاعده
اول حاجه هنروح لى القاعده ونعمل كلك يمين وندوس على Console

INSERT INTO `maps` VALUES ('2022', '2022', '8198', '0000');

INSERT INTO `maps` VALUES ('8557', '1506', '0007', '0000');
INSERT INTO `monsterinfos` VALUES ('417116', 'IronTiger', '0001', '0709', '60000000', '00', '5000', '1000', '0200', '0007', '0008', '0200', '0200', '0140', '3', '0000', '0', '0', '0', '0', '1');
INSERT INTO `monsterinfos` VALUES ('417117', 'BlackTurtle', '0001', '0712', '60000000', '00', '20000', '20000', '0100', '0001', '0008', '1000', '0500', '0140', '3', '0500', '0', '0', '0', '0', '1');
INSERT INTO `monsterspawns` VALUES ('1236600', '8557', '0108', '0120', '0001', '0001', '0001', '0001', '0001', '417116');
INSERT INTO `monsterspawns` VALUES ('1236601', '8557', '0108', '0129', '0001', '0001', '0001', '0001', '0001', '417117');
INSERT INTO `npcs` VALUES ('115523', 'Hell Quests', '0002', '0000', '1002', '0249', '0235', null, '0000', '0');
INSERT INTO `sobnpcs` VALUES ('0825', '01096023205', '10', '1137', '2022', '226', '194', '17652402', '20000000', '0000', '17', '1', '0', null);


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


عفواً لايمكن عرض الروابط في الإرشيف
عفواً لايمكن عرض الروابط في الإرشيف
عفواً لايمكن عرض الروابط في الإرشيف
عفواً لايمكن عرض الروابط في الإرشيف

طريقة التركيب
e9ZRjWS89ic

MohamedModyAdel
2019-06-16, 01:01 AM
تسلم كوستيه جميله جدا

yuuki2015
2019-07-08, 07:34 AM
Thanks

Users
2019-07-08, 10:10 AM
الله ينور والله

bebo100
2019-08-13, 11:24 AM
تسلم

Circle
2019-08-22, 06:55 PM
تسلم ايدك

Mr.MoZa
2019-09-17, 06:08 PM
شابووو ♥

AdhamMohamed
2020-02-26, 08:33 PM
عااش

uncelsam
2020-03-07, 11:55 PM
عااااااش

shkaoa
2021-09-18, 02:42 PM
a34

karem1q
2023-10-11, 10:03 PM
تسلم ايدك