PDA

View Full Version : Universal Anti-Recoil


SatanikStar
28th September 2005, 07:10
This was made using autoit, source is included for anyone who wants to go over the code an compile it/change it themselves. Credits to deuss, for the idea, and robotfood, for helping me with the getasynckeystate function.

Credits
robotfood, showing me the GetAsycnKeyState (aka _IsPressed)
deuss, the idea for anti-recoil

VAC2 proof (should in theory stay that way)
Works on all first person shooter games
How Far... = How many pixels to move down
How Fast... = How fast to move down x pixels


How To Use
Select Key
Select How Fast... (0-10, 0 being fastest, 10 being slowest)
Select How Far... (number of pixels to move)
You can press Esc to exit or click the Off button


http://rapidshare.de/files/5618746/anti-recoil.exe.html


#include<GUIConstants.au3>
#include<Constants.au3>
#include<String.au3>

If Not IsDeclared('WS_CLIPSIBLINGS') Then Global $WS_CLIPSIBLINGS = 0x04000000
$GUI = GuiCreate("Anti-Recoil - By BoB", 100, 200,(@DesktopWidth-500)/2, (@DesktopHeight-400)/2 , $WS_OVERLAPPED+$WS_CAPTION+$WS_SYSMENU+$WS_MINIMIZ EBOX+$WS_VISIBLE+$WS_CLIPSIBLINGS)

; Misc
$lastspeed = IniRead("Anti-Recoil.ini", "Info", "$lastspeed", "0")
$lastvalue = IniRead("Anti-Recoil.ini", "Info", "$lastvalue", "1")
$grpvalue = GUICtrlCreateGroup("", 7, 45, 29, 25)
$grpspeed = GUICtrlCreateGroup("", 7, 90, 29, 25)


;Labels
$lblRecoilKey = GUICtrlCreateLabel("Recoil Key", 10, 125, -1, 15)
$lblvalue = GUICtrlCreateLabel($lastvalue, 10, 55, 20, 13)
$lblspeed = GUICtrlCreateLabel($lastspeed, 10, 100, -1, 13)
$lblvaluemsg = GUICtrlCreateLabel("How Far...", 10, 33, -1, 15)
$lblspeedmsg = GUICtrlCreateLabel("How Fast...", 10, 78, -1, 15)


;Buttons
$btnON = GUICtrlCreateButton("On", 10, 5)
$btnOFF = GUICtrlCreateButton("Off", 40, 5)
$btnEditValue = GUICtrlCreateButton("Edit", 45, 48)
$btnEditSpeed = GUICtrlCreateButton("Edit", 45, 94)

;Menu
$menu1 = GUICtrlCreateMenu("Program")
$menuitemEdit = GUICtrlCreateMenuitem("Edit Value", $menu1)
$menuitemExit = GUICtrlCreateMenuitem("Exit", $menu1)

;Combo Menu
$combo = GUICtrlCreateCombo("Select Key...", 10, 140, 100)
$combo2 = GUICtrlSetData(-1,"Mouse1|Mouse2|Mouse3|Enter|Shift|Ctrl|Alt|End","")


Func _IsPressed($hexKey)
Local $aR, $bO
$hexKey = '0x' & $hexKey
$aR = DllCall("user32", "int", "GetAsyncKeyState", "int", $hexKey)
If Not @error And BitAND($aR[0], 0x8000) = 0x8000 Then
$bO = 1
Else
$bO = 0
EndIf
Return $bO
EndFunc

Func AskValue()
$value = InputBox("Enter Value", "Please enter a value between 1-999.")
If $value>=1 And $value<=999 Then
$value1 = GUICtrlSetData($lblvalue, $value)
$writevalue = IniWrite("Anti-Recoil.ini", "Info", "$lastvalue", "" & $value)
Elseif $value<=0 Or $value>=1000 Then
msgbox(0, "Error", "Invalid input, please input a number between 1-999")
$value = 1
Elseif $value = "" Then
msgbox(0, "Error", "Value was not entered, please input a number between 1-999")
$value = 1
EndIf
EndFunc

Func AskSpeed()
$speed = InputBox("Enter Value", "Please enter a value between 0-10")
If $speed>=0 And $speed<=10 Then
$speed1 = GUICtrlSetData($lblspeed, $speed)
$writespeed = IniWrite("Anti-Recoil.ini", "Info", "$lastspeed", "" & $speed)
Elseif $speed<=-1 Or $speed>=10 Then
msgbox(0, "Error", "Invalid input, please input a number between 0-10")
$speed = 1
Elseif $speed = "" Then
msgbox(0, "Error", "Value was not entered, please input a number between 0-10")
$speed = 1
EndIf
EndFunc

Func CheckCombo()
$key = GUICtrlRead($combo)
If $key = "Mouse1" Then
IniWrite("Anti-Recoil.ini", "Info", "$recoilkey", "01")
Elseif $key = "Mouse2" Then
IniWrite("Anti-Recoil.ini", "Info", "$recoilkey", "01")
Elseif $key = "Ctrl" Then
IniWrite("Anti-Recoil.ini", "Info", "$recoilkey", "11")
Elseif $key = "Alt" Then
IniWrite("Anti-Recoil.ini", "Info", "$recoilkey", "12")
Elseif $key = "End" Then
IniWrite("Anti-Recoil.ini", "Info", "$recoilkey", "23")
Elseif $key = "Shift" Then
IniWrite("Anti-Recoil.ini", "Info", "$recoilkey", "10")
Elseif $key = "Mouse3" Then
IniWrite("Anti-Recoil.ini", "Info", "$recoilkey", "04")
Elseif $key = "Enter" Then
IniWrite("Anti-Recoil.ini", "Info", "$recoilkey", "0D")
EndIf
EndFunc

Func Recoil()
While 1
GuiSetState()
$recoilkey = Iniread("Anti-Recoil.cfg", "Info", "$recoilkey", "01")
$exitkey = Iniread("Anti-Recoil.cfg", "Info", "$exitkey", "1B")
$pos = MouseGetPos()
$ypos = $pos[0]
$xpos = $pos[1] + $lastvalue
$msg = GuiGetMsg()
If _IsPressed($recoilkey) = 1 Then
$movemouse = MouseMove($ypos, $xpos, $lastspeed)
Elseif _IsPressed($exitkey) = 1 Then
Exit
Elseif $msg = $btnOFF Or $msg = $GUI_EVENT_CLOSE Then
Exit
Endif
Wend
EndFunc



GuiSetState()

While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $menuitemExit
Exit
Case $msg = $menuitemEdit
AskValue()
Case $msg = $btnEditValue
AskValue()
Case $msg = $btnEditSpeed
AskSpeed()
Case $msg = $btnON
Recoil()
Case $msg = $btnOFF
Exit
Case $msg = $combo
CheckCombo()
EndSelect
Wend


I AM AWARE this comes up as a virus on some virus scanners, I can only assume this is because of the function I used to detected if mouse1 is being clicked or not, this is why the source code is provided, and anyone can at their own will decompile it and check it.

File: anti-recoil.exe
Status: INFECTED/MALWARE
MD5 732ee40487b01c22c5a08de554ea5f30
Packers detected: Analyzing...
Scanner results
AntiVir Found nothing
ArcaVir Found Trojan.Clicker.Small.Ht
Avast Found nothing
AVG Antivirus Found nothing
BitDefender Found nothing
ClamAV Found nothing
Dr.Web Found nothing
F-Prot Antivirus Found nothing
Fortinet Found nothing
Kaspersky Anti-Virus Found nothing
NOD32 Found nothing
Norman Virus Control Found nothing
UNA Found nothing
VBA32 Found nothing

ravenmaster
28th September 2005, 07:47
Works very well actually. Only complaint is that it actually shuts off randomly. I will post proper settings for each gone if you like at a later time. Also i have decompiled and searched there is no virus

ravenmaster
28th September 2005, 09:25
Although there is no way that this could be picked up by vac since its not injecting anything into the game right?

ihateacid
28th September 2005, 11:39
this should work for CS:S too right, can u upload it to MPC attachments instead, rapidshare gives me errors

ravenmaster
28th September 2005, 13:07
I have to say though that this anti is not as good as the one in the CSS downloads section. This one also if you want to adjust it you have to alt tab it then adjust and ghpo back into the game. Which if your comp is anything like mine it takes forever and you might get kicked for inactivity by the console. Lastly it is extremely glitchy sometimes it doesnt stay at the settings you want it to it seems even though it says its at the proper ones.Upon initial playing with it it was nice but after about 5 mins of playing you notice the glitches.
Grade:C-

Sorry nothin against you but I think this could have been better.

ihateacid
28th September 2005, 14:38
heres a mirror(seeing that i need a link for CS:S's stickie)

at least this program is id0it-proof

makaviler
28th September 2005, 21:50
Thanks for the hack! :D

OHSNAP
28th September 2005, 22:43
OT: how can you tell if a hack is going to be or is vac2 undetected/proof? i used this hack, it was ok, probably would be better if i adjusted it properly, but i dont want to spend 20 bucks again to buy it.

so hopefully this is undetected.

evildwarf
29th September 2005, 00:01
OT: how can you tell if a hack is going to be or is vac2 undetected/proof? i used this hack, it was ok, probably would be better if i adjusted it properly, but i dont want to spend 20 bucks again to buy it.

so hopefully this is undetected.

Congrats on answering your own question.

Remember, delayed bans. It can take up to a month before yu0 get banned.

jajaguy14
29th September 2005, 00:51
i would like to no some good settings for the anit-recoil, like what is the best setting for which weapon and shiz like that. I cant seem to get a good setting for anything

SatanikStar
29th September 2005, 01:11
The program was made fine, it's the language that has issues. When you say it doesn't stay on the correct settings, it does, it's just autoit I'm guessing seems to eat CPU, so it starts to slow itself down. I'm thinking of making it go idle priority wise when it isn't being used. The one in the downloads section by soapy is better in a sense because it was made with a real programming language. I'm going to work with it a little bit an see if I can fix the lag glitch in it, but what other glitches are you referring to? Could you explain what settings you use, and what exactly happens?

Also yes this can be used for CSS, that's why it's a Universal Anti-Recoil

Coming updates:
In-game recoil changer
Bug fixes

ravenmaster
29th September 2005, 04:48
sorry i didnt mean to say glitches i just meant glitch.
My other question still remains though there is no way that universal recoil (the one made by soapy) and yours cannot be detected by vac at all right. As it doesnt insert anything into the game or am i wrong in that assumption?

SatanikStar
29th September 2005, 05:37
Unless they detect the .exe name then I don't think there's really any other way. You can easily change the name so it should be vac2 proof forever.

BaDaZZ
29th September 2005, 06:51
Remember, delayed bans. It can take up to a month before yu0 get banned.

10 days max.

ihateacid
29th September 2005, 12:46
Unless they detect the .exe name then I don't think there's really any other way. You can easily change the name so it should be vac2 proof forever. theres the Process Name Changer (http://www.mpcforum.com/showthread.php?t=107715) by Felikz in the CS:S forum

@BaDaZZ, VAC2 banning can be delayed to 1 month, seeing the posts in CS:S's forum

BaDaZZ
29th September 2005, 21:38
@ ihateacid i dont believe teh posts.im judging on my own experience.my first ban was after 7 days and teh second was after 9 days.but maybe its changed i dont know.this was in the beginning of vac.
im wondering wut will happen with my D0D account soon but we cant talk about it here ;)

sobeit
30th September 2005, 18:57
i might make a m60 anti recoil, because that shit is insane, i just need to find some value that says what gun you have...so it doesnt work for all weapons, just m60.

opixan7os
30th September 2005, 19:13
This was made using autoit, source is included for anyone who wants to go over the code an compile it/change it themselves. Credits to deuss, for the idea, and robotfood, for helping me with the getasynckeystate function.

Credits
robotfood, showing me the GetAsycnKeyState (aka _IsPressed)
deuss, the idea for anti-recoil

VAC2 proof (should in theory stay that way)
Works on all first person shooter games
How Far... = How many pixels to move down
How Fast... = How fast to move down x pixels


How To Use
Select Key
Select How Fast... (0-10, 0 being fastest, 10 being slowest)
Select How Far... (number of pixels to move)
You can press Esc to exit or click the Off button


http://rapidshare.de/files/5618746/anti-recoil.exe.html


#include<GUIConstants.au3>
#include<Constants.au3>
#include<String.au3>

If Not IsDeclared('WS_CLIPSIBLINGS') Then Global $WS_CLIPSIBLINGS = 0x04000000
$GUI = GuiCreate("Anti-Recoil - By BoB", 100, 200,(@DesktopWidth-500)/2, (@DesktopHeight-400)/2 , $WS_OVERLAPPED+$WS_CAPTION+$WS_SYSMENU+$WS_MINIMIZ EBOX+$WS_VISIBLE+$WS_CLIPSIBLINGS)

; Misc
$lastspeed = IniRead("Anti-Recoil.ini", "Info", "$lastspeed", "0")
$lastvalue = IniRead("Anti-Recoil.ini", "Info", "$lastvalue", "1")
$grpvalue = GUICtrlCreateGroup("", 7, 45, 29, 25)
$grpspeed = GUICtrlCreateGroup("", 7, 90, 29, 25)


;Labels
$lblRecoilKey = GUICtrlCreateLabel("Recoil Key", 10, 125, -1, 15)
$lblvalue = GUICtrlCreateLabel($lastvalue, 10, 55, 20, 13)
$lblspeed = GUICtrlCreateLabel($lastspeed, 10, 100, -1, 13)
$lblvaluemsg = GUICtrlCreateLabel("How Far...", 10, 33, -1, 15)
$lblspeedmsg = GUICtrlCreateLabel("How Fast...", 10, 78, -1, 15)


;Buttons
$btnON = GUICtrlCreateButton("On", 10, 5)
$btnOFF = GUICtrlCreateButton("Off", 40, 5)
$btnEditValue = GUICtrlCreateButton("Edit", 45, 48)
$btnEditSpeed = GUICtrlCreateButton("Edit", 45, 94)

;Menu
$menu1 = GUICtrlCreateMenu("Program")
$menuitemEdit = GUICtrlCreateMenuitem("Edit Value", $menu1)
$menuitemExit = GUICtrlCreateMenuitem("Exit", $menu1)

;Combo Menu
$combo = GUICtrlCreateCombo("Select Key...", 10, 140, 100)
$combo2 = GUICtrlSetData(-1,"Mouse1|Mouse2|Mouse3|Enter|Shift|Ctrl|Alt|End","")


Func _IsPressed($hexKey)
Local $aR, $bO
$hexKey = '0x' & $hexKey
$aR = DllCall("user32", "int", "GetAsyncKeyState", "int", $hexKey)
If Not @error And BitAND($aR[0], 0x8000) = 0x8000 Then
$bO = 1
Else
$bO = 0
EndIf
Return $bO
EndFunc

Func AskValue()
$value = InputBox("Enter Value", "Please enter a value between 1-999.")
If $value>=1 And $value<=999 Then
$value1 = GUICtrlSetData($lblvalue, $value)
$writevalue = IniWrite("Anti-Recoil.ini", "Info", "$lastvalue", "" & $value)
Elseif $value<=0 Or $value>=1000 Then
msgbox(0, "Error", "Invalid input, please input a number between 1-999")
$value = 1
Elseif $value = "" Then
msgbox(0, "Error", "Value was not entered, please input a number between 1-999")
$value = 1
EndIf
EndFunc

Func AskSpeed()
$speed = InputBox("Enter Value", "Please enter a value between 0-10")
If $speed>=0 And $speed<=10 Then
$speed1 = GUICtrlSetData($lblspeed, $speed)
$writespeed = IniWrite("Anti-Recoil.ini", "Info", "$lastspeed", "" & $speed)
Elseif $speed<=-1 Or $speed>=10 Then
msgbox(0, "Error", "Invalid input, please input a number between 0-10")
$speed = 1
Elseif $speed = "" Then
msgbox(0, "Error", "Value was not entered, please input a number between 0-10")
$speed = 1
EndIf
EndFunc

Func CheckCombo()
$key = GUICtrlRead($combo)
If $key = "Mouse1" Then
IniWrite("Anti-Recoil.ini", "Info", "$recoilkey", "01")
Elseif $key = "Mouse2" Then
IniWrite("Anti-Recoil.ini", "Info", "$recoilkey", "01")
Elseif $key = "Ctrl" Then
IniWrite("Anti-Recoil.ini", "Info", "$recoilkey", "11")
Elseif $key = "Alt" Then
IniWrite("Anti-Recoil.ini", "Info", "$recoilkey", "12")
Elseif $key = "End" Then
IniWrite("Anti-Recoil.ini", "Info", "$recoilkey", "23")
Elseif $key = "Shift" Then
IniWrite("Anti-Recoil.ini", "Info", "$recoilkey", "10")
Elseif $key = "Mouse3" Then
IniWrite("Anti-Recoil.ini", "Info", "$recoilkey", "04")
Elseif $key = "Enter" Then
IniWrite("Anti-Recoil.ini", "Info", "$recoilkey", "0D")
EndIf
EndFunc

Func Recoil()
While 1
GuiSetState()
$recoilkey = Iniread("Anti-Recoil.cfg", "Info", "$recoilkey", "01")
$exitkey = Iniread("Anti-Recoil.cfg", "Info", "$exitkey", "1B")
$pos = MouseGetPos()
$ypos = $pos[0]
$xpos = $pos[1] + $lastvalue
$msg = GuiGetMsg()
If _IsPressed($recoilkey) = 1 Then
$movemouse = MouseMove($ypos, $xpos, $lastspeed)
Elseif _IsPressed($exitkey) = 1 Then
Exit
Elseif $msg = $btnOFF Or $msg = $GUI_EVENT_CLOSE Then
Exit
Endif
Wend
EndFunc



GuiSetState()

While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $menuitemExit
Exit
Case $msg = $menuitemEdit
AskValue()
Case $msg = $btnEditValue
AskValue()
Case $msg = $btnEditSpeed
AskSpeed()
Case $msg = $btnON
Recoil()
Case $msg = $btnOFF
Exit
Case $msg = $combo
CheckCombo()
EndSelect
Wend


I AM AWARE this comes up as a virus on some virus scanners, I can only assume this is because of the function I used to detected if mouse1 is being clicked or not, this is why the source code is provided, and anyone can at their own will decompile it and check it.

File: anti-recoil.exe
Status: INFECTED/MALWARE
MD5 732ee40487b01c22c5a08de554ea5f30
Packers detected: Analyzing...
Scanner results
AntiVir Found nothing
ArcaVir Found Trojan.Clicker.Small.Ht
Avast Found nothing
AVG Antivirus Found nothing
BitDefender Found nothing
ClamAV Found nothing
Dr.Web Found nothing
F-Prot Antivirus Found nothing
Fortinet Found nothing
Kaspersky Anti-Virus Found nothing
NOD32 Found nothing
Norman Virus Control Found nothing
UNA Found nothing
VBA32 Found nothing

can you add a settings.txt with hotkey for example

numpad 1 = x 1.2 y 2.5
numpad 2 = x 2.5 y 2

so that we can define exapmle for CS:S AK M4...

evildwarf
1st October 2005, 00:26
10 days max.

Sorry, I forgot you work for Valve. I should have known.

DDIChester
1st October 2005, 00:40
i play inverted mouse, don't ask why but i do, is there any way to reverse it?

RaUnD
1st October 2005, 02:54
ok sry for being a noob but .. for what is the anti-recoil ? and when i played on some server but when i fire my weapon goes crazy .. up and down ... not like in cs :( i dont have invert mouse activeted ...

OHSNAP
1st October 2005, 03:17
ok sry for being a noob but .. for what is the anti-recoil ? and when i played on some server but when i fire my weapon goes crazy .. up and down ... not like in cs :( i dont have invert mouse activeted ...

when you fire your gun in DoD:S, the crosshairs will flick upwards real fast, that is recoil. in real life, if you fire a gun, the force of the explosion in the combustion chamber will make the gun go up in your hands.

anti-recoil is getting rid of the upward movement made after firing by making your mouse go down, so in theory, your crosshairs shouldn't move at all after you fire.

this program makes your mouse cursor go down everytime you press the fire button. if you calibrate it right to suit the weapon of your choice, your crosshairs shouldn't move much at all once you fire your gun.

however it all get's messed up once you start ducking or using prone position, since the recoil degree isn't as much. so if you set your recoil to zero recoil while standing up, if you try shooting while crouched or in prone, you will be aiming at their feet.

ihateacid
1st October 2005, 06:55
and of course with recoil comes spread

recoil=up+down of weapon crosshair
spread=right+left of weapon crosshair

norecoil can simply be a program that moves the crosshair down a certain value everytime u press it, u can configure it to be 'perfect'

nospread usually can only be over come by hacking/injecting the game.exe, its not possible to use an outside program to 'remove' the nospread

so thats y people do burst-fire when shooting, the spread/recoil will be minimized

ravenmaster
2nd October 2005, 05:09
anywy anyone could make a no-recoil script that does lets say a 7 round burst when holding down the mouse 1 button? Just a thought i am still learning scripting and i am not good enough yet to make that...or maybe even just a script to do 5-7 round bursts?

Tumi
2nd October 2005, 06:04
I can't get it to work. Where should I install it and why is uit that every time I run the app, and start up Dod:S the app automatically exits!!!!

opixan7os
2nd October 2005, 22:55
and of course with recoil comes spread

recoil=up+down of weapon crosshair
spread=right+left of weapon crosshair

norecoil can simply be a program that moves the crosshair down a certain value everytime u press it, u can configure it to be 'perfect'

nospread usually can only be over come by hacking/injecting the game.exe, its not possible to use an outside program to 'remove' the nospread

so thats y people do burst-fire when shooting, the spread/recoil will be minimized

thats not correct.. he can make a No recoil and spread with settings hotkey txt file so we can add how much faste the norecoil are and a nospread so that the mouse goes by pressing mouse1 left and right fast by fov 1
that reduce the spread i have see.. a norecoil with settings and nospread left right fast goes with setting..

ihateacid
5th October 2005, 11:30
and of course with recoil comes spread

recoil=up+down of weapon crosshair
spread=right+left of weapon crosshair

norecoil can simply be a program that moves the crosshair down a certain value everytime u press it, u can configure it to be 'perfect'

nospread usually can only be over come by hacking/injecting the game.exe, its not possible to use an outside program to 'remove' the nospread

so thats y people do burst-fire when shooting, the spread/recoil will be minimized

thats not correct.. he can make a No recoil and spread with settings hotkey txt file so we can add how much faste the norecoil are and a nospread so that the mouse goes by pressing mouse1 left and right fast by fov 1
that reduce the spread i have see.. a norecoil with settings and nospread left right fast goes with setting.. i've seen a nospread bind in CS:S, by lowering the mouse sensitive when u press Mouse1, but u cant move ur mouse much so its quite useless