//------------------------------------------------------------------------ int CScriptBind_Actor::CheckVirtualInventoryRestrictions(IFunctionHandler *pH, SmartScriptTable inventory, const char *itemClassName) { CActor *pActor = GetActor(pH); if (!pActor) return pH->EndFunction(); static std::vector<string> virtualInventory; virtualInventory.reserve(inventory->Count()); IScriptTable::Iterator it=inventory->BeginIteration(); while(inventory->MoveNext(it)) { const char *itemClass=0; it.value.CopyTo(itemClass); if (itemClass && itemClass[0]) virtualInventory.push_back(itemClass); } inventory->EndIteration(it); bool result=pActor->CheckVirtualInventoryRestrictions(virtualInventory, itemClassName); virtualInventory.resize(0); if (result) return pH->EndFunction(1); return pH->EndFunction(); }