Raised This Month: $ Target: $400
 0% 

Help me to convert this please


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
darktemplar
Member
Join Date: Sep 2009
Old 01-22-2013 , 08:43   Help me to convert this please
Reply With Quote #1

Code:
void CBaseEntity::FireBullets(ULONG cShots, Vector vecSrc, Vector vecDirShooting, Vector vecSpread, float flDistance, int iBulletType, int iTracerFreq, int iDamage, entvars_t *pevAttacker )
{
    static int tracerCount;
    int tracer;
    TraceResult tr;
    Vector vecRight = gpGlobals->v_right;
    Vector vecUp = gpGlobals->v_up;

    if ( pevAttacker == NULL )
        pevAttacker = pev;  // the default attacker is ourselves

    ClearMultiDamage();
    gMultiDamage.type = DMG_BULLET | DMG_NEVERGIB;

    for (ULONG iShot = 1; iShot <= cShots; iShot++)
    {
        // get circular gaussian spread
        float x, y, z;
        do {
            x = RANDOM_FLOAT(-0.5,0.5) + RANDOM_FLOAT(-0.5,0.5);
            y = RANDOM_FLOAT(-0.5,0.5) + RANDOM_FLOAT(-0.5,0.5);
            z = x*x+y*y;
        } while (z > 1);

        Vector vecDir = vecDirShooting +
                        x * vecSpread.x * vecRight +
                        y * vecSpread.y * vecUp;
        Vector vecEnd;

        vecEnd = vecSrc + vecDir * flDistance;
        UTIL_TraceLine(vecSrc, vecEnd, dont_ignore_monsters, ENT(pev)/*pentIgnore*/, &tr);

        tracer = 0;
        if (iTracerFreq != 0 && (tracerCount++ % iTracerFreq) == 0)
        {
            Vector vecTracerSrc;

            if ( IsPlayer() )
            {// adjust tracer position for player
                vecTracerSrc = vecSrc + Vector ( 0 , 0 , -4 ) + gpGlobals->v_right * 2 + gpGlobals->v_forward * 16;
            }
            else
            {
                vecTracerSrc = vecSrc;
            }
            
            if ( iTracerFreq != 1 )        // guns that always trace also always decal
                tracer = 1;
            switch( iBulletType )
            {
            case BULLET_MONSTER_MP5:
            case BULLET_MONSTER_9MM:
            case BULLET_MONSTER_12MM:
            default:
                MESSAGE_BEGIN( MSG_PAS, SVC_TEMPENTITY, vecTracerSrc );
                    WRITE_BYTE( TE_TRACER );
                    WRITE_COORD( vecTracerSrc.x );
                    WRITE_COORD( vecTracerSrc.y );
                    WRITE_COORD( vecTracerSrc.z );
                    WRITE_COORD( tr.vecEndPos.x );
                    WRITE_COORD( tr.vecEndPos.y );
                    WRITE_COORD( tr.vecEndPos.z );
                MESSAGE_END();
                break;
            }
        }
        // do damage, paint decals
        if (tr.flFraction != 1.0)
        {
            CBaseEntity *pEntity = CBaseEntity::Instance(tr.pHit);

            if ( iDamage )
            {
                pEntity->TraceAttack(pevAttacker, iDamage, vecDir, &tr, DMG_BULLET | ((iDamage > 16) ? DMG_ALWAYSGIB : DMG_NEVERGIB) );
                
                TEXTURETYPE_PlaySound(&tr, vecSrc, vecEnd, iBulletType);
                DecalGunshot( &tr, iBulletType );
            } 
            else switch(iBulletType)
            {
            default:
            case BULLET_MONSTER_9MM:
                pEntity->TraceAttack(pevAttacker, gSkillData.monDmg9MM, vecDir, &tr, DMG_BULLET);
                
                TEXTURETYPE_PlaySound(&tr, vecSrc, vecEnd, iBulletType);
                DecalGunshot( &tr, iBulletType );

                break;

            case BULLET_MONSTER_MP5:
                pEntity->TraceAttack(pevAttacker, gSkillData.monDmgMP5, vecDir, &tr, DMG_BULLET);
                
                TEXTURETYPE_PlaySound(&tr, vecSrc, vecEnd, iBulletType);
                DecalGunshot( &tr, iBulletType );

                break;

            case BULLET_MONSTER_12MM:        
                pEntity->TraceAttack(pevAttacker, gSkillData.monDmg12MM, vecDir, &tr, DMG_BULLET); 
                if ( !tracer )
                {
                    TEXTURETYPE_PlaySound(&tr, vecSrc, vecEnd, iBulletType);
                    DecalGunshot( &tr, iBulletType );
                }
                break;
            
            case BULLET_NONE: // FIX 
                pEntity->TraceAttack(pevAttacker, 50, vecDir, &tr, DMG_CLUB);
                TEXTURETYPE_PlaySound(&tr, vecSrc, vecEnd, iBulletType);
                // only decal glass
                if ( !FNullEnt(tr.pHit) && VARS(tr.pHit)->rendermode != 0)
                {
                    UTIL_DecalTrace( &tr, DECAL_GLASSBREAK1 + RANDOM_LONG(0,2) );
                }

                break;
            }
        }
        // make bullet trails
        UTIL_BubbleTrail( vecSrc, tr.vecEndPos, (flDistance * tr.flFraction) / 64.0 );
    }
    ApplyMultiDamage(pev, pevAttacker);
}
I really need this code in AMXX. Can some pros help me convert this to AMXX, please ...
Thank you in advance
darktemplar is offline
Mrki_Drakula
Senior Member
Join Date: Jun 2011
Location: Serbia
Old 01-23-2013 , 06:22   Re: Help me to convert this please
Reply With Quote #2

What is it for? There's probably somewhere around the Forum.
__________________
-----------------------------------------------
Best regards,
David Snajder (aka Crysis)
Mrki_Drakula is offline
Send a message via MSN to Mrki_Drakula Send a message via Skype™ to Mrki_Drakula
fl0werD
Senior Member
Join Date: May 2011
Old 01-23-2013 , 06:28   Re: Help me to convert this please
Reply With Quote #3

Lol. Call this with help Rage.
fl0werD is offline
Send a message via ICQ to fl0werD
darktemplar
Member
Join Date: Sep 2009
Old 01-23-2013 , 23:36   Re: Help me to convert this please
Reply With Quote #4

I don't want to use rage . Because in my opinion, it's complicated if I transfer my code to another Counter Strike 1.6 .

Mrki_Drakula : Do you remember where this converted code is ? Please show me

Can anyone help me please
darktemplar is offline
Reply


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

Forum Jump


All times are GMT -4. The time now is 20:30.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode