26.02.2024, 06:59
Try this. The example has the layout array encoded as a JSON string for some reason. It might be an error in the documentation. If it's not then uncomment line 42 and remove line 43.
Code:
chars = {
[0] = " ", [1] = "A", [2] = "B", [3] = "C", [4] = "D", [5] = "E",
[6] = "F", [7] = "G", [8] = "H", [9] = "I", [10] = "J", [11] = "K",
[12] = "L", [13] = "M", [14] = "N", [15] = "O", [16] = "P",
[17] = "Q", [18] = "R", [19] = "S", [20] = "T", [21] = "U",
[22] = "V", [23] = "W", [24] = "X", [25] = "Y", [26] = "Z",
[27] = "1", [28] = "2", [29] = "3", [30] = "4", [31] = "5",
[32] = "6", [33] = "7", [34] = "8", [35] = "9", [36] = "0",
[37] = "!", [38] = "@", [39] = "#", [40] = "$", [41] = "(",
[42] = ")", [44] = "-", [46] = "+", [47] = "&", [48] = "=",
[49] = ";", [50] = ":", [52] = "'", [53] = '"', [54] = "%",
[55] = ",", [56] = ".", [59] = "/", [60] = "?", [62] = "°",
}
function decode(input)
for i, code in ipairs(input) do
input[ i ] = chars[ code ] or ''
end
local res = table.concat(input)
return res:trim()
end
data = [[
{
"currentMessage": {
"layout": [
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,8,5,12,12,15,0,23,15,18,12,4,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
],
"id": "172c7808-52db-4eb9-9ecf-505bd00436bc"
}
}
]]
data = json.pdecode(data)
-- messages = json.pdecode(data.currentMessage.layout)
messages = data.currentMessage.layout
for i, message in ipairs(messages) do
messages[ i ] = decode(message)
end
log(messages)