В карте периодически пропадает плавающий текст, который создаётся на 5 секунд (damage система и т.д.)
Нанёс юнит урон, полетел текст, и иногда он может в любой момент не исчезнуть до конца, а просто пропасть. Никакой закономерности вывести не удалось, проблема возникает как при большом количестве игроков, так и в соло. Проблема возникает как при малом количестве наносимых ударов, так и при большом (причём во втором случае вероятность пропадания текста не увеличивается). Все тексттэги на мапе удаляются, каждый триггер проверил. Проверял айди хэндла создаваемых тексттегов. Он практически не менялся и держался в диапазоне 80-90. Количество видимых плавающих текстов для игрока большую часть игры меньше 10, про достижение лимита и речи не может идти.
Собственно сама реализация текста урона проста:
Нанёс юнит урон, полетел текст, и иногда он может в любой момент не исчезнуть до конца, а просто пропасть. Никакой закономерности вывести не удалось, проблема возникает как при большом количестве игроков, так и в соло. Проблема возникает как при малом количестве наносимых ударов, так и при большом (причём во втором случае вероятность пропадания текста не увеличивается). Все тексттэги на мапе удаляются, каждый триггер проверил. Проверял айди хэндла создаваемых тексттегов. Он практически не менялся и держался в диапазоне 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 текстагов на карте.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован PT153
Отредактирован PT153
Если есть кастомное удаление тексттагов, то стоит его отключить и посмотреть, как это отразится в игре.