|
You last visited: Today at 18:41
Advertisement
How to fix FORGING !!?
Discussion on How to fix FORGING !!? within the CO2 Private Server forum part of the Conquer Online 2 category.
01/14/2014, 15:45
|
#16
|
elite*gold: 0
Join Date: Mar 2006
Posts: 599
Received Thanks: 69
|
How about in the DragonSoul Part? Does anyone have the solution?
|
|
|
01/14/2014, 16:16
|
#17
|
elite*gold: 0
Join Date: Jun 2013
Posts: 32
Received Thanks: 0
|
thanks a lot Execution!
|
|
|
01/16/2014, 17:45
|
#18
|
elite*gold: 0
Join Date: Jun 2013
Posts: 32
Received Thanks: 0
|
ok it now worked for somehow, but in upgrade and quality not working in Forging ??!
|
|
|
01/16/2014, 18:20
|
#19
|
elite*gold: 0
Join Date: Jun 2013
Posts: 32
Received Thanks: 0
|
Forging is not working in upgrading and quality !!!
Forging is working fine in aall it's tabs, but in upgrade and quality not working ??!
how is that !!?
|
|
|
01/16/2014, 18:36
|
#20
|
elite*gold: 0
Join Date: Jul 2008
Posts: 874
Received Thanks: 238
|
try this
PHP Code:
static void ComposePlus(Compose compose, Client.GameClient client) { ConquerItem Item = null; ConquerItem[] Minors = null; if (client.Inventory.TryGetItem(compose[0], out Item) || (client.Equipment.TryGetItem(compose[0]) != null)) { 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) { if (Item.Plus < 12 && 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 = Conquer_Online_Server.Game.Enums.ItemMode.Update; Item.Send(client); Database.ConquerItemTable.UpdatePlus(Item); Database.ConquerItemTable.UpdatePlusProgress(Item); if (Item.Plus >= 9) 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.GamePool); } return; } bool done = false; foreach (var item in Minors) { var ItemPlus = item; Database.ConquerItemInformation infos = new Conquer_Online_Server.Database.ConquerItemInformation(Item.ID, Item.Plus); switch (compose.Mode) { case Compose.DragonBallUpgrade: { if (Item.ID % 10 == (byte)Game.Enums.ItemQuality.Super) break; byte chance = (byte)(70 - ((infos.BaseInformation.Level - (infos.BaseInformation.Level > 100 ? 30 : 0)) / (10 - Item.ID % 10))); if (Item.Durability < Item.MaximDurability) break; if (Kernel.Rate(chance) || (compose.Count == compose.Countx + 2)) { 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 = Conquer_Online_Server.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 = Conquer_Online_Server.Game.Enums.ItemMode.Update; Item.Send(client); } client.Inventory.Remove(ItemPlus, Conquer_Online_Server.Game.Enums.ItemUse.Remove); break; } case Compose.MeteorUpgrade: { if (infos.BaseInformation.Level == ItemMaxLevel(ItemPosition(infos.BaseInformation.ID))) break; byte chance = 70; chance -= (byte)(infos.BaseInformation.Level / 10 * 3); chance -= (byte)(((Item.ID % 10) + 1) * 3); if (Item.Durability < Item.MaximDurability) break; uint newid = 0; if (!done) newid = infos.CalculateUplevel(); done = true; if (newid != 0 && newid != Item.ID) { if (Kernel.Rate(chance) || (compose.Count == compose.Countx + 2)) { Item.ID = newid; infos = new Conquer_Online_Server.Database.ConquerItemInformation(Item.ID, Item.Plus); Item.Durability = Item.MaximDurability = infos.BaseInformation.Durability; Database.ConquerItemTable.UpdateItemID(Item, client); Database.ConquerItemTable.UpdateDurabilityItem(Item); Item.Mode = Conquer_Online_Server.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 = Conquer_Online_Server.Game.Enums.ItemMode.Update; Item.Send(client); } //Item = ItemSocket(Item, 2); } client.Inventory.Remove(ItemPlus, Conquer_Online_Server.Game.Enums.ItemUse.Remove); break; } case Compose.CurrentSteed: case Compose.Plus: { if (Item.Plus < 12 && 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 != 12) { Item.PlusProgress -= Database.DataHolder.ComposePlusPoints(Item.Plus); Item.Plus++; if (Item.Plus == 12) Item.PlusProgress = 0; } Item.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update; Item.Send(client); Database.ConquerItemTable.UpdatePlus(Item); Database.ConquerItemTable.UpdatePlusProgress(Item); client.Inventory.Remove(ItemPlus, Conquer_Online_Server.Game.Enums.ItemUse.Remove); if (Item.Plus >= 9) 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.GamePool); } break; } case Compose.NewSteed: { if (Item.Plus < 12) { Item.PlusProgress += Database.DataHolder.StonePlusPoints(ItemPlus.Plus); while (Item.PlusProgress >= Database.DataHolder.ComposePlusPoints(Item.Plus) && Item.Plus != 12) { Item.PlusProgress -= Database.DataHolder.ComposePlusPoints(Item.Plus); Item.Plus++; if (Item.Plus == 12) Item.PlusProgress = 0; } Item.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update; Item.Send(client); Database.ConquerItemTable.UpdatePlus(Item); client.Inventory.Remove(ItemPlus, Conquer_Online_Server.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 = Conquer_Online_Server.Game.Enums.ItemMode.Update; Item.Send(client); Database.ConquerItemTable.UpdatePlusProgress(Item); Database.ConquerItemTable.UpdateSocketProgress(Item); // Database.ConquerItemTable.UpdateNextSteedColor(Item); client.Inventory.Remove(ItemPlus, Conquer_Online_Server.Game.Enums.ItemUse.Remove); break; } } } }
public byte Countx
{
get { return Buffer[8 + 4]; }
set { Buffer[8 + 4] = value; }
}
NewSteed = 3,
MeteorUpgrade = 6,
DragonBallUpgrade = 7,
|
|
|
01/16/2014, 21:00
|
#21
|
elite*gold: 0
Join Date: Jun 2013
Posts: 32
Received Thanks: 0
|
where to put these codes ?
|
|
|
01/16/2014, 22:38
|
#22
|
elite*gold: 0
Join Date: Jul 2008
Posts: 874
Received Thanks: 238
|
for public sources
search for
static void ComposePlus(Compose compose, Client.GameClient client)
|
|
|
01/17/2014, 10:19
|
#23
|
elite*gold: 0
Join Date: Jun 2013
Posts: 32
Received Thanks: 0
|
this code make trouble in project when I exchange them or add them, DragonBallUpgrade and MeteorUpgrade don't want to be replaced there are trouble with them too
؟؟!
|
|
|
01/17/2014, 12:15
|
#24
|
elite*gold: 0
Join Date: Jul 2008
Posts: 874
Received Thanks: 238
|
already added the solution
u missed this?
NewSteed = 3,
MeteorUpgrade = 6,
DragonBallUpgrade = 7,
|
|
|
01/17/2014, 14:52
|
#25
|
elite*gold: 0
Join Date: Jun 2013
Posts: 32
Received Thanks: 0
|
where to added it ?
and there is something more to do
would plz explain to me what to do exactly and where and everything cause you didn't explain anything to me
mm??
bro it's just only that the button in forging for upgrade and quality not working, but the other buttons for forging is working that's only, so why is that and how to resolve it by explanation plz.
|
|
|
01/17/2014, 19:26
|
#26
|
elite*gold: 12
Join Date: Jul 2011
Posts: 8,283
Received Thanks: 4,191
|
Threads merged. We don't need three threads about this.
|
|
|
01/18/2014, 00:42
|
#27
|
elite*gold: 0
Join Date: Jun 2013
Posts: 32
Received Thanks: 0
|
it's just only that the button in forging for upgrade and quality not working, but the other buttons for forging is working that's only, so why is that and how to resolve it by explanation plz.
what ???
|
|
|
01/21/2014, 10:17
|
#28
|
elite*gold: 0
Join Date: Jun 2013
Posts: 32
Received Thanks: 0
|
anyone reply me plz !!!!!!!!!!!!! it's just only that the button in forging for upgrade and quality not working, but the other buttons for forging is working that's only, so why is that and how to resolve it by explanation plz.
|
|
|
01/21/2014, 16:00
|
#29
|
elite*gold: 0
Join Date: Jul 2008
Posts: 874
Received Thanks: 238
|
Quote:
Originally Posted by abdoumatrix
try this
PHP Code:
static void ComposePlus(Compose compose, Client.GameClient client)
{
ConquerItem Item = null;
ConquerItem[] Minors = null;
if (client.Inventory.TryGetItem(compose[0], out Item) || (client.Equipment.TryGetItem(compose[0]) != null))
{
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)
{
if (Item.Plus < 12 && 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 = Conquer_Online_Server.Game.Enums.ItemMode.Update;
Item.Send(client);
Database.ConquerItemTable.UpdatePlus(Item);
Database.ConquerItemTable.UpdatePlusProgress(Item);
if (Item.Plus >= 9)
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.GamePool);
}
return;
}
bool done = false;
foreach (var item in Minors)
{
var ItemPlus = item;
Database.ConquerItemInformation infos = new Conquer_Online_Server.Database.ConquerItemInformation(Item.ID, Item.Plus);
switch (compose.Mode)
{
case Compose.DragonBallUpgrade:
{
if (Item.ID % 10 == (byte)Game.Enums.ItemQuality.Super)
break;
byte chance = (byte)(70 - ((infos.BaseInformation.Level - (infos.BaseInformation.Level > 100 ? 30 : 0)) / (10 - Item.ID % 10)));
if (Item.Durability < Item.MaximDurability)
break;
if (Kernel.Rate(chance) || (compose.Count == compose.Countx + 2))
{
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 = Conquer_Online_Server.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 = Conquer_Online_Server.Game.Enums.ItemMode.Update;
Item.Send(client);
}
client.Inventory.Remove(ItemPlus, Conquer_Online_Server.Game.Enums.ItemUse.Remove);
break;
}
case Compose.MeteorUpgrade:
{
if (infos.BaseInformation.Level == ItemMaxLevel(ItemPosition(infos.BaseInformation.ID)))
break;
byte chance = 70;
chance -= (byte)(infos.BaseInformation.Level / 10 * 3);
chance -= (byte)(((Item.ID % 10) + 1) * 3);
if (Item.Durability < Item.MaximDurability)
break;
uint newid = 0;
if (!done)
newid = infos.CalculateUplevel(); done = true;
if (newid != 0 && newid != Item.ID)
{
if (Kernel.Rate(chance) || (compose.Count == compose.Countx + 2))
{
Item.ID = newid;
infos = new Conquer_Online_Server.Database.ConquerItemInformation(Item.ID, Item.Plus);
Item.Durability = Item.MaximDurability = infos.BaseInformation.Durability;
Database.ConquerItemTable.UpdateItemID(Item, client);
Database.ConquerItemTable.UpdateDurabilityItem(Item);
Item.Mode = Conquer_Online_Server.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 = Conquer_Online_Server.Game.Enums.ItemMode.Update;
Item.Send(client);
}
//Item = ItemSocket(Item, 2);
}
client.Inventory.Remove(ItemPlus, Conquer_Online_Server.Game.Enums.ItemUse.Remove);
break;
}
case Compose.CurrentSteed:
case Compose.Plus:
{
if (Item.Plus < 12 && 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 != 12)
{
Item.PlusProgress -= Database.DataHolder.ComposePlusPoints(Item.Plus);
Item.Plus++;
if (Item.Plus == 12)
Item.PlusProgress = 0;
}
Item.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
Item.Send(client);
Database.ConquerItemTable.UpdatePlus(Item);
Database.ConquerItemTable.UpdatePlusProgress(Item);
client.Inventory.Remove(ItemPlus, Conquer_Online_Server.Game.Enums.ItemUse.Remove);
if (Item.Plus >= 9)
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.GamePool);
}
break;
}
case Compose.NewSteed:
{
if (Item.Plus < 12)
{
Item.PlusProgress += Database.DataHolder.StonePlusPoints(ItemPlus.Plus);
while (Item.PlusProgress >= Database.DataHolder.ComposePlusPoints(Item.Plus) && Item.Plus != 12)
{
Item.PlusProgress -= Database.DataHolder.ComposePlusPoints(Item.Plus);
Item.Plus++;
if (Item.Plus == 12)
Item.PlusProgress = 0;
}
Item.Mode = Conquer_Online_Server.Game.Enums.ItemMode.Update;
Item.Send(client);
Database.ConquerItemTable.UpdatePlus(Item);
client.Inventory.Remove(ItemPlus, Conquer_Online_Server.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 = Conquer_Online_Server.Game.Enums.ItemMode.Update;
Item.Send(client);
Database.ConquerItemTable.UpdatePlusProgress(Item);
Database.ConquerItemTable.UpdateSocketProgress(Item);
// Database.ConquerItemTable.UpdateNextSteedColor(Item);
client.Inventory.Remove(ItemPlus, Conquer_Online_Server.Game.Enums.ItemUse.Remove);
break;
}
}
}
}
this in Compose.Cs
public byte Countx
{
get { return Buffer[8 + 4]; }
set { Buffer[8 + 4] = value; }
}
NewSteed = 3,
MeteorUpgrade = 6,
DragonBallUpgrade = 7,
|
this is the solution
|
|
|
01/21/2014, 22:27
|
#30
|
elite*gold: 0
Join Date: Jun 2013
Posts: 32
Received Thanks: 0
|
WHERE TO PUT THOSE CODES EXACTLY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!
|
|
|
Similar Threads
|
skill forging 9-10 PS..
04/24/2010 - Perfect World - 1 Replies
kk semua saya mau mohon bantuannya,..
mungkin ada cara untuk naikin skill forging dari 9-10 dari pw ps yang saya mainkan tidak ada produksi yang menggunakan skill lvl 9 jadi saya bingung untuk menaikan skill ke lvl 10,bila ada cara ato cara hacknya mohon bantuannya kk...
apakah ada software hack yang bisa hack aspd/menaikan aspd...
trims..
regards,
|
All times are GMT +1. The time now is 18:41.
|
|