Как проверить есть ли в raw файле на гите серийный ключ жёсткого диска?

Nelit

Потрачен
Автор темы
252
39
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Версия MoonLoader
.026-beta
Как проверить есть ли в raw файле на гите серийный ключ жёсткого диска? У меня есть такой код от имринга, но он сверяет ник игрока и дату до какой будет работать скрипт. Вот он
CODE BY IMRING:
url = 'https://raw.githubusercontent.com/BlastHacker/auto-update/main/users.txt' -- Ссылка на файл с юзерами

function getTableUsersByUrl(url)
    local n_file, bool, users = os.getenv('TEMP')..os.time(), false, {}
    downloadUrlToFile(url, n_file, function(id, status)
        if status == 6 then bool = true end
    end)
    while not doesFileExist(n_file) do wait(0) end
    if bool then
        local file = io.open(n_file, 'r')
        for w in file:lines() do
            local n, d = w:match('(.*): (.*)')
            users[#users+1] = { name = n, date = d }
        end
        file:close()
        os.remove(n_file)
    end
    return bool, users
end

function isAvailableUser(users, name)
    for i, k in pairs(users) do
        if k.name == name then
            local d, m, y = k.date:match('(%d+)%.(%d+)%.(%d+)')
            local time = {
                day = tonumber(d),
                isdst = true,
                wday = 0,
                yday = 0,
                year = tonumber(y),
                month = tonumber(m),
                hour = 0
            }
            if os.time(time) >= os.time() then return true end
        end
    end
    return false
end

function main()
    while not isSampAvailable() do wait(0) end

    while sampGetCurrentServerName() == 'SA-MP' do wait(0) end
    local bool, users = getTableUsersByUrl(url)
    assert(bool, '{FFFFFF}Произошла {FF0000}критическая {FFFFFF}ошибка при загрузке юзеров')
    local _, myid = sampGetPlayerIdByCharHandle(playerPed)
    assert(isAvailableUser(users, sampGetPlayerNickname(myid)), '{FFFFFF}Срок годности лицензии {FF0000}истёк {FFFFFF}или скрипт не был {32CD32}приобретён')

    sampAddChatMessage('Скрипт {32CD32}успешно {FFFFFF}запущен', -1)

    while true do
        wait(0)

    end
end

А вот мой код
CODE BY NELIT:
script_name('License-Test')
script_author('Nelit')
function getHarddiskSerial()
    local handle = io.popen('wmic diskdrive get serialnumber')
    local result = handle:read("*a")
    local serial = result:match('SerialNumber%s+(%d+)')
    handle:close()
    return serial
end
function main()
    repeat wait(0) until isSampAvailable()
    sampAddChatMessage('Скрипт запущен', -1)
    sampAddChatMessage('Ваш ключ - '.. getHarddiskSerial(), -1)
end
[CENTER]

Как мне сверить тот ключ что находится в getHarddiskSerial() с файликом на гите, есть ли он там. Запись файлика должна быть такая:
Серийный номер: дата по какую работает

Пример:
228333: 16.04.2022​
 
  • Нравится
Реакции: danywa

Nelit

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

Nelit

Потрачен
Автор темы
252
39
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
В isAvailableUser в name вместо sampGetPlayerNickname(myid) передавать getHarddiskSerial()
Будет ли нормально работать это? Тип всё правильно сделал? Я затестил, через раз как то. Мб плохо чекал. Глянь, норм ли?
Скрытое содержимое для пользователя(ей):