math.random(1, 5)
возвращает числа от 1 до 5. Ваши ключи являются строками.
Вы можете создать таблицу (как в: массив - целочисленные ключи), получить оттуда случайный ключ и затем получить доступ к phrases
:
local phrases = {
["a"] = 3,
["b"] = 7,
["d"] = 4,
["f"] = 8,
["p"] = 5
}
local keys = {}
for k in pairs(phrases) do
table.insert(keys, k)
end
local random_key = keys[math.random(1,5)] -- One of: "a", "b", "d", "f", "p"
local phrase = phrases[random_key] -- One of: 3, 7, 4, 8, 5