AutoIt - Background botting with Mouse Click

02/19/2013 16:33 xBlizzarD#1
Hi,

I am playing a game called Chrono Tales. In that, I would like a BOT where you click a location, wait for 3 seconds and then click another location, wait for 3 seconds... and so forth. It's like how this video shows:




I have to be able to do this whilst I am on another tab (so auto botting e.g. I can do work whilst in the background it's botting)

Is this easy to program using AutoIt? I will be willing to learn AutoIt if it is possible. If it is possible, do you think it is difficult to program? Are there any tutorials for AutoIt to do this?

Thank you
xBlizzarD
02/19/2013 16:36 EinfachSö#2
If you want it in the background then its not possible with AutoIt. Sry
02/19/2013 16:51 xBlizzarD#3
I see, is it possible without background botting then?
02/19/2013 16:55 EinfachSö#4
Shall the bot click the boxes there on the ground? (video)
02/19/2013 17:08 xBlizzarD#5
Quote:
Originally Posted by EinfachSö View Post
Shall the bot click the boxes there on the ground? (video)
Yes, it has to click, wait for 3 seconds and then move to another location, click, wait for 3 seconds and so on
02/19/2013 17:19 YatoDev#6
you can make it . But you cant use pixel for this .you need to learn autoit before
02/19/2013 17:25 EinfachSö#7
Quote:
Originally Posted by ~ⓜⓐⓢⓣⓔⓡ~ View Post
you can make it . But you cant use pixel for this .you need to learn autoit before
autoit programs in the background? while you do something else? New to me :D
Well the whole life is just learning :(
02/19/2013 17:32 omer36#8
Quote:
Originally Posted by EinfachSö View Post
autoit programs in the background? while you do something else? New to me :D
Well the whole life is just learning :(
-[Only registered and activated users can see links. Click Here To Register...]
-[Only registered and activated users can see links. Click Here To Register...]
-memory editing
02/19/2013 17:36 -STORM-#9
Actually pixelsearch is the only task that can't be done in background.
Sending mouseclicks to a minimized window is no problem at all.
02/19/2013 17:36 EinfachSö#10
Quote:
Originally Posted by omer36 View Post
-[Only registered and activated users can see links. Click Here To Register...]
-[Only registered and activated users can see links. Click Here To Register...]
-memory editing
but for getting the informations from a not opened window you need to read the packets, right?
02/19/2013 17:37 Red_John#11
I use a background autoit bot for diablo 3.
02/19/2013 17:40 -STORM-#12
Quote:
Originally Posted by EinfachSö View Post
but for getting the informations from a not opened window you need to read the packets, right?
What informations do you need exactly?
02/19/2013 17:46 EinfachSö#13
Quote:
Originally Posted by -STORM- View Post
What informations do you need exactly?
for example a bot for the game he want (thread-creator)
if it run in the background and you want the programm to collect the boxes. Then the bot need the information where these boxes are. the position of 'em
02/19/2013 18:21 -STORM-#14
Probably that can be done by reading memory.
Most games have a certain structure to store these objects.
For example:
posX: game.exe+0x1234->0x10->0x14+n*0x128->0x4
posY: game.exe+0x1234->0x10->0x14+n*0x128->0x8
posZ: game.exe+0x1234->0x10->0x14+n*0x128->0xC
for box number n.
So you just need the amount of boxes in your environment to store all positions into an array.
Of course the offsets can be anything else and there can be more or less of them, I just needed an example.

If you want to click these boxes, you also need to read the camera position and calculate the box's position on the screen, which can be qhite tricky.
02/19/2013 18:52 xBlizzarD#15
Yes, the camera position seems problematic. Any way to get around that?

Furthermore, this is the coding I have done so far (First time coding so tell me if you have any suggestions :)) -

Code:
#include <GUIConstantsEx.au3>
GUICreate("CT", 335, 100)
GUICtrlCreateLabel("Time", 8, 44)
$time1 = GUICtrlCreateInput("", 35, 40, 120) ;After a certain time, process will shut down
$startbutton = GUICtrlCreateButton("Start", 190, 8, 60)

GUISetState(@SW_SHOW)

While 1
   $msg = GUIGetMsg()
   
   Select
		
	  Case $msg = $startbutton
		
			   $sleep1 = GUICtrlRead($time1)
			   
			While 1	
				WinActivate("")
				ControlClick ( "", "", "" , "left" , 2 , x , y )
				Sleep(300)
				ControlClick ( "", "", "" , "left" , 2 , x , y )
				Sleep($sleep1)
			WEnd
			
	  Case $msg = $GUI_EVENT_CLOSE
			   GUIDelete()
			   ExitLoop
			
   EndSelect
	  
	  
WEnd
Is what I am doing right? The only problem is the camera position, I have to get it exactly right which is really difficult