Ошибка LUA сркипта

Alighieri
На сайте с 07.06.2009
Offline
50
810

Всем добрый день, имеется LUA скрипт, но при его запуске выдаётся ошибка.

[ Lua ERROR ] lines.lua:44: attempt to concatenate field '?' (a nil value)


-- tenlines.lua

-- By Tyrone, on 17/04/07
-- Tells a user when they log in what the last 10 chat messages were

LastTenMessages = {}
NumberOfMessages = 10

_, botname = VH:GetConfig("config", "hub_security")

function VH_OnParsedMsgChat(nick, data)

if (string.find(data, "^[%.%+!]")) then
-- we start with a command
else
nowdate = os.date("%X")
AddMessage("["..nowdate.."] <"..nick..">"..data..string.format("\n"))
end

return 1
end

function AddMessage(message)
if (NumberOfMessages == 0) then
LastTenMessages[1] = message
NumberOfMessages = 1
elseif (NumberOfMessages < 20) then
NumberOfMessages = NumberOfMessages + 1
LastTenMessages[NumberOfMessages] = message
elseif (NumberOfMessages == 20) then
for i = 1, 19, 1 do
LastTenMessages = LastTenMessages[i+1]
end
LastTenMessages[20] = message
end
end

function GetMessages()
if (NumberOfMessages == 0) then
return ""
else
TempString = ""
for i = 1, NumberOfMessages, 1 do
TempString = TempString.." "..LastTenMessages -- fixd
end
return TempString
end
end

function VH_OnUserLogin(nick)
SendMessageToUser(string.format("Последние 20 сообщений:\n")..GetMessages(), nick, botname)
return 1
end

function SendMessageToUser(data, nick, from)
result, err = VH:SendDataToUser("<"..from.."> "..data.."|", nick)
return 1
end

Где трабл, подскажите :confused:

Арендую VPS у королевского хостинга (http://kinghosting.ru) Работаю с трафиком RU, Adult.
O
На сайте с 11.01.2010
Offline
11
#1

В LUA нельзя конкатенировать типы строк и массивов, попробуйте так -


function GetMessages()
if (NumberOfMessages == 0) then
return false
else
TempString = ""
for i = 1, NumberOfMessages, 1 do
TempString = tostring(TempString).." "..tostring(LastTenMessages) -- fixd_2str
end
return TempString
end
end

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий