Как сделать рабочий код

wintreist

Активный
Автор темы
308
71
Версия MoonLoader
.026-beta
Пишу код который работает на 3д тексте, но я так же хочу чтобы если скрипт перезагрузится, чтобы человеку не пришлось отходить от текста, чтобы его пересоздать. Поэтому я писал в двух разных местах один и тот же код, в main через for перебирал все id, и проверял, а второй через samp events при создани 3д текста. Но я подумал, зачем париться, ведь можно сделать функцию и совать её в два куска кода, однако теперь возникла проблема:

код в main:
for i = 0, 2048 do
    text3d(i)
end

код в samp events:
function sampev.onCreate3DText(idObject, color, position, distance, testLOS, attachedPlayerId, attachedVehicleId, textObject)
    text3d(idObject)
end

функция:
function text3d(i)
    if sampIs3dTextDefined(i) then
        --Код
    end
end
Проблема в том, что когда в samp events 3д текст создаётся и вызывается функция, получается, что текст ещё как бы не создан, и функция text3d просто скипает его. Думал ну ладно, создам lua_thread, заработает, не получилось, подумал сделаю задержку, текст создастся, и тогда функция его отработает, но почему-то игру крашит от задержки в lua_thread, впервые с этим столкнулся.
Не знаю что делать