آخر المشاركات

القائمة
Menu :
صور المظاهر بواسطة Jason 3li. يتم التشغيل بواسطة Blogger.

أرشيف المدونة الإلكترونية

برامج التصميم

ادوات

حل مشكلة السوكت والدامج Forging soultion and socket





السلام عليكم ورحمة الله وبركاته
اليوم انهارده حل مشكلة السوكت والدامج 
الحل مناسب لسورس عبدو ماتركس

الحل سوف يكون في باكت 1009
case 40:
{
uint ItemAdd = BitConverter.ToUInt32(packet, 8);
ConquerItem item_new = null;
if (client.Inventory.TryGetItem(ItemAdd, out item_new))
{
var itemtype = item_new.GetItemType();
if (itemtype == ConquerItem.ItemTypes.GemID)
return;
ushort pos = ItemPosition(item_new.ID);
if (pos == ConquerItem.Bottle || pos == ConquerItem.Fan || pos == ConquerItem.Garment || pos == ConquerItem.LeftWeaponAccessory || pos == ConquerItem.RightWeaponAccessory || pos == ConquerItem.Steed || pos == ConquerItem.SteedArmor || pos == ConquerItem.SteedCrop || pos == ConquerItem.Tower || pos == ConquerItem.Wings)
{
client.Send(new Message("Sorry can't bless this item !", System.Drawing.Color.Red, Message.Talk));
return;
}
if (item_new.Bless >= 7)
return;
Queue<uint> amount = new Queue<uint>(packet[24]);
for (ushort i = 91; i < 91 + 4 * usage.dwExtraInfo; i += 4)
{
uint uid = BitConverter.ToUInt32(packet, i);
if (client.Inventory.ContainsUID(uid))
amount.Enqueue(uid);
else
return;
}
byte oldbless = item_new.Bless;
if (item_new.Bless == 0 && amount.Count == 5)
item_new.Bless = 1;
else if (item_new.Bless == 1 && amount.Count == 1)
item_new.Bless = 3;
else if (item_new.Bless == 3 && amount.Count == 3)
item_new.Bless = 5;
else if (item_new.Bless == 5 && amount.Count == 5)
item_new.Bless = 7;
if (oldbless == item_new.Bless)
return;
while (amount.Count != 0)
client.Inventory.Remove(amount.Dequeue(), Conquer_Online_Server.Game.Enums.ItemUse.Remove, true);
item_new.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
item_new.Send(client);
usage.dwParam = 1;
Database.ConquerItemTable.UpdateBless(item_new);
}
client.Send(packet);
break;
}
وده التعديل الاخير
public uint[] Batch
{
get
{
uint[] items = new uint[dwExtraInfo];
for (int i = 0; i < dwExtraInfo; i++)
{
items[i] = BitConverter.ToUInt32(Buffer, 91 + 4 * i);
}
return items;
}
set
{
if (value != null)
{
dwExtraInfo = (uint)value.Length;
for (int i = 0; i < dwExtraInfo; i++)
{
WriteUInt32(value[i], 91 + 4 * i, Buffer);
}
}
}
}

شاركها!:

التصنيف:

محمد ماهر

اسمي محمد ماهر من سورية مواليد 1990 أحب التدوين بشكل دائم لانه يجعلني مسرور عندما اشارك معكم أشياء مفيدة تهمني وتهمكم

لا يوجد تعليقات على " حل مشكلة السوكت والدامج Forging soultion and socket "

  • لإضافة تعبيرات إظهار التعبيرات
  • لاضافة كود [pre]ضع الكود هنا[/pre]
  • لاضافة صورة [img]ضع رابط الصورة هنا[/img]
  • لاضافة فيديو فقط ضع الرابط داخل التعليق مثال: http://www.youtube.com/watch?v=0x_gnfpL3RM