Conquer partner alternative!

12/18/2006 23:17 isostar#1
If anyone can find/write a program that would search/locate pixels on the active screen and that moves mouse on it, then i can make it.
Its not an easy job to do, but someone who knows some programming should do it. As u know there are milions different pixels over the screen due to different color, but for example basilisks all look the same, so their pixels match. I can pick its color, but i dont know any programs who can find exact pixels on same screen and would move cursor on it. Just find/make me a pixel finder/locater :D
12/18/2006 23:23 hax0rzz#2
autohotkey can do it ;)
12/19/2006 00:04 yokoyoko#3
well you won't be matching the whole thing, obviously, but maybe a a dot on the shadow (prolly invisible to human) that has a special color than the rest of the map/monsters/drops.

yes i use autohotkey too. Wierd syntax, but pretty easy to learn.
12/19/2006 00:17 spoonieluv97#4
I have just completed an archer bot and plan on uploading it soon, but there is one problem. It does exactly that, it searches for the health bars of monsters and right clicks (scatters). I made it with AutoIt and edited my monster.dat so they are one pixel. Only problem is sometimes the mouse clicks a monster's name or health bar when trying to jump, and it throws off the coordinates.

If somebody could please maybe show me a way to make a character move that is nonpixel-based, i could just delete the moving function of the bot I made and just time the scatter function to work with the other program that moves the character nonpixel-based.
12/19/2006 00:33 wiwatari#5
Opt("GUIOnEventMode", 1)
Opt("MouseCoordMode", 0)
Opt("PixelCoordMode", 0)
#include <GUIConstants.au3>

Global &#036;Paused
Global &#036;home
Global &#036;end

Dim &#036;SearchMob=0
&#036;Mess=GUICtrlCreateLabel("<HOME> to switch on",10,5,130,15)

HotKeySet("{PAUSE}", "Pausar")
HotKeySet("{ESC}", "Sair")
HotKeySet("{HOME}", "Scatter")
HotKeySet("{END}", "End")

ProgressOn("Caregando BOT", "Porcentagem", "0 Porcentagem")
For &#036;i = 10 to 100 step 10
sleep(100)
ProgressSet( &#036;i, &#036;i & " Porcentagem")
Next
ProgressSet(100 , "Pronto", "Completo")
sleep(500)
ProgressOff()
MsgBox(4096, "Conquer BOT", "Use tecla 'HOME' para Scatter e 'END' para upar automatico | Tecla 'PAUSE' Pausa o BOT | Tecla 'ESC' sai do BOT", 10)
&#036;resposta = InputBox("AutoPOT", "1 = 80% HP // 2 = 50% HP // 3 = 20% HP", "", " M1")

while 1=1
sleep(100)
if WinExists("[Conquer2.0]") then
If WinActive("[Conquer2.0]") Then
If &#036;SearchMob Then
hp()
MobSearch()
EndIf
EndIf
EndIf
WEnd

Func Scatter()
if WinExists("[Conquer2.0]") then
If WinActive("[Conquer2.0]") Then
&#036;home = NOT &#036;home
While &#036;home
sleep(100)
MouseClick("Right")
hp()
JumpAround()
WEnd
EndIf
EndIf
EndFunc ;==> Scatter

Func End()
if WinExists("[Conquer2.0]") then
If WinActive("[Conquer2.0]") Then
&#036;SearchMob=NOT &#036;SearchMob
If &#036;SearchMob Then
GUICtrlSetData(&#036;Mess,"<END> Desligado")
Else
GUICtrlSetData(&#036;Mess,"<END> Ligado")
EndIf
EndIf
EndIf
EndFunc ;==> Comeca o BOT

Func MobSearch()
&#036;Coords=PixelSearch(200,100,825,600,12059395, 5)
If NOT @error Then
MouseClick("left",&#036;Coords[0],&#036;Coords[1]+30,1,0)
Else
JumpAround()
EndIf
EndFunc ;==> Procurar Monstro()

Func JumpAround()
&#036;xrand=Random(0,880,1)
&#036;yrand=Random(0,660,1)
MouseMove(&#036;xrand,&#036;yrand,0)
Send("{CTRLDOWN}")
MouseClick("Left")
Send("{CTRLUP}")
Sleep(1000)
EndFunc ;===> Pular

Func hp()
if (&#036;resposta = "1") Then
if (PixelGetColor(34,702) = 5926259) then
for &#036;i = 1 to 4
send("{f2}")
sleep(100)
next
EndIf
EndIf
if (&#036;resposta = "2") Then
if (PixelGetColor(34,718) = 5926259) then
for &#036;i = 1 to 4
send("{f2}")
sleep(100)
next
EndIf
EndIf
if (&#036;resposta = "3") Then
if (PixelGetColor(33,736) = 4874611) then
for &#036;i = 1 to 4
send("{f2}")
sleep(100)
next
EndIf
EndIf
EndFunc ;==> Recuperar HP


Func Pausar()
&#036;Paused = NOT &#036;Paused
While &#036;Paused
sleep(100)
ToolTip('BOT "Pausado"',0,0)
WEnd
ToolTip("")
EndFunc

Func Sair()
Exit 0
EndFunc
12/19/2006 00:46 Christoph_#6
Quote:
Originally posted by spoonieluv97@Dec 19 2006, 00:17
I have just completed an archer bot and plan on uploading it soon, but there is one problem. It does exactly that, it searches for the health bars of monsters and right clicks (scatters). I made it with AutoIt and edited my monster.dat so they are one pixel. Only problem is sometimes the mouse clicks a monster's name or health bar when trying to jump, and it throws off the coordinates.

If somebody could please maybe show me a way to make a character move that is nonpixel-based, i could just delete the moving function of the bot I made and just time the scatter function to work with the other program that moves the character nonpixel-based.
Just read the coordinates from memory and move accordingly.
There are 8 possible moves (X is the player).

1 2 3
4 X 5
6 7 8

If it's just for leveling doing a macro is pretty easy.
12/19/2006 00:57 DM2000#7
#move CO2 Main Discussions / Questions

Just to remind Bots & Macro section only for "Release"

DM
12/19/2006 01:16 spoonieluv97#8
Ok, I had a lot of GUI's before hand where user enters the amount of arrows and what not, but I didn't include it because it was long. But here is what I have.

&#036;packs=&#036;packs*500
While &#036;packs>=0
send("{CTRLDOWN}")
MouseClick("left", 509,81,1,1)

sleep(3000)
&#036;coord = Pixelsearch(0,97,1019,569, "0xB50400", 5, 1 )
If @error <> 1 then
Mouseclick("right",&#036;coord[0], &#036;coord[1],1,1)
&#036;packs=&#036;packs-3
&#036;left=&#036;left-3
Endif
sleep(2000)
MouseClick("left", 986,408,1,1)

sleep(3000)
&#036;coord = Pixelsearch(0,97,1019,569, "0xB50400", 5, 1 )
If @error <> 1 then
Mouseclick("right",&#036;coord[0], &#036;coord[1],1,1)
&#036;packs=&#036;packs-3
&#036;left=&#036;left-3
Endif
sleep(2000)
MouseClick("left", 513,712,1,1)

sleep(3000)
&#036;coord = Pixelsearch(0,97,1019,569, "0xB50400", 5, 1 )
If @error <> 1 then
Mouseclick("right",&#036;coord[0], &#036;coord[1],1,1)
&#036;packs=&#036;packs-3
&#036;left=&#036;left-3
Endif
sleep(2000)
MouseClick("left", 36,388,1,1)

sleep(3000)
&#036;coord = Pixelsearch(0,97,1019,569, "0xB50400", 5, 1 )
If @error <> 1 then
Mouseclick("right",&#036;coord[0], &#036;coord[1],1,1)
&#036;packs=&#036;packs-3
&#036;left=&#036;left-3
Endif
sleep(200)
send("{CTRLUP}")
if &#036;left<=3 Then
sleep(400)
send("{F1}")
&#036;left=500
sleep(400)
EndIf

WEnd

----------------------------------------------------------------------

_1
4x2
_3

My bot jumps to 1, looks for mosnters and scatters.
My bot then jumps to 2, looks for mosnters and scatters.
My bot then jumps to 3, looks for mosnters and scatters.
My bot then jumps to 4, looks for mosnters and scatters.

The problem is when it jumps to the certain coords, sometime a monster is standing where those coords are. My character clicks the monster instead of jumping to the coords. I edited my monster.dat, but still it clicks the NAME of the monster sometimes, and doesn't jump there, throwing off the position of my character.
12/19/2006 02:26 yokoyoko#9
yes if you read memory you can simply check if you're in the same spot as before. I wish i can help but i only know about autohotkey. See Coldstart's thread on how to read memory.
12/19/2006 03:10 spoonieluv97#10
Quote:
Originally posted by yokoyoko@Dec 19 2006, 02:26
yes if you read memory you can simply check if you're in the same spot as before. I wish i can help but i only know about autohotkey. See Coldstart's thread on how to read memory.
ill search for it ty
12/19/2006 03:39 [N]asser#11
The whole point of conquer partner was the fact that it used a combination of process/packet editing to make it easy to bot multiple characters and do other things at the same time. Anyone could make a pixel bot with enough time, but it just can never be as good and useful.