unknowncheats uc-forum.com ucdownloads ucdownloads.com

Go Back   UC-Tutorials - Multiplayer Game Hacking and Cheat Tutorials > First-Person Shooters > Combat Arms

- Sponsored Advertisement -
http://www.myfpscheats.com/


Reply
 
Thread Tools Display Modes
  #1  
Old 05-15-2010, 03:35 AM
disco disco is offline
Administrator
 
Join Date: Feb 2010
Posts: 271
Default Some Info

Posted by Geek4Ever.




CA-NA
Credits to me and suddenattack source i guess its ok to say it.

If you ever use please credit it would be very nice.
Code:
377338D0 aka ILTClient

377338D0 + 0x21C = CreateObject(ILTClient *pClientDE)

377338D0 + 0x230 = SetObjectColor(HOBJECT obj, DWORD  Red, DWORD Green, DWORD Blue, DWORD Alpha)

377338D0 + 0x64  = IntersectSegment(ClientIntersectQuery from, ClientIntersectQuery to) Not 100% About the parms on this one.

377338D0 + 0xFC =  RegisterConsoleProgram(const char *pName, ConsoleProgramFn fn)

377338D0 + 0x158 = GetD3DDevice

377338D0 + 0x308 =  GetEngineHook See Below

void LoadString(int messageCode, char *outBuf, int outBufLen)
{
    void* pModule;
    g_pLTClient->GetEngineHook("cres_hinstance",&pModule);
    HMODULE hModule = (HINSTANCE)pModule;

    *outBuf = '\0';

    if (hModule)
    {
        uint32 nBytes = LoadString(hModule, messageCode, (char*)outBuf, outBufLen);
    }
}
3742C8A0 =  DoProjectile( LTVector const &vPath, LTVector const &vFirePos )
DoVector
Code:
3742C650 =  DoVector( LTVector const &vPath, LTVector const &vFirePos, LTVector *pObjectImpactPos, HOBJECT *pObjectImpact )

void CClientWeapon::DoVector( LTVector const &vPath, LTVector const &vFirePos, LTVector *pObjectImpactPos, HOBJECT *pObjectImpact )
{
    ASSERT( 0 != m_hObject );
    ASSERT( 0 != m_pWeapon );

    LTVector vEndPos;

    IntersectInfo iInfo;
    IntersectQuery qInfo;
    qInfo.m_Flags = INTERSECT_OBJECTS | INTERSECT_HPOLY | IGNORE_NONSOLID;

    // compute the vector end points
    LTVector vTemp;
    VEC_MULSCALAR( vTemp, vPath, m_pWeapon->nRange );
    VEC_ADD( vEndPos, vFirePos, vTemp );

    // filter information
    CW_VOFF_Params cParams(this, vFirePos, vEndPos);
    qInfo.m_FilterFn  = ClientWeapon_VectorObjFilterFn;
    qInfo.m_pUserData = &cParams;
    qInfo.m_PolyFilterFn = ClientWeapon_PolyFilterFn;

    // vector end points
    qInfo.m_From = vFirePos;
    qInfo.m_To = vEndPos;

    LTBOOL bDone = LTFALSE;
    int    nCount = 0;
    //----------------------------------------------------------------
    uint32 dwId;
    g_pLTClient->GetLocalClientID(&dwId);
    while(!bDone && nCount < 4)
    {
        //qInfo.m_From = qInfo.m_From;
        //qInfo.m_To     = qInfo.m_To;
        // ±¤½Ä
        InitFireDetectionValue();        

        if ( g_pLTClient->IntersectSegment( &qInfo, &iInfo ) )
        //if( g_pLTClient->IntersectSegmentClient(&qInfo, &iInfo) )
        {
            if( HandleVectorImpact( (uint8)dwId, 0, vPath, &qInfo, &iInfo, pObjectImpactPos, pObjectImpact ) )
            {
                bDone = LTTRUE;
            }
        }
        else
        {
            // hit nothing, pretend we hit the sky
            LTVector vUp;
            vUp.Init( 0.0f, 1.0f, 0.0f );
            AddImpact( (uint8)dwId, LTNULL, vEndPos, vUp, vPath, ST_SKY );

            bDone = LTTRUE;
        }

        nCount++;
    }    
}
CHitBox::Init
Code:
374B8690  =  CHitBox::Init( HOBJECT hModel, const LTVector &vDims, const LTVector &vOffset )
bool CHitBox::Init( HOBJECT hModel, const LTVector &vDims, const LTVector &vOffset )
{
    if( hModel == INVALID_HOBJECT )
        return false;

    if( !s_ShowClientHitBox.IsInitted() )
    {
        s_ShowClientHitBox.Init( g_pLTClient, "ShowClientHitBox", LTNULL, 0.0f );
    }

    m_hModel    = hModel;
    m_vDims        = vDims;
    m_vOffset    = vOffset;

    // Create the hitbox at the propper offset from the models position...

    LTVector vModelPos;
    g_pLTClient->GetObjectPos( m_hModel, &vModelPos );

    LTRotation rModelRot;
    g_pLTClient->GetObjectRotation( m_hModel, &rModelRot );

    LTMatrix mMat;
    rModelRot.ConvertToMatrix( mMat );

    // Get rid of our object if it already exists...

    if( m_hObject != INVALID_HOBJECT )
    {
        g_pLTClient->RemoveObject( m_hObject );
        m_hObject = INVALID_HOBJECT;
    }

    ObjectCreateStruct ocs;
    
    ocs.m_ObjectType    = OT_NORMAL;
    ocs.m_Flags            = FLAG_RAYHIT;
    ocs.m_Pos            = vModelPos + (mMat * m_vOffset);    

    m_hObject = g_pLTClient->CreateObject( &ocs );
    if( m_hObject == INVALID_HOBJECT )
    {
        return false;
    }

    g_pPhysicsLT->SetObjectDims( m_hObject, &m_vDims, 0 );
    
    g_pCommonLT->SetObjectFlags( m_hObject, OFT_User, USRFLG_HITBOX | USRFLG_CHARACTER, USRFLG_HITBOX | USRFLG_CHARACTER );

    return true;
}
CreateBoundingBox
Code:
void CHitBox::CreateBoundingBox()
{
    if( (m_hObject == INVALID_HOBJECT) ||
        (m_hBoundingBox != INVALID_HOBJECT ))
        return;

    ObjectCreateStruct ocs;

    g_pLTClient->GetObjectPos( m_hObject, &ocs.m_Pos );
    
    ocs.m_ObjectType    = OT_MODEL;
    ocs.m_Flags            = FLAG_VISIBLE | FLAG_NOLIGHT | FLAG_GOTHRUWORLD;
    ocs.m_Flags2        = FLAG2_FORCETRANSLUCENT;
    ocs.m_Scale            = m_vDims * 2.0f;

    LTStrCpy( ocs.m_Filename, "MODELS\\sphere.ltb", ARRAY_LEN( ocs.m_Filename ));
        
    m_hBoundingBox = g_pLTClient->CreateObject( &ocs );
    if( m_hBoundingBox == INVALID_HOBJECT )
        return;

    g_pLTClient->SetObjectColor( m_hBoundingBox, HB_COLOR_R, HB_COLOR_G, HB_COLOR_B, HB_COLOR_A);
}
ClientFire
Code:
3742D360  = ClientFire(LTVector const &vPath, LTVector const &vFirePos, LTVector *pObjectImpactPos, HOBJECT *pObjectImpact)

void CClientWeapon::ClientFire( LTVector const &vPath, LTVector const &vFirePos, LTVector *pObjectImpactPos, HOBJECT *pObjectImpact )
{
    // Always process gadget firing...
    if ( m_pAmmo->eType == GADGET )
    {
        DoGadget( vPath, vFirePos );
        return;
    }


    switch ( m_pAmmo->eType )
    {
        case PROJECTILE:
        {
            DoProjectile( vPath, vFirePos );
        }
        break;

        case VECTOR:
        {
            m_vFirePos = vFirePos;

            DoVector( vPath, vFirePos, pObjectImpactPos, pObjectImpact );
        }
        break;

        default:
        {
            g_pLTClient->CPrint( "ERROR in CClientWeapon::ClientFire().  Invalid Ammo Type!" );
        }
        break;
    }
}
Reply With Quote
Reply

  • Submit Thread to Digg
  • Submit Thread to del.icio.us
  • Submit Thread to StumbleUpon
  • Submit Thread to Google
  • Submit Thread to Facebook
  • Submit Thread to My Yahoo!
  • Submit Thread to MySpace
  • Submit Thread to Twitter
  • Submit Thread to Reddit

Tags
info

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT. The time now is 03:01 PM.