|
أفضل جواب - كتبه Hassan Emprator |
حضرتك هتفح
كلاس PackerHandler.cs وتبحث عن كود:
لما تلاقيه تبدل الفويد كلو بي دا كود:
طيب عايز اضيف حاجه في اللوتري هتفتح القاعده بتاعتك عايد جدا هتلاقي ملف اسمه Lottery هتلاقي فيه كل جميع الايتمات الي مضافه في اللوتري وحبيت بقا تعمل ايه حاجه في هتعملها من الملف دا بس كدا بالتوفيق |
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;
}
}
}
}
}
الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1) | |
|
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
شباب لو حد يقدر يقولي ازاي اضيف الرون دا RiseofTaoism | magdy | مشكلات السيرفيرات كونكر الشخصيه | 2 | 2020-03-17 02:47 AM |
عاوز شرح ازاى اضيف طربيزه بوكر ف التون | megokarika | مشكلات السيرفيرات كونكر الشخصيه | 1 | 2020-03-15 11:57 AM |
اضيف طربيزة بوكر ف التون ازاى؟ | megokarika | مشكلات السيرفيرات كونكر الشخصيه | 4 | 2020-03-13 12:01 AM |
ازاي اضيف الشامبيون بوينتس .. | AliNasser | مشكلات السيرفيرات كونكر الشخصيه | 7 | 2019-08-31 11:20 AM |
ازاى اضيف اى حاجة لسورس 2d | osama | مشكلات السيرفيرات كونكر الشخصيه | 3 | 2019-07-07 12:45 AM |