Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Fatality lagcomp hitbox

Keep Ev0lving, Stay Fatal
Эксперт
Эксперт
Статус
Оффлайн
Регистрация
6 Фев 2018
Сообщения
1,559
Реакции
588
Как сделать такую фичу как в фатале?
В ху0 ведь он только после попадания есть, а именно как в фатале я вроде где то видел, но не помню
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
попадение - рисуешь матрицу все
 
ПОПАДАЕШЬ - РИСУЕШЬ МАТРИЦУ
P.S. НУ ЕСЛИ ХОЧЕШЬ ЕСЛИ УБИВАЕШЬ РИСУЕШЬ МАТРИЦУ, МИССАЕШЬ ТОЖЕ РИСУЙ МАТРИЦУ
Вот я и думаю как без костылей эту хуету сделать нормально
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вот я и думаю как без костылей эту хуету сделать нормально
лол без костылей, если ты попадаешь, рисуй матрицу, наложи на нее материал, и сетколор через меню
если хочешь можешь сделать и при (hurt !hurt !hit hit тупо рисуешь при выстреле считай рисуешь ее
 
если я правильно понял что тебе нужно то вот

ивент player_death, attacker == local, globals.local_player_did_kill = true, if (globals.local_player_did_kill) собираешь матрицу и отрисовываешь её

после смерти игрока будет оставаться такая вот хуетень
 
если я правильно понял что тебе нужно то вот

ивент player_death, attacker == local, globals.local_player_did_kill = true, if (globals.local_player_did_kill) собираешь матрицу и отрисовываешь её

после смерти игрока будет оставаться такая вот хуетень
Неправильно понял, ты сделал лагкомп хитбокс для килла, а мне нужен именно после выстрела(без разницы попал или мисснул я)
 
Неправильно понял, ты сделал лагкомп хитбокс для килла, а мне нужен именно после выстрела(без разницы попал или мисснул я)
так просто включи sv_showlagcompensation 1
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Неправильно понял, ты сделал лагкомп хитбокс для килла, а мне нужен именно после выстрела(без разницы попал или мисснул я)
if (shot)
отрисовка матрицы
накладываешь материал
сет колор
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
так просто включи sv_showlagcompensation 1
если он спуфнет шоулагкомп, будет пиздец, потому что после выстрела все модели противника отрисуются + не на всех картах робит шоулагомп
 
Неправильно понял, ты сделал лагкомп хитбокс для килла, а мне нужен именно после выстрела(без разницы попал или мисснул я)
твой лагкомп хитбокс или противника?
ивент weapon_fire
если твой то attacker == g_local, если противника, то attacker != g_local && attacker != g_local->team_num()
 
Вы вот пишите на счёт шота и так далее. Окей, этот ивент я понял как ебашить
А теперь помогите понять как нужно делать лагкомп для того, в которого я стреляю? Тип в фатале вообще и обычный лагкомп хитбокс наверное жопаболь будет ставить, а тут ещё я со своей идеей ._.
 
если попадаешь то ивент player_hurt, attacker==g_local, находишь ентити в которого попал и отрисовываешь матрицу
не, в фатале показывает хитбокс цели аимбота (ну противника,в которого стрелял чит) даже если он мисснул
 
Ебать сверхразумы...

Вот псевдокод для того, что бы на игроке всегда рисовало...

C++:
Expand Collapse Copy
void DrawHitbox(SDK::CBaseEntity* pEntity)
{
    float duration = I::pGlobalVars->curtime + 1.0f;
       
    if (!pEntity)
        return;
   
    CSGOSDK::studiohdr_t* pStudioModel = I::pModelInfo->GetStudioModel(pEntity->GetModel());
   
    if (!pStudioModel)
        return;
   
    CSGOSDK::mstudiohitboxset_t* pHitboxSet = pStudioModel->pHitboxSet(0);
   
    if (!pHitboxSet)
        return;

    for(int i = 0; i < pHitboxSet->numhitboxes; i++)
    {
        CSGOSDK::mstudiobbox_t* pHitbox = pHitboxSet->pHitbox(i);

        if (!pHitbox)
            continue;

       CSGOSDK::matrix3x4_t bone_matrix = pEntity->GetBoneMatrix(pHitbox->bone);

        Vector vMin, vMax;

        Math::VectorTransform(pHitbox->bbmin, bone_matrix, vMin);
        Math::VectorTransform(pHitbox->bbmax, bone_matrix, vMax);

        if (pHitbox->m_flRadius > -1)
        {
            I::pDebugOverlay->AddCapsuleOverlay(vMin, vMax, pHitbox->m_flRadius, 255, 0, 0, 255, duration);
        }
    }
}

Ну и GetBoneMatrix:

C++:
Expand Collapse Copy
matrix3x4_t CBaseEntity::GetBoneMatrix(int BoneID)
{
    DWORD m_dwBoneMatrix = MemoryAPI::Read<DWORD>((DWORD)this, Displacement::NetVars::BaseAnimating::m_nForceBone + 0x1C);

    return *(matrix3x4_t*)(m_dwBoneMatrix + 0x30 * BoneID);
}

Это не идеальный вариант, но работающий.
 
Назад
Сверху Снизу