Avalanche
2019-07-31, 10:24 AM
بسـم الله الرحمان الرحيـم
نبـداء ع البـركةة يشبــأأب !!
تــأابــع الكــلأأمم للاخر !!
حـل Stack Size بتـاع الايـتم, بـيتـعـمل علـيه هـاكـ والايـتم بيشيل 100 الـف ايـتم فوق بعض واكتر !
اتاكدو من Inventory انو مش محدد stackSize للايتم وهو بيعملو create علشان ميحصلش ..
مشــأاكــل !! ..
اتفضــلـوو
هندخل علي Inventory.cs
هنبحث عن
case ItemUsage.SplitStack
و نبدله ب ده
case ItemUsage.SplitStack:
{
ConquerItem MyItem = null;
ConquerItem NewStack = new ConquerItem(true);
if (client.Inventory.TryGetItem(usage.UID, out MyItem))
{
Database.ConquerItemInformation infos = new ConquerOnline.Database.ConquerItemInformation(MyIt em.ID, 0);
if (MyItem.StackSize > 1 && MyItem.StackSize <= infos.BaseInformation.StackSize)
{
if (client.Inventory.Count < 40)
{
ushort Amount = (ushort)usage.dwParam;
if (MyItem.StackSize > Amount)
{
MyItem.StackSize -= Amount;
MyItem.Mode = Game.Enums.ItemMode.Update;
MyItem.Send(client);
MyItem.Mode = Game.Enums.ItemMode.Default;
MyItem.MaxStackSize = infos.BaseInformation.StackSize;
NewStack.ID = MyItem.ID;
NewStack.StackSize += Amount;
NewStack.Durability = MyItem.Durability;
NewStack.MaxStackSize = infos.BaseInformation.StackSize;
client.Inventory.Add(NewStack, Game.Enums.ItemUse.CreateAndAdd);
Database.ConquerItemTable.UpdateStack(MyItem);
}
}
}
}
break;
}
و بعدين نبحث عن
case ItemUsage.MergeStackableItems:
و نبدله ب ده
case ItemUsage.MergeStackableItems:
{
ConquerItem MyItem = null;
ConquerItem MergeStack = new ConquerItem(true);
Database.ConquerItemInformation infos = null;
if (client.Inventory.TryGetItem(usage.UID, out MyItem) && client.Inventory.TryGetItem((uint)usage.dwParam, out MergeStack))
{
if (MyItem.ID == MergeStack.ID)
{
infos = new ConquerOnline.Database.ConquerItemInformation(MyIt em.ID, 0);
if (MyItem.StackSize < 1)
MyItem.StackSize = 1;
if (MergeStack.StackSize < 1)
MergeStack.StackSize = 1;
if ((MyItem.StackSize + MergeStack.StackSize) <= infos.BaseInformation.StackSize)
{
MyItem.StackSize += MergeStack.StackSize;
MyItem.Mode = Game.Enums.ItemMode.Update;
MyItem.Send(client);
MyItem.Mode = Game.Enums.ItemMode.Default;
Database.ConquerItemTable.UpdateStack(MyItem);
client.Inventory.Remove(MergeStack, Game.Enums.ItemUse.Remove);
}
}
}
break;
}
صــوورة !!
عفواً لايمكن عرض الروابط في الإرشيف
#ســلأأمــووز
نبـداء ع البـركةة يشبــأأب !!
تــأابــع الكــلأأمم للاخر !!
حـل Stack Size بتـاع الايـتم, بـيتـعـمل علـيه هـاكـ والايـتم بيشيل 100 الـف ايـتم فوق بعض واكتر !
اتاكدو من Inventory انو مش محدد stackSize للايتم وهو بيعملو create علشان ميحصلش ..
مشــأاكــل !! ..
اتفضــلـوو
هندخل علي Inventory.cs
هنبحث عن
case ItemUsage.SplitStack
و نبدله ب ده
case ItemUsage.SplitStack:
{
ConquerItem MyItem = null;
ConquerItem NewStack = new ConquerItem(true);
if (client.Inventory.TryGetItem(usage.UID, out MyItem))
{
Database.ConquerItemInformation infos = new ConquerOnline.Database.ConquerItemInformation(MyIt em.ID, 0);
if (MyItem.StackSize > 1 && MyItem.StackSize <= infos.BaseInformation.StackSize)
{
if (client.Inventory.Count < 40)
{
ushort Amount = (ushort)usage.dwParam;
if (MyItem.StackSize > Amount)
{
MyItem.StackSize -= Amount;
MyItem.Mode = Game.Enums.ItemMode.Update;
MyItem.Send(client);
MyItem.Mode = Game.Enums.ItemMode.Default;
MyItem.MaxStackSize = infos.BaseInformation.StackSize;
NewStack.ID = MyItem.ID;
NewStack.StackSize += Amount;
NewStack.Durability = MyItem.Durability;
NewStack.MaxStackSize = infos.BaseInformation.StackSize;
client.Inventory.Add(NewStack, Game.Enums.ItemUse.CreateAndAdd);
Database.ConquerItemTable.UpdateStack(MyItem);
}
}
}
}
break;
}
و بعدين نبحث عن
case ItemUsage.MergeStackableItems:
و نبدله ب ده
case ItemUsage.MergeStackableItems:
{
ConquerItem MyItem = null;
ConquerItem MergeStack = new ConquerItem(true);
Database.ConquerItemInformation infos = null;
if (client.Inventory.TryGetItem(usage.UID, out MyItem) && client.Inventory.TryGetItem((uint)usage.dwParam, out MergeStack))
{
if (MyItem.ID == MergeStack.ID)
{
infos = new ConquerOnline.Database.ConquerItemInformation(MyIt em.ID, 0);
if (MyItem.StackSize < 1)
MyItem.StackSize = 1;
if (MergeStack.StackSize < 1)
MergeStack.StackSize = 1;
if ((MyItem.StackSize + MergeStack.StackSize) <= infos.BaseInformation.StackSize)
{
MyItem.StackSize += MergeStack.StackSize;
MyItem.Mode = Game.Enums.ItemMode.Update;
MyItem.Send(client);
MyItem.Mode = Game.Enums.ItemMode.Default;
Database.ConquerItemTable.UpdateStack(MyItem);
client.Inventory.Remove(MergeStack, Game.Enums.ItemUse.Remove);
}
}
}
break;
}
صــوورة !!
عفواً لايمكن عرض الروابط في الإرشيف
#ســلأأمــووز