Пилил диалоги, вдруг задумался об оптимизации (на свою голову)
Изначальный вариант был такой:
Изначальный вариант был такой:
function speech4 takes nothing returns nothing
local timer t = CreateTimer()
call TimerStart(t,4,false,function speech5)
call CreateTextTagUnitBJ( "Я слышу топот!", gg_unit_h000_0014, 0, 15, 100, 100, 100, 0 )
call SetTextTagLifespan(bj_lastCreatedTextTag,4)
call SetTextTagPermanent(bj_lastCreatedTextTag, false)
set t = null
endfunction
Решил немного пошаманить с локалками, получилось вот такое:
function speech5 takes nothing returns nothing
local texttag tt
call CreateTextTagUnitBJ( "УУУУ СУУКА", gg_unit_h000_0016, 0, 15, 100, 100, 100, 0 )
set tt = bj_lastCreatedTextTag
call SetTextTagLifespan(tt,5)
call SetTextTagPermanent(tt, false)
call BJDebugMsg(I2S(GetHandleId(tt)))
set tt = ""
set tt = null
endfunction
Стоит ли оно того?
Принятый ответ
нет, достаточно одной глобалки bj_lastCreatedTextTag на все. И тогда не нужна никакая локалка. Так использую во многих системах, и работает. Глобалка bj_lastCreatedTextTag является темповой - ну то есть временной ссылкой, чтобы что-то там сделать дальше: цвета прозрачность настроить, время жизни и так далее.
Раньше давно-давно тоже думал, что нужно прям везде и на всё локалки ставить для мультиплеера. А как оказалось нет. Работает и глобалка. Дело в том, что у тебя задержек никаких нет, то и локалки не нужны. Потому что делаешь лишние операции - объявить - обнулить. Ну и во-вторых, у текстагов можно задавать время жизни, сами удаляться.
Раньше давно-давно тоже думал, что нужно прям везде и на всё локалки ставить для мультиплеера. А как оказалось нет. Работает и глобалка. Дело в том, что у тебя задержек никаких нет, то и локалки не нужны. Потому что делаешь лишние операции - объявить - обнулить. Ну и во-вторых, у текстагов можно задавать время жизни, сами удаляться.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован MpW
Раньше давно-давно тоже думал, что нужно прям везде и на всё локалки ставить для мультиплеера. А как оказалось нет. Работает и глобалка. Дело в том, что у тебя задержек никаких нет, то и локалки не нужны. Потому что делаешь лишние операции - объявить - обнулить. Ну и во-вторых, у текстагов можно задавать время жизни, сами удаляться.
Вставь туда это:
Отредактирован N1ghtSiren