В своем моде использую функцию для сравнения таблиц:
Дело в том что при таком сравнении не учитывается расположение элементов. То есть имея таблицу с элементами X Y Z она не будет равна таблице Z X Y. Как подправить?
Есть идея сравнивать каждый элемент с каждым элементом таблицы, но мне кажется есть вариант по-проще, поэтому спрашиваю здесь о наличии такого.
Что бы было более понятней, использую для сравнения предметов в инвентаре, с элементами(предметами) в таблице таблиц, и если есть соответствие, даю другой предмет. Типо стандартной сборки предметов Dota2. В идеале хотелось бы реализовать такое же сравнение. Стандартная сборка предметов не подходит, это чтобы не предлагали использовать ее.
Код:
function MatchTables(table1, table2)
for k, v in pairs(table1) do
if table2[k] ~= v then return false end
end
for k, v in pairs(table2) do
if table1[k] ~= v then return false end
end
return true
end
Есть идея сравнивать каждый элемент с каждым элементом таблицы, но мне кажется есть вариант по-проще, поэтому спрашиваю здесь о наличии такого.
Что бы было более понятней, использую для сравнения предметов в инвентаре, с элементами(предметами) в таблице таблиц, и если есть соответствие, даю другой предмет. Типо стандартной сборки предметов Dota2. В идеале хотелось бы реализовать такое же сравнение. Стандартная сборка предметов не подходит, это чтобы не предлагали использовать ее.