Я не понимаю, почему происходит десинк? Как только какой-то герой ластхитит крипа сразу же его выкидывает с карты. Я создаю эффект у него локально и сразу уничтожаю, давая проиграться анимации... Создаю флоатинг текст У ВСЕХ и удаляю спустя время У ВСЕХ (чтобы было проще удалить и избежать утечек), но показываю локально игроку.
Почему десинк?! Сквозь и рядом пишется, что работа с эффектами и текстом не вызывает десинхронизации. Или я чего-то недопонимаю?
Почему десинк?! Сквозь и рядом пишется, что работа с эффектами и текстом не вызывает десинхронизации. Или я чего-то недопонимаю?
...
if (GetLocalPlayer() == p)
{
DestroyEffect(AddSpecialEffectLoc("UI\\Feedback\\GoldCredit\\GoldCredit.mdl", loc));
}
FTextLocForPlayer("|c00E6E600+" + I2S(gold) + "!|r", p, 2.5, loc);
И сама функция для флоатинг текста:
void FTextLocForPlayer(string Text, player p, float Time, location loc)
{
texttag tt = CreateTextTag();
timer t = CreateTimer();
float xvel = (85.0 * 0.071 / 128) * Cos(90 * bj_DEGTORAD);
float yvel = (85.0 * 0.071 / 128) * Sin(90 * bj_DEGTORAD);
SetTextTagText(tt, Text, (10.00 * 0.023 / 10));
SetTextTagPos(tt, GetLocationX(loc), GetLocationY(loc), 0);
SetTextTagVelocity(tt, xvel, yvel);
SetTextTagColor(tt, 255, 255, 255, 255);
SetTextTagPermanent(tt, false);
SetTextTagLifespan(tt, Time);
SetTextTagFadepoint(tt, (Time/2.00));
if (GetLocalPlayer() == p)
{
SetTextTagVisibility(tt, true);
}
else
{
SetTextTagVisibility(tt, false);
}
SaveTextTagHandle(g_Hashtable, GetHandleId(t), TEXTSPAN, tt);
TimerStart(t, Time, false, lambda void()
{
timer t = GetExpiredTimer();
texttag tt = LoadTextTagHandle(g_Hashtable, GetHandleId(t), TEXTSPAN);
DestroyTextTag(tt);
DestroyTimer(t);
});
}
Принятый ответ
Замени
local string t = ""
if (GetLocalPlayer() == p)
{
set t = "UI\\Feedback\\GoldCredit\\GoldCredit.mdl"
}
DestroyEffect(AddSpecialEffectLoc(t, loc))
SetTextTagVisibility(tt, GetLocalPlayer() == p);
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Если это не работает, советую проверить, работает ли оно, если создавать эффект вообще всем.
Ред. N1ghtSiren
Создай даммика для всех, перемести куда нужно
На даммика для локального игрока вешай спецэффект
Ну и удаляй даммик через Х время