АзгалорВсё, решил проблему. Прописал такое:
--Всякая всячина до этих строк
local n = random(length(creatures_positions))+1
local x = creatures_positions[n].x
local y = creatures_positions[n].y
--всякая всячина после этих строк, k заменено на n
И теперь рандом работает, существа спавнятся в случайных сохранённых координатах 😇 Всё же, огроменное спасибо за корректировку функции с сохранением координат, и помощью в функции респавна!
Всё-таки я ничего не понял из вашей задачи, ну да ладно. Мой код проходит все k существ (при этом i) не нужно и генерит случайный индекс k до тех пор, пока он есть в массиве индексов. Как только выходит — работает с существом со сгенерированным индексом k
Почему нужна такая проверка с циклом — потому что простой рандом (как у вас) может выдать повторяющиеся значения, а как я понял, так не должно быть. Возможно, неправильно понял.
И вообще, очень странно, что у вас такое не работает и генерит в двух местах. Я запустил холостые принты для k=100 и он нагенерил кучу значений, все разные (ну, я, впрочем, не скроллил все).