Code:
Pids := Object()
global m=0
global pix = 0
global thpix = 0
IfExist, %A_ScriptDir%\mpBA.ini
FileRead, thpix, %A_ScriptDir%\mpBA.ini
if (thpix = 0)
thpix = 0x6DCA36
global z = 0
global r = 0
Gui, New
Gui, Add, Text,, mpBattleArena v1.2`n`nNumpad1 to start`nNumpad2 to pause`nNumpad3 to change keys`nNumpad4 to update pixel`nNumpad5 to exit
Gui, Add, Text,, Mode :
Gui, Add, Text, vMove w50
Gui, Add, Text,, Count :
Gui, Add, Text, vCount w50
Gui, Add, Text,, Debug pixel :
Gui, Add, Text, vp w50
Gui, Add, Text,, Theorical pixel :
Gui, Add, Text, vt w50
Gui, Add, Text,, Progress (/25) :
Gui, Add, Text, vy w50
Gui -Resize -MinimizeBox
Gui, Show
UpdateGui()
Loop{
UpdateGui()
for w, pid in Pids
{
if (m>0){
Random, k, 1, 5
if (k=1){
if (m=1)
ControlSend, , {z down}, ahk_pid %PID%
if(m=2)
ControlSend, , {w down}, ahk_pid %PID%
}
if (k=2){
if (m=1)
ControlSend, , {q down}, ahk_pid %PID%
if(m=2)
ControlSend, , {w down}, ahk_pid %PID%
}
if (k=3){
ControlSend, , {s down}, ahk_pid %PID%
}
if (k=4){
ControlSend, , {d down}, ahk_pid %PID%
}
if (k=5){
ControlSend, , {space}, ahk_pid %PID%
}
Random, k, 1, 4
if (k=1){
if (m=1)
ControlSend, , {z up}, ahk_pid %PID%
if(m=2)
ControlSend, , {w up}, ahk_pid %PID%
}
if (k=2){
if (m=1)
ControlSend, , {q up}, ahk_pid %PID%
if(m=2)
ControlSend, , {a up}, ahk_pid %PID%
}
if (k=3){
ControlSend, , {s up}, ahk_pid %PID%
}
if (k=4){
ControlSend, , {d up}, ahk_pid %PID%
}
}
if (m=0){
ControlSend, , {i down}, ahk_pid %PID%
ControlSend, , {i up}, ahk_pid %PID%
}
WaitR(9)
if (z>24)
{
WinGet, temp, PID, A
WinActivate, ahk_pid %pID%
WinWaitActive, ahk_pid %pID%
WinMove,ahk_pid %pID%,,0,0,576,432
PixelGetColor, pix, 421, 328
if (pix = thpix){
MouseMove, 421, 328
ControlClick, x421 y328, ahk_pid %PID%
MouseMove, 0,0
}
WinActivate, ahk_pid %temp%
}
}
r := Pids.MaxIndex()
if (Pids.MaxIndex()>0){
if (z>24){
z:=0
}
z := z+1
}
}
numpad1::
WinGet, pID, PID, A
e = 0
for i, p in Pids
if (p=pID)
e=1
if (e!=1)
Pids.Insert(pID)
return
numpad2::
WinGet, pID, PID, A
temp := Object()
for i, p in Pids
if (p!=pID)
temp.Insert(p)
ControlSend, , {z up}, ahk_pid %pID%
ControlSend, , {d up}, ahk_pid %pID%
ControlSend, , {w up}, ahk_pid %pID%
ControlSend, , {a up}, ahk_pid %pID%
ControlSend, , {s up}, ahk_pid %pID%
ControlSend, , {q up}, ahk_pid %pID%
Pids := temp
return
numpad3::
m := m + 1
if (m = 3)
m := m-3
return
numpad4::
PixelGetColor, thepix, 421, 328
MsgBox, 4,, Update pixel to %thepix% ?
IfMsgBox Yes
thpix = %thepix%
FileDelete, %A_ScriptDir%\mpBA.ini
FileAppend,%thpix%,%A_ScriptDir%\mpBA.ini
return
numpad5::
FileDelete, %A_ScriptDir%\mpBA.ini
FileAppend,%thpix%,%A_ScriptDir%\mpBA.ini
ExitApp
GuiClose:
FileDelete, %A_ScriptDir%\mpBA.ini
FileAppend,%thpix%,%A_ScriptDir%\mpBA.ini
ExitApp
UpdateGui(){
GuiControl,, Y, %z%
GuiControl,, Count, %r%
GuiControl,, p, %pix%
GuiControl,, t, %thpix%
if (m=0)
GuiControl,, Move, Unmoving
if (m=1)
GuiControl,, Move, ZQSD
if (m=2)
GuiControl,, Move, WASD
}
WaitR(m){
Random, Wait, 55, 65
Wait := Wait * m
Sleep, %Wait%
}