Just thought I would mention that there is a bug in /charinfo.
I believe this is caused by the change in the bank structure. As anyone who purchased the LoY expansion, or read the release announcements is aware, they changed the number of bank slots from 8 to 16. The code structure for CHARINFO reads:
Code: Select all
typedef struct _CHARINFO
...
PITEMINFO Bank[8];
...
To fix this problem with /charinfo termporarily, comment out the following in EQLib.cpp -- CharInfo
Code: Select all
for (index=0;index<8;index++) if (pCharInfo->Bank[index]) {
BOOL Found = FALSE;
PITEMDB ItemDB = gItemDB;
while (ItemDB) {
if (ItemDB->ID == pCharInfo->Bank[index]->ItemNumber) {
Found = TRUE;
}
ItemDB = ItemDB->pNext;
}
if (!Found) {
PITEMDB Item = (PITEMDB)malloc(sizeof(ITEMDB));
Item->pNext = gItemDB;
Item->ID = pCharInfo->Bank[index]->ItemNumber;
strcpy(Item->szName,pCharInfo->Bank[index]->Name);
DebugSpew("New Item found - %d: %s",Item->ID,Item->szName);
gItemDB = Item;
}
if (pCharInfo->Bank[index]->Type == ITEMTYPE_PACK) {
LONG bindex;
for (bindex=0;bindex<pCharInfo->Bank[index]->Container.Slots;bindex++) if (pCharInfo->Bank[index]->Container.Contents[bindex]) {
PITEMDB ItemDB = gItemDB;
Found=FALSE;
while (ItemDB) {
if (ItemDB->ID == pCharInfo->Bank[index]->Container.Contents[bindex]->ItemNumber) {
Found = TRUE;
}
ItemDB = ItemDB->pNext;
}
if (!Found) {
PITEMDB Item = (PITEMDB)malloc(sizeof(ITEMDB));
Item->pNext = gItemDB;
Item->ID = pCharInfo->Bank[index]->Container.Contents[bindex]->ItemNumber;
strcpy(Item->szName,pCharInfo->Bank[index]->Container.Contents[bindex]->Name);
DebugSpew("New Item found - %d: %s",Item->ID,Item->szName);
gItemDB = Item;
}
}
}
}Question: Who decoded the original CHARINFO structure?
Comment: Perhaps they would be able to decode the new structure faster than I.
End of line...



