Ошибка при работе с таблицей

Haradovik

Новичок
Автор темы
18
6
Версия MoonLoader
.027.0-preview
Здравствуйте, решил написать скрипт для использования Эхолота по нажатию клавиши, чутка кода спиздил из одного бота, но столкнулся с проблемой.
Есть у меня таблица
Код:
echo = {
    init = false,
    TextDtawId = nil,
    updatetime = 0
}
При попытке вызвать проверку на значение переменной init что через echo.init, что через echo[init] выдает одну и ту же ошибку : attempt to index upvalue 'echo' (a function value). Как это исправить?
Самое интересное, до этого с таблицами проблем не было, можно было спокойно получать значения без ошибок...
 

Haradovik

Новичок
Автор темы
18
6
Весь код покажи
Lua:
local sampev = require('lib.samp.events')

local echo = {
    init = false,
    TextDtawId = nil,
    updatetime = 0
}

function sampev.onShowTextDraw(tdid, data)
    if not echo[init] then
        if data.flags == 18 and data.letterWidth == 0.47999998927116 and
        data.letterHeight == 1.1200000047684 and data.letterColor == -8947849
        and data.lineWidth == 30.60000038147 and data.lineHeight == 35.400001525879 and data.boxColor ==
        -2139062144 and data.shadow == 2 and data.outline == 0 and
        data.backgroundColor == -10354586 and data.style == 5 and data.selectable ==
        0 and data.modelId == 18875 and data.zoom == 1 and data.color1 == 0
        and data.color2 == 0 and data.text == 'LD_SPAC:white' then
            echo[init] = true
            echo[TextDtawId] = tdid
            msg('Эхолот обнаружен')
        end
    end
end
Вот часть кода, отвечающая за инициализацию Текстдрава Эхолота, знаю можно было сделать легче и красивее, но я лучше так проверку сделаю
 

Неадекватная сова

Известный
Проверенный
295
236
В своем коде, ты пытаешься обратится к ключу таблицы которого не существует. Тебе обращаться нужно к полю. Ошибок в таком случае быть не может как ты говоришь
Lua:
if not echo.init then
    echo.TextDtawId = tdid -- TextDraw*
end
 

Haradovik

Новичок
Автор темы
18
6
В своем коде, ты пытаешься обратится к ключу таблицы которого не существует. Тебе обращаться нужно к полю. Ошибок в таком случае быть не может как ты говоришь
Lua:
if not echo.init then
    echo.TextDtawId = tdid -- TextDraw*
end
Я писал выше, пробовал и через echo.init, и через echo[init], в обоих случаях выдает одну и ту же ошибку с index upvalue "echo"

В коде сейчас echo[] потому что это была последняя попытка
 

Неадекватная сова

Известный
Проверенный
295
236
Я писал выше, пробовал и через echo.init, и через echo[init], в обоих случаях выдает одну и ту же ошибку с index upvalue "echo"

В коде сейчас echo[] потому что это была последняя попытка
Показывай значит вообще весь код, а не его огрызок. Ты все равно его взял из бесплатного бота на рыбалку который публичный
 

Sudzishima

Известный
697
182
Здравствуйте, решил написать скрипт для использования Эхолота по нажатию клавиши, чутка кода спиздил из одного бота, но столкнулся с проблемой.
Есть у меня таблица
Код:
echo = {
    init = false,
    TextDtawId = nil,
    updatetime = 0
}
При попытке вызвать проверку на значение переменной init что через echo.init, что через echo[init] выдает одну и ту же ошибку : attempt to index upvalue 'echo' (a function value). Как это исправить?
Самое интересное, до этого с таблицами проблем не было, можно было спокойно получать значения без ошибок...
а нахуй этот эхолот вообще нужен когда универсальная наживка есть? Если так важно проверить наличие рыбы в секторе, то как будто проще 1 раз через инв уже юзнуть его
 

Haradovik

Новичок
Автор темы
18
6

Вложения

  • fishhelper.lua
    40.7 KB · Просмотры: 2