Backtrack chams

Пользователь
Пользователь
Статус
Оффлайн
Регистрация
28 Апр 2018
Сообщения
628
Реакции
134
Всё правильно показывает, но материал ещё применяется на саму модельку.
Screenshot_3.png

C++:
Expand Collapse Copy
    if (ShowBacktrack && Weapons[GetWeap(SelectedWeapon)].Backtrack && Weapons[GetWeap(SelectedWeapon)].BacktrackTimeLimit)
    {
        static auto fnDME = HookTables::pDrawModelExecute->GetTrampoline();
        CEntityPlayer* Entity = GP_EntPlayers->GetByIdx(pInfo.entity_index);
        CEntityPlayer* Local = GP_EntPlayers->EntityLocal;
        const char* ModelName = I::ModelInfo()->GetModelName((model_t*)pInfo.pModel);

        if (!ModelName)
            return;

        if (!strstr(ModelName, XorStr("models/player")))
            return;

        if (!Entity || !Local)
            return;

        if (!Entity->IsUpdated)
            return;

        if (Entity->IsDead || Entity->Health <= 0)
            return;

        if (Entity->IsDormant)
            return;

        backtrackData bfg;
        if (!Local->IsDead)
        {
            for (int t = 0; t <= maxticks; ++t)
            {
                if (headPositions[Entity->Idx][t].simtime && headPositions[Entity->Idx][t].simtime + 1 > CGlobal::LocalPlayer->GetSimTime())
                {
                    switch (ShowBacktrackType)
                    {
                    case 0: bfg = headPositions[Entity->Idx][t]; break; //all ticks
                    case 1: bfg = headPositions[Entity->Idx][maxticks]; break; //last tick
                    default: bfg = headPositions[Entity->Idx][t];
                    }

                    GP_Esp->OverrideMaterial(false, ShowBacktrackMaterial, ShowBacktrackColor);
                    fnDME(thisptr, ctx, state, pInfo, bfg.matrix);
                }
            }
        }
        else
            memset(&headPositions[0][0], 0, sizeof(headPositions));
    }

if (!entity->IsDead())
            {
                backtrackData bfg;
                bfg.simtime = entity->GetSimTime();
                bfg.hitboxPos = entity->GetHitboxPosition(0 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 16 & 17 & 18 & 19 & 10 & 11);
                entity->SetupBones(bfg.matrix, 256, 0x7FF00, I::GlobalVars()->curtime);
                /*...*/
            }
 
Последнее редактирование:
Причина в SetupBones или нужно 0 тик пропускать при отрисовке?
 
После вызова оригинала дме надо форсить nullptr материал
 
Назад
Сверху Снизу