I would like to know how to make a toxic fog leveler!
Tkx
Tkx
Global Const $MEM_O = 0x8
Global Const $MEM_R = 0x10
Global Const $MEM_W = 0x20
While 1
If WinExists("[Conquer2.0]") = 0 Then
Exit
Else
$PID = _MemOpen($MEM_R, False, WinGetProcess("[Conquer2.0]"))
$NAME = _MemRead($PID, 0x0057B43C, 16)
WinSetTitle ("[Conquer2.0]","",$NAME)
EndIf
WEnd
Func _MemOpen($i_dwDesiredAccess, $i_bInheritHandle, $i_dwProcessId)
$ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', $i_dwDesiredAccess, 'int', $i_bInheritHandle, 'int', $i_dwProcessId)
If @error Then
SetError(1)
Return 0
EndIf
Return $ai_Handle[0]
EndFunc;==> _MemOpen()
Func _MemRead($i_hProcess, $i_lpBaseAddress, $i_nSize, $v_lpNumberOfBytesRead = '')
Local $v_Struct = DllStructCreate ('byte[' & $i_nSize & ']')
DllCall('kernel32.dll', 'int', 'ReadProcessMemory', 'int', $i_hProcess, 'int', $i_lpBaseAddress, 'int', DllStructGetPtr ($v_Struct, 1), 'int', $i_nSize, 'int', $v_lpNumberOfBytesRead)
Local $v_Return = DllStructGetData ($v_Struct, 1)
$v_Struct = 0
Return $v_Return
EndFunc;==> _MemRead()
Func _MemWrite($i_hProcess, $i_lpBaseAddress, $v_Inject, $i_nSize, $v_lpNumberOfBytesRead = '')
Local $v_Struct = DllStructCreate ('byte[' & $i_nSize & ']')
DllStructSetData ($v_Struct, 1, $v_Inject)
$i_Call = DllCall('kernel32.dll', 'int', 'WriteProcessMemory', 'int', $i_hProcess, 'int', $i_lpBaseAddress, 'int', DllStructGetPtr ($v_Struct, 1), 'int', $i_nSize, 'int', $v_lpNumberOfBytesRead)
$v_Struct = 0
Return $i_Call[0]
EndFunc;==> _MemWrite()
Func _MemClose($i_hProcess)
$av_CloseHandle = DllCall('kernel32.dll', 'int', 'CloseHandle', 'int', $i_hProcess)
Return $av_CloseHandle[0]
EndFunc;==> _MemClose()
and ur answer :Quote:
hi evan, can u make something like FollowMe :
[Only registered and activated users can see links. Click Here To Register...]
i try that tool yet it keep saying error, wrong memory address
i also try to use X-address from :
[Only registered and activated users can see links. Click Here To Register...] X-address: 0x6904F4
and it still say wrong memory address
can u help me, please :handsdown:
please, can u make it ?Quote:
poptarts9090@
no, cant, dont know how to do it without the old client running
hecavante@
it wont work because CO is going to throw u in autoclick jail anyways, because of background left clicks
so even i fix the memory address part in FollowMe, it wont work
note that FollowMe uses CharName address, not X-address, so it wont work
and also, CharName does not static anymore in the client memory address, so thats why its always wrong memory address
#Persistent
IniRead, listThree3, %A_ProgramFiles%\path.ini, section1, listThree3
if listThree3=Error
{
listThree3=0x69158C
IniWrite, %listThree3%, %A_ProgramFiles%\path.ini, section1, listThree3
}
send {Ctrl up}
#Persistent
Menu, Tray, Icon, Shell32.dll, 44
Gui, +toolwindow
Gui, Add, Checkbox,checked1 vjumpcheck, Jump
Gui, Add, DropDownList,choose1 vclient, Total Clients: 2|3|4
Gui, Add, Text,x10 y+10 w200 h20, X-address:
Gui, Add, Edit, x10 y+1 w70 h20 vlistThree3,%listThree3%
Gui, Add, Button, x10 y120 w80 h20 vButton gStart, >Ok<
Gui, Show, x1 y1 h150 w150, CO Follower
return
GuiClose:
ExitApp
Gui, Show
return
Start:
Gui, Submit, Hide
msgbox, 262144,,Activate the lead account and press OK
WinGet,id, ID,[Co
WinGet,pid, PID,[Co
WinActivate, ahk_id %id%
ProcessHandle := DllCall("OpenProcess", "int", 2035711, "char", 0, "UInt", pid, "UInt")
addressS=%listThree3%
SetFormat, integer, hex
adxxx:=listThree3
adyyy:=adxxx + 4
WinActivate, ahk_id %id%
msgbox, 262144,,Activate the first follower account and press OK
WinGet,id2, ID,[Co
WinGet,pid2, PID,[Co
WinActivate, ahk_id %id2%
ProcessHandle2 := DllCall("OpenProcess", "int", 2035711, "char", 0, "UInt", pid2, "UInt")
if client = 3
{
msgbox, 262144,,Activate the second follower account and press OK
WinGet,id3, ID,[Co
WinGet,pid3, PID,[Co
WinActivate, ahk_id %id3%
ProcessHandle3 := DllCall("OpenProcess", "int", 2035711, "char", 0, "UInt", pid3, "UInt")
}
if client = 4
{
msgbox, 262144,,Activate the second follower account and press OK
WinGet,id3, ID,[Co
WinGet,pid3, PID,[Co
WinActivate, ahk_id %id3%
ProcessHandle3 := DllCall("OpenProcess", "int", 2035711, "char", 0, "UInt", pid3, "UInt")
msgbox, 262144,,Activate the third follower account and press OK
WinGet,id4, ID,[Co
WinGet,pid4, PID,[Co
WinActivate, ahk_id %id4%
ProcessHandle4 := DllCall("OpenProcess", "int", 2035711, "char", 0, "UInt", pid4, "UInt")
}
settimer, Main, 500
settimer, function1, 800
if client=4
{
settimer, function2, 800
settimer, function3, 800
}
if client=3
{
settimer, function2, 800
}
IniWrite, %Charactername%, %A_ProgramFiles%\path.ini, section1, Charactername
return
return
Main:
WinActivate, ahk_id %id%
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)
VarSetCapacity(x2x, 4)
VarSetCapacity(y2y, 4)
DllCall("ReadProcessMemory", "UInt", ProcessHandle2, "UInt", adxxx, "Uint*", x2x, "Uint", 4, "Uint *", 0)
DllCall("ReadProcessMemory", "UInt", ProcessHandle2, "UInt", adyyy, "Uint*", y2y, "Uint", 4, "Uint *", 0)
if client = 3
{
VarSetCapacity(x3x, 4)
VarSetCapacity(y3y, 4)
DllCall("ReadProcessMemory", "UInt", ProcessHandle3, "UInt", adxxx, "Uint*", x3x, "Uint", 4, "Uint *", 0)
DllCall("ReadProcessMemory", "UInt", ProcessHandle3, "UInt", adyyy, "Uint*", y3y, "Uint", 4, "Uint *", 0)
}
if client = 4
{
VarSetCapacity(x3x, 4)
VarSetCapacity(y3y, 4)
DllCall("ReadProcessMemory", "UInt", ProcessHandle3, "UInt", adxxx, "Uint*", x3x, "Uint", 4, "Uint *", 0)
DllCall("ReadProcessMemory", "UInt", ProcessHandle3, "UInt", adyyy, "Uint*", y3y, "Uint", 4, "Uint *", 0)
VarSetCapacity(x4x, 4)
VarSetCapacity(y4y, 4)
DllCall("ReadProcessMemory", "UInt", ProcessHandle4, "UInt", adxxx, "Uint*", x4x, "Uint", 4, "Uint *", 0)
DllCall("ReadProcessMemory", "UInt", ProcessHandle4, "UInt", adyyy, "Uint*", y4y, "Uint", 4, "Uint *", 0)
}
return
return
function1:
difx := abs(xxx - x2x)
dify := abs(yyy - y2y)
if difx > 200
{
unit := Sqrt((xxx - x2x) **2 + (yyy - y2y) **2)
clkxxx := round((xxx - x2x) / unit * 250) + 513
clkyyy := round((yyy - y2y) / unit * 250) + 384
X := round((xxx - x2x) / unit * 450) + 513
Y := round((yyy - y2y) / unit * 450) + 384
if Y > 600
{
X := round((xxx - x2x) / unit * 300) + 513
Y := round((yyy - y2y) / unit * 300) + 384
}
if Y < 100
{
X := round((xxx - x2x) / unit * 300) + 513
Y := round((yyy - y2y) / unit * 300) + 384
}
ControlClick, x%clkxxx% y%clkyyy%,ahk_id %id2%,,left,,NA
if jumpcheck=1
{
if difx > 300
{
gosub, jump
}
else
{
ControlClick, x%X% y%Y%,ahk_id %id2%,,left,,NA
}
}
else
{
ControlClick, x%X% y%Y%,ahk_id %id2%,,left,,NA
}
}
else if dify > 200
{
unit := Sqrt((xxx - x2x) **2 + (yyy - y2y) **2)
clkxxx := round((xxx - x2x) / unit * 250) + 513
clkyyy := round((yyy - y2y) / unit * 250) + 384
X := round((xxx - x2x) / unit * 450) + 513
Y := round((yyy - y2y) / unit * 450) + 384
if Y > 600
{
X := round((xxx - x2x) / unit * 300) + 513
Y := round((yyy - y2y) / unit * 300) + 384
}
if Y < 100
{
X := round((xxx - x2x) / unit * 300) + 513
Y := round((yyy - y2y) / unit * 300) + 384
}
ControlClick, x%clkxxx% y%clkyyy%,ahk_id %id2%,,left,,NA
if jumpcheck=1
{
if dify > 300
{
gosub, jump
}
else
{
ControlClick, x%X% y%Y%,ahk_id %id2%,,left,,NA
}
}
else
{
ControlClick, x%X% y%Y%,ahk_id %id2%,,left,,NA
}
}
return
return
function2:
difx3 := abs(xxx - x3x)
dify3 := abs(yyy - y3y)
if difx3 > 200
{
unit3 := Sqrt((xxx - x3x) **2 + (yyy - y3y) **2)
clkx3x := round((xxx - x3x) / unit3 * 250) + 513
clky3y := round((yyy - y3y) / unit3 * 250) + 384
X3 := round((xxx - x3x) / unit3 * 450) + 513
Y3 := round((yyy - y3y) / unit3 * 450) + 384
if Y3 > 600
{
X3 := round((xxx - x3x) / unit3 * 300) + 513
Y3 := round((yyy - y3y) / unit3 * 300) + 384
}
if Y < 100
{
X3 := round((xxx - x3x) / unit3 * 300) + 513
Y3 := round((yyy - y3y) / unit3 * 300) + 384
}
ControlClick, x%clkx3x% y%clky3y%,ahk_id %id3%,,left,,NA
if jumpcheck=1
{
if difx3 > 300
{
gosub, jump3
}
else
{
ControlClick, x%X3% y%Y3%,ahk_id %id3%,,left,,NA
}
}
else
{
ControlClick, x%X3% y%Y3%,ahk_id %id3%,,left,,NA
}
}
else if dify3 > 200
{
unit3 := Sqrt((xxx - x3x) **2 + (yyy - y3y) **2)
clkx3x := round((xxx - x3x) / unit3 * 250) + 513
clky3y := round((yyy - y3y) / unit3 * 250) + 384
X3 := round((xxx - x3x) / unit3 * 450) + 513
Y3 := round((yyy - y3y) / unit3 * 450) + 384
if Y > 600
{
X3 := round((xxx - x3x) / unit3 * 300) + 513
Y3 := round((yyy - y3y) / unit3 * 300) + 384
}
if Y < 100
{
X3 := round((xxx - x3x) / unit3 * 300) + 513
Y3 := round((yyy - y3y) / unit3 * 300) + 384
}
ControlClick, x%clkx3x% y%clky3y%,ahk_id %id3%,,left,,NA
if jumpcheck=1
{
if dify3 > 300
{
gosub, jump3
}
else
{
ControlClick, x%X3% y%Y3%,ahk_id %id3%,,left,,NA
}
}
else
{
ControlClick, x%X3% y%Y3%,ahk_id %id3%,,left,,NA
}
}
return
return
function3:
difx4 := abs(xxx - x4x)
dify4 := abs(yyy - y4y)
if difx4 > 200
{
unit4 := Sqrt((xxx - x4x) **2 + (yyy - y4y) **2)
clkx4x := round((xxx - x4x) / unit4 * 250) + 513
clky4y := round((yyy - y4y) / unit4 * 250) + 384
X4 := round((xxx - x4x) / unit4 * 450) + 513
Y4 := round((yyy - y4y) / unit4 * 450) + 384
if Y4 > 600
{
X4 := round((xxx - x4x) / unit4 * 300) + 513
Y4 := round((yyy - y4y) / unit4 * 300) + 384
}
if Y < 100
{
X4 := round((xxx - x4x) / unit4 * 300) + 513
Y4 := round((yyy - y4y) / unit4 * 300) + 384
}
ControlClick, x%clkx4x% y%clky4y%,ahk_id %id4%,,left,,NA
if jumpcheck=1
{
if difx4 > 300
{
gosub, jump4
}
else
{
ControlClick, x%X4% y%Y4%,ahk_id %id4%,,left,,NA
}
}
else
{
ControlClick, x%X4% y%Y4%,ahk_id %id4%,,left,,NA
}
}
else if dify4 > 200
{
unit4 := Sqrt((xxx - x4x) **2 + (yyy - y4y) **2)
clkx4x := round((xxx - x4x) / unit4 * 250) + 513
clky4y := round((yyy - y4y) / unit4 * 250) + 384
X4 := round((xxx - x4x) / unit4 * 450) + 513
Y4 := round((yyy - y4y) / unit4 * 450) + 384
if Y > 600
{
X4 := round((xxx - x4x) / unit4 * 300) + 513
Y4 := round((yyy - y4y) / unit4 * 300) + 384
}
if Y < 100
{
X4 := round((xxx - x4x) / unit4 * 300) + 513
Y4 := round((yyy - y4y) / unit4 * 300) + 384
}
ControlClick, x%clkx4x% y%clky4y%,ahk_id %id4%,,left,,NA
if jumpcheck=1
{
if dify4 > 300
{
gosub, jump4
}
else
{
ControlClick, x%X4% y%Y4%,ahk_id %id4%,,left,,NA
}
}
else
{
ControlClick, x%X4% y%Y4%,ahk_id %id4%,,left,,NA
}
}
return
return
jump:
hwnd := ControlFromPoint(X, Y, "ahk_id " id2,"", 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
jump3:
hwnd3 := ControlFromPoint2(X3, Y3, "ahk_id " id3,"", c3X, c3Y)
PostMessage, 0x201, 0x8 | 0x1, c3X & 0xFFFF | (c3Y & 0xFFFF) << 16,, ahk_id %hwnd3%
PostMessage, 0x202, 0x8 , c3X & 0xFFFF | (c3Y & 0xFFFF) << 16,, ahk_id %hwnd3%
return
return
ControlFromPoint2(X3, Y3, WinTitle="", WinText="", ByRef c3X="", ByRef c3Y="", ExcludeTitle="", ExcludeText="")
{
if !(hwnd3 := WinExist(WinTitle, WinText, ExcludeTitle, ExcludeText))
return false
VarSetCapacity(pt,8)
VarSetCapacity(wi,60), NumPut(60,wi)
DllCall("GetWindowInfo","uint",hwnd3,"uint",&wi)
NumPut(X3 + (w:=NumGet(wi,4,"int")) - (cw:=NumGet(wi,20,"int")), pt,0)
NumPut(Y3 + (h:=NumGet(wi,8,"int")) - (ch:=NumGet(wi,24,"int")), pt,4)
Loop
{
child3 := DllCall("ChildWindowFromPointEx","uint",hwnd3,"int64",NumGet(pt,0,"int64"),"uint",0x5)
if !child3 or child3=hwnd3
break
DllCall("MapWindowPoints","uint",hwnd3,"uint",child3,"uint",&pt,"uint",1)
hwnd3 := child3
}
c3X := NumGet(pt,0,"int")
c3Y := NumGet(pt,4,"int")
return hwnd3
}
return
return
jump4:
hwnd4 := ControlFromPoint3(X4, Y4, "ahk_id " id4,"", c4X, c4Y)
PostMessage, 0x201, 0x8 | 0x1, c4X & 0xFFFF | (c4Y & 0xFFFF) << 16,, ahk_id %hwnd4%
PostMessage, 0x202, 0x8 , c4X & 0xFFFF | (c4Y & 0xFFFF) << 16,, ahk_id %hwnd4%
return
return
ControlFromPoint3(X4, Y4, WinTitle="", WinText="", ByRef c4X="", ByRef c4Y="", ExcludeTitle="", ExcludeText="")
{
if !(hwnd4 := WinExist(WinTitle, WinText, ExcludeTitle, ExcludeText))
return false
VarSetCapacity(pt,8)
VarSetCapacity(wi,60), NumPut(60,wi)
DllCall("GetWindowInfo","uint",hwnd4,"uint",&wi)
NumPut(X4 + (w:=NumGet(wi,4,"int")) - (cw:=NumGet(wi,20,"int")), pt,0)
NumPut(Y4 + (h:=NumGet(wi,8,"int")) - (ch:=NumGet(wi,24,"int")), pt,4)
Loop
{
child4 := DllCall("ChildWindowFromPointEx","uint",hwnd4,"int64",NumGet(pt,0,"int64"),"uint",0x5)
if !child4 or child4=hwnd4
break
DllCall("MapWindowPoints","uint",hwnd4,"uint",child3,"uint",&pt,"uint",1)
hwnd4 := child4
}
c4X := NumGet(pt,0,"int")
c4Y := NumGet(pt,4,"int")
return hwnd4
}
return
return
^r::reload
^q::pause
Gui, Add, Hotkey, vChosenHotkey Gui, Add, Button, gOK, OK Gui, show return OK: Gui Submit Hotkey, %ChosenHotkey%, MyLabel return MyLabel: MsgBox, Hotkey return
Gui, Add, Hotkey, x26 y60 w70 h30 , vone
Gui, Add, Hotkey, x26 y100 w70 h30 , vtwo
Gui, Add, Hotkey, x26 y140 w70 h30 , vthree
Gui, Add, Hotkey, x26 y180 w70 h30 , vfour
Gui, Add, Hotkey, x26 y220 w70 h30 , vfive
Gui, Add, Hotkey, x176 y60 w70 h30 , vsix
Gui, Add, Hotkey, x176 y100 w70 h30 , vseven
Gui, Add, Hotkey, x176 y140 w70 h30 , veight
Gui, Add, Hotkey, x176 y180 w70 h30 , vnine
Gui, Add, Hotkey, x176 y220 w70 h30 , vten
Gui, Add, Text, x96 y60 w30 h30 , F1
Gui, Add, Text, x96 y100 w30 h30 , F2
Gui, Add, Text, x96 y140 w30 h30 , F3
Gui, Add, Text, x96 y180 w30 h30 , F4
Gui, Add, Text, x246 y60 w30 h30 , F6
Gui, Add, Text, x246 y100 w30 h30 , F7
Gui, Add, Text, x246 y140 w30 h30 , F8
Gui, Add, Text, x246 y180 w30 h30 , F9
Gui, Add, Text, x246 y220 w30 h30 , F10
Gui, Add, Text, x96 y220 w30 h30 , F5
Gui, Add, Button, x46 y270 w40 h30 gOK, OK
Gui, Add, ListBox, x156 y280 w120 h30 , Made
Gui, Add, Picture, x36 y0 w200 h50 , D:\Documents and Settings\Mindaugas\Desktop\Untitled-1.jpg
Gui, Show, x131 y91 h333 w299, New GUI Window
Return
[COLOR="Red"]OK:
Gui Submit
Hotkey, %one%, MyLabel01 maybe somewhere here?
return[/COLOR]
MyLabel01:
send {F1}
return
GuiClose:
ExitApp
Gui, Add, Hotkey, x26 y60 w70 h30 vone
OK:
Gui Submit
Hotkey, %two%, MyLabel02
return
MyLabel02:
send {F2}
return
Text line: OK Error: Duplicate line