Николая,
Проблема в логике.
При первом срабатывании futures.sec_code ничего не содержит и условие
while futures.sec_code ~= stroka do
нормально срабатывает, когда у Вас 0.
Но при повторном срабатывании функции, в futures.sec_code уже есть запись "SiM5" так как она туда записалась при первом обращении к функции.
Поэтому при повторном вызове условие "while futures.sec_code ~= stroka do" уже нарушено и цикл не выполняется. Для решения проблемы, Вам нужно обнулять futures при каждом вызове функции pos.
Перепишите так:
Код |
---|
is_run = 1
fuc = "SiM5"
function OnStop()
is_run = 0
end
function pos(stroka)
local i = 0
local futures = {}
while futures.sec_code ~= stroka do
futures = getItem("futures_client_holding", i)
i = i+1
end
return futures.totalnet
end
function main()
while is_run == 1 do
j = pos(fuc)
message(tostring(j),1)
sleep(1000)
end
end |