let 's be too simple.
this happen only once or every time u got an item?
Problem: ur source added the new item with uid already used before
causes : ur source's item counter has something go wrong or there aren't one
solution : just check any other source 's item counter and u will see
for most public sources i saw
1
at ConquerItem.cs
PHP Code:
public static Counter ItemUID = new Counter(0);
and at adding item they use
PHP Code:
case Enums.ItemUse.CreateAndAdd:
item.UID = Conquer_Online_Server.Network.GamePackets.ConquerItem.ItemUID.Next;
Database.ConquerItemTable.AddItem(ref item, Owner);
item.MobDropped = false;
break;
2
PHP Code:
public static void NextUit()
{
Conquer_Online_Server.Database.MySqlCommand command = new Conquer_Online_Server.Database.MySqlCommand(MySqlCommandType.SELECT);
command.Select("items");
MySqlReader reader = new MySqlReader(command);
while (reader.Read())
{
uint num = reader.ReadUInt32("UID");
if ((num > 0) && (num > AuthClient.nextID))
{
AuthClient.nextID = num;
}
}
AuthClient.nextID++;
Conquer_Online_Server.Console.WriteLine("Last Item UID: " + AuthClient.nextID);
}
PHP Code:
case Enums.ItemUse.CreateAndAdd:
item.UID = AuthClient.nextID; AuthClient.nextID++;
Database.ConquerItemTable.AddItem(ref item, Owner);
Database.ConquerItemTable.Update_Free(item, Owner);
item.MobDropped = false;
break;