typedef struct matrices_s
{
matrix3x4_t[128] matrix;
float flDisplayTime; // как долго он будет оставаться (выполни gpGlobals-> curtime + 5.f, а затем проверь, не
// curtime >= flDisplayTime
matrices_t(matrix3x4_t[128] matr, float curtime)
{
matrix = matr;
flDisplayTime = curtime + 5.f;
}
} matrices_t;
std :: vector <matrices_t> m_vecMatrices ;
g_ClientEntList->GetClientEntity(g_Engine->GetPlayerForUserID(event->GetInt("attacker")));
matrix3x4_t[128] tmp_matrix;
Entity->SetupBones(tmp_matrix, ...);
m_vecMatrices.push_back(matrices_t(tmp_matrix, gpGlobals->curtime));
// Форсируем любой материал, который ты хочешь, в ModelRender есть функция, я думаю, ты делаешь это для chams
for(size_t i = 0; i < m_vecMatrices.size(); i++)
{
if(m_vecMatrices[i].flDisplayTime =< gpGlobals)
m_vecMatrices.erase(m_vecMatrices.begin() + i);
oDrawModelExecute(ecx, context, state, info, m_vecMatrices[i].matrix);
}
// "Un" - форсировать материал после цикла
g_ModelRender->ForceMaterialOverride(NULL);
паста с юц. работать будет криво и неправильно.Для сначало тебе нужно создать глобальный "контейнер" которое будет хранить отрисовки матрицы в DME (vector / deque будут делать это)
К примеру как
А затем определение "контейнера"C++:typedef struct matrices_s { matrix3x4_t[128] matrix; float flDisplayTime; // как долго он будет оставаться (выполни gpGlobals-> curtime + 5.f, а затем проверь, не // curtime >= flDisplayTime matrices_t(matrix3x4_t[128] matr, float curtime) { matrix = matr; flDisplayTime = curtime + 5.f; } } matrices_t;
Самый простой способ это сделать через player_deathC++:std :: vector <matrices_t> m_vecMatrices ;
И сделать проверку, был ли убит игрок
событием -> GetInt вернет идентификатор атакующего, который нужно преобразовать в C_BaseEntity *, используя ClientEntityList, например:
И сделать тоже самое для атакуемого объекта (идентефикатор игрока)C++:g_ClientEntList->GetClientEntity(g_Engine->GetPlayerForUserID(event->GetInt("attacker")));
И если ты убил кого-то, то вставь матрицу в вектор
Позже в DME если имееются ли какие-то матрицы, то нарисуй их в контейнереC++:matrix3x4_t[128] tmp_matrix; Entity->SetupBones(tmp_matrix, ...); m_vecMatrices.push_back(matrices_t(tmp_matrix, gpGlobals->curtime));
Ты зацикливаешь, чтобы нарисовать каждую матрицу, которая там присутствуетC++:// Форсируем любой материал, который ты хочешь, в ModelRender есть функция, я думаю, ты делаешь это для chams for(size_t i = 0; i < m_vecMatrices.size(); i++) { if(m_vecMatrices[i].flDisplayTime =< gpGlobals) m_vecMatrices.erase(m_vecMatrices.begin() + i); oDrawModelExecute(ecx, context, state, info, m_vecMatrices[i].matrix); } // "Un" - форсировать материал после цикла g_ModelRender->ForceMaterialOverride(NULL);
Проверь, больше ли значение curtime, чем у нашей матрицы, если оно есть, удали его
Хз че там не правильно робит, у меня збспаста с юц. работать будет криво и неправильно.
Почему таб олд кса?Хз че там не правильно робит, у меня збсПожалуйста, авторизуйтесь для просмотра ссылки.
так ты отрендери лишь on hit material, чтобы у тебя ничего лишнего не вызывалось в дме. Просто original и on hit моделька.Хз че там не правильно робит, у меня збсПожалуйста, авторизуйтесь для просмотра ссылки.
кодим на кс 2018 года ?????G
Почему таб олд кса?
А ок,просто про это не слова не увиделкодим на кс 2018 года ?????
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz