диалоговое окно - регулярные выражения...

Bene //

Участник
Автор темы
131
6
Версия MoonLoader
.026-beta
Всем привет. Нужно чтобы скрипт находил номер телефона который выдается мне. Уже все перепробовал, что делать?

ID диалогового окна - 3551.

Диалоговое окно:

sa-mp-102.png



Мой код:
Lua:
function sampev.onShowDialog(id, style, title, btn1, btn2, text)
    if id == 3551 and text:find("Вы купили сим-карту {FF8282}.*{F5DEB3} t. .*{ffffff} за {33aa33}18 ${ffffff}. Баланс пополнен на {D8A903}10 ${ffffff}.") then
        local strana, sim = text:match(Вы купили сим-карту {FF8282}(.*){F5DEB3} t. (.*){ffffff} за {33aa33}18 ${ffffff}. Баланс пополнен на {D8A903}10 ${ffffff}."
        sampAddChatMessage(strana.." - "..sim, -1)
    end
end
 
  • Эм
Реакции: qdIbp
Решение
Lua:
if text:find("Вы купили сим%-карту %{......%}(.+)%{......%} t%. (.+)%{......%} за %{......%}.+ %$%{......%}%. Баланс пополнен на %{......%}.+ %$%{......%}%.") then
    local country, sim = text:match("Вы купили сим%-карту %{......%}(.+)%{......%} t%. (.+)%{......%} за %{......%}.+ %$%{......%}%. Баланс пополнен на %{......%}.+ %$%{......%}%.")
    print(country, sim)
end

Dmitriy Makarov

25.05.2021
Проверенный
2,515
1,142
Lua:
if text:find("Вы купили сим%-карту %{......%}(.+)%{......%} t%. (.+)%{......%} за %{......%}.+ %$%{......%}%. Баланс пополнен на %{......%}.+ %$%{......%}%.") then
    local country, sim = text:match("Вы купили сим%-карту %{......%}(.+)%{......%} t%. (.+)%{......%} за %{......%}.+ %$%{......%}%. Баланс пополнен на %{......%}.+ %$%{......%}%.")
    print(country, sim)
end
 
  • Нравится
Реакции: Bene //, YarikVL и qdIbp

qdIbp

Автор темы
Проверенный
1,447
1,196
Всем привет. Нужно чтобы скрипт находил номер телефона который выдается мне. Уже все перепробовал, что делать?

ID диалогового окна - 3551.

Диалоговое окно:

Посмотреть вложение 181846


Мой код:
Lua:
function sampev.onShowDialog(id, style, title, btn1, btn2, text)
    if id == 3551 and text:find("Вы купили сим-карту {FF8282}.*{F5DEB3} t. .*{ffffff} за {33aa33}18 ${ffffff}. Баланс пополнен на {D8A903}10 ${ffffff}.") then
        local strana, sim = text:match(Вы купили сим-карту {FF8282}(.*){F5DEB3} t. (.*){ffffff} за {33aa33}18 ${ffffff}. Баланс пополнен на {D8A903}10 ${ffffff}."
        sampAddChatMessage(strana.." - "..sim, -1)
    end
end
Ну во первых ты не без кавычек на 3 строке, и без закрывающий функции скобки
Lua:
if text:find("Вы купили сим%-карту %{......%}(.+)%{......%} t%. (.+)%{......%} за %{......%}.+ %$%{......%}%. Баланс пополнен на %{......%}.+ %$%{......%}%.") then
    local country, sim = text:match("Вы купили сим%-карту %{......%}(.+)%{......%} t%. (.+)%{......%} за %{......%}.+ %$%{......%}%. Баланс пополнен на %{......%}.+ %$%{......%}%.")
    print(country, sim)
end
Можно же поступить проще, удалить нахрен эти hex, и все

Lua:
if text:gsub('%{......%}',''):find("Вы купили сим%-карту (.+) t%. (.+) за .+ %$%. Баланс пополнен на .+ %$%.")then
    local strana, sim = text:gsub('%{......%}',''):match("Вы купили сим%-карту (.+) t%. (.+) за .+ %$%. Баланс пополнен на .+ %$%.")
    sampAddChatMessage(strana.." - "..sim, -1)
end
 
  • Нравится
Реакции: Bene // и Dmitriy Makarov