The Ultimate CS:GO No Recoil Script

Post gaming related scripts
For free

Re: The Ultimate CS:GO No Recoil Script

29 Mar 2016, 21:35

#singleInstance, force ;one instance is easier to handle
SendMode Input ;for the fast sending keys

SetTitleMatchMode, 3
#IfWinActive Counter-Strike: Global Offensive

;0 = default
;1 = tap once
;2 = tap twice
;3 = burst
;4 = fully auto for semi auto
fireMode = 0

;0 = off
;1 = on
noRecoil = 0

canAuto = 0

BHopOn = 0

consistPull = 0

firstShotRecoilTimeMax = 15
firstShotRecoilTime = 0

firstShotRestTimeMax = 5
firstShotRestTime = 0

;FileRead, tempWepText, %A_WorkingDir%\buy_info.txt
tempWepText := "nova|xm1014|sawedoff|m249|negev|mac10|mp7|ump45|p90|bizon|famas|m4a1|ssg08|aug|awp|scar20`nelite|p250|tec9|deagle`nvest|vesthelm|Taser|defuser`nmolotov|decoy|flashbang|hegrenade|smokegrenade`nNova|XM1014|Sawed-Off/MAG-7|M249|Negev|MAC-10/MP9|MP7|UMP-45|P90|PP-Bizon|Galil AR/FAMAS|AK47/M4A4/M4A1-S|SSG 08|SG 553/AUG|AWP|G3SG1/SCAR-20`nDual Berettas|P250|Tec-9/Five-SeveN/CZ75-Auto|Desert Eagle`nKevlar Vest|Kevlar + Helmet|Zeus x27|Defuse/Rescue Kit`nMolotov/Incendiary Grenade|Decoy Grenade|Flashbang|High Explosive Grenade|Smoke Grenade"

;remove all of the \r for simplicity
StringReplace, tempWepText, tempWepText, `r, ,
;arrays 1-4 is console name
;arrays 5-8 is label (alias)
StringSplit, wepArray, tempWepText, `n,
;the split string array is for the sake of simplicity
StringSplit, wepArraySplit1, wepArray1, |,
StringSplit, wepArraySplit2, wepArray2, |,
StringSplit, wepArraySplit3, wepArray3, |,
StringSplit, wepArraySplit4, wepArray4, |,

;read the saved presets file
FileRead, tempSaveText, %A_WorkingDir%\buy_save.txt
If ErrorLevel = 1
{
FileAppend, None#None#None#None^None#None#None#None^None#None#None#None, %A_WorkingDir%\buy_save.txt
FileRead, tempSaveText, %A_WorkingDir%\buy_save.txt
}
StringReplace, tempSaveText, tempSaveText, `r, ,
StringSplit, tempSaveArray, tempSaveText, ^,
StringSplit, tempSaveArraySplit1, tempSaveArray1, #,
StringSplit, tempSaveArraySplit2, tempSaveArray2, #,
StringSplit, tempSaveArraySplit3, tempSaveArray3, #,
;this is were the saved presets are stored
primary1 := tempSaveArraySplit11
secondary1 := tempSaveArraySplit12
gear1 := tempSaveArraySplit13
grenade1 := tempSaveArraySplit14

primary2 := tempSaveArraySplit21
secondary2 := tempSaveArraySplit22
gear2 := tempSaveArraySplit23
grenade2 := tempSaveArraySplit24

primary3 := tempSaveArraySplit31
secondary3 := tempSaveArraySplit32
gear3 := tempSaveArraySplit33
grenade3 := tempSaveArraySplit34

;show GUI
Gui, Show, w320 h500, CS:GO Tools
Gui, Add, Text, x10 y10, Primary:
Gui, Add, DropDownList, x10 y30 w150 vPrimaryWep Choose1 AltSubmit, None|%wepArray5%
Gui, Add, Text, x10 y60, Secondary:
Gui, Add, DropDownList, x10 y80 w150 vSecondaryWep Choose1 AltSubmit, None|%wepArray6%
Gui, Add, Text, x10 y110, Gear:
Gui, Add, ListBox, x10 y130 w150 h120 vGearWep Multi Choose1 AltSubmit, None|%wepArray7%
Gui, Add, Text, x10 y250, Grenade:
Gui, Add, ListBox, x10 y270 w150 h120 vGrenadeWep Multi Choose1 AltSubmit, None|%wepArray8%

Gui, Add, GroupBox, x170 y100 w135 h190, Other:
Gui, Add, Text, x180 y120 w200 vFIREMODE cBlue, Fire Mode: Default
Gui, Add, Text, x180 y140 vNORECOIL cBlue, No Recoil: Off
Gui, Add, Text, x180 y160 cBlue, No Recoil Amount:
Gui, Add, Edit
Gui, Add, UpDown, vNORECOILAMT Range1-8, 1
Gui, Add, CheckBox, x180 y210 vFireStop, Stop On Fire
Gui, Add, CheckBox, x180 y230 vSlowAuto, Slow Down Auto Fire
Gui, Add, Text, x180 y250 vBHOP cBlue, BHop: Off
Gui, Add, Text, x180 y270 vCONSISTPULL cBlue, Consistent Pull: Off

Gui, Add, Text, x10 y390, Set As Key:
Gui, Add, Button, x10 y410 w60 h60 vPRESET1BUTTON gPRESET1, Numpad 1
Gui, Add, Button, x80 y410 w60 h60 vPRESET2BUTTON gPRESET2, Numpad 2
Gui, Add, Button, x150 y410 w60 h60 vPRESET3BUTTON gPRESET3, Numpad 3

Gui, Add, GroupBox, x-5 y470 w325 h500,
Gui, Add, Text, x5 y480, The Ultimate CS:GO Tools!
Gui, Add, Text, x220 y480, By: EpicnessCoding

OnExit, GuiClose

return ;return so that the program does not run the code below on start-up

;handle the preset button clicks
PRESET1:

GuiControlGet, PrimaryWep
GuiControlGet, SecondaryWep
GuiControlGet, GearWep
GuiControlGet, GrenadeWep
PrimaryWep -= 1
SecondaryWep -= 1

if(PrimaryWep != 0)
primary1 := wepArraySplit1%PrimaryWep%
else
primary1 := "None"
if(SecondaryWep != 0)
secondary1 := wepArraySplit2%SecondaryWep%
else
secondary1 := "None"

Loop, parse, GearWep, |
{
tempVar := A_LoopField - 1
if(tempVar != 0){
if(A_Index == 1)
gear1 := wepArraySplit3%tempVar%
else
gear1 := gear1 . "|" . wepArraySplit3%tempVar%
}else{
gear1 := "None"
}
}

Loop, parse, GrenadeWep, |
{
tempVar := A_LoopField - 1
if(tempVar != 0){
if(A_Index == 1)
grenade1 := wepArraySplit4%tempVar%
else
grenade1 := grenade1 . "|" . wepArraySplit4%tempVar%
}else{
grenade1 := "None"
break
}
}

return

PRESET2:

GuiControlGet, PrimaryWep
GuiControlGet, SecondaryWep
GuiControlGet, GearWep
GuiControlGet, GrenadeWep
PrimaryWep -= 1
SecondaryWep -= 1

if(PrimaryWep != 0)
primary2 := wepArraySplit1%PrimaryWep%
else
primary2 := "None"
if(SecondaryWep != 0)
secondary2 := wepArraySplit2%SecondaryWep%
else
secondary2 := "None"

Loop, parse, GearWep, |
{
tempVar := A_LoopField - 1
if(tempVar != 0){
if(A_Index == 1)
gear2 := wepArraySplit3%tempVar%
else
gear2 := gear2 . "|" . wepArraySplit3%tempVar%
}else{
gear2 := "None"
}
}

Loop, parse, GrenadeWep, |
{
tempVar := A_LoopField - 1
if(tempVar != 0){
if(A_Index == 1)
grenade2 := wepArraySplit4%tempVar%
else
grenade2 := grenade2 . "|" . wepArraySplit4%tempVar%
}else{
grenade2 := "None"
break
}
}

return

PRESET3:

GuiControlGet, PrimaryWep
GuiControlGet, SecondaryWep
GuiControlGet, GearWep
GuiControlGet, GrenadeWep
PrimaryWep -= 1
SecondaryWep -= 1

if(PrimaryWep != 0)
primary3 := wepArraySplit1%PrimaryWep%
else
primary3 := "None"
if(SecondaryWep != 0)
secondary3 := wepArraySplit2%SecondaryWep%
else
secondary3 := "None"

Loop, parse, GearWep, |
{
tempVar := A_LoopField - 1
if(tempVar != 0){
if(A_Index == 1)
gear3 := wepArraySplit3%tempVar%
else
gear3 := gear3 . "|" . wepArraySplit3%tempVar%
}else{
gear3 := "None"
}
}

Loop, parse, GrenadeWep, |
{
tempVar := A_LoopField - 1
if(tempVar != 0){
if(A_Index == 1)
grenade3 := wepArraySplit4%tempVar%
else
grenade3 := grenade3 . "|" . wepArraySplit4%tempVar%
}else{
grenade3 := "None"
break
}
}

return

GuiClose:

FileDelete, %A_WorkingDir%\buy_save.txt
saveText := primary1 . "#" . secondary1 . "#" . gear1 . "#" . grenade1 . "^" . primary2 . "#" . secondary2 . "#" . gear2 . "#" . grenade2 . "^" . primary3 . "#" . secondary3 . "#" . gear3 . "#" . grenade3
FileAppend, %saveText%, %A_WorkingDir%\buy_save.txt

ExitApp

*CapsLock::

BHopOn += 1
if(BHopOn > 1){
BHopOn = 0
}
if(BHopOn == 0)
GuiControl, , BHOP, BHop: Off
else
GuiControl, , BHOP, BHop: On

return

*Space::

if(BHopOn == 1){
While GetKeyState("Space", "P"){
Send {Space Down}
Sleep 20
Send {Space Up}
Sleep 40 ;This is the wait time between the space presses
}
}else{
Send {Space Down}
KeyWait, Space
Send {Space Up}
}

return

*RAlt::

noRecoil += 1
if(noRecoil > 1){
noRecoil = 0
}
if(noRecoil == 0)
GuiControl, , NORECOIL, No Recoil: Off
else
GuiControl, , NORECOIL, No Recoil: On

return

*RShift::

consistPull += 1
if(consistPull > 1){
consistPull = 0
}
if(consistPull == 0)
GuiControl, , CONSISTPULL, Consistent Pull: Off
else
GuiControl, , CONSISTPULL, Consistent Pull: On

return

;toggles the fireMode using right ctrl
*RCtrl::

fireMode = 0 ;default
KeyWait, RCtrl
GuiControl, , FIREMODE, Fire Mode: Default

return

*Numpad7::

fireMode = 1 ;tap once
KeyWait, Numpad7
GuiControl, , FIREMODE, Fire Mode: 1x Tap Fire

return

*Numpad8::

fireMode = 2 ;tap twice
KeyWait, Numpad8
GuiControl, , FIREMODE, Fire Mode: 2x Tap Fire

return

*Numpad9::

fireMode = 3 ;burst
KeyWait, Numpad9
GuiControl, , FIREMODE, Fire Mode: Burst Fire

return

*Numpad4::

fireMode = 4 ;full auto for semi auto
KeyWait, Numpad4
GuiControl, , FIREMODE, Fire Mode: Auto Fire

return

*Numpad5::

fireMode = 5 ;full auto for semi auto
KeyWait, Numpad5
GuiControl, , FIREMODE, Fire Mode: Knife

return

*Numpad6::

fireMode = 6 ;tap = burst, click and hold = regular fire
KeyWait, Numpad6
GuiControl, , FIREMODE, Fire Mode: TapBurstHoldRegular

return

;handles the numpad events (use preset)
*Numpad1::

Send ``

Random, tempRand, 140, 160
Sleep %tempRand%

if(primary1 != "None"){
Send buy%A_Space%%primary1%
Random, tempRand, 140, 160
Sleep %tempRand%
Send {Enter down}
Sleep 50
Send {Enter up}
Sleep 50
}
if(secondary1 != "None"){
Send buy%A_Space%%secondary1%
Random, tempRand, 140, 160
Sleep %tempRand%
Send {Enter down}
Sleep 50
Send {Enter up}
Sleep 50
}
if(gear1 != "None"){
Loop, parse, gear1, |
{
Send buy%A_Space%%A_LoopField%
Random, tempRand, 140, 160
Sleep %tempRand%
Send {Enter down}
Sleep 50
Send {Enter up}
Sleep 50
}
}
if(grenade1 != "None"){
Loop, parse, grenade1, |
{
Send buy%A_Space%%A_LoopField%
Random, tempRand, 140, 160
Sleep %tempRand%
Send {Enter down}
Sleep 50
Send {Enter up}
Sleep 50
}
}

Random, tempRand, 140, 160
Sleep %tempRand%
Send {ESC}

return

*Numpad2::

Send ``

Random, tempRand, 140, 160
Sleep %tempRand%

if(primary2 != "None"){
Send buy%A_Space%%primary2%
Random, tempRand, 140, 160
Sleep %tempRand%
Send {Enter down}
Sleep 50
Send {Enter up}
Sleep 50
}
if(secondary2 != "None"){
Send buy%A_Space%%secondary2%
Random, tempRand, 140, 160
Sleep %tempRand%
Send {Enter down}
Sleep 50
Send {Enter up}
Sleep 50
}
if(gear2 != "None"){
Loop, parse, gear2, |
{
Send buy%A_Space%%A_LoopField%
Random, tempRand, 140, 160
Sleep %tempRand%
Send {Enter down}
Sleep 50
Send {Enter up}
Sleep 50
}
}
if(grenade2 != "None"){
Loop, parse, grenade2, |
{
Send buy%A_Space%%A_LoopField%
Random, tempRand, 140, 160
Sleep %tempRand%
Send {Enter down}
Sleep 50
Send {Enter up}
Sleep 50
}
}

Random, tempRand, 140, 160
Sleep %tempRand%
Send {ESC}

return

*Numpad3::

Send ``

Random, tempRand, 140, 160
Sleep %tempRand%

if(primary3 != "None"){
Send buy%A_Space%%primary3%
Random, tempRand, 140, 160
Sleep %tempRand%
Send {Enter down}
Sleep 50
Send {Enter up}
Sleep 50
}
if(secondary3 != "None"){
Send buy%A_Space%%secondary3%
Random, tempRand, 140, 160
Sleep %tempRand%
Send {Enter down}
Sleep 50
Send {Enter up}
Sleep 50
}
if(gear3 != "None"){
Loop, parse, gear3, |
{
Send buy%A_Space%%A_LoopField%
Random, tempRand, 140, 160
Sleep %tempRand%
Send {Enter down}
Sleep 50
Send {Enter up}
Sleep 50
}
}
if(grenade3 != "None"){
Loop, parse, grenade3, |
{
Send buy%A_Space%%A_LoopField%
Random, tempRand, 140, 160
Sleep %tempRand%
Send {Enter down}
Sleep 50
Send {Enter up}
Sleep 50
}
}

Random, tempRand, 140, 160
Sleep %tempRand%
Send {ESC}

return

;handles left click for the burst and tap fire
$*LButton::

GuiControlGet, FireStop
GuiControlGet, SlowAuto
if(FireStop == 1){
if(GetKeyState("a", "P") && !GetKeyState("d", "P")){
Hotkey, *a, dummyLabel, On
Send {a down}
Sleep 20
Send {a up}
}else if(GetKeyState("d", "P") && !GetKeyState("a", "P")){
Hotkey, *d, dummyLabel, On
Send {d down}
Sleep 20
Send {d up}
}

if(GetKeyState("w", "P") && !GetKeyState("s", "P")){
Hotkey, *w, dummyLabel, On
Send {w down}
Sleep 20
Send {w up}
}else if(GetKeyState("s", "P") && !GetKeyState("w", "P")){
Hotkey, *s, dummyLabel, On
Send {s down}
Sleep 20
Send {s up}
}
}

GuiControlGet, NORECOILAMT
if(fireMode == 0){ ;default
Click down
While GetKeyState("LButton", "P"){
if(noRecoil == 1){
if(consistPull == 0){
if(firstShotRestTime > firstShotRestTimeMax){
if(firstShotRecoilTime > firstShotRecoilTimeMax){
mouseXY(0, NORECOILAMT)
Random, tempRand, 200, 220
Sleep %tempRand%
}else{
firstShotRecoilTime += 1
mouseXY(0, NORECOILAMT * 2)
Random, tempRand, 20, 40
Sleep %tempRand%
}
}else{
firstShotRestTime += 1
Random, tempRand, 20, 40
Sleep %tempRand%
}
}else{
if(firstShotRestTime > firstShotRestTimeMax){
mouseXY(0, NORECOILAMT)
Random, tempRand, 20, 40
Sleep %tempRand%
}else{
firstShotRestTime += 1
Random, tempRand, 20, 40
Sleep %tempRand%
}
}
}
}
Click up
}else if(fireMode == 1){ ;tap once
Click down
Random, tempRand, 40, 60
Sleep %tempRand%
Click up
}else if(fireMode == 2){ ;tap twice
Click down
Random, tempRand, 40, 60
Sleep %tempRand%
Click up
Random, tempRand, 50, 70
Sleep %tempRand%
Click down
Random, tempRand, 40, 60
Sleep %tempRand%
Click up
}else if(fireMode == 3){ ;burst
Click down
Random, tempRand, 175, 250
Sleep %tempRand%
Click up
}else if(fireMode == 4){ ;auto for semi-autos
While GetKeyState("LButton", "P"){
Random, tempRand, 15, 25
Click down
Sleep %tempRand%
Click up
if(noRecoil == 1 && SlowAuto != 1){
if(consistPull == 0){
if(firstShotRestTime > firstShotRestTimeMax){
if(firstShotRecoilTime > firstShotRecoilTimeMax){
mouseXY(0, NORECOILAMT)
Random, tempRand, 200, 220
Sleep %tempRand%
}else{
firstShotRecoilTime += 1
mouseXY(0, NORECOILAMT * 2)
Random, tempRand, 20, 40
Sleep %tempRand%
}
}else{
firstShotRestTime += 1
Random, tempRand, 20, 40
Sleep %tempRand%
}
}else{
if(firstShotRestTime > firstShotRestTimeMax){
mouseXY(0, NORECOILAMT)
Random, tempRand, 20, 40
Sleep %tempRand%
}else{
firstShotRestTime += 1
Random, tempRand, 20, 40
Sleep %tempRand%
}
}
}
if(SlowAuto == 1){
Random, tempRand, 400, 500
}
Sleep %tempRand%
WinGetTitle, title, A
if(title != "Counter-Strike: Global Offensive")
{
break
}
If !GetKeyState("LButton", "P")
{
break
}
}
}else if(fireMode == 5){
While GetKeyState("LButton", "P"){
Click down
Random, tempRand, 20, 30
Sleep %tempRand%
Click up
Random, tempRand, 500, 600
Sleep %tempRand%
Click down
Random, tempRand, 20, 30
Sleep %tempRand%
Click up
Random, tempRand, 500, 600
Sleep %tempRand%
Click down right
Random, tempRand, 20, 30
Sleep %tempRand%
Click up right
Random, tempRand, 1000, 1200
Sleep %tempRand%
}
}else if(fireMode == 6){
Click down
canAuto = 0
SetTimer, LButtonHeld, 200
While GetKeyState("LButton", "P"){
if(noRecoil == 1){
if(firstShotRestTime > firstShotRestTimeMax){
if(firstShotRecoilTime > firstShotRecoilTimeMax){
mouseXY(0, NORECOILAMT)
Random, tempRand, 200, 220
Sleep %tempRand%
}else{
firstShotRecoilTime += 1
mouseXY(0, NORECOILAMT * 2)
Random, tempRand, 20, 40
Sleep %tempRand%
}
}else{
firstShotRestTime += 1
Random, tempRand, 20, 40
Sleep %tempRand%
}
}
}
if(canAuto == 0){
Click up
Random, tempRand, 50, 100
Sleep %tempRand%
Click down
Random, tempRand, 30, 40
Sleep %tempRand%
Click up
SetTimer, LButtonHeld, Off
}else{
Click up
}
}
firstShotRecoilTime = 0
firstShotRestTime = 0
if(FireStop == 1){
Hotkey, *a, dummyLabel, Off
Hotkey, *d, dummyLabel, Off
Hotkey, *w, dummyLabel, Off
Hotkey, *s, dummyLabel, Off
if(GetKeyState("a", "P") && !GetKeyState("d", "P")){
Sleep 20
Send {a down}
Sleep 20
Send {a up}
}else if(GetKeyState("d", "P") && !GetKeyState("a", "P")){
Sleep 20
Send {d down}
Sleep 20
Send {d up}
}

if(GetKeyState("w", "P") && !GetKeyState("s", "P")){
Sleep 20
Send {w down}
Sleep 20
Send {w up}
}else if(GetKeyState("s", "P") && !GetKeyState("w", "P")){
Sleep 20
Send {s down}
Sleep 20
Send {s up}
}
}

return

LButtonHeld:

canAuto = 1

return

mouseXY(x, y) ;moves the mouse (relative movements)
{
DllCall("mouse_event",uint,1,int,x,int,y,uint,0,int,0)
}

dummyLabel: ;does nothing (to disable a key)
return
EpicnessCoding
Posts: 31
Joined: 19 Jan 2015, 01:23

Re: The Ultimate CS:GO No Recoil Script

30 Mar 2016, 21:31

Sorry, I don't accept accounts.Anyways, I fixed the rapid fire bug thing. I still need to polish up the no recoil pattern for m4.
EpicnessCoding
Posts: 31
Joined: 19 Jan 2015, 01:23

Re: The Ultimate CS:GO No Recoil Script

30 Mar 2016, 21:32

For free, thanks for posting the public script here...
EpicnessCoding
Posts: 31
Joined: 19 Jan 2015, 01:23

Re: The Ultimate CS:GO No Recoil Script

30 Mar 2016, 23:32

In fact, m4a4 is NOT lacking in any way compared to other weapons.
vino2010

Re: The Ultimate CS:GO No Recoil Script

07 Apr 2016, 14:08

Can you plz make a video step by step how to use it?

I dont get it all

I would appreciate it
lolikols
Posts: 8
Joined: 25 Apr 2016, 11:05

Re: The Ultimate CS:GO No Recoil Script

27 Apr 2016, 12:59

Okay, so I purchased the full version of this script a few days ago and have had that time to play with it exclusively. While the actual compensation for recoil is a LOT smoother than Pean's, it is much less accurate.

There is a MAJOR crosshair jumping issue with the M4A4, Galil, and M4A1-S.
1. The M4A4 jumps very sharply and immediately to the left. And while the accuracy of the gun seems appropriate at close distances, the accuracy at medium distances (such as from goose to cat on dust2) spray is severely affected. Also, since the jump happens every second shot, it is reproducible and it very noticeably artificial. I would be careful about overwatch.
2. The Galil spray also jumps to the left and it's simply easier just to compensate for the recoil yourself by dragging down manually due to how inaccurate the actual spray compensation is in this script. This jump is also reproducible and is very artificial.
3. The M4A1-S has an issue where the cross hair jumps UP on the third shot. While the overall accuracy of the M4A1-S in this script is vastly superior to Pean's, this little jump looks VERY artificial, especially since every third shot it's going to happen.

The creator of this script was kind enough to come into a lobby with me to test out these little glitches. At first it did seem that they wouldn't be too much of an issue, but after constant use, it became clear to me that it did look way too artificial for my taste.

I would be careful with overwatch with this script. Anyone who is familiar with recoil compensation will be able to spot the irregular movement of the mouse because of these jumps.

The script comes with a GUI built in, but which you can disable inside the script. A lot of things can be customized.
I paid $25 for this script. Just by looking at the coding in this script, I can tell a lot of thought and work has gone into the script. It just falls a little short in the recoil compensation department. Once the little bugs get worked out, this will probably be the script I'll be using. Until then, I'll be using Pean's script.
EpicnessCoding
Posts: 31
Joined: 19 Jan 2015, 01:23

Re: The Ultimate CS:GO No Recoil Script

30 Apr 2016, 16:47

Ok, so after some testing, with lolikols, the norecoil had no problem. It was something on lolikols end.
EpicnessCoding
Posts: 31
Joined: 19 Jan 2015, 01:23

Re: The Ultimate CS:GO No Recoil Script

30 Apr 2016, 22:18

Minor edits for the norecoil. Removed some inaccuracies for galil, m4a4, and m4a1s. Not so bumpy anymore.
lolikols
Posts: 8
Joined: 25 Apr 2016, 11:05

Re: The Ultimate CS:GO No Recoil Script

03 May 2016, 19:41

EpicnessCoding,
I really appreciate your efforts to fix this, but all the recoil patterns are somehow worse.
I think that you should probably just emulate Pean's recoil patterns for his guns and just smooth it out in your script. The only flaw in Pean's scripts are that they're too choppy. It would be way too time consuming for me to post all of the recoil pattern differences between yours and Pean's scripts, but Pean's scripts follow the official reversed CSGO recoil patterns, and as a result every single gun in Pean's script except the M4A1-S is at least 50% more accurate than yours. I've tried looking at your script and Pean's scripts and I can't for the life of me figure out where and how you guys got your offset numbers. If you'd be willing to show me how you got them (you have my email), I'd be willing to try and tinker with the recoil patterns for you.

As far as your update goes, I did some testing. I haven't altered your code at all other than to allow it to be used outside of CSGO (i.e. Paint). Used a fresh download. For the purpose of this testing, I've conducted this at a short-medium distance (such as the distance from A-Ramp to Ninja on Dust II).

M4A4.
The M4A4 is now less accurate and more obvious. Before, it was a jump to the left. Now it's a jump to the left, followed by a jump to the right.
Image

Galil.
The Galil is now even more inaccurate. And the jump is now even more obvious because the compensation moves sharply to the right.
Image

M4A1-S.
After your update, the M4A1-S is less accurate, sadly. The only thing that had to be fixed from the old pattern was the jump up. But now the recoil pattern is slightly longer and slightly wider, so even though the recoil pattern is better than Pean's, it's not by much.
ImageImage
EpicnessCoding
Posts: 31
Joined: 19 Jan 2015, 01:23

Re: The Ultimate CS:GO No Recoil Script

04 May 2016, 21:45

Thank you for your images. It is hard to balance the smooth and the accuracy, and I will keep testing out the patterns.
meh

Re: The Ultimate CS:GO No Recoil Script

09 May 2016, 12:21

soo? this means that ahk is not vac bannable?

thns
Chaos_Bolt135
Posts: 2
Joined: 17 Mar 2016, 13:34

Re: The Ultimate CS:GO No Recoil Script

12 May 2016, 10:41

The only way to get banned for using this is by overwatch. Remember to toggle it off with nades in your hand! :-)

Looking forward to updates to the script, Epic! Currently I use a modified version of your script with Pean's M4A4/Galil. Can't wait till every gun is nice and smooth while accurate at the same time.
Shindoku
Posts: 1
Joined: 13 May 2016, 09:16

Re: The Ultimate CS:GO No Recoil Script

13 May 2016, 09:21

How did you combine pean's script into epic's script o.o?
BuzzFuzz
Posts: 1
Joined: 15 May 2016, 16:39

Re: The Ultimate CS:GO No Recoil Script

17 May 2016, 11:59

Is there any other way to run script in fullscreen mode?

And another question, when i run script, my keyboard layout is changed to something else. How to remove this? :)
clark

Re: The Ultimate CS:GO No Recoil Script

21 May 2016, 06:36

I will buy this script after another update to the ak47 i understand like you said it's hard to balance smoothness with accuracy. But peans is really accurate but very jittery.
AliYRD

Re: The Ultimate CS:GO No Recoil Script

21 May 2016, 14:10

EpicnessCoding wrote:Hi mehti!

My script is better than his. Plus it is private (people who use it won't report it to Valve) and smooth.


yeah really this script is much much better and its full vac ban save it has human like behavior so overwatch cant ban you as well
Demboo

Re: The Ultimate CS:GO No Recoil Script

31 May 2016, 07:54

Hi
Ford when no recoil mac 10 ?


Ty
Mazorf2

Re: The Ultimate CS:GO No Recoil Script

10 Jun 2016, 09:21

Hi man, i don't know how but i took your script from the old forum and i didn't buy anything.

i've just a querstion, did you improved the "stop when fire" option?

because i mean if you move left, then shoot, then keep pressing left, you will not keep moving then. you have to press again left button.

is there a way to have that kind of thing :
https://www.youtube.com/watch?v=QClX6bhlwvE
(in the video he first show himself without the script, and then with it)
EpicnessCoding
Posts: 31
Joined: 19 Jan 2015, 01:23

Re: The Ultimate CS:GO No Recoil Script

13 Jun 2016, 00:27

New version with many bug fixes and MORE!
- Inconsistent bhop fixed
- Autofire stuck fixed
- added MAC-10, MP9, PP-Bizon, SG553, and AUG norecoil (will release polish up updates)
And more!

I will post an updated video soon with the newly added and updated norecoil.

Return to “Gaming Scripts (v1)”

Who is online

Users browsing this forum: No registered users and 21 guests