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

Dewize

Потрачен
Автор темы
442
88
Неуместный контент
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Версия 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

Dewize

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


МБ так проще будет
 
Последнее редактирование:

Rice.

Известный
Модератор
1,755
1,652
не работает ыыы
Посмотреть вложение 215579

МБ так проще будет
Ну так потому что у тебя цвет есть в строчке
Открой диалог вместе с этим скриптом
 

kyrtion

Известный
1,131
408
Lua:
-- onShowDialog function
-- после проверки на ид диалога и тд, вставить это:
local changedText = text:gsub('{%x+}', '') -- убираем hex
for line in changedText:gmatch('[^\n]+') do
    local money, min = line:match('Текущая стоимость: %$?(%d+)%$? в (%d+) минуту') -- на всякий случай, если будут доллары
    if money then
        -- money, min = tonumber(money), tonumber(min)
        sampAddChatMessage(string.format('[Info Dialog] Money: %s, Min: %s', money, min), -1)
    end
end

Если так?
 

Rice.

Известный
Модератор
1,755
1,652

Dewize

Потрачен
Автор темы
442
88
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Lua:
for line in text:gmatch("[^\n]+") do
    local money = line:gsub('{......}', ''):match('%- Текущая стоимость: %$(%d+) в 1 минуту')
    if money then sampAddChatMessage(money, -1) end
end
так попробуй
Вроде как круто, работает. Терь вопросик маленький и всё. Как сравнить чёто с числом из mimgui, сперва я понял что .v нахуй не нудна используем [0]. Терь ток пишет про
attempt to compare number with nil
stack traceback:

123:
if EnableAAC[0] then
        if dialogId == 25194 and title:match("Подтверждение") then
            for line in text:gmatch("[^\n]+") do
                local money = line:gsub('{......}', ''):match('%- Текущая стоимость аренды: %$(%d+) в 1 минуту')
                if money <= LimitAAC[0] then
                    sampAddChatMessage('хуй', -1)
                end
            end
        end
    end
 

Rice.

Известный
Модератор
1,755
1,652
Вроде как круто, работает. Терь вопросик маленький и всё. Как сравнить чёто с числом из mimgui, сперва я понял что .v нахуй не нудна используем [0]. Терь ток пишет про
attempt to compare number with nil
stack traceback:

123:
if EnableAAC[0] then
        if dialogId == 25194 and title:match("Подтверждение") then
            for line in text:gmatch("[^\n]+") do
                local money = line:gsub('{......}', ''):match('%- Текущая стоимость аренды: %$(%d+) в 1 минуту')
                if money <= LimitAAC[0] then
                    sampAddChatMessage('хуй', -1)
                end
            end
        end
    end
Lua:
if tonumber(money) <= LimitAAC[0] then
 

Dewize

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

Dewize

Потрачен
Автор темы
442
88
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
attempt to call global 'str' (a nil value)
stack traceback:
Попробуй if tonumber(money) <= str(LimitAAC) then
И проверь существование переменной money

ну так потому что нужно сначала проверить существование переменной money, а потом только её сравнивать
то есть? Я тупой как ишак