Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

[BF4] Добавление глаз скелетам в ESP

-

Battlefield

- BF: Bad Company, BF: Bad Company 2, BF: 3

Ответ
 
Опции темы
Старый 05.07.2014, 22:34   #1
Мастер перевода
 Рыцарь-капитан
Аватар для test
 
test блестящий пример для подражанияtest блестящий пример для подражанияtest блестящий пример для подражанияtest блестящий пример для подражанияtest блестящий пример для подражанияtest блестящий пример для подражанияtest блестящий пример для подражанияtest блестящий пример для подражанияtest блестящий пример для подражанияtest блестящий пример для подражанияtest блестящий пример для подражания
Регистрация: 23.04.2008
Сообщений: 555
Популярность: 1716
Сказал(а) спасибо: 2
Поблагодарили 5 раз(а) в 4 сообщениях
 
По умолчанию [BF4] Добавление глаз скелетам в ESP

В этом треде представлен код от игрока SlagBlox, который добавляет глаза ESP скелетам противников.
Для того чтобы это испытать, просто скомпилируйте код)

Код:
bool cEngine::GetSeriesOfBoneVectors( fb::ClientSoldierEntity* pClientSoldier, int player_id, int pIDArray[], int count )
{
    if( !count )
        return false;

    if( IsValid( pClientSoldier ) )
    {
        fb::ClientRagDollComponent* pRagdollComp = pClientSoldier->m_ragdollComponent;
        if( IsValid( pRagdollComp ) )
        {
            fb::UpdatePoseResultData pPoseResultData = pRagdollComp->m_ragdollTransforms;
            if( pPoseResultData.m_ValidTransforms == 1 )
            {
                fb::UpdatePoseResultData::QuatTransform* pQuatTransform = pPoseResultData.m_ActiveWorldTransforms;
                if( IsValid( pQuatTransform ) )
                {    
                    for( int i = 0; i < count; i++ ) //get them all at once
                    {
                        int BoneID = pIDArray[i];

                        if( BoneID > 0 && BoneID < fb::UpdatePoseResultData::BONE_MAX )
                            pPlayerInfo[player_id].pBone.vBones[ BoneID ] = pQuatTransform[ BoneID ].m_TransAndScale;
                    }
                    return true;
                }
            }
        }
    }
    return false;
}

void cEngine::DrawSeriesOfLines( CVector2i vPoints[], bool bDraws[], int count, int iPointIDS[], int ids_count, DWORD dwColor )//structsize of vPoints, bDraws arrays need to match!
{
    if( !count)
        return;

    for( int i = 1; i < ids_count; i++ )
    {
        int ID = iPointIDS[i-1];
        int prevID = iPointIDS[i];

        if( ID < count && prevID < count )
        {
            if( bDraws[prevID] && bDraws[ID] )
                m_pDxRenderer.DrawLine( vPoints[prevID].x, vPoints[prevID].y, vPoints[ID].x, vPoints[ID].y, dwColor );
        }
    }
}

void cEngine::DrawPlayerSkeleton( int iPlayerID, DWORD dwColor )
{
    if( !IsValid( pPlayerInfo[iPlayerID].pClientSoldier ) )
        return;

    bool bDraw[23] = {0};
    CVector2i vSkS[23];
    int iSkeletonBones[23] = { 4, 6, 8, 9, 11, 15, 61, 63, 104, 109, 111, 115, 182, 183, 184, 185, 196, 197, 198, 199, 46, 96, NULL };//those are bone ID's
    int iSkelArraySize = SizeOfArray( iSkeletonBones, int );

    if( GetSeriesOfBoneVectors( pPlayerInfo[iPlayerID].pClientSoldier, iPlayerID, iSkeletonBones, iSkelArraySize ) )//bones where valid :)
    {
        //now w2s them all...
        for( int i = 0; i < iSkelArraySize; i++ )
            bDraw[i] = WorldToScreen( pPlayerInfo[iPlayerID].pBone.vBones[iSkeletonBones[i]], vSkS[i].x, vSkS[i].y );

        int iSpine[] = { 0, 1, 2 };//Spine
        int iR_Arm[] = { 2, 9, 10, 11 };//RightArm
        int iL_Arm[] = { 2, 3, 4, 5 };//LeftArm
        int iR_Foot[] = { 0, 16, 17, 18, 19 };//RightFoot
        int iL_Foot[] = { 0, 12, 13, 14, 15 };//LeftFoot

        float eye_r =  (float)vSkS[21].Dist(vSkS[6]);
        m_pDxRenderer.DrawCircle( vSkS[6].x, vSkS[6].y, eye_r, dwColor );//Eyes
        m_pDxRenderer.DrawCircle( vSkS[7].x, vSkS[7].y, eye_r, dwColor );//Eyes
        m_pDxRenderer.DrawCircle( vSkS[8].x, vSkS[8].y, (float)vSkS[8].Dist( vSkS[20] ), dwColor );//Head

        DrawSeriesOfLines( vSkS, bDraw, iSkelArraySize, iSpine, SizeOfArray( iSpine, int ), dwColor );
        DrawSeriesOfLines( vSkS, bDraw, iSkelArraySize, iR_Arm, SizeOfArray( iR_Arm, int ), dwColor );
        DrawSeriesOfLines( vSkS, bDraw, iSkelArraySize, iL_Arm, SizeOfArray( iL_Arm, int ), dwColor );
        DrawSeriesOfLines( vSkS, bDraw, iSkelArraySize, iR_Foot, SizeOfArray( iR_Foot, int ), dwColor );
        DrawSeriesOfLines( vSkS, bDraw, iSkelArraySize, iL_Foot, SizeOfArray( iL_Foot, int ), dwColor );
    }
}
Если у вас есть желание, автор не против увидеть ваши вариации на эту тему)
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Продам] ОРИОН СИН (ГЛАЗ ПОЛУНОЧИ И ПРОЧЕЕ) izafill Perfect World 0 05.01.2014 11:11
[Обменяю] ОРИОН ГЛАЗ ПОЛУНОЧИ izafill Perfect World 3 30.12.2013 18:59
[Продам] ОРИОН ГЛАЗ ПОЛУНОЧИ izafill Perfect World 0 21.12.2013 17:58
[Продам] ОРИОН ГЛАЗ ПОЛУНОЧИ izafill Perfect World 0 13.12.2013 09:45
[Помогите!] Цвет Глаз Мaltazar Общение и обсуждение Perfect World 1 01.12.2010 18:09

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 23:00.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net