Tailer-made Tools thread - make ur dreams come true

05/16/2008 14:55 evanxxxm#706
dondale8@
the attachment u provided is exactly the same as mine
i want to see the edited one that u said u have changed

and a minimized gw gate trainner is not going to work
because gate can not attack by controlclicks
05/16/2008 15:11 dondale8#707
k Prof
ya the gate attack by ctrl and left click...
05/16/2008 15:51 evanxxxm#708
dondale8@
try this:
Code:
#Persistent
IniRead, Charactername, %A_ProgramFiles%path.ini, section1, Charactername

if CharacterName=Error
{
Charactername=0x53D4CC
IniWrite, %Charactername%, %A_ProgramFiles%path.ini, section1, Charactername
}

send {Ctrl up}

#Persistent
Menu, Tray, Icon, Shell32.dll, 44
Gui, +toolwindow
Gui, Add, Text,x10 y12 w80 h20, Log off after:
Gui, Add, Edit, x80 y10 w28 h20 vtimer,60
Gui, Add, Text,x110 y12 w80 h20, mins
Gui, Add, Text,x10 y32 w200 h20, Domain:       -+
Gui, Add, Text,x10 y52 w200 h20, Range:        -+
Gui, Add, Edit, x80 y30 w50 h20 vx1x,500
Gui, Add, Edit, x80 y50 w50 h20 vy1y,500
Gui, Add, Text,x10 y75 w200 h20, CharNameAddress:        
Gui, Add, Edit, x10 y90 w70 h20 vCharactername,%Charactername%
Gui, Add, Button, x10 y122 w80 h20 vButton gStart, >Ok<
Gui, Show, x1 y1 h150 w150, CO Archer
return
GuiClose:
ExitApp
Gui, Show
return
Start:
Gui, Submit, Hide
choosepath=1
pathselect=1
timer *= 60000
StartTime := A_TickCount + timer
difcount=0
WinGet,id, ID,[Co

WinActivate, [Con
Process, Exist,Conquer.exe
pid = %ErrorLevel%
ProcessHandle := DllCall("OpenProcess", "int", 2035711, "char", 0, "UInt", PID, "UInt")



InputBox, name, Enter Character Name for memory address checking, , , 380,100
counter=0
StringSplit, nameArray, name 
Loop, 4
{
counter++
this_name := nameArray%counter%
Transform, this_name2, asc, %this_name%
SetFormat, integer, hex
this_name2 += 0
StringReplace, this_name2, this_name2, 0x,  , All
namehex=%this_name2%%namehex%
SetFormat, integer, d
}
namehex=0x%namehex%
SetFormat, integer, hex
addressS=%Charactername%
VarSetCapacity(outputA, 4)   
DllCall("ReadProcessMemory", "UInt", ProcessHandle, "UInt", addressS, "Uint*", OutputA, "Uint", 4, "Uint *", 0) 
if OutputA != %namehex%
{
msgbox, Wrong memory address`nPlease contact me in ELSE thread. `n%OutputA% -%namehex%
exitapp
}

SetFormat, integer, hex
adxxx:=Charactername + 48
adyyy:=adxxx + 4

WinActivate, ahk_id %id%
settimer, Timercheck, 60000
settimer, readXY, 1000


VarSetCapacity(orgX, 4)   
VarSetCapacity(orgY, 4)  
DllCall("ReadProcessMemory", "UInt", ProcessHandle, "UInt", adxxx, "Uint*", orgX, "Uint", 4, "Uint *", 0) 
DllCall("ReadProcessMemory", "UInt", ProcessHandle, "UInt", adyyy, "Uint*", orgY, "Uint", 4, "Uint *", 0) 
SetFormat, integer, d
lowerboundX := orgX - x1x
lowerboundY := orgY - y1y
UpperboundX := orgX + x1x
UpperboundY := orgY + y1y

lowerboundXa := lowerboundX
lowerboundYa := lowerboundY
UpperboundXa := UpperboundX
UpperboundYa := UpperboundY

IniWrite, %Charactername%, %A_ProgramFiles%path.ini, section1, Charactername

difx := ceil(x1x / 10)
dify := ceil(y1y / 10)
sleep 2000
loop
{
gosub, function
}
return
return

;--------------------------------------function-------------------
function:

if pathselect = 1
{

if yyy < %lowerboundY%
{
choosepath = 2
pathselect = 2
}


}
else if pathselect = 2
{

if xxx > %UpperboundX%
{
choosepath = 3
pathselect = 3
}


}
else if pathselect = 3
{
if yyy > %UpperboundY%
{
choosepath = 4
pathselect = 4
}

}
else if pathselect = 4
{
if xxx < %lowerboundX%
{
choosepath = 1
pathselect = 1

lowerboundX += difx
lowerboundY += dify
UpperboundX -= difx
UpperboundY -= dify

difcount++
if difcount > 8
{
difcount=0
lowerboundX := lowerboundXa
lowerboundY := lowerboundYa
UpperboundX := UpperboundXa
UpperboundY := UpperboundYa
}

}
}


if choosepath = 1
{

ControlClick, x513 y104,ahk_id %id%,,left
sleep 200
X=513
Y=104
gosub, jump

ControlClick, x513 y304,ahk_id %id%,,right
sleep 2000
}
else if choosepath = 2
{

ControlClick, x893 y384,ahk_id %id%,,Left
sleep 200
X=893
Y=384
gosub, jump

ControlClick, x593 y384,ahk_id %id%,,right
sleep 2000
}
else if choosepath = 3
{

ControlClick, x513 y604,ahk_id %id%,,Left
sleep 200
X=513
Y=664
gosub, jump

ControlClick, x513 y464,ahk_id %id%,,right
sleep 2000
}
else if choosepath = 4
{

ControlClick, x133 y384,ahk_id %id%,,Left
sleep 200
X=133
Y=384
gosub, jump

ControlClick, x433 y384,ahk_id %id%,,right
sleep 2000
}

return
return


;--------------------------------------TimerCheck------------------
Timercheck:
ControlClick, x110 y740,ahk_id %id%,,RIGHT
End := A_TickCount
if End>=%StartTime%
{
winkill, ahk_id %id%
sleep 500
send {Ctrl up}
msgbox, DC timer activate!
reload
return
}
return
return
;--------------------------------------Memory check---------------
readXY:
VarSetCapacity(xxx, 4)   
VarSetCapacity(yyy, 4)  
DllCall("ReadProcessMemory", "UInt", ProcessHandle, "UInt", adxxx, "Uint*", xxx, "Uint", 4, "Uint *", 0) 
DllCall("ReadProcessMemory", "UInt", ProcessHandle, "UInt", adyyy, "Uint*", yyy, "Uint", 4, "Uint *", 0) 
return
return

;--------------------------------------Postmessage Jump----------
jump:

    hwnd := ControlFromPoint(X, Y, "ahk_id " id,"", cX, cY)
    PostMessage, 0x201, 0x8 | 0x1, cX & 0xFFFF | (cY & 0xFFFF) << 16,, ahk_id %hwnd%
    PostMessage, 0x202, 0x8      , cX & 0xFFFF | (cY & 0xFFFF) << 16,, ahk_id %hwnd%
return
return

ControlFromPoint(X, Y, WinTitle="", WinText="", ByRef cX="", ByRef cY="", ExcludeTitle="", ExcludeText="")
{
    if !(hwnd := WinExist(WinTitle, WinText, ExcludeTitle, ExcludeText))
        return false
    
    VarSetCapacity(pt,8)

    VarSetCapacity(wi,60), NumPut(60,wi)
    DllCall("GetWindowInfo","uint",hwnd,"uint",&wi)
    NumPut(X + (w:=NumGet(wi,4,"int")) - (cw:=NumGet(wi,20,"int")), pt,0)
    NumPut(Y + (h:=NumGet(wi,8,"int")) - (ch:=NumGet(wi,24,"int")), pt,4)
    
    Loop {
        child := DllCall("ChildWindowFromPointEx","uint",hwnd,"int64",NumGet(pt,0,"int64"),"uint",0x5)
        if !child or child=hwnd
            break
      
        DllCall("MapWindowPoints","uint",hwnd,"uint",child,"uint",&pt,"uint",1)
        hwnd := child
    }
    cX := NumGet(pt,0,"int")
    cY := NumGet(pt,4,"int")
    return hwnd
}

return
return
;--------------------------------------HotKey---------------------
^r::reload
^q::pause
05/16/2008 17:23 dondale8#709
ya prof it's slower than frist..
but i need it more slow...how?
kk prof let it when u come back after spend nice time with Hong Kong vacation
05/17/2008 03:18 evanxxxm#710
dondale8@
i changed the "sleep 1000" to "sleep 2000" to make it slower
if u want more slow, u can change "sleep 2000" (there are 5 of them)
05/17/2008 04:44 pedrothebest1591#711
could u make an autolooter that is very fast picking up stuff ( money, uniks,elite,super,gem,met) like the one ther was on venom, i would like to use it on birdmans if that helps u doing it :p dunno if u already have one like that if not .....would be apreciated. :D
05/17/2008 09:05 dondale8#712
K Prof THx alot
Prof What about gate training? U can make it when u back...
Prof i'm so sorry if i annoied u in ur vacation
05/17/2008 11:27 evanxxxm#713
pedrothebest1591 @
cant, its proxy stuff

dondale8 @
i will try to make one tonight
05/18/2008 11:35 Gu4rdi4n#714
ok evan could u make a mine bot that would keep only gold ores and nothing else not sure if this has been asked and got half way thru the pages and got tired of reading lol
05/18/2008 13:21 evanxxxm#715
donadale@
try this, no co, untested
Code:
msgbox, starts now
WinGet,id, ID,[Co

X=500
Y=374

settimer, leftclick, 2500
settimer, ften, 3000
return

ften:
ControlClick, x470 y760,ahk_id %id%,,right,,NA
return



leftclick:

    hwnd := ControlFromPoint(X, Y, "ahk_id " id,"", cX, cY)
    PostMessage, 0x204, 0x8 | 0x1, cX & 0xFFFF | (cY & 0xFFFF) << 16,, ahk_id %hwnd%
    PostMessage, 0x205, 0x8      , cX & 0xFFFF | (cY & 0xFFFF) << 16,, ahk_id %hwnd%
return
return

ControlFromPoint(X, Y, WinTitle="", WinText="", ByRef cX="", ByRef cY="", ExcludeTitle="", ExcludeText="")
{
    if !(hwnd := WinExist(WinTitle, WinText, ExcludeTitle, ExcludeText))
        return false
    
    VarSetCapacity(pt,8)

    VarSetCapacity(wi,60), NumPut(60,wi)
    DllCall("GetWindowInfo","uint",hwnd,"uint",&wi)
    NumPut(X + (w:=NumGet(wi,4,"int")) - (cw:=NumGet(wi,20,"int")), pt,0)
    NumPut(Y + (h:=NumGet(wi,8,"int")) - (ch:=NumGet(wi,24,"int")), pt,4)
    
    Loop {
        child := DllCall("ChildWindowFromPointEx","uint",hwnd,"int64",NumGet(pt,0,"int64"),"uint",0x5)
        if !child or child=hwnd
            break
      
        DllCall("MapWindowPoints","uint",hwnd,"uint",child,"uint",&pt,"uint",1)
        hwnd := child
    }
    cX := NumGet(pt,0,"int")
    cY := NumGet(pt,4,"int")
    return hwnd
}

return

^q::pause
^r::reload
Gu4rdi4n@
i assume u are talking about working minimized
no, i dont know how to detect ores or gems by memory address
05/18/2008 21:30 Gu4rdi4n#716
[/QUOTE] Gu4rdi4n@
i assume u are talking about working minimized
no, i dont know how to detect ores or gems by memory address[/QUOTE]

actually it wouldnt matter being not minimized would work as well

thanks in advanced even if it aint possible
05/19/2008 03:23 evanxxxm#717
Gu4rdi4n@
if it pixel base, yes its possible
if u still want it, upload a bmp format screenshot with ores inside (since i dont have CO for 3 months)
05/19/2008 04:32 UPSman2#718
your in hong kong for 3 months?
05/19/2008 11:56 evanxxxm#719
UPSman2@
yea, until aug 8
besides, my archer is 129 - 89% already, its almost over for me
05/19/2008 20:02 Ubludak#720
you can make bot thet pik up tokens of moonbox quest like commandtockem and if we have itemtype it will pik up by name ech token
and option thet if am in lab he will pik up lab tokens
btw you i look your ahk is awosm work i wish you good luke man and keep good work for our cominty sory my bad english :) i hope all can understend me am it work now all nigth i w8 your unswer