احصائياتى

الردود
1

المشاهدات
534
 
abdo1
.:: عضو نشيط ::.

    غير متواجد

المشاركات
101

+التقييم
0.04

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

الاقامة

نظام التشغيل

رقم العضوية
893
2019-10-03, 01:16 PM
المشاركة 1
2019-10-03, 01:16 PM
المشاركة 1
افتراضي تمت الإجابة انا ازاي اعمل اخر بلاص 8 و اضيف في اللتوتري
انا ازاي اعمل اخر بلاص 8 و اضيف في اللتوتري


أفضل جواب - كتبه ElSaher
من دا

Serf = 0,
Knight = 1,
Baron = 3,
Earl = 5,
Duke = 7,
Prince = 9,
King = 12
قديم 2019-10-03, 04:18 PM
المشاركة 2
Hassan Emprator
.:: مشرف قسم المشاكل ::.
الإجابات المقدمة: 301
  • غير متواجد
افتراضي رد: انا ازاي اعمل اخر بلاص 8 و اضيف في اللتوتري
حضرتك هتفح
كلاس PackerHandler.cs

وتبحث عن


كود:
static void ComposePlus(Compose compose, Client.GameState client) 

لما تلاقيه تبدل الفويد كلو بي دا


كود:
 static void ComposePlus(Compose compose, Client.GameState client)
        {
            
ConquerItem Item = null;
            
ConquerItem[] Minors = null;
            if (
client.Inventory.TryGetItem(compose[0], out Item) || (client.Equipment.TryGetItem(compose[0]) != null) || (compose.Mode == Compose.QuickCompose))
            {
                if (
Item == null && client.Inventory.TryGetItem(compose[0], out Item) == false && (client.Equipment.TryGetItem(compose[0]) != null))
                    
Item = client.Equipment.TryGetItem(compose[0]);

                if (
compose.Mode == Compose.DragonBallUpgrade || compose.Mode == Compose.MeteorUpgrade)
                {
                    
Minors = new ConquerItem[compose.Countx];
                    for (
int i = 0; i < compose.Countx; i++)
                    {
                        if (!
client.Inventory.TryGetItem(compose[i + 2], out Minors[i]))
                            return;
                        else
                            if (
Minors[i].UID == Item.UID)
                                return;
                    }
                }
                else
                {
                    
Minors = new ConquerItem[compose.Count - 1];
                    for (
int i = 0; i < compose.Count - 1; i++)
                    {
                        if (!
client.Inventory.TryGetItem(compose[i + 1], out Minors[i]))
                            return;
                        else
                            if (
Minors[i].UID == Item.UID)
                                return;
                    }
                }
                
ushort pos = ItemPosition(Item.ID);
                if (
pos == ConquerItem.Bottle || pos == ConquerItem.Garment || pos == ConquerItem.LeftWeaponAccessory || pos == ConquerItem.RightWeaponAccessory || pos == ConquerItem.SteedArmor) //mohsen.. i'm remove crop
                    
return;

                if (
compose.Mode == Compose.ChanceUpgrade || compose.Mode == Compose.QuickCompose)
                {
                    if (
Item.Plus < 8 && Item.PlusProgress != 0)
                    {
                        
double percent = (double)Item.PlusProgress / (double)Database.DataHolder.ComposePlusPoints(Item.Plus);
                        if (
Kernel.Rate(percent))
                        {
                            
Item.PlusProgress = 0;
                            
Item.Plus++;
                        }
                        else
                            
Item.PlusProgress = 0;
                        
Item.Mode = MrHassan.Game.Enums.ItemMode.Update;
                        
Item.Send(client);
                        
Database.ConquerItemTable.UpdatePlus(Item);
                        
Database.ConquerItemTable.UpdatePlusProgress(Item);
                        if (
Item.Plus >= 8)
                            
Kernel.SendWorldMessage(new Message("Congratulations, " + client.Entity.Name + " has upgraded His " + Database.ConquerItemInformation.BaseInformations[Item.ID].Name + " to + " + Item.Plus + " and " + Item.PlusProgress + " in Progress!", System.Drawing.Color.Red, Network.GamePackets.Message.TopLeft), Program.Values);
                    }
                    return;
                }
                if (
compose.Mode == Compose.MeteorUpgrade || compose.Mode == Compose.DragonBallUpgrade)
                {
                    
Database.ConquerItemInformation info = new MrHassan.Database.ConquerItemInformation(Item.ID, Item.Plus);

                    
Minors = new ConquerItem[compose.Count - 2];
                    for (
int i = 0; i < compose.Count - 2; i++)
                    {
                        if (!
client.Inventory.TryGetItem(compose[i + 2], out Minors[i]))
                            return;
                        else
                            if (
Minors[i].UID == Item.UID)
                                return;
                    }
                    switch (
compose.Mode)
                    {
                        case 
Compose.DragonBallUpgrade:
                            {
                                if (
Item.ID % 10 == (byte)Game.Enums.ItemQuality.Super)
                                    break;
                                if (
Item.Durability < Item.MaximDurability)
                                    break;
                                
// byte chance = (byte)(70 - ((infos.BaseInformation.Level - (infos.BaseInformation.Level > 100 ? 30 : 0)) / (10 - Item.ID % 10)));
                                
byte cost = DragonBallUpgradeCost(Item, info);
                                
double chance = (((double)compose.Countx / (double)cost) * 100);
                                if (
MyMath.Success(chance))
                                {
                                    switch ((
Game.Enums.ItemQuality)(Item.ID % 10))
                                    {
                                        case 
Game.Enums.ItemQuality.Normal:
                                        case 
Game.Enums.ItemQuality.NormalV1:
                                        case 
Game.Enums.ItemQuality.NormalV2:
                                        case 
Game.Enums.ItemQuality.NormalV3: Item.ID = (Item.ID - (Item.ID % 10)) + (byte)Game.Enums.ItemQuality.Refined; break;
                                        default: 
Item.ID++; break;
                                    }
                                    
Database.ConquerItemTable.UpdateItemID(Item, client);
                                    
Item.Mode = MrHassan.Game.Enums.ItemMode.Update;
                                    
Item.Send(client);
                                    
client.Send(new ItemUsage(true)
                                    {
                                        
UID = client.Entity.UID,
                                        
dwParam = 1,
                                        
ID = ItemUsage.DragonBallUpgrade
                                    
});
                                }
                                else
                                {
                                    
Item.Durability = (ushort)(Item.Durability / 2);
                                    
Database.ConquerItemTable.UpdateDurabilityItem(Item);
                                    
Item.Mode = MrHassan.Game.Enums.ItemMode.Update;
                                    
Item.Send(client);
                                }
                                foreach (var 
item in Minors)
                                    
client.Inventory.Remove(item, MrHassan.Game.Enums.ItemUse.Remove);
                                if (
compose.Countx > cost)
                                {
                                    var 
diff = compose.Countx - cost;
                                    
client.Inventory.Add((uint)(Minors[0].ID == 720028 ? 1088000 : 1088001), 0, (byte)diff);
                                }
                                break;

                            }
                        case 
Compose.MeteorUpgrade:
                            {
                                if (
info.BaseInformation.Level == ItemMaxLevel(ItemPosition(info.BaseInformation.ID)))
                                    break;
                                if (
Item.Durability < Item.MaximDurability)
                                {
                                    
client.MessageBox("Ro7 sal7ha ya Dog ..", null, null);
                                    break;
                                }
                                
byte cost = MeteorUpgradeCost(Item.ID);
                                if (
ItemPosition(Item.ID) == (ushort)ConquerItem.Armor || ItemPosition(Item.ID) == (ushort)ConquerItem.Head || IsShield(Item.ID))
                                {
                                    if (
info.BaseInformation.Level >= 110)
                                        
cost = 1;
                                }
                                else
                                {
                                    if (
info.BaseInformation.Level >= 115)
                                        
cost = 1;
                                }
                                
double chance = (((double)compose.Countx / (double)cost) * 100);
                                
uint newid = info.CalculateUplevel();
                                if (
newid != 0 && newid != Item.ID)
                                {
                                    if (
MyMath.Success(chance))
                                    {
                                        
Item.ID = newid;
                                        
info = new MrHassan.Database.ConquerItemInformation(Item.ID, Item.Plus);
                                        
Item.Durability = Item.MaximDurability = info.BaseInformation.Durability;
                                        
Database.ConquerItemTable.UpdateItemID(Item, client);
                                        
Database.ConquerItemTable.UpdateDurabilityItem(Item);
                                        
Item.Mode = MrHassan.Game.Enums.ItemMode.Update;
                                        
Item.Send(client);

                                        
client.Send(new ItemUsage(true)
                                        {
                                            
UID = client.Entity.UID,
                                            
dwParam = 1,
                                            
ID = ItemUsage.MeteorUpgrade
                                        
});

                                    }
                                    else
                                    {
                                        
Item.Durability = (ushort)(Item.Durability / 2);
                                        
Database.ConquerItemTable.UpdateDurabilityItem(Item);
                                        
Item.Mode = MrHassan.Game.Enums.ItemMode.Update;
                                        
Item.Send(client);
                                    }
                                }
                                foreach (var 
item in Minors)
                                    
client.Inventory.Remove(item, MrHassan.Game.Enums.ItemUse.Remove);
                                if (
compose.Countx > cost)
                                {
                                    var 
diff = compose.Countx - cost;
                                    
client.Inventory.Add((uint)(Minors[0].ID == 720028 ? 1088000 : 1088001), 0, (byte)diff);
                                }
                                break;
                            }
                    }
                }

                foreach (var 
item in Minors)
                {
                    var 
ItemPlus = item;
                    
Database.ConquerItemInformation infos = new MrHassan.Database.ConquerItemInformation(Item.ID, Item.Plus);
                    switch (
compose.Mode)
                    {
                        case 
Compose.CurrentSteed:
                        case 
Compose.Plus:
                            {
                                if (
Item.Plus == 8 && Item.GetItemType() == ConquerItem.ItemTypes.WingID || Item.Plus == 8 && pos == ConquerItem.Wing || Item.Plus == 8 && pos == ConquerItem.Steed)//Mr.MrHassan
                                
{
                                    
Item.PlusProgress += Database.DataHolder.StonePlusPoints(ItemPlus.Plus);
                                    
Item.PlusProgress -= Database.DataHolder.ComposePlusPoints(Item.Plus);//Mr.MrHassan
                                    
Item.Mode = MrHassan.Game.Enums.ItemMode.Update;
                                    
Item.Send(client);
                                    
Database.ConquerItemTable.UpdatePlusProgress(Item);
                                    
client.Inventory.Remove(ItemPlus, MrHassan.Game.Enums.ItemUse.Remove);
                                }
                                if (
Item.Plus < 8 && Item.GetItemType() != ConquerItem.ItemTypes.GarmentID_1 && Item.GetItemType() != ConquerItem.ItemTypes.GarmentID_2 && Item.GetItemType() != ConquerItem.ItemTypes.BottleID && Item.GetItemType() != ConquerItem.ItemTypes.RightAccessory1 && Item.GetItemType() != ConquerItem.ItemTypes.RightAccessory2 && Item.GetItemType() != ConquerItem.ItemTypes.RightAccessory3 && Item.GetItemType() != ConquerItem.ItemTypes.LeftAccessory)
                                {
                                    
Item.PlusProgress += Database.DataHolder.StonePlusPoints(ItemPlus.Plus);
                                    while (
Item.PlusProgress >= Database.DataHolder.ComposePlusPoints(Item.Plus) && Item.Plus != 8)
                                    {
                                        
Item.PlusProgress -= Database.DataHolder.ComposePlusPoints(Item.Plus);
                                        
Item.Plus++;
                                        if (
Item.Plus == 8)
                                            
Item.PlusProgress = 0;
                                    }
                                    
Item.Mode = MrHassan.Game.Enums.ItemMode.Update;
                                    
Item.Send(client);
                                    
Database.ConquerItemTable.UpdatePlus(Item);
                                    
Database.ConquerItemTable.UpdatePlusProgress(Item);
                                    
client.Inventory.Remove(ItemPlus, MrHassan.Game.Enums.ItemUse.Remove);
                                    if (
Item.Plus >= 8)
                                        
Kernel.SendWorldMessage(new Message("Congratulations, " + client.Entity.Name + " has upgraded His " + Database.ConquerItemInformation.BaseInformations[Item.ID].Name + " to + " + Item.Plus + " and " + Item.PlusProgress + " in Progress!", System.Drawing.Color.Red, Network.GamePackets.Message.TopLeft), Program.Values);
                                }
                                break;
                            }
                        case 
Compose.NewSteed:
                            {
                                if (
Item.Plus < 8)
                                {
                                    
Item.PlusProgress += Database.DataHolder.StonePlusPoints(ItemPlus.Plus);
                                    while (
Item.PlusProgress >= Database.DataHolder.ComposePlusPoints(Item.Plus) && Item.Plus != 8)
                                    {
                                        
Item.PlusProgress -= Database.DataHolder.ComposePlusPoints(Item.Plus);
                                        
Item.Plus++;
                                        if (
Item.Plus == 8)
                                            
Item.PlusProgress = 0;
                                    }
                                    
Item.Mode = MrHassan.Game.Enums.ItemMode.Update;
                                    
Item.Send(client);
                                    
Database.ConquerItemTable.UpdatePlus(Item);
                                    
client.Inventory.Remove(ItemPlus, MrHassan.Game.Enums.ItemUse.Remove);
                                }

                                
int color1 = (int)Item.SocketProgress;
                                
int color2 = (int)ItemPlus.SocketProgress;

                                
int G1 = color1 & 0xFF;
                                
int G2 = color2 & 0xFF;
                                
int B1 = (color1 >> 8) & 0xFF;
                                
int B2 = (color2 >> 8) & 0xFF;
                                
int R1 = (color1 >> 16) & 0xFF;
                                
int R2 = (color2 >> 16) & 0xFF;
                                
Item.NextGreen = (byte)((int)Math.Floor(0.9 * G1) + (int)Math.Floor(0.1 * G2) + 1);
                                
Item.NextBlue = (byte)((int)Math.Floor(0.9 * B1) + (int)Math.Floor(0.1 * B2) + 1);
                                
Item.NextRed = (byte)((int)Math.Floor(0.9 * R1) + (int)Math.Floor(0.1 * R2) + 1);
                                
Item.SocketProgress = (uint)(Item.NextGreen | (Item.NextBlue << 8) | (Item.NextRed << 16));

                                
Item.Mode = MrHassan.Game.Enums.ItemMode.Update;
                                
Item.Send(client);
                                
Database.ConquerItemTable.UpdatePlusProgress(Item);
                                
Database.ConquerItemTable.UpdateSocketProgress(Item);
                                
//  Database.ConquerItemTable.UpdateNextSteedColor(Item);
                                
client.Inventory.Remove(ItemPlus, MrHassan.Game.Enums.ItemUse.Remove);
                                break;
                            }

                    }
                }
            }
        } 

طيب عايز اضيف حاجه في اللوتري

هتفتح القاعده بتاعتك عايد جدا

هتلاقي ملف اسمه Lottery هتلاقي
فيه كل جميع الايتمات الي مضافه في اللوتري وحبيت بقا تعمل ايه حاجه
في هتعملها من الملف دا بس
كدا
بالتوفيق


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



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

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

المواضيع المتشابهه للموضوع: انا ازاي اعمل اخر بلاص 8 و اضيف في اللتوتري
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
ازاي اعمل ابجريد للسورس amr69940 مشكلات السيرفيرات كونكر الشخصيه 3 2020-02-15 08:21 PM
ازاى اعمل للسورس نسخه pin ? ابو مروان مشكلات السيرفيرات كونكر الشخصيه 7 2019-09-26 06:54 PM
ازاي اضيف الشامبيون بوينتس .. AliNasser مشكلات السيرفيرات كونكر الشخصيه 7 2019-08-31 11:20 AM
السلام عليكم ورحمة الله وبركاته لو سمحتم ازاى اضيف شوف فيه الاثواب والاسكسسورات والصو brownlowbobby12 مشكلات السيرفيرات كونكر الشخصيه 1 2019-07-21 02:55 PM
ازاى اضيف اى حاجة لسورس 2d osama مشكلات السيرفيرات كونكر الشخصيه 3 2019-07-07 12:45 AM


الساعة الآن 02:09 AM