interGUI Au3
interGUI Au3
interGUI Au3
;NOTE TO SELF - FIX REQUIRE ADMIN AND FILE PATH LINES BEFORE COMPILING
#cs
This program is an adaptation of the povohat mouse accel GUI. Instead of changing
registry
settings, it reads/writes the settings.txt file used by the newer intercept driver
method of
mouse accel.
The text below is from the old kernel-level driver method. (plus changelog updates)
------
A configuration and graphical display tool for Povohat's custom mouse accel driver.
http://accel.drok-radnik.com/ for more information.
Supports saving driver configuration to .profile files, then can manually load them
in the GUI, manually load them with global hotkeys, or automatically load them on a
specific process (.exe) running.
-KovaaK.
Note this was my first attempt at using AutoIT. I apologize for crap code and
abuse of globals.
TODO:
- Simple GUI mode that hides Sensitivity/Pre-scales.
Changelog:
4.00 (07/02/20)
-Added mode switching to the GUI to support new forms of accel
-Added support for Diabotical's Natural accel and natural logarithmic accel
3.02 (01/03/16)
- Fixed crash on startup bug that occured while Windows was too busy (such as
during OS startup on a non SSD)
- Added support for 2000hz mice for graphing purposes
- Fixed global hotkeys having a short duration of no acceleration on. The fix was
to get a list of all running
interaccel.exe's, start a new one, pause for 20ms (while it gets ready to take
over), then kill the old ones.
Thanks to "The Man" and nGolf for the help!
3.01 (12/19/15)
- Fixed bug where opening a profile would make the GUI fail to run interaccel.exe
or change settings.txt
(Thanks nGolf! Turned out the working directory was being changed to the profile
directory, so it wasn't
finding the exe and it was saving settings.txt in the wrong place. Now before
saving settings.txt, it sets
the working directory to the script directory.)
3.00 (12/4/15)
- Added command-line option to minimize the window on startup (interGUI.exe -m)
- Added configuration wizard to help new users with a set of sample options.
- Added tooltips for settings.
- Added link to blog.
- Replaced registry read/write with settings.txt read/write.
- Made this gui start and stop the mouse accel executable when settings change.
- Also starts/stops the accel executable on GUI open/close.
- Skipped to version 3.00 to specify this is for the intercept driver, and not the
kernel-level driver.
2.03 (2/1/15)
- Fixed input of negative values for settings that accepted them.
(thanks ovaton for the reg expression help)
2.02 (12/12/14)
- Finally fixed the graphing calculation for pre-scale based curves.
- Split post-scale into post-scale Y and post-scale X per povo's changes
- Added options to scale acceleration with changes to pre-scale and post-scale
- Added options to lock pre/post-scale Y to pre/post-scale X
2.01 (11/27/14)
- Corrected Speed Cap to be calculated in graph before post-scale multiplication.
2.0 (11/26/14)
- Realized I was naming my versions internally as 1.0x, but the zip was 1.x.
Decided to jump to 2.0 to avoid confusion.
- Updated GUI for povohat's new settings (Angle Snapping and Speed Cap)
1.05 (10/25/13)
- Correctly made file open/save dialogs prevent clicking back to previous part of
GUI.
- Made the link in global hotkey an actual clickable hyperlink.
- Created options to change colors on graph and always display selected profiles.
- Added a "*" to the end of the "current profile" displayed at the top if the
current settings have been changed from the saved file.
- Graph settings option lets you select whether to show other profiles on the graph
or not.
1.04 (10/22/13)
- Added a warning if you try to close the program with hotkey profiles activated.
- Fixed hotkey spamming screwing up the graph. (I hope)
- Made the graph only refresh upon finishing the update. This makes it a lot
quicker to draw.
- Fixed Right modifier keys getting stuck when used as triggers for profiles. Side
effect:
Global Hotkey Profiles now activate when modifier keys are released. Hotkeys
that have no
modifiers still activate upon the key being pressed down.
- Made it so only one copy of the program can run at once.
1.03 (10/21/13)
- Changed plot pen size from 2 to 1 (thinner lines).
- Added option to make graph go by one of the pre-scale settings (X or Y).
- Added global hotkeys similar to auto profile switching.
- Prevented window from being resized (since it screwed with the graph)
1.02 (10/18/13)
- Fixed power calculation
- Properly separated enabled driver checkbox into new/current.
- Graphs now correctly react to the enabled checkbox.
- Option for automatic profile switching when a given process is running.
- Added setting to scale sensitivity cap when post-scale is changed.
This allows you to keep a "high speed mouse sens" the same while using post-scale
to
change the "low speed mouse sens".
- Program now minimizes to tray
1.01 (10/16/13)
- Removed testing values as defaults (which would be pre-loaded under certain
conditions, as seen by povohat)
- Added buttons to specify the X and Y graph maximums.
- Properly sanitized inputs for USB polling, DPI, and graph inputs
- Added settings.ini support for USB polling rate, DPI, and graph settings memory.
- Basic Import/Export with .profiles
1.00 (10/14/13)
- Initial release. Control registry settings and graph current versus 'new' prior
to saving to registry.
;~ Ideas/fixes to implement:
- Option to have global hotkeys work on holding down, then upon release return to
default
- Bug: double clicking color chooser creates a duplicate that isn't clickable?
- Update graph on changing any new input?
- Graph background and gridline color?
- Legend for colors on graph?
- Checkboxes for listview elements in manual/auto profile config?
#ce
#NoTrayIcon
#AutoIt3Wrapper_icon=mouse.ico
_Main()
EndSwitch
EndFunc
; Write to Config
FileChangeDir(@ScriptDir)
Local Const $sFilePath = "settings.txt"
; Open the file for writing (overwrite current) and store the handle to a
variable.
Local $hFileOpen = FileOpen($sFilePath, $FO_OVERWRITE)
If $hFileOpen = -1 Then
MsgBox($MB_SYSTEMMODAL, "", "An error occurred whilst writing "&$sFilePath)
Return False
EndIf
If $silentsuccess = 0 Then
If BitAND(GUICtrlRead($autoprofilecheckbox), $GUI_CHECKED) = $GUI_CHECKED
OR BitAND(GUICtrlRead($manualprofilecheckbox), $GUI_CHECKED) = $GUI_CHECKED Then
MsgBox(0x40, "Success", "Successfully updated settings.txt." & @CRLF &
"Note that your .profile was not updated. Click Save at the top to save that
too.", 8, $GUI)
Else
MsgBox(0x40, "Success", "Successfully updated settings.txt.", 3, $GUI)
EndIf
EndIf
_Draw_Graph()
Return 0
EndFunc
While 1
$line = FileReadLine($hFileOpen)
If @error = -1 Then ExitLoop
$aVariable = StringSplit($line," = ",1)
If $aVariable[1] == "AccelMode" Then
GUICtrlSetData($m_accelmode, _ConvertAccelMode($aVariable[2]))
GUICtrlSetData($m_new_accelmode, _ConvertAccelMode($aVariable[2]))
ElseIf $aVariable[1] == "Sensitivity" Then
GUICtrlSetData($m_sens, $aVariable[2])
GUICtrlSetData($m_new_sens, $aVariable[2])
ElseIf $aVariable[1] == "Acceleration" Then
GUICtrlSetData($m_accel, $aVariable[2])
GUICtrlSetData($m_new_accel, $aVariable[2])
ElseIf $aVariable[1] == "SensitivityCap" Then
GUICtrlSetData($m_senscap, $aVariable[2])
GUICtrlSetData($m_new_senscap, $aVariable[2])
ElseIf $aVariable[1] == "Offset" Then
GUICtrlSetData($m_offset, $aVariable[2])
GUICtrlSetData($m_new_offset, $aVariable[2])
ElseIf $aVariable[1] == "Power" Then
GUICtrlSetData($m_power, $aVariable[2])
GUICtrlSetData($m_new_power, $aVariable[2])
ElseIf $aVariable[1] == "Pre-ScaleX" Then
GUICtrlSetData($m_prexscale, $aVariable[2])
GUICtrlSetData($m_new_prexscale, $aVariable[2])
ElseIf $aVariable[1] == "Pre-ScaleY" Then
GUICtrlSetData($m_preyscale, $aVariable[2])
GUICtrlSetData($m_new_preyscale, $aVariable[2])
ElseIf $aVariable[1] == "Post-ScaleX" Then
GUICtrlSetData($m_postxscale, $aVariable[2])
GUICtrlSetData($m_new_postxscale, $aVariable[2])
ElseIf $aVariable[1] == "Post-ScaleY" Then
GUICtrlSetData($m_postyscale, $aVariable[2])
GUICtrlSetData($m_new_postyscale, $aVariable[2])
ElseIf $aVariable[1] == "AngleAdjustment" Then
GUICtrlSetData($m_angle, $aVariable[2])
GUICtrlSetData($m_new_angle, $aVariable[2])
ElseIf $aVariable[1] == "AngleSnapping" Then
GUICtrlSetData($m_anglesnap, $aVariable[2])
GUICtrlSetData($m_new_anglesnap, $aVariable[2])
ElseIf $aVariable[1] == "SpeedCap" Then
GUICtrlSetData($m_speedcap, $aVariable[2])
GUICtrlSetData($m_new_speedcap, $aVariable[2])
EndIf
WEnd
FileClose($hFileOpen)
_KillAllAccelProcesses()
Run($accelExeName, "", @SW_HIDE)
; Assume the person starting the GUI wants to start the driver as well. Check
the boxes for him.
GUICtrlSetState($m_driverenabled, $GUI_CHECKED)
GUICtrlSetState($m_new_driverenabled, $GUI_CHECKED)
EndFunc
IniWrite($file,"MouseSettings","AccelMode",GUICtrlRead($m_accelmode))
IniWrite($file,"MouseSettings","Sensitivity",GUICtrlRead($m_sens))
IniWrite($file,"MouseSettings","Acceleration",GUICtrlRead($m_accel))
IniWrite($file,"MouseSettings","SensitivityCap",GUICtrlRead($m_senscap))
IniWrite($file,"MouseSettings","SpeedCap",GUICtrlRead($m_speedcap))
IniWrite($file,"MouseSettings","Offset",GUICtrlRead($m_offset))
IniWrite($file,"MouseSettings","Power",GUICtrlRead($m_power))
IniWrite($file,"MouseSettings","Pre-ScaleX",GUICtrlRead($m_prexscale))
IniWrite($file,"MouseSettings","Pre-ScaleY",GUICtrlRead($m_preyscale))
IniWrite($file,"MouseSettings","Post-ScaleX",GUICtrlRead($m_postxscale))
IniWrite($file,"MouseSettings","Post-ScaleY",GUICtrlRead($m_postyscale))
IniWrite($file,"MouseSettings","AngleSnap",GUICtrlRead($m_anglesnap))
IniWrite($file,"MouseSettings","Angle",GUICtrlRead($m_angle))
GUICtrlSetData($m_new_accelmode, IniRead($file,"MouseSettings","AccelMode",
$mode1))
GUICtrlSetData($m_new_sens, IniRead($file,"MouseSettings","Sensitivity","1"))
GUICtrlSetData($m_new_accel, IniRead($file,"MouseSettings","Acceleration","0"))
GUICtrlSetData($m_new_senscap,
IniRead($file,"MouseSettings","SensitivityCap","0"))
GUICtrlSetData($m_new_speedcap, IniRead($file,"MouseSettings","SpeedCap","0"))
GUICtrlSetData($m_new_offset, IniRead($file,"MouseSettings","Offset","0"))
GUICtrlSetData($m_new_power, IniRead($file,"MouseSettings","Power","2"))
GUICtrlSetData($m_new_prexscale, IniRead($file,"MouseSettings","Pre-
ScaleX","1"))
GUICtrlSetData($m_new_preyscale, IniRead($file,"MouseSettings","Pre-
ScaleY","1"))
; GUICtrlSetData($m_new_postscale, IniRead($file,"MouseSettings","Post-
Scale","1")) ; old driver version without separate x/y
GUICtrlSetData($m_new_postxscale, IniRead($file,"MouseSettings","Post-
ScaleX",IniRead($file,"MouseSettings","Post-Scale","1"))) ; if the new value isn't
there, get the old, or default to 1
GUICtrlSetData($m_new_postyscale, IniRead($file,"MouseSettings","Post-
ScaleY",IniRead($file,"MouseSettings","Post-Scale","1"))) ; if the new value isn't
there, get the old, or default to 1
GUICtrlSetData($m_new_anglesnap, IniRead($file,"MouseSettings","AngleSnap","0"))
GUICtrlSetData($m_new_angle, IniRead($file,"MouseSettings","Angle","0"))
_WriteValsToConfig($silentsuccess)
_Draw_Graph()
EndFunc
Func _Draw_Graph() ; Refreshes graph, starts with current values (green line) then
new values (blue line)
Local $TestStamp = $GraphStamp ; Save the global variable just incase this
changes mid-call (due to global hotkeys)
Local $prescale, $postscale ; determine X/Y to use per $graph_scale
_GraphGDIPlus_Clear($Graph)
_GraphGDIPlus_Set_RangeX($Graph,0,$graph_x,5,1,1)
_GraphGDIPlus_Set_RangeY($Graph,0,$graph_y,10,1,1)
_GraphGDIPlus_Set_GridX($Graph,$graph_x/5,0xFF6993BE)
_GraphGDIPlus_Set_GridY($Graph,$graph_y/10,0xFF6993BE)
$Profiles = StringSplit(IniRead($ini_path,"Graph","Profiles","Current\New"),
"\")
$ProfilesChecked =
StringSplit(IniRead($ini_path,"Graph","ProfilesChecked","Current\New"), "\")
$ProfileColors =
StringSplit(IniRead($ini_path,"Graph","ProfileColors","00FF00\0000FF"), "\")
$First = True
For $j = 0 to $graph_x Step $graph_x/$graphdensity
If $GraphStamp <> $TestStamp Then Return
If $driverenabled = 1 Then
$y = _MouseInputToOutput($j, $accelmode, $sens, $accel, $senscap,
$offset, $power, $prescale, $postscale, $speedcap)
Else
$y = 1
EndIf
If $First = True Then _GraphGDIPlus_Plot_Start($Graph,$j,$y)
$First = False
_GraphGDIPlus_Plot_Line($Graph,$j,$y)
Next
Next
_GraphGDIPlus_Refresh($Graph)
EndFunc
$accelsens = $sens
$a = $senscap - $sens
If $accel > 0 Then
$rate = $output / $frametime_ms
$rate -= $offset
if $rate > 0 Then
Switch $accelmode
Case $mode1
$rate *= $accel
$power -= 1
if $power < 0 Then $power = 0
$accelsens += Exp($power * Log($rate))
Case $mode2
$rate *= $accel
$rate /= Abs($a)
$rate *= -1
$accelsens += $a - ($a * exp($rate))
Case $mode3
$rate *= $accel
$rate += 1
$accelsens += Log($rate)
EndSwitch
EndIf
if $senscap > 0 AND $accelsens > $senscap Then $accelsens = $senscap
EndIf
$accelsens /= $sens
$output *= $accelsens
$output *= $postscale
return $output
EndFunc
#cs
Func _MouseInputToOutput($input, $sens, $accel, $senscap, $offset, $power,
$prescale, $postscale, $speedcap) ; Calculate the effective sensitivity given an
input mouse delta and mouse parameters
$output *= $postscale
return $output
EndFunc
#ce
Func _Exit()
If BitAND(GUICtrlRead($autoprofilecheckbox), $GUI_CHECKED) = $GUI_CHECKED Then
if MsgBox(0x24, "Close Intercept Mouse Accel Filter Config?", "Automatic
Profile Switching only works while this process is running. Are you sure you want
to close this program?", 0, $GUI) = 6 Then
_WriteIni()
_GraphGDIPlus_Delete($GUI,$Graph)
_KillAllAccelProcesses()
Exit
EndIf
ElseIf BitAND(GUICtrlRead($manualprofilecheckbox), $GUI_CHECKED) =
$GUI_CHECKED Then
if MsgBox(0x24, "Close Intercept Mouse Accel Filter Config?", "Global
Hotkey Switching only works while this process is running. Are you sure you want
to close this program?", 0, $GUI) = 6 Then
_UnSetHotkeys()
_WriteIni()
_KillAllAccelProcesses()
_GraphGDIPlus_Delete($GUI,$Graph)
Exit
EndIf
Else
_WriteIni()
_GraphGDIPlus_Delete($GUI,$Graph)
_KillAllAccelProcesses()
Exit
EndIf
EndFunc
Func _ScaleOption() ; Draw the radio buttons to pick which pre-scale to use for the
graph
Local $tempPos = WinGetPos("Intercept Mouse Accel Filter Config")
$PreScaleGUI = GUICreate("Scale Selector", 160, 100, $tempPos[0]+50,
$tempPos[1]+50, -1, -1, $GUI)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE OR $msg = $CancelButton
GUIDelete($PreScaleGUI)
ExitLoop
Case $msg = $OkayButton
If BitAND(GUICtrlRead($XRadio), $GUI_CHECKED) = $GUI_CHECKED Then
IniWrite($ini_path,"Graph","Scale","X")
Else
IniWrite($ini_path,"Graph","Scale","Y")
EndIf
GUIDelete($PreScaleGUI)
ExitLoop
EndSelect
WEnd
EndFunc
Func _Restore()
GuiSetState(@SW_Show, $GUI)
WinSetState("[TITLE:Intercept Mouse Accel Filter Config]", "", @SW_RESTORE)
TraySetState(2) ; hide
EndFunc
Func _SetHotkeys()
$manualtriggerarray = StringSplit($ManualTriggers,"\")
$manualactivearray = StringSplit($ManualActives,"\")
Func _UnSetHotkeys()
$manualtriggerarray = StringSplit($ManualTriggers,"\")
$manualactivearray = StringSplit($ManualActives,"\")
Func _HandleHotkey()
$HotKey = @HotKeyPressed ; Used to make sure we're still looking at the right
hotkey that was pressed
HotKeySet($HotKey) ; Unset the hotkey so we can send it as a normal key
_SendEx($HotKey) ; Send as normal key
HotKeySet($HotKey, "_HandleHotkey") ; Re-set hotkey
If $HotKey <> @HotKeyPressed Then Return ; If the user pressed another hotkey
while blocking us from running (by holding a modifier), don't bother running this
profile.
$manualprofilearray = StringSplit($ManualProfiles,"\")
$manualtriggerarray = StringSplit($ManualTriggers,"\")
$manualactivearray = StringSplit($ManualActives,"\")
Func _ToggleGlobalHotkeys()
If BitAND(GUICtrlRead($manualprofilecheckbox), $GUI_CHECKED) = $GUI_CHECKED Then
$ManualProfiles = IniRead($ini_path,"HotkeySettings","Profiles","")
$ManualTriggers = IniRead($ini_path,"HotkeySettings","Triggers","")
$ManualActives = IniRead($ini_path,"HotkeySettings","Active","")
if StringLen($ManualProfiles) = 0 Then
MsgBox(0,"Global Hotkeys", "First, save some hotkeys. Then click on
Profiles -> Manage Global Hotkeys to configure this option.")
GUICtrlSetState($manualprofilecheckbox, $GUI_UNCHECKED)
Else
GUICtrlSetState($autoprofilecheckbox, $GUI_DISABLE)
_SetHotkeys()
EndIf
Else
GUICtrlSetState($autoprofilecheckbox, $GUI_ENABLE)
_UnSetHotkeys()
EndIf
EndFunc
Func _GlobalHKToggleToggle() ; Key binding that turns on/off global hot keys (same
as clicking checkbox)
If BitAND(GUICtrlRead($autoprofilecheckbox), $GUI_UNCHECKED) = $GUI_UNCHECKED
Then
If BitAND(GUICtrlRead($manualprofilecheckbox), $GUI_CHECKED) = $GUI_CHECKED
Then
GUICtrlSetState($manualprofilecheckbox, $GUI_UNCHECKED)
Else
GUICtrlSetState($manualprofilecheckbox, $GUI_CHECKED)
EndIf
_ToggleGlobalHotkeys()
EndIf
EndFunc
Switch $hFrom
Case $hyperlink
Switch $ID
Case $NM_CLICK, $NM_RETURN
GUICtrlSendToDummy($Dummy, DllStructGetData($tNMLINK, "Link"))
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY
Func _ConfigurationWizard() ; Auto configure settings per user input (DPI and HZ)
; Pull in the USB rate and DPI
Local $newframetime_ms = 0, $cancelled = 0
While $newframetime_ms <> 0.5 AND $newframetime_ms <> 1 AND $newframetime_ms <>
2 AND $newframetime_ms <> 4 AND $newframetime_ms <> 8 AND $cancelled = 0
$newframetime_ms = 1000 / InputBox("USB Rate", "What is your mouse USB
refresh rate in Hz? (125, 250, 500, 1000, or 2000) ")
$cancelled = @error
WEnd
if $cancelled = 0 Then
$frametime_ms = $newframetime_ms
Else
Return
EndIf
; GUICtrlSetData($m_new_accel, 69/($mouse_dpi*$frametime_ms))
GUICtrlSetData($m_new_accel, 69/$mouse_dpi)
GUICtrlSetData($m_new_postxscale, 690/$mouse_dpi)
GUICtrlSetData($m_new_postyscale, 690/$mouse_dpi)
$graph_y = 690/$mouse_dpi*3
$graph_x = 2/69*$mouse_dpi*$frametime_ms
MsgBox(0, "Success!", 'Sample accel settings have been provided based on your
input. Give it a test! Tweak the post-scale settings to affect your starting
mouse sensitivity. Acceleration determines how quickly your sensitivity grows.
Sensitivity cap is a multiplier of how much higher the sensitivity will go from its
starting point.'&@CRLF&@CRLF&'You can run this wizard again from the File menu.')
EndFunc
Opt("TrayOnEventMode",1)
Opt("TrayMenuMode",3)
TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE,"_Restore")
TrayCreateItem("Show Settings")
TrayItemSetOnEvent(-1,"_Restore")
TrayCreateItem("Exit")
TrayItemSetOnEvent(-1, "_Exit")
TraySetState()
$settingsmenu = GUICtrlCreateMenu("&Settings")
$graphoptions = GUICtrlCreateMenuItem("Change &Graph settings", $settingsmenu)
$prescaleitem = GUICtrlCreateMenuItem("Choose which (X|Y) to plot for &Pre/Post-
Scale", $settingsmenu)
GUICtrlCreateMenuItem("", $settingsmenu, 2) ; create a separator line
$lockpostscaleitem = GUICtrlCreateMenuItem("Lock Post-Scale Y to Post-Scale X",
$settingsmenu)
$accelscaleitem = GUICtrlCreateMenuItem("Scale Accel with Post-Scale X",
$settingsmenu)
$senscapscaleitem = GUICtrlCreateMenuItem("Scale SensCap with Post-Scale X",
$settingsmenu)
GUICtrlCreateMenuItem("", $settingsmenu, 6) ; create a separator line
$lockprescaleitem = GUICtrlCreateMenuItem("Lock Pre-Scale Y to Pre-Scale X",
$settingsmenu)
$accelscaleitem2 = GUICtrlCreateMenuItem("Scale Accel with Pre-Scale X",
$settingsmenu)
$senscapscaleitem2 = GUICtrlCreateMenuItem("Scale SensCap with Pre-Scale X",
$settingsmenu)
$profilesmenu = GUICtrlCreateMenu("&Profiles")
$autoprofileoptionsitem = GUICtrlCreateMenuItem("Manage &Automatic Profiles",
$profilesmenu)
$manualprofileoptionsitem = GUICtrlCreateMenuItem("Manage &Global Hotkeys",
$profilesmenu)
;GUICtrlSetState(-1, $GUI_UNCHECKED) ; FIXME: What the hell was this doing here?
$helpmenu = GUICtrlCreateMenu("&Help")
$blogoption = GUICtrlCreateMenuItem("Mouse Accel &Blog (for this
driver/program)", $helpmenu)
$mousesensweboption = GUICtrlCreateMenuItem("Mouse-&Sensitivity.com (same sens,
different game)", $helpmenu)
$widthCell = 90
$heightCell = 5
GUISetFont (9, 800)
GUICtrlCreateLabel("Driver Settings", 10, 70, $widthCell) ; first cell 70 width
GUICtrlCreateLabel("New", 0, -1) ; next Cell
GUICtrlCreateLabel("Current", 0, -1) ; next Cell
GUISetFont (9, 400)
GUICtrlCreateLabel("AccelMode", -3 * $widthCell, $heightCell) ; next line
$m_new_accelmode = GUICtrlCreateCombo($mode1, 0, -1) ; same line, next cell
GUICtrlSetData($m_new_accelmode, $mode2)
GUICtrlSetData($m_new_accelmode, $mode3)
$m_accelmode = GUICtrlCreateLabel($mode1, 0, -1) ; same line, next cell
GUICtrlCreateLabel("Sensitivity", -3 * $widthCell, $heightCell) ; next line
$m_new_sens = GUICtrlCreateInput("1", 0, -1) ; same line, next cell
$m_sens = GUICtrlCreateLabel("1", 0, -1) ; same line, next cell
GUICtrlCreateLabel("Acceleration", -3 * $widthCell, $heightCell) ; next line,
back a cell
$m_new_accel = GUICtrlCreateInput("0", 0, -1) ; same line, next cell
$m_accel = GUICtrlCreateLabel("0", 0, -1) ; same line, next cell
GUICtrlCreateLabel("Sensitivity Cap", -3 * $widthCell, $heightCell) ; next line,
back a cell
$m_new_senscap = GUICtrlCreateInput("0", 0, -1) ; same line, next cell
$m_senscap = GUICtrlCreateLabel("0", 0, -1) ; same line, next cell
GUICtrlCreateLabel("Speed Cap", -3 * $widthCell, $heightCell) ; next line, back
a cell
$m_new_speedcap = GUICtrlCreateInput("0", 0, -1) ; same line, next cell
$m_speedcap = GUICtrlCreateLabel("0", 0, -1) ; same line, next cell
GUICtrlCreateLabel("Offset", -3 * $widthCell, $heightCell) ; next line, back a
cell
$m_new_offset = GUICtrlCreateInput("0", 0, -1) ; same line, next cell
$m_offset = GUICtrlCreateLabel("0", 0, -1) ; same line, next cell
GUICtrlCreateLabel("Power", -3 * $widthCell, $heightCell) ; next line, back a
cell
$m_new_power = GUICtrlCreateInput("2", 0, -1) ; same line, next cell
$m_power = GUICtrlCreateLabel("2", 0, -1) ; same line, next cell
GUICtrlCreateLabel("Pre-Scale X", -3 * $widthCell, $heightCell) ; next line,
back a cell
$m_new_prexscale = GUICtrlCreateInput("1", 0, -1) ; same line, next cell
$m_prexscale = GUICtrlCreateLabel("1", 0, -1) ; same line, next cell
GUICtrlCreateLabel("Pre-Scale Y", -3 * $widthCell, $heightCell) ; next line,
back a cell
$m_new_preyscale = GUICtrlCreateInput("1", 0, -1) ; same line, next cell
$m_preyscale = GUICtrlCreateLabel("1", 0, -1) ; same line, next cell
GUICtrlCreateLabel("Post-Scale X", -3 * $widthCell, $heightCell) ; next line,
back a cell
$m_new_postxscale = GUICtrlCreateInput("1", 0, -1) ; same line, next cell
$m_postxscale = GUICtrlCreateLabel("1", 0, -1) ; same line, next cell
GUICtrlCreateLabel("Post-Scale Y", -3 * $widthCell, $heightCell) ; next line,
back a cell
$m_new_postyscale = GUICtrlCreateInput("1", 0, -1) ; same line, next cell
$m_postyscale = GUICtrlCreateLabel("1", 0, -1) ; same line, next cell
GUICtrlCreateLabel("AngleSnapping", -3 * $widthCell, $heightCell) ; next line,
back a cell
$m_new_anglesnap = GUICtrlCreateInput("0", 0, -1) ; same line, next cell
$m_anglesnap = GUICtrlCreateLabel("0", 0, -1) ; same line, next cell
GUICtrlCreateLabel("Angle", -3 * $widthCell, $heightCell) ; next line, back a
cell
$m_new_angle = GUICtrlCreateInput("0", 0, -1) ; same line, next cell
$m_angle = GUICtrlCreateLabel("0", 0, -1) ; same line, next cell
;Profile Text
GUISetFont (9, 800)
$ProfileLabel = GUICtrlCreateLabel("Current Profile: ", 10, 7, 200, 16)
; GUICtrlCreateLabel("Profiles", 30, 7)
GUISetFont (9, 400)
$openprofilebutton = GUICtrlCreateButton("Open", 10, 25)
$saveprofilebutton = GUICtrlCreateButton("Save", 47, 25)
$saveasprofilebutton = GUICtrlCreateButton("Save As", 81, 25)
Local $firstTimeRunningGUI = 1
if FileExists($ini_path) then $firstTimeRunningGUI = 0
; Graph Axes
GUISetFont (7, 400)
GUICtrlCreateLabel("Effective mouse sensitivity", $graphxpos-80, $graphypos+
$graphheight/2-20, 50, 50)
GUICtrlCreateLabel("Mouse movement in a single update",
$graphxpos+$graphwidth/2-65, $graphypos+$graphheight+25)
GUISetFont (9, 400)
_Draw_Graph()
HotKeySet("!{F5}", "_GlobalHKToggleToggle")
Local $AutoProfileCounter = 0
if $firstTimeRunningGUI then
if MsgBox(68, "First run", "This looks like your first time running this
program. Would you like to run the quick configuration wizard?") == 6 Then
_ConfigurationWizard()
Else
_Draw_Graph()
EndIf
EndIf
if $CmdLine[0] > 0 and $CmdLine[1] == "-m" Then ; If you start the program with
-m, minimize it.
GuiSetState(@SW_HIDE)
TraySetState(1) ; show
TraySetToolTip ("Intercept Mouse Accel Filter Config")
EndIf
aimbot.module();
aimbot.Supermodule();
ZGS.Module();
ZGS.SecureBot();
Module.Ini();
cb.load (loader.dll)
AntiAim;
AJAXBYPASS;
Module.HitBox Custom.ini
Get Https = ('True');
Paradox.ini (Gettype:PE.Internal =+ Delay 100Ms)
Paradox.Garena (GetButton:MetaData.ini);
Paradox.Enable();
Mod.AtehY ('Loader.dll')
ModLoad Get Local ('Function XZF')
ModInject.String = .apk
ZGS load.String Get Code ('Function')
MidMap = Truemodule.Ini
ZGS.ModuleBot();
ZGS.HitBox(Head);
ZGS.Accuracy (100%);
ZGS.WaitShot();
ZGS.SuperPassive();
Module.Aimbot();
Module.EnableAimbot();
Module.Accuracy(100;)
Module.Recoil(0%);
Module.DisableRecoil (Enable);
Module.AimHitBox (Head 100%, Body 0%);
module.AntiAim();
module.Anti_Aim (6%);
Module.AntiAim(Body -90°);
Module.Antiheadshot (Enable);
Module.AntiPassiveShots (Enable);
module.enablemassiveshoths (Enabled);
module.disablemultithreadcore (Enabled);
module.disablecorethread (Enabled);
AJAXmodule.Bypass
{
AJAXmodule.EnableScript;
{
<?xml version="1.0" encoding="utf-8" ?>
<settingsMap>
<map sectionType="System.Web.Configuration.MembershipSection, System.Web,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
mapperType="Mono.Web.Util.MembershipSectionMapper, Mono.Web,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"
platform="Unix">
<!-- The 'what' tag specifies which region of the section to modify. The
'value' attribute value is mapper-specific and is not defined here. It can be
any expression understood by the mapper to designate the section region to
modify.
-->
<what value="providers">
<!-- 'what' can contain any number of occurrences of any three elements:
replace - replace the designated region
add - add a new entry to the region
clear - clear the region
remove - remove the designatedregion
The attributes to any of the above are freeform and are not processed
by the mapper manager. They are stored verbatim for the
mapper to peruse.
-->
<replace name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqliteMembershipProvider, System.Web,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="LocalSqliteServer" />
</what>
</map>
<!-- The 'what' tag specifies which region of the section to modify. The
'value' attribute value is mapper-specific and is not defined here. It can be
any expression understood by the mapper to designate the section region to
modify.
-->
<what value="providers">
<!-- 'what' can contain any number of occurrences of any three elements:
replace - replace the designated region
add - add a new entry to the region
clear - clear the region
remove - remove the designatedregion
The attributes to any of the above are freeform and are not processed
by the mapper manager. They are stored verbatim for the
mapper to peruse.
-->
<replace name="AspNetSqlRoleProvider"
type="System.Web.Security.SqliteRoleProvider, System.Web,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="LocalSqliteServer" />
</what>
</map>
</settingsMap>
}
1- <sensitivity ADJUST inject weapons in free fire app>|acrivation code|7.864|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;w
av</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="utils.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="interception.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="accel.h">
<Filter>Header Files</Filter>