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

Дмитрий Кондаков

Новичок
Автор темы
15
1
Вообщем, решил сделать скрипт, для Trinity RP. Он заменяет стандартное сообщение, например: "Ivan_Ivanov сказал: Текст" на "- Ivan_Ivanov[1] говорит: Текст.
Скопировал код с инета, дописал недостающий текст, но при заходе в игру в консоли выдаёт ошибку:
attempt to index global 'text' (a nil value)
stack traceback:
in main chunk
Помогите решить проблему, вот код скрипта:

local sampev = require 'lib.samp.events'
function sampev.onServerMessage(color, text)
return {"Текст"}
end
local nick, id, message = text:match("%- ({.-}.+)%[(%d+)%]{.-}: (.+)")
if nick and id and message then
return {string.format("- %s[%d]{ffffff} говорит: %s", nick, id, message)}
end
 

Дмитрий Кондаков

Новичок
Автор темы
15
1
Lua:
function main()
    repeat wait(0) until isSampAvailable()

    sampRegisterChatCommand('chatformat', toggleChatFormat)
end

local isCustomFormatEnabled = false

function toggleChatFormat()
    isCustomFormatEnabled = not isCustomFormatEnabled
    sampAddChatMessage(isCustomFormatEnabled and "Формат чата изменён." or "Формат чата отключён.", -1)
end

function onServerMessage(color, text)
    if isCustomFormatEnabled then
        local newText = text:gsub("^(%S+_%S+)%sсказал:%s(.+)", "- %1 говорит: %2")
        if newText ~= text then
            return false, color, newText
        end
    end
end
Команда /chatformat включает/выключает
script terminated