Смена спрайта взрыва у HeGrenade

Сообщения
14
Реакции
9
Добрый день всем.
Прошу помощи по замене спрайта взрыва у He Grenade
C++:
public HC_CGrenade_ExplodeHeGrenade(const this, tracehandle, const bitsDamageType)
{
    static Float:flOrigin [ 3 ]
    pev ( this, pev_origin, flOrigin )
    engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, flOrigin, 0)
    write_byte(TE_SPRITE)
    engfunc(EngFunc_WriteCoord, flOrigin[0]+random_float(-5.0, 5.0))
    engfunc(EngFunc_WriteCoord, flOrigin[1]+random_float(-5.0, 5.0))
    engfunc(EngFunc_WriteCoord, flOrigin[2]+50.0)
    write_short(g_exp)
    write_byte(11)
    write_byte(200)
    message_end()
}
Сам спрайт появляется, но старый остается, каким способом убрать старый спрайт?
 
Сообщения
141
Реакции
201
Помог
5 раз(а)
Не уверен, но вроде бы нужно заблокировать ивент
EDIT: не то
EDIT 2: Как вариант: блокируй отправку SVC_TEMPENTITY перед взрывом, а после убирай блок и рисуй свой
 
Последнее редактирование:
Сообщения
75
Реакции
82
Помог
6 раз(а)
Самое простое: Лови SVC_TEMPENTITY, проверяй что это именно твой страйт (TE_SPRITE/TE_EXPLOSION, точно не помню какой) и заменяй нужный аргумент с индексом спрайта на свой
 
  • Нравится
Реакции: ifx

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу