Не работает сборщик мусора
"collect", "stop", "restart", "count", "step", "setpause", "setstepmul" !!!
print(collectgarbage("count"))
не работает, не показывает данные, как будто неверно, но редактор сохраняет нормально, в игре просто все что после любой функции связанной со сборщиком перестает воспроизводиться.
function()
print("1")
print(collectgarbage("count"))
print("2")
etc.....
end
По идее 1 выводит, а все что дальше зависает....

Принятый ответ

В патче 1.32 ликвидировали ручной сборщик мусора

Чтобы увидеть ошибку можно использовать обертку
function savetyRun(func,...)
        local success, result = pcall(func, ...)
        if success then
            return result
        else
            print(result)
        end
end
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
4 года назад
0
Похожие вопросы:

ответ
Но как переписать код на луа как можно быстрее?
Можно достать из карты war3map.j и сконвертировать в lua. После доработки напильником вполне работоспособно))
ответ
например как быть с ситуацией когда this или объект используется как число?
this часто используется как число, например для сохранения на хэндл таймера.

ИМХО, структуры вообще лучше переписать изначально на lua.
ответ
Туториалов по lua в сети много, и Nazar регулярно добавляет наглядные примеры в наработки.

0
13
4 года назад
Отредактирован Nelloy
0
В патче 1.32 ликвидировали ручной сборщик мусора

Чтобы увидеть ошибку можно использовать обертку
function savetyRun(func,...)
        local success, result = pcall(func, ...)
        if success then
            return result
        else
            print(result)
        end
end
Принятый ответ
0
5
4 года назад
Отредактирован Pashka5
0
Nelloy:
В патче 1.32 ликвидировали ручной сборщик мусора
Жаль, теперь не проверить свои собственные ошибки.....где и что засоряется....
ничего не поял и как мне этой функцией пользоваться?
0
13
4 года назад
Отредактирован Nelloy
0
Pashka5, немного упростил. Для того чтобы протестировать функцию, нужно вызвать savetyRun(функция, ее аргументы), тогда при получении ошибки она будет напечатана в чат. Если в последних патчах попробовать вызвать функцию collectgarbage, то получишь однозначный ответ, что ее не существует.
P.S. внутри pcall удобно использовать функцию error, про нее можно почитать в мануалах к луа

Например, savetyRun(collectgarbage, "collect")
0
26
4 года назад
0
Жаль, теперь не проверить свои собственные ошибки.....где и что засоряется....
это и не нужно
Чтобы оставить комментарий, пожалуйста, войдите на сайт.