Page 1 of 2 12 LastLast
Results 1 to 15 of 20
  1. #1
    hoschi111's Avatar
    Join Date
    Aug 2007
    Gender
    male
    Location
    127.0.0.1
    Posts
    59
    Reputation
    10
    Thanks
    98
    My Mood
    Amazed

    Check if WeaponID is +1

    Hello MPGH,
    i tried to find a way to check the "WeaponID +1" dynamically.
    I was quite successful by finding an address:

    Code:
    iw5mp.exe+5C7838
    0x9C7838
    2 Byte Int
    OR
    iw5mp.exe+5C7BE8
    0x9C7BE8
    2 Byte Int
    
    1 = WeaponID +1
    0 = WeaponID +0
    BUT:
    The addresses changes just after map is fully loaded.
    Reading while map is loading returns an inaccurate value.

    Hope I could help you.
    ~ hoschi111
    If you like my posts, i'm thankful for every Rep or Thanks.

  2. The Following User Says Thank You to hoschi111 For This Useful Post:

    rawr im a tiger (10-17-2012)

  3. #2
    Kenshin13's Avatar
    Join Date
    May 2011
    Gender
    male
    Location
    Cloud 9
    Posts
    3,470
    Reputation
    564
    Thanks
    6,168
    My Mood
    Psychedelic
    Why read the addresses dynamically?
    Static ones are much easier. There's a weaponID byte in the Entity_T structure.
    Check it out.

  4. #3
    hoschi111's Avatar
    Join Date
    Aug 2007
    Gender
    male
    Location
    127.0.0.1
    Posts
    59
    Reputation
    10
    Thanks
    98
    My Mood
    Amazed
    Oh no, i think you didn't understand me, i am sorry.
    On certain maps, your WeaponID is +1.
    To avoid that you've to check it on each map, i just posted the addresse which returns "1" if "+1" or "0" if "+0" for all maps.
    This address is static.
    Last edited by hoschi111; 10-17-2012 at 08:25 PM.
    If you like my posts, i'm thankful for every Rep or Thanks.

  5. #4
    rawr im a tiger's Avatar
    Join Date
    Feb 2012
    Gender
    male
    Location
    On the edge of Sanity
    Posts
    238
    Reputation
    40
    Thanks
    1,041
    My Mood
    Angelic
    I had a way of doing this by checking the mapname, but this is much more elegant. Nice work.

  6. #5
    Kenshin13's Avatar
    Join Date
    May 2011
    Gender
    male
    Location
    Cloud 9
    Posts
    3,470
    Reputation
    564
    Thanks
    6,168
    My Mood
    Psychedelic
    Pointer scan?
    Try to find the main pointer(if this isn't already static, which it should'nt be if they change)
    Or as the best way->Make a pattern signature so you can scan for them and refind them if they change.

  7. #6
    cardoow's Avatar
    Join Date
    Jan 2008
    Gender
    male
    Posts
    215
    Reputation
    28
    Thanks
    766
    My Mood
    Amazed
    what do you mean with "weaponID + 1"? and what are you trying to get? the weaponname?

  8. #7
    hoschi111's Avatar
    Join Date
    Aug 2007
    Gender
    male
    Location
    127.0.0.1
    Posts
    59
    Reputation
    10
    Thanks
    98
    My Mood
    Amazed
    Example:
    Map Seatown: USP = 6, (standard) (ID)
    Map Dome: USP = 7, (+1) (ID)

    If the address says "1", your Weapon ID is "Standard + 1".
    Otherwise, if the value is "0", it is only standard (Standard + 0).

    @Kenshin13
    The address is STATIC, but returns your desired value regarding to the current map. That is what i've called "dynamically".
    @rawr im a tiger
    Thank you
    If you like my posts, i'm thankful for every Rep or Thanks.

  9. The Following User Says Thank You to hoschi111 For This Useful Post:

    rawr im a tiger (10-19-2012)

  10. #8
    Kenshin13's Avatar
    Join Date
    May 2011
    Gender
    male
    Location
    Cloud 9
    Posts
    3,470
    Reputation
    564
    Thanks
    6,168
    My Mood
    Psychedelic
    Yea I realized but as I said before make a signature for it.
    The signature never changes so you'll always find it.

  11. #9
    cardoow's Avatar
    Join Date
    Jan 2008
    Gender
    male
    Posts
    215
    Reputation
    28
    Thanks
    766
    My Mood
    Amazed
    Quote Originally Posted by hoschi111 View Post
    Example:
    Map Seatown: USP = 6, (standard) (ID)
    Map Dome: USP = 7, (+1) (ID)

    If the address says "1", your Weapon ID is "Standard + 1".
    Otherwise, if the value is "0", it is only standard (Standard + 0).

    @Kenshin13
    The address is STATIC, but returns your desired value regarding to the current map. That is what i've called "dynamically".
    @rawr im a tiger
    Thank you
    Code:
    char * GetWeaponName(DWORD dwNum)
    {
    	DWORD dwReturn = NULL;
    	__asm{		
    		mov eax, dwNum
    		and eax, 0FFh
    		add eax, eax
    		add eax, eax
    		mov eax,[eax+0xA011D4]
    		mov dwReturn, eax		
    	}
    	return (char*)dwReturn;
    }
    you can get weapon names with this function, offset is outdated though

  12. #10
    Kenshin13's Avatar
    Join Date
    May 2011
    Gender
    male
    Location
    Cloud 9
    Posts
    3,470
    Reputation
    564
    Thanks
    6,168
    My Mood
    Psychedelic
    Using Cardow's method, you jus add the offset...
    Code:
    char * GetWeaponName(DWORD dwNum)
    {
    	DWORD dwReturn = NULL;
    	__asm{		
    		mov eax, dwNum;
    		and eax, 0FFh;
    		add eax, eax;
    		add eax, eax;
    		mov eax,[eax+GetWeaponNameHERE];
    		mov dwReturn, eax;
    	}
    	return (char*)dwReturn;
    }
    
    Offset Ver: 1.4.382 - 0x00A042D4
    And this one returns the WeaponID

    Code:
    DWORD GetWeapon(DWORD dwNum)
    {
        DWORD dwReturn = NULL; 
        __asm
       {	 
          mov eax, dwNum;
          and eax, 0FFh;
          mov eax, [eax*4+GetWeaponOffsetHERE]; 
          mov dwReturn, eax;
       } 
       return dwReturn; 
    }
    
    Offset Ver: 1.4.382 - 0x008DDB50
    BTW I assumed dwNum is the client's/entity's number or weapon id...
    Last edited by Kenshin13; 10-18-2012 at 05:26 PM.

  13. #11
    cardoow's Avatar
    Join Date
    Jan 2008
    Gender
    male
    Posts
    215
    Reputation
    28
    Thanks
    766
    My Mood
    Amazed
    Quote Originally Posted by Kenshin13 View Post
    Using Cardow's method, you jus add the offset...
    Code:
    char * GetWeaponName(DWORD dwNum)
    {
    	DWORD dwReturn = NULL;
    	__asm{		
    		mov eax, dwNum;
    		and eax, 0FFh;
    		add eax, eax;
    		add eax, eax;
    		mov eax,[eax+GetWeaponNameHERE];
    		mov dwReturn, eax;
    	}
    	return (char*)dwReturn;
    }
    
    Offset Ver: 1.4.382 - 0x00A042D4
    And this one returns the WeaponID

    Code:
    DWORD GetWeapon(DWORD dwNum)
    {
        DWORD dwReturn = NULL; 
        __asm
       {	 
          mov eax, dwNum;
          and eax, 0FFh;
          mov eax, [eax*4+GetWeaponOffsetHERE]; 
          mov dwReturn, eax;
       } 
       return dwReturn; 
    }
    
    Offset Ver: 1.4.382 - 0x008DDB50
    BTW I assumed dwNum is the client's/entity's number or weapon id...
    dwNum is indeed client/entity weaponid.
    The second function doesnt return the weaponid, it return an offset to a weaponclass which contains local stuff
    like crosshair size, spread, recoil, sway etc

  14. #12
    hoschi111's Avatar
    Join Date
    Aug 2007
    Gender
    male
    Location
    127.0.0.1
    Posts
    59
    Reputation
    10
    Thanks
    98
    My Mood
    Amazed
    There is a better address for "Weapon +1"-Check:
    Code:
    0x01B70234
    Integer
    1 = +1
    0 = +0
    My two addresses in the first post behaves very improper in Online-Games or after a few time.
    This new address stays the same the whole map long.
    If you like my posts, i'm thankful for every Rep or Thanks.

  15. #13
    Kenshin13's Avatar
    Join Date
    May 2011
    Gender
    male
    Location
    Cloud 9
    Posts
    3,470
    Reputation
    564
    Thanks
    6,168
    My Mood
    Psychedelic
    Now tell me, why even do this when you can use @cardoow's naked function and get full blown weapon names for each player:
    BTW I didn't do anything other than send the entity's weapon ID.
    Last edited by Kenshin13; 10-19-2012 at 04:30 PM. Reason: Imma fish....Mooo

  16. #14
    rawr im a tiger's Avatar
    Join Date
    Feb 2012
    Gender
    male
    Location
    On the edge of Sanity
    Posts
    238
    Reputation
    40
    Thanks
    1,041
    My Mood
    Angelic
    Quote Originally Posted by Kenshin13 View Post
    Now tell me, why even do this when you can use @cardoow's naked function and get full blown weapon names for each player:
    Because not every hack is internal?

  17. The Following User Says Thank You to rawr im a tiger For This Useful Post:

    Kenshin13 (10-20-2012)

  18. #15
    cardoow's Avatar
    Join Date
    Jan 2008
    Gender
    male
    Posts
    215
    Reputation
    28
    Thanks
    766
    My Mood
    Amazed
    Quote Originally Posted by rawr im a tiger View Post
    Because not every hack is internal?
    That made me lol! why do you need to be internal?

Page 1 of 2 12 LastLast

Similar Threads

  1. CMG anthem, check this out FoM lovers ;)
    By Beer_Hunter in forum General Gaming
    Replies: 2
    Last Post: 10-17-2006, 03:48 PM
  2. Omg Omg Omg Check This!!
    By The_Enigma in forum General
    Replies: 15
    Last Post: 07-08-2006, 09:35 AM
  3. Guys check this out
    By kvmn8 in forum General
    Replies: 13
    Last Post: 06-26-2006, 02:10 AM
  4. Lol check out my crappy sig
    By Severed in forum Art & Graphic Design
    Replies: 1
    Last Post: 02-21-2006, 11:05 AM