Hi guys, just my little contribution... Really helps out when ground spawns are inside trees, so that /items * kicks back x,y,z so you don't go hunt down that item again.
On that note, I'll post a req for development regarding /itemtarget as well in another post...
PCHAR GetFriendlyNameForGroundItem(PGROUNDITEM pItem)
{
CHAR szName[MAX_STRING] = {0};
PITEMDB ItemDB=gItemDB;
DWORD Item = atoi(pItem->Name + 2);
while ((ItemDB) && (pItem->ID != ItemDB->ID)) {
ItemDB = ItemDB->pNext;
}
if (ItemDB) {
strcpy(szName,ItemDB->szName);
} else if ((Item>=400) && (Item<=MAX_ITEM4xx) && (szItemName4xx[Item-400])) {
sprintf(szName,"%s%d (%3.2f, %3.2f, %3.2f)",szItemName4xx[Item-400],pItem->ID,pItem->Y,pItem->X,pItem->Z);
// Regular
} else if ((Item<=255) && (szItemName[Item])) {
strcpy(szName,szItemName[Item]);
// Unknown
} else {
sprintf(szName,"Drop%04d/%d",Item,pItem->ID);
}
return strdup(szName);
}

