---
Before street fighter 4 came out for the computer I was practicing Autohotkey, it works fine but has some consistency issues. On Gilley's advice I started using Autoit and it seem to be much more consistent. People have asked me how to script in Street Fighter 4 and it being the purpose of this article, I will lay it out for you in some easy to follow steps.
But first. Please don't use any of these scripts Online. It's just plain cheating and gives all of us tasers a bad name.
1) Make sure your playing on a computer. If street fighter is connected to a ps3 or 360 I can't help you.
2) get and install autoit http://www.autoitscript.com/autoit3/downloads.shtml
3) Now let me show you a very simple script
Code: Select all
HotKeySet ("1", "lpfb")
HotKeySet ("0", "reload")
While 1
Sleep(100)
WEnd
Func lpfb()
opt ( "SendKeyDelay" ,0)
opt ( "SendKeyDownDelay" ,16.6)
Sleep(100)
Send ("{down down}")
Sleep(20)
Send ("{right down}")
Sleep(20)
Send ("{down up}")
Send ("{a down}")
Sleep(20)
Send ("{a up}")
Send ("{right up}")
EndFunc
Func Reload()
$AutoIt3Path = RegRead("HKEY_LOCAL_MACHINESOFTWAREAutoIt v3AutoIt", "InstallDir")
$ToRun1 = '"' & $AutoIt3Path & 'AutoIt3.exe "' & ' "' & @ScriptFullPath & '"'
Run($ToRun1)
Exit 0
EndFunc
Sleep(20) makes the computer wait 20ms before moving on to the next command. One frame is equal to 16.6ms rounding it off to 20 can cause some disyncs in your combo but those are going to happen anyway because you don't know what part in a frame your starting at.
Copy the above code into notepad and save it as something like dan.au3
My first player controls are the arrow keys asd for punch buttons and zxc for kick. If yours are different you need to change the scrip to match your keys.
Now run it and go into training mode choosing dan and press the 1 button. So long as you're on the left side of the screen you should do a jab Gadoken whenever you press 1.
4) Now let's try a combo
change your gadoken script to this.
Code: Select all
Func lpfb()
opt ( "SendKeyDelay" ,0)
opt ( "SendKeyDownDelay" ,16.6)
Sleep(100)
Send ("{down down}")
Sleep(20)
Send ("{x down}")
Sleep(20)
Send ("{x up}")
Sleep(20)
Send ("{right down}")
Sleep(20)
Send ("{down up}")
Send ("{a down}")
Sleep(20)
Send ("{a up}")
Send ("{right up}")
EndFunc
5) What? two hit combo not good enough for you? Why in my day we didn't have those fancy links.
Lets try to link off that Gadoken. Put your dummy in the corner and set him to crouching.
Add this to the end of your combo before EndFunc and press 0
Code: Select all
Send ("{down down}")
Sleep(810)
Send ("{z down}")
Sleep(20)
Send ("{z up}")
Sleep(20)
Send ("{right}")
Sleep(20)
Send ("{right}")
Sleep(20)
Send ("{d down}")
Sleep(20)
Send ("{d up}")
Send ("{down up}")
6) OK but maybe you can do four hit combos manually. What good are these scripts?
The answer: complex setups. I found this to get the second controller on the keyboard http://forum.arcadecontrols.com/index.php?topic=96377.0
It's what I use and it works great.
My buttons for the second player are
Num 2486 directional buttons
yui punch buttons
hjk kick buttons
If you want to try a complex setup use this script. Fill up all the bars and put ken in the left corner and put ryu all the way to the right.
It may take a few tries but you should get something that looks like this http://www.youtube.com/watch?v=vPn8pDfjo0k
Code: Select all
Func glitch()
opt ( "SendKeyDelay" ,0)
opt ( "SendKeyDownDelay" ,16.6)
Send ("{numpad6 down}")
Send ("{numpad6 down}")
Send ("{numpad6 down}")
Send ("{numpad6 down}")
Send ("{numpad6 down}")
Send ("{numpad8 down}")
Send ("{down down}")
Send ("{right down}")
Send ("{down up}")
Send ("{a}")
Send ("{right up}")
Sleep (150)
Send ("{g down}")
Send ("{right}")
Sleep (16.6)
Send ("{right}")
Sleep (16.6)
Send ("{right}")
Sleep (16.6)
Send ("{right}")
Sleep (16.6)
Send ("{right}")
Sleep (16.6)
Send ("{right}")
Sleep (16.6)
Send ("{g up}")
Sleep (190)
Send ("{up down}")
Send ("{right down}")
Sleep (80)
Send ("{up up}")
Send ("{right up}")
Send ("{down down}")
Send ("{left down}")
Send ("{down up}")
Send ("{c}")
Send ("{left up}")
Sleep (1300)
Send ("{up down}")
Send ("{right down}")
Sleep (100)
Send ("{up up}")
Send ("{right up}")
Send ("{down down}")
Send ("{left down}")
Send ("{down up}")
Send ("{v}")
Send ("{left up}")
Sleep (300)
Send ("{numpad6 up}")
Send ("{numpad8 up}")
Sleep (300)
Send ("{down down}")
Send ("{right down}")
Send ("{down up}")
Send ("{right up}")
Send ("{down down}")
Send ("{right down}")
Send ("{down up}")
Send ("{h}")
Send ("{f}")
Send ("{right up}")
Sleep (1970)
Send ("{numpad2 down}")
Send ("{numpad4 down}")
Send ("{numpad2 up}")
Send ("{numpad4 up}")
Send ("{numpad2 down}")
Send ("{numpad4 down}")
Send ("{numpad2 up}")
Send ("{y down}")
Send ("{numpad4 up}")
Send ("{y up}")
EndFunc