السلام عليكم يا رجالـــــــه
دى مكنة الحظ بالفلوس بس يا رجاله وانتظرو منى وحده بالسى بى اس كامله ان شاء الله
دى مكنة الحظ بالفلوس بس يا رجاله وانتظرو منى وحده بالسى بى اس كامله ان شاء الله
نبدأ الموضوع :
أولا افتح السى شارب
وبعدين روح على المسار ده :
ServerBase
جواها فى ملف اسمه :
Kernel.cs
افتح الملف ده وابحث عن الكود ده :
كود PHP:
public static uint weather;
وحط تحتيه علطول الكود ده :
كود PHP:
public static Random Random = new Random();
وبعدين روح على المسار ده :
Network
افتحها ودوس عليها كليك يمين واختار :
Add > New Item
وبعدين خلى اسم الملف اللى عملته :
OneBanditQuest.cs
وبعد كدا افتحه وامسح كل اللى جواه وحط الكود ده :
كود PHP:
using System;using Conquer_Online_Server.Interfaces;
namespace Conquer_Online_Server.Network.GamePackets{
class OneBanditQuest : Writer, IPacket
{
private byte[] Buffer;
public OneBanditQuest()
{
Buffer = new byte[24];
WriteUInt16(16, 0, Buffer);
WriteUInt16(1352, 2, Buffer);
}
public byte Action
{
get { return Buffer[4]; }
set { Buffer[4] = value; }
}
public byte Item1
{
get { return Buffer[5]; }
set { Buffer[5] = value; }
}
public byte Item2
{
get { return Buffer[6]; }
set { Buffer[6] = value; }
}
public byte Item3
{
get { return Buffer[7]; }
set { Buffer[7] = value; }
}
public uint NpcID
{
get { return BitConverter.ToUInt32(Buffer, 12); }
set { WriteUInt32(value, 12, Buffer); }
}
public void Deserialize(byte[] buffer)
{
this.Buffer = buffer;
}
public byte[] ToArray()
{
return Buffer;
}
public void Send(Client.GameState client)
{
client.Send(Buffer);
}
}
}
ادخل على
NetWork - PacketHandler.cs
وضيف فيها الكود ده فى اى مكان يعجبك
كود PHP:
#region OneBanditQuest (1351)
case 1351:
{
uint NpcID = Conquer_Online_Server.BitConverter.ToUInt32(packet, 8);
byte BitRate = packet[5];
byte Action = packet[4];
byte Item1 = (byte)Kernel.Random.Next(0, 6);
byte Item2 = (byte)Kernel.Random.Next(0, 6);
byte Item3 = (byte)Kernel.Random.Next(0, 6);
switch (Action)
{
#region Start
case 0:
{
if (NpcID == 9826)
{
client.Entity.ConquerPoints -= (uint)(BitRate * 3 );
client.Send(new OneBanditQuest() { Action = Action, Item1 = Item1, Item2 = Item2, NpcID = NpcID, Item3 = Item3 });
}
else
{
client.Entity.Money -= (uint)(BitRate * 10000);
client.Send(new OneBanditQuest() { Action = Action, Item1 = Item1, Item2 = Item2, NpcID = NpcID, Item3 = Item3 });
}
return;
}
#endregion
#region Stop
case 2:
{
if (NpcID == 9826)
{
uint Reward = (uint)(MachineReward3(Item1, Item2, Item3, 0) * BitRate);
client.Send(new OneBanditQuest() { Action = 1, NpcID = NpcID });
client.Entity.ConquerPoints += Reward;
}
else
{
uint Reward = (uint)(MachineReward(Item1, Item2, Item3, 0) * BitRate);
client.Send(new OneBanditQuest() { Action = 1, NpcID = NpcID });
client.Entity.Money += Reward;
}
return;
}
#endregion
}
client.Send(packet);
return;
}
#endregion
وبعدين فى نفس المكان ابحث عن الكود ده :
كود PHP:
public static void AddEnemy
ضيف تحتيه علطول الكود ده :
كود PHP:
static uint MachineReward3(byte Item1, byte Item2, byte Item3, byte Type)
{
switch (Type)
{
#region Silver
case 0:
{
#region 3 DragonBalls
if (Item1 == 6 && Item2 == 6 && Item3 == 6) { return 9000; }
#endregion
#region 3 ExpBalls
else if (Item1 == 5 && Item2 == 5 && Item3 == 5) { return 180; }
#endregion
#region 3 2SwordShields
else if (Item1 == 4 && Item2 == 4 && Item3 == 4) { return 120; }
#endregion
#region 3 2Swords
// else if (Item1 == 3 && Item2 == 3 && Item3 == 3) { return 60; }
#endregion
#region 3 1Sword / 3 Meteors
else if ((Item1 == 2 && Item2 == 2 && Item3 == 2) || (Item1 == 1 && Item2 == 1 && Item3 == 1)) { return 30; }
#endregion
#region 1 2SwordShield / 2 Meteors
else if ((Item1 == 4 || Item2 == 4 || Item3 == 4) || ((Item1 == 1 && Item2 == 1) || (Item1 == 1 && Item3 == 1) || (Item2 == 1 && Item3 == 1))) { return 20; }
#endregion
#region 1 Meteor
else if (Item1 == 1 || Item2 == 1 || Item3 == 1) { return 6; }
#endregion
break;
}
#endregion
}
return 0;
}
static uint MachineReward(byte Item1, byte Item2, byte Item3, byte Type)
{
switch (Type)
{
#region Silver
case 0:
{
#region 3 DragonBalls
if (Item1 == 6 && Item2 == 6 && Item3 == 6) { return 10000000; }
#endregion
#region 3 ExpBalls
else if (Item1 == 5 && Item2 == 5 && Item3 == 5) { return 600000; }
#endregion
#region 3 2SwordShields
else if (Item1 == 4 && Item2 == 4 && Item3 == 4) { return 400000; }
#endregion
#region 3 2Swords
else if (Item1 == 3 && Item2 == 3 && Item3 == 3) { return 200000; }
#endregion
#region 3 1Sword / 3 Meteors
else if ((Item1 == 2 && Item2 == 2 && Item3 == 2) || (Item1 == 1 && Item2 == 1 && Item3 == 1)) { return 100000; }
#endregion
#region 1 2SwordShield / 2 Meteors
else if ((Item1 == 4 || Item2 == 4 || Item3 == 4) || ((Item1 == 1 && Item2 == 1) || (Item1 == 1 && Item3 == 1) || (Item2 == 1 && Item3 == 1))) { return 50000; }
#endregion
#region 1 Meteor
else if (Item1 == 1 || Item2 == 1 || Item3 == 1) { return 20000; }
#endregion
break;
}
#endregion
}
return 0;
}
بعـــد كــدا تروح على المسار ده فى السورس
ملف : ServerBase
افتحه ودوس عليه كليك يمين واختار :
Add > New Item
وخلى الأسم
BitConverter.cs
وبعدين افتح الملف اللى عملته ده وامسح كل اللى فيه وحط الكود ده :
كود PHP:
using System;using System.Collections.Generic;using System.Linq;using System.Text;
namespace Conquer_Online_Server{
public unsafe class BitConverter
{
public static ulong ToUInt64(byte[] buffer, int offset)
{
fixed (byte* Buffer = buffer)
{
return *((ulong*)(Buffer + offset));
}
}
public static uint ToUInt32(byte[] buffer, int offset)
{
fixed (byte* Buffer = buffer)
{
return *((uint*)(Buffer + offset));
}
}
public static int ToInt32(byte[] buffer, int offset)
{
fixed (byte* Buffer = buffer)
{
return *((int*)(Buffer + offset));
}
}
public static ushort ToUInt16(byte[] buffer, int offset)
{
fixed (byte* Buffer = buffer)
{
return *((ushort*)(Buffer + offset));
}
}
public static short ToInt16(byte[] buffer, int offset)
{
fixed (byte* Buffer = buffer)
{
return *((short*)(Buffer + offset));
}
}
}
}
واخيراً .. ده كود الأن بى سى وعدله على راحتك بقا لو عايز
كود PHP:
9817 arends 60 19776 1002 436 386 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 التعليقات:
إرسال تعليق