Introduction: PC Rapid Fire

Picture of PC Rapid Fire

Edit: fixed the final program so you won't have to rename its extension

Shoot Semi-Auto guns with automatic speed! This is a risk-free software mod, so there's no way you can permanently screw up your mouse/joystick.

The Xbox 360 can do it, and after following this tutorial, all you PC gamers can too! I'll show you how to do it with AutoIt, a free Windows automation language.

Note, if you don't want to write the script yourself, you can download the compiled version on step 5.

Step 1: Download and Install Autoit

Picture of Download and Install Autoit

Download the latest version here (If you use x64 windows, make sure to download that version). You'll also want to download the AutoIt Script Editor, especially if you'll be doing anything heavy duty in the future. It's really nice.

Step 2: Begin the Code!

Picture of Begin the Code!
AutoIt is extremely simple to code. The reference is available online at

Open notepad or use the script editor to create a new file. The script extension is .au3 . Copy and paste the following code.

HotKeySet("!x", "ToggleSpam")
HotKeySet("+{ESC}", "EndSpam")
Global $x 
MsgBox(0, "MouseSpaz", "Alt+X Starts the spaz (press both keys with your left thumb)" & @LF & @LF & "Pressing Alt+X again will stop the spaz" & @LF & @LF & "Shift+Esc will quite the program")	

While 1	
	While $x		

Func ToggleSpam()	
	$x = Not $x
EndFunc   ;==>ToggleSpamFunc 

Func EndSpam()	
EndFunc   ;==>EndSpam

*EDIT* If the above code is strangely formatted, try

Step 3: Customize Code

Picture of Customize Code

The first two lines in the program define what you press to start, stop, and exit the program.

HotKeySet("!x", "ToggleSpam")
HotKeySet("+{ESC}", "EndSpam")

The bolded and italicized text in the above code are the hotkeys, and can be modified to suit your preferences. Some explanation is in order, I sense:

! = Alt
x = X
+ = Shift
{ESC} = Esc

Alt+X is easy to press, because in most FPS and 3PS games, your left thumb is already on the spacebar for jumping, so this allows for easy access. Obviously, if you are left handed, or are using a customized keymap, you'll want to change this. Every key is defined here, in the AutoIt documentation

Step 4: Compile the Code

Picture of Compile the Code

Save the file (I called mine MouseSpaz)

Navigate to the file's directory, right click it, and click "compile with options"

A window pops up with many tabs. We only need to deal with the first tab. Our script is nothing heavy duty. If you want an Icon, you can make one yourself, or use mine below. Save it to your desktop, or somewhere else memorable. Click on the three dots to the right of "Icon:", and find the file. This icon will also show up in your system tray while the script is running.

Click the three dots next to "Target:", to decide where to save the program, and what to call it. I decided to call the program MouseSpaz and to compile it to the desktop.

Everything good? Ok, click Compile Script. You'll be treated to a nice loading bar, and when it's done, you'll have a very professional looking program that does something very unprofessional!

Navigate to the directory where it was compiled to ("Target"), and double click it. A mouse icon should show up in your system tray.

To test it, go to, and play "Endurance". Put your cursor over the big red button, and hit alt+X to toggle the rapid fire mode on.

Hit Shift+Esc to quit the script

If it makes you lol, I don't blame you. it's funny. If you're not lolling, and if it's not working, make sure of these things:

That you're pressing alt before you press X
That the icon is showing up in the system tray
That you press your own key combination if you've modified it

Note: The speed varies from computer to computer, and I get about 60 clicks per second. So, if I were to a play an FPS that didn't steal any computer resources, I would be shooting at 3600 rounds per minute. Unfortunately, that's impossible. Plus, some party-pooper game developers have put fire-rate limiters on some guns, so don't expect it to work all the time on every gun in every game.

Step 5: Go for the Epic Win!

Picture of Go for the Epic Win!

Go out there and play a shooting game. Multiplayer is hilarious. I highly recommend pistols on Call of Duty 4, and dualies on Counter-Strike 1.6

If you couldn't get the script working, I've attached the compiled version below. Note that I use alt+C instead, because that is the easiest combination on my laptop keyboard.


desertstorm2000 (author)2010-04-02

i used the script - it works on the button game, but not on the fps game. idk why it only works there

Hmm...could you tell me what game you were playing? Some games have fire rate limiters that prevent you from making the most of this script

OMG im so late with this comment, but if you can help me that would be great! I was playing BO3 and I couldn't do it and I have no idea....

Also, if you can explain to me why that would be awesome, also, do you know of games that I can use this on? Thx, hope you keep up the good work!

JacobS3 (author)2014-08-14

Thanks for this post however: I've looked at yours and a few others I could find. The key thing me and seemingly a lot of others are trying to figure out is how exactly just to make left mouse the toggle key when its pressed down maybe with ispressed_ it spams and then when it is let go it stops. Some of us dont want some crazy long spam thing and just need burst fire.

cvernon (author)2012-05-28

Can you get banned from a game like bf3 for using this?

sgianan (author)2011-04-20

Does anyone have a finished file of this?

Junkyard John (author)sgianan2011-04-20

It's available for download in the next step

sgianan (author)Junkyard John2011-04-20

thank you!

aligater11 (author)2011-01-17

i tried it with zombie mode, it fired one shot and then i had to turn it of so i could fire normal again? is there anything i can do about it?

aligater11 (author)2011-01-17

will it work for cod black ops?

eagleon (author)2010-09-12

Your script does not work - I had to help a friend fix this today.

1 - EndFunc ;==>ToggleSpamFunc <--- Needs to be

EndFunc ;==>ToggleSpam

2 - EndSpam() <--- Needs to be

Func EndSpam()

3 - Global
$xMsgBox(0, "MouseSpaz", "Alt+X Starts the spaz (press both keys with your left thumb)" & @LF & @LF & "Pressing Alt+X again will stop the spaz" & @LF & @LF & "Shift+Esc will quite the program") <--- Needs to be

Global %x

MsgBox(0, "MouseSpaz", "Alt+X Starts the spaz (press both keys with your left thumb)" & @LF & @LF & "Pressing Alt+X again will stop the spaz" & @LF & @LF & "Shift+Esc will quite the program")

This is also all concatenated together in your pastebin version.

4 - Your while loops need to be inside the ToggleSpam function.

5 - Pretty sure the while loop checking '1' is like saying "if 1 == 1", though I don't know this language to be sure. It's harmless anyway, just a nitpick.

Test your code man! :P Peace.

Junkyard John (author)eagleon2010-09-13

Ah, thank you. Instructables messed with the code's formatting a yearish ago, and I scrambled to correct the formatting without re-checking the code. It is now corrected.

Now I know you don't know this language, so let me help you out: your first correction is correcting a comment, which really has no bearing on anything at all. The while loops cannot to be in the ToggleSpam func because what you call a harmless redundacy is actually the main loop of the program and is what causes the program to keep checking for hotkey commands during its life.

I thank you for bringing to my attention the errors, however found the tone of your message supremely annoying. :P Peace.

eagleon (author)Junkyard John2010-09-14

The issue is that I don't have AutoIt myself. The corrections I list made it work for the person I was helping (at least according to him), including the while loop inside togglespam. I'm actually genuinely curious now what 'while 1' is doing - thought it would be a boolean check, in which case, '1' would always return true. this is the modified version I sent my friend. I'm assuming AutoIt activates the togglespam function every time its associated key is pressed, even while another function is running. In this case, $x will successfully be toggled on/off each time the function is called, and indeed, the while loop will only be checked once after the call, which is the only time it needs to be checked. It will begin looping only after the function is called during a 'toggle on' phase, possibly saving a few CPU cycles.

Sorry if I offended, was being a little snarky I admit.

Junkyard John (author)eagleon2010-09-14

The Boolean check basically just keeps the program running. The code you posted (at least on my machine) will execute once and close. You see, AutoIt is a scripting language and is often used for things like macros, and by default it closes after it has followed all of its instructions. The While 1 loop puts it in a suspended state, so that the program will not terminate unless it receives the command to do so, kind of like the main loop in a java. However,I do see your point about the other loop. I agree; embedding it in the function is better practice in this scenario.

Don't worry about it! Thanks for not exploding like oh so many other people do online when confronted with conflicting viewpoints :D

comsa42 (author)2010-04-09


Junkyard John (author)comsa422010-04-09


desertstorm2000 (author)2010-04-03

im playing a game called parabellum the script turns off when i start the game.

sjoobbani (author)2010-03-06

 Don't you just love [HATE] rapid-fire? [CHEATING]?

Owned_pk (author)2009-12-21

 When I was coding it myself I kept getting errors because when I copied and pasted it all went to one line.  I tried to fix it but your images are to blurry so I couldn't could you post the code with spaces or get a picture that shows all the code clearly?


Junkyard John (author)Owned_pk2009-12-24

Sorry about the inconvenience! When I wrote the thing it had the correct formatting...

d4rksaber (author)2009-09-18

works on any game? sweet!!!!, time to pawn in soldiers-front mehehehehe*zorbak face*

bounty1012 (author)d4rksaber2009-12-12

Soldier front has a fixed rate of fire, so you wont get too far doing this.

d4rksaber (author)bounty10122009-12-18


fireFEIND67 (author)2009-01-20

... okay 1 how can i use this on the 360 and 2 THIS IS HACKING U GET BANNED

bounty1012 (author)fireFEIND672009-12-12

Well, seeing as how you're asking how to get this for the 360 you're just as guilty.

Colonel88 (author)fireFEIND672009-11-07

Hacking is with a computer/software... so yeah this IS haxing. Wait till they put up a fixed fire rate for all the single shot guns...

This is purely a windows script, and cannot work on a 360, as far as I know. I have heard of 360 controller mods that work the same way though, so you could look into that.

it says you can use it on the 360... i'll just hack a controller that's cooler

Decepticon (author)fireFEIND672009-02-18

It says "The Xbox 360 can do it". He doesn't mean the xbox 360 can use this script, he is referring to the Xbox 360 controller hack in which you have to actually take it apart and mod it. Which can be detected.

knexfan9182 (author)2008-11-15

dude dont be a noob go hardcore

knexfan9182 (author)knexfan91822008-11-15

rapid fire is for those that think it will help them get better but it just waste ammo

ubr.bzkr (author)knexfan91822008-11-18

no way man its for l337 gamers who decided they wanted pwning n00bz to be an activity that lacks any attention what so ever. its like, hmm if I start out with a pistol with lots of ammo but I can shoot it like a machine gun, then why spend the extra effort in getting the machine gun?

Colonel88 (author)ubr.bzkr2009-11-07

EXACTLY. Or if your team is all N00l3s. Lol i modded my mouse for rapidfire button too. Used a 555 and a separate button. does like 6 clicks a second.

knexfan9182 (author)ubr.bzkr2008-11-19

do u mod ur mouse or use ur fingers if you use ur finger ur a gamer if u mod ur mouse ur a huge |\|()()|3

=SMART= (author)knexfan91822009-01-06

lol |\|()()|3 = NOOP

knexfan9182 (author)=SMART=2009-01-06

sorry not as good with 1337 as i used to be

Derin (author)knexfan91822009-02-07

its n006,i think

ubr.bzkr (author)knexfan91822008-11-20

nah i think mouse and controller modding is hella l337. i mod xbox 360 controllers for rapid fire and sell then back for $15 a pice. now i hope i can move on to mod computer mice for rapid fire. that method uses a 555 timer circut to shoot (click) rapid fire, so its alot differnt than this mod.

knexfan9182 (author)ubr.bzkr2008-11-20


Marche (author)knexfan91822008-12-08

Dude, I have a good trigger finger, most games have firerate caps and I can accomplish the same thing with a scrollwheel bind or just some sheer speed. I don't do these things because I suck, I just like testing the limits of game engines without causing damage to my $60 mouse.

knexfan9182 (author)Marche2008-12-08

well im a bit of an anti cheater so i dont care much about this topic

ubr.bzkr (author)knexfan91822008-12-08

either way it doesn't matter too much to me because I'm planning on selling modded computer mice to people like I sell modded xbox controllers right now. If people will buy it then I really don't care to much why they use it, for cheating somehow or just for fun, I cant do much about it. personally I hate when people cheat at computer games on the Internet but I like to have fun using the mods on a LAN connection or small party, or on campaign mode.

knexfan9182 (author)ubr.bzkr2008-12-08

i better not run in to someone useing one

PyroMonger (author)knexfan91822009-01-13

wat the hell is a noob?...its annoying me seein it all the time and not knowing....

knexfan9182 (author)PyroMonger2009-01-13

Anyone who cheats or uses no fail tactics and team killers in my opinion but it usually varies.

Arbitror (author)2009-01-24

For anyone who doesn't want to download Autoit, or are just lazy, you can download MechineMouse at It's pretty much the same thing, but it replaces c with x.

Colonel88 (author)Arbitror2009-11-07

Yeah I got it, but it takes just too long to punch in all the combinations when u are face to face with a Deagle and  the other guy has a shotgun. I made a mouse with a 555 timer that uses a separate momentary button that shoots like 6 times a second.

Junkyard John (author)Arbitror2009-01-25

Thanks for the link. That is pretty similar.

I scanned the file with Avast Antivirus, and found it contained a trojan. Then again, avast sometimes thinks autoit programs are viruses. I wouldn't be surprised if this was done in AutoIt too.

For the record, the program can be downloaded at the end of my instructable, although for some reason it has the file extension .tmp. A simple rename to .exe will have it up and running.

Arbitror (author)Junkyard John2009-04-03

Arbitror (author)Junkyard John2009-04-03

Actually, I was just fooling with your mind! I am the author of MachineMouse... I made it before I even read this 'ible though!

About This Instructable




More by Junkyard John:PC Rapid FireMake a digital logic analyzer for less than $1
Add instructable to: