Hello peeps, as I see a lot of people selling the edited open-source version of this for like 40$ which is a total scam, I have decided to port it to the Interception driver (Fixing the old source), while still using the AutoHotkey source.
[Only registered and activated users can see links. Click Here To Register...]
I have done my best to explain every step on how to run it while still requiring some basic knowledge.
Before you begin please keep in mind that there are a lot of steps you have to take and you have to do properly in order for this to work, which means that you might waste your time. Proceed with caution.
Below you can find instructions on how to properly set it up and run it accordingly.
I will not provide any support regarding this release so please do not ask me for any help in the thread or in DMs, feel free to ask other people who have successfully ran it for help.
Instructions
Interception Driver
1. Find and download the Interception Driver, you can simply google it.
2. Unarchive it.
3. Go to this folder after you have unarchvied it: "Interception\command line installer". You will need to open Command Prompt as an admin, go to directory above by using the CD command and use the command "install-interception /install".
Example:
If you have done this properly a message in the CMD should appear:
"Interception successfully installed"
4. Once you are done, restart PC.
AutoHotkey Interception
1. Go to google and find the Github page of AutoHotkey Interception.
2. Download the latest version.
3. Extract it somewhere.
4. In your Interception folder, you should have a Library folder Interception\library, open it.
5. Copy the x64 and x86 folders.
6. Paste them into AutoHotkey Interception/Lib
For Honor Script
1. Copy the source code and create an AHK file with it.
2. Move the For Honor script to the AHK Interception folder. (The one that has a file named "Monitor.ahk"
3. Open the For Honor script with any text editor.
4. On line 12 and line 13 there should be 2 things:
5. In order to fill them with your Keyboard and Mouse IDs, open the file Monitor.ahk, on top it should display both your keyboard ID and your mouse ID.
6. Replace the VID, PID with the IDs you get from Monitor.ahk. Example of how they should look:
7. If you've followed all steps, the script menu should open.
8. Congratulations, you are all set! Make sure to test it in practice mode before going into an actual game.
Extra
You can compile the script and put it into a virtualizer like Enigma for extra protection against EAC. There is no way for them to detect it other than sig scanning for the exact AHK file, adding random code then compiling it and likely virtualizing it will prevent that. This is due to the fact that it simulates Keystrokes from your actual keyboard and mouse.
Keybinds
f1 - delay 80ms for dodges bashes and unblockables 1 click on / second click off
f2 - disable dodges for bashes 1 click on / second click off
f3 - switches for button C from parry function to flips 1 click on / second click off
f4 - Switcher for button E from parry to cc and to deflects 1 click on / second click off
f5 - switch from dodges unblockables to parry 1 click on / second lick off u need hold guard by ur own hand on the side where unblockable comes
Z - pause/resume script
Disclaimer
Some things might not work as they did with the old source.
Source
Credits for the Original Source
HappyMajor, Sh1ro/florasSecret
[Only registered and activated users can see links. Click Here To Register...]
I have done my best to explain every step on how to run it while still requiring some basic knowledge.
Before you begin please keep in mind that there are a lot of steps you have to take and you have to do properly in order for this to work, which means that you might waste your time. Proceed with caution.
Below you can find instructions on how to properly set it up and run it accordingly.
I will not provide any support regarding this release so please do not ask me for any help in the thread or in DMs, feel free to ask other people who have successfully ran it for help.
Instructions
Interception Driver
1. Find and download the Interception Driver, you can simply google it.
2. Unarchive it.
3. Go to this folder after you have unarchvied it: "Interception\command line installer". You will need to open Command Prompt as an admin, go to directory above by using the CD command and use the command "install-interception /install".
Example:
Code:
CD C:\Users\banana\Desktop\Interception\command line installer install-interception /install
"Interception successfully installed"
4. Once you are done, restart PC.
AutoHotkey Interception
1. Go to google and find the Github page of AutoHotkey Interception.
2. Download the latest version.
3. Extract it somewhere.
4. In your Interception folder, you should have a Library folder Interception\library, open it.
5. Copy the x64 and x86 folders.
6. Paste them into AutoHotkey Interception/Lib
For Honor Script
1. Copy the source code and create an AHK file with it.
2. Move the For Honor script to the AHK Interception folder. (The one that has a file named "Monitor.ahk"
3. Open the For Honor script with any text editor.
4. On line 12 and line 13 there should be 2 things:
Code:
keyboardId := AHI.GetKeyboardId(<VID>, <PID>) ;;;;Add you keyboard ID here mouseId := AHI.GetMouseId(<VID>, <PID>) ;;;; Add your mouse ID here
6. Replace the VID, PID with the IDs you get from Monitor.ahk. Example of how they should look:
Code:
keyboardId := AHI.GetKeyboardId(0x04F2, 0x0112)
8. Congratulations, you are all set! Make sure to test it in practice mode before going into an actual game.
Extra
You can compile the script and put it into a virtualizer like Enigma for extra protection against EAC. There is no way for them to detect it other than sig scanning for the exact AHK file, adding random code then compiling it and likely virtualizing it will prevent that. This is due to the fact that it simulates Keystrokes from your actual keyboard and mouse.
Keybinds
f1 - delay 80ms for dodges bashes and unblockables 1 click on / second click off
f2 - disable dodges for bashes 1 click on / second click off
f3 - switches for button C from parry function to flips 1 click on / second click off
f4 - Switcher for button E from parry to cc and to deflects 1 click on / second click off
f5 - switch from dodges unblockables to parry 1 click on / second lick off u need hold guard by ur own hand on the side where unblockable comes
Z - pause/resume script
Disclaimer
Some things might not work as they did with the old source.
Source
Code:
#SingleInstance,Force
#InstallKeybdHook
#UseHook On
#InstallMouseHook
#NoEnv
#KeyHistory 0
#include Lib\AutoHotInterception.ahk
AHI := new AutoHotInterception()
keyboardId := AHI.GetKeyboardId(0x04D9, 0x1702) ;;;;Add you keyboard ID here
mouseId := AHI.GetmouseId(0x1C4F, 0x0065) ;;;; Add your mouse ID here
CoordMode,Mouse,Screen
CoordMode,Pixel,Screen
PID := DllCall("GetCurrentProcessId")
Process, Priority, %PID%, Realtime
ListLines, Off
SetBatchLines, -1
SetWinDelay,-1
SetControlDelay,-1
SetDefaultMouseSpeed,0
setformat,float,0.1
SetKeyDelay,30
ubp:=0
pbp:=1
Gui, Show, w550 h380, No Maidens?
Gui, Font, cWhite
Gui, Color, cWhite
Gui Add, GroupBox, cRed x10 y10 w180 h90, Characters
Gui Add, CheckBox, x20 y30 w100 h20 vWarden, Warden
Gui Add, CheckBox, x20 y50 w100 h20 vBlackprior, Blackprior
Gui Add, CheckBox, x20 y70 w100 h20 vAll_Others, All Others
Gui Add, GroupBox, cRed x10 y105 w180 h70, Auto features for 1x1/2x2/4x4/
Gui Add, CheckBox, x20 y125 w160 h20 vActive1, Dodge Bashes/Unblockables
Gui Add, CheckBox, x20 y145 w80 h20 vActive2, Auto Block
Gui Add, GroupBox, cRed x10 y180 w180 h70, For Button - [C]
Gui Add, CheckBox, x20 y200 w80 h20 vActive3, Auto Parry
Gui Add, CheckBox, x20 y220 w80 h20 vActive4, Auto Flip
Gui Add, GroupBox, cRed x10 y255 w180 h85, For Button - [E]
Gui Add, CheckBox, x20 y275 w80 h20 vActive9, Auto Parry
Gui Add, CheckBox, x20 y295 w80 h20 vActive11, Auto CC
Gui Add, CheckBox, x20 y315 w80 h20 vActive12, Auto Deflect
Gui Add, GroupBox, cRed x200 y10 w170 h55, Resolution (ingame)
Gui Add, Text, x205 y34 w35 h20, X:
Gui Add, Edit, c390202 x220 y32 w45 h20 Center vres1, 0
Gui Add, Text, x272 y34 w35 h20, Y:
Gui Add, Edit, c390202 x287 y32 w45 h20 Center vres2, 0
Gui Add, Button, x339 y34 w20 h16 gButtonOK, ok
Gui Add, GroupBox, cRed x200 y70 w170 h215, Delays
Gui Add, Text, x210 y90 w120 h20, Dodge Delay in ms:
Gui Add, Edit, c390202 x310 y90 w27 h17 vPause, 0
Gui Add, Text, x210 y110 w120 h20, Feints Check Delay:
Gui Add, Edit, c390202 x310 y110 w27 h17 vPause1, 0
Gui Add, Text, x210 y130 w120 h20, Block Delay in ms:
Gui Add, Edit, c390202 x310 y130 w27 h17 vPause3, 0
Gui Add, CheckBox, x210 y150 w155 h20 vActive5, RMouse Button after dodge
Gui Add, CheckBox, x210 y170 w155 h20 vActive6, LMouse Button after dodge
Gui Add, Text, x210 y190 w130 h20, L/RMouse Delay in ms:
Gui Add, Edit, c390202 x325 y190 w27 h17 vPause2, 0
Gui Add, Edit, c390202 x345 y210 w20 h17 vLeft, 0
Gui Add, Edit, c390202 x345 y230 w20 h17 vRight, 0
Gui Add, Text, x210 y210 w128 h20, Delay on left deflect in ms:
Gui Add, Text, x210 y230 w130 h20, Delay on right deflect in ms
Gui Add, GroupBox, cRed x380 y10 w160 h130, Hotkeys
Gui, Add, Text, x405 y30 w120 h20, [Dodges On/Off] - F2
Gui, Add, Text, x405 y50 w120 h20, [Pause/Resume] - Z
Gui, Add, Text, x405 y70 w120 h20, [Parry/Button 1] - C
Gui, Add, Text, x405 y90 w120 h20, [Parry/Button 2] - E
Gui, Add, Text, x405 y110 w120 h20, [Flip/Button] - W
Gui Add, GroupBox, cRed x380 y145 w160 h112, Help and Settings
Gui Add, Button, x390 y163 w140 h19 gButtonH1, How to use
Gui Add, Button, x390 y185 w140 h19 gButtonH2, Load Settings
Gui Add, Button, x390 y207 w140 h19 gButtonH3, Save Settings
Gui Add, Button, x390 y229 w140 h19 gButtonH4, Apply Settings
Gui Add, GroupBox, cRed x380 y260 w160 h80, Controls
Gui Add, Button, x390 y283 w140 h20 gButtonH7, Reload
Gui Add, Button, x390 y306 w140 h20 gButtonH5, Start
Gui Add, GroupBox, cRed x200 y290 w170 h50, Credits
Gui Add, Text, cGreen x210 y305 w135 h25, HappyBot v2.3 - Developed by FlorasSecret#9666
Gui Add, GroupBox, cRed x10 y340 w360 h35, Port Credits
Gui Add, Text, cGreen x20 y355 w300 h20, HappyBot v2.3 - Ported to Interception Driver by Shunrai#4714
Gui Add, GroupBox, cRed x380 y340 w160 h35,
Gui Add, Text, cRed x390 y355 w160 h20, Some features may be broken
SetWorkingDir %A_ScriptDir%
return
ButtonH5:
SoundBeep
GuiControlget, Warden
GuiControlget, Blackprior
GuiControlget, All_Others
GuiControlget, Active1
GuiControlget, Active2
GuiControlget, Active3
GuiControlget, Active4
GuiControlget, Active5
GuiControlget, Active6
GuiControlget, Active7
GuiControlget, Active9
GuiControlget, Active11
GuiControlget, Active12
GuiControlget, Pause
GuiControlget, Pause1
GuiControlget, Pause2
GuiControlget, Pause3
GuiControlget, Left
GuiControlget, Right
GuiControlget, res1
GuiControlget, res2
x8 := (res1 / 1920) * 860
y8 := (res2 / 1080) * 80
x9 := (res1 / 1920) * 1075
y9 := (res2 / 1080) * 425
x18 := (res1 / 1920) * 670
y18 := (res2 / 1080) * 300
x19 := (res1 / 1920) * 820
y19 := (res2 / 1080) * 510
B55 := res1/1920
Y55 := res2/1080
GoSub Start
return
ButtonH7:
Reload
return
ButtonH1:
{
Msgbox,0, How To Use, What u need for use script? 1. Open game and go into display settings, set feild of view on 81, contrast 55 -< without 55 contrast script not gonna work 2. In graphics settings - disable shadows, Motion Blur, Ambient Occlusion, Dynamic Reflections, Dynamic Shadows 3. keymapping, bind arrows on movements in secondary slot, arrow up - forward, arrow down - backward, arrow left - left, arrow right - right, For parry you need use right mouse button, For Flips - Numpad 9 in secondary for light attack and fullblock, For autoblock - Numpad 4 at left guard, Numpad 6 - at right guard, Numpad 8 at top guard 4. When all keybinds rdy you can start script, select characters on which you playing, tick in menu features which u want use, put ur resolution where X and Y - like x=1920 y=1080. (resolution in script gui and in game should be the same!) and press small ok button, now you can start script for that press Start Button, now go back in game and test it, all features working automaticly all u can do thats parry - for that you need hold C, before enemy started an attack, when enemy doing heavy feint very important let C go every time! for refresh parry and block direction. Script working in any game mode with borderless windowed mode or fullscreen, - Not working in windowed mode! Best working on 1920x1080 fov 81 FPS - 120 (minimum) Monitor Hz 120 (minimum) my discord if u have questions FlorasSecret#9666
}
return
ButtonH2:
{
IniRead, Left, %A_WorkingDir%\Config.ini, Options, Left
GuiControl,,Left, %Left%
IniRead, Right, %A_WorkingDir%\Config.ini, Options, Right
GuiControl,,Right, %Right%
IniRead, Pause, %A_WorkingDir%\Config.ini, Options, Pause
GuiControl,,Pause, %Pause%
IniRead, Pause1, %A_WorkingDir%\Config.ini, Options, Pause1
GuiControl,,Pause1, %Pause1%
IniRead, Pause2, %A_WorkingDir%\Config.ini, Options, Pause2
GuiControl,,Pause2, %Pause2%
IniRead, Pause3, %A_WorkingDir%\Config.ini, Options, Pause3
GuiControl,,Pause3, %Pause3%
IniRead, res1, %A_WorkingDir%\Config.ini, Options, res1
GuiControl,,res1, %res1%
IniRead, res2, %A_WorkingDir%\Config.ini, Options, res2
GuiControl,,res2, %res2%
IniRead, Active1, %A_WorkingDir%\Config.ini, Options, Active1
GuiControl,,Active1, %Active1%
IniRead, Active2, %A_WorkingDir%\Config.ini, Options, Active2
GuiControl,,Active2, %Active2%
IniRead, Active3, %A_WorkingDir%\Config.ini, Options, Active3
GuiControl,,Active3, %Active3%
IniRead, Active4, %A_WorkingDir%\Config.ini, Options, Active4
GuiControl,,Active4, %Active4%
IniRead, Active5, %A_WorkingDir%\Config.ini, Options, Active5
GuiControl,,Active5, %Active5%
IniRead, Active6, %A_WorkingDir%\Config.ini, Options, Active6
GuiControl,,Active6, %Active6%
IniRead, Active7, %A_WorkingDir%\Config.ini, Options, Active7
GuiControl,,Active7, %Active7%
IniRead, Active9, %A_WorkingDir%\Config.ini, Options, Active9
GuiControl,,Active9, %Active9%
IniRead, Active11, %A_WorkingDir%\Config.ini, Options, Active11
GuiControl,,Active11, %Active11%
IniRead, Active12, %A_WorkingDir%\Config.ini, Options, Active12
GuiControl,,Active12, %Active12%
IniRead, Warden, %A_WorkingDir%\Config.ini, Options, Warden
GuiControl,,Warden, %Warden%
IniRead, Blackprior, %A_WorkingDir%\Config.ini, Options, Blackprior
GuiControl,,Blackprior, %Blackprior%
IniRead, All_Others, %A_WorkingDir%\Config.ini, Options, All_Others
GuiControl,,All_Others, %All_Others%
msgbox,0, Successfully, Settings successfully loaded!
}
return
ButtonH3:
{
IniWrite, %Left%, %A_WorkingDir%\Config.ini, Options, Left
IniWrite, %Right%, %A_WorkingDir%\Config.ini, Options, Right
IniWrite, %Pause%, %A_WorkingDir%\Config.ini, Options, Pause
IniWrite, %Pause1%, %A_WorkingDir%\Config.ini, Options, Pause1
IniWrite, %Pause2%, %A_WorkingDir%\Config.ini, Options, Pause2
IniWrite, %Pause3%, %A_WorkingDir%\Config.ini, Options, Pause3
IniWrite, %res1%, %A_WorkingDir%\Config.ini, Options, res1
IniWrite, %res2%, %A_WorkingDir%\Config.ini, Options, res2
IniWrite, %Active1%, %A_WorkingDir%\Config.ini, Options, Active1
IniWrite, %Active2%, %A_WorkingDir%\Config.ini, Options, Active2
IniWrite, %Active3%, %A_WorkingDir%\Config.ini, Options, Active3
IniWrite, %Active4%, %A_WorkingDir%\Config.ini, Options, Active4
IniWrite, %Active5%, %A_WorkingDir%\Config.ini, Options, Active5
IniWrite, %Active6%, %A_WorkingDir%\Config.ini, Options, Active6
IniWrite, %Active7%, %A_WorkingDir%\Config.ini, Options, Active7
IniWrite, %Active9%, %A_WorkingDir%\Config.ini, Options, Active9
IniWrite, %Active11%, %A_WorkingDir%\Config.ini, Options, Active11
IniWrite, %Active12%, %A_WorkingDir%\Config.ini, Options, Active12
IniWrite, %Warden%, %A_WorkingDir%\Config.ini, Options, Warden
IniWrite, %Blackprior%, %A_WorkingDir%\Config.ini, Options, Blackprior
IniWrite, %All_Others%, %A_WorkingDir%\Config.ini, Options, All_Others
msgbox,0, Successfully, Settings successfully saved!
}
return
ButtonH4:
{
GuiControlget, Warden
GuiControlget, Blackprior
GuiControlget, All_Others
GuiControlget, Active1
GuiControlget, Active2
GuiControlget, Active3
GuiControlget, Active4
GuiControlget, Active5
GuiControlget, Active6
GuiControlget, Active7
GuiControlget, Active8
GuiControlget, Active9
GuiControlget, Active10
GuiControlget, Active11
GuiControlget, Active12
GuiControlget, Pause
GuiControlget, Pause1
GuiControlget, Pause2
GuiControlget, Pause3
GuiControlget, res1
GuiControlget, res2
GuiControlget, Left
GuiControlget, Right
}
msgbox,0, Successfully, Settings successfully updated!
return
ButtonOK:
{
GuiControlget, res1
GuiControlget, res2
x8 := (res1 / 1920) * 860
y8 := (res2 / 1080) * 80
x9 := (res1 / 1920) * 1075
y9 := (res2 / 1080) * 425
x18 := (res1 / 1920) * 670
y18 := (res2 / 1080) * 300
x19 := (res1 / 1920) * 820
y19 := (res2 / 1080) * 510
if(res1=0||res2=0){
Msgbox, Resolution cant be %res1% x %res2%
reload
}
if(res1<res2){
Msgbox, Resolution cant be %res1% x %res2%
reload
}
if(res1>res2){
Msgbox, Resolution updated, new resolution %res1% x %res2%
}
}
return
Guiclose:
exitapp
return
Start:
Loop{
GoSub Calculate
GoSub SearchBot
GoSub AutoBlock
}
Calculate:
PixelSearch,Bx,By,x18,y18,x19,y19,0x058341,0,Fast|RGB
if(ErrorLevel=0)
box:=1
if(ErrorLevel=1)
box:=2
PixelSearch,Ax,Ay,x8,y8,x9,y9,0x058341,0,Fast|RGB
if(ErrorLevel=0&&box=2){
x2 := Ax-200*B55
y2 := Ay+20*Y55
x3 := Ax+160*B55
y3 := Ay+170*Y55
x4 := Ax+5*B55
y4 := Ay+195*Y55
x5 := Ax+160*B55
y5 := Ay+430*Y55
x6 := Ax-200*B55
y6 := Ay+195*Y55
x7 := Ax-30*B55
y7 := Ay+430*Y55
x16 := Ax-200*B55
y16 := Ay+20*Y55
x17 := Ax+160*B55
y17 := Ay+430*Y55
}
if(ErrorLevel=0&&box=1){
x2 := Ax-100*B55
y2 := Ay+10*B55
x3 := Ax+80*Y55
y3 := Ay+85*Y55
x4 := Ax+2.5*B55
y4 := Ay+97.5*Y55
x5 := Ax+80*B55
y5 := Ay+227.7*Y55
x6 := Ax-100*B55
y6 := Ay+97.5*Y55
x7 := Ax-15*B55
y7 := Ay+227.7*Y55
x16 := Ax-117.6*B55
y16 := Ay+10*Y55
x17 := Ax+94.11*B55
y17 := Ay+227.7*Y55
}
if(ErrorLevel=1){
PixelSearch,Ax,Ay,x8,y8,x9,y9,0xFFFF0A,0,Fast|RGB
if(ErrorLevel=0&&box=2){
x2 := Ax-175*B55
y2 := Ay+65*Y55
x3 := Ax+185*B55
y3 := Ay+185*Y55
x4 := Ax+30*B55
y4 := Ay+215*Y55
x5 := Ax+185*B55
y5 := Ay+430*Y55
x6 := Ax-175*B55
y6 := Ay+215*Y55
x7 := Ax-5*B55
y7 := Ay+430*Y55
x16 := Ax-175*B55
y16 := Ay+65*Y55
x17 := Ax+185*B55
y17 := Ay+430*Y55
}
if(ErrorLevel=0&&box=1){
x2 := Ax-87.5*B55
y2 := Ay+35*B55
x3 := Ax+92.5*Y55
y3 := Ay+92.5*Y55
x4 := Ax+15*B55
y4 := Ay+107.5*Y55
x5 := Ax+92.5*B55
y5 := Ay+215*Y55
x6 := Ax-87.5*B55
y6 := Ay+107.5*Y55
x7 := Ax-2.5*B55
y7 := Ay+215*Y55
x16 := Ax-87.5*B55
y16 := Ay+35*Y55
x17 := Ax+92.5*B55
y17 := Ay+215*Y55
}
}
SearchBot:
PixelSearch,vx,vy,x16,y16,x17,y17,0xF66208,0,Fast|RGB
if(ErrorLevel=0){
PixelSearch,px,py,x16,y16,x17,y17,0xFF221C,3,Fast|RGB
if(ErrorLevel=0){
ubp:=1
SetTimer, Release, -1000
GoSub ubparry
return
}
if(ErrorLevel=1&&Blackprior=1){
GoSub Dodge1
}
if(ErrorLevel=1&&Blackprior=0){
GoSub Dodge2
}
}
return
AutoBlock:
PixelSearch,zx,zy,x16,y16,x17,y17,0xFF3129,2,Fast|RGB
if(Errorlevel = 0){
if(zx > x4 and zy > y4)
{
GoSub RGT
return
}
if(zx < x7 and zy > y4)
{
GoSub LFT
return
}
if(zy > y2 and zy < y3)
{
GoSub TOP
return
}
}
return
ubparry:
While,(ubp=1){
PixelSearch,px,py,x16,y16,x17,y17,0xFF221C,3,Fast|RGB
if(ErrorLevel=1){
Sleep, Pause1
PixelSearch,px,py,x16,y16,x17,y17,0xF66208,0,Fast|RGB
if(ErrorLevel=0&&Active1=1){
while, getkeystate("W"){
if(Blackprior=1){
AHI.SendKeyEvent(keyboardId, GetKeySC("Numpad9"), 1)
Sleep 1
AHI.SendKeyEvent(keyboardId, GetKeySC("Numpad9"), 0)
Sleep, 2300
return
}
if(Blackprior=0){
SetKeyDelay,1
BlockInput, On
AHI.SendKeyEvent(keyboardId, GetKeySC("Down"), 1)
AHI.SendKeyEvent(keyboardId, GetKeySC("Space"), 1)
Sleep 1
AHI.SendKeyEvent(keyboardId, GetKeySC("Down"), 0)
AHI.SendKeyEvent(keyboardId, GetKeySC("Space"), 0)
BlockInput, Off
SetKeyDelay,30
Sleep, 700
return
}
}
if(pbp=0){
AHI.MouseButtonEvent(mouseId,mouseId, 1, 1)
sleep 1
AHI.MouseButtonEvent(mouseId,mouseId, 1, 0)
}
if(pbp=1){
AHI.SendKeyEvent(keyboardId, GetKeySC("Space"), 1)
Sleep 1
AHI.SendKeyEvent(keyboardId, GetKeySC("Space"), 0)
}
Sleep, 700
}
}
}
return
Dodge1:
if(Active1=1){
Sleep, Pause
while, getkeystate("W"){
AHI.SendKeyEvent(keyboardId, GetKeySC("Numpad9"), 1)
Sleep 1
AHI.SendKeyEvent(keyboardId, GetKeySC("Numpad9"), 0)
Sleep, 2000
return
}
AHI.SendKeyEvent(keyboardId, GetKeySC("Space"), 1)
Sleep 1
AHI.SendKeyEvent(keyboardId, GetKeySC("Space"), 0)
Sleep, 700
}
return
Dodge2:
if(Active1=1){
Sleep, Pause
while, getkeystate("W"){
SetKeyDelay,1
BlockInput, On
AHI.SendKeyEvent(keyboardId, GetKeySC("Down"), 1)
AHI.SendKeyEvent(keyboardId, GetKeySC("Space"), 1)
Sleep 1
AHI.SendKeyEvent(keyboardId, GetKeySC("Down"), 0)
AHI.SendKeyEvent(keyboardId, GetKeySC("Space"), 0)
BlockInput, Off
SetKeyDelay,30
Sleep, 700
return
}
AHI.SendKeyEvent(keyboardId, GetKeySC("Space"), 1)
Sleep 1
AHI.SendKeyEvent(keyboardId, GetKeySC("Space"), 0)
if(Active6=1){
Sleep, Pause2
AHI.MouseButtonEvent(mouseId,0, 1)
sleep 1
AHI.MouseButtonEvent(mouseId,0, 0)
}
if(Active5=1){
Sleep, Pause2
AHI.MouseButtonEvent(mouseId,1, 1)
sleep 1
AHI.MouseButtonEvent(mouseId,1, 0)
}
Sleep, 700
return
}
return
Release:
ubp:=0
return
TOP:
Sleep, Pause3
AHI.SendKeyEvent(keyboardId, GetKeySC("Numpad8"), 1)
Sleep 1
AHI.SendKeyEvent(keyboardId, GetKeySC("Numpad8"), 0)
While, GetKeyState("C"){
PixelSearch,px,py,x16,y16,x17,y17,0xFF2922,0,Fast|RGB
if(ErrorLevel = 1){
PixelSearch,px,py,x16,y16,x17,y17,0xFF9A8D,0,Fast|RGB
if(ErrorLevel = 0){
if(Active3=1&&Warden=0){
AHI.MouseButtonEvent(mouseId,1, 1)
sleep 1
AHI.MouseButtonEvent(mouseId,1, 0)
Sleep, 850
return
}
if(Active3=1&&Warden=1){
AHI.MouseButtonEvent(mouseId,0, 1)
sleep 1
AHI.MouseButtonEvent(mouseId,0, 0)
Sleep, 500
AHI.MouseButtonEvent(mouseId,0, 1)
sleep 1
AHI.MouseButtonEvent(mouseId,0, 0)
Sleep, 850
return
}
if(Active4=1){
AHI.SendKeyEvent(keyboardId, GetKeySC("Numpad9"), 1)
Sleep 1
AHI.SendKeyEvent(keyboardId, GetKeySC("Numpad9"), 0)
Sleep, 2000
return
}
}
}
}
While, GetKeyState("E"){
PixelSearch,px,py,x16,y16,x17,y17,0xFF2922,0,Fast|RGB
if(ErrorLevel = 1){
PixelSearch,px,py,x16,y16,x17,y17,0xFF9A8D,0,Fast|RGB
if(ErrorLevel = 0){
if(Active9=1){
AHI.MouseButtonEvent(mouseId,1, 1)
sleep 1
AHI.MouseButtonEvent(mouseId,1, 0)
Sleep, 850
return
}
if(Active11=1){
AHI.MouseButtonEvent(mouseId,0, 1)
sleep 1
AHI.MouseButtonEvent(mouseId,0, 0)
Sleep, 1200
return
}
if(Active12=1){
SetKeyDelay,1
BlockInput, On
AHI.SendKeyEvent(keyboardId, GetKeySC("w"), 0)
AHI.SendKeyEvent(keyboardId, GetKeySC("a"), 0)
AHI.SendKeyEvent(keyboardId, GetKeySC("d"), 0)
AHI.SendKeyEvent(keyboardId, GetKeySC("s"), 0)
AHI.SendKeyEvent(keyboardId, GetKeySC("Up"), 1)
AHI.SendKeyEvent(keyboardId, GetKeySC("Space"), 1)
Sleep 1
AHI.SendKeyEvent(keyboardId, GetKeySC("Up"), 0)
AHI.SendKeyEvent(keyboardId, GetKeySC("Space"), 0)
BlockInput, Off
SetKeyDelay,30
Sleep, 1200
return
}
}
}
}
return
LFT:
Sleep, Pause3
AHI.SendKeyEvent(keyboardId, GetKeySC("Numpad4"), 1)
Sleep 1
AHI.SendKeyEvent(keyboardId, GetKeySC("Numpad4"), 0)
While, GetKeyState("C"){
PixelSearch,px,py,x16,y16,x17,y17,0xFF2922,0,Fast|RGB
if(ErrorLevel = 1){
PixelSearch,px,py,x16,y16,x17,y17,0xFF9A8D,0,Fast|RGB
if(ErrorLevel = 0){
if(Active3=1){
AHI.MouseButtonEvent(mouseId,1, 1)
sleep 1
AHI.MouseButtonEvent(mouseId,1, 0)
Sleep, 850
return
}
if(Active4=1){
AHI.SendKeyEvent(keyboardId, GetKeySC("Numpad9"), 1)
Sleep 1
AHI.SendKeyEvent(keyboardId, GetKeySC("Numpad9"), 0)
Sleep, 2000
return
}
}
}
}
While, GetKeyState("E"){
PixelSearch,px,py,x16,y16,x17,y17,0xFF2922,0,Fast|RGB
if(ErrorLevel = 1){
PixelSearch,px,py,x16,y16,x17,y17,0xFF9A8D,0,Fast|RGB
if(ErrorLevel = 0){
if(Active9=1){
AHI.MouseButtonEvent(mouseId,1, 1)
sleep 1
AHI.MouseButtonEvent(mouseId,1, 0)
Sleep, 850
return
}
if(Active11=1){
AHI.MouseButtonEvent(mouseId,0, 1)
sleep 1
AHI.MouseButtonEvent(mouseId,0, 0)
Sleep, 1200
return
}
if(Active12=1){
SetKeyDelay,1
BlockInput, On
AHI.SendKeyEvent(keyboardId, GetKeySC("w"), 0)
AHI.SendKeyEvent(keyboardId, GetKeySC("a"), 0)
AHI.SendKeyEvent(keyboardId, GetKeySC("d"), 0)
AHI.SendKeyEvent(keyboardId, GetKeySC("s"), 0)
Sleep, Left
AHI.SendKeyEvent(keyboardId, GetKeySC("Left"), 1)
AHI.SendKeyEvent(keyboardId, GetKeySC("Space"), 1)
Sleep 1
AHI.SendKeyEvent(keyboardId, GetKeySC("Left"), 0)
AHI.SendKeyEvent(keyboardId, GetKeySC("Space"), 0)
BlockInput, Off
SetKeyDelay,30
Sleep, 1200
return
}
}
}
}
return
RGT:
Sleep, Pause3
AHI.SendKeyEvent(keyboardId, GetKeySC("Numpad6"), 1)
Sleep 1
AHI.SendKeyEvent(keyboardId, GetKeySC("Numpad6"), 0)
While, GetKeyState("C"){
PixelSearch,px,py,x16,y16,x17,y17,0xFF2922,0,Fast|RGB
if(ErrorLevel = 1){
PixelSearch,px,py,x16,y16,x17,y17,0xFF9A8D,0,Fast|RGB
if(ErrorLevel = 0){
if(Active3=1){
AHI.MouseButtonEvent(mouseId,1, 1)
sleep 1
AHI.MouseButtonEvent(mouseId,1, 0)
Sleep, 850
return
}
if(Active4=1){
AHI.SendKeyEvent(keyboardId, GetKeySC("Numpad9"), 1)
Sleep 1
AHI.SendKeyEvent(keyboardId, GetKeySC("Numpad9"), 0)
Sleep, 2000
return
}
}
}
}
While, GetKeyState("E"){
PixelSearch,px,py,x16,y16,x17,y17,0xFF2922,0,Fast|RGB
if(ErrorLevel = 1){
PixelSearch,px,py,x16,y16,x17,y17,0xFF9A8D,0,Fast|RGB
if(ErrorLevel = 0){
if(Active9=1){
AHI.MouseButtonEvent(mouseId,1, 1)
sleep 1
AHI.MouseButtonEvent(mouseId,1, 0)
Sleep, 850
return
}
if(Active11=1){
AHI.MouseButtonEvent(mouseId,0, 1)
sleep 1
AHI.MouseButtonEvent(mouseId,0, 0)
Sleep, 1200
return
}
if(Active12=1){
SetKeyDelay,1
BlockInput, On
Send, {W Up}{S Up}{A Up}{D Up}
AHI.SendKeyEvent(keyboardId, GetKeySC("w"), 0)
AHI.SendKeyEvent(keyboardId, GetKeySC("a"), 0)
AHI.SendKeyEvent(keyboardId, GetKeySC("d"), 0)
AHI.SendKeyEvent(keyboardId, GetKeySC("s"), 0)
Sleep, Right
AHI.SendKeyEvent(keyboardId, GetKeySC("Right"), 1)
AHI.SendKeyEvent(keyboardId, GetKeySC("Space"), 1)
sleep 1
AHI.SendKeyEvent(keyboardId, GetKeySC("Right"), 0)
AHI.SendKeyEvent(keyboardId, GetKeySC("Space"), 0)
BlockInput, Off
SetKeyDelay,30
Sleep, 1200
return
}
}
}
}
return
~LShift::
if(Active12=1){
OutVar:=GetKeyState("LShift")
if(OutVar=1){
AHI.SendKeyEvent(keyboardId, GetKeySC("Numpad3"), 1)
sleep 1
AHI.SendKeyEvent(keyboardId, GetKeySC("Numpad3"), 0)
}
}
return
~F5::
if(pbp=1){
pbp:=0
SoundPlay, %A_WorkingDir%\buttonclick.wav
return
}
if(pbp=0){
pbp:=1
SoundPlay, %A_WorkingDir%\buttonunclick.wav
return
}
return
~R::
Active1:=0
SetTimer, Rele, -9000
return
Rele:
Active1:=1
return
~F1::
if(Pause=0){
Pause:=80
SoundPlay, %A_WorkingDir%\buttonclick.wav
return
}
if(Pause=80){
Pause:=0
SoundPlay, %A_WorkingDir%\buttonunclick.wav
return
}
return
~F3::
if(Active3=1){
Active3:=0
Active4:=1
GuiControl,,Active3, 0
GuiControl,,Active4, 1
SoundPlay, %A_WorkingDir%\buttonclick.wav
return
}
if(Active4=1){
Active3:=1
Active4:=0
GuiControl,,Active3, 1
GuiControl,,Active4, 0
SoundPlay, %A_WorkingDir%\buttonclick.wav
return
}
return
~F2::
if(Active1=1){
Active1:=0
GuiControl,,Active1, 0
SoundPlay, %A_WorkingDir%\buttonunclick.wav
return
}
if(Active1=0){
Active1:=1
GuiControl,,Active1, 1
SoundPlay, %A_WorkingDir%\buttonclick.wav
return
}
~Z::
pause
SoundPlay, %A_WorkingDir%\buttonclick.wav
return
~F4::
nMode++
if nMode = 1
{
Active9:=1
Active11:=0
Active12:=0
GuiControl,,Active9, 1
GuiControl,,Active11, 0
GuiControl,,Active12, 0
SoundPlay, %A_WorkingDir%\buttonclick.wav
}
if nMode = 2
{
Active9:=0
Active11:=1
Active12:=0
GuiControl,,Active9, 0
GuiControl,,Active11, 1
GuiControl,,Active12, 0
SoundPlay, %A_WorkingDir%\buttonclick.wav
}
if nMode = 3
{
Active9:=0
Active11:=0
Active12:=1
GuiControl,,Active9, 0
GuiControl,,Active11, 0
GuiControl,,Active12, 1
SoundPlay, %A_WorkingDir%\buttonclick.wav
nMode = 0
}
return
Credits for the Original Source
HappyMajor, Sh1ro/florasSecret