GemSocketPacket :
In the Packets folder create a new file called GemSocket Packet.cs and replace the code there with below :
And in the PacketProcessor.cs add following :
And then add this:
in ItemPacket.cs and under the ItemMode class so it looks like this:
In the Packets folder create a new file called GemSocket Packet.cs and replace the code there with below :
Code:
using System;
namespace ConquerServer_Basic
{
class GemSocketPacket : IClassPacket
{
private byte[] Packet;
public const byte AddSocket = 0,
RemoveSocket = 1;
/// <summary>
/// No idea what this is for, has no use.
/// </summary>
public uint PlayerID
{
get { return BitConverter.ToUInt32(Packet, 4); }
}
public uint ItemUID
{
get { return BitConverter.ToUInt32(Packet, 8); }
}
public uint GemID
{
get { return BitConverter.ToUInt32(Packet, 12); }
}
public byte Socket
{
get { return Packet[16]; }
}
public byte Mode
{
get { return Packet[18]; }
}
public void Deserialize(byte[] Data)
{
Packet = Data;
}
public byte[] Serialize()
{
throw new NotImplementedException();
}
}
}
Code:
case 1027:
{
GemSocketPacket cPacket = new GemSocketPacket();
cPacket.Deserialize(Packet);
IConquerItem Item = Client.GetInventoryItem(cPacket.ItemUID);
if (Item != null)
{
if (cPacket.Mode == GemSocketPacket.AddSocket)
{
IConquerItem Gem = Client.GetInventoryItem(cPacket.GemID);
if (Gem != null)
{
byte GemID = (byte)(Gem.ID % 10000);
bool Remove = false;
if (cPacket.Socket == 1 && Item.SocketOne == 255)
{
Item.SocketOne = GemID;
Remove = true;
}
else if (cPacket.Socket == 2 && Item.SocketTwo == 255)
{
Item.SocketTwo = GemID;
Remove = true;
}
if (Remove)
{
Client.RemoveInventory(cPacket.GemID);
ItemDataPacket IPacket = (Item as ItemDataPacket);
IPacket.Mode = ItemMode.UpdateItem;
Client.Send(IPacket);
}
}
}
else if(cPacket.Mode == GemSocketPacket.RemoveSocket)
{
if (cPacket.Socket == 1 && Item.SocketOne != 255)
Item.SocketOne = 255;
else if (cPacket.Socket == 2 && Item.SocketTwo != 255)
Item.SocketTwo = 255;
ItemDataPacket IPacket = (Item as ItemDataPacket);
IPacket.Mode = ItemMode.UpdateItem;
Client.Send(IPacket);
}
}
break;
}
Code:
UpdateItem = 0x03,
Code:
public const ushort
Default = 0x01,
Trade = 0x02,
UpdateItem = 0x03,
View = 0x04;