не работает скрипт

.....

Новичок
Автор темы
23
0
Версия MoonLoader
Другое
Хелп плиз, работал скрипт и перестал.
Загружается, но когда запускаю пишет в консоль такое:

сампфункс:
[ML] (exception) Role_Play_Binder.lua: CJSON: Expected value but found invalid token at character 1
[ML] (error) Role_Play_Binder.lua: ...RIZONA GAMES\bin\Arizona\moonloader\Role_Play_Binder.lua:1583: attempt to index local 't' (a nil value)
stack traceback:
    ...RIZONA GAMES\bin\Arizona\moonloader\Role_Play_Binder.lua: in function 'resolve'
    ...RIZONA GAMES\bin\Arizona\moonloader\Role_Play_Binder.lua:1448: in function 'threadHandle'
    ...RIZONA GAMES\bin\Arizona\moonloader\Role_Play_Binder.lua:1473: in function <...RIZONA GAMES\bin\Arizona\moonloader\Role_Play_Binder.lua:1472>
[ML] (error) Role_Play_Binder.lua: Script died due to an error. (130B58E4)
Вот скрочки с скрипта

С 1438 по 1593:
function threadHandle(runner, url, args, resolve, reject) -- обработка effil потока без блокировок
    local t = runner(url, args)
    local r = t:get(0)
    while not r do
        r = t:get(0)
        wait(0)
    end
    local status = t:status()
    if status == 'completed' then
        local ok, result = r[1], r[2]
        if ok then resolve(result) else reject(result) end
    elseif err then
        reject(err)
    elseif status == 'canceled' then
        reject(status)
    end
    t:cancel(0)
end

function requestRunner() -- создание effil потока с функцией https запроса
    return effil.thread(function(u, a)
        local https = require 'ssl.https'
        local ok, result = pcall(https.request, u, a)
        if ok then
            return {true, result}
        else
            return {false, result}
        end
    end)
end

function async_http_request(url, args, resolve, reject)
    local runner = requestRunner()
    if not reject then reject = function() end end
    lua_thread.create(function()
        threadHandle(runner, url, args, resolve, reject)
    end)
end

local vkerr, vkerrsend -- сообщение с текстом ошибки, nil если все ок

function loop_async_http_request(url, args, reject)
    local runner = requestRunner()
    if not reject then reject = function() end end
    lua_thread.create(function()
        while true do
            while not key do wait(0) end
            url = server .. '?act=a_check&key=' .. key .. '&ts=' .. ts .. '&wait=25' --меняем url каждый новый запрос потокa, так как server/key/ts могут изменяться
            threadHandle(runner, url, args, longpollResolve, reject)
        end
    end)
end

function longpollResolve(result)
    if result then
        if debugMode then
            print(result)
        end
        if not result:sub(1,1) == '{' then
            vkerr = 'Ошибка!\nПричина: Нет соединения с VK!'
            return
        end
        
        local t = decodeJson(result)
        if t.failed then
            if t.failed == 1 then
                ts = t.ts
            else
                key = nil
                longpollGetKey()
            end
            return
        end
        if t.ts then
            ts = t.ts
        end
        if recvBuf.v and t.updates then
            for k, v in ipairs(t.updates) do
                if v.type == 'message_new' and tonumber(v.object.from_id) == tonumber(idBuf.v) and v.object.text then
                    if v.object.payload then
                        
                        local pl = decodeJson(v.object.payload)
                        if pl.button then
                            if pl.button == 'help' then
                                sendHelp()
                            elseif pl.button == 'status' then
                                sendStatus()
                            end
                        end
                        return
                    end
                    local text = v.object.text .. ' ' --костыль на случай если одна команда является подстрокой другой (!d и !dc как пример)
                    if text:match('^' .. toCmd.v .. '%s-%d+%s') then
                        if accId == tonumber(text:match('^' .. toCmd.v .. '%s-(%d+)%s')) then
                            text = text:gsub(text:match('^' .. toCmd.v .. '%s-%d+%s*'), '')
                        else
                            return
                        end
                    end
                    if text:match('^' .. status.v) then
                        sendStatus()
                    elseif text:match('^' .. diaAccept.v .. ' ') then
                        text = text:sub(1, text:len() - 1)
                        local style = sampGetCurrentDialogType()
                        if style == 2 or style > 3 then
                            sampSendDialogResponse(sampGetCurrentDialogId(), 1, tonumber(u8:decode(text:match('^' .. diaAccept.v .. ' (%d*)'))) - 1, -1)
                        elseif style == 1 or style == 3 then
                            sampSendDialogResponse(sampGetCurrentDialogId(), 1, -1, u8:decode(text:match('^' .. diaAccept.v .. ' (.*)')))
                        else
                            sampSendDialogResponse(sampGetCurrentDialogId(), 1, -1, -1)
                        end
                        closeDialog()
                    elseif text:match('^' .. diaDecline.v .. ' ') then
                        sampSendDialogResponse(sampGetCurrentDialogId(), 0, -1, -1)
                        closeDialog()
                    else
                        text = text:sub(1, text:len() - 1)
                        sampProcessChatInput(u8:decode(text))
                    end
                end
            end
        end
    end
end

function getId()
    local ip, port = sampGetCurrentServerAddress()
    local nick = getMyName()
    local server_name = sampGetCurrentServerName()
    return server_name.."\n"..nick .."\n"
end

function longpollGetKey()
    async_http_request('https://api.vk.com/method/groups.getLongPollServer?group_id=' .. ini.main.group .. '&access_token=' .. ini.main.token .. '&v=5.80', '', function (result)
        if result then
            if debugMode then
                print(result)
            end
            if not result:sub(1,1) == '{' then
                vkerr = 'Ошибка!\nПричина: Нет соединения с VK!'
                return
            end
            
            
            local t = decodeJson(result)
            if t.error then
                vkerr = 'Ошибка!\nКод: ' .. t.error.error_code .. ' Причина: ' .. t.error.error_msg
                return
            end
            server = t.response.server
            ts = t.response.ts
            key = t.response.key
            vkerr = nil
        end
    end)
end