احصائياتى

الردود
2

المشاهدات
553
 
Avalanche
.:: عضو جديد::.

    غير متواجد

المشاركات
50

+التقييم
0.02

تاريخ التسجيل
Jul 2019

الاقامة
زعـلأان منـكك !!

نظام التشغيل
مبـرشـم ♥

رقم العضوية
448
2019-07-31, 10:24 AM
المشاركة 1
2019-07-31, 10:24 AM
المشاركة 1
Happy حـل Stack Size بتــأع الايتــم !!!
بسـم الله الرحمان الرحيـم

نبـداء ع البـركةة يشبــأأب !!

تــأابــع الكــلأأمم للاخر !!

حـل 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(MyItem.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(MyItem.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;
                        } 

صــوورة !!


#ســلأأمــووز



التعديل الأخير تم بواسطة Hazem ; 2019-07-31 الساعة 10:50 AM سبب آخر: صـوورة
قديم 2019-07-31, 10:33 AM
المشاركة 2
Avalanche
.:: عضو جديد::.
  • غير متواجد
Distinctive رد: حـل Stack Size بتــأع الايتــم !!!
Done

قديم 2019-07-31, 10:50 AM
المشاركة 3
Hazem
.:: المدير العام::.
  • غير متواجد
افتراضي رد: حـل Stack Size بتــأع الايتــم !!!
عاش


العلامات المرجعية



الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 

الانتقال السريع



الساعة الآن 11:12 PM