IniWrite, %chc%, %ScriptName%.ini, Crochair Picture, Picturecolorval IniWrite, %chcl%, %ScriptName%.ini, Crochair Picture, Picturecolor IniWrite, %chp%, %ScriptName%.ini, Crochair Picture, PictureNum IniWrite, %chyt%, %ScriptName%.ini, Crochair tol, chyt IniWrite, %chxt%, %ScriptName%.ini, Crochair tol, chxt IniRead,chimgh, %ScriptName%.ini, Crochair Picture, PictureHeight IniRead,chimgw, %ScriptName%.ini, Crochair Picture, PictureWidth IniRead,chimg, %ScriptName%.ini, Crochair Picture, PictureFile IniRead,chc, %ScriptName%.ini, Crochair Picture, Picturecolorval IniRead,chcl, %ScriptName%.ini, Crochair Picture, Picturecolor IniRead,chp, %ScriptName%.ini, Crochair Picture, PictureNum IniRead,chyt, %ScriptName%.ini, Crochair tol,chyt IniRead,chxt, %ScriptName%.ini, Crochair tol,chxt exe from filename to get name for INI file SetWorkingDir %A_ScriptDir% Ensures a consistent starting directory. SendMode Input Recommended for new scripts due to its superior speed and reliability. #NoEnv Recommended for performance and compatibility with future AutoHotkey releases. Hope someone finds this useful and the time to clean this mess up so arrow keys let and right should edit the X axis and arrow top and down the Y axis. its usually just merely a pixel, but being able to edit the placement from within the script would be awesome. for example fallout 4 has a different center crosshair than overwatch has. YCross := A_ScreenHeight - 603" so i can make it a universal script for every FPS. i would like the arrow keys to be bound to edit the values in "XCross := A_ScreenWidth - 1024 Third issue i need help with is adding a function. png on start by default, so it doesnt show complete garbage. it needs the hotkey to be pressed twice for the crosshair image to show. The crosshair overlay is also buggy, which i would like to clean. I cannot get "IfWinActive" to work, which works fine on other clock overlay scripts ive written. * Wildcard: Fire the hotkey even if extra modifiers are being held down. ~ When the hotkey fires, its key's native function will not be blocked (hidden from the system). $ This is usually only necessary if the script uses the Send command to send the keys that comprise the hotkey itself, which might otherwise cause it to trigger itself. WinSet, AlwaysOnTop, Off, Crosshair ahk_class AutoHotkeyGUI WinSet, AlwaysOnTop, ON, Crosshair ahk_class AutoHotkeyGUI !0::Gui, Add, Picture, x0 y0, resource/Crosshair0.png !9::Gui, Add, Picture, x0 y0, resource/Crosshair9.png !8::Gui, Add, Picture, x0 y0, resource/Crosshair8.png !7::Gui, Add, Picture, x0 y0, resource/Crosshair7.png !6::Gui, Add, Picture, x0 y0, resource/Crosshair6.png !5::Gui, Add, Picture, x0 y0, resource/Crosshair5.png !4::Gui, Add, Picture, x0 y0, resource/Crosshair4.png !3::Gui, Add, Picture, x0 y0, resource/Crosshair3.png !2::Gui, Add, Picture, x0 y0, resource/Crosshair2.png !1::Gui, Add, Picture, x0 y0, resource/Crosshair1.png Gui, Add, Picture, x0 y0, resource/Blank.png Gui, Show, x%XCross% y%YCross% h%A_ScreenHeight% w%A_ScreenWidth%, Crosshair Gui +E0x20 +LastFound +AlwaysOnTop +ToolWindow -Border -Caption