Всё плохо с регулярными выражениями

Dewize

Известный
Автор темы
438
89
Неуместный контент
Версия MoonLoader
.027.0-preview
У меня всё плохо с регулярными выражениями, по этому вопрос таков.


Есть код

123:
for line in text:gmatch("[^\n]+") do
        if line:find('- Текущая стоимость: [$(%d+)%] в 1 минуту') then
            money = line:match('- Текущая стоимость: [$(%d+)%] в 1 минуту ')
            sampAddChatMessage(money, -1)
        end
    end

Но чёт нихуя не работает.

- Текущая стоимость: $0 в 1 минуту
Вот строка, захукать надо стоимость
 
Последнее редактирование модератором:
Решение
а понял чёта. ну так а как присвоить окончательное значение для переменной?
Lua:
for line in text:gmatch("[^\n]+") do
    local money = line:match('%- Текущая стоимость: %$(%d+) в 1 минуту')
    if money and tonumber(money) <= ТВОЙИНПУТ[0] then
        sampAddChatMessage(money, -1)
    end
end

Rice.

Известный
Модератор
1,703
1,470
attempt to call global 'str' (a nil value)
stack traceback:



то есть? Я тупой как ишак
1695220749688.png

ну так у тебя нету проверки на существование переменной, ты только сравниваешь её
у тебя не на каждой строчки в диалоге money получается, поэтому у тебя происходит сравнение nil с цифрой
 

Dewize

Известный
Автор темы
438
89
Посмотреть вложение 215592
ну так у тебя нету проверки на существование переменной, ты только сравниваешь её
у тебя не на каждой строчки в диалоге money получается, поэтому у тебя происходит сравнение nil с цифрой
а понял чёта. ну так а как присвоить окончательное значение для переменной?
 

Rice.

Известный
Модератор
1,703
1,470
а понял чёта. ну так а как присвоить окончательное значение для переменной?
Lua:
for line in text:gmatch("[^\n]+") do
    local money = line:match('%- Текущая стоимость: %$(%d+) в 1 минуту')
    if money and tonumber(money) <= ТВОЙИНПУТ[0] then
        sampAddChatMessage(money, -1)
    end
end
 
  • Нравится
Реакции: Dewize