khaledxodia |
2019-07-28 02:41 PM |
أرض Giant Chasm كاملة | BigBosses Added
بسم لله الرحمن الرحيم
الأرض دي نزلت فترى فأونلاين واتغيرت نزل مكانها DeityIsland بس رأيي ان GiantChasm كانت أحسن ك شكل ماب واحدة ومفيش دوامات والخ.
الEvent دة نزلته قبل كدة في منتدي بس قفل ملحقش حد يسمع عن الايفنت ..
دي حاجة تفيدك جداً لو انت عامل سيرفر صعب تابع معايا بقي ولو فيه ايرور أو أي حاجة سيب ف كومنت وهرد عليك الأضافة لسورسات MSG لو واجهتك أي مشكلة مش هيكون الا تغيير مثلاً من Player الي Entity وهكذا
دي صورة للماب والNetherTyrant
عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع
نبدأ علي طول
هفتفح MonsterSpawn.cs وتضيف دول عندك
كود PHP:
public static void StartNetherTyrant(GameState client)
{
if (!Kernel.Maps[10166].Npcs.ContainsKey(44999))
{
Kernel.DragonWraith = true;
Kernel.DragonWraith2 = true;
NpcSpawn npc = new NpcSpawn();
npc.UID = 44999;
npc.Mesh = 30797;
npc.X = 257;
npc.Y = 136;
npc.MapID = 10166;
npc.Type = Enums.NpcType.Talker;
Kernel.Maps[10166].Npcs.Add(44999, npc);
npc.SendSpawn(client);
client.MessageBox("NetherTyrant has appeared ? Teleport me?", (p) => p.Player.Teleport(10166, 257, 133), null, 60);
Kernel.SendWorldMessage(new MsgTalk("The Nether~Tyrant appeared in Supply~Station (257,136)! Defeat it!", Color.White, MsgTalk.System));
}
}
public static void StartDragonWraith(GameState client)
{
if (!Kernel.Maps[10166].Npcs.ContainsKey(43999))
{
Kernel.DragonWraith = true;
Kernel.DragonWraith2 = true;
NpcSpawn npc = new NpcSpawn();
npc.UID = 43999;
npc.Mesh = 29937;
npc.X = 204;
npc.Y = 138;
npc.MapID = 10166;
npc.Type = Enums.NpcType.Talker;
Kernel.Maps[10166].Npcs.Add(43999, npc);
npc.SendSpawn(client);
client.MessageBox("DragonWraith has appeared ? Teleport me?", (p) => p.Player.Teleport(10166, 204, 134), null, 60);
Kernel.SendWorldMessage(new MsgTalk("The Dragon~Wraith appeared in Supply~Station (204,138)! Defeat it!", Color.White, MsgTalk.System));
}
}
public static void StartChillingSpook(GameState client)
{
if (!Kernel.Maps[10166].Npcs.ContainsKey(42999))
{
Kernel.QueenofEvil = true;
Kernel.QueenofEvil2 = true;
NpcSpawn npc = new NpcSpawn();
npc.UID = 42999;
npc.Mesh = 19267;
npc.X = 214;
npc.Y = 96;
npc.MapID = 10166;
npc.Type = Enums.NpcType.Talker;
Kernel.Maps[10166].Npcs.Add(42999, npc);
npc.SendSpawn(client);
client.MessageBox("ChillingSpook has appeared ? Teleport me?", (p) => p.Player.Teleport(10166, 214, 93), null, 60);
Kernel.SendWorldMessage(new MsgTalk("The Chilling~Spook appeared in Supply~Station (214,96)! Defeat it!", Color.White, MsgTalk.System));
}
}
public static void StartQueenofEvil(GameState client)
{
if (!Kernel.Maps[10166].Npcs.ContainsKey(41999))
{
Kernel.QueenofEvil = true;
Kernel.QueenofEvil2 = true;
NpcSpawn npc = new NpcSpawn();
npc.UID = 41999;
npc.Mesh = 47527;
npc.X = 286;
npc.Y = 158;
npc.MapID = 10166;
npc.Type = Enums.NpcType.Talker;
Kernel.Maps[10166].Npcs.Add(41999, npc);
npc.SendSpawn(client);
client.MessageBox("QueenofEvil has appeared ? Teleport me?", (p) => p.Player.Teleport(10166, 286, 154), null, 60);
Kernel.SendWorldMessage(new MsgTalk("The Queenof~Evil appeared in Supply~Station (286,158)! Defeat it!", Color.White, MsgTalk.System));
}
}
بعد كدة روح علي MonsterTable.cs وضيف دول
كود PHP:
#region Supply~Station
#region QueenofEvil
if (Name.Contains("QueenofEvil"))
{
//killer.ConquerPoints += 5000;
killer.SubProStages.StudyPoints += 500;
SubProStages.UpdateStundyPoints(killer.Owner, 500);
killer.Owner.Player.Update(MsgName.Mode.Effect, "zf2-e300", true);
uint ItemID = 0;
byte type1 = 27;
if (Kernel.Rate(100))
{
if (killer.MapID == 2102) return;
uint b = 0;
uint ban = (uint)Kernel.Random.Next(1, 12);
switch (ban)
{
case 1: b = 15000000; break;
case 2: b = 15000000 * 2; break;
case 3: b = 15000000 * 3; break;
case 4: b = 15000000 * 4; break;
case 5: b = 10000000; break;
case 6: b = 10000000 * 2; break;
case 7: b = 10000000 * 3; break;
case 8: b = 10000000 * 4; break;
case 9: b = 5000000; break;
case 10: b = 5000000 * 2; break;
case 11: b = 5000000 * 3; break;
case 12: b = 5000000 * 4; break;
}
uint ItemID2 = ItemHandler.MoneyItemID(b);
ushort X = Owner.X, Y = Owner.Y;
Game.Map Map = Kernel.Maps[Owner.MapID];
if (Map.SelectCoordonates(ref X, ref Y))
{
Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Money;
MsgMapItem.Value = b;
MsgMapItem.ItemID = ItemID2;
MsgMapItem.MapID = 10137;
MsgMapItem.MapObjType = Game.MapObjectType.Item;
MsgMapItem.X = X;
MsgMapItem.Y = Y;
MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
MsgMapItem.OnFloor = Time32.Now;
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
while (Map.Npcs.ContainsKey(MsgMapItem.UID))
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
Map.AddFloorItem(MsgMapItem);
SendScreenSpawn(MsgMapItem);
}
}
if (Kernel.Rate(100))
{
for (int i = 0; i < 1; i++)
{
type1 = (byte)Kernel.Random.Next(2, 2);
switch (type1)
{
case 1:
ItemID = 730003;//DraginBall
break;
case 2:
ItemID = 730002;
break;
}
var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
ushort X = Owner.X, Y = Owner.Y;
Game.Map Map = Kernel.Maps[Owner.MapID];
if (Map.SelectCoordonates(ref X, ref Y))
{
Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
MsgMapItem.Item.Color = (COServer.Game.Enums.Color)Kernel.Random.Next(4, 8);
MsgMapItem.Item.ID = ItemID;
//MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
MsgMapItem.Item.MaximDurability = infos.Durability;
MsgMapItem.Item.Durability = infos.Durability;
MsgMapItem.Item.MobDropped = true;
MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
MsgMapItem.ItemID = ItemID;
MsgMapItem.MapID = 10137;
MsgMapItem.MapObjType = Game.MapObjectType.Item;
MsgMapItem.X = X;
MsgMapItem.Y = Y;
if (MsgMapItem.Item.ID == 730002)
MsgMapItem.Item.Plus = 2;
if (MsgMapItem.Item.ID == 730003)
MsgMapItem.Item.Plus = 3;
MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
MsgMapItem.OnFloor = Time32.Now;
MsgMapItem.ItemColor = MsgMapItem.Item.Color;
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
while (Map.Npcs.ContainsKey(MsgMapItem.UID))
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
Map.AddFloorItem(MsgMapItem);
SendScreenSpawn(MsgMapItem);
}
}
if (Kernel.Rate(100))
{
for (int i = 0; i < 1; i++)
{
type1 = (byte)Kernel.Random.Next(1, 1);
switch (type1)
{
case 1:
ItemID = 720891;//DraginBall
break;
}
var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
ushort X = Owner.X, Y = Owner.Y;
Game.Map Map = Kernel.Maps[Owner.MapID];
if (Map.SelectCoordonates(ref X, ref Y))
{
Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
MsgMapItem.Item.Color = (COServer.Game.Enums.Color)Kernel.Random.Next(4, 8);
MsgMapItem.Item.ID = ItemID;
//MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
MsgMapItem.Item.MaximDurability = infos.Durability;
MsgMapItem.Item.Durability = infos.Durability;
MsgMapItem.Item.MobDropped = true;
MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
MsgMapItem.ItemID = ItemID;
MsgMapItem.MapID = 10137;
MsgMapItem.MapObjType = Game.MapObjectType.Item;
MsgMapItem.X = X;
MsgMapItem.Y = Y;
if (MsgMapItem.Item.ID == 730002)
MsgMapItem.Item.Plus = 2;
if (MsgMapItem.Item.ID == 730003)
MsgMapItem.Item.Plus = 3;
MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
MsgMapItem.OnFloor = Time32.Now;
MsgMapItem.ItemColor = MsgMapItem.Item.Color;
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
while (Map.Npcs.ContainsKey(MsgMapItem.UID))
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
Map.AddFloorItem(MsgMapItem);
SendScreenSpawn(MsgMapItem);
}
}
}
for (int i = 0; i < 1; i++)
{
type1 = (byte)Kernel.Random.Next(5, 27);
switch (type1)
{
case 1:
ItemID = 1088000;
break;
case 2:
ItemID = 800913;
break;
case 3:
ItemID = 824015;
break;
case 4:
ItemID = 800720;
break;
case 5:
ItemID = 822053;
break;
case 6:
ItemID = 822055;
break;
case 7:
ItemID = 820071;
break;
case 8:
ItemID = 820072;
break;
case 9:
ItemID = 823055;
break;
case 10:
ItemID = 823056;
break;
case 11:
ItemID = 823057;
break;
case 12:
ItemID = 821031;
break;
case 13:
ItemID = 821032;
break;
case 14:
ItemID = 800000;
break;
case 15:
ItemID = 824017;
break;
case 16:
ItemID = 800421;
break;
case 17:
ItemID = 800110;
break;
case 18:
ItemID = 800017;
break;
case 19:
ItemID = 800254;
break;
case 20:
ItemID = 800513;
break;
case 21:
ItemID = 800320;
break;
case 22:
ItemID = 800722;
break;
case 23:
ItemID = 800616;
break;
case 24:
ItemID = 800809;
break;
case 25:
ItemID = 800804;
break;
case 26:
ItemID = 800916;
break;
case 27:
ItemID = 3007108;
break;
}
var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
ushort X = Owner.X, Y = Owner.Y;
Game.Map Map = Kernel.Maps[Owner.MapID];
if (Map.SelectCoordonates(ref X, ref Y))
{
Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
MsgMapItem.Item.Color = (COServer.Game.Enums.Color)Kernel.Random.Next(4, 8);
MsgMapItem.Item.ID = ItemID;
MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
MsgMapItem.Item.MaximDurability = infos.Durability;
MsgMapItem.Item.Durability = infos.Durability;
MsgMapItem.Item.MobDropped = true;
MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
MsgMapItem.ItemID = ItemID;
MsgMapItem.MapID = 10137;
MsgMapItem.MapObjType = Game.MapObjectType.Item;
MsgMapItem.X = X;
MsgMapItem.Y = Y;
MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
MsgMapItem.OnFloor = Time32.Now;
MsgMapItem.ItemColor = MsgMapItem.Item.Color;
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
while (Map.Npcs.ContainsKey(MsgMapItem.UID))
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
Map.AddFloorItem(MsgMapItem);
SendScreenSpawn(MsgMapItem);
}
}
}
Kernel.QueenofEvil = false;
return;
}
#endregion
#region ChillingSpook
if (Name.Contains("ChillingSpook"))
{
//killer.ConquerPoints += 5000;
killer.SubProStages.StudyPoints += 500;
SubProStages.UpdateStundyPoints(killer.Owner, 500);
killer.Owner.Player.Update(MsgName.Mode.Effect, "zf2-e300", true);
uint ItemID = 0;
byte type1 = 27;
if (Kernel.Rate(100))
{
if (killer.MapID == 2102) return;
uint b = 0;
uint ban = (uint)Kernel.Random.Next(1, 12);
switch (ban)
{
case 1: b = 15000000; break;
case 2: b = 15000000 * 2; break;
case 3: b = 15000000 * 3; break;
case 4: b = 15000000 * 4; break;
case 5: b = 10000000; break;
case 6: b = 10000000 * 2; break;
case 7: b = 10000000 * 3; break;
case 8: b = 10000000 * 4; break;
case 9: b = 5000000; break;
case 10: b = 5000000 * 2; break;
case 11: b = 5000000 * 3; break;
case 12: b = 5000000 * 4; break;
}
uint ItemID2 = ItemHandler.MoneyItemID(b);
ushort X = Owner.X, Y = Owner.Y;
Game.Map Map = Kernel.Maps[Owner.MapID];
if (Map.SelectCoordonates(ref X, ref Y))
{
Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Money;
MsgMapItem.Value = b;
MsgMapItem.ItemID = ItemID2;
MsgMapItem.MapID = 10137;
MsgMapItem.MapObjType = Game.MapObjectType.Item;
MsgMapItem.X = X;
MsgMapItem.Y = Y;
MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
MsgMapItem.OnFloor = Time32.Now;
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
while (Map.Npcs.ContainsKey(MsgMapItem.UID))
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
Map.AddFloorItem(MsgMapItem);
SendScreenSpawn(MsgMapItem);
}
}
if (Kernel.Rate(100))
{
for (int i = 0; i < 1; i++)
{
type1 = (byte)Kernel.Random.Next(2, 2);
switch (type1)
{
case 1:
ItemID = 730003;//DraginBall
break;
case 2:
ItemID = 730002;
break;
}
var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
ushort X = Owner.X, Y = Owner.Y;
Game.Map Map = Kernel.Maps[Owner.MapID];
if (Map.SelectCoordonates(ref X, ref Y))
{
Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
MsgMapItem.Item.Color = (COServer.Game.Enums.Color)Kernel.Random.Next(4, 8);
MsgMapItem.Item.ID = ItemID;
//MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
MsgMapItem.Item.MaximDurability = infos.Durability;
MsgMapItem.Item.Durability = infos.Durability;
MsgMapItem.Item.MobDropped = true;
MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
MsgMapItem.ItemID = ItemID;
MsgMapItem.MapID = 10137;
MsgMapItem.MapObjType = Game.MapObjectType.Item;
MsgMapItem.X = X;
MsgMapItem.Y = Y;
if (MsgMapItem.Item.ID == 730002)
MsgMapItem.Item.Plus = 2;
if (MsgMapItem.Item.ID == 730003)
MsgMapItem.Item.Plus = 3;
MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
MsgMapItem.OnFloor = Time32.Now;
MsgMapItem.ItemColor = MsgMapItem.Item.Color;
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
while (Map.Npcs.ContainsKey(MsgMapItem.UID))
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
Map.AddFloorItem(MsgMapItem);
SendScreenSpawn(MsgMapItem);
}
}
if (Kernel.Rate(100))
{
for (int i = 0; i < 1; i++)
{
type1 = (byte)Kernel.Random.Next(1, 1);
switch (type1)
{
case 1:
ItemID = 720891;//DraginBall
break;
}
var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
ushort X = Owner.X, Y = Owner.Y;
Game.Map Map = Kernel.Maps[Owner.MapID];
if (Map.SelectCoordonates(ref X, ref Y))
{
Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
MsgMapItem.Item.Color = (COServer.Game.Enums.Color)Kernel.Random.Next(4, 8);
MsgMapItem.Item.ID = ItemID;
//MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
MsgMapItem.Item.MaximDurability = infos.Durability;
MsgMapItem.Item.Durability = infos.Durability;
MsgMapItem.Item.MobDropped = true;
MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
MsgMapItem.ItemID = ItemID;
MsgMapItem.MapID = 10137;
MsgMapItem.MapObjType = Game.MapObjectType.Item;
MsgMapItem.X = X;
MsgMapItem.Y = Y;
if (MsgMapItem.Item.ID == 730002)
MsgMapItem.Item.Plus = 2;
if (MsgMapItem.Item.ID == 730003)
MsgMapItem.Item.Plus = 3;
MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
MsgMapItem.OnFloor = Time32.Now;
MsgMapItem.ItemColor = MsgMapItem.Item.Color;
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
while (Map.Npcs.ContainsKey(MsgMapItem.UID))
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
Map.AddFloorItem(MsgMapItem);
SendScreenSpawn(MsgMapItem);
}
}
}
for (int i = 0; i < 1; i++)
{
type1 = (byte)Kernel.Random.Next(5, 27);
switch (type1)
{
case 1:
ItemID = 1088000;
break;
case 2:
ItemID = 800913;
break;
case 3:
ItemID = 824015;
break;
case 4:
ItemID = 800720;
break;
case 5:
ItemID = 822053;
break;
case 6:
ItemID = 822055;
break;
case 7:
ItemID = 820071;
break;
case 8:
ItemID = 820072;
break;
case 9:
ItemID = 823055;
break;
case 10:
ItemID = 823056;
break;
case 11:
ItemID = 823057;
break;
case 12:
ItemID = 821031;
break;
case 13:
ItemID = 821032;
break;
case 14:
ItemID = 800000;
break;
case 15:
ItemID = 824017;
break;
case 16:
ItemID = 800421;
break;
case 17:
ItemID = 800110;
break;
case 18:
ItemID = 800017;
break;
case 19:
ItemID = 800254;
break;
case 20:
ItemID = 800513;
break;
case 21:
ItemID = 800320;
break;
case 22:
ItemID = 800722;
break;
case 23:
ItemID = 800616;
break;
case 24:
ItemID = 800809;
break;
case 25:
ItemID = 800804;
break;
case 26:
ItemID = 800916;
break;
case 27:
ItemID = 3007108;
break;
}
var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
ushort X = Owner.X, Y = Owner.Y;
Game.Map Map = Kernel.Maps[Owner.MapID];
if (Map.SelectCoordonates(ref X, ref Y))
{
Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
MsgMapItem.Item.Color = (COServer.Game.Enums.Color)Kernel.Random.Next(4, 8);
MsgMapItem.Item.ID = ItemID;
MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
MsgMapItem.Item.MaximDurability = infos.Durability;
MsgMapItem.Item.Durability = infos.Durability;
MsgMapItem.Item.MobDropped = true;
MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
MsgMapItem.ItemID = ItemID;
MsgMapItem.MapID = 10137;
MsgMapItem.MapObjType = Game.MapObjectType.Item;
MsgMapItem.X = X;
MsgMapItem.Y = Y;
MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
MsgMapItem.OnFloor = Time32.Now;
MsgMapItem.ItemColor = MsgMapItem.Item.Color;
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
while (Map.Npcs.ContainsKey(MsgMapItem.UID))
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
Map.AddFloorItem(MsgMapItem);
SendScreenSpawn(MsgMapItem);
}
}
}
Kernel.ChillingSpook = false;
return;
}
#endregion
#region DragonWraith
if (Name.Contains("DragonWraith"))
{
//killer.ConquerPoints += 5000;
killer.SubProStages.StudyPoints += 500;
SubProStages.UpdateStundyPoints(killer.Owner, 500);
killer.Owner.Player.Update(MsgName.Mode.Effect, "zf2-e300", true);
uint ItemID = 0;
byte type1 = 27;
if (Kernel.Rate(100))
{
if (killer.MapID == 2102) return;
uint b = 0;
uint ban = (uint)Kernel.Random.Next(1, 12);
switch (ban)
{
case 1: b = 15000000; break;
case 2: b = 15000000 * 2; break;
case 3: b = 15000000 * 3; break;
case 4: b = 15000000 * 4; break;
case 5: b = 10000000; break;
case 6: b = 10000000 * 2; break;
case 7: b = 10000000 * 3; break;
case 8: b = 10000000 * 4; break;
case 9: b = 5000000; break;
case 10: b = 5000000 * 2; break;
case 11: b = 5000000 * 3; break;
case 12: b = 5000000 * 4; break;
}
uint ItemID2 = ItemHandler.MoneyItemID(b);
ushort X = Owner.X, Y = Owner.Y;
Game.Map Map = Kernel.Maps[Owner.MapID];
if (Map.SelectCoordonates(ref X, ref Y))
{
Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Money;
MsgMapItem.Value = b;
MsgMapItem.ItemID = ItemID2;
MsgMapItem.MapID = 10137;
MsgMapItem.MapObjType = Game.MapObjectType.Item;
MsgMapItem.X = X;
MsgMapItem.Y = Y;
MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
MsgMapItem.OnFloor = Time32.Now;
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
while (Map.Npcs.ContainsKey(MsgMapItem.UID))
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
Map.AddFloorItem(MsgMapItem);
SendScreenSpawn(MsgMapItem);
}
}
if (Kernel.Rate(100))
{
for (int i = 0; i < 1; i++)
{
type1 = (byte)Kernel.Random.Next(2, 2);
switch (type1)
{
case 1:
ItemID = 730003;//DraginBall
break;
case 2:
ItemID = 730002;
break;
}
var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
ushort X = Owner.X, Y = Owner.Y;
Game.Map Map = Kernel.Maps[Owner.MapID];
if (Map.SelectCoordonates(ref X, ref Y))
{
Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
MsgMapItem.Item.Color = (COServer.Game.Enums.Color)Kernel.Random.Next(4, 8);
MsgMapItem.Item.ID = ItemID;
//MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
MsgMapItem.Item.MaximDurability = infos.Durability;
MsgMapItem.Item.Durability = infos.Durability;
MsgMapItem.Item.MobDropped = true;
MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
MsgMapItem.ItemID = ItemID;
MsgMapItem.MapID = 10137;
MsgMapItem.MapObjType = Game.MapObjectType.Item;
MsgMapItem.X = X;
MsgMapItem.Y = Y;
if (MsgMapItem.Item.ID == 730002)
MsgMapItem.Item.Plus = 2;
if (MsgMapItem.Item.ID == 730003)
MsgMapItem.Item.Plus = 3;
MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
MsgMapItem.OnFloor = Time32.Now;
MsgMapItem.ItemColor = MsgMapItem.Item.Color;
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
while (Map.Npcs.ContainsKey(MsgMapItem.UID))
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
Map.AddFloorItem(MsgMapItem);
SendScreenSpawn(MsgMapItem);
}
}
if (Kernel.Rate(100))
{
for (int i = 0; i < 1; i++)
{
type1 = (byte)Kernel.Random.Next(1, 1);
switch (type1)
{
case 1:
ItemID = 720891;//DraginBall
break;
}
var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
ushort X = Owner.X, Y = Owner.Y;
Game.Map Map = Kernel.Maps[Owner.MapID];
if (Map.SelectCoordonates(ref X, ref Y))
{
Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
MsgMapItem.Item.Color = (COServer.Game.Enums.Color)Kernel.Random.Next(4, 8);
MsgMapItem.Item.ID = ItemID;
//MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
MsgMapItem.Item.MaximDurability = infos.Durability;
MsgMapItem.Item.Durability = infos.Durability;
MsgMapItem.Item.MobDropped = true;
MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
MsgMapItem.ItemID = ItemID;
MsgMapItem.MapID = 10137;
MsgMapItem.MapObjType = Game.MapObjectType.Item;
MsgMapItem.X = X;
MsgMapItem.Y = Y;
if (MsgMapItem.Item.ID == 730002)
MsgMapItem.Item.Plus = 2;
if (MsgMapItem.Item.ID == 730003)
MsgMapItem.Item.Plus = 3;
MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
MsgMapItem.OnFloor = Time32.Now;
MsgMapItem.ItemColor = MsgMapItem.Item.Color;
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
while (Map.Npcs.ContainsKey(MsgMapItem.UID))
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
Map.AddFloorItem(MsgMapItem);
SendScreenSpawn(MsgMapItem);
}
}
}
for (int i = 0; i < 1; i++)
{
type1 = (byte)Kernel.Random.Next(5, 27);
switch (type1)
{
case 1:
ItemID = 1088000;
break;
case 2:
ItemID = 800913;
break;
case 3:
ItemID = 824015;
break;
case 4:
ItemID = 800720;
break;
case 5:
ItemID = 822053;
break;
case 6:
ItemID = 822055;
break;
case 7:
ItemID = 820071;
break;
case 8:
ItemID = 820072;
break;
case 9:
ItemID = 823055;
break;
case 10:
ItemID = 823056;
break;
case 11:
ItemID = 823057;
break;
case 12:
ItemID = 821031;
break;
case 13:
ItemID = 821032;
break;
case 14:
ItemID = 800000;
break;
case 15:
ItemID = 824017;
break;
case 16:
ItemID = 800421;
break;
case 17:
ItemID = 800110;
break;
case 18:
ItemID = 800017;
break;
case 19:
ItemID = 800254;
break;
case 20:
ItemID = 800513;
break;
case 21:
ItemID = 800320;
break;
case 22:
ItemID = 800722;
break;
case 23:
ItemID = 800616;
break;
case 24:
ItemID = 800809;
break;
case 25:
ItemID = 800804;
break;
case 26:
ItemID = 800916;
break;
case 27:
ItemID = 3007108;
break;
}
var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
ushort X = Owner.X, Y = Owner.Y;
Game.Map Map = Kernel.Maps[Owner.MapID];
if (Map.SelectCoordonates(ref X, ref Y))
{
Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
MsgMapItem.Item.Color = (COServer.Game.Enums.Color)Kernel.Random.Next(4, 8);
MsgMapItem.Item.ID = ItemID;
MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
MsgMapItem.Item.MaximDurability = infos.Durability;
MsgMapItem.Item.Durability = infos.Durability;
MsgMapItem.Item.MobDropped = true;
MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
MsgMapItem.ItemID = ItemID;
MsgMapItem.MapID = 10137;
MsgMapItem.MapObjType = Game.MapObjectType.Item;
MsgMapItem.X = X;
MsgMapItem.Y = Y;
MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
MsgMapItem.OnFloor = Time32.Now;
MsgMapItem.ItemColor = MsgMapItem.Item.Color;
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
while (Map.Npcs.ContainsKey(MsgMapItem.UID))
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
Map.AddFloorItem(MsgMapItem);
SendScreenSpawn(MsgMapItem);
}
}
}
Kernel.DragonWraith = false;
return;
}
#endregion
#region NetherTyrant
if (Name == "NetherTyrant")
{
uint ItemID = 0;
byte type1 = 15;
for (int i = 0; i < 15; i++)
{
type1 = (byte)Kernel.Random.Next(1, 3);
switch (type1)
{
case 1:
ItemID = 3004181;
ItemID = 3004181;
ItemID = 3004181;
ItemID = 720027;
ItemID = 720027;
ItemID = 720027;
ItemID = 728232;
ItemID = 3004257;
ItemID = 3004257;
ItemID = 3004257;
ItemID = 3004257;
ItemID = 3004257;
break;
case 2:
ItemID = 3004181;
ItemID = 3004181;
ItemID = 3004181;
ItemID = 3004181;
ItemID = 720027;
ItemID = 720027;
ItemID = 720027;
ItemID = 728232;
ItemID = 3004257;
ItemID = 3004257;
ItemID = 3004257;
ItemID = 3004257;
ItemID = 3004257;
break;
case 3:
ItemID = 3004249;
ItemID = 3004181;
ItemID = 3004181;
ItemID = 3004181;
ItemID = 720027;
ItemID = 720027;
ItemID = 720027;
ItemID = 728232;
ItemID = 3004257;
ItemID = 3004257;
ItemID = 3004257;
ItemID = 3004257;
ItemID = 3004257;
break;
}
var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
ushort X = Owner.X, Y = Owner.Y;
Game.Map Map = Kernel.Maps[Owner.MapID];
if (Map.SelectCoordonates(ref X, ref Y))
{
Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
MsgMapItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
MsgMapItem.Item.ID = ItemID;
MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
MsgMapItem.Item.MaximDurability = infos.Durability;
MsgMapItem.Item.Durability = infos.Durability;
MsgMapItem.Item.MobDropped = true;
MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
MsgMapItem.ItemID = ItemID;
MsgMapItem.MapID = 10166;
MsgMapItem.MapObjType = Game.MapObjectType.Item;
MsgMapItem.X = X;
MsgMapItem.Y = Y;
MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
MsgMapItem.OnFloor = Time32.Now;
MsgMapItem.ItemColor = MsgMapItem.Item.Color;
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
while (Map.Npcs.ContainsKey(MsgMapItem.UID))
MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
Map.AddFloorItem(MsgMapItem);
SendScreenSpawn(MsgMapItem);
if (killer.Owner.Team != null)
{
foreach (COServer.Client.GameState teammate in killer.Owner.Team.Teammates)
{
teammate.Player.SubProStages.StudyPoints += (ushort)150;
// killer.MonsterPoints += 50U;
}
}
else
{
killer.SubProStages.StudyPoints += (ushort)150;
// killer.MonsterPoints += 50U;
}
Kernel.SendWorldMessage((IPacket)new MsgTalk(killer.Name + " defeated the Nether Tyrant and found its grand treasures!", 2012U));
}
}
#region Replace y , x
/*
if (Database.MonsterSpawn.mapxy == 1)
{
Database.MonsterSpawn.mapxy = 2;
}
if (Database.MonsterSpawn.mapxy == 2)
{
Database.MonsterSpawn.mapxy = 3;
}
if (Database.MonsterSpawn.mapxy == 3)
{
Database.MonsterSpawn.mapxy = 4;
}
if (Database.MonsterSpawn.mapxy == 4)
{
Database.MonsterSpawn.mapxy = 5;
}
if (Database.MonsterSpawn.mapxy == 5)
{
Database.MonsterSpawn.mapxy = 1;
}
*/
#endregion
Kernel.SendWorldMessage(new MsgTalk("Congratulations " + killer.Name + " has defeated The NetherTyrant.", System.Drawing.Color.Red, MsgTalk.TopLeft));
Kernel.NetherTyrant = false;
return;
}
#endregion
#region Drop: ??
if (Name.Contains("EvilScout") || Name.Contains("EviExecutioner") || Name.Contains("EvilCenturion"))
{
uint ItemID = 0;
if (Kernel.Rate(30, 5000))
{
ItemID = 3301223;//Joyful+1StonePack
}
else if (Kernel.Rate(25, 10000))
{
ItemID = 3301224;//Joyful+2StonePack
}
else if (Kernel.Rate(20, 10000))
{
ItemID = 3301225;//Joyful+3StonePack
}
else if (Kernel.Rate(15, 10000))
{
ItemID = 3301226;//Joyful+4StonePack
}
else if (Kernel.Rate(10, 10000))
{
ItemID = 3301227;//Joyful+5StonePack
}
else if (Kernel.Rate(6, 100))
{
ItemID = 3303483;//ChaosBead
}
else if (Kernel.Rate(25, 10000))
{
ItemID = 3303484;//ChaosBeadPack
}
else if (Kernel.Rate(25, 10000))
{
ItemID = 3303476;//HuntingEvilInvitation
}
else if (Kernel.Rate(25, 10000))
{
ItemID = 3303477;//ArmorSoulWheel
}
else if (Kernel.Rate(25, 10000))
{
ItemID = 3303478;//WeaponSoulWheel
}
else if (Kernel.Rate(25, 10000))
{
ItemID = 3303479;//RefineryMaterialWheel
}
else if (Kernel.Rate(25, 10000))
{
ItemID = 3303480;//ChasmStarStonePack
}
else if (Kernel.Rate(50, 10000))
{
killer.Owner.Inventory.AddTime33(3303481, 3600, true);//TemporaryPenitenceAmulet
}
else if (Kernel.Rate(50, 1000))
{
ItemID = 3303482;//ChasmWishingGate
}
else if (Kernel.Rate(50, 1000))
{
ItemID = 1088001;//Meteor
}
else if (Kernel.Rate(50, 10000))
{
ItemID = 3303519;//KnowledgePillScrap
}
else if (Kernel.Rate(50, 10000))
{
ItemID = 3303520;//ChasmSlayerPack
}
else if (Kernel.Rate(50, 10000))
{
ItemID = 3303521;//ChasmVanquisherPack
}
#region Item
ushort X = Owner.X, Y = Owner.Y;
Map Map = Kernel.Maps[Owner.MapID];
if (Map.SelectCoordonates(ref X, ref Y))
{
MsgMapItem MsgMapItem = new MsgMapItem(true);
MsgMapItem.Item = new MsgItemInfo(true);
MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
MsgMapItem.Item.ID = ItemID;
MsgMapItem.Item.MobDropped = true;
MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
MsgMapItem.ItemID = ItemID;
MsgMapItem.MapID = Owner.MapID;
MsgMapItem.MapObjType = MapObjectType.Item;
if (ItemID == 3301223 || ItemID == 3301224 || ItemID == 3301225 || ItemID == 3301226 || ItemID == 3301227
|| ItemID == 3303484 || ItemID == 3303476 || ItemID == 3303477 || ItemID == 3303478 || ItemID == 3303479
|| ItemID == 3303480 || ItemID == 3303481 || ItemID == 3303482 || ItemID == 1088001
|| ItemID == 3303519 || ItemID == 3303520 || ItemID == 3303521)
{
killer.Owner.Send(new MsgTalk("" + Name + "~Th~at~you~kiled~droped~1~" + Database.ConquerItemInformation.BaseInformations[MsgMapItem.Item.ID].Name + "(s)!", System.Drawing.Color.Red, 2007));
}
MsgMapItem.X = X;
MsgMapItem.Y = Y;
MsgMapItem.Owner = killer.Owner;
MsgMapItem.Type = MsgMapItem.Drop;
MsgMapItem.OnFloor = Time32.Now;
MsgMapItem.ItemColor = MsgMapItem.Item.Color;
MsgMapItem.UID = MsgMapItem.FloorUID.Next;
while (Map.Npcs.ContainsKey(MsgMapItem.UID))
MsgMapItem.UID = MsgMapItem.FloorUID.Next;
Map.AddFloorItem(MsgMapItem);
SendScreenSpawn(MsgMapItem);
}
#endregion
}
#endregion
#endregion
بعد كدة روح Calculate.cs
ابحث عن
كود PHP:
if (Attacker.Name == "ThrillingSpook"
وحط دول تحته
كود PHP:
if (Attacker.Name == "NemesisTyrant" || Attacker.Name == "QueenofEvil" || Attacker.Name == "NetherTyrant")
{
if (Kernel.Rate((float)Attacked.MetalResistance / 100f))
{
Packet.Effect |= MsgInteract.InteractEffects.MetalResist;
Damage = (Int32)Math.Floor((float)Damage * 1.1);
}
else if (Kernel.Rate((float)Attacked.FireResistance / 100f))
{
Packet.Effect |= MsgInteract.InteractEffects.FireResist;
Damage = (Int32)Math.Floor((float)Damage * 1.1);
}
else if (Kernel.Rate((float)Attacked.EarthResistance / 100f))
{
Packet.Effect2 |= MsgInteract.InteractEffects2.EarthResist;
Damage = (Int32)Math.Floor((float)Damage * 1.1);
}
else if (Kernel.Rate((float)Attacked.WaterResistance / 100f))
{
Packet.Effect |= MsgInteract.InteractEffects.WaterResist;
Damage = (Int32)Math.Floor((float)Damage * 1.1);
}
else if (Kernel.Rate((float)Attacked.WoodResistance / 100f))
{
Packet.Effect |= MsgInteract.InteractEffects.WoodResist;
Damage = (Int32)Math.Floor((float)Damage * 1.1);
}
}
}
بعد كدة روح Handle.cs
ابحث عن بدله هو و TeratoDragon و ThrillingSpook بدول
كود PHP:
#region NemesisTyrant
if (attacker.Name == "NemesisTyrant" || attacker.Name == "QueenofEvil" || attacker.Name == "NetherTyrant")
{
if (Time32.Now < attacker.AttackStamp.AddMilliseconds(25000)) return;
attacker.AttackStamp = Time32.Now;
uint rand = (uint)Kernel.Random.Next(1, 22);
switch (rand)
{
case 1:
attacker.MonsterInfo.SpellID = 10001;
break;
case 2:
attacker.MonsterInfo.SpellID = 30010;
break;
case 3:
attacker.MonsterInfo.SpellID = 10001;
break;
case 4:
attacker.MonsterInfo.SpellID = 30010;
break;
case 5:
attacker.MonsterInfo.SpellID = 30011;
break;
case 6:
attacker.MonsterInfo.SpellID = 30012;
break;
case 7:
attacker.MonsterInfo.SpellID = 7014;
break;
case 8:
attacker.MonsterInfo.SpellID = 7017;
break;
case 9:
attacker.MonsterInfo.SpellID = 7017;
break;
case 10:
attacker.MonsterInfo.SpellID = 7012;
break;
case 11:
attacker.MonsterInfo.SpellID = 7013;
break;
case 12:
attacker.MonsterInfo.SpellID = 7015;
break;
case 13:
attacker.MonsterInfo.SpellID = 7016;
break;
case 14:
attacker.MonsterInfo.SpellID = 10502;
break;
case 15:
attacker.MonsterInfo.SpellID = 10504;
break;
case 16:
attacker.MonsterInfo.SpellID = 10506;
break;
case 17:
attacker.MonsterInfo.SpellID = 10505;
break;
case 18:
attacker.MonsterInfo.SpellID = 10500;
break;
case 19:
attacker.MonsterInfo.SpellID = 10363;
break;
case 20:
attacker.MonsterInfo.SpellID = 10360;
attacked.AddFlag((ulong)MsgUpdate.Flags.Stun);
attacked.ShockStamp = Time32.Now;
attacked.Shock = 5;
var upd = new MsgRaceTrackStatus(true);
upd.UID = attacked.UID;
upd.Add(MsgRaceTrackStatus.Dizzy, 0, 5);
attacked.Owner.SendScreen(upd, true);
break;
case 21:
attacker.MonsterInfo.SpellID = 10361;
attacked.AddFlag((ulong)MsgUpdate.Flags.Stun);
attacked.ShockStamp = Time32.Now;
attacked.Shock = 5;
var upd1 = new MsgRaceTrackStatus(true);
upd1.UID = attacked.UID;
upd1.Add(MsgRaceTrackStatus.Dizzy, 0, 5);
attacked.Owner.SendScreen(upd1, true);
break;
case 22:
attacker.MonsterInfo.SpellID = 10362;
break;
}
#region IceThrom AngerCop
if (attacker.MonsterInfo.SpellID == 30010 || attacker.MonsterInfo.SpellID == 10001)
{
uint damage = 0;
damage += (uint)Kernel.Random.Next(1000, 2000);
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
}
if (attacker.Companion)
attacker.Owner.IncreaseExperience(Math.Min(damage, attacked.Hitpoints), true);
MsgMagicEffect suse = new MsgMagicEffect(true);
suse.Attacker = attacker.UID;
suse.SpellID = attacker.MonsterInfo.SpellID;
suse.X = attacked.X;
suse.Y = attacked.Y;
suse.AddTarget(attacked.UID, damage, attack);
attacked.Owner.SendScreen(suse, true);
}
#endregion
#region Chill
if (attacker.MonsterInfo.SpellID == 30011)
{
MsgMagicEffect suse = new MsgMagicEffect(true);
attack = new MsgInteract(true);
attack.Effect = MsgInteract.InteractEffects.None;
uint damage = 0;
damage += (uint)Kernel.Random.Next(1000, 2000);
suse.Effect = attack.Effect;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
attacked.Owner.FrightenStamp = Time32.Now;
var upd = new MsgRaceTrackStatus(true);
upd.UID = attacked.UID;
upd.Add(MsgRaceTrackStatus.Flustered, 0, 5);
attacked.Owner.SendScreen(upd, true);
attacked.Owner.Player.AddFlag((ulong)MsgUpdate.Flags.ChaosCycle);
}
if (attacker.Companion)
attacker.Owner.IncreaseExperience(Math.Min(damage, attacked.Hitpoints), true);
suse.Attacker = attacker.UID;
suse.SpellID = attacker.MonsterInfo.SpellID;
suse.X = attacked.X;
suse.Y = attacked.Y;
suse.AddTarget(attacked.UID, damage, attack);
foreach (var obj in attacked.Owner.Screen.Objects)
{
if (Calculations.InBox(obj.X, obj.Y, attacker.X, attacker.Y, 14))
{
if (obj.MapObjType == MapObjectType.Player)
{
if (obj.Owner.Player.ContainsFlag((ulong)MsgUpdate.Flags.Dead))
continue;
attacked = obj as Player;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
attacked.Owner.FrightenStamp = Time32.Now;
var upd = new MsgRaceTrackStatus(true);
upd.UID = attacked.UID;
upd.Add(MsgRaceTrackStatus.Flustered, 0, 5);
attacked.Owner.SendScreen(upd, true);
attacked.Owner.Player.AddFlag((ulong)MsgUpdate.Flags.ChaosCycle);
}
suse.AddTarget(attacked.UID, damage, attack);
}
}
}
attacked.Owner.SendScreen(suse, true);
}
#endregion
#region AngerCrop
if (attacker.MonsterInfo.SpellID == 30012)
{
MsgMagicEffect suse = new MsgMagicEffect(true);
attack = new MsgInteract(true);
attack.Effect = MsgInteract.InteractEffects.None;
uint damage = 0;
damage += (uint)Kernel.Random.Next(1000, 2000);
suse.Effect = attack.Effect;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
attacked.Owner.Player.FrozenStamp = Time32.Now;
attacked.Owner.Player.FrozenTime = 5;
MsgRaceTrackStatus update = new MsgRaceTrackStatus(true);
update.UID = attacked.UID;
update.Add(MsgRaceTrackStatus.Freeze, 0, 5);
attacked.Owner.SendScreen(update, true);
attacked.AddFlag((ulong)MsgUpdate.Flags.Freeze);
}
if (attacker.Companion)
attacker.Owner.IncreaseExperience(Math.Min(damage, attacked.Hitpoints), true);
suse.Attacker = attacker.UID;
suse.SpellID = attacker.MonsterInfo.SpellID;
suse.X = attacked.X;
suse.Y = attacked.Y;
suse.AddTarget(attacked.UID, damage, attack);
foreach (var obj in attacked.Owner.Screen.Objects)
{
if (Calculations.InBox(obj.X, obj.Y, attacker.X, attacker.Y, 10))
{
if (obj.MapObjType == MapObjectType.Player)
{
if (obj.Owner.Player.ContainsFlag((ulong)MsgUpdate.Flags.Dead))
continue;
attacked = obj as Player;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
attacked.Owner.Player.FrozenStamp = Time32.Now;
attacked.Owner.Player.FrozenTime = 5;
MsgRaceTrackStatus update = new MsgRaceTrackStatus(true);
update.UID = attacked.UID;
update.Add(MsgRaceTrackStatus.Freeze, 0, 5);
attacked.Owner.SendScreen(update, true);
attacked.AddFlag((ulong)MsgUpdate.Flags.Freeze);
}
suse.AddTarget(attacked.UID, damage, attack);
}
}
}
attacked.Owner.SendScreen(suse, true);
}
#endregion
}
#endregion
#region TreatoDragon
if (attacker.Name == "TeratoDragon" || attacker.Name == "DragonWraith" || attacker.Name == "LavaBeast" || attacker.Name == "ShadowClone")
{
if (Time32.Now < attacker.AttackStamp.AddMilliseconds(25000)) return;
attacker.AttackStamp = Time32.Now;
uint rand = (uint)COServer.Kernel.Random.Next(1, 7);
switch (rand)
{
case 1:
attacker.MonsterInfo.SpellID = 7014;
break;
case 2:
attacker.MonsterInfo.SpellID = 7017;
break;
case 3:
attacker.MonsterInfo.SpellID = 7017;
break;
case 4:
attacker.MonsterInfo.SpellID = 7012;
break;
case 5:
attacker.MonsterInfo.SpellID = 7013;
break;
case 6:
attacker.MonsterInfo.SpellID = 7015;
break;
case 7:
attacker.MonsterInfo.SpellID = 7016;
break;
}
#region TD Area
if (attacker.MonsterInfo.SpellID == 7014 || attacker.MonsterInfo.SpellID == 7017)
{
MsgMagicEffect suse = new MsgMagicEffect(true);
attack = new MsgInteract(true);
attack.Effect = MsgInteract.InteractEffects.None;
uint damage = 0;
damage += (uint)Kernel.Random.Next(1000, 2000);
suse.Effect = attack.Effect;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
}
if (attacker.Companion)
attacker.Owner.IncreaseExperience(Math.Min(damage, attacked.Hitpoints), true);
suse.Attacker = attacker.UID;
suse.SpellID = attacker.MonsterInfo.SpellID;
suse.X = attacked.X;
suse.Y = attacked.Y;
suse.AddTarget(attacked.UID, damage, attack);
foreach (var obj in attacked.Owner.Screen.Objects)
{
if (Calculations.InBox(obj.X, obj.Y, attacker.X, attacker.Y, 14))
{
if (obj.MapObjType == MapObjectType.Player)
{
if (obj.Owner.Player.ContainsFlag((ulong)MsgUpdate.Flags.Dead))
continue;
attacked = obj as Player;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
}
suse.AddTarget(attacked.UID, damage, attack);
}
}
}
attacked.Owner.SendScreen(suse, true);
}
}
#endregion
#region 2nd skill
if (attacker.MonsterInfo.SpellID == 7013)
{
MsgMagicEffect suse = new MsgMagicEffect(true);
attack = new MsgInteract(true);
attack.Effect = MsgInteract.InteractEffects.None;
uint damage = 0;
damage += (uint)Kernel.Random.Next(1000, 2000);
suse.Effect = attack.Effect;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
attacked.Owner.FrightenStamp = Time32.Now;
attacked.Owner.Player.Fright = 5;
var upd = new MsgRaceTrackStatus(true);
upd.UID = attacked.UID;
upd.Add(MsgRaceTrackStatus.Dizzy, 0, 5);
attacked.Owner.SendScreen(upd, true);
attacked.Owner.Player.AddFlag((ulong)MsgUpdate.Flags.FreezeSmall);
}
if (attacker.Companion)
attacker.Owner.IncreaseExperience(Math.Min(damage, attacked.Hitpoints), true);
suse.Attacker = attacker.UID;
suse.SpellID = attacker.MonsterInfo.SpellID;
suse.X = attacked.X;
suse.Y = attacked.Y;
suse.AddTarget(attacked.UID, damage, attack);
foreach (var obj in attacked.Owner.Screen.Objects)
{
if (Calculations.InBox(obj.X, obj.Y, attacker.X, attacker.Y, 14))
{
if (obj.MapObjType == MapObjectType.Player)
{
if (obj.Owner.Player.ContainsFlag((ulong)MsgUpdate.Flags.Dead))
continue;
attacked = obj as Player;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
attacked.Owner.FrightenStamp = Time32.Now;
attacked.Owner.Player.Fright = 5;
var upd = new MsgRaceTrackStatus(true);
upd.UID = attacked.UID;
upd.Add(MsgRaceTrackStatus.Dizzy, 0, 5);
attacked.Owner.SendScreen(upd, true);
attacked.Owner.Player.AddFlag((ulong)MsgUpdate.Flags.FreezeSmall);
}
suse.AddTarget(attacked.UID, damage, attack);
}
}
}
attacked.Owner.SendScreen(suse, true);
}
#endregion
#region Chill
if (attacker.MonsterInfo.SpellID == 7015)
{
MsgMagicEffect suse = new MsgMagicEffect(true);
attack = new MsgInteract(true);
attack.Effect = MsgInteract.InteractEffects.None;
uint damage = 0;
damage += (uint)Kernel.Random.Next(1000, 2000);
suse.Effect = attack.Effect;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
attacked.Owner.FrightenStamp = Time32.Now;
var upd = new MsgRaceTrackStatus(true);
upd.UID = attacked.UID;
upd.Add(MsgRaceTrackStatus.Flustered, 0, 5);
attacked.Owner.SendScreen(upd, true);
attacked.Owner.Player.AddFlag((ulong)MsgUpdate.Flags.ChaosCycle);
}
if (attacker.Companion)
attacker.Owner.IncreaseExperience(Math.Min(damage, attacked.Hitpoints), true);
suse.Attacker = attacker.UID;
suse.SpellID = attacker.MonsterInfo.SpellID;
suse.X = attacked.X;
suse.Y = attacked.Y;
suse.AddTarget(attacked.UID, damage, attack);
foreach (var obj in attacked.Owner.Screen.Objects)
{
if (Calculations.InBox(obj.X, obj.Y, attacker.X, attacker.Y, 14))
{
if (obj.MapObjType == MapObjectType.Player)
{
if (obj.Owner.Player.ContainsFlag((ulong)MsgUpdate.Flags.Dead))
continue;
attacked = obj as Player;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
attacked.Owner.FrightenStamp = Time32.Now;
var upd = new MsgRaceTrackStatus(true);
upd.UID = attacked.UID;
upd.Add(MsgRaceTrackStatus.Flustered, 0, 5);
attacked.Owner.SendScreen(upd, true);
attacked.Owner.Player.AddFlag((ulong)MsgUpdate.Flags.ChaosCycle);
}
suse.AddTarget(attacked.UID, damage, attack);
}
}
}
attacked.Owner.SendScreen(suse, true);
}
#endregion
#endregion
#region ThrillingSpook
if (attacker.Name == "ThrillingSpook" || attacker.Name == "ThrillingSpook2" || attacker.Name == "ThrillingSpook3" || attacker.Name == "ChillingSpook")
{
if (Time32.Now < attacker.AttackStamp.AddMilliseconds(25000)) return;
attacker.AttackStamp = Time32.Now;
uint rand = (uint)Kernel.Random.Next(1, 7);
switch (rand)
{
case 1: attacker.MonsterInfo.SpellID = 10363; break;
case 2:
{
if (!attacked.ContainsFlag((ulong)MsgUpdate.Flags.Stun))
{
attacker.MonsterInfo.SpellID = 10360;
attacked.AddFlag((ulong)MsgUpdate.Flags.Stun);
attacked.ShockStamp = Time32.Now;
attacked.Shock = 5;
var upd = new MsgRaceTrackStatus(true);
upd.UID = attacked.UID;
upd.Add(MsgRaceTrackStatus.SoulShacle, 0, 5);
attacked.Owner.SendScreen(upd, true);
}
break;
}
case 3: attacker.MonsterInfo.SpellID = 10362; break;
case 4: attacker.MonsterInfo.SpellID = 10363; break;
case 5: attacker.MonsterInfo.SpellID = 10363; break;
case 6: attacker.MonsterInfo.SpellID = 10362; break;
case 7:
if (!attacked.ContainsFlag((ulong)MsgUpdate.Flags.Stun))
{
attacker.MonsterInfo.SpellID = 10361;
attacked.AddFlag((ulong)MsgUpdate.Flags.Stun);
attacked.ShockStamp = Time32.Now;
attacked.Shock = 5;
var upd1 = new MsgRaceTrackStatus(true);
upd1.UID = attacked.UID;
upd1.Add(MsgRaceTrackStatus.SoulShacle, 0, 5);
attacked.Owner.SendScreen(upd1, true);
}
break;
}
uint damage = 0;
damage += (uint)Kernel.Random.Next(1000, 2000);
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
}
if (attacker.Companion)
attacker.Owner.IncreaseExperience(Math.Min(damage, attacked.Hitpoints), true);
MsgMagicEffect suse = new MsgMagicEffect(true);
suse.Attacker = attacker.UID;
suse.SpellID = attacker.MonsterInfo.SpellID;
suse.X = attacked.X;
suse.Y = attacked.Y;
suse.AddTarget(attacked.UID, damage, attack);
attacked.Owner.SendScreen(suse, true);
}
#endregion
بعد كدة روح Kernel.cs وابحث عن وضيف دول تحته
كود PHP:
QueenofEvil = false,
QueenofEvil2 = false,
ChillingSpook = false,
ChillingSpook2 = false,
DragonWraith = false,
DragonWraith2 = false,
NetherTyrant = false,
NetherTyrant2 = false,
أفتح Thread.cs أو World.cs حسب السورس بتاعك وابحث عن
كود PHP:
private void CharactersCallback
وضيف دول
كود PHP:
#region QueenofEvil
if (Now64.Hour == 19 && Now64.Minute == 9 && Now64.Second == 50 && Kernel.QueenofEvil == false ||
Now64.Hour == 21 && Now64.Minute == 9 && Now64.Second == 50 && Kernel.QueenofEvil == false)
{
Database.MonsterSpawn.StartQueenofEvil(client);
}
#endregion
#region NetherTyrant
if (Now64.Minute == 44 && Now64.Second == 50 && Kernel.NetherTyrant == false)
{
Database.MonsterSpawn.StartNetherTyrant(client);
}
#endregion
#region DragonWraith
if (Now64.Minute == 4 && Now64.Second == 50 && Kernel.DragonWraith == false)
{
Database.MonsterSpawn.StartDragonWraith(client);
}
#endregion
#region ChillingSpook
if (Now64.Minute == 29 && Now64.Second == 50 && Kernel.ChillingSpook == false)
{
Database.MonsterSpawn.StartChillingSpook(client);
}
#endregion
بعد كدة روح Npcs.cs ابحث عن وبدله ب دول ولو مش عندك ضيفهم
كود PHP:
#region DragonIsland
case 10137:
{
switch (client.ActiveNpc)
{
#region Conductress
case 20508:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("<tip color=0xffffff00 desc=The#Conductress#inherited#the#station#from#her#father.#She#prospered#the#business#");
dialog.Text("by#adopting#advance#management #methods,#and#is#praised#for#providing#excellent#teleport#services.>");
dialog.Text("Conductress</tip>: ");
dialog.Text("May I help you? I only charge 100 Silver for teleport service per time. It`s free if you want to go to the Market.");
dialog.Option("Twin~City.", 1);
dialog.Option("Twin~City~Market.", 2);
dialog.Option("Giant~Chasm.~(hunting~area)", 4);
dialog.Option("I`m~just~passing~by.", 3);
dialog.Send();
break;
}
case 1:
{
if (client.Player.Money >= 100)
{
client.Player.Money -= 100;
client.Player.Teleport(1002, 448, 473);
client.Player.DragonIslandAttackable = false;
}
else
{
dialog.Text("You do not have 100 silvers.");
dialog.Option("Aww!", 255);
}
break;
}
case 2:
{
client.Player.DragonIslandAttackable = false;
client.Player.Teleport(1002, 344, 438);
break;
}
case 4:
{
client.Player.Teleport(10137, 454, 484);
Random R = new Random();
int Nr = R.Next(1, 5);
if (Nr == 1) client.Player.Teleport(10137, 454, 484);
if (Nr == 2) client.Player.Teleport(10137, 458, 483);
if (Nr == 3) client.Player.Teleport(10137, 457, 480);
if (Nr == 4) client.Player.Teleport(10137, 454, 481);
if (Nr == 5) client.Player.Teleport(10137, 453, 480);
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
break;
}
}
break;
}
#endregion
#region GlowtownPortals
case 20571:
case 20572:
case 20573:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Are you sure you want to return to Glowtown?");
dialog.Option("Yes.", 1);
dialog.Option("No.", 255);
dialog.Send();
break;
}
case 1:
{
client.Player.Teleport(10137, 93, 408);
client.Player.DragonIslandAttackable = false;
break;
}
}
break;
}
#endregion
#region CobbWind
case 20500:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
dialog.Text("Cobb Wind</tip>: ");
if (DateTime.Now.Minute >= 0 || DateTime.Now.Minute <= 4)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("Urgent report from the front line!");
dialog.Text(" [Thrilling Spook] has appeared around (349,635) on the Dragon Island!");
dialog.Text("Many heroes are heading to fight against the beasts. Hurry and go support them!");
dialog.Option("Go~kill~the~[Thrilling~Spook]", 8);
dialog.Option("I`ll~talk~to~you~later.", 255);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute >= 5 || DateTime.Now.Minute <= 13)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("You came at the right time! The devils have occupied the Twisting Hell Array, and are trying to summon ");
dialog.Text("<tip color=0xfff05050 desc=Killing#Nemesis#Tyrant#brings#Savage#Bone,#P7#Weapon/Armor/Accessory#Soul#Pack#Fragment,#Senior#EXP#Nut,#etc.>Nemesis Tyrant</tip>,");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Snow#Banshee#brings#P5-6#Dragon#Soul,#Dragon#Ball,#+2#Stone,#Senior#EXP#Nut,#etc.>Snow Banshee</tip> and");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Thrilling#Spook#brings#P6#Dragon#Soul,#Dragon#Ball,#Senior#EXP#Nut,#etc.>Thrilling Spook</tip>");
dialog.Text("~to the Dragon Island. Commander Shan has given order to kill them at any cost. Dragon Island is not allowed to sink!");
dialog.Text(" * [Nemesis Tyrant] will appear at 0" + DateTime.Now.Hour + ":15 today around (568,372) on the Dragon Island.* ");
dialog.Option("Learn~more~about~these~beasts.", 1);
dialog.Option("I`ll~keep~an~eye~on~them.", 255);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute == 14)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("You came at the right time! The devils have occupied the Twisting Hell Array, and are trying to summon ");
dialog.Text("<tip color=0xfff05050 desc=Killing#Nemesis#Tyrant#brings#Savage#Bone,#P7#Weapon/Armor/Accessory#Soul#Pack#Fragment,#Senior#EXP#Nut,#etc.>Nemesis Tyrant</tip>,");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Snow#Banshee#brings#P5-6#Dragon#Soul,#Dragon#Ball,#+2#Stone,#Senior#EXP#Nut,#etc.>Snow Banshee</tip> and");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Thrilling#Spook#brings#P6#Dragon#Soul,#Dragon#Ball,#Senior#EXP#Nut,#etc.>Thrilling Spook</tip>");
dialog.Text("~to the Dragon Island. Commander Shan has given order to kill them at any cost. Dragon Island is not allowed to sink!");
dialog.Text(" * [Snow Banshee] will appear at 0" + DateTime.Now.Hour + ":27 today around (658,718) on the Dragon Island.* ");
dialog.Option("Learn~more~about~these~beasts.", 1);
dialog.Option("I`ll~keep~an~eye~on~them.", 255);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute >= 15 || DateTime.Now.Minute <= 17)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("Urgent report from the front line!");
dialog.Text(" [Nemesis Tyrant] has appeared around (568,372) on the Dragon Island!");
dialog.Text("Many heroes are heading to fight against the beasts. Hurry and go support them!");
dialog.Option("Go~kill~the~[Nemesis~Tyrant].", 3);
dialog.Option("I`ll~talk~to~you~later.", 255);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute >= 18 || DateTime.Now.Minute <= 26)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("You came at the right time! The devils have occupied the Twisting Hell Array, and are trying to summon ");
dialog.Text("<tip color=0xfff05050 desc=Killing#Nemesis#Tyrant#brings#Savage#Bone,#P7#Weapon/Armor/Accessory#Soul#Pack#Fragment,#Senior#EXP#Nut,#etc.>Nemesis Tyrant</tip>,");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Snow#Banshee#brings#P5-6#Dragon#Soul,#Dragon#Ball,#+2#Stone,#Senior#EXP#Nut,#etc.>Snow Banshee</tip> and");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Thrilling#Spook#brings#P6#Dragon#Soul,#Dragon#Ball,#Senior#EXP#Nut,#etc.>Thrilling Spook</tip>");
dialog.Text("~to the Dragon Island. Commander Shan has given order to kill them at any cost. Dragon Island is not allowed to sink!");
dialog.Text(" * [Snow Banshee] will appear at 0" + DateTime.Now.Hour + ":27 today around (658,718) on the Dragon Island.* ");
dialog.Option("Learn~more~about~these~beasts.", 1);
dialog.Option("I`ll~keep~an~eye~on~them.", 255);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute >= 27 || DateTime.Now.Minute <= 28)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("Urgent report from the front line!");
dialog.Text(" [Snow Banshee] has appeared around (658,718) on the Dragon Island!");
dialog.Text("Many heroes are heading to fight against the beasts. Hurry and go support them!");
dialog.Option("Go~kill~the~[Snow~Banshee].", 5);
dialog.Option("I`ll~talk~to~you~later.", 255);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute == 29)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("You came at the right time! The devils have occupied the Twisting Hell Array, and are trying to summon ");
dialog.Text("<tip color=0xfff05050 desc=Killing#Nemesis#Tyrant#brings#Savage#Bone,#P7#Weapon/Armor/Accessory#Soul#Pack#Fragment,#Senior#EXP#Nut,#etc.>Nemesis Tyrant</tip>,");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Snow#Banshee#brings#P5-6#Dragon#Soul,#Dragon#Ball,#+2#Stone,#Senior#EXP#Nut,#etc.>Snow Banshee</tip> and");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Thrilling#Spook#brings#P6#Dragon#Soul,#Dragon#Ball,#Senior#EXP#Nut,#etc.>Thrilling Spook</tip>");
dialog.Text("~to the Dragon Island. Commander Shan has given order to kill them at any cost. Dragon Island is not allowed to sink!");
dialog.Text(" * [Thrilling Spook] will appear at 0" + DateTime.Now.Hour + " :30 today around (349,635) on the Dragon Island.* ");
dialog.Option("Learn~more~about~these~beasts.", 1);
dialog.Option("I`ll~keep~an~eye~on~them.", 255);
dialog.Avatar(53);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute >= 30 || DateTime.Now.Minute <= 34)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("Urgent report from the front line!");
dialog.Text(" [Thrilling Spook] has appeared around (349,635) on the Dragon Island!");
dialog.Text("Many heroes are heading to fight against the beasts. Hurry and go support them!");
dialog.Option("Go~kill~the~[Thrilling~Spook]", 8);
dialog.Option("I`ll~talk~to~you~later.", 255);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute >= 35 || DateTime.Now.Minute <= 44)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("You came at the right time! The devils have occupied the Twisting Hell Array, and are trying to summon ");
dialog.Text("<tip color=0xfff05050 desc=Killing#Nemesis#Tyrant#brings#Savage#Bone,#P7#Weapon/Armor/Accessory#Soul#Pack#Fragment,#Senior#EXP#Nut,#etc.>Nemesis Tyrant</tip>,");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Snow#Banshee#brings#P5-6#Dragon#Soul,#Dragon#Ball,#+2#Stone,#Senior#EXP#Nut,#etc.>Snow Banshee</tip> and");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Thrilling#Spook#brings#P6#Dragon#Soul,#Dragon#Ball,#Senior#EXP#Nut,#etc.>Thrilling Spook</tip>");
dialog.Text("~to the Dragon Island. Commander Shan has given order to kill them at any cost. Dragon Island is not allowed to sink!");
dialog.Text(" * [Nemesis Tyrant] will appear at 0" + DateTime.Now.Hour + ":15 today around (568,372) on the Dragon Island.* ");
dialog.Option("Learn~more~about~these~beasts.", 1);
dialog.Option("I`ll~keep~an~eye~on~them.", 255);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute >= 45 || DateTime.Now.Minute <= 49)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("Urgent report from the front line!");
dialog.Text(" [Nemesis Tyrant] has appeared around (568,372) on the Dragon Island!");
dialog.Text("Many heroes are heading to fight against the beasts. Hurry and go support them!");
dialog.Option("Go~kill~the~[Nemesis~Tyrant].", 3);
dialog.Option("I`ll~talk~to~you~later.", 255);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute >= 57 || DateTime.Now.Minute <= 59)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("Urgent report from the front line!");
dialog.Text(" [Snow Banshee] has appeared around (658,718) on the Dragon Island!");
dialog.Text("Many heroes are heading to fight against the beasts. Hurry and go support them!");
dialog.Option("Go~kill~the~[Snow~Banshee].", 5);
dialog.Option("I`ll~talk~to~you~later.", 255);
dialog.Avatar(53);
}
else
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("You came at the right time! The devils have occupied the Twisting Hell Array, and are trying to summon ");
dialog.Text("<tip color=0xfff05050 desc=Killing#Nemesis#Tyrant#brings#Savage#Bone,#P7#Weapon/Armor/Accessory#Soul#Pack#Fragment,#Senior#EXP#Nut,#etc.>Nemesis Tyrant</tip>,");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Snow#Banshee#brings#P5-6#Dragon#Soul,#Dragon#Ball,#+2#Stone,#Senior#EXP#Nut,#etc.>Snow Banshee</tip> and");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Thrilling#Spook#brings#P6#Dragon#Soul,#Dragon#Ball,#Senior#EXP#Nut,#etc.>Thrilling Spook</tip>");
dialog.Text("~to the Dragon Island. Commander Shan has given order to kill them at any cost. Dragon Island is not allowed to sink!");
dialog.Text(" * [Snow Banshee] will appear at" + DateTime.Now.Hour + ":57 Minute today around (658,718) on the Dragon Island.* ");
dialog.Option("Learn~more~about~these~beasts.", 1);
dialog.Option("I`ll~keep~an~eye~on~them.", 255);
dialog.Avatar(53);
}
dialog.Send();
break;
}
case 1:
{
dialog.Text("،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ");
dialog.Text(" [Beast] [Location] [Appear Time]");
dialog.Text("Nemesis Tyrant (DragonIsland 568,372) the " + DateTime.Now.Day + "th and 45th minute of each hour, every day");
dialog.Text("Thrilling Spook (DragonIsland 349,635) the 00th and 30th minute of each hour, every day");
dialog.Text("Snow Banshee (DragonIsland 658,718) the" + DateTime.Now.Day + "th and " + DateTime.Now.Hour + ":57th of each hour, every day");
dialog.Text("،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ");
dialog.Text("All the beasts above have left their lair for the Dragon Island.");
dialog.Option("I~see.", 255);
dialog.Avatar(53);
dialog.Send();
break;
}
case 2:
{
ushort x = 568;
ushort y = 372;
//uint NpcUid = 17436;
MsgAction datapacket = new MsgAction(true);
datapacket.UID = client.Player.UID;
datapacket.ID = MsgAction.Mode.PathFinding;
//datapacket.ShopID = NpcUid;
datapacket.X = x;
datapacket.Y = y;
client.Send(datapacket);
break;
}
case 3:
{
dialog.Text("The beast must be killed without any delay. You can find it with pathfinding or pay 1 CP to instantly get teleported.");
dialog.Option("Go~there~with~pathfinding.", 2);
dialog.Option("Instant~teleport.~(1~CP)", 4);
dialog.Avatar(53);
break;
}
case 4:
{
if (client.Player.ConquerPoints >= 1)
{
client.Player.Teleport(10137, 567, 372);
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
}
else
{
dialog.Text("Please make sure you have 1 CP to activate the instant portal.");
dialog.Option("Okay. ", 255);
dialog.Avatar(53);
}
break;
}
case 5:
{
dialog.Text("The beast must be killed without any delay. You can find it with pathfinding or pay 1 CP to instantly get teleported.");
dialog.Option("Go~there~with~pathfinding.", 6);
dialog.Option("Instant~teleport.~(1~CP)", 7);
dialog.Avatar(53);
break;
}
case 6:
{
ushort x = 658;
ushort y = 718;
//uint NpcUid = 17436;
MsgAction datapacket = new MsgAction(true);
datapacket.UID = client.Player.UID;
datapacket.ID = MsgAction.Mode.PathFinding;
//datapacket.ShopID = NpcUid;
datapacket.X = x;
datapacket.Y = y;
client.Send(datapacket);
break;
}
case 7:
{
if (client.Player.ConquerPoints >= 1)
{
client.Player.Teleport(10137, 658, 718);
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
}
else
{
dialog.Text("Please make sure you have 1 CP to activate the instant portal.");
dialog.Option("Okay. ", 255);
dialog.Avatar(53);
}
break;
}
case 8:
{
dialog.Text("The beast must be killed without any delay. You can find it with pathfinding or pay 1 CP to instantly get teleported.");
dialog.Option("Go~there~with~pathfinding.", 9);
dialog.Option("Instant~teleport.~(1~CP)", 10);
dialog.Avatar(53);
break;
}
case 9:
{
ushort x = 349;
ushort y = 635;
//uint NpcUid = 17436;
MsgAction datapacket = new MsgAction(true);
datapacket.UID = client.Player.UID;
datapacket.ID = MsgAction.Mode.PathFinding;
//datapacket.ShopID = NpcUid;
datapacket.X = x;
datapacket.Y = y;
client.Send(datapacket);
break;
}
case 10:
{
if (client.Player.ConquerPoints >= 1)
{
client.Player.Teleport(10137, 349, 635);
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
}
else
{
dialog.Text("Please make sure you have 1 CP to activate the instant portal.");
dialog.Option("Okay. ", 255);
dialog.Avatar(53);
}
break;
}
}
break;
}
#endregion
#region YuKoon
case 20510:
{
dialog.Avatar(102);
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("YuKoon:\n");
dialog.Text("The~Queen~of~Evil~has~found~the~hidden~treasures~in~the~Giant~Chasm.~lf~we\n");
dialog.Text("hurry,~there`s~still~a~chance~we~could~stop~them~from~moving~all~the~treasures\n");
dialog.Text("out.\n");
dialog.Text("~Rare~Treasures:~3,000~CPs,~P7~Dragon~Soul,~Knowledge~Pill,~etc.\n");
dialog.Text("Common~Treasures:~Meteor,~Favored~Training~Pill~(B),~etc.");
dialog.Option("Send~me~to~the~Giant~Chasm.", 1);
dialog.Option("Return~to~the~Glowtown.", 2);
dialog.Option("Any~other~tips~for~me?", 3);
dialog.Send();
break;
}
case 1:
{
Random R = new Random();
int Nr = R.Next(1, 5);
if (Nr == 1) client.Player.Teleport(10166, 65, 134);
if (Nr == 2) client.Player.Teleport(10166, 68, 131);
if (Nr == 3) client.Player.Teleport(10166, 68, 129);
if (Nr == 4) client.Player.Teleport(10166, 68, 132);
if (Nr == 5) client.Player.Teleport(10166, 65, 132);
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
client.Send(new MsgTalk("You`ve~arrived~in~the~Giant~Chasm~Be~careful!", System.Drawing.Color.Red, MsgTalk.System));
client.Player.DragonIslandAttackable = false;
break;
}
case 2:
{
client.Player.Teleport(10137, 101, 410);
break;
}
case 3:
{
dialog.Text("~~~~~~~~~~~~~~~~~~~~~~~~~~~~*Chasm~of~Chaos*\n");
dialog.Text("-------------------------------------------------------------------------------------------------------\n");
dialog.Text("1. Kiling~devils~in~the~Giant~Chasm~will~bring~you~common~treasures.\n");
dialog.Text("~~lf~you~have~<tip color=0xfff05050 desc=Luck#refreshes#at#00:00#every#day.#Every#time#you#get#a#rare#treasure,#you#lose#some#Luck#Points.>Luck</tip>:~while~killing,~you`ll~have~a~chance~of~getting~rare~treasures.\n");
dialog.Text("2.~PK~is~allowod.~You`ll~be~granted~1~stack~of~<tip color=0xfff05050 desc=Eack#Bliss#lasts#for#5#minutes.#When#your#stack#of#Bliss#increases,your#Bliss#will#be#reset#5#minutes.>Bliss</tip>:~per~opponent~you~defeat,\n");
dialog.Text("~up~to~9~stacks.\n");
dialog.Text("~~~The~more~stacks~of~your~Bliss,~the~higher~drop~rate~od~treasures.\n");
dialog.Text("3.~Defeating~robber~Sprite~will~definitely~bring~you~treasures,~and~also~90\n");
dialog.Text("~seconds~of~a~random~<tip color=0xfff05050 desc=1.#P-Attack#10000,#M-Attack#30000\n2.#HP#100000\n3.#Break#200%\n4.#lmmunity#200%\n5.#Storm#effect>buff</tip>:\n");
dialog.Text("4.~Defeating~the~Qureen~of~Evill~within~8~minutes~will~bring~you~extra~rewards.\n");
dialog.Text("5.~Defeating~each~of~other~beasts~within~3~minutes~will~bring~you~extra\n");
dialog.Text("~rewads.\n");
dialog.Text("-------------------------------------------------------------------------------------------------------\n");
dialog.Option("Isee.", 4);
dialog.Send();
break;
}
case 4:
{
dialog.Text("YuKoon:\n");
dialog.Text("The~Queen~of~Evil~has~found~the~hidden~treasures~in~the~Giant~Chasm.~lf~we\n");
dialog.Text("hurry,~there`s~still~a~chance~we~could~stop~them~from~moving~all~the~treasures\n");
dialog.Text("out.\n");
dialog.Text("~Rare~Treasures:~3,000~CPs,~P7~Dragon~Soul,~Knowledge~Pill,~etc.\n");
dialog.Text("Common~Treasures:~Meteor,~Favored~Training~Pill~(B),~etc.");
dialog.Option("Send~me~to~the~Giant~Chasm.", 1);
dialog.Option("Return~to~the~Glowtown.", 2);
dialog.Option("Any~other~tips~for~me?", 3);
dialog.Send();
break;
}
}
break;
}
#endregion
}
break;
}
#endregion
#region Supply~Station
case 10166:
{
switch (client.ActiveNpc)
{
#region YuKoon
case 29530:
{
dialog.Avatar(102);
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("YuKoon:\n");
dialog.Text("The~Giant~Chasm~looks~quite~weird~now.~There~may~be~an~ambush~at~any\n");
dialog.Text("corner.~Be~careful!");
dialog.Option("Return~to~the~Dragon~lsland.", 1);
dialog.Option("Any~other~tips~for~me?", 2);
dialog.Send();
break;
}
case 1:
{
Random R = new Random();
int Nr = R.Next(1, 5);
if (Nr == 1) client.Player.Teleport(10137, 458, 482);
if (Nr == 2) client.Player.Teleport(10137, 455, 482);
if (Nr == 3) client.Player.Teleport(10137, 454, 481);
if (Nr == 4) client.Player.Teleport(10137, 454, 480);
if (Nr == 5) client.Player.Teleport(10137, 454, 483);
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
break;
}
case 2:
{
dialog.Text("~~~~~~~~~~~~~~~~~~~~~~~~~~~~*Chasm~of~Chaos*\n");
dialog.Text("-------------------------------------------------------------------------------------------------------\n");
dialog.Text("1.Kiling~devils~in~the~Giant~Chasm~will~bring~you~common~treasures.\n");
dialog.Text("~lf~you~have~<tip color=0xfff05050 desc=Luck#refreshes#at#00:00#every#day.#Every#time#you#get#a#rare#treasure,#you#lose#some#Luck#Points.>Luck</tip>:~while~killing,~you`ll~have~a~chance~of~getting~rare~treasures.\n");
dialog.Text("2.~PK~is~allowod.~You`ll~be~granted~1~stack~of~<tip color=0xfff05050 desc=Eack#Bliss#lasts#for#5#minutes.#When#your#stack#of#Bliss#increases,your#Bliss#will#be#reset#5#minutes.>Bliss</tip>:~per~opponent~you~defeat,\n");
dialog.Text("~up~to~9~stacks.\n");
dialog.Text("~~The~more~stacks~of~your~Bliss,~the~higher~drop~rate~od~treasures.\n");
dialog.Text("3.~Defeating~robber~Sprite~will~definitely~bring~you~treasures,~and~also~90\n");
dialog.Text("~seconds~of~a~random~<tip color=0xfff05050 desc=1.#P-Attack#10000,#M-Attack#30000\n2.#HP#100000\n3.#Break#200%\n4.#lmmunity#200%\n5.#Storm#effect>buff</tip>:\n");
dialog.Text("4.~Defeating~the~Qureen~of~Evill~within~8~minutes~will~bring~you~extra~rewards.\n");
dialog.Text("5.~Defeating~each~of~other~beasts~within~3~minutes~will~bring~you~extra\n");
dialog.Text("rewads.\n");
dialog.Text("-------------------------------------------------------------------------------------------------------");
dialog.Option("Isee.", 3);
dialog.Send();
break;
}
case 3:
{
dialog.Text("YuKoon:\n");
dialog.Text("The~Giant~Chasm~looks~quite~weird~now.~There~may~be~an~ambush~at~any\n");
dialog.Text("corner.~Be~careful!");
dialog.Option("Return~to~the~Dragon~lsland.", 1);
dialog.Option("Any~other~tips~for~me?", 2);
dialog.Send();
break;
}
}
break;
}
#endregion
#region HauKan
case 27520:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Hau~Kan:\n");
dialog.Text("l`m~old,~but~l`m~vigorous.~lf~you~need~any~supplies,~find~me.\n");
dialog.Text("The~devils~in~the~Giant~Chasm~are~digging~for~the~<tip color=0xfff05050 desc=Collect#Chaos#Beads#by#killing#Devils#in#the#Giant#Chasm.>Chaos~Bead</tip>~which~can\n");
dialog.Text("~enhance~their~power.~lf~you`ve~collected~some~Chaos~Beads,~just~exchange\n");
dialog.Text("~them~for~supplies~with~me.\n");
dialog.Text("~~~~~~~~*Last~Exchange~for~3,000~CPs: \n");
dialog.Text("~~~~~~~~*Last~Exchange~for~3,000~CPs~(B): ");
dialog.Option("Exchange~for~supplies.", 1);
dialog.Avatar(67);
dialog.Send();
break;
}
case 1:
{
#region Exchange
var shop = new ProtoExchangeShop()
{
ShopID = 19424,//19424
Action = 23,
TimeIn = 1714178,
TimeInSeconds = 46389,
};
client.Send(MsgExchangeShop.FinalizeProtoBuf(shop));
#endregion
break;
}
}
break;
}
#endregion
#region CobbWind
case 29540:
{
dialog.Avatar(53);
switch (npcRequest.OptionID)
{
case 0:
{
DateTime Now64 = DateTime.Now;
client.Player.Update(MsgName.Mode.Effect, "zf2-e295", true);
dialog.Text("Cobb~Wind:\n");
if (DateTime.Now.Minute >= 00 && DateTime.Now.Minute < 05)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("The~<tip color=0xfff05050 desc=Killing#the#Queen#of#Evil#brings#+2#Stone,#Blazing#CP#Fragment,#etc.>Queen~of~Evil</tip>~has~gathered~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Nether#Tyrant#brings#Savage#Bone,#P7#Dragon#Soul#Fragment,#Meteor#Scroll,#etc.>Nether~Tyrant</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Bloody#Banshee#brings#Dragon#Ball,#+2#Stons,#Mount#Armor,#Weapon#Accessory,#etc.>Bloody~Banshee</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Dragon#Wraith#btings#Superior#Refinery#Pack,#Blazing#CP#Fragment,#etc.>Dragon~\nWraith</tip>,~");
dialog.Text("and~<tip color=0xfff05050 desc=Kiling#Chilling#Spook#btings#P6#Dragon#Soul,#Dragon#Ball,#Blazing#CP#Fragment,#etc.>Chilling~Spook</tip>~in~");
dialog.Text("the~Glant~Chasm.~They~must~have~known~the\n");
dialog.Text("ancient~treasures~in~the~chasm.~Hurry~up!~We~have~to~stop~them~from~getting\n");
dialog.Text("Stronger.\n");
dialog.Text("~~~*Dragon~Wraith~will~appear~at~0" + DateTime.Now.Hour + ":05~today~around~(204,138)~in~the~Giant\n");
dialog.Text("Chasm.*");
dialog.Option("Learn~more~about~these~beasts.", 1);
}
else if (Now64.Minute >= 5 && Now64.Minute <= 7)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("Urgent~report~from~the~fronnt~line!\n");
dialog.Text("~~~~Dragon~Wraith~has~appeared~around~(204,138)~in~the~Giant~Chasm.\n");
dialog.Text("Many~heroes~are~heading~to~fight~against~the~beasts.~Hurry~and~go~support\n");
dialog.Text("Them!");
dialog.Option("Go~kill~the~Dragon~Wraith!", 2);
}
else if (Now64.Minute >= 7 && Now64.Minute <= 10)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("The~<tip color=0xfff05050 desc=Killing#the#Queen#of#Evil#brings#+2#Stone,#Blazing#CP#Fragment,#etc.>Queen~of~Evil</tip>~has~gathered~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Nether#Tyrant#brings#Savage#Bone,#P7#Dragon#Soul#Fragment,#Meteor#Scroll,#etc.>Nether~Tyrant</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Bloody#Banshee#brings#Dragon#Ball,#+2#Stons,#Mount#Armor,#Weapon#Accessory,#etc.>Bloody~Banshee</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Dragon#Wraith#btings#Superior#Refinery#Pack,#Blazing#CP#Fragment,#etc.>Dragon~\nWraith</tip>,~");
dialog.Text("and~<tip color=0xfff05050 desc=Kiling#Chilling#Spook#btings#P6#Dragon#Soul,#Dragon#Ball,#Blazing#CP#Fragment,#etc.>Chilling~Spook</tip>~in~");
dialog.Text("the~Glant~Chasm.~They~must~have~known~the\n");
dialog.Text("ancient~treasures~in~the~chasm.~Hurry~up!~We~have~to~stop~them~from~getting\n");
dialog.Text("Stronger.\n");
dialog.Text("~~~*Queen~of~Evil~will~appear~at~19:10~and~21:10~today~around~(286,158)~in~the~Giant\n");
dialog.Text("Chasm.*");
dialog.Option("Learn~more~about~these~beasts.", 1);
}
else if (Now64.Hour >= 19 && Now64.Minute >= 10 && Now64.Minute <= 20)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("Urgent~report~from~the~fronnt~line!\n");
dialog.Text("~~~~Queen~of~Evil~has~appeared~around~(286,158)~in~the~Giant~Chasm.\n");
dialog.Text("Many~heroes~are~heading~to~fight~against~the~beasts.~Hurry~and~go~support\n");
dialog.Text("Them!");
dialog.Option("Go~kill~the~Queen~of~Evil!", 5);
}
else if (Now64.Hour >= 21 && Now64.Minute >= 10 && Now64.Minute <= 20)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("Urgent~report~from~the~fronnt~line!\n");
dialog.Text("~~~~Queen~of~Evil~has~appeared~around~(286,158)~in~the~Giant~Chasm.\n");
dialog.Text("Many~heroes~are~heading~to~fight~against~the~beasts.~Hurry~and~go~support\n");
dialog.Text("Them!");
dialog.Option("Go~kill~the~Queen~of~Evil!", 5);
}
else if (Now64.Hour <= 19 && Now64.Minute <= 10 && Now64.Minute >= 20
|| Now64.Hour <= 21 && Now64.Minute <= 10 && Now64.Minute >= 20)
{
if (Now64.Minute >= 10 && Now64.Minute <= 12)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("The~<tip color=0xfff05050 desc=Killing#the#Queen#of#Evil#brings#+2#Stone,#Blazing#CP#Fragment,#etc.>Queen~of~Evil</tip>~has~gathered~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Nether#Tyrant#brings#Savage#Bone,#P7#Dragon#Soul#Fragment,#Meteor#Scroll,#etc.>Nether~Tyrant</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Bloody#Banshee#brings#Dragon#Ball,#+2#Stons,#Mount#Armor,#Weapon#Accessory,#etc.>Bloody~Banshee</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Dragon#Wraith#btings#Superior#Refinery#Pack,#Blazing#CP#Fragment,#etc.>Dragon~\nWraith</tip>,~");
dialog.Text("and~<tip color=0xfff05050 desc=Kiling#Chilling#Spook#btings#P6#Dragon#Soul,#Dragon#Ball,#Blazing#CP#Fragment,#etc.>Chilling~Spook</tip>~in~");
dialog.Text("the~Glant~Chasm.~They~must~have~known~the\n");
dialog.Text("ancient~treasures~in~the~chasm.~Hurry~up!~We~have~to~stop~them~from~getting\n");
dialog.Text("Stronger.\n");
dialog.Text("~~~*Bloody~Banshee~will~appear~at~0" + DateTime.Now.Hour + ":27~today~around~(204,138)~in~the~Giant\n");
dialog.Text("Chasm.*");
dialog.Option("Learn~more~about~these~beasts.", 1);
}
else if (DateTime.Now.Minute >= 12 && DateTime.Now.Minute < 15)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("The~<tip color=0xfff05050 desc=Killing#the#Queen#of#Evil#brings#+2#Stone,#Blazing#CP#Fragment,#etc.>Queen~of~Evil</tip>~has~gathered~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Nether#Tyrant#brings#Savage#Bone,#P7#Dragon#Soul#Fragment,#Meteor#Scroll,#etc.>Nether~Tyrant</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Bloody#Banshee#brings#Dragon#Ball,#+2#Stons,#Mount#Armor,#Weapon#Accessory,#etc.>Bloody~Banshee</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Dragon#Wraith#btings#Superior#Refinery#Pack,#Blazing#CP#Fragment,#etc.>Dragon~\nWraith</tip>,~");
dialog.Text("and~<tip color=0xfff05050 desc=Kiling#Chilling#Spook#btings#P6#Dragon#Soul,#Dragon#Ball,#Blazing#CP#Fragment,#etc.>Chilling~Spook</tip>~in~");
dialog.Text("the~Glant~Chasm.~They~must~have~known~the\n");
dialog.Text("ancient~treasures~in~the~chasm.~Hurry~up!~We~have~to~stop~them~from~getting\n");
dialog.Text("Stronger.\n");
dialog.Text("~~~*Chilling~Spook~will~appear~at~0" + DateTime.Now.Hour + ":30~today~around~(204,138)~in~the~Giant\n");
dialog.Text("Chasm.*");
dialog.Option("Learn~more~about~these~beasts.", 1);
}
else if (Now64.Minute >= 15 && Now64.Minute <= 17)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("The~<tip color=0xfff05050 desc=Killing#the#Queen#of#Evil#brings#+2#Stone,#Blazing#CP#Fragment,#etc.>Queen~of~Evil</tip>~has~gathered~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Nether#Tyrant#brings#Savage#Bone,#P7#Dragon#Soul#Fragment,#Meteor#Scroll,#etc.>Nether~Tyrant</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Bloody#Banshee#brings#Dragon#Ball,#+2#Stons,#Mount#Armor,#Weapon#Accessory,#etc.>Bloody~Banshee</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Dragon#Wraith#btings#Superior#Refinery#Pack,#Blazing#CP#Fragment,#etc.>Dragon~\nWraith</tip>,~");
dialog.Text("and~<tip color=0xfff05050 desc=Kiling#Chilling#Spook#btings#P6#Dragon#Soul,#Dragon#Ball,#Blazing#CP#Fragment,#etc.>Chilling~Spook</tip>~in~");
dialog.Text("the~Glant~Chasm.~They~must~have~known~the\n");
dialog.Text("ancient~treasures~in~the~chasm.~Hurry~up!~We~have~to~stop~them~from~getting\n");
dialog.Text("Stronger.\n");
dialog.Text("~~~*Nether~Tyrant~will~appear~at~0" + DateTime.Now.Hour + ":45~today~around~(257,136)~in~the~Giant\n");
dialog.Text("Chasm.*");
dialog.Option("Learn~more~about~these~beasts.", 1);
}
else if (Now64.Minute >= 17 && Now64.Minute <= 20)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("The~<tip color=0xfff05050 desc=Killing#the#Queen#of#Evil#brings#+2#Stone,#Blazing#CP#Fragment,#etc.>Queen~of~Evil</tip>~has~gathered~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Nether#Tyrant#brings#Savage#Bone,#P7#Dragon#Soul#Fragment,#Meteor#Scroll,#etc.>Nether~Tyrant</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Bloody#Banshee#brings#Dragon#Ball,#+2#Stons,#Mount#Armor,#Weapon#Accessory,#etc.>Bloody~Banshee</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Dragon#Wraith#btings#Superior#Refinery#Pack,#Blazing#CP#Fragment,#etc.>Dragon~\nWraith</tip>,~");
dialog.Text("and~<tip color=0xfff05050 desc=Kiling#Chilling#Spook#btings#P6#Dragon#Soul,#Dragon#Ball,#Blazing#CP#Fragment,#etc.>Chilling~Spook</tip>~in~");
dialog.Text("the~Glant~Chasm.~They~must~have~known~the\n");
dialog.Text("ancient~treasures~in~the~chasm.~Hurry~up!~We~have~to~stop~them~from~getting\n");
dialog.Text("Stronger.\n");
dialog.Text("~~~*Queen~of~Evil~will~appear~at~19:10~and~21:10~today~around~(286,158)~in~the~Giant\n");
dialog.Text("Chasm.*");
dialog.Option("Learn~more~about~these~beasts.", 1);
}
}
else if (Now64.Minute >= 20 && Now64.Minute <= 27)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("The~<tip color=0xfff05050 desc=Killing#the#Queen#of#Evil#brings#+2#Stone,#Blazing#CP#Fragment,#etc.>Queen~of~Evil</tip>~has~gathered~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Nether#Tyrant#brings#Savage#Bone,#P7#Dragon#Soul#Fragment,#Meteor#Scroll,#etc.>Nether~Tyrant</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Bloody#Banshee#brings#Dragon#Ball,#+2#Stons,#Mount#Armor,#Weapon#Accessory,#etc.>Bloody~Banshee</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Dragon#Wraith#btings#Superior#Refinery#Pack,#Blazing#CP#Fragment,#etc.>Dragon~\nWraith</tip>,~");
dialog.Text("and~<tip color=0xfff05050 desc=Kiling#Chilling#Spook#btings#P6#Dragon#Soul,#Dragon#Ball,#Blazing#CP#Fragment,#etc.>Chilling~Spook</tip>~in~");
dialog.Text("the~Glant~Chasm.~They~must~have~known~the\n");
dialog.Text("ancient~treasures~in~the~chasm.~Hurry~up!~We~have~to~stop~them~from~getting\n");
dialog.Text("Stronger.\n");
dialog.Text("~~~*Bloody~Banshee~will~appear~at~0" + DateTime.Now.Hour + ":27~today~around~(204,138)~in~the~Giant\n");
dialog.Text("Chasm.*");
dialog.Option("Learn~more~about~these~beasts.", 1);
}
else if (Now64.Minute >= 27 && Now64.Minute <= 29)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("Urgent~report~from~the~fronnt~line!\n");
dialog.Text("~~~~Bloody~Banshee~has~appeared~around~(238,165)~in~the~Giant~Chasm.\n");
dialog.Text("Many~heroes~are~heading~to~fight~against~the~beasts.~Hurry~and~go~support\n");
dialog.Text("Them!");
dialog.Option("Go~kill~the~Bloody~Banshee!", 8);
}
else if (DateTime.Now.Minute >= 29 && DateTime.Now.Minute < 30)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("The~<tip color=0xfff05050 desc=Killing#the#Queen#of#Evil#brings#+2#Stone,#Blazing#CP#Fragment,#etc.>Queen~of~Evil</tip>~has~gathered~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Nether#Tyrant#brings#Savage#Bone,#P7#Dragon#Soul#Fragment,#Meteor#Scroll,#etc.>Nether~Tyrant</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Bloody#Banshee#brings#Dragon#Ball,#+2#Stons,#Mount#Armor,#Weapon#Accessory,#etc.>Bloody~Banshee</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Dragon#Wraith#btings#Superior#Refinery#Pack,#Blazing#CP#Fragment,#etc.>Dragon~\nWraith</tip>,~");
dialog.Text("and~<tip color=0xfff05050 desc=Kiling#Chilling#Spook#btings#P6#Dragon#Soul,#Dragon#Ball,#Blazing#CP#Fragment,#etc.>Chilling~Spook</tip>~in~");
dialog.Text("the~Glant~Chasm.~They~must~have~known~the\n");
dialog.Text("ancient~treasures~in~the~chasm.~Hurry~up!~We~have~to~stop~them~from~getting\n");
dialog.Text("Stronger.\n");
dialog.Text("~~~*Chilling~Spook~will~appear~at~0" + DateTime.Now.Hour + ":30~today~around~(204,138)~in~the~Giant\n");
dialog.Text("Chasm.*");
dialog.Option("Learn~more~about~these~beasts.", 1);
}
else if (DateTime.Now.Minute >= 30 && DateTime.Now.Minute < 34)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("Urgent~report~from~the~fronnt~line!\n");
dialog.Text("~~~~Chilling~Spook~has~appeared~around~(214,096)~in~the~Giant~Chasm.\n");
dialog.Text("Many~heroes~are~heading~to~fight~against~the~beasts.~Hurry~and~go~support\n");
dialog.Text("Them!");
dialog.Option("Go~kill~the~Chilling~Spook!", 11);
}
else if (Now64.Minute >= 34 && Now64.Minute <= 45)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("The~<tip color=0xfff05050 desc=Killing#the#Queen#of#Evil#brings#+2#Stone,#Blazing#CP#Fragment,#etc.>Queen~of~Evil</tip>~has~gathered~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Nether#Tyrant#brings#Savage#Bone,#P7#Dragon#Soul#Fragment,#Meteor#Scroll,#etc.>Nether~Tyrant</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Bloody#Banshee#brings#Dragon#Ball,#+2#Stons,#Mount#Armor,#Weapon#Accessory,#etc.>Bloody~Banshee</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Dragon#Wraith#btings#Superior#Refinery#Pack,#Blazing#CP#Fragment,#etc.>Dragon~\nWraith</tip>,~");
dialog.Text("and~<tip color=0xfff05050 desc=Kiling#Chilling#Spook#btings#P6#Dragon#Soul,#Dragon#Ball,#Blazing#CP#Fragment,#etc.>Chilling~Spook</tip>~in~");
dialog.Text("the~Glant~Chasm.~They~must~have~known~the\n");
dialog.Text("ancient~treasures~in~the~chasm.~Hurry~up!~We~have~to~stop~them~from~getting\n");
dialog.Text("Stronger.\n");
dialog.Text("~~~*Nether~Tyrant~will~appear~at~0" + DateTime.Now.Hour + ":45~today~around~(257,136)~in~the~Giant\n");
dialog.Text("Chasm.*");
dialog.Option("Learn~more~about~these~beasts.", 1);
}
else if (Now64.Minute >= 45 && Now64.Minute <= 00)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("Urgent~report~from~the~fronnt~line!\n");
dialog.Text("~~~~Nether~Tyrant~has~appeared~around~(257,136)~in~the~Giant~Chasm.\n");
dialog.Text("Many~heroes~are~heading~to~fight~against~the~beasts.~Hurry~and~go~support\n");
dialog.Text("Them!");
dialog.Option("Go~kill~the~Nether~Tyrant!", 14);
}
dialog.Send();
break;
}
case 1:
{
dialog.Text("------------------------------------------------------------------------------------\n");
dialog.Text(" [Beast] [Location] [Appear Time]\n");
dialog.Text("Queen~of~Evil Giant~Chasm(286,158) 19:10~and~21:10,every~day\n");
dialog.Text("Bloody~Banshee Giant~Chasm(238,165) At~27~min~past~each~hour,every~day\n");
dialog.Text("Chilling Spook Giant~Chasm(214,096) At~30~min~past~each~hour,every~day\n");
dialog.Text("Nemesis Tyrant Giant~Chasm(257,136) At~45~min~past~each~hour,every~day\n");
dialog.Text("Dragon~Wraith Giant~Chasm(204,138) At~05~min~past~each~hour,every~day\n");
dialog.Text("------------------------------------------------------------------------------------");
dialog.Option("I~see.", 255);
dialog.Send();
break;
}
#region Dragon~Wraith
case 2://204,138
{
if (DateTime.Now.Minute >= 5 || DateTime.Now.Minute <= 7)
{
dialog.Text("The~beast~must~be~killed~without~any~delay.~You~can~find~it~with~pathfinding~or\n");
dialog.Text("~pay~1~CP~to~instantly~get~teleported.");
dialog.Option("Go~there~with~pathfinding.", 3);
dialog.Option("lnstant~teleport.~(1~CP)", 4);
}
else
{
dialog.Text("[Dragon~Wraith]~has~been~defeated~and~fled~away.~You~don`t~need~to~go~there\n");
dialog.Text("~now.");
dialog.Option("I~see.", 255);
}
dialog.Send();
break;
}
case 3:
{
ushort x = 204;
ushort y = 138;
//uint NpcUid = 17436;
MsgAction datapacket = new MsgAction(true);
datapacket.UID = client.Player.UID;
datapacket.ID = MsgAction.Mode.PathFinding;
//datapacket.ShopID = NpcUid;
datapacket.X = x;
datapacket.Y = y;
client.Send(datapacket);
break;
}
case 4:
{
if (client.Player.ConquerPoints >= 1)
{
client.Player.Teleport(10166, 204, 138);
client.Player.ConquerPoints -= 1;
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
}
else
{
dialog.Text("Please make sure you have 1 CP to activate the instant portal.");
dialog.Option("Okay. ", 255);
}
break;
}
#endregion
#region Queen~of~Evil
case 5://286,158
{
if (DateTime.Now.Hour >= 19 || DateTime.Now.Minute >= 10 || DateTime.Now.Minute <= 20)
{
dialog.Text("The~beast~must~be~killed~without~any~delay.~You~can~find~it~with~pathfinding~or\n");
dialog.Text("~pay~1~CP~to~instantly~get~teleported.");
dialog.Option("Go~there~with~pathfinding.", 6);
dialog.Option("lnstant~teleport.~(1~CP)", 7);
}
else if (DateTime.Now.Hour >= 21 || DateTime.Now.Minute >= 10 || DateTime.Now.Minute <= 20)
{
dialog.Text("The~beast~must~be~killed~without~any~delay.~You~can~find~it~with~pathfinding~or\n");
dialog.Text("~pay~1~CP~to~instantly~get~teleported.");
dialog.Option("Go~there~with~pathfinding.", 6);
dialog.Option("lnstant~teleport.~(1~CP)", 7);
}
else
{
dialog.Text("[Queen~of~Evil]~has~been~defeated~and~fled~away.~You~don`t~need~to~go~there\n");
dialog.Text("~now.");
dialog.Option("I~see.", 255);
}
dialog.Send();
break;
}
case 6:
{
ushort x = 286;
ushort y = 158;
//uint NpcUid = 17436;
MsgAction datapacket = new MsgAction(true);
datapacket.UID = client.Player.UID;
datapacket.ID = MsgAction.Mode.PathFinding;
//datapacket.ShopID = NpcUid;
datapacket.X = x;
datapacket.Y = y;
client.Send(datapacket);
break;
}
case 7:
{
if (client.Player.ConquerPoints >= 1)
{
client.Player.Teleport(10166, 286, 158);
client.Player.ConquerPoints -= 1;
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
}
else
{
dialog.Text("Please make sure you have 1 CP to activate the instant portal.");
dialog.Option("Okay. ", 255);
}
break;
}
#endregion
#region Bloody~Banshee
case 8://238,165
{
if (DateTime.Now.Minute >= 20 || DateTime.Now.Minute <= 27)
{
dialog.Text("The~beast~must~be~killed~without~any~delay.~You~can~find~it~with~pathfinding~or\n");
dialog.Text("~pay~1~CP~to~instantly~get~teleported.");
dialog.Option("Go~there~with~pathfinding.", 3);
dialog.Option("lnstant~teleport.~(1~CP)", 4);
}
else
{
dialog.Text("[Bloody~Banshee]~has~been~defeated~and~fled~away.~You~don`t~need~to~go~there\n");
dialog.Text("~now.");
dialog.Option("I~see.", 255);
}
dialog.Send();
break;
}
case 9:
{
ushort x = 238;
ushort y = 165;
//uint NpcUid = 17436;
MsgAction datapacket = new MsgAction(true);
datapacket.UID = client.Player.UID;
datapacket.ID = MsgAction.Mode.PathFinding;
//datapacket.ShopID = NpcUid;
datapacket.X = x;
datapacket.Y = y;
client.Send(datapacket);
break;
}
case 10:
{
if (client.Player.ConquerPoints >= 1)
{
client.Player.Teleport(10166, 238, 165);
client.Player.ConquerPoints -= 1;
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
}
else
{
dialog.Text("Please make sure you have 1 CP to activate the instant portal.");
dialog.Option("Okay. ", 255);
}
break;
}
#endregion
#region Chilling Spook
case 11://238,165
{
if (DateTime.Now.Minute >= 30 || DateTime.Now.Minute <= 34)
{
dialog.Text("The~beast~must~be~killed~without~any~delay.~You~can~find~it~with~pathfinding~or\n");
dialog.Text("~pay~1~CP~to~instantly~get~teleported.");
dialog.Option("Go~there~with~pathfinding.", 12);
dialog.Option("lnstant~teleport.~(1~CP)", 13);
}
else
{
dialog.Text("[Chilling Spook]~has~been~defeated~and~fled~away.~You~don`t~need~to~go~there\n");
dialog.Text("~now.");
dialog.Option("I~see.", 255);
}
dialog.Send();
break;
}
case 12:
{
ushort x = 214;
ushort y = 96;
//uint NpcUid = 17436;
MsgAction datapacket = new MsgAction(true);
datapacket.UID = client.Player.UID;
datapacket.ID = MsgAction.Mode.PathFinding;
//datapacket.ShopID = NpcUid;
datapacket.X = x;
datapacket.Y = y;
client.Send(datapacket);
break;
}
case 13:
{
if (client.Player.ConquerPoints >= 1)
{
client.Player.Teleport(10166, 214, 96);
client.Player.ConquerPoints -= 1;
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
}
else
{
dialog.Text("Please make sure you have 1 CP to activate the instant portal.");
dialog.Option("Okay. ", 255);
}
break;
}
#endregion
#region Nemesis Tyrant
case 14://238,165
{
if (DateTime.Now.Minute >= 45 || DateTime.Now.Minute <= 00)
{
dialog.Text("The~beast~must~be~killed~without~any~delay.~You~can~find~it~with~pathfinding~or\n");
dialog.Text("~pay~1~CP~to~instantly~get~teleported.");
dialog.Option("Go~there~with~pathfinding.", 15);
dialog.Option("lnstant~teleport.~(1~CP)", 16);
}
else
{
dialog.Text("[Nemesis Tyrant]~has~been~defeated~and~fled~away.~You~don`t~need~to~go~there\n");
dialog.Text("~now.");
dialog.Option("I~see.", 255);
}
dialog.Send();
break;
}
case 15:
{
ushort x = 257;
ushort y = 136;
//uint NpcUid = 17436;
MsgAction datapacket = new MsgAction(true);
datapacket.UID = client.Player.UID;
datapacket.ID = MsgAction.Mode.PathFinding;
//datapacket.ShopID = NpcUid;
datapacket.X = x;
datapacket.Y = y;
client.Send(datapacket);
break;
}
case 16:
{
if (client.Player.ConquerPoints >= 1)
{
client.Player.Teleport(10166, 257, 136);
client.Player.ConquerPoints -= 1;
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
}
else
{
dialog.Text("Please make sure you have 1 CP to activate the instant portal.");
dialog.Option("Okay. ", 255);
}
break;
}
#endregion
}
break;
}
#endregion
#region GlowtownPortals
case 29991:
case 29992:
case 29993:
case 29994:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("This~Portal~will~send~you~to~the~supply~Station.~Do~you~want~to~use~portal/n");
dialog.Text("~npw?");
dialog.Option("Yes.", 1);
dialog.Option("No.", 255);
dialog.Avatar(0);
dialog.Send();
break;
}
case 1:
{
Random R = new Random();
int Nr = R.Next(1, 7);
if (Nr == 1) client.Player.Teleport(10166, 65, 134);
if (Nr == 2) client.Player.Teleport(10166, 68, 131);
if (Nr == 3) client.Player.Teleport(10166, 68, 129);
if (Nr == 4) client.Player.Teleport(10166, 68, 132);
if (Nr == 5) client.Player.Teleport(10166, 65, 132);
if (Nr == 6) client.Player.Teleport(10166, 67, 134);
if (Nr == 7) client.Player.Teleport(10166, 64, 133);
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
break;
}
}
break;
}
#endregion
#region Monster SPWAN
#region QueenofEvil
case 41999:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Hah! Want my QueenofEvil? Go to hell! Show me what you`re made of!");
dialog.Option("We`ll~see!", 1);
dialog.Option("Leave.", 255);
dialog.Avatar(0);
dialog.Send();
break;
}
case 1:
{
Database.MonsterInformation mob;
Database.MonsterInformation.MonsterInformations.TryGetValue(3970, out mob);
client.Map.Spawnthis(mob, client, npcs.MapID, npcs.X, npcs.Y);
Kernel.QueenofEvil2 = false;
Kernel.Maps[10166].Npcs.Remove(41999);
client.SendScreen(new MsgAction(true)
{
UID = 41999,
ID = MsgAction.Mode.RemoveEntity
}, true);
MsgMapItem Send = new MsgMapItem(true);
Send.UID = 41999;
Send.X = client.Player.X;
Send.Y = client.Player.Y;
Send.Type = 6;
client.SendScreenSpawn(Send, true);
}
break;
}
break;
}
#endregion
#region ChillingSpook
case 42999:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Hah! Want my ChillingSpook? Go to hell! Show me what you`re made of!");
dialog.Option("We`ll~see!", 1);
dialog.Option("Leave.", 255);
dialog.Avatar(0);
dialog.Send();
break;
}
case 1:
{
Database.MonsterInformation mob;
Database.MonsterInformation.MonsterInformations.TryGetValue(3977, out mob);
client.Map.Spawnthis(mob, client, npcs.MapID, npcs.X, npcs.Y);
Kernel.ChillingSpook2 = false;
Kernel.Maps[10166].Npcs.Remove(42999);
client.SendScreen(new MsgAction(true)
{
UID = 42999,
ID = MsgAction.Mode.RemoveEntity
}, true);
MsgMapItem Send = new MsgMapItem(true);
Send.UID = 42999;
Send.X = client.Player.X;
Send.Y = client.Player.Y;
Send.Type = 6;
client.SendScreenSpawn(Send, true);
}
break;
}
break;
}
#endregion
#region DragonWraith
case 43999:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Hah! Want my DragonWraith? Go to hell! Show me what you`re made of!");
dialog.Option("We`ll~see!", 1);
dialog.Option("Leave.", 255);
dialog.Avatar(0);
dialog.Send();
break;
}
case 1:
{
Database.MonsterInformation mob;
Database.MonsterInformation.MonsterInformations.TryGetValue(3971, out mob);
client.Map.Spawnthis(mob, client, npcs.MapID, npcs.X, npcs.Y);
Kernel.DragonWraith2 = false;
Kernel.Maps[10166].Npcs.Remove(43999);
client.SendScreen(new MsgAction(true)
{
UID = 43999,
ID = MsgAction.Mode.RemoveEntity
}, true);
MsgMapItem Send = new MsgMapItem(true);
Send.UID = 43999;
Send.X = client.Player.X;
Send.Y = client.Player.Y;
Send.Type = 6;
client.SendScreenSpawn(Send, true);
}
break;
}
break;
}
#endregion
#region NetherTyrant
case 44999:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Hah! Want my NetherTyrant? Go to hell! Show me what you`re made of!");
dialog.Option("We`ll~see!", 1);
dialog.Option("Leave.", 255);
dialog.Avatar(0);
dialog.Send();
break;
}
case 1:
{
Database.MonsterInformation mob;
Database.MonsterInformation.MonsterInformations.TryGetValue(3978, out mob);
client.Map.Spawnthis(mob, client, npcs.MapID, npcs.X, npcs.Y);
Kernel.NetherTyrant2 = false;
Kernel.Maps[10166].Npcs.Remove(44999);
client.SendScreen(new MsgAction(true)
{
UID = 44999,
ID = MsgAction.Mode.RemoveEntity
}, true);
MsgMapItem Send = new MsgMapItem(true);
Send.UID = 44999;
Send.X = client.Player.X;
Send.Y = client.Player.Y;
Send.Type = 6;
client.SendScreenSpawn(Send, true);
}
break;
}
break;
}
#endregion
#endregion Monster SPWAN
}
break;
}
#endregion Boss~Area
بعد كدة افتح Server.cs او Program.cs حسب السورس
وتحط دة ف لود الماب #region Maps
كود PHP:
Database.DMaps.LoadMap(10166);
وتحمل الماب دي وتحطها عندك ف مسار السورس دة
bin/debug/database/maps
فكها وارميها هنا
عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع
نيجي بقي ل شغل النافيكات دوس كليك يمين علي القاعدة واختار Console وحط فيها دول
كود PHP:
INSERT INTO `co1`.`npcs`(`id`, `name`, `type`, `lookface`, `mapid`, `cellx`, `celly`, `effect`) VALUES (20509, 'Pharmacist', 0001, 0036, 10137, 0083, 0409, '0');
INSERT INTO `co1`.`npcs`(`id`, `name`, `type`, `lookface`, `mapid`, `cellx`, `celly`, `effect`) VALUES (20508, 'Conductress', 0002, 0280, 10137, 0093, 0403, '0');
INSERT INTO `co1`.`npcs`(`id`, `name`, `type`, `lookface`, `mapid`, `cellx`, `celly`, `effect`) VALUES (20619, 'PotionDealer', 0001, 47906, 10137, 0083, 0403, '0');
INSERT INTO `co1`.`npcs`(`id`, `name`, `type`, `lookface`, `mapid`, `cellx`, `celly`, `effect`) VALUES (20500, 'CobbWind', 0002, 47500, 10137, 0104, 0406, '0');
كمان مرة
كود PHP:
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3974, 'EviExecutioner', 0001, 0268, 150000, 00, 2100, 1000, 0110, 0001, 0015, 0100, 0500, 0141, 3, 0500, 0, 3000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3973, 'EvilScout', 0001, 0154, 120000, 00, 2100, 1000, 0090, 0001, 0015, 0100, 0500, 0137, 3, 0500, 0, 2000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3975, 'EvilCenturion', 0001, 0315, 200000, 00, 2100, 1000, 0160, 0001, 0015, 0100, 0500, 0145, 3, 0500, 0, 5000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3976, 'BloodyBanshee', 0001, 0951, 240000000, 00, 10000, 10000, 60000, 0014, 0015, 0100, 0500, 0140, 3, 0500, 0, 30000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3977, 'ChillingSpook', 0001, 0952, 240000000, 00, 10000, 10000, 60000, 0014, 0015, 0100, 0500, 0141, 3, 0500, 0, 30000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3978, 'NetherTyrant', 0001, 0984, 320000000, 00, 10000, 10000, 60000, 0014, 0015, 0100, 0500, 0143, 3, 0500, 0, 30000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3982, 'ChiSprite', 0001, 0154, 20, 00, 2100, 1000, 0110, 0001, 0015, 0100, 0500, 0145, 3, 0500, 0, 1000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3983, 'StoneSprite', 0001, 0000, 20, 00, 2100, 1000, 0110, 0001, 0015, 0100, 0500, 0145, 3, 0500, 0, 1000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3979, 'MeteorSprite', 0001, 0000, 20, 00, 2100, 1000, 0110, 0001, 0015, 0100, 0500, 0145, 3, 0500, 0, 1000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3981, 'DBSprite', 0001, 0000, 20, 00, 2100, 1000, 0110, 0001, 0015, 0100, 0500, 0145, 3, 0500, 0, 1000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3984, 'DragonSoulSprite', 0001, 0000, 20, 00, 2100, 1000, 0110, 0001, 0015, 0100, 0500, 0145, 3, 0500, 0, 1000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3985, 'SilverSprite', 0001, 0000, 20, 00, 2100, 1000, 0110, 0001, 0015, 0100, 0500, 0145, 3, 0500, 0, 1000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3986, 'GearSprite', 0001, 0000, 20, 00, 2100, 1000, 0110, 0001, 0015, 0100, 0500, 0145, 3, 0500, 0, 1000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3970, 'QueenofEvil', 0001, 0919, 385000000, 00, 10000, 10000, 60000, 0014, 0015, 0100, 0500, 0148, 3, 0500, 0, 30000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3971, 'DragonWraith', 0001, 0950, 189000000, 00, 10000, 10000, 60000, 0014, 0015, 0100, 0500, 0145, 3, 0500, 0, 30000, 0, 0, 0, 0, 0, 0, '');
ملحوظة عشان تسهل علي نفسك غير co1 لاسم قاعدتك مرة واحدة عشان ينزل كله بدل ماتقعد تنزل وحوش دي كلها يدوي انا عامل عليك أنت :D
وأخيراً ضيف الماب دي ومبروك عليك بعد التعب دة :D
id mapdoc type weather
0000 0007 10166 10166
الموضوع طويل يا جماعة ووارد يقف قدامك ايرور او حاجة سيبه فكومنت وهرد عليك ب حل الايرور
يارب أكون فيدتكو <3
|