Реализовали поиск "нужных вещей" по инвентарю игрока.
- items[i].market_hash_name - вещи в инвентаре игрока
- sendItemName - вещи которые ищем в инвентаре
Если вещь найдена, тогда стоп цикла break;
Проблема заключается в следующем:- Вещи которые ищем в инвентаре могут быть с одинаковыми названиями.
- Получается, цикл проходит по списку вещей и как только находит совпадение ставит "true"
Например в инвентаре будет:
1. Name100
2. Name99
3. Name55
Искать будем:
1. Name99
2. Name99
3. Name99
Разумеется напишет, что всё найдены.
Но в инвентаре то есть только 1 вещь Name99, а считает что есть всё.
Как реализовать, чтобы получался такой результат:
1. Найдено
2. Не найдено
3. Не найдено
Сам код:
// Загрузка инвентаря с итемами
offers.loadMyInventory({appId: 730, contextId: 2}, function(err, items) {
var otvet = null;
// g_ItemName - массив с вещами которые будем искать в инвентаре
g_ItemName.forEach(function(sendItemName) {
if (typeof sendItemName != 'undefined') {
for(var i = 0; i < items.length; i++){
if(sendItemName == items[i].market_hash_name){
console.log('Вещь: ' + sendItemName + ' найдена в инвентаре');
otvet = true;
break;
}else{
console.log('Вещь: ' + sendItemName + ' не найдена в инвентаре');
otvet = false;
}
}
}
});