Я работал над сценарием для рандомизации данных внутри моего массива, но я получаю сообщение об ошибке
unexpected symbol near "#"
Когда я перехожу к этой строке и удаляю "#", я получаю
attempt to perform arithmetic on local `n' (a table value)
Вот моя функция перемешивания
function shuffle(array)
local array = array
local n = #array
local j
local random = math.random
for i=n-1, 1, -1 do
j = random(i)
array[j],array[i] = array[i],array[j]
end
return array
end
и вот что я пытаюсь рандомизировать
shuffle(new_players)
for name,character in pairs(new_players) do
if (character.inside == true and character.death == 0) then
local player = getPlayerByName(name, map_copy)
if (player ~= nil) then
addState(player)
break
end
end
end
Вот мой массив
new_players= { }
new_players[charName] = { death = 0, inside= true }
Любая помощь? Если я делаю что-то совершенно неправильно?
break
послеaddState
? Вам нужен только один случайный игрок? - person Egor Skriptunoff   schedule 15.06.2013local array = array
? - person derkyjadex   schedule 15.06.2013array
ужеlocal
. Так что, если я не ошибаюсь, он вообще ничего не делает. - person derkyjadex   schedule 16.06.2013array
и присваивает ей значениеarray
. Это избыточно, но кое-что сделает. - person dualed   schedule 16.06.2013