الموضوع : عن كويسته المدفع
شرح الاضافة:
اولا : تروح لكلاس Entity.cs
وتضيف دة في اي حتة
وبعدين تروح لكلاس EntityTable.cs
تبحث عن
وتضيف دة تحتية
وفي نفس الكلاس بردو تبحث عن
وتضيف دة تحتية
هتعمل كلاس جديد باسم mdf3
وتمسح كل الي فية وتضيف دة ومتنساش تغير اسم البروجيكت
تعمل خانه جديدة في جدول الانتتي
وتضيف دة في الان بي سي
وتضيف دة في NPC.cs
وبعدين تروح لكلاس World.cs
وتبحث عن
وتضيف دة تحت القوص
اولا : تروح لكلاس Entity.cs
وتضيف دة في اي حتة
الكود:
#region Quest mdf3
public uint RedDivel;
public uint mdf3;
#endregion
وبعدين تروح لكلاس EntityTable.cs
تبحث عن
الكود:
client.ExpBalls = reader.ReadByte("ExpBalls");
وتضيف دة تحتية
الكود:
client.Entity.mdf3 = reader.ReadUInt32("mdf3");
وفي نفس الكلاس بردو تبحث عن
الكود:
.Set("ClanId", (uint)e.ClanId)
وتضيف دة تحتية
الكود:
.Set("mdf3", e.mdf3)
هتعمل كلاس جديد باسم mdf3
وتمسح كل الي فية وتضيف دة ومتنساش تغير اسم البروجيكت
الكود:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Naruto.Client;
using Naruto.Game;
using Naruto.Network.GamePackets;
using Naruto.Network;
namespace Naruto
{
class mdf3
{
public static void travel(ushort x, ushort y, Client.GameState client)
{
Map.UpdateCoordonatesForAngle(ref x, ref y, Kernel.GetAngle(41, 417, client.Entity.X, client.Entity.Y));
client.Entity.Shift(x, y);
Attack attack = new Attack(true);
attack.X = x;
attack.Y = y;
attack.AttackType = Attack.FatalStrike;
client.Entity.Owner.SendScreen(attack, true);
client.Entity.Owner.Screen.Reload(attack);
}
public static void line(Client.GameState client, byte time, string mam)
{
byte[] Buf = new byte[150 + 8];
Writer.WriteUInt16(150, 0, Buf);
Writer.WriteUInt16(10010, 2, Buf);
Writer.WriteUInt32(client.Entity.UID, 4 + 4, Buf);
Writer.WriteUInt32(227, 4 + 8, Buf);//
Writer.WriteUInt32(164, 20 + 4, Buf);
Writer.WriteUInt32(1, 22 + 4, Buf);
Writer.WriteUInt32(time, 32 + 4, Buf);//Time duration for the effect
Writer.WriteUInt32(1, 37 + 4, Buf);
Writer.WriteUInt32(30, 38 + 4, Buf);
Writer.WriteString(mam, 39 + 4, Buf);// name
client.Send(Buf);
}
}
}
تعمل خانه جديدة في جدول الانتتي
الكود:
`mdf3` bigint(32) NOT NULL default '3600',
وتضيف دة في الان بي سي
الكود:
INSERT INTO `npcs` VALUES ('6952', 'MDF3', '0002', '26240', '1002', '0308', '0246', '0');
وتضيف دة في NPC.cs
الكود:
#region Mdf3 Quest#
case 6952:
{
switch (npcRequest.OptionID)
{
case 0:
{
if (client.Entity.mdf3 == 0)
{
client.Entity.mdf3 = 3600;
client.Entity.ConquerPoints += 100000;//Prize
_String str = new _String(true);
str.TextsCount = 2;
str.Type = 0x14;
str.Texts.Add("sound/mad.mp3");
str.Texts.Add("113");
client.SendScreen(str, true);
mdf3.line(client, 5, "Reloding...");//كلمة
System.Threading.Thread.Sleep(5000);
mdf3.travel(267, 409, client);
System.Threading.Thread.Sleep(1000);
mdf3.travel(300, 278, client);
System.Threading.Thread.Sleep(1000);
client.Screen.FullWipe();
client.Screen.Reload(null);
FloorItem floorItem = new FloorItem(true);
floorItem.ItemID = 1033;
floorItem.MapID = client.Entity.MapID;
floorItem.Type = FloorItem.Effect;
floorItem.X = client.Entity.X;
floorItem.Y = client.Entity.Y;
floorItem.Owner = client;
var map = client.Map;
while (map.Npcs.ContainsKey(floorItem.UID))
floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
map.AddFloorItem(floorItem);
client.SendScreenSpawn(floorItem, true);
floorItem.ItemID = 793;
while (map.Npcs.ContainsKey(floorItem.UID))
floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
map.AddFloorItem(floorItem);
client.SendScreenSpawn(floorItem, true);
floorItem.ItemID = 794;
while (map.Npcs.ContainsKey(floorItem.UID))
floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
map.AddFloorItem(floorItem);
client.SendScreenSpawn(floorItem, true);
}
else
{
dialog.Text("Hello " + client.Entity.Name + " you need 60 mins mdf3 online points you have " + client.Entity.mdf3 / 60 + " Mins");
dialog.Option("SRY", 255);
dialog.Send();
}
break;
}
}
break;
}
#endregion
وبعدين تروح لكلاس World.cs
وتبحث عن
الكود:
private void CharactersCallback
وتضيف دة تحت القوص