Skip to content

Instantly share code, notes, and snippets.

@wisnia74
Created March 14, 2025 20:33
Show Gist options
  • Select an option

  • Save wisnia74/39b148ffa64f477b9948fe60c713cff0 to your computer and use it in GitHub Desktop.

Select an option

Save wisnia74/39b148ffa64f477b9948fe60c713cff0 to your computer and use it in GitHub Desktop.
PoE auto flask
#IfWinActive Path of Exile
#SingleInstance force
#NoEnv
#Warn
#Persistent
FlaskDurationInit := []
FlaskDurationInit[1] := 0
FlaskDurationInit[2] := 0
FlaskDurationInit[3] := 0
FlaskDurationInit[4] := 0
FlaskDurationInit[5] := 0
; FlaskDurationInit["q"] := 0
; FlaskDurationInit["w"] := 0
; FlaskDurationInit["e"] := 0
; FlaskDurationInit["r"] := 0
FlaskDurationInit["t"] := 0
FlaskDuration := []
FlaskLastUsed := []
UseFlasks := false
HoldRightClick := false
LastRightClick := 0
Loop {
if (UseFlasks) {
if ((A_TickCount - LastRightClick) < 500) {
Gosub, CycleAllFlasksWhenReady
} else {
if (HoldRightClick) {
Gosub, CycleAllFlasksWhenReady
}
}
}
}
!F12::
UseFlasks := not UseFlasks
if UseFlasks {
ToolTip, UseFlasks On
SetTimer, RemoveToolTip, 1000
for i in FlaskDurationInit {
FlaskLastUsed[i] := 0
FlaskDuration[i] := FlaskDurationInit[i]
}
} else {
ToolTip, UseFlasks Off
SetTimer, RemoveToolTip, 1000
}
return
RemoveToolTip:
ToolTip
Return
~RButton::
HoldRightClick := true
LastRightClick := A_TickCount
return
~RButton up::
HoldRightClick := false
return
~1::
FlaskLastUsed[1] := A_TickCount
Random, VariableDelay, -99, 99
FlaskDuration[1] := FlaskDurationInit[1] + VariableDelay
return
~2::
FlaskLastUsed[2] := A_TickCount
Random, VariableDelay, -99, 99
FlaskDuration[2] := FlaskDurationInit[2] + VariableDelay
return
~3::
FlaskLastUsed[3] := A_TickCount
Random, VariableDelay, -99, 99
FlaskDuration[3] := FlaskDurationInit[3] + VariableDelay
return
~4::
FlaskLastUsed[4] := A_TickCount
Random, VariableDelay, -99, 99
FlaskDuration[4] := FlaskDurationInit[4] + VariableDelay
return
~5::
FlaskLastUsed[5] := A_TickCount
Random, VariableDelay, -99, 99
FlaskDuration[5] := FlaskDurationInit[5] + VariableDelay
return
; ~q::
; FlaskLastUsed["q"] := A_TickCount
; Random, VariableDelay, -99, 99
; FlaskDuration["q"] := FlaskDurationInit["q"] + VariableDelay
; return
; ~w::
; FlaskLastUsed["w"] := A_TickCount
; Random, VariableDelay, -99, 99
; FlaskDuration["w"] := FlaskDurationInit["w"] + VariableDelay
; return
; ~e::
; FlaskLastUsed["e"] := A_TickCount
; Random, VariableDelay, -99, 99
; FlaskDuration["e"] := FlaskDurationInit["e"] + VariableDelay
; return
; ~r::
; FlaskLastUsed["r"] := A_TickCount
; Random, VariableDelay, -99, 99
; FlaskDuration["r"] := FlaskDurationInit["r"] + VariableDelay
; return
~t::
FlaskLastUsed["t"] := A_TickCount
Random, VariableDelay, -99, 99
FlaskDuration["t"] := FlaskDurationInit["t"] + VariableDelay
return
`::
if UseFlasks {
Send 1
Random, VariableDelay, -99, 99
Sleep, %VariableDelay%
Send 2
Random, VariableDelay, -99, 99
Sleep, %VariableDelay%
Send 3
Random, VariableDelay, -99, 99
Sleep, %VariableDelay%
Send 4
Random, VariableDelay, -99, 99
Sleep, %VariableDelay%
Send 5
Random, VariableDelay, -99, 99
Sleep, %VariableDelay%
; Send q
; Random, VariableDelay, -99, 99
; Sleep, %VariableDelay%
; Send w
; Random, VariableDelay, -99, 99
; Sleep, %VariableDelay%
; Send e
; Random, VariableDelay, -99, 99
; Sleep, %VariableDelay%
; Send r
; Random, VariableDelay, -99, 99
; Sleep, %VariableDelay%
Send t
Random, VariableDelay, -99, 99
Sleep, %VariableDelay%
}
return
CycleAllFlasksWhenReady:
for flask, duration in FlaskDuration {
if ((duration > 0) & (duration < A_TickCount - FlaskLastUsed[flask])) {
Send %flask%
FlaskLastUsed[flask] := A_TickCount
Random, VariableDelay, -99, 99
FlaskDuration[flask] := FlaskDurationInit[flask] + VariableDelay
sleep, %VariableDelay%
}
}
return
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment