google-site-verification: googlebaca44933768a824.html [CS:S] AutoWall Infos - Old Royal Hack Forum

Announcement

Collapse
No announcement yet.

[CS:S] AutoWall Infos

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    [CS:S] AutoWall Infos

    this thread is in fact nothing special...just pointing out how the game actually gets some needed info to get AutoWall working.

    1. getting penetration power and max penetration distance
    Code:
    int iPenetrationPower = 0;
    float flPenetrationDistance = 0.0f;
    	
    float fPenetrationPower = 0.0f;
    DWORD dwGetBulletTypeParameters = 0x241CE4B0;
    _asm
    {
    	LEA ECX, flPenetrationDistance
    	PUSH ECX
    	LEA EDX, fPenetrationPower
    	PUSH EDX
    	PUSH iBulletType
    	CALL dwGetBulletTypeParameters
    }
    iPenetrationPower = (int)fPenetrationPower;
    2. modifying damage and penetrations power based on the current material
    Code:
    int iMaterial = pSurfaceData->game.material;
    
    DWORD dwGetTextureInformation = 0x241CE670;
    _asm
    {
    	LEA EAX, flDamageModifier
    	LEA ECX, flPenetrationPowerModifier
    	MOV EDX, iMaterial
    	CALL dwGetTextureInformation
    }
    iPenetrationPower *= flPenetrationPowerModifier;
    some additional infos:

    the game first traces using tracray and actually checks if we hit anything (tr.fraction != 1.0f).
    then they are using UTIL_ClipRayToPlayers to get the playerentity we are aiming at.
    they are using CTraceFilterSkipTwoEntities for those tracings. the first try they init the tracefilter to skip the local entity, if we are going to cause damage to a players the game starts a second try and inits the filter with the current target and the local player.

    if you want to know more simply look into FireBullets3(called by FX_FireBullets)


    so far hope that helps
    I 0x90 you!

    #2
    This could also be useful.

    Code:
    void CEntity::GetWeaponInfo ( int iWeaponID, int &iDamage, int &iBulletType, float &flRange )
    {
    	DWORD dwLookupWeaponInfo = 0x2417EC60;
    	DWORD dwGetWeaponInfo = 0x2417EB10;
    
    	char szWeapon[128];
    	DWORD dwSDKWeaponInfo;
    
    	sprintf_s ( szWeapon, sizeof ( szWeapon ), "weapon_%s", GetWeaponAlias ( iWeaponID ) );
    
    	__asm
    	{
    		LEA ECX, szWeapon;
    		PUSH ECX;
    		CALL dwLookupWeaponInfo;
    		MOV ESI, EAX;
    		PUSH ESI;
    		CALL dwGetWeaponInfo;
    		MOV dwSDKWeaponInfo, EAX;
    	}
    
    	iDamage = *(PINT)( dwSDKWeaponInfo + 0x7E0 );
    	iBulletType = *(PINT)( dwSDKWeaponInfo + 0x620 );
    
    	flRange = *(PFLOAT)( dwSDKWeaponInfo + 0x7E4 );
    }

    Comment


      #3
      just curious, nice work, both of you, but why are you using static addresses?
      sig scanning is more fun :001_rolleyes:
      Originally posted by wav
      My German blood demands I decimate this game quickly.
      XFire - AddMe

      Comment


        #4
        Originally posted by fuck_VAC View Post
        just curious, nice work, both of you, but why are you using static addresses?
        sig scanning is more fun :001_rolleyes:
        Well how often does CSS update?
        And that is your answer :)

        Comment


          #5
          Originally posted by fuck_VAC View Post
          just curious, nice work, both of you, but why are you using static addresses?
          sig scanning is more fun :001_rolleyes:
          cuz skyhax wouldnt be raged when CSS updates duh.

          && agree with badsta

          for some game like MW2 it is very useful which updates often
          /* fibre */

          Comment


            #6
            .............
            Last edited by xiNSANE; 11-04-2019, 03:59 AM.

            Comment


              #7
              Omg, just stop posting, seriously. STOP POSTING OR MAKE MORE GODDAMN SENSE, you decide.
              <&[myg0t]sp0rk>your little lungs is too small to hotbox with god

              See a Star? Add a Zero, now you can know him.

              Comment

              Working...
              X