Помощь

alex.morozov

Участник
Автор темы
103
9
Версия MoonLoader
Другое
Знатки луа, помогите пожалуйста у меня тут функция, но когда пытаюсь ее использовать то выдает ошибку:
attempt to compare nit with number

Вот код:
Lua:
for k,v in ipairs(my_captcha) do
        if msg:find("%[A%] "..v.."%[(%d+)%]: бот моя капча (%d+)") then
        at, admin_nick, admin_id, item = msg:match("%[A%] (.+)%[(%d+)%]: бот моя капча (%d+)")
        if tonumber(item) < 2003 then
            if admin_nick == v then
                startMyCaptcha(item)
                openUrl(AnsiToUtf8(link..' Администратор '..admin_nick..'['..admin_id..'] запустил рандомную капчу на предмет №'..item..'.'))
            end
        else
            sendInput('/a Предмета №'..item..' не существует, возможно вы допустили ошибку.')
        end
    end
 

YarikVL

Известный
Проверенный
4,750
1,815
Знатки луа, помогите пожалуйста у меня тут функция, но когда пытаюсь ее использовать то выдает ошибку:
attempt to compare nit with number
Для этого есть переводчик, ты пытаешься сравнить значение пустой переменной с переменной, которая имеет числовое значение
Вот код:
Lua:
for k,v in ipairs(my_captcha) do
        if msg:find("%[A%] "..v.."%[(%d+)%]: бот моя капча (%d+)") then
        at, admin_nick, admin_id, item = msg:match("%[A%] (.+)%[(%d+)%]: бот моя капча (%d+)")
        if tonumber(item) < 2003 then
            if admin_nick == v then
                startMyCaptcha(item)
                openUrl(AnsiToUtf8(link..' Администратор '..admin_nick..'['..admin_id..'] запустил рандомную капчу на предмет №'..item..'.'))
            end
        else
            sendInput('/a Предмета №'..item..' не существует, возможно вы допустили ошибку.')
        end
    end
В логе должна ещё строка писаться, которая вызывает твою ошибку выше.
Но я думаю это из-за 5 строки, возможно admin_nick у тебя пустая переменная ( попробуй её и переменную v вывести, например через print, только припиши вывод до условия ) и посмотри не будет ли ошибок и что выводит
 

Quasper

Известный
835
354
Для этого есть переводчик, ты пытаешься сравнить значение пустой переменной с переменной, которая имеет числовое значение

В логе должна ещё строка писаться, которая вызывает твою ошибку выше.
Но я думаю это из-за 5 строки, возможно admin_nick у тебя пустая переменная ( попробуй её и переменную v вывести, например через print, только припиши вывод до условия ) и посмотри не будет ли ошибок и что выводит
ну судя по регулярке у него в переменную admin_nick как раз и присваивается число
 

kizn

\ 0 _ 0 /
Всефорумный модератор
2,407
2,108
гении луа собрались
WITH NUMBER => указывают на строчку где идет сравнение двух строк

ошибка в 4 строке, потому что в твоей регулярке всего 3 сейвящихся значения (которые обернуты скобками), а ты пытаешься определить четыре переменные, последняя из которых - item - всегда будет nil