Added scripts to project

This commit is contained in:
{ИМЯ}
2025-07-13 21:31:47 +03:00
parent 5bef946988
commit e4dc7cd52a
4 changed files with 403 additions and 0 deletions

112
MousePositions.log Normal file
View 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
View 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
View 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
View 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
}