Changeset 1137

Show
Ignore:
Timestamp:
01/31/2010 12:35:07 AM (7 months ago)
Author:
Hypersniper
Message:

FIXED: GetInventoryItemById? function to also get items in non-backpack bags.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • Trunk/src/LuaEngine/UnitFunctions.h

    r1136 r1137  
    12681268                Player * plr = TO_PLAYER(ptr); 
    12691269                int16 slot = plr->GetItemInterface()->GetInventorySlotById(entry); 
     1270                if (slot == -1) //check bags 
     1271                { 
     1272                        for (uint8 contslot = INVENTORY_SLOT_BAG_START; contslot != INVENTORY_SLOT_BAG_END; contslot++) 
     1273                        { 
     1274                                Container * bag = static_cast<Container*>(plr->GetItemInterface()->GetInventoryItem(contslot)); 
     1275                                for (uint8 bslot = 0; bslot != bag->GetNumSlots(); bslot++) 
     1276                                { 
     1277                                        if (bag->GetItem(bslot)->GetEntry() == entry) 
     1278                                        { 
     1279                                                PUSH_ITEM(L, bag->GetItem(bslot)); 
     1280                                                return 1; 
     1281                                        } 
     1282                                } 
     1283                        } 
     1284                } 
    12701285                PUSH_ITEM(L, plr->GetItemInterface()->GetInventoryItem(slot)); 
    12711286                return 1;