Added scripts to project
This commit is contained in:
112
MousePositions.log
Normal file
112
MousePositions.log
Normal file
@ -0,0 +1,112 @@
|
||||
2025-06-23 13:57:14 | 10672,-79 | Total Commander (x64) 10.00 - <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
2025-06-23 13:57:16 | 3762,44 | DirtyLeague
|
||||
2025-06-23 13:57:18 | 3762,44 | DirtyLeague
|
||||
2025-06-23 13:57:20 | 3762,44 | DirtyLeague
|
||||
2025-06-23 13:57:22 | 3762,44 | DirtyLeague
|
||||
2025-06-23 13:57:24 | 3762,44 | DirtyLeague
|
||||
2025-06-23 13:57:26 | 3762,44 | DirtyLeague
|
||||
2025-06-23 13:57:28 | 3762,44 | DirtyLeague
|
||||
2025-06-23 13:57:30 | 3762,44 | DirtyLeague
|
||||
2025-06-23 14:07:24 | 9786,-120 | Total Commander (x64) 10.00 - <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
2025-06-23 14:07:26 | 1637,501 | DirtyLeague
|
||||
2025-06-23 14:07:28 | 1625,501 | DirtyLeague
|
||||
2025-06-23 14:07:30 | 1625,502 | DirtyLeague
|
||||
2025-06-23 14:07:32 | 1873,1901 | DirtyLeague
|
||||
2025-06-23 14:07:34 | 1944,1782 | DirtyLeague
|
||||
2025-06-23 14:07:36 | 1944,1782 | DirtyLeague
|
||||
2025-06-23 14:07:38 | 1944,1782 | DirtyLeague
|
||||
2025-06-23 14:07:40 | 1944,1782 | DirtyLeague
|
||||
2025-06-23 14:07:42 | 1944,1782 | DirtyLeague
|
||||
2025-06-23 14:07:44 | 1944,1782 | DirtyLeague
|
||||
2025-06-23 14:07:46 | 1944,1782 | DirtyLeague
|
||||
2025-06-23 14:07:48 | 1944,1782 | DirtyLeague
|
||||
2025-06-23 14:07:50 | 1944,1782 | DirtyLeague
|
||||
2025-06-23 14:07:52 | 1944,1782 | DirtyLeague
|
||||
2025-06-23 14:07:54 | 1944,1782 | DirtyLeague
|
||||
2025-06-23 14:07:56 | 1577,1707 | DirtyLeague
|
||||
2025-06-23 14:07:58 | 981,1628 | DirtyLeague
|
||||
2025-06-23 14:08:00 | 981,1628 | DirtyLeague
|
||||
2025-06-23 14:08:02 | 981,1628 | DirtyLeague
|
||||
2025-06-23 14:08:04 | 981,1628 | DirtyLeague
|
||||
2025-06-23 14:08:06 | 1766,960 | DirtyLeague
|
||||
2025-06-23 14:08:08 | 3702,119 | DirtyLeague
|
||||
2025-06-23 14:08:10 | 3702,119 | DirtyLeague
|
||||
2025-06-23 14:08:12 | 3702,119 | DirtyLeague
|
||||
2025-06-23 14:08:14 | 3702,119 | DirtyLeague
|
||||
2025-06-23 14:08:16 | 3702,119 | DirtyLeague
|
||||
2025-06-23 14:08:18 | 3702,119 | DirtyLeague
|
||||
2025-06-23 14:08:20 | 3702,119 | DirtyLeague
|
||||
2025-06-23 14:08:22 | 3702,119 | DirtyLeague
|
||||
2025-06-23 14:08:24 | 3702,119 | DirtyLeague
|
||||
2025-06-23 14:08:26 | 3702,119 | DirtyLeague
|
||||
2025-06-23 14:08:28 | 3702,119 | DirtyLeague
|
||||
2025-06-23 14:37:36 | 4594,-4022 | Total Commander (x64) 10.00 - <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
2025-06-23 14:37:38 | 1646,429 | DirtyLeague
|
||||
2025-06-23 14:37:40 | 1640,457 | DirtyLeague
|
||||
2025-06-23 14:37:42 | 1640,457 | DirtyLeague
|
||||
2025-06-23 14:37:44 | 1640,457 | DirtyLeague
|
||||
2025-06-23 14:37:46 | 1640,457 | DirtyLeague
|
||||
2025-06-23 14:37:48 | 1640,457 | DirtyLeague
|
||||
2025-06-23 14:37:50 | 1640,457 | DirtyLeague
|
||||
2025-06-25 23:20:39 | 2281,849 | Total Commander (x64) 10.00 - <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
2025-06-25 23:20:41 | 2281,849 | Total Commander (x64) 10.00 - <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
2025-06-25 23:20:43 | 1578,1373 | Total Commander (x64) 10.00 - <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
2025-06-25 23:20:45 | 3312,339 | DirtyLeague
|
||||
2025-06-25 23:20:47 | 3766,44 | DirtyLeague
|
||||
2025-06-25 23:20:49 | 3766,44 | DirtyLeague
|
||||
2025-06-25 23:20:51 | 3766,44 | DirtyLeague
|
||||
2025-06-25 23:20:53 | 3766,44 | DirtyLeague
|
||||
2025-06-25 23:21:23 | 2464,-10 | Total Commander (x64) 10.00 - <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
2025-06-25 23:21:25 | 3764,52 | DirtyLeague
|
||||
2025-06-25 23:21:27 | 3755,37 | DirtyLeague
|
||||
2025-06-25 23:21:29 | 3755,37 | DirtyLeague
|
||||
2025-06-25 23:21:31 | 3755,37 | DirtyLeague
|
||||
2025-06-25 23:21:33 | 3755,37 | DirtyLeague
|
||||
2025-06-30 08:39:29 | 927,639 | DirtyLeague
|
||||
2025-06-30 08:39:31 | 1157,534 | DirtyLeague
|
||||
2025-06-30 08:39:33 | 1157,534 | DirtyLeague
|
||||
2025-06-30 08:39:35 | 1157,534 | DirtyLeague
|
||||
2025-06-30 08:39:37 | 1154,534 | DirtyLeague
|
||||
2025-07-11 00:15:25 | 2771,231 | DirtyLeague
|
||||
2025-07-11 00:15:27 | 2525,458 | DirtyLeague
|
||||
2025-07-11 00:15:29 | 2534,475 | DirtyLeague
|
||||
2025-07-11 00:15:31 | 2534,475 | DirtyLeague
|
||||
2025-07-11 00:15:33 | 2531,464 | DirtyLeague
|
||||
2025-07-11 13:35:02 | 9517,1201 | Total Commander (x64) 10.00 - <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
2025-07-11 13:35:04 | 9550,1195 | Total Commander (x64) 10.00 - <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
2025-07-11 13:35:06 | 9541,1195 | Total Commander (x64) 10.00 - <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
2025-07-11 13:35:08 | 1859,1233 | DirtyLeague
|
||||
2025-07-11 13:35:10 | 2088,1075 | DirtyLeague
|
||||
2025-07-11 13:35:12 | 1861,1253 | DirtyLeague
|
||||
2025-07-11 13:35:14 | 1861,1251 | DirtyLeague
|
||||
2025-07-11 13:35:16 | 1857,1251 | DirtyLeague
|
||||
2025-07-11 21:10:28 | 1888,1780 | DirtyLeague
|
||||
2025-07-11 21:10:30 | 1278,570 | DirtyLeague
|
||||
2025-07-11 21:10:32 | 1273,570 | DirtyLeague
|
||||
2025-07-11 21:10:34 | 1273,570 | DirtyLeague
|
||||
2025-07-11 21:10:36 | 1273,570 | DirtyLeague
|
||||
2025-07-11 21:10:38 | 2536,614 | DirtyLeague
|
||||
2025-07-11 21:10:40 | 2536,614 | DirtyLeague
|
||||
2025-07-11 21:10:42 | 1820,1292 | DirtyLeague
|
||||
2025-07-11 21:10:44 | 1862,1293 | DirtyLeague
|
||||
2025-07-11 21:10:46 | 1862,1293 | DirtyLeague
|
||||
2025-07-11 21:10:48 | 2650,1409 | DirtyLeague
|
||||
2025-07-11 21:10:50 | 2643,1412 | DirtyLeague
|
||||
2025-07-11 21:10:52 | 2643,1412 | DirtyLeague
|
||||
2025-07-11 21:12:06 | 9547,1124 | Total Commander (x64) 10.00 - <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
2025-07-11 21:12:08 | 9545,1124 | Total Commander (x64) 10.00 - <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
2025-07-11 21:12:10 | 3550,210 | DirtyLeague
|
||||
2025-07-11 21:12:12 | 1863,1160 | DirtyLeague
|
||||
2025-07-11 21:12:14 | 1857,1160 | DirtyLeague
|
||||
2025-07-11 21:12:16 | 1855,1160 | DirtyLeague
|
||||
2025-07-11 21:12:18 | 1855,1160 | DirtyLeague
|
||||
2025-07-11 21:12:20 | 1855,1160 | DirtyLeague
|
||||
2025-07-11 21:12:22 | 1318,410 | DirtyLeague
|
||||
2025-07-11 21:12:24 | 1318,410 | DirtyLeague
|
||||
2025-07-11 21:12:26 | 1318,410 | DirtyLeague
|
||||
2025-07-11 21:12:28 | 1300,476 | DirtyLeague
|
||||
2025-07-11 21:12:30 | 1284,577 | DirtyLeague
|
||||
2025-07-11 21:12:32 | 2521,616 | DirtyLeague
|
||||
2025-07-11 21:12:34 | 2542,601 | DirtyLeague
|
||||
2025-07-11 21:12:36 | 9006,1745 | DirtyLeague
|
||||
2025-07-11 21:12:38 | 8792,1573 | DirtyLeague
|
||||
155
click_five_target.ahk
Normal file
155
click_five_target.ahk
Normal file
@ -0,0 +1,155 @@
|
||||
#Requires AutoHotkey v2.0
|
||||
#SingleInstance Force
|
||||
SetTitleMatchMode 2
|
||||
CoordMode "Mouse", "Client"
|
||||
|
||||
; === CONFIGURATION ===
|
||||
global targetWindow := "DirtyLeague"
|
||||
global isRunning := false
|
||||
global actionQueue := []
|
||||
global timerStates := Map()
|
||||
global timerFunctions := []
|
||||
global startupDelay := 5000 ; 5-second global delay (ms)
|
||||
|
||||
; Timer configurations
|
||||
timers := [
|
||||
[25, "Common", [1850, 1150]],
|
||||
[50, "Rare", [1300, 450]],
|
||||
[90, "Epic", [2520, 450]]
|
||||
]
|
||||
|
||||
; === INITIALIZATION ===
|
||||
Sleep startupDelay ; GLOBAL STARTUP DELAY HERE
|
||||
SetupTimers()
|
||||
SetTimer ProcessQueue, 1000
|
||||
SetTimer UpdateStatusTooltip, 1000
|
||||
|
||||
; === HOTKEYS ===
|
||||
^!s:: {
|
||||
global timerFunctions
|
||||
; Kill all timers
|
||||
for fn in timerFunctions {
|
||||
SetTimer fn, 0
|
||||
}
|
||||
SetTimer ProcessQueue, 0
|
||||
SetTimer UpdateStatusTooltip, 0
|
||||
ToolTip
|
||||
ExitApp
|
||||
}
|
||||
|
||||
; === TIMER SETUP ===
|
||||
SetupTimers() {
|
||||
global timers, timerStates, timerFunctions, startupDelay
|
||||
|
||||
For i, timer in timers {
|
||||
timerName := "Timer" i
|
||||
ms := timer[1] * 60000
|
||||
|
||||
timerStates[timerName] := {
|
||||
interval: ms,
|
||||
nextRun: A_TickCount + startupDelay + (1000 * i), ; Includes global delay
|
||||
opponent: timer[2],
|
||||
position: timer[3]
|
||||
}
|
||||
|
||||
fn := ObjBindMethod(MyTimer, "Trigger", timerName)
|
||||
timerFunctions.Push(fn)
|
||||
SetTimer fn, ms
|
||||
SetTimer fn, -(startupDelay + (1000 * i)) ; Respects global delay
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class MyTimer {
|
||||
static Trigger(name) {
|
||||
global actionQueue, timerStates
|
||||
|
||||
; Update next run time for this timer
|
||||
timerStates[name].nextRun := A_TickCount + timerStates[name].interval
|
||||
|
||||
; Add to queue
|
||||
actionQueue.Push({
|
||||
name: name,
|
||||
opponent: timerStates[name].opponent,
|
||||
opponentPos: timerStates[name].position,
|
||||
time: FormatTime(, "HH:mm:ss")
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
ProcessQueue() {
|
||||
global isRunning, actionQueue, CommonSequence
|
||||
|
||||
if (!isRunning && actionQueue.Length > 0) {
|
||||
isRunning := true
|
||||
current := actionQueue.RemoveAt(1)
|
||||
|
||||
if WinExist(targetWindow) {
|
||||
WinActivate
|
||||
WinWaitActive
|
||||
|
||||
; Opponent-specific step
|
||||
ToolTip "Attacking: " current.opponent, 10, 10
|
||||
MouseMove current.opponentPos[1], current.opponentPos[2]
|
||||
Click
|
||||
Sleep 4000
|
||||
|
||||
; Common sequence
|
||||
For step in CommonSequence {
|
||||
ToolTip step.action "...", 10, 10
|
||||
MouseMove step.pos[1], step.pos[2]
|
||||
Click
|
||||
Sleep step.delay
|
||||
}
|
||||
} else {
|
||||
ToolTip "ERROR: Window not found", 10, 10
|
||||
Sleep 2000
|
||||
}
|
||||
|
||||
ToolTip ; Clear action tooltip
|
||||
isRunning := false
|
||||
}
|
||||
}
|
||||
|
||||
UpdateStatusTooltip() {
|
||||
global isRunning, timerStates
|
||||
|
||||
if (isRunning) {
|
||||
; Don't update status during battles
|
||||
return
|
||||
}
|
||||
|
||||
statusText := "Next Battles:`n`n"
|
||||
totalWidth := 300 ; Tooltip width in pixels
|
||||
|
||||
; Calculate time until next run for each timer
|
||||
for name, timer in timerStates {
|
||||
remaining := timer.nextRun - A_TickCount
|
||||
if (remaining < 0) {
|
||||
statusText .= name ": READY NOW`n"
|
||||
} else {
|
||||
mins := Floor(remaining / 60000)
|
||||
secs := Mod(Floor(remaining / 1000), 60)
|
||||
progress := 100 - (remaining * 100 / timer.interval)
|
||||
progress := Min(Max(progress, 0), 100) ; Clamp 0-100
|
||||
|
||||
; Create progress bar
|
||||
barWidth := Floor(totalWidth * (progress/100))
|
||||
progressBar := "[" . Format("{:-" barWidth "}", "")
|
||||
. Format("{:" (totalWidth-barWidth) "}", "") . "]"
|
||||
|
||||
statusText .= name ": " Format("{1:02}:{2:02}", mins, secs)
|
||||
. " (" progress "%)`n" progressBar "`n"
|
||||
}
|
||||
}
|
||||
|
||||
; Add queue status if any
|
||||
if (actionQueue.Length > 0) {
|
||||
statusText .= "`nQueued: " actionQueue.Length " battles"
|
||||
}
|
||||
|
||||
ToolTip statusText, 10, 10, 1 ; Tooltip with ID 1
|
||||
}
|
||||
|
||||
; Clear tooltips when script exits
|
||||
OnExit(ObjBindMethod(ToolTip, , , , 1))
|
||||
97
click_one_target.ahk
Normal file
97
click_one_target.ahk
Normal file
@ -0,0 +1,97 @@
|
||||
#Requires AutoHotkey v2.0
|
||||
#SingleInstance Force
|
||||
SetTitleMatchMode 2
|
||||
CoordMode "Mouse", "Client"
|
||||
|
||||
; Hotkey to stop the script (Ctrl+Alt+S)
|
||||
^!s:: ExitApp
|
||||
|
||||
; Settings
|
||||
targetWindow := "DirtyLeague" ; Window title to look for
|
||||
intervalMinutes := 100 ; Execution interval in minutes
|
||||
intervalMs := intervalMinutes * 60000 ; Convert to milliseconds
|
||||
delayMinutes := 1
|
||||
delayMs := delayMinutes * 60000
|
||||
|
||||
target1_x := 1860
|
||||
target1_y := 1250
|
||||
|
||||
; Initialize variables
|
||||
nextRunTime := 0
|
||||
remainingTime := 0
|
||||
|
||||
; Main timer (runs every 100 minutes)
|
||||
SetTimer AutoClick, intervalMs
|
||||
|
||||
; Countdown timer (updates every second)
|
||||
SetTimer UpdateCountdown, 1000
|
||||
|
||||
; Delay timer
|
||||
SetTimer () => AutoClick(), -3000 ;-delayMs
|
||||
|
||||
UpdateCountdown() {
|
||||
global nextRunTime, remainingTime
|
||||
|
||||
if (nextRunTime = 0) {
|
||||
ToolTip "Waiting for first run..."
|
||||
return
|
||||
}
|
||||
|
||||
remainingTime := nextRunTime - A_TickCount
|
||||
|
||||
if (remainingTime <= 0) {
|
||||
ToolTip "Running now..."
|
||||
return
|
||||
}
|
||||
|
||||
; Convert milliseconds to minutes:seconds
|
||||
remainingMinutes := Floor(remainingTime / 60000)
|
||||
remainingSeconds := Mod(Floor(remainingTime / 1000), 60)
|
||||
|
||||
; Display countdown
|
||||
ToolTip "Next run in: " remainingMinutes "m " remainingSeconds "s", 10, 10
|
||||
}
|
||||
|
||||
AutoClick() {
|
||||
global nextRunTime, intervalMs
|
||||
|
||||
; Set next scheduled run time
|
||||
nextRunTime := A_TickCount + intervalMs
|
||||
|
||||
ToolTip "STARTING...", 10, 10
|
||||
SetTimer () => ToolTip(), -2000
|
||||
|
||||
; Activate the window
|
||||
if WinExist(targetWindow) {
|
||||
WinActivate
|
||||
WinWaitActive
|
||||
} else {
|
||||
ToolTip "ERROR: Window not found", 10, 10
|
||||
SetTimer () => ToolTip(), -2000
|
||||
return
|
||||
}
|
||||
|
||||
; Perform click sequence with feedback
|
||||
ToolTip "Clicking opponent...", 10, 10
|
||||
MouseMove target1_x, target1_y
|
||||
Click
|
||||
Sleep 4000
|
||||
|
||||
ToolTip "Starting battle...", 10, 10
|
||||
MouseMove 1945, 1780
|
||||
Click
|
||||
Sleep 30000
|
||||
|
||||
ToolTip "Closing results...", 10, 10
|
||||
MouseMove 980, 1630
|
||||
Click
|
||||
Sleep 4000
|
||||
|
||||
ToolTip "Closing shop...", 10, 10
|
||||
MouseMove 3700, 120
|
||||
Click
|
||||
Sleep 4000
|
||||
|
||||
ToolTip "Cycle complete!", 10, 10
|
||||
SetTimer () => ToolTip(), -2000
|
||||
}
|
||||
39
coordinations_logger.ahk
Normal file
39
coordinations_logger.ahk
Normal file
@ -0,0 +1,39 @@
|
||||
#Requires AutoHotkey v2.0
|
||||
#SingleInstance Force
|
||||
|
||||
; Configuration
|
||||
logFile := "MousePositions.log" ; Log file name
|
||||
interval := 2000 ; 2 seconds in milliseconds
|
||||
|
||||
; Main timer
|
||||
SetTimer LogMousePosition, interval
|
||||
|
||||
; Hotkey to stop the script (Ctrl+Alt+S)
|
||||
^!s:: {
|
||||
SetTimer LogMousePosition, 0 ; Turn off timer
|
||||
MsgBox "Mouse logging stopped. Data saved to " logFile
|
||||
ExitApp
|
||||
}
|
||||
|
||||
LogMousePosition() {
|
||||
; Get current mouse position (screen coordinates)
|
||||
MouseGetPos &x, &y
|
||||
|
||||
; Get active window info
|
||||
activeWin := WinGetTitle("A")
|
||||
activeWin := activeWin ? activeWin : "No active window"
|
||||
|
||||
; Format: Timestamp | Screen X,Y | Window Title
|
||||
logEntry := FormatTime(, "yyyy-MM-dd HH:mm:ss") " | " x "," y " | " activeWin
|
||||
|
||||
; Append to log file
|
||||
try {
|
||||
FileAppend logEntry "`n", logFile
|
||||
} catch as e {
|
||||
MsgBox "Error writing to log file: " e.Message
|
||||
}
|
||||
|
||||
; Optional: Show tooltip with current position (for debugging)
|
||||
ToolTip "Logged: " x "," y, x+20, y+20
|
||||
SetTimer () => ToolTip(), -1000 ; Remove tooltip after 1 second
|
||||
}
|
||||
Reference in New Issue
Block a user