В карте периодически пропадает плавающий текст, который создаётся на 5 секунд (damage система и т.д.)
Нанёс юнит урон, полетел текст, и иногда он может в любой момент не исчезнуть до конца, а просто пропасть. Никакой закономерности вывести не удалось, проблема возникает как при большом количестве игроков, так и в соло. Проблема возникает как при малом количестве наносимых ударов, так и при большом (причём во втором случае вероятность пропадания текста не увеличивается). Все тексттэги на мапе удаляются, каждый триггер проверил. Проверял айди хэндла создаваемых тексттегов. Он практически не менялся и держался в диапазоне 80-90. Количество видимых плавающих текстов для игрока большую часть игры меньше 10, про достижение лимита и речи не может идти.
Собственно сама реализация текста урона проста:
function CreateTextTagForPlayer takes player owner, unit target, string reward returns nothing
    local texttag text
    local real vel = 40 * 0.071 / 128
    local real velx = vel * Cos(90 * bj_DEGTORAD)
    local real vely = vel * Sin(90 * bj_DEGTORAD)
    
    set text = CreateTextTag()
    call SetTextTagPos(text, GetUnitX(target) - GetRandomReal(-50,50), GetUnitY(target) - GetRandomReal(-50,50), 0)
    call SetTextTagColor(text, 255, 255, 255, 255)
    call SetTextTagText(text, reward, 0.023)
    call SetTextTagVelocity(text, velx, vely) 
    call SetTextTagPermanent(text, false)
    call SetTextTagLifespan(text, 5)
    call SetTextTagFadepoint(text, 2)
    call SetTextTagVisibility(text, false)
    
    if GetLocalPlayer() == owner then
        call SetTextTagVisibility(text, true)
    endif
    
    set text = null
endfunction
В чём может быть проблема?

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

Лимит в 100 текстагов на карте.
`
ОЖИДАНИЕ РЕКЛАМЫ...
5
29
5 лет назад
5
Лимит в 100 текстагов на карте.
Принятый ответ
7
26
5 лет назад
7
...одновременно видимых каждому игроку в отдельности, если не ошибаюсь
3
28
5 лет назад
Отредактирован PT153
3
Поддерживая то, что сказали господа выше: игрок может видеть лимитированное количество texttag одновременно.
дополнительно
        call SetTextTagVisibility(text, GetLocalPlayer() == owner)
1
28
5 лет назад
Отредактирован PT153
1
Все тексттэги на мапе удаляются, каждый триггер проверил. Проверял айди хэндла создаваемых тексттегов.
Как удаляются тексттаги? Через время с помощью SetTextTagLifespan()? Если так, то ответ был дан выше.
Если есть кастомное удаление тексттагов, то стоит его отключить и посмотреть, как это отразится в игре.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.