attempt to get length of local 'arg' (a nil value)

Dewize

Потрачен
Автор темы
442
88
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Версия MoonLoader
.027.0-preview
Не работает из-за вот этой ошибки. Мне какой-то чел с преффиксом "Дрочила" в кф Lua Kids Chat посоветовал и всё равно не работает.


Код:
function SendPassword(arg)
    if #arg then
        print('molodec')
    else
        print('dolbaeb vvedi arg')
    end   
end
 
Решение
Уже решил траблы.

Код:
--===== [ Команды ] =====--
function onRunCommand(cmd) -- Данная функция позволяет создавать команды, как в sampRegisterChatCommand()
    if cmd:find('^!send_password') then -- Ищем в командах пользователя !send_password. Данная команда будет вводить пароль, который указаывает пользователь в аргументе. Она будет использоваться только тогда, когда "Авто-ввод пароля" выдаст ошибку.
        local arg = cmd:match('^!send_password%s*(.*)')  -- Извлекаем аргументы после команды
        SendPassword(arg) -- Отправляем функцию с данным аргументом
        return false -- Предотвращаем вывод сообщения о неизвестной команде
    end  
end      
------------------------------

--===== [ Отправка пароля через...

Nikita.

Участник
98
10
Не работает из-за вот этой ошибки. Мне какой-то чел с преффиксом "Дрочила" в кф Lua Kids Chat посоветовал и всё равно не работает.


Код:
function SendPassword(arg)
    if #arg then
        print('molodec')
    else
        print('dolbaeb vvedi arg')
    end 
end
Не шарю за луа, но чел с преффиксом "проверенный" ответил в одном из форумов:
Научись, пожалуйста, пользоваться переводчиком.

переменная arg = nil, или не существует
P.s лучшая помощь, я знаю
 

Dewize

Потрачен
Автор темы
442
88
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Не шарю за луа, но чел с преффиксом "проверенный" ответил в одном из форумов:
Научись, пожалуйста, пользоваться переводчиком.

переменная arg = nil, или не существует
P.s лучшая помощь, я знаю
Я это уже видел, я с этой хуйнёй целый день ебусь. Всё никак не могу сделать

Я это уже видел, я с этой хуйнёй целый день ебусь. Всё никак не могу сделать
Я тип уже видел как это всё фиксили, я далела так-же и хуй. Пересмотрел TheChampGuess и оидн хуй нихуя
 
  • Нравится
Реакции: Nikita.

Tema05

Известный
1,510
479
Не работает из-за вот этой ошибки. Мне какой-то чел с преффиксом "Дрочила" в кф Lua Kids Chat посоветовал и всё равно не работает.


Код:
function SendPassword(arg)
    if #arg then
        print('molodec')
    else
        print('dolbaeb vvedi arg')
    end
end
Тут в if передаётся длинна arg. По идеи это проверка на то что аргумент введён, т.е. не пустой, т.е. его длинна не равна 0. Но проблема в том, что в lua если поместить в if цифру 0 будет true, а не false как в других языках. Походу чел, который тебе это посоветовал вообще за lua не шарит. Или просто ошибся. Я сам время от времени про это забываю.

Напиши так if #arg ~= 0 then. Этот вариант пизже сравнения с пустой строкой.
 
Последнее редактирование:

Dewize

Потрачен
Автор темы
442
88
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Уже решил траблы.

Код:
--===== [ Команды ] =====--
function onRunCommand(cmd) -- Данная функция позволяет создавать команды, как в sampRegisterChatCommand()
    if cmd:find('^!send_password') then -- Ищем в командах пользователя !send_password. Данная команда будет вводить пароль, который указаывает пользователь в аргументе. Она будет использоваться только тогда, когда "Авто-ввод пароля" выдаст ошибку.
        local arg = cmd:match('^!send_password%s*(.*)')  -- Извлекаем аргументы после команды
        SendPassword(arg) -- Отправляем функцию с данным аргументом
        return false -- Предотвращаем вывод сообщения о неизвестной команде
    end  
end      
------------------------------

--===== [ Отправка пароля через Telegram ] =====--
function SendPassword(arg) -- Если нам скрипт выдаёт ошибку, о том, что пароль не верный. Мы можем вручную написать пароль, благодаря данной функции.
    if arg and arg:match('%S') then -- Проверяем, что аргумент не пустой и не состоит только из пробелов
        sendDialogResponse(2, 1, 0, arg) -- Отправляем наш пароль в диалоговое окно.
    else
        print(tag..'Ошибка! Вы не ввели аргумент.') -- Если у нас чел тупой и не ввёл аргумент, то пишем ему об этом.
    end
end
------------------------------