Асинхронные запросы

xanndiane

Известный
Автор темы
509
150
Версия MoonLoader
.026-beta
Когда работаю с запросами по данному туториалу вылазит такая ошибочка...
Помогите или подскажите другие способы пожалуйста!
1703251616192.png

Работаю с этим кодом(То что лютейше говна наложил знаю но это не важно ведь в данном случае)
lua:
local lanes = require('lanes').configure()

function main()
    sampRegisterChatCommand('request', req)
    wait(0)
end

function req(text)
    request('POST', 'http://127.0.0.1:5000',nil)
    sampAddChatMessage("request: " .. text,-1)
end

function request(method, url, args)
    if not _G['lanes.async_http'] then
        local linda = lanes.linda()
        local lane_gen = lanes.gen('*', {package = {path = package.path, cpath = package.cpath}}, function()
            local requests = require 'requests'
            while true do
                local key, val = linda:receive(50 / 1000, 'request')
                if key == 'request' then
                    local ok, result = pcall(requests.request, val.method, val.url, val.args)
                    if ok then
                        result.json, result.xml = nil, nil
                        linda:send('response', result)
                    else
                        linda:send('error', result)
                    end
                end
            end
        end)
        _G['lanes.async_http'] = {lane = lane_gen(), linda = linda}
    end
    local lanes_http = _G['lanes.async_http']
    lanes_http.linda:send('request', {method = method, url = url, args = args})
    lua_thread.create(function(linda)
        while true do
            local key, val = linda:receive(0, 'response', 'error')
            if key == 'response' then
                -- return resolve(val)
            elseif key == 'error' then
                -- return reject(val)
            end
            wait(0)
        end
    end, lanes_http.linda)
end

Возможно просто я тупой и чето не дочитал... Не бейте палками
 

Fott

Простреленный
3,461
2,378
Проблема после создания потока
[ML] (error) LongChat — êîïèÿ.lua: error loading module 'lub.Autoload' from file 'D:\GTA 140K BY DAPO SHOW\moonloader\lib\lub\Autoload.lua':
D:\GTA 140K BY DAPO SHOW\moonloader\lib\lub\Autoload.lua:1: unexpected symbol near '<'
stack traceback:
[C]: in function '__index'
D:\GTA 140K BY DAPO SHOW\moonloader\LongChat — êîïèÿ.lua:43: in function <D:\GTA 140K BY DAPO SHOW\moonloader\LongChat — êîïèÿ.lua:34>
[ML] (error) LongChat — êîïèÿ.lua: Script died due to an error. (0B9BF40C)
1. У тебя ошибка в файле который в \lib\lub\autoload
2. Ошибка у тебя ибо ты впихнул ненужный символ <
 

UBP

Известный
350
204
Ничего я не пихал. Скопировал твой код и вставил.
code:
local lanes = require('lanes').configure() -- в начало скрипта, конечно же


local encoding = require 'encoding'
encoding.default = 'CP1251'
local u8 = encoding.UTF8

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    Request()
end
function Request()
    sequent_async_http_request('POST', 'https://api.openai.com/v1/chat/completions', {},
    function(response)
        local result = decodeJson(response.text)
        if response.status_code == 200 then
            print(response.text)
        end
    end,
    function(err)
       print(err)
    end)
end
function sequent_async_http_request(method, url, args, resolve, reject)
    if not _G['lanes.async_http'] then
        local linda = lanes.linda()
        local lane_gen = lanes.gen('*', {package = {path = package.path, cpath = package.cpath}}, function()
            local requests = require 'requests'
            while true do
                local key, val = linda:receive(50 / 1000, 'request')
                if key == 'request' then
                    local ok, result = pcall(requests.request, val.method, val.url, val.args)
                    if ok then
                        result.json, result.xml = nil, nil
                        linda:send('response', result)
                    else
                        linda:send('error', result)
                    end
                end
            end
        end)
        _G['lanes.async_http'] = {lane = lane_gen(), linda = linda}
    end
    local lanes_http = _G['lanes.async_http']
    lanes_http.linda:send('request', {method = method, url = url, args = args})
    lua_thread.create(function(linda)
        while true do
            local key, val = linda:receive(0, 'response', 'error')
            if key == 'response' then
                return resolve(val)
            elseif key == 'error' then
                return reject(val)
            end
            wait(0)
        end
    end, lanes_http.linda)
end

lua-requests
lanes
 

xanndiane

Известный
Автор темы
509
150
У тебя скрипт как библиотека идет? или хуле он забыл в папке moonloader/lib
Бля вы рофланеры походу.
D:\GTA 140K BY DAPO SHOW\moonloader\LongChat — êîïèÿ.lua
Скрипт
'D:\GTA 140K BY DAPO SHOW\moonloader\lib\lub\Autoload.lua':
библия
 
  • Клоун
Реакции: Fott