Переменные

James Hawk

Известный
Автор темы
919
218
Уже не впервые сталкиваюсь со случаями, когда необходимо изменить оглашенную глобальную переменную в какой-либо функции и затем в другой функции работать с этим значением.
Но значение воспринимается иначе.

Пример:
Lua:
local a = 0

function main()
   -- code
   print(a)  -- a = 0
end

function smth()
   -- code
   a = 5
end

Кроме того, ознакамливался с разного рода исходниками, где люди подобные вещи делают с переменными (и всё у них без косяков). Какие варианты решения?
 

James Hawk

Известный
Автор темы
919
218
Что у тебя в таблице textdraw?
Сначала пробовал
Lua:
textdraw = { {549.5, 60, -1436898180}, {547.5, 58, -16777216}, {549.5, 60, 1622575210} }
Потом твой вариант
Lua:
textdraw = { numb = 549.5, del = 54.5, { 549.5, 60, -1436898180 }, { 547.5, 58, -16777216 }, { 549.5, 60, 1622575210 } }
Ну и сравниванию с таблицей
Lua:
if td.x == textdraw[1][1] and td.y == textdraw[1][2] and td.color == textdraw[1][3] then
 
Последнее редактирование:

FYP

Известный
Администратор
1,763
5,899
Немного видоизменил код для другого результата. Теперь переменная хоть и выводится, но всегда нулевая
убедись, что в переменную hun попадает ненулевое значение
 

FYP

Известный
Администратор
1,763
5,899

James Hawk

Известный
Автор темы
919
218
внутри этого условия?
Вызвал в main
Lua:
if wasKeyPressed(key.VK_Z) then
    local td = readBitstream(bs)
    sampAddChatMessage(math.floor(sat/textdraw.del)*100, -1)
    sampAddChatMessage(td.hun, -1) -- td.hun = -549.5
end
Внутри того условия не получаю
 

James Hawk

Известный
Автор темы
919
218
верно. hun остаётся нулём и результат вычисления math.floor(hun/54.5)*100 соответственно тоже ноль.
Проверил, получается вывести принтом значение. Но выведение hun всё так же 0