Lua [SRP] Ловля номера телефона

Piratekapitan

Известный
Автор темы
59
17
Не нашел нужный скрипт решил на коленке написать самостоятельно.

Использование:
  1. Закинуть скрипт в папку moonloader
  2. Ввести команду "/simhunt"
  3. Зайти в 24/7 и открыть диалог (если не начал работать, то по открывайте/закрывайте диалог с какого то раза должен заработать
  4. Ловит по трем паттернам: XXXXXX, XYXYXY, XXXYYY
  5. Деактивация автоматическая
Если отличайте байт от бита, то добавите свои паттерн достаточно легко, код снизу.

main:
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    local textPattern = "мобильного "
    local textChat, isDialogActive, flag, idDialog
    flag = false
    sampRegisterChatCommand('simhunt', function()
        flag = not flag
        print("activated/deactivate simhunt", flag)
    end)
    while true do
        wait(100)
        while flag do 
            wait(200)     
            isDialogActive = sampIsDialogActive()
            if isDialogActive then
                idDialog = sampGetCurrentDialogId()
                sampSendDialogResponse(idDialog, 1, 2, nil)
                wait(500)
                textChat, prefix, color, pcolor = sampGetChatString(98);
                if textChat:find(textPattern) ~= nil then
                    if stringFindSim(textChat) then
                        flag = false
                        sampAddChatMessage('STOPED', 0xFFFFFF)
                    else
                        sampAddChatMessage('CONT', 0xFFFFFF)
                    end               
                end
            end
        end
    end
end

function stringFindSim(textChat)
    local SIM = textChat:sub(29)
    local len = SIM:len()
    if patternXXXXXX(SIM, len) then
        sampAddChatMessage('XXXXXX', 0xFFFFFF)
        return true
    elseif patternXYXYXY(SIM, len) then
        sampAddChatMessage('XYXYXY', 0xFFFFFF)
        return true
    elseif patternXXXYYY(SIM, len) then
        sampAddChatMessage('XXXYYY', 0xFFFFFF)
        return true
    end
    return false
end

function patternXXXXXX(SIM, len)
    local X = SIM:byte(1)
    for i = 2, len do
        print("i", i)
        if X ~= SIM:byte(i) then
            return false
        end
    end
    return true
end

function patternXYXYXY(SIM, len)
    X = SIM:byte(1)
    Y = SIM:byte(2)
    for i = 3, len do
        if i % 2 ~= 0 and X ~= SIM:byte(i) then
            return false
        elseif i%2 ~= 1 and Y ~= SIM:byte(i) then
            return false
        end
    end
    return true
end

function patternXXXYYY(SIM, len)
    X = SIM:byte(1)
    Y = SIM:byte(4)
    for i = 2, len do
        if i < 4 and X ~= SIM:byte(i) then
            return false
        elseif i > 4 and Y ~= SIM: byte(i) then
            return false
        end
    end
    return true
end
 

Вложения

  • phoneNumberHunter.lua
    2.4 KB · Просмотры: 93