Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Conquer Online 2 > CO2 Private Server
You last visited: Today at 03:56

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Need Help In ArtisanWand

Discussion on Need Help In ArtisanWand within the CO2 Private Server forum part of the Conquer Online 2 category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jun 2014
Posts: 127
Received Thanks: 0
Post Need Help In ArtisanWand

Need Help in ArtisanWand Not Functionally will where to look for this Code.

arneljan is offline  
Old 08/13/2014, 23:00   #2
 
elite*gold: 0
Join Date: Feb 2006
Posts: 726
Received Thanks: 271
packet 1010 off the top of my head, don't remember what type exactly....
Aceking is offline  
Old 08/13/2014, 23:21   #3
 
Super Aids's Avatar
 
elite*gold: 0
Join Date: Dec 2012
Posts: 1,761
Received Thanks: 950
Packet structure may be different, Idk if it has ever changed.
Code:
//Project by BaussHacker aka. L33TS

using System;

namespace ProjectX_V3_Game.Packets.Item
{
	/// <summary>
	/// Description of Improve.
	/// </summary>
	public class Improve
	{
		public static void Handle(Entities.GameClient client, ItemPacket packet)
		{
			if (client.Booth != null)
				return;
			if (!client.Alive)
				return;
			
			if (!client.Inventory.ContainsByUID(packet.UID) && client.Inventory.ContainsByUID(packet.Data1))
			{
				using (var msg = Packets.Message.MessageCore.CreateSystem(client.Name, Core.MessageConst.ITEM_NOT_FOUND))
					client.Send(msg);
				return;
			}
			
			Data.ItemInfo ToUpgrade = client.Inventory.GetItemByUID(packet.UID);
			if (ToUpgrade.CurrentDura < ToUpgrade.MaxDura)
			{
				using (var msg = Packets.Message.MessageCore.CreateSystem(client.Name, Core.MessageConst.ITEM_LOW_DURA))
					client.Send(msg);
				return;
			}
			
			Data.ItemInfo Dragonball = client.Inventory.GetItemByUID(packet.Data1);
			if (Dragonball == null || ToUpgrade == null)
			{
				using (var msg = Packets.Message.MessageCore.CreateSystem(client.Name, Core.MessageConst.ITEM_NOT_FOUND))
					client.Send(msg);
				return;
			}
			if (ToUpgrade.IsGarment() || ToUpgrade.IsArrow() || ToUpgrade.IsBottle() ||
			    ToUpgrade.IsSteed() || ToUpgrade.IsMisc())
			{
				using (var msg = Packets.Message.MessageCore.CreateSystem(client.Name, Core.MessageConst.ITEM_INVALID_UPGRADE))
					client.Send(msg);
				return;
			}
			if (ToUpgrade.Quality >= 9)
			{
				using (var msg = Packets.Message.MessageCore.CreateSystem(client.Name, Core.MessageConst.ITEM_SUPER))
					client.Send(msg);
				return; // super
			}
			if (Dragonball.ItemID != 1088000)
			{
				using (var msg = Packets.Message.MessageCore.CreateSystem(
					client.Name,
					string.Format(Core.MessageConst.ITEM_AMOUNT_FAIL, "Dragonball's")))
					client.Send(msg);
				return;
			}

			uint NewID = ToUpgrade.ItemID;
			if (ToUpgrade.Quality >= 6)
				NewID = (ToUpgrade.ItemID + 1);
			else
			{
				while ((NewID % 10) < 6)
				{
					NewID++;
				}
			}
			
			if (Core.Kernel.ItemInfos.Contains(NewID))
			{
				Data.ItemInfo newItem;
				if (Core.Kernel.ItemInfos.TrySelect(NewID, out newItem))
				{
					if (newItem.Quality > ToUpgrade.Quality && newItem.Name == ToUpgrade.Name)
					{
						if (Calculations.BasicCalculations.ChanceSuccess(Core.NumericConst.QualityUpgradeChance))
						{
							Data.ItemInfo NewUpgradedItem = newItem.Copy();
							NewUpgradedItem.SetStats(ToUpgrade);
							
							client.Inventory.RemoveItemByUID(ToUpgrade.UID);
							client.Inventory.RemoveItemByUID(Dragonball.UID);
							
							if (Calculations.BasicCalculations.ChanceSuccess(Core.NumericConst.FirstSocketChance) &&
							    NewUpgradedItem.Gem1 == Enums.SocketGem.NoSocket)
							{
								NewUpgradedItem.Gem1 = Enums.SocketGem.EmptySocket;
							}
							else if (Calculations.BasicCalculations.ChanceSuccess(Core.NumericConst.SecondSocketChance) &&
							         NewUpgradedItem.Gem2 == Enums.SocketGem.NoSocket)
							{
								NewUpgradedItem.Gem2 = Enums.SocketGem.EmptySocket;
							}

							client.Inventory.AddItem(NewUpgradedItem);
						}
					}
				}
			}
		}
	}
}
Code:
//Project by BaussHacker aka. L33TS

using System;

namespace ProjectX_V3_Game.Packets.Item
{
	/// <summary>
	/// Description of Uplev.
	/// </summary>
	public class Uplev
	{
		public static void Handle(Entities.GameClient client, ItemPacket packet)
		{
			if (client.Booth != null)
				return;
			if (!client.Alive)
				return;
			
			if (!client.Inventory.ContainsByUID(packet.UID) && client.Inventory.ContainsByUID(packet.Data1))
			{
				using (var msg = Packets.Message.MessageCore.CreateSystem(client.Name, Core.MessageConst.ITEM_NOT_FOUND))
					client.Send(msg);
				return;
			}
			
			Data.ItemInfo ToUpgrade = client.Inventory.GetItemByUID(packet.UID);
			if (ToUpgrade.CurrentDura < ToUpgrade.MaxDura)
				return;
			
			Data.ItemInfo Meteor = client.Inventory.GetItemByUID(packet.Data1);
			if (Meteor == null || ToUpgrade == null)
			{
				using (var msg = Packets.Message.MessageCore.CreateSystem(client.Name, Core.MessageConst.ITEM_NOT_FOUND))
					client.Send(msg);
				return;
			}
			if (ToUpgrade.IsGarment() || ToUpgrade.IsArrow() || ToUpgrade.IsBottle() ||
			    ToUpgrade.IsSteed() || ToUpgrade.IsMisc())
			{
				using (var msg = Packets.Message.MessageCore.CreateSystem(client.Name, Core.MessageConst.ITEM_INVALID_UPGRADE))
					client.Send(msg);
				return;
			}
			if (ToUpgrade.RequiredLevel >= 120)
			{
				using (var msg = Packets.Message.MessageCore.CreateSystem(client.Name, Core.MessageConst.ITEM_MAX_LEVEL))
					client.Send(msg);
				return; // max level
			}
			if (Meteor.ItemID != 1088001 && Meteor.ItemID != 1088002)
			{
				using (var msg = Packets.Message.MessageCore.CreateSystem(
					client.Name,
					string.Format(Core.MessageConst.ITEM_AMOUNT_FAIL, "Meteor- or Meteortear's")))
					client.Send(msg);
				return;
			}

			uint NewID = ToUpgrade.ItemID + 10;
			int loop = 4;
			while (!Core.Kernel.ItemInfos.Contains(NewID))
			{
				NewID += 10;
				loop--;
				if (loop <= 0)
					break;
			}
			
			if (Core.Kernel.ItemInfos.Contains(NewID))
			{
				Data.ItemInfo newItem;
				if (Core.Kernel.ItemInfos.TrySelect(NewID, out newItem))
				{
					if (newItem.RequiredLevel > ToUpgrade.RequiredLevel && newItem.TypeName == ToUpgrade.TypeName)
					{
						if (Calculations.BasicCalculations.ChanceSuccess(Core.NumericConst.LevelUpgradeChance))
						{
							Data.ItemInfo NewUpgradedItem = newItem.Copy();
							NewUpgradedItem.SetStats(ToUpgrade);
							
							client.Inventory.RemoveItemByUID(ToUpgrade.UID);
							client.Inventory.RemoveItemByUID(Meteor.UID);
							
							if (Calculations.BasicCalculations.ChanceSuccess(Core.NumericConst.FirstSocketChance) &&
							    NewUpgradedItem.Gem1 == Enums.SocketGem.NoSocket)
							{
								NewUpgradedItem.Gem1 = Enums.SocketGem.EmptySocket;
							}
							else if (Calculations.BasicCalculations.ChanceSuccess(Core.NumericConst.SecondSocketChance) &&
							         NewUpgradedItem.Gem2 == Enums.SocketGem.NoSocket)
							{
								NewUpgradedItem.Gem2 = Enums.SocketGem.EmptySocket;
							}
							
							client.Inventory.AddItem(NewUpgradedItem);
						}
					}
				}
			}
		}
	}
}
Code:
//Project by BaussHacker aka. L33TS

using System;
using ProjectX_V3_Lib.Network;

namespace ProjectX_V3_Game.Packets
{
	/// <summary>
	/// Client -> Server
	/// Server -> Client
	/// </summary>
	public class ItemPacket : DataPacket
	{
		public ItemPacket()
			: base(92, Packets.PacketType.ItemPacket)
		{
			
		}
		public ItemPacket(DataPacket inPacket)
			: base(inPacket)
		{
			
		}
		
		/// <summary>
		/// Gets the item action.
		/// </summary>
		public Enums.ItemAction Action
		{
			get { return (Enums.ItemAction)ReadUInt32(12); }
			set { WriteUInt32((uint)value, 12); }
		}
		
		public uint UID
		{
			get { return ReadUInt32(4); }
			set { WriteUInt32(value, 4); }
		}
		
		public uint Data1
		{
			get { return ReadUInt32(8); }
			set { WriteUInt32(value, 8); }
		}
		
		public uint Data2
		{
			get { return ReadUInt32(20); }
			set { WriteUInt32(value, 20); }
		}
		
		/// <summary>
		/// Offset [8/0x08]
		/// </summary>
		public ushort Data1Low
		{
			get { return (ushort)Data1; }
			set { Data1 = (uint)((Data1High << 16) | value); }
		}

		/// <summary>
		/// Offset [10/0x0a]
		/// </summary>
		public ushort Data1High
		{
			get { return (ushort)(Data1 >> 16); }
			set { Data1 = (uint)((value << 16) | Data1Low); }
		}
		
		public void SetGears(Data.Equipments equips)
		{
			if (equips.Contains(Enums.ItemLocation.Head))
				WriteUInt32(equips[Enums.ItemLocation.Head].UID, 32);
			if (equips.Contains(Enums.ItemLocation.Necklace))
				WriteUInt32(equips[Enums.ItemLocation.Necklace].UID, 36);
			if (equips.Contains(Enums.ItemLocation.Armor))
				WriteUInt32(equips[Enums.ItemLocation.Armor].UID, 40);
			
			if (equips.MaskedRightHand != null)
				WriteUInt32(equips.MaskedRightHand.UID, 44);
			else if (equips.Contains(Enums.ItemLocation.WeaponR))
				WriteUInt32(equips[Enums.ItemLocation.WeaponR].UID, 44);
			
			if (equips.MaskedLeftHand != null)
				WriteUInt32(equips.MaskedLeftHand.UID, 48);
			else if (equips.Contains(Enums.ItemLocation.WeaponL))
				WriteUInt32(equips[Enums.ItemLocation.WeaponL].UID, 48);
			
			if (equips.Contains(Enums.ItemLocation.Ring))
				WriteUInt32(equips[Enums.ItemLocation.Ring].UID, 52);
			if (equips.Contains(Enums.ItemLocation.Bottle))
				WriteUInt32(equips[Enums.ItemLocation.Bottle].UID, 56);
			if (equips.Contains(Enums.ItemLocation.Boots))
				WriteUInt32(equips[Enums.ItemLocation.Boots].UID, 60);
			
			if (equips.MaskedGarment != null)
				WriteUInt32(equips.MaskedGarment.UID, 64);
			else if (equips.Contains(Enums.ItemLocation.Garment))
				WriteUInt32(equips[Enums.ItemLocation.Garment].UID, 64);
			
			//	if (equips.Contains(Enums.ItemLocation.Fan))
			//		WriteUInt32(equips[Enums.ItemLocation.Fan].UID, 68);
			//	if (equips.Contains(Enums.ItemLocation.Tower))
			//WriteUInt32(equips[Enums.ItemLocation.Tower].UID, 72);
			if (equips.Contains(Enums.ItemLocation.SteedArmor))
				WriteUInt32(equips[Enums.ItemLocation.SteedArmor].UID, 76);
			else if (equips.Contains(Enums.ItemLocation.Steed))
				WriteUInt32(equips[Enums.ItemLocation.Steed].UID, 76);
			//if (equips.Contains(Enums.ItemLocation.Head))
			//	WriteUInt32(equips[Enums.ItemLocation.Head].UID, 80);
		}
		
		/// <summary>
		/// Handling the ItemPacket.
		/// </summary>
		/// <param name="client">The client.</param>
		/// <param name="packet">The packet.</param>
		public static void Handle(Entities.GameClient client, DataPacket packet)
		{
			using (var item = new ItemPacket(packet))
			{
				if (item.Action != Enums.ItemAction.Ping)
				{
					if (client.Trade.Trading)
						return;
				}
				switch (item.Action)
				{
						#region Ping : 27
					case Enums.ItemAction.Ping:
						Item.Ping.Handle(client, item);
						break;
						#endregion
						#region Drop : 37
					case Enums.ItemAction.Drop:
						Item.Drop.Handle(client, item);
						break;
						#endregion
						#region Buy : 1
					case Enums.ItemAction.Buy:
						Item.Buy.Handle(client, item);
						break;
						#endregion
						#region Sell : 2
					case Enums.ItemAction.Sell:
						Item.Sell.Handle(client, item);
						break;
						#endregion
						#region Use
					case Enums.ItemAction.Use:
						Item.Use.Handle(client, item);
						break;
						#endregion
						#region Unequip : ?
					case Enums.ItemAction.Unequip:
						Item.Unequip.Handle(client, item);
						break;
						#endregion
						#region Improve : ?
					case Enums.ItemAction.Improve:
						Item.Improve.Handle(client, item);
						break;
						#endregion
						#region Uplev : ?
					case Enums.ItemAction.Uplev:
						Item.Uplev.Handle(client, item);
						break;
						#endregion
						#region ActivateAccessory : ?
					case Enums.ItemAction.ActivateAccessory:
						Item.ActivateAccessory.Handle(client, item);
						break;
						#endregion
						#region QueryMoneySaved : ?
					case Enums.ItemAction.QueryMoneySaved:
						Item.QueryMoneySaved.Handle(client, item);
						break;
						#endregion
						#region SaveMoney : ?
					case Enums.ItemAction.SaveMoney:
						Item.SaveMoney.Handle(client, item);
						break;
						#endregion
						#region DrawMoney : ?
					case Enums.ItemAction.DrawMoney:
						Item.DrawMoney.Handle(client, item);
						break;
						#endregion
						#region Bless : ?
					case Enums.ItemAction.Bless:
						Item.Bless.Handle(client, item);
						break;
						#endregion
						#region BoothAdd : ?
					case Enums.ItemAction.BoothAdd:
						Item.BoothAdd.Handle(client, item);
						break;
						#endregion
						#region BoothAddCP : ?
					case Enums.ItemAction.BoothAddCP:
						Item.BoothAddCP.Handle(client, item);
						break;
						#endregion
						#region BoothBuy : ?
					case Enums.ItemAction.BoothBuy:
						Item.BoothBuy.Handle(client, item);
						break;
						#endregion
						#region BoothDelete : ?
					case Enums.ItemAction.BoothDelete:
						Item.BoothDelete.Handle(client, item);
						break;
						#endregion
						#region BoothDelete : ?
					case Enums.ItemAction.BoothQuery:
						Item.BoothQuery.Handle(client, item);
						break;
						#endregion
						
						#region default
					default:
						Console.WriteLine("Unhandled item packet: {0} User: {1}", item.Action, client.Name);
						break;
						#endregion
				}
			}
		}
	}
}
Code:
//Project by BaussHacker aka. L33TS

using System;

namespace ProjectX_V3_Game.Enums
{
	/// <summary>
	/// The different types of actions ItemPacket handles.
	/// </summary>
	public enum ItemAction : uint
	{
		/// <summary>
		/// [00]
		/// </summary>
		None = 0,

		/// <summary>
		/// [01]
		/// </summary>
		Buy = 1,

		/// <summary>
		/// [02]
		/// </summary>
		Sell = 2,

		/// <summary>
		/// [03]
		/// </summary>
		Remove = 3,

		/// <summary>
		/// [04]
		/// </summary>
		Use = 4,

		/// <summary>
		/// [05]
		/// </summary>
		Equip = 5,

		/// <summary>
		/// [06]
		/// </summary>
		Unequip = 6,

		/// <summary>
		/// [07]
		/// </summary>
		SplitItem = 7,

		/// <summary>
		/// [08]
		/// </summary>
		CombineItem = 8,

		/// <summary>
		/// [09]
		/// </summary>
		QueryMoneySaved = 9,

		/// <summary>
		/// [10]
		/// </summary>
		SaveMoney = 10,

		/// <summary>
		/// [11]
		/// </summary>
		DrawMoney = 11,

		/// <summary>
		/// [12]
		/// </summary>
		DropMoney = 12,

		/// <summary>
		/// [13]
		/// </summary>
		SpendMoney = 13,

		/// <summary>
		/// [14]
		/// </summary>
		Repair = 14,

		/// <summary>
		/// [15]
		/// </summary>
		RepairAll = 15,

		/// <summary>
		/// [16]
		/// </summary>
		Ident = 16,

		/// <summary>
		/// [17]
		/// </summary>
		Durability = 17,

		/// <summary>
		/// [18]
		/// </summary>
		DropEquipment = 18,

		/// <summary>
		/// [19]
		/// </summary>
		Improve = 19,

		/// <summary>
		/// [20]
		/// </summary>
		Uplev = 20,

		/// <summary>
		/// [21]
		/// </summary>
		BoothQuery = 21,

		/// <summary>
		/// [22]
		/// </summary>
		BoothAdd = 22,

		/// <summary>
		/// [23]
		/// </summary>
		BoothDelete = 23,

		/// <summary>
		/// [24]
		/// </summary>
		BoothBuy = 24,

		/// <summary>
		/// [25]
		/// </summary>
		SynchroAmount = 25,

		/// <summary>
		/// [26]
		/// </summary>
		Fireworks = 26,

		/// <summary>
		/// [27]
		/// </summary>
		Ping = 27,

		/// <summary>
		/// [28]
		/// </summary>
		Enchant = 28,

		/// <summary>
		/// [29]
		/// </summary>
		BoothAddCP = 29,

		/// <summary>
		/// [33]
		/// </summary>
		PkItemRedeem = 33,
		
		/// <summary>
		/// [37]
		/// </summary>
		Drop = 37,

		Bless = 40,
		ActivateAccessory = 41,

		SocketEquipment = 43,

		/// <summary>
		/// [46]
		/// </summary>
		DisplayGears = 46,

		/// <summary>
		/// [52]
		/// </summary>
		RequestItemTooltip = 52,
	}
}
ItemPacket = 1009

Old af codes lmfaooo.
Super Aids is offline  
Reply




All times are GMT +1. The time now is 03:56.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.