Ошибка,attempt to index global 'thread' (a nil value) stack traceback:

Статус
В этой теме нельзя размещать новые ответы.

EndoHokage

Активный
Автор темы
136
55
attempt to index global 'thread' (a nil value)
stack traceback:

вот код
Код:
script_name('FastMakeGun')
script_author('Endo')
script_description('Fast create a gun')


require "lib.moonloader"


local main_color = 0x06DFFF
local id = sampGetCurrentDialogId()

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampAddChatMessage("Script FastMakeGun for Grand RP loaded", main_color)
    sampAddChatMessage(id)
    sampRegisterChatCommand("gd", cmd_gd); wait(-1)
    sampRegisterChatCommand("gm", cmd_gm)
    sampRegisterChatCommand("ogd", cmd_ogd)
    sampRegisterChatCommand("ogm", cmd_ogm)
    thread = lua_thread.create_suspended(All_Thread)
end



function cmd_gd(arg) --Дигл
thread:run("gd", arg )
    --if arg == "" then
        --sampAddChatMessage("Введите количество патронов", 0xFFFFFF)
--    else
    --sampSendChat("/makegun")
    --sampSendDialogResponse(888, 1, 1, '')
    --sampSendDialogResponse(889, 1, '', arg)
end



function cmd_gm(arg) --М4
    if arg == "" then
        sampAddChatMessage("Введите количество патронов", 0xFFFFFF)
    else
        sampSendChat("/makegun")
        sampSendDialogResponse(888, 1, 4, _)
        --sampSendDialogResponse(889, _, _, arg)
    end
end


function All_Thread(option, arg)
    if option == "gd" then
        if arg == "" then
            sampAddChatMessage("Введите количество патронов", 0xFFFFFF)
        else
            sampSendChat("/makegun")
            sampSendDialogResponse(888, 1, 1, '')
            wait(250)
            sampSendDialogResponse(889, '', '', arg)
            wait(500)
          SampCloseCurrentDialogWithButton(1)
        end
    end
end


--function cmd_ogd(arg) -- /o Дигл
    --if arg == "" then
        --sampAddChatMessage("Введите количество патронов", 0xFFFFFF)
    --else
        --sampSendChat("/makegun")
        --sampSendDialogResponse(888, 1, 4, _)
        --sampSendDialogResponse(889, _, _, arg)
    --end
--end




--function cmd_ogm(arg) -- /o М4
    --if arg == "" then
        --sampAddChatMessage("Введите количество патронов", 0xFFFFFF)
    --else
        --sampSendChat("/makegun")
        --sampSendDialogResponse(888, 1, 4, _)
        --sampSendDialogResponse(889, _, _, arg)
    --end
--end
[09:29:39.738490] (system) Session started.
[09:29:39.739492] (debug) Module handle: 71630000

MoonLoader v.026.5-beta loaded.
Developers: FYP, hnnssy, EvgeN 1137

Copyright (c) 2016, BlastHack Team
https://www.blast.hk/moonloader/

[09:29:39.739492] (info) Working directory: D:\Lua\mvximio gtaa\moonloader
[09:29:39.739492] (debug) FP Control: 0009001F
[09:29:39.739492] (debug) Game: GTA SA 1.0.0.0 US
[09:29:39.739492] (system) Installing pre-game hooks...
[09:29:39.741491] (system) Hooks installed.
[09:29:40.119822] (debug) Initializing opcode handler table
[09:29:40.119822] (debug) package.path = D:\Lua\mvximio gtaa\moonloader\lib\?.lua;D:\Lua\mvximio gtaa\moonloader\lib\?\init.lua;D:\Lua\mvximio gtaa\moonloader\?.lua;D:\Lua\mvximio gtaa\moonloader\?\init.lua;.\?.lua;D:\Lua\mvximio gtaa\moonloader\lib\?.luac;D:\Lua\mvximio gtaa\moonloader\lib\?\init.luac;D:\Lua\mvximio gtaa\moonloader\?.luac;D:\Lua\mvximio gtaa\moonloader\?\init.luac;.\?.luac
[09:29:40.119822] (debug) package.cpath = D:\Lua\mvximio gtaa\moonloader\lib\?.dll;
[09:29:40.122820] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\AutoReboot.lua'...
[09:29:40.122820] (debug) New script: 14107DC4
[09:29:40.123820] (system) ML-AutoReboot: Loaded successfully.
[09:29:40.124820] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\check-moonloader-updates.lua'...
[09:29:40.124820] (debug) New script: 1411005C
[09:29:40.125819] (system) Check MoonLoader Updates: Loaded successfully.
[09:29:40.125819] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\deddosouru c-bug (v4).lua'...
[09:29:40.125819] (debug) New script: 141101E4
[09:29:40.127836] (system) LEGAL C-BUG: Loaded successfully.
[09:29:40.127836] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\FastMakeGun.lua'...
[09:29:40.127836] (debug) New script: 1411257C
[09:29:40.127836] (error) FastMakeGun.lua: D:\Lua\mvximio gtaa\moonloader\FastMakeGun.lua:36: '<eof>' expected near 'end'
[09:29:40.127836] (error) FastMakeGun.lua: Script died due to an error. (1411257C)
[09:29:40.127836] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\reload_all.lua'...
[09:29:40.127836] (debug) New script: 1411257C
[09:29:40.128846] (system) ML-ReloadAll: Loaded successfully.
[09:29:40.128846] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\SF Integration.lua'...
[09:29:40.128846] (debug) New script: 14115E64
[09:29:40.131817] (system) SF Integration: Loaded successfully.
[09:29:41.940626] (system) Installing post-load hooks...
[09:29:41.940626] (system) Hooks installed.
[09:31:19.236446] (system) ML-AutoReboot: Script terminated. (14107DC4)
[09:31:19.236446] (system) Check MoonLoader Updates: Script terminated. (1411005C)
[09:31:19.237445] (system) LEGAL C-BUG: Script terminated. (141101E4)
[09:31:19.237445] (system) ML-ReloadAll: Script terminated. (1411257C)
[09:31:19.237445] (system) SF Integration: Script terminated. (14115E64)
[09:31:19.238445] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\AutoReboot.lua'...
[09:31:19.238445] (debug) New script: 1CD767DC
[09:31:19.239444] (system) ML-AutoReboot: Loaded successfully.
[09:31:19.239444] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\check-moonloader-updates.lua'...
[09:31:19.239444] (debug) New script: 1CD76C74
[09:31:19.240444] (system) Check MoonLoader Updates: Loaded successfully.
[09:31:19.240444] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\deddosouru c-bug (v4).lua'...
[09:31:19.240444] (debug) New script: 1CD76DFC
[09:31:19.242443] (system) LEGAL C-BUG: Loaded successfully.
[09:31:19.242443] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\FastMakeGun.lua'...
[09:31:19.242443] (debug) New script: 1CD76F84
[09:31:19.242443] (error) FastMakeGun.lua: D:\Lua\mvximio gtaa\moonloader\FastMakeGun.lua:35: '<eof>' expected near 'end'
[09:31:19.242443] (error) FastMakeGun.lua: Script died due to an error. (1CD76F84)
[09:31:19.242443] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\reload_all.lua'...
[09:31:19.242443] (debug) New script: 1CD76F84
[09:31:19.243443] (system) ML-ReloadAll: Loaded successfully.
[09:31:19.243443] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\SF Integration.lua'...
[09:31:19.243443] (debug) New script: 141C3D64
[09:31:19.245442] (system) SF Integration: Loaded successfully.
[09:32:15.051832] (system) ML-AutoReboot: Script terminated. (1CD767DC)
[09:32:15.051832] (system) Check MoonLoader Updates: Script terminated. (1CD76C74)
[09:32:15.051832] (system) LEGAL C-BUG: Script terminated. (1CD76DFC)
[09:32:15.052832] (system) ML-ReloadAll: Script terminated. (1CD76F84)
[09:32:15.052832] (system) SF Integration: Script terminated. (141C3D64)
[09:32:15.052832] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\AutoReboot.lua'...
[09:32:15.052832] (debug) New script: 1CD767DC
[09:32:15.053831] (system) ML-AutoReboot: Loaded successfully.
[09:32:15.053831] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\check-moonloader-updates.lua'...
[09:32:15.053831] (debug) New script: 1CD76C74
[09:32:15.055831] (system) Check MoonLoader Updates: Loaded successfully.
[09:32:15.055831] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\deddosouru c-bug (v4).lua'...
[09:32:15.055831] (debug) New script: 1CD76DFC
[09:32:15.056844] (system) LEGAL C-BUG: Loaded successfully.
[09:32:15.056844] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\FastMakeGun.lua'...
[09:32:15.056844] (debug) New script: 1CD76F84
[09:32:15.058843] (system) FastMakeGun: Loaded successfully.
[09:32:15.058843] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\reload_all.lua'...
[09:32:15.058843] (debug) New script: 141C3124
[09:32:15.059843] (system) ML-ReloadAll: Loaded successfully.
[09:32:15.059843] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\SF Integration.lua'...
[09:32:15.059843] (debug) New script: 141C450C
[09:32:15.060843] (system) SF Integration: Loaded successfully.
[09:32:21.601761] (error) FastMakeGun: D:\Lua\mvximio gtaa\moonloader\FastMakeGun.lua:27: attempt to index global 'thread' (a nil value)
stack traceback:
D:\Lua\mvximio gtaa\moonloader\FastMakeGun.lua:27: in function <D:\Lua\mvximio gtaa\moonloader\FastMakeGun.lua:26>
[09:32:21.602748] (error) FastMakeGun: Script died due to an error. (1CD76F84)
[09:32:39.877464] (system) ML-AutoReboot: Script terminated. (1CD767DC)
[09:32:39.878465] (system) Check MoonLoader Updates: Script terminated. (1CD76C74)
[09:32:39.878465] (system) LEGAL C-BUG: Script terminated. (1CD76DFC)
[09:32:39.878465] (system) ML-ReloadAll: Script terminated. (141C3124)
[09:32:39.878465] (system) SF Integration: Script terminated. (141C450C)
[09:32:39.879463] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\AutoReboot.lua'...
[09:32:39.879463] (debug) New script: 141C32AC
[09:32:39.880463] (system) ML-AutoReboot: Loaded successfully.
[09:32:39.880463] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\check-moonloader-updates.lua'...
[09:32:39.880463] (debug) New script: 141C3D64
[09:32:39.882463] (system) Check MoonLoader Updates: Loaded successfully.
[09:32:39.882463] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\deddosouru c-bug (v4).lua'...
[09:32:39.882463] (debug) New script: 141C4384
[09:32:39.883462] (system) LEGAL C-BUG: Loaded successfully.
[09:32:39.883462] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\FastMakeGun.lua'...
[09:32:39.883462] (debug) New script: 141C3434
[09:32:39.884462] (system) FastMakeGun: Loaded successfully.
[09:32:39.884462] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\reload_all.lua'...
[09:32:39.885462] (debug) New script: 141C3EEC
[09:32:39.885462] (system) ML-ReloadAll: Loaded successfully.
[09:32:39.885462] (system) Loading script 'D:\Lua\mvximio gtaa\moonloader\SF Integration.lua'...
[09:32:39.885462] (debug) New script: 141C35BC
[09:32:39.887461] (system) SF Integration: Loaded successfully.
[09:32:44.423776] (error) FastMakeGun: D:\Lua\mvximio gtaa\moonloader\FastMakeGun.lua:27: attempt to index global 'thread' (a nil value)
stack traceback:
D:\Lua\mvximio gtaa\moonloader\FastMakeGun.lua:27: in function <D:\Lua\mvximio gtaa\moonloader\FastMakeGun.lua:26>
[09:32:44.424767] (error) FastMakeGun: Script died due to an error. (141C3434)
 
Решение
attempt to index global 'thread' (a nil value)
stack traceback:

вот код
Код:
script_name('FastMakeGun')
script_author('Endo')
script_description('Fast create a gun')


require "lib.moonloader"


local main_color = 0x06DFFF
local id = sampGetCurrentDialogId()

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampAddChatMessage("Script FastMakeGun for Grand RP loaded", main_color)
    sampAddChatMessage(id)
    sampRegisterChatCommand("gd", cmd_gd); wait(-1)
    sampRegisterChatCommand("gm", cmd_gm)
    sampRegisterChatCommand("ogd", cmd_ogd)
    sampRegisterChatCommand("ogm", cmd_ogm)
    thread = lua_thread.create_suspended(All_Thread)
end...

Aniki

🐰
Администратор
1,225
1,506
attempt to index global 'thread' (a nil value)
stack traceback:

вот код
Код:
script_name('FastMakeGun')
script_author('Endo')
script_description('Fast create a gun')


require "lib.moonloader"


local main_color = 0x06DFFF
local id = sampGetCurrentDialogId()

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampAddChatMessage("Script FastMakeGun for Grand RP loaded", main_color)
    sampAddChatMessage(id)
    sampRegisterChatCommand("gd", cmd_gd); wait(-1)
    sampRegisterChatCommand("gm", cmd_gm)
    sampRegisterChatCommand("ogd", cmd_ogd)
    sampRegisterChatCommand("ogm", cmd_ogm)
    thread = lua_thread.create_suspended(All_Thread)
end



function cmd_gd(arg) --Дигл
thread:run("gd", arg )
    --if arg == "" then
        --sampAddChatMessage("Введите количество патронов", 0xFFFFFF)
--    else
    --sampSendChat("/makegun")
    --sampSendDialogResponse(888, 1, 1, '')
    --sampSendDialogResponse(889, 1, '', arg)
end



function cmd_gm(arg) --М4
    if arg == "" then
        sampAddChatMessage("Введите количество патронов", 0xFFFFFF)
    else
        sampSendChat("/makegun")
        sampSendDialogResponse(888, 1, 4, _)
        --sampSendDialogResponse(889, _, _, arg)
    end
end


function All_Thread(option, arg)
    if option == "gd" then
        if arg == "" then
            sampAddChatMessage("Введите количество патронов", 0xFFFFFF)
        else
            sampSendChat("/makegun")
            sampSendDialogResponse(888, 1, 1, '')
            wait(250)
            sampSendDialogResponse(889, '', '', arg)
            wait(500)
          SampCloseCurrentDialogWithButton(1)
        end
    end
end


--function cmd_ogd(arg) -- /o Дигл
    --if arg == "" then
        --sampAddChatMessage("Введите количество патронов", 0xFFFFFF)
    --else
        --sampSendChat("/makegun")
        --sampSendDialogResponse(888, 1, 4, _)
        --sampSendDialogResponse(889, _, _, arg)
    --end
--end




--function cmd_ogm(arg) -- /o М4
    --if arg == "" then
        --sampAddChatMessage("Введите количество патронов", 0xFFFFFF)
    --else
        --sampSendChat("/makegun")
        --sampSendDialogResponse(888, 1, 4, _)
        --sampSendDialogResponse(889, _, _, arg)
    --end
--end
Потому что ты выставил бесконечную задержку (wait(-1)) до создания thread в main, поэтому код после wait просто не выполняется и как следствие имеем nil
 

EndoHokage

Активный
Автор темы
136
55
Потому что ты выставил бесконечную задержку (wait(-1)) до создания thread в main, поэтому код после wait просто не выполняется и как следствие имеем nil
Спасибо, теперь новая ошибка(
D:\Lua\mvximio gtaa\moonloader\FastMakeGun.lua:61: attempt to call global 'SampCloseCurrentDialogWithButton' (a nil value)
stack traceback:

Lua:
function All_Thread(option, arg)
    if option == "gd" then
        if arg == "" then
            sampAddChatMessage("Введите количество патронов", 0xFFFFFF)
        else
            sampSendChat("/makegun")
            sampSendDialogResponse(888, 1, 1, '')
            wait(250)
            sampSendDialogResponse(889, '', '', arg)
            wait(500)
          SampCloseCurrentDialogWithButton(2)
        end
    end
end

Поможешь?
 

DolgorukovGTA

Известный
Проверенный
652
345
@EndoHokage, подробнее о потоках и их использовании ты сможешь прочитать здесь. Написал для тебя небольшой академический код с комментариями.
Если тебе не нужно проверять, нажата клавиша и т.п., то не используй бесконечный while true do, а ставь функцию main в бесконечное ожидание при помощи wait(-1) .

Lua:
function main()
    thread = lua_thread.create_suspended(test1) -- создаем поток приостановленным

    while true do
        if isKeyJustPressed(77) then -- если нажата клавиша 77 (M)
            test() -- запускаем функцию, в которой будем запсукать поток
        end
        wait(0) -- дожидаемся следующего кадра
    end

end

function test()
    thread:run(1) -- запускаем поток и передаем в его функцию аргумент
end

function test1(arg) -- функция принимает аргумент
    if arg == 1 then -- сравнение аргумента
        print('+') -- пишет плюсик на выходе
    end
end
 
  • Нравится
Реакции: Farme_1_1 и EndoHokage

DolgorukovGTA

Известный
Проверенный
652
345
Спасибо, теперь новая ошибка(
D:\Lua\mvximio gtaa\moonloader\FastMakeGun.lua:61: attempt to call global 'SampCloseCurrentDialogWithButton' (a nil value)
stack traceback:

Lua:
function All_Thread(option, arg)
    if option == "gd" then
        if arg == "" then
            sampAddChatMessage("Введите количество патронов", 0xFFFFFF)
        else
            sampSendChat("/makegun")
            sampSendDialogResponse(888, 1, 1, '')
            wait(250)
            sampSendDialogResponse(889, '', '', arg)
            wait(500)
          SampCloseCurrentDialogWithButton(2)
        end
    end
end

Поможешь?
Функция называется по-другому, смотри внимательнее: sampCloseCurrentDialogWithButton(int button). Аргументом передается значение кнопки, на которую ты хочешь закрыть диалог: 0 или 1.
На будущее, если тебе помогли, подсказали, объяснили что-то, то не стоит писать "спасибо", "благодарю" и т.п, это конечно приятно, но есть небольшое правило среди участников - ставить отметки "мне нравится", либо же другие эмоции. Так тема не будет засоряться, а пользователю, который тебе отвечал, будет понятно, что сообщение было полезным.
 
Статус
В этой теме нельзя размещать новые ответы.