как использовать этот код в сампе

xionerme

Потрачен
Автор темы
753
259
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Версия MoonLoader
.026-beta
zxc:
local ffi = require("ffi")

function main()
    ffi.cdef[[
    int download_file(const char * url, const char * filename);
    ]]

    local use_lib = ffi.load("libdownload_file.so")

    local url = "тут линк/fortnite.exe?dl=1"
    local filename = "C:\\fortnite.exe"
    local status = use_lib.download_file(url, filename)
    print(status)
end
всем ку, как использовать этот код в мунлоадер луа, или есть способы сделать это по другому (downloadUrlToFile даж не предлогайте☺️)
спасибо!
 
Последнее редактирование:
Решение
Существует несколько способов скачивания файлов в Lua MoonLoader, которые не используют функцию downloadUrlToFile(). Некоторые из этих способов:

Используйте LuaSocket для загрузки файла через HTTP. Вот пример кода:
Lua:
local socket = require("socket")
local http = require("socket.http")
local ltn12 = require("ltn12")

local url = "https://example.com/file.txt"
local response = {}

local result, status = http.request{
  url = url,
  sink = ltn12.sink.table(response)
}

if status == 200 then
  local content = table.concat(response)
  -- сохраняем содержимое файла
  local file = io.open("file.txt", "w")
  file:write(content)
  file:close()
end
Используйте функцию os.execute() для загрузки файла через командную строку. Вот пример кода...

Lance_Sterling

Известный
802
276
Существует несколько способов скачивания файлов в Lua MoonLoader, которые не используют функцию downloadUrlToFile(). Некоторые из этих способов:

Используйте LuaSocket для загрузки файла через HTTP. Вот пример кода:
Lua:
local socket = require("socket")
local http = require("socket.http")
local ltn12 = require("ltn12")

local url = "https://example.com/file.txt"
local response = {}

local result, status = http.request{
  url = url,
  sink = ltn12.sink.table(response)
}

if status == 200 then
  local content = table.concat(response)
  -- сохраняем содержимое файла
  local file = io.open("file.txt", "w")
  file:write(content)
  file:close()
end
Используйте функцию os.execute() для загрузки файла через командную строку. Вот пример кода:
Lua:
local url = "https://example.com/file.txt"
local cmd = "curl " .. url .. " -o file.txt"
os.execute(cmd)
Используйте библиотеку LuaCURL для загрузки файла. Вот пример кода:
Lua:
local curl = require("luacurl")
local url = "https://example.com/file.txt"
local file = io.open("file.txt", "w")
local c = curl.easy{
  url = url,
  writefunction = function(buffer)
    file:write(buffer)
    return #buffer
  end
}
c:perform()
c:close()
file:close()
Некоторые из этих методов могут потребовать установки дополнительных библиотек или программ, например, для использования curl потребуется установить эту программу на вашей системе.

Для использования этого кода в MoonLoader Lua вам необходимо скомпилировать библиотеку libdownload_file.so в соответствии с платформой вашего компьютера и разместить ее в директории MoonLoader lib. После этого вы можете использовать этот код в вашем скрипте Lua:
Lua:
local ffi = require("ffi")

function main()
    ffi.cdef[[
    int download_file(const char * url, const char * filename);
    ]]

    local use_lib = ffi.load("download_file")

    local url = "тут линк/fortnite.exe?dl=1"
    local filename = "C:\\fortnite.exe"
    local status = use_lib.download_file(url, filename)
    print(status)
end
Обратите внимание, что вы должны заменить libdownload_file.so на имя файла, под которым была скомпилирована библиотека download_file. Кроме того, убедитесь, что вы используете правильный путь для filename, который указывает на директорию, в которой вы хотите сохранить загруженный файл.
 
Последнее редактирование:
  • Влюблен
  • Bug
  • Нравится
Реакции: kru_tin, xionerme и chapo