Ну, в общем любой элемент может быть массивом (и не только

), обращение к нему простое:
array[index1][index2]
mass[index1][index2][index3]
но array[index1], mass[index1] и mass[index1][index2] должны быть массивами, а то будет ошибка.
присвоение пошаговое, если в первый раз
array = {}
array[ind1] = {}
array[ind1][ind2] = ""
сцепление индексов выглядит как сцепление строк
hero1 = 'Brem' --неявные переменные, полученные в результате чего-то
hero2 = 'Grok'
array[hero1..hero2] = element
но, если обращаться не array[hero1..hero2], а array[hero2..hero1], то вернёт nil. Поэтому лучше строки перед присвоением СРАВНИВАТЬ.
if hero1 >= hero2 then
array[hero1..hero2] = element
else
array[hero2..hero1] = element
end
Так и при обращении к массиву.