diff --git a/src-core/common/lua/lua_utils.cpp b/src-core/common/lua/lua_utils.cpp index e4b4019c3..f59ecac1a 100644 --- a/src-core/common/lua/lua_utils.cpp +++ b/src-core/common/lua/lua_utils.cpp @@ -9,14 +9,29 @@ namespace lua_utils { try { - if (el.value().is_number_integer()) - l[el.key()] = el.value().get(); - else if (el.value().is_number()) - l[el.key()] = el.value().get(); - else if (el.value().is_string()) - l[el.key()] = el.value().get(); - else - l[el.key()] = mapJsonToLua(lua, el.value()); + try + { + int index = std::stoi(el.key()); + if (el.value().is_number_integer()) + l[index] = el.value().get(); + else if (el.value().is_number()) + l[index] = el.value().get(); + else if (el.value().is_string()) + l[index] = el.value().get(); + else + l[index] = mapJsonToLua(lua, el.value()); + } + catch (std::exception &e) + { + if (el.value().is_number_integer()) + l[el.key()] = el.value().get(); + else if (el.value().is_number()) + l[el.key()] = el.value().get(); + else if (el.value().is_string()) + l[el.key()] = el.value().get(); + else + l[el.key()] = mapJsonToLua(lua, el.value()); + } } catch (std::exception &e) {