It has not been tested extensively, I'm sure there are bugs.
It can't make you fire faster than the game allows.
DAKKADAKKDAKKDAKKDAKKDAKDAKDAKA!!
Requires AutoHotKey
[Link Redacted]
Forum Policy is "No external download links!" so here is the raw script.
Spoiler
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. ; #Warn ; Enable warnings to assist with detecting common errors. SendMode Input SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. #SingleInstance Force ;Only fire hotkey in MWO #IfWinActive, ahk_class CryENGINE ;#IfWinActive, ahk_class Notepad ;Weapon Cooldowns ac2 := "500" ac5 := "1700" uac5n := "1100" uac5f := "550" ac10 := "2500" ac20 := "4000" gauss := "4000" ppc := "3000" erppc := "3000" ;Fast Fire Modifier, 5% increase after unlock in mech tree FastMod = 0.95 ;startup state, start on or off OnOff := 1 ;Create GUI Gui, Add, DropDownList, x22 y30 w110 h140 vWeapon, AC/2||AC/5|UAC/5 normal fire|UAC/5 fast fire|AC/10|AC/20|Gauss Rifle|PPC|ERPPC Gui, Add, DropDownList, x22 y80 w60 h120 vWeaponNum, 1||2|3|4|5|6 Gui, Add, Edit, x252 y30 w20 h20 vWG1, 1 Gui, Add, Edit, x282 y30 w20 h20 vWG2, 2 Gui, Add, Edit, x312 y30 w20 h20 vWG3, 3 Gui, Add, Edit, x342 y30 w20 h20 vWG4, 4 Gui, Add, Edit, x372 y30 w20 h20 vWG5, 5 Gui, Add, Edit, x402 y30 w20 h20 vWG6, 6 Gui, Add, GroupBox, x12 y10 w130 h50 , Weapon Gui, Add, GroupBox, x12 y60 w80 h50 , # of weapons Gui, Add, Edit, x312 y30 w20 h20 , 3 Gui, Add, GroupBox, x242 y10 w190 h50 , Weapon Group Keys Gui, Add, Edit, x162 y30 w60 h20 vFireKey, MButton Gui, Add, GroupBox, x152 y10 w80 h50 , Fire Key Gui, Add, CheckBox, x162 y60 w70 h30 vFastFire, Fast Fire? Gui, Add, Button, x352 y170 w110 h30 , DAKKA! Gui, Add, Text, x12 y110 w220 h60 vDisplay, Gui, Add, Slider, x252 y80 w180 h20 ToolTip vKeyHoldms, 30 Gui, Add, GroupBox, x242 y60 w200 h50 , Key down time (in ms) Gui, Add, GroupBox, x242 y110 w200 h50 , Buffer Time (in ms) Gui, Add, Slider, x252 y130 w180 h20 ToolTip Range-50-50 vBuffer, 15 Gui, Add, Text, x12 y170 w220 h40 vInfo, Its Alpha! v0.1`nThis is a proof of concept`nSend feedback to kuangmk11@gmail.com Gui, Add, Text, x262 y180 w30 h20 vFGroup, Gui, Add, GroupBox, x242 y160 w100 h50 , Firing Group Gui, Add, Link, x12 y220 w220 h20 , <a href="http://www.autohotkey.com/docs/KeyList.htm">Valid Key List</a> ; Generated using SmartGUI Creator 4.0 Gui, Show, x127 y87 h250 w496, DakkaDictator by kuangmk11 : Alt-F1 to toggle Gui, Submit, Nohide ;Set out fire key Hotkey, *%FireKey%, Dakka ;Calculate fire rate gosub, CoolCalc ;Populate key sequence list=%WG6%,%WG5%,%WG4%,%WG3%,%WG2%,%WG1% ; the list of keys and combos. comma separated. stringsplit, list, list,`, Counter = 0 ;Update gui gosub, GuiUpdate ;Bind our suspend key ~!F1:: Suspend, Permit if (OnOff == 1){ Suspend, On Soundbeep, 666,50 Soundbeep, 666,50 OnOff := 0 } else { Suspend, off Soundbeep, 666,50 OnOff := 1 } return ;Submit gui changes ButtonDAKKA!: Gui, Submit, NoHide list=%WG6%,%WG5%,%WG4%,%WG3%,%WG2%,%WG1% stringsplit, list, list,`, gosub, CoolCalc Counter = 0 gosub, GuiUpdate Hotkey, *%FireKey%, Dakka SetKeyDelay, -1, (KeyHoldms) return ;Calculates firing rates CoolCalc: if (FastFire == 1){ CoolDown := (FastMod * ((Weapon = "AC/2") ? (ac2) : ( ((Weapon = "AC/5") ? (ac5) : ( ((Weapon = "UAC/5 normal fire") ? (UAC5n) : ( ((Weapon = "UAC/5 fast fire") ? (UAC5f) : ( ((Weapon = "AC/10") ? (ac10) : ( ((Weapon = "AC/20") ? (ac20) : ( ((Weapon = "Gauss Rifle") ? (gauss) : ( ((Weapon = "PPC") ? (ppc) : ( ((Weapon = "ERPPC") ? (erppc) : ( ((Weapon = "null") ? (0))))))))))))))))))))) } else { CoolDown := ((Weapon = "AC/2") ? (ac2) : ( ((Weapon = "AC/5") ? (ac5) : ( ((Weapon = "UAC/5 normal fire") ? (UAC5n) : ( ((Weapon = "UAC/5 fast fire") ? (UAC5f) : ( ((Weapon = "AC/10") ? (ac10) : ( ((Weapon = "AC/20") ? (ac20) : ( ((Weapon = "Gauss Rifle") ? (gauss) : ( ((Weapon = "PPC") ? (ppc) : ( ((Weapon = "ERPPC") ? (erppc) : ( ((Weapon = "null") ? (0)))))))))))))))))))) } FireRate := ((cooldown / WeaponNum) + Buffer) AdjFireRate := (FireRate - KeyHoldms) return ;exit script when gui closes GuiClose: ExitApp ;Fire the guns Dakka: While GetKeyState(FireKey,"P"){ Counter := (Counter=WeaponNum) ? (1) : (Counter+1) if (Counter == 1){ Send, {%WG6% Down} Sleep, (KeyHoldms) Send, {%WG6% Up} } else if (Counter == 2){ Send, {%WG5% Down} Sleep, (KeyHoldms) Send, {%WG5% Up} } else if (Counter == 3){ Send, {%WG4% Down} Sleep, (KeyHoldms) Send, {%WG4% Up} } else if (Counter == 4){ Send, {%WG3% Down} Sleep, (KeyHoldms) Send, {%WG3% Up} } else if (Counter == 5){ Send, {%WG2% Down} Sleep, (KeyHoldms) Send, {%WG2% Up} } else if (Counter == 6){ Send, {%WG1% Down} Sleep, (KeyHoldms) Send, {%WG1% Up} } ;update gui counter GuiControl,, FGroup, % list%counter% Sleep, (FireRate) } return GuiUpdate: GuiControl,, Display, CoolDown = %Cooldown%`nFireRate = %FireRate%`nKeyHoldTime = %KeyHoldms%`nBuffer Time = %Buffer% Return ;future plans ;show heat per cycle ;show dps/dpc, cycle time ;show ammo consuption ;allow mismatched guns ;add all weapons, why not? ;in game buffer adjustment ;preset saving
Save the above in a text file as DakkaDictator.ahk
the ReadMe
Spoiler
DakkaDictator v0.1 Alpha by kuangmk11
Proof of concept. This is a test. Although is is fully functional, it has not been extensivly tested.
What does it do?
Quick and easy chainfire patterns at optimum timing.
Why?
Dakka is fun for everyone!
Functions:
Alt-F1 toggles the script on and off. One beep for on, two beeps for off.
Select your weapon, select how many.
Set your fire key, Link to valid key names in the bottom left of the GUI. The key you set will be unavailable to the game (it will not register). This is by design.
Set your in game weapon group fire keys. See valid key name list.
select fast fire if you have it unlocked for your variant.
Key down time sets the length of time the key is held, too low and it will not register. You don't need to touch this unless you have a problem with keys registering.
Buffer time sets and added buffer between firings. With the latest patch this probably isn't needed anymore.
Always press the DAKKA! button to commit changes!
In game groups will fire descending from six, from right to left. Three groups will fire 6,5,4. Four will fire 6,5,4,3 etc. Set your in game groupings accordingly. You can change the order in the DakkaDictator GUI by reassigning the group keys from right to left.
DakkaDictator v0.1 Alpha by kuangmk11
Proof of concept. This is a test. Although is is fully functional, it has not been extensivly tested.
What does it do?
Quick and easy chainfire patterns at optimum timing.
Why?
Dakka is fun for everyone!
Functions:
Alt-F1 toggles the script on and off. One beep for on, two beeps for off.
Select your weapon, select how many.
Set your fire key, Link to valid key names in the bottom left of the GUI. The key you set will be unavailable to the game (it will not register). This is by design.
Set your in game weapon group fire keys. See valid key name list.
select fast fire if you have it unlocked for your variant.
Key down time sets the length of time the key is held, too low and it will not register. You don't need to touch this unless you have a problem with keys registering.
Buffer time sets and added buffer between firings. With the latest patch this probably isn't needed anymore.
Always press the DAKKA! button to commit changes!
In game groups will fire descending from six, from right to left. Three groups will fire 6,5,4. Four will fire 6,5,4,3 etc. Set your in game groupings accordingly. You can change the order in the DakkaDictator GUI by reassigning the group keys from right to left.
The GUI:
The results with a 4 x ac/2 jm6-dd:
Edited by kuangmk11, 23 April 2013 - 12:37 PM.
removed links