Вы печатаете после того, как текст установлен на хлеб, щит, ботинки, ноги, а затем броню. Вот почему вы видите только «броню». Вы правильно перебор, но если вы хотите, чтобы перечислить все из них делает это ...
local items = {'bread', 'shield', 'boots', 'legs', 'armor'}
for i, item in ipairs(items) do
text = item
William:speak("I am interested in the following: ".. text)
end
Это делает его говорить каждый раз, когда вы идете через цикл.
Если вы хотите их в одну строку, попробуйте это ...
local items = {'bread', 'shield', 'boots', 'legs', 'armor'}
for i, item in ipairs(items) do
text = text .. item
end
William:speak("I am interested in the following: ".. text)
Я не проверял это, но это может решить вашу проблему
local items = {'bread', 'shield', 'boots', 'legs', 'armor'}
for i, item in ipairs(items) do
if item == items.length - 1 then
text = text .. item
else
text = text .. item .. ", "
end
end
William:speak("I am interested in the following: ".. text)
Я думаю, что он хотел напечатать все предметы в конкатенированной w ау. Так что 'text = text .. item' был бы таким, как я предполагаю. – thwiegan
Спасибо за разъяснение, я отредактировал свой ответ. – Snifferdog
да @thwiegan, вы правы, что сработало отлично теперь все, что мне нужно выяснить, это печать запятой и пробелом после каждого элемента, кроме последнего. спасибо, ребята, я приму свой ответ, когда смогу snifferdog –