Professional Documents
Culture Documents
No Recoil
No Recoil
QUICKSTARTGUIDE------------------------------------------------------
-------------------------------------------------------
100%Recoilversion------------------------------------------------------
---------------------------READ
PLEASE---------------------------
--(-100). Please read tooltips and comments to understand code
--(-1). Please remember this is a simple no recoil script and can only move your
mouse down vertically at a varying speed and horizontally one way.
--0. YOU CAN KEEP THE SCRIPT OPEN IN THE BACKGROUND(THIS PAGE) AND YOU CAN CHANGE
SETTINGS. AFTER CHANGING SETTINGS PRESS "CTRL+S" TO SAVE AND IT WILL APPLY NEW
VALUES
------------------------------------------------------SETTINGS AND
VALUES------------------------------------------------------
----------------------------------------------Simple
settings----------------------------------------------
--Adjust for more or less recoil
--1000 is default, 2000 is double as fast, 500 is half as fast and 2547 is 2.547
times as fast
REEcoil=1000 --<Change that if recoil is too much or too little
-----------------------------------------------------------------------------------
------------------------------
---------------------------NoRecoilHIGH/100%Recoil---------------------------
--Remember this is a DIY script, you need to input values yourself
GunRPM=666 --Change this, Input your weapons RPM, this makes the
script pull down once for every shot, for smooth recoil just increase the value,
all it does is to convert rounds per minute to ms per round
GunCenterspeed = 300 --This will determine how long you can stop shooting
without resetting the recoil pattern, this means you can burst your full auto
better
--edit this, from left to right the names determine the axis of movement, you
can add more just copy/pasta
recoilPattern = { { x = 0, y = 3 }, { x = 0, y = 3 }, { x = 0, y = 3 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
{ x = 0, y = 0 }, { x = 0, y = 0 }, { x = 0, y = 0 },
}
--to actually make it 100% No-recoil you have to test it out ingame and type values
in.
--Also REEcoil now works with 100% Norecoil
---------------------------Rapidfire---------------------------
-----------------tuned for FAL/Pistol-----------------
PressSpeedMin=15 --Change this <-this is the delay
between pressing and releasing left click
PressSpeedMax=25 --Change this
---------------------------RapidfireHIGH---------------------------
-----------------tuned for Famas-----------------
PressSpeedMinHIGH=15 --Change this <-this is the delay
between pressing and releasing left click
PressSpeedMaxHIGH=25 --Change this
--Enable/Disable, only scrollock capslock and numlock work for this bind:
"scrolllock", "capslock", "numlock", you canalso delete: " if
IsKeyLockOn(LockKey)then ", if you want it all at all times.
LockKey="numlock"
--LowRecoil/HighRecoil, only scrollock capslock and numlock work for this bind:
"scrolllock", "capslock", "numlock",/
--Toggle
REcoilHIGHTogggle= "scrolllock"
--Tagbind, should work for all keyboard buttons, remember to use left or right for
modifiers: "lalt", "lshift"
Autotagmfer="lalt"
--Rapidfirebind
LCRF=1 --just leftclick
Rapidfirebutton=4 -- tis my forward key for thumb use, tried to make arg
events work to give more keybind possibilities, but i always found they had a weird
delay/rythm to them making them unreliable.
Sensrelative=REEcoil/1000
--RPMcalc
RPMCLC=GunRPM/60000
KMNPRM=1/RPMCLC
--Others
ShootTime = -GunCenterspeed-1
recoil_count = # recoilPattern
Last = 1
AUTOTAGONLY=2
------------------------------------------------------
FUNCTIONS------------------------------------------------------
--don't see any reason why you should touch anything below this point, but be
my guest.
EnablePrimaryMouseButtonEvents(true);
function RapidFire()
if (HIGH_Recoil==false) then
repeat
PressMouseButton(LCRF)
Sleep(math.random(PressSpeedMin,PressSpeedMax))
ReleaseMouseButton(LCRF)
MoveMouseRelative(0,math.random(NoRecoilRFMin,NoRecoilRFMax)*Sensrelative)
Sleep(math.random(SleepNRFMin,SleepNRFMax))
MoveMouseRelative(0,math.random(NoRecoilRFMin,NoRecoilRFMax)*Sensrelative)
x="no"
seconds=GetRunningTime()
until not IsMouseButtonPressed(Rapidfirebutton)
seconds1= seconds/1000
else
repeat
PressMouseButton(LCRF)
Sleep(math.random(PressSpeedMinHIGH,PressSpeedMaxHIGH))
ReleaseMouseButton(LCRF)
MoveMouseRelative(0,math.random(NoRecoilRFMinHIGH,NoRecoilRFMaxHIGH)*Sensrelative)
Sleep(math.random(SleepNRFMinHIGH,SleepNRFMaxHIGH))
MoveMouseRelative(0,math.random(NoRecoilRFMinHIGH,NoRecoilRFMaxHIGH)*Sensrelative)
x="no"
seconds=GetRunningTime()
until not IsMouseButtonPressed(Rapidfirebutton)
seconds1= seconds/1000
end
end
function Autotag()
if (x=="no") then
if (seconds1<seconds2)then
Sleep(1)
else
PressKey(Autotagmfer)
Sleep(math.random(AltPressSpeedMin,AltPressSpeedMax))
ReleaseKey(Autotagmfer)
Sleep(math.random(InBetweenSpeedMin,InBetweenSpeedMax))
PressKey(Autotagmfer)
Sleep(math.random(AltPressSpeedMin,AltPressSpeedMax))
ReleaseKey(Autotagmfer)
Sleep(2)
seconds2 = seconds1 + AUTOTAGONLY
end
else
PressKey(Autotagmfer)
Sleep(math.random(AltPressSpeedMin,AltPressSpeedMax))
ReleaseKey(Autotagmfer)
Sleep(math.random(InBetweenSpeedMin,InBetweenSpeedMax))
PressKey(Autotagmfer)
Sleep(math.random(AltPressSpeedMin,AltPressSpeedMax))
ReleaseKey(Autotagmfer)
Sleep(2)
seconds2 = seconds1 + AUTOTAGONLY
end
end
function NoRecoil()
if (HIGH_Recoil==false) then
repeat
MoveMouseRelative(HorizontalRecoilModifier,math.random(NoRecoilMin,NoRecoilMax)*Sen
srelative)
Sleep(math.random(SleepNRMin,SleepNRMax))
x="no"
seconds=GetRunningTime()
until not IsMouseButtonPressed(LC)
seconds1= seconds/1000
else
if (GetRunningTime() - ShootTime < GunCenterspeed) and (Last<= recoil_count) then
i = Last else
i = 1
end
while i <= recoil_count do
Sleep(KMNPRM)
if not IsMouseButtonPressed(1) then
Last = i
ShootTime = GetRunningTime()
break
end
MoveMouseRelative( recoilPattern[i].x*Sensrelative,
recoilPattern[i].y*Sensrelative)
if not IsMouseButtonPressed(LC) then
break end
i = i + 1
end
end
end
------------------------------------------------------MAGIC AND
WOODOO------------------------------------------------------
function OnEvent(event, arg)
--HIGHRecoiltoggle on/off
if IsKeyLockOn(REcoilHIGHTogggle)then
HIGH_Recoil=true
else
HIGH_Recoil=false
end
repeat
if IsMouseButtonPressed(LC) then --Norecoil
seconds=GetRunningTime()
seconds1= seconds/1000
Autotag()
NoRecoil()
end
until not IsMouseButtonPressed(RC) --end of Priming loop
end
end
end