I added your parameters to the AH2 script and tested them in-game and I don't seem to be having these issues you've mentioned, each time I run it with the tweaked parameters I end up in the same place each time, only slight differences due to my original human alignment.
The script:
Running := false
; Do a 360° turn when the home key is pressed
Home::
{
Running := true
; Do the following 60 times
Loop 60
{
; Move the mouse 100 dots to the right
DllCall("User32.dll\mouse_event", "UInt", 1, "UInt", 100, "UInt", 0, "UInt", 0, "UPtr", 0)
; Pause for 1 millisecond
Sleep 1
}
Running := false
}
; Do a 360° turn when the end key is pressed
End::
{
Running := true
; Do the following 600 times
Loop 600
{
; Move the mouse 10 dots to the right
DllCall("User32.dll\mouse_event", "UInt", 1, "UInt", 10, "UInt", 0, "UInt", 0, "UPtr", 0)
; Pause for 1 millisecond
Sleep 10
}
Running := false
}
; Do a 360° turn when the up key is pressed
Up::
{
Running := true
; Do the following 6000 times
Loop 6000
{
; Move the mouse 1 dot to the right
DllCall("User32.dll\mouse_event", "UInt", 1, "UInt", 1, "UInt", 0, "UInt", 0, "UPtr", 0)
; Pause for 1 millisecond
Sleep 1
}
Running := false
}
#HotIf Running
; Reloads the script effectively stopping any running loop
Esc::Reload
The results: https://streamable.com/69oz36