Найти пустую ячейку в массиве и использовать ее

Так что у меня есть проблема, с которой я некоторое время возился в Белке. Я хочу создать что-то, что проходит через все внутри массива, например:

local array = [1, 2, 3, -1, 5, -1, 7, -1];

и ищите те, которые равны -1, я хочу использовать только один из них, тот, который появляется первым (который в данном случае составляет от 3 до 5).

В моем сценарии, когда кто-то уничтожает определенный объект, он устанавливает для идентификатора объекта значение -1, а не обычное число, потому что в противном случае он будет просто выводить ошибки при попытке использовать этот объект. Не знаю, хорошо ли я объясняю это.

Другой пример - когда игроки подключаются к определенному игровому серверу, поэтому у нас есть игроки с идентификаторами 0, 1, 3 и 4, поэтому, когда следующий игрок подключается, они получают идентификатор 2. Это то, что мне нужно с массивами.

Я пробовал несколько вещей, единственное, что ближе всего к этому, это:

for(local i=1; i < Array.len(); i++){
    if(Array[i].id != -1){
      count++;
    } else {
      count = i;
    }
}

Но проблема с этим в том, что он берет только последний идентификатор и заменяет его, поэтому у нас есть объекты 0, 1, 2 и 3. Если бы я уничтожил 3 и создал новый, нет проблем. Если бы я вместо этого уничтожил 0, 1 или 2 и создал новый, он бы не занял этот слот, а вместо этого выбрал бы номер 4, который тогда не работает.

Спасибо за чтение, надеюсь, кто-нибудь может мне помочь с этим.


РЕШИТЬ:
Это было действительно просто, для кого-то еще с той же проблемой это то, что я сделал. Следуйте сейчас, это может быть очень сложно.
Я добавил "разрыв"; в другом выражении, код ниже:

for(local i=1; i < Array.len(); i++){
    if(Array[i].id != -1){
        count++;
    } else {
        count = i;
        break; // THIS
    }
}

Да, я ударил себя по голове позже...

1 ответ

array.find(-1)

Из документации:

Выполняет линейный поиск значения в массиве. Возвращает индекс значения, если оно было найдено нулевым в противном случае.

Другие вопросы по тегам