ELSE - multi-class ControlClick bot

12/09/2007 07:15 evanxxxm#76
o icic, thats the XPskill value, got it =)

ok, here is the script that i edit from ur codes
all the values are correct, still dont know why the one i made earlier work sometimes some doesnt
anyways, this one works and look easy, so i will use this


output X,Y
Code:
ExtInt(ByRef pSource, pOffset = 0, pIsSigned = false, pSize = 4)
{
Loop %pSize%
result += *(&pSource + pOffset + A_Index-1) << 8*(A_Index-1)
if (!pIsSigned OR pSize > 4 OR result < 0x80000000)
return result
return -(0xFFFFFFFF - result + 1)
}

Process, Exist,Conquer.exe
pid = %ErrorLevel%

Loop
{
VarSetCapacity(Xcoord,4,0)
VarSetCapacity(Ycoord,4,0)
ProcessHandle := DllCall("OpenProcess", "Int", 24, "Char", 0, "UInt", pid, "UInt")
DllCall("ReadProcessMemory","UInt",ProcessHandle,"UInt",0x4E1028,"Str",Xcoord,"UInt",4,"UInt *",0)
DllCall("ReadProcessMemory","UInt",ProcessHandle,"UInt",0x4E102C,"Str",Ycoord,"UInt",4,"UInt *",0)
XXC:=( "" . ExtInt(Xcoord))
YYC:=( "" . ExtInt(Ycoord))



MouseGetPos, , , id, control
ToolTip, `nx%XXC%`ny%YYC%
sleep 500

}


^q::pause
^r::reload
12/09/2007 07:47 biertje!#77
Quote:
Originally Posted by evanxxxm View Post
still dont get what the purpose of it @@
i see there is a splash text in the middle of CO
counting from 0-28 (now), ok 31 now...
it just adding 1 every 2 seconds
what exactly is it showing?


--edit--
o icic, thats the XPskill value, got it =)
for me its obvious

ExtInt(ByRef pSource, pOffset = 0, pIsSigned = false, pSize = 4)
; From AutoHotKey Help
;Get PID
;Store PID
;Check if Process Available
;Create 4 Byte (Int) Structure for xplevel
;Open the Process for Handling
;Check if Handle Created
;Get the raw 4 Bytes for xplevel in Variable
;Display the XP
;Hit F10 on 100 xp
;Close the Process Handler

seems my code are hard too read well they are always messy from alot and I mean alot of pieces of code ill compile it too work lol :D

Did you see my adjustment on your random walk jump ?

Greetz
12/09/2007 07:50 biertje!#78
hhahah roflmao your editing while I am answering this is gonna be a nasty thread
12/09/2007 08:00 biertje!#79
If have put in the current cursorpos for compare
Code:
ExtInt(ByRef pSource, pOffset = 0, pIsSigned = false, pSize = 4)
{
Loop %pSize%
result += *(&pSource + pOffset + A_Index-1) << 8*(A_Index-1)
if (!pIsSigned OR pSize > 4 OR result < 0x80000000)
return result
return -(0xFFFFFFFF - result + 1)
}

Process, Exist,Conquer.exe
pid = %ErrorLevel%

Loop
{
VarSetCapacity(Xcoord,4,0)
VarSetCapacity(Ycoord,4,0)
ProcessHandle := DllCall("OpenProcess", "Int", 24, "Char", 0, "UInt", pid, "UInt")
DllCall("ReadProcessMemory","UInt",ProcessHandle,"UInt",0x4E1028,"Str",Xcoord,"UInt",4,"UInt *",0)
DllCall("ReadProcessMemory","UInt",ProcessHandle,"UInt",0x4E102C,"Str",Ycoord,"UInt",4,"UInt *",0)
XXC:=( "" . ExtInt(Xcoord))
YYC:=( "" . ExtInt(Ycoord))


MouseGetPos, xpos, ypos 
MouseGetPos, , , id, control
ToolTip, x%XXC%`ny%YYC%`ncursor`nX%xpos%`nY%ypos%
sleep 100

}


^q::exitapp
^r::reload
12/09/2007 08:13 timewarp10#80
First of all, great bot. This is probably the best one out there, without having to pay for it.

Just a question - say I wanted to have more items replaced by that "purple paw" to be picked up, how exactly would I go about doing that?
12/09/2007 08:31 evanxxxm#81
biertje!@
bad news, i cant combine ELSE with the DetectXY. settimer doesnt work too, the detectXY just take over the bot ...
i guess i have to make it 2 separate ahk.exe then make a bridge connecting them to share variables
and yes, i do have the compare script ready @@
told u guys before, everything is made for INI file setting
so it will be quick once i figure out how to connect them =)

timewarp10@
photoshop, copy and paste that purple paw to every dds items that u want and save
(so far, i only found gems and tokens, i wish i know all the super/elite numbers...)
12/09/2007 08:51 biertje!#82
Quote:
Originally Posted by evanxxxm View Post
biertje!@
bad news, i cant combine ELSE with the DetectXY. settimer doesnt work too, the detectXY just take over the bot ...
i guess i have to make it 2 separate ahk.exe then make a bridge connecting them to share variables
and yes, i do have the compare script ready @@
told u guys before, everything is made for INI file setting
so it will be quick once i figure out how to connect them =)
What timer ?
12/09/2007 08:56 evanxxxm#83
biertje!@
settimer function

i got the detect XY script done
if u want to test it, here it is:
=)
it saves ur starting X,Y then
every 1 second, it will update ur X,Y point into an INI file inside My Program

Script included inside
12/09/2007 09:09 biertje!#84
Quote:
Originally Posted by evanxxxm View Post
biertje!@
settimer function

i got the detect XY script done
if u want to test it, here it is:
=)
it saves ur starting X,Y then
every 1 second, it will update ur X,Y point into an INI file inside My Program

Script included inside
;}
12/09/2007 09:24 biertje!#85
dont got it working
12/09/2007 09:30 evanxxxm#86
biertje!@
really? here is my screenshot:
[Only registered and activated users can see links. Click Here To Register...]
and the codes are here:
Code:
WinActivate, [Con
Process, Exist,Conquer.exe
pid = %ErrorLevel%

ExtInt(ByRef pSource, pOffset = 0, pIsSigned = false, pSize = 4)
{
Loop %pSize%
result += *(&pSource + pOffset + A_Index-1) << 8*(A_Index-1)
if (!pIsSigned OR pSize > 4 OR result < 0x80000000)
return result
return -(0xFFFFFFFF - result + 1)
}

VarSetCapacity(Xcoordo,4,0)
VarSetCapacity(Ycoordo,4,0)
ProcessHandle := DllCall("OpenProcess", "Int", 24, "Char", 0, "UInt", pid, "UInt")
DllCall("ReadProcessMemory","UInt",ProcessHandle,"UInt",0x4E1028,"Str",Xcoordo,"UInt",4,"UInt *",0)
DllCall("ReadProcessMemory","UInt",ProcessHandle,"UInt",0x4E102C,"Str",Ycoordo,"UInt",4,"UInt *",0)
XXCo:=( "" . ExtInt(Xcoordo))
YYCo:=( "" . ExtInt(Ycoordo))

if XXCo = 0
{
reload
return
}
IniWrite, %XXCo%, %A_ProgramFiles%XYout.ini, Start, OrgX
IniWrite, %YYCo%, %A_ProgramFiles%XYout.ini, Start, OrgY 
Loop
{
VarSetCapacity(Xcoord,4,0)
VarSetCapacity(Ycoord,4,0)
ProcessHandle := DllCall("OpenProcess", "Int", 24, "Char", 0, "UInt", pid, "UInt")
DllCall("ReadProcessMemory","UInt",ProcessHandle,"UInt",0x4E1028,"Str",Xcoord,"UInt",4,"UInt *",0)
DllCall("ReadProcessMemory","UInt",ProcessHandle,"UInt",0x4E102C,"Str",Ycoord,"UInt",4,"UInt *",0)
XXC:=( "" . ExtInt(Xcoord))
YYC:=( "" . ExtInt(Ycoord))
MouseGetPos, , , id, control
ToolTip, Starting: x%XXCo% y%YYCo%`nCurrent: x%XXC% y%YYC%,1,-30
sleep 1000
IniWrite, %XXC%, %A_ProgramFiles%XYout.ini, Current, CurrentX 
IniWrite, %YYC%, %A_ProgramFiles%XYout.ini, Current, CurrentY 
 
}


^q::pause
^r::reload

hopefully other computers can work this too, it will be pointless if only i can see it
anyways, it will be a big step to create boundary function in ELSE
12/09/2007 10:12 evanxxxm#87
freshly made, just created it few mins ago =)

Boundary Bot (will combine with ELSE soon)

[Only registered and activated users can see links. Click Here To Register...]


Code:
WinGet,id, ID,[Conquer2.0]

WinActivate, [Con
Process, Exist,Conquer.exe
pid = %ErrorLevel%

ExtInt(ByRef pSource, pOffset = 0, pIsSigned = false, pSize = 4)
{
Loop %pSize%
result += *(&pSource + pOffset + A_Index-1) << 8*(A_Index-1)
if (!pIsSigned OR pSize > 4 OR result < 0x80000000)
return result
return -(0xFFFFFFFF - result + 1)
}

VarSetCapacity(Xcoordo,4,0)
VarSetCapacity(Ycoordo,4,0)
ProcessHandle := DllCall("OpenProcess", "Int", 24, "Char", 0, "UInt", pid, "UInt")
DllCall("ReadProcessMemory","UInt",ProcessHandle,"UInt",0x4E1028,"Str",Xcoordo,"UInt",4,"UInt *",0)
DllCall("ReadProcessMemory","UInt",ProcessHandle,"UInt",0x4E102C,"Str",Ycoordo,"UInt",4,"UInt *",0)
OrgX:=( "" . ExtInt(Xcoordo))
OrgY:=( "" . ExtInt(Ycoordo))

if OrgX = 0
{
reload
return
}

lowerboundX := orgX - 20
lowerboundY := orgY - 20

UpperboundX := orgX + 20
UpperboundY := orgY + 20

Loop
{
VarSetCapacity(Xcoord,4,0)
VarSetCapacity(Ycoord,4,0)
ProcessHandle := DllCall("OpenProcess", "Int", 24, "Char", 0, "UInt", pid, "UInt")
DllCall("ReadProcessMemory","UInt",ProcessHandle,"UInt",0x4E1028,"Str",Xcoord,"UInt",4,"UInt *",0)
DllCall("ReadProcessMemory","UInt",ProcessHandle,"UInt",0x4E102C,"Str",Ycoord,"UInt",4,"UInt *",0)
currentX:=( "" . ExtInt(Xcoord))
currentY:=( "" . ExtInt(Ycoord))
MouseGetPos, , , id, control
ToolTip, Starting: x%OrgX% y%OrgY%`nCurrent: x%currentX% y%currentY%,1,-30

if currentX >= %UpperboundX%
{
ControlClick, x250 y230,ahk_id %id%,,Left
sleep 1000
ControlClick, x130 y100,ahk_id %id%,,Left
sleep 1000
}
else if currentX <= %lowerboundX%
{
ControlClick, x700 y521,ahk_id %id%,,Left
sleep 1000
ControlClick, x900 y591,ahk_id %id%,,Left
sleep 1000
}
else if currentY >= %UpperboundY%
{
ControlClick, x895 y100,ahk_id %id%,,Left
sleep 1000
ControlClick, x774 y230,ahk_id %id%,,Left
sleep 1000
}
else if currentY <= %lowerboundY%
{
ControlClick, x324 y521,ahk_id %id%,,Left
sleep 1000
ControlClick, x124   y591,ahk_id %id%,,Left
sleep 1000
}
sleep 1000 
}

^r::reload
^q::pause
12/09/2007 10:12 biertje!#88
Really i didnt got it working

My cpu was going skyhigh my harddisk doing overtime.

I did the code from scrap please if you modify it leave the comments on it
it wont run faster if you take out you'll be going slower mentaly through it.


Made for only one running co and not cpu optimized due the lack of a good loop

It gives the cords faster then co does where you land or click, ownage for aimbot lol

Co can lose connection cause of the high cpu usage due too lack of a good loop

Code:
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
#SingleInstance force
#InstallKeybdHook
SetDefaultMouseSpeed, 0
SetControlDelay, -1
Process,priority,,low
;SetBatchLines, 300
;SetKeyDelay, 300
	

WinWait, [Conquer2.0], 
IfWinNotActive, [Conquer2.0], , WinActivate, [Conquer2.0], 
WinWaitActive, [Conquer2.0], 
Process,priority, conquer.exe,High


ExtInt(ByRef pSource, pOffset = 0, pIsSigned = false, pSize = 4)
; From AutoHotKey Help
{
Loop %pSize%
result += *(&pSource + pOffset + A_Index-1) << 8*(A_Index-1)
if (!pIsSigned OR pSize > 4 OR result < 0x80000000)
return result
return -(0xFFFFFFFF - result + 1)
}

;Get PID
Process, Exist,Conquer.exe

;Store PID
pid = %ErrorLevel%

;Check if Process Available
if pid
{
loop
{
;Create 4 Byte (Int) Structure for xpos
VarSetCapacity(xpos,4,0)

;Create 4 Byte (Int) Structure for Char ypos1 Base Address
VarSetCapacity(ypos,4,0)
;Create 4 Byte (Int) Structure for Char ypos1
VarSetCapacity(ypos1,4,0)

;Open the Process for Handling
ProcessHandle := DllCall("OpenProcess", "Int", 24, "Char", 0, "UInt", pid, "UInt")

;Check if Handle Created
if ProcessHandle
{
;Get the raw 4 Bytes for Xpos in Variable
DllCall("ReadProcessMemory","UInt",ProcessHandle,"UInt",0x004E1028,"Str",xpos,"UInt",4,"UInt *",0)
DllCall("ReadProcessMemory","UInt",ProcessHandle,"UInt",0x004E102C,"Str",ypos,"UInt",4,"UInt *",0)

;Close the Process Handler
DllCall("CloseHandle","int",ProcessHandle)

xpos1:=( "" . ExtInt(xpos))
ypos1:=( "" . ExtInt(ypos))
MouseGetPos, cxpos, cypos,,,3

ToolTip, Starting: x%xpos1% y%ypos1%`nCurrent: x%cxpos% y%cypos%,1,1
}
}
}

Home::pause
End::exitapp
Del::reload
PgDn::Edit
12/09/2007 10:31 biertje!#89
I wouldnt make the boundry that way i would make it a range within is random selected so when your recorded your not jumping back an forth. Also you could make a record of a path you want too walk or return back too the point of origin (spawn) with random area arround. SV Record route or Area30 Mov1 :D
12/09/2007 11:08 evanxxxm#90
biertje!@
wait, u serious? if u look at the loop, its clearly activate 1 time/second
at least in my computer it works fine, the memory read should be done less than 0.01 second, since it is only two 4byte values.
btw, the boundary shouldnt be a problem, since we are talking about spawn for tro, usually its small area within 1 screen radius
[Only registered and activated users can see links. Click Here To Register...]
btw, the ELSE beta3 is finished, testing it for couple hours of botting before i release it