Skip to content

Instantly share code, notes, and snippets.

@Gravestorm
Last active December 5, 2021 20:21
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Gravestorm/15794a7fa580dabc4606646d1966f526 to your computer and use it in GitHub Desktop.
Save Gravestorm/15794a7fa580dabc4606646d1966f526 to your computer and use it in GitHub Desktop.
#SingleInstance Force
#Persistent
#NoEnv
SetWorkingDir %A_ScriptDir%
SetBatchLines -1
SetTitleMatchMode 3
Settings := RegexReplace(A_scriptname,"\..*","") ".ini"
StartA = 0
StartS = 0
Version = 30
Gx := A_ScreenWidth / 2
Gy := A_ScreenHeight / 2
IniRead, Location, %Settings%, Dofus, Location, C:\Users\%A_UserName%\AppData\Local\Ankama\Retro\resources\app\retroclient\Dofus.exe
IniRead, WindowName, %Settings%, Dofus, WindowName, Dofus Retro
IniRead, Launch, %Settings%, Dofus, Launch, 1
IniRead, Group, %Settings%, Dofus, Group, 1
IniRead, Skip, %Settings%, Dofus, Skip, 0
IniRead, Float, %Settings%, Dofus, Float, 0
IniRead, Gx, %Settings%, Dofus, Gx, %Gx%
IniRead, Gy, %Settings%, Dofus, Gy, %Gy%
IniRead, Click, %Settings%, Dofus, Click, F9
IniRead, Spam, %Settings%, Dofus, Spam, F10
IniRead, Invite, %Settings%, Dofus, Invite, Home
IniRead, Turn, %Settings%, Dofus, Turn, ``
IniRead, Join, %Settings%, Dofus, Join, F11
IniRead, AFK, %Settings%, Dofus, AFK, F12
IniRead, Exit, %Settings%, Dofus, Exit, End
IniRead, UI, %Settings%, Dofus, UI, NumpadMult
IniRead, DelayI, %Settings%, Dofus, DelayI, 2500
IniRead, DelayIm, %Settings%, Dofus, DelayIm, 100
IniRead, DelayS, %Settings%, Dofus, DelayS, 500
IniRead, DelayC1, %Settings%, Dofus, DelayC1, 200
IniRead, DelayC2, %Settings%, Dofus, DelayC2, 500
IniRead, DelayM, %Settings%, Dofus, DelayM, 20
IniRead, DelayA, %Settings%, Dofus, DelayA, 300000
IniRead, Accounts, %Settings%, Dofus, Accounts, 1
IniRead, Leader, %Settings%, Dofus, Leader, 1
IniRead, Name1, %Settings%, Dofus, Name1, %A_Space%
IniRead, Name2, %Settings%, Dofus, Name2, %A_Space%
IniRead, Name3, %Settings%, Dofus, Name3, %A_Space%
IniRead, Name4, %Settings%, Dofus, Name4, %A_Space%
IniRead, Name5, %Settings%, Dofus, Name5, %A_Space%
IniRead, Name6, %Settings%, Dofus, Name6, %A_Space%
IniRead, Name7, %Settings%, Dofus, Name7, %A_Space%
IniRead, Name8, %Settings%, Dofus, Name8, %A_Space%
IniRead, User1, %Settings%, Dofus, User1, %A_Space%
IniRead, User2, %Settings%, Dofus, User2, %A_Space%
IniRead, User3, %Settings%, Dofus, User3, %A_Space%
IniRead, User4, %Settings%, Dofus, User4, %A_Space%
IniRead, User5, %Settings%, Dofus, User5, %A_Space%
IniRead, User6, %Settings%, Dofus, User6, %A_Space%
IniRead, User7, %Settings%, Dofus, User7, %A_Space%
IniRead, User8, %Settings%, Dofus, User8, %A_Space%
IniRead, Pass1, %Settings%, Dofus, Pass1, %A_Space%
IniRead, Pass2, %Settings%, Dofus, Pass2, %A_Space%
IniRead, Pass3, %Settings%, Dofus, Pass3, %A_Space%
IniRead, Pass4, %Settings%, Dofus, Pass4, %A_Space%
IniRead, Pass5, %Settings%, Dofus, Pass5, %A_Space%
IniRead, Pass6, %Settings%, Dofus, Pass6, %A_Space%
IniRead, Pass7, %Settings%, Dofus, Pass7, %A_Space%
IniRead, Pass8, %Settings%, Dofus, Pass8, %A_Space%
IniRead, Serv1, %Settings%, Dofus, Serv1, 1
IniRead, Serv2, %Settings%, Dofus, Serv2, 1
IniRead, Serv3, %Settings%, Dofus, Serv3, 1
IniRead, Serv4, %Settings%, Dofus, Serv4, 1
IniRead, Serv5, %Settings%, Dofus, Serv5, 1
IniRead, Serv6, %Settings%, Dofus, Serv6, 1
IniRead, Serv7, %Settings%, Dofus, Serv7, 1
IniRead, Serv8, %Settings%, Dofus, Serv8, 1
IniRead, Char1, %Settings%, Dofus, Char1, 1
IniRead, Char2, %Settings%, Dofus, Char2, 1
IniRead, Char3, %Settings%, Dofus, Char3, 1
IniRead, Char4, %Settings%, Dofus, Char4, 1
IniRead, Char5, %Settings%, Dofus, Char5, 1
IniRead, Char6, %Settings%, Dofus, Char6, 1
IniRead, Char7, %Settings%, Dofus, Char7, 1
IniRead, Char8, %Settings%, Dofus, Char8, 1
IniRead, Key1, %Settings%, Dofus, Key1, F1
IniRead, Key2, %Settings%, Dofus, Key2, F2
IniRead, Key3, %Settings%, Dofus, Key3, F3
IniRead, Key4, %Settings%, Dofus, Key4, F4
IniRead, Key5, %Settings%, Dofus, Key5, F5
IniRead, Key6, %Settings%, Dofus, Key6, F6
IniRead, Key7, %Settings%, Dofus, Key7, F7
IniRead, Key8, %Settings%, Dofus, Key8, F8
SetMouseDelay, %DelayM%
Gui New, +AlwaysOnTop -Caption
Gui Color, 0xC0C0C0
Gui Show, w474 h450, Dofus Retro AHK
Gui Add, Text, x10 y6 w120 h19 gLoc, 32-bit Dofus.exe location
Gui Add, Edit, vLocation x130 y2 w342 h21, %Location%
Gui Add, Text, x10 y26 w120 h19, Default window name
Gui Add, Edit, vWindowName x130 y24 w120 h21, %WindowName%
Gui Add, GroupBox, x4 y46 w100 h120, Settings
Gui Add, CheckBox, vLaunch Checked%Launch% x10 y60 w85 h19, Launch/Login
Gui Add, CheckBox, vGroup Checked%Group% x10 y80 w85 h19, Invite to group
Gui Add, CheckBox, vSkip Checked%Skip% x10 y100 w85 h19, Skip on switch
Gui Add, CheckBox, vFloat Checked%Float% x10 y120 w85 h19, Floating UI
Gui Add, GroupBox, x110 y46 w190 h120, Hotkeys
Gui Add, Text, x116 y64 w25 h19, Click
Gui Add, Hotkey, vClick x146 y60 w60 h21, %Click%
Gui Add, Text, x116 y90 w26 h19, Spam
Gui Add, Hotkey, vSpam x146 y86 w60 h21, %Spam%
Gui Add, Text, x116 y116 w30 h19, Invite
Gui Add, Hotkey, vInvite x146 y112 w60 h21, %Invite%
Gui Add, Text, x116 y142 w30 h19, Skip
Gui Add, Hotkey, x146 y138 w60 h21, %Turn%
Gui Add, Text, x212 y64 w26 h19, Join
Gui Add, Hotkey, vJoin x236 y60 w60 h21, %Join%
Gui Add, Text, x212 y90 w20 h19, AFK
Gui Add, Hotkey, vAFK x236 y86 w60 h21, %AFK%
Gui Add, Text, x214 y116 w20 h19, Exit
Gui Add, Hotkey, vExit x236 y112 w60 h21, %Exit%
Gui Add, Text, x216 y142 w20 h19, UI
Gui Add, Hotkey, vUI x236 y138 w60 h21, %UI%
Gui Add, GroupBox, x305 y46 w165 h120, Delays
Gui Add, Text, x310 y68 w20 h19, Idle
Gui Add, Edit, vDelayI x329 y64 w35 h21 +Number, %DelayI%
Gui Add, Text, x310 y96 w25 h19, Idlem
Gui Add, Edit, vDelayIm x339 y92 w25 h21 +Number, %DelayIm%
Gui Add, Text, x310 y124 w40 h19, Spam
Gui Add, Edit, vDelayS x340 y120 w24 h21 +Number, %DelayS%
Gui Add, Text, x370 y68 w30 h19, Click
Gui Add, Edit, vDelayC1 x395 y64 w30 h21 +Number, %DelayC1%
Gui Add, Text, x427 y68 w6 h19, —
Gui Add, Edit, vDelayC2 x435 y64 w30 h21 +Number, %DelayC2%
Gui Add, Text, x370 y96 w34 h19, Mouse
Gui Add, Edit, vDelayM x404 y92 w26 h21 +Number, %DelayM%
Gui Add, Text, x370 y124 w30 h19, AFK
Gui Add, Edit, vDelayA x394 y120 w36 h21 +Number, %DelayA%
Gui Add, GroupBox, x4 y166 w466 h256, Characters
Gui Add, Text, x10 y184 w95 h19, Accounts to launch
Gui Add, DropDownList, vAccounts x105 y180 w30, 1|2|3|4|5|6|7|8
GuiControl, Choose, Accounts, %Accounts%
Gui Add, Text, x150 y184 w35 h19, Leader
Gui Add, DropDownList, vLeader x185 y180 w30, 1|2|3|4|5|6|7|8
GuiControl, Choose, Leader, %Leader%
Gui Add, Text, x10 y205 w122 h16, Window/Character Name
Gui Add, Edit, vName1 x10 y220 w122 h21, %Name1%
Gui Add, Edit, vName2 x10 y245 w122 h21, %Name2%
Gui Add, Edit, vName3 x10 y270 w122 h21, %Name3%
Gui Add, Edit, vName4 x10 y295 w122 h21, %Name4%
Gui Add, Edit, vName5 x10 y320 w122 h21, %Name5%
Gui Add, Edit, vName6 x10 y345 w122 h21, %Name6%
Gui Add, Edit, vName7 x10 y370 w122 h21, %Name7%
Gui Add, Edit, vName8 x10 y395 w122 h21, %Name8%
Gui Add, Text, x160 y205 w50 h16, Username
Gui Add, Edit, vUser1 x142 y220 w86 h21, %User1%
Gui Add, Edit, vUser2 x142 y245 w86 h21, %User2%
Gui Add, Edit, vUser3 x142 y270 w86 h21, %User3%
Gui Add, Edit, vUser4 x142 y295 w86 h21, %User4%
Gui Add, Edit, vUser5 x142 y320 w86 h21, %User5%
Gui Add, Edit, vUser6 x142 y345 w86 h21, %User6%
Gui Add, Edit, vUser7 x142 y370 w86 h21, %User7%
Gui Add, Edit, vUser8 x142 y395 w86 h21, %User8%
Gui Add, Text, x254 y205 w50 h16, Password
Gui Add, Edit, vPass1 x236 y220 w86 h21 +Password, %Pass1%
Gui Add, Edit, vPass2 x236 y245 w86 h21 +Password, %Pass2%
Gui Add, Edit, vPass3 x236 y270 w86 h21 +Password, %Pass3%
Gui Add, Edit, vPass4 x236 y295 w86 h21 +Password, %Pass4%
Gui Add, Edit, vPass5 x236 y320 w86 h21 +Password, %Pass5%
Gui Add, Edit, vPass6 x236 y345 w86 h21 +Password, %Pass6%
Gui Add, Edit, vPass7 x236 y370 w86 h21 +Password, %Pass7%
Gui Add, Edit, vPass8 x236 y395 w86 h21 +Password, %Pass8%
Gui Add, Text, x334 y205 w40 h16, Server
Gui Add, DropDownList, vServ1 x330 y220 w40, 1|2|3|4|5
GuiControl, Choose, Serv1, %Serv1%
Gui Add, DropDownList, vServ2 x330 y245 w40, 1|2|3|4|5
GuiControl, Choose, Serv2, %Serv2%
Gui Add, DropDownList, vServ3 x330 y270 w40, 1|2|3|4|5
GuiControl, Choose, Serv3, %Serv3%
Gui Add, DropDownList, vServ4 x330 y295 w40, 1|2|3|4|5
GuiControl, Choose, Serv4, %Serv4%
Gui Add, DropDownList, vServ5 x330 y320 w40, 1|2|3|4|5
GuiControl, Choose, Serv5, %Serv5%
Gui Add, DropDownList, vServ6 x330 y345 w40, 1|2|3|4|5
GuiControl, Choose, Serv6, %Serv6%
Gui Add, DropDownList, vServ7 x330 y370 w40, 1|2|3|4|5
GuiControl, Choose, Serv7, %Serv7%
Gui Add, DropDownList, vServ8 x330 y395 w40, 1|2|3|4|5
GuiControl, Choose, Serv8, %Serv8%
Gui Add, Text, x386 y205 w40 h16, Char
Gui Add, DropDownList, vChar1 x378 y220 w40, 1|2|3|4|5
GuiControl, Choose, Char1, %Char1%
Gui Add, DropDownList, vChar2 x378 y245 w40, 1|2|3|4|5
GuiControl, Choose, Char2, %Char2%
Gui Add, DropDownList, vChar3 x378 y270 w40, 1|2|3|4|5
GuiControl, Choose, Char3, %Char3%
Gui Add, DropDownList, vChar4 x378 y295 w40, 1|2|3|4|5
GuiControl, Choose, Char4, %Char4%
Gui Add, DropDownList, vChar5 x378 y320 w40, 1|2|3|4|5
GuiControl, Choose, Char5, %Char5%
Gui Add, DropDownList, vChar6 x378 y345 w40, 1|2|3|4|5
GuiControl, Choose, Char6, %Char6%
Gui Add, DropDownList, vChar7 x378 y370 w40, 1|2|3|4|5
GuiControl, Choose, Char7, %Char7%
Gui Add, DropDownList, vChar8 x378 y395 w40, 1|2|3|4|5
GuiControl, Choose, Char8, %Char8%
Gui Add, Text, x426 y205 w40 h16, Hotkey
Gui Add, Hotkey, vKey1 x424 y220 w40 h21, %Key1%
Gui Add, Hotkey, vKey2 x424 y245 w40 h21, %Key2%
Gui Add, Hotkey, vKey3 x424 y270 w40 h21, %Key3%
Gui Add, Hotkey, vKey4 x424 y295 w40 h21, %Key4%
Gui Add, Hotkey, vKey5 x424 y320 w40 h21, %Key5%
Gui Add, Hotkey, vKey6 x424 y345 w40 h21, %Key6%
Gui Add, Hotkey, vKey7 x424 y370 w40 h21, %Key7%
Gui Add, Hotkey, vKey8 x424 y395 w40 h21, %Key8%
Gui Add, Button, x6 y424 w95 h23, &Save and Launch
Gui Add, Button, x110 y424 w80 h23, &Cancel
Gui Add, Button, x200 y424 w80 h23, &Reset
Gui Font, s10, Source Code Pro
Gui Add, Link, x290 y428 w80 h22, <a href="https://impsvillage.com/forums/topic/153330-dofus-retro-starter-pack">Starter Pack</a>
Gui Add, Link, x370 y428 w80 h22, <a href="https://gist.github.com/Gravestorm/15794a7fa580dabc4606646d1966f526">Source code</a>
Gui Add, Text, x450 y428 w30 h22, v%Version%
Gui Font
OnMessage(0x201, "WM_LBUTTONDOWN")
Return
WM_LBUTTONDOWN()
{
PostMessage, 0xA1, 2
}
Return
Loc:
FileSelectFile, Output, 3, C:\Users\%A_UserName%\AppData\Local\Ankama\Retro, Open a file, Dofus.exe
if (ErrorLevel = 0) {
GuiControl,, Location, %Output%
}
Return
ButtonReset:
FileDelete, %Settings%
Reload
Return
ButtonSaveandLaunch:
Gui, Submit
IniWrite, %Location%, %Settings%, Dofus, Location
IniWrite, %WindowName%, %Settings%, Dofus, WindowName
IniWrite, %Launch%, %Settings%, Dofus, Launch
IniWrite, %Group%, %Settings%, Dofus, Group
IniWrite, %Skip%, %Settings%, Dofus, Skip
IniWrite, %Float%, %Settings%, Dofus, Float
IniWrite, %Click%, %Settings%, Dofus, Click
IniWrite, %Spam%, %Settings%, Dofus, Spam
IniWrite, %Invite%, %Settings%, Dofus, Invite
IniWrite, %Turn%, %Settings%, Dofus, Turn
IniWrite, %Join%, %Settings%, Dofus, Join
IniWrite, %AFK%, %Settings%, Dofus, AFK
IniWrite, %Exit%, %Settings%, Dofus, Exit
IniWrite, %UI%, %Settings%, Dofus, UI
IniWrite, %DelayI%, %Settings%, Dofus, DelayI
IniWrite, %DelayIm%, %Settings%, Dofus, DelayIm
IniWrite, %DelayS%, %Settings%, Dofus, DelayS
IniWrite, %DelayC1%, %Settings%, Dofus, DelayC1
IniWrite, %DelayC2%, %Settings%, Dofus, DelayC2
IniWrite, %DelayM%, %Settings%, Dofus, DelayM
IniWrite, %DelayA%, %Settings%, Dofus, DelayA
IniWrite, %Accounts%, %Settings%, Dofus, Accounts
IniWrite, %Leader%, %Settings%, Dofus, Leader
IniWrite, %Name1%, %Settings%, Dofus, Name1
IniWrite, %Name2%, %Settings%, Dofus, Name2
IniWrite, %Name3%, %Settings%, Dofus, Name3
IniWrite, %Name4%, %Settings%, Dofus, Name4
IniWrite, %Name5%, %Settings%, Dofus, Name5
IniWrite, %Name6%, %Settings%, Dofus, Name6
IniWrite, %Name7%, %Settings%, Dofus, Name7
IniWrite, %Name8%, %Settings%, Dofus, Name8
IniWrite, %User1%, %Settings%, Dofus, User1
IniWrite, %User2%, %Settings%, Dofus, User2
IniWrite, %User3%, %Settings%, Dofus, User3
IniWrite, %User4%, %Settings%, Dofus, User4
IniWrite, %User5%, %Settings%, Dofus, User5
IniWrite, %User6%, %Settings%, Dofus, User6
IniWrite, %User7%, %Settings%, Dofus, User7
IniWrite, %User8%, %Settings%, Dofus, User8
IniWrite, %Pass1%, %Settings%, Dofus, Pass1
IniWrite, %Pass2%, %Settings%, Dofus, Pass2
IniWrite, %Pass3%, %Settings%, Dofus, Pass3
IniWrite, %Pass4%, %Settings%, Dofus, Pass4
IniWrite, %Pass5%, %Settings%, Dofus, Pass5
IniWrite, %Pass6%, %Settings%, Dofus, Pass6
IniWrite, %Pass7%, %Settings%, Dofus, Pass7
IniWrite, %Pass8%, %Settings%, Dofus, Pass8
IniWrite, %Serv1%, %Settings%, Dofus, Serv1
IniWrite, %Serv2%, %Settings%, Dofus, Serv2
IniWrite, %Serv3%, %Settings%, Dofus, Serv3
IniWrite, %Serv4%, %Settings%, Dofus, Serv4
IniWrite, %Serv5%, %Settings%, Dofus, Serv5
IniWrite, %Serv6%, %Settings%, Dofus, Serv6
IniWrite, %Serv7%, %Settings%, Dofus, Serv7
IniWrite, %Serv8%, %Settings%, Dofus, Serv8
IniWrite, %Char1%, %Settings%, Dofus, Char1
IniWrite, %Char2%, %Settings%, Dofus, Char2
IniWrite, %Char3%, %Settings%, Dofus, Char3
IniWrite, %Char4%, %Settings%, Dofus, Char4
IniWrite, %Char5%, %Settings%, Dofus, Char5
IniWrite, %Char6%, %Settings%, Dofus, Char6
IniWrite, %Char7%, %Settings%, Dofus, Char7
IniWrite, %Char8%, %Settings%, Dofus, Char8
IniWrite, %Key1%, %Settings%, Dofus, Key1
IniWrite, %Key2%, %Settings%, Dofus, Key2
IniWrite, %Key3%, %Settings%, Dofus, Key3
IniWrite, %Key4%, %Settings%, Dofus, Key4
IniWrite, %Key5%, %Settings%, Dofus, Key5
IniWrite, %Key6%, %Settings%, Dofus, Key6
IniWrite, %Key7%, %Settings%, Dofus, Key7
IniWrite, %Key8%, %Settings%, Dofus, Key8
Global DelayI
Global DelayIm
if (Key1) {
Hotkey, %Key1%, Switch1
}
if (Key2) {
Hotkey, %Key2%, Switch2
}
if (Key3) {
Hotkey, %Key3%, Switch3
}
if (Key4) {
Hotkey, %Key4%, Switch4
}
if (Key5) {
Hotkey, %Key5%, Switch5
}
if (Key6) {
Hotkey, %Key6%, Switch6
}
if (Key7) {
Hotkey, %Key7%, Switch7
}
if (Key8) {
Hotkey, %Key8%, Switch8
}
if (Click) {
Hotkey, %Click%, Click
}
if (Spam) {
Hotkey, %Spam%, Spam
}
if (Invite) {
Hotkey, %Invite%, Invite
}
if (Join) {
Hotkey, %Join%, Join
}
if (AFK) {
Hotkey, %AFK%, AFK
}
if (Exit) {
Hotkey, %Exit%, Exit
}
if (UI) {
Hotkey, %UI%, UI
}
if (Launch = 0) {
WindowName := StrReplace(WindowName, A_Space, "_")
WinGet, Window, List
Loop, %Window%
{
aid := Window%A_Index%
WinGet, PID, PID, ahk_id %aid%
hProc := DllCall("OpenProcess", UInt, PROCESS_QUERY_INFORMATION := 0x400, UInt, 0, UInt, PID, Ptr)
DllCall("GetProcessTimes", Ptr, hProc, PtrP, CT, PtrP, ExitTime, PtrP, KT, PtrP, UT)
WinGetTitle, TN, ahk_id %aid%
WinGet, PN, ProcessName, ahk_id %aid%
if (PN = "Dofus.exe") && inStr(TN, %WindowName%) {
List .= CT "`t" PID "`t" TN "`n"
}
DllCall("CloseHandle", Ptr, hProc)
}
Sort, List, CT
spl := StrSplit(List, "`n")
arr := []
for index, value in spl
arr.Insert(StrSplit(value, "`t"))
Loop %accounts%
{
id := arr[a_index][2]
title := arr[a_index][3]
WinActivate, ahk_pid %id%
WinWaitActive, ahk_pid %id%
WinSetTitle, % Name%A_Index%
GroupAdd, Dofus, % Name%A_Index%
}
if (Float = 1) {
Gosub, Dgui
}
Return
}
Process, Close, WindowTabs.exe
Loop %Accounts%
{
Run, %Location%
WinWaitActive, %WindowName%
Sleep, %DelayIm%
WinSetTitle, % Name%A_Index%
GroupAdd, Dofus, % Name%A_Index%
Sleep, %DelayIm%
WinMove, % Name%A_Index%, , 0, 0, 800, 600
}
Sleep, %DelayI%
Loop %Accounts%
{
User = % User%A_Index%
Pass = % Pass%A_Index%
WinActivate, % Name%A_Index%
Click, 200, 220, 3
SendRaw, %User%
Sleep %DelayIm%
Send, {Tab}
SendRaw, %Pass%
Sleep %DelayIm%
Send, {Enter}
}
Sleep, %DelayI%
Loop %Accounts%
{
Serv = % Serv%A_Index%
WinActivate, % Name%A_Index%
if (Serv = 1) {
Click, 150, 350, 3
} else if (Serv = 2) {
Click, 270, 350, 3
} else if (Serv = 3) {
Click, 390, 350, 3
} else if (Serv = 4) {
Click, 520, 350, 3
} else if (Serv = 5) {
Click, 640, 350, 3
}
}
Sleep, %DelayI%
Loop %Accounts%
{
Char = % Char%A_Index%
WinActivate, % Name%A_Index%
if (Char = 1) {
Click, 150, 350, 3
} else if (Char = 2) {
Click, 270, 350, 3
} else if (Char = 3) {
Click, 390, 350, 3
} else if (Char = 4) {
Click, 520, 350, 3
} else if (Char = 5) {
Click, 640, 350, 3
}
}
Sleep, %DelayI%
if (Group = 1 && Accounts > 1) {
Loop %Accounts%
{
Name = % Name%A_Index%
Lead = % Name%Leader%
if (Name != Lead) {
WinActivate, %Lead%
Send, {Enter}
Sleep %DelayIm%
Send, /invite %Name%
Sleep %DelayIm%
Send, {Enter}
Sleep %DelayIm%
WinActivate, % Name%A_Index%
Click, 340, 280
WinMaximize, % Name%A_Index%
}
}
WinActivate, %Lead%
WinMaximize, %Lead%
} else {
Loop %Accounts%
{
WinActivate, % Name%A_Index%
WinMaximize, % Name%A_Index%
}
}
Run, WindowTabs.exe,,UseErrorLevel
if (Float = 1) {
Gosub, Dgui
}
Return
Dgui:
Gui New, +LastFound +AlwaysOnTop -Caption +ToolWindow +Hwndmygui, DGui
Gui Color, 0xC0C0C0
Gui Show, x%Gx% y%Gy% w200 h240 NoActivate
WinSet, TransColor, 0xC0C0C0 150
Gui Add, Text, -Background Center x0 y0 w100 h56, Click - %Click%`nSpam - %Spam%`nInvite - %Invite%`nSkip - %Turn%
Gui Add, Text, -Background Center x100 y0 w100 h56, Join - %Join%`nAFK - %AFK%`nExit - %Exit%`nUI - %UI%
Loop %Accounts% {
Dy := 36 + (22 * A_Index)
D = % Name%A_Index%
Gui Add, Button, x0 y%Dy% w150 h20 gSkip%A_Index%, Skip %D%
}
SetTimer, CheckActive, 100
Return
CheckActive:
IfWinActive, ahk_group Dofus
{
WinSet, AlwaysOnTop, On, DGui ahk_class AutoHotkeyGUI
} else {
WinSet, AlwaysOnTop, Off, DGui ahk_class AutoHotkeyGUI
}
Return
uiMove:
PostMessage, 0xA1, 2
Return
Skip1:
WinActivate, %Name1%
Sleep %DelayIm%
Send, %Turn%
Return
Skip2:
WinActivate, %Name2%
Sleep %DelayIm%
Send, %Turn%
Return
Skip3:
WinActivate, %Name3%
Sleep %DelayIm%
Send, %Turn%
Return
Skip4:
WinActivate, %Name4%
Sleep %DelayIm%
Send, %Turn%
Return
Skip5:
WinActivate, %Name5%
Sleep %DelayIm%
Send, %Turn%
Return
Skip6:
WinActivate, %Name6%
Sleep %DelayIm%
Send, %Turn%
Return
Skip7:
WinActivate, %Name7%
Sleep %DelayIm%
Send, %Turn%
Return
Skip8:
WinActivate, %Name8%
Sleep %DelayIm%
Send, %Turn%
Return
Switch1:
WinActivate, %Name1%
if (Skip = 1 && Leader != 1) {
Sleep %DelayIm%
Send, %Turn%
}
Return
Switch2:
WinActivate, %Name2%
if (Skip = 1 && Leader != 2) {
Sleep %DelayIm%
Send, %Turn%
}
Return
Switch3:
WinActivate, %Name3%
if (Skip = 1 && Leader != 3) {
Sleep %DelayIm%
Send, %Turn%
}
Return
Switch4:
WinActivate, %Name4%
if (Skip = 1 && Leader != 4) {
Sleep %DelayIm%
Send, %Turn%
}
Return
Switch5:
WinActivate, %Name5%
if (Skip = 1 && Leader != 5) {
Sleep %DelayIm%
Send, %Turn%
}
Return
Switch6:
WinActivate, %Name6%
if (Skip = 1 && Leader != 6) {
Sleep %DelayIm%
Send, %Turn%
}
Return
Switch7:
WinActivate, %Name7%
if (Skip = 1 && Leader != 7) {
Sleep %DelayIm%
Send, %Turn%
}
Return
Switch8:
WinActivate, %Name8%
if (Skip = 1 && Leader != 8) {
Sleep %DelayIm%
Send, %Turn%
}
Return
Click:
BlockInput, MouseMove
MouseGetPos, X, Y
Loop %Accounts%
{
Random, Rand, %DelayC1%, %DelayC2%
WinActivate, % Name%A_Index%
MouseMove, 1, 0,, R
MouseMove, -1, 0,, R
Click, %X% %Y%
Sleep, %Rand%
}
WinActivate, % Name%Leader%
BlockInput, MouseMoveOff
Return
Spam:
if (StartS = 0) {
MouseGetPos, X, Y
StartS = 1
SetTimer, Spamming, %DelayS%
} else {
StartS = 0
SetTimer, Spamming, Off
}
Return
Spamming:
Send ^{Click, %X%, %Y%, 2}
Return
Invite:
if (Accounts > 1) {
Loop %Accounts%
{
Name = % Name%A_Index%
Lead = % Name%Leader%
if (Name != Lead) {
WinActivate, %Lead%
Send, {Enter}
Sleep %DelayIm%
Send, /invite %Name%
Sleep %DelayIm%
Send, {Enter}
Sleep %DelayIm%
WinActivate, % Name%A_Index%
WinRestore, % Name%A_Index%
Click, 340, 280
WinMaximize, % Name%A_Index%
}
}
WinActivate, %Lead%
}
Return
Join:
BlockInput, MouseMove
MouseGetPos, X, Y
Loop %Accounts%
{
Name = % Name%A_Index%
Lead = % Name%Leader%
WinActivate, % Name%A_Index%
MouseMove, 1, 0,, R
MouseMove, -1, 0,, R
Send +{Click, %X%, %Y%}
Sleep %DelayIm%
if (Name != Lead) {
WinRestore, % Name%A_Index%
Click, 700, 444
WinMaximize, % Name%A_Index%
}
}
WinActivate, %Lead%
WinRestore, %Lead%
Click, 700, 444
WinMaximize, %Lead%
BlockInput, MouseMoveOff
Return
AFK:
if (StartA = 0) {
StartA = 1
Name = % Name%A_Index%
Loop %Accounts%
{
WinRestore, % Name%A_Index%
}
SetTimer, AFKing, %DelayA%
} else {
StartA = 0
Name = % Name%A_Index%
Loop %Accounts%
{
WinMaximize, % Name%A_Index%
}
SetTimer, AFKing, Off
}
Return
AFKing:
Name = % Name%A_Index%
Loop %Accounts%
{
WinActivate, % Name%A_Index%
MouseMove, 1, 0,, R
MouseMove, -1, 0,, R
Click, 655, 490
}
Return
Exit:
Loop %Accounts%
{
WinClose, % Name%A_Index%
}
Process, Close, WindowTabs.exe
ExitApp
Return
UI:
if (WinExist("ahk_id " mygui)) {
WinGetPos, Gx, Gy
Gui Submit
IniWrite, %Gx%, %Settings%, Dofus, Gx
IniWrite, %Gy%, %Settings%, Dofus, Gy
Gui %mygui%: Hide
} else {
Gui %mygui%: Show
}
Return
ButtonCancel:
GuiClose:
GuiEscape:
ExitApp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment