Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


[Request] Bot

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming
View previous topic :: View next topic  
Author Message
Walleeto
How do I cheat?
Reputation: 0

Joined: 22 Jan 2011
Posts: 9
Location: Costa Rica

PostPosted: Sun Jan 23, 2011 1:10 am    Post subject: [Request] Bot Reply with quote

im noob to all the c++ things, i would really like to have a bot for a game called Luminary: Rise of the Goonzu
i would really appreciate if anyone could make a code for it, and where am i supposed to put that code? srry but as i said im nub ><
plz and thnx in advanced ^^

_________________
I only play 1 game, Luminary: Rise of the Goonzu.
Back to top
View user's profile Send private message
Fantasy
I post too much
Reputation: 13

Joined: 29 Jul 2007
Posts: 3113

PostPosted: Sun Jan 23, 2011 1:10 pm    Post subject: Reply with quote

If you don't know a programming language, like C++, then don't try and learn it in 2 days.

For creating a "program" that can play a game for you, I would suggest creating a macro tool.

I suggest you try out AutoIt . It's really simple to learn and use, and it can get the job done for playing a game for you.
Back to top
View user's profile Send private message
Walleeto
How do I cheat?
Reputation: 0

Joined: 22 Jan 2011
Posts: 9
Location: Costa Rica

PostPosted: Sun Jan 23, 2011 2:26 pm    Post subject: Reply with quote

i can create "bots" with that?
and btw, wikipedia says it doesnt support on windows 7 is taht true?

_________________
I only play 1 game, Luminary: Rise of the Goonzu.
Back to top
View user's profile Send private message
KryziK
Expert Cheater
Reputation: 3

Joined: 16 Aug 2009
Posts: 199

PostPosted: Sun Jan 23, 2011 4:29 pm    Post subject: Reply with quote

AutoIt is very good for creating bots and macros. It also DOES work on Windows 7 (x32 AND x64).
Back to top
View user's profile Send private message
Walleeto
How do I cheat?
Reputation: 0

Joined: 22 Jan 2011
Posts: 9
Location: Costa Rica

PostPosted: Sun Jan 23, 2011 7:22 pm    Post subject: Reply with quote

how do u use it? its too confusing!!
_________________
I only play 1 game, Luminary: Rise of the Goonzu.
Back to top
View user's profile Send private message
KryziK
Expert Cheater
Reputation: 3

Joined: 16 Aug 2009
Posts: 199

PostPosted: Sun Jan 23, 2011 7:28 pm    Post subject: Reply with quote

You need to start on easy stuff first, and then work up to harder stuff. They have a forum that is AMAZING for getting help, and they also have lots of tutorials.

I warn you, though, do not ask questions about bots on the forum or you will be banned.
Back to top
View user's profile Send private message
ThatGuyAgain
Expert Cheater
Reputation: 2

Joined: 24 Jun 2009
Posts: 222
Location: Playing Assault Cube.

PostPosted: Sun Jan 23, 2011 7:30 pm    Post subject: Reply with quote

walleeto wrote:
how do u use it? its too confusing!!


Search up some tutorial on YouTube and see if that helps.

_________________
Back to top
View user's profile Send private message Visit poster's website
407
Master Cheater
Reputation: 0

Joined: 25 Oct 2007
Posts: 357

PostPosted: Sun Jan 23, 2011 8:32 pm    Post subject: Reply with quote

Search 403forbidden on youtube.

If you donno how to AutoIT C/C++ will be hard.. Shocked
Back to top
View user's profile Send private message
Walleeto
How do I cheat?
Reputation: 0

Joined: 22 Jan 2011
Posts: 9
Location: Costa Rica

PostPosted: Sun Jan 23, 2011 9:11 pm    Post subject: Reply with quote

ok so i have learnt like the basics by now... coding is really difficult :S
_________________
I only play 1 game, Luminary: Rise of the Goonzu.
Back to top
View user's profile Send private message
Fantasy
I post too much
Reputation: 13

Joined: 29 Jul 2007
Posts: 3113

PostPosted: Mon Jan 24, 2011 1:55 am    Post subject: Reply with quote

walleeto wrote:
ok so i have learnt like the basics by now... coding is really difficult :S


AutoIt is as simple as it gets.
If it's too confusing for you, you won't ever stand a chance of learning a real programming language.

The Help file in AutoIt is actually really helpful. Believe it or not. Also, their forum is always happy to help you out with your code.

Since all attachments here on CEF got wiped some time ago, I lost the latest version of the Fiesta bot, which was written in AutoIt by our very own Labyrnth. I only managed to recover an early version of it, but it should be helpful to you :]

It's a bit advanced, but you should be able to use some of it as a template of how a bot could work. I suggest you copy the code into the scite editor, it gives you a better overview.

Remember to thank Labyrnth for this work.

Do note: This bot is outdated, and doesn't work. But it's a great help in understanding how AutoIt works.

Code:
;~ - AutoFight
;~ = AutoPickUp

Opt("WinWaitDelay", 1000)
Opt("WinTitleMatchMode", 4)
Opt("WinDetectHiddenText", 1)
Opt("PixelCoordMode", 2)
Opt("MouseCoordMode", 2)
WinWait("FiestaOnline", "")
If Not WinActive("FiestaOnline", "") Then WinActivate("FiestaOnline", "")
WinWaitActive("FiestaOnline", "")

$title_b = "FiestaOnline"
$Process = WinGetProcess($title_b, "") ;Open process

HotKeySet("{END}", "Terminate")

$Pickup = 0
$Fight = 0
Global $lastaction = 0
Global $mem_lastaction = "0074CFEF" ;Address of HP
Global $lowhealth = 100 ;value before heal is needed
Global $lastaction2 = 0
Global $mem_lastaction2 = "0074CFF3" ;Address of SP
Global $lowmana = 10 ;value before heal is needed

While $Pickup = 0
Send("{= 30}") ;use auto pickup ;~ Send("{= 20}") ;Presses the = key 30 times for fighting
Call("Heal")
WEnd

;~ auto fight function will not call it
Func FIGHT()
Sleep(100)
$skill1 = Random(1, 3, 1) ;send
Send("{- 5}") ;use auto fight
Send($skill1)
Sleep(5500)
Send("{= 20}")
$Fight = 1
EndFunc ;==>FIGHT

Func Heal()
Readlast();Reads the memory address from $mem_lastaction = "0074CFRF"
;Decomment the msg box line only for testing what the memory address fro HP reads.
;~ MsgBox(0,"value of $lastaction is ",$lastaction)
If $lastaction < $lowhealth Then
Send("{= 10}")
Send("{HOME down}")
sleep(500)
Send("{HOME up}")
Sleep(40000)
Send("{HOME down}")
Sleep(500)
Send("{HOME up}")
ElseIf $lastaction2 < $lowmana Then
Send("{= 10}")
Send("{HOME down}")
sleep(500)
Send("{HOME up}")
Sleep(20000)
Send("{HOME down}")
Sleep(500)
Send("{HOME up}")
Else
Send("{TAB}") ;Press TAB
Send("{= 10}")
Sleep(500)
Call("CheckTarget")
EndIf
EndFunc ;==>Heal

Func CheckTarget()
$Color = PixelGetColor(496, 35) ;Returns Decimal of the color. 0XF70000
;~ UNComment out MsgBox only for testing
;~ MsgBox(0, "Checking the Color", "Hexadecimal of Color " & Hex($Color, 6) & " Decimal of Color: " & $Color)
If $Color = 16187392 Then ;The Decimal of 0XF70000
$Color = 0
Call("FIGHT")
Else
Send("{= 10}")
Call("movcamera")
EndIf
EndFunc ;==>CheckTarget


Func movcamera()
MouseMove(500, 400, 0)
MouseDown("right")
MouseMove(502, 400, 0)
MouseUp("right")
Send("{TAB}") ;Press TAB
Sleep(500)
Send("{= 10}")
Call("CheckTarget")
EndFunc ;==>movcamera

Func Terminate()
$MB_MsgBoxButtons = 5 ;What buttons that show in messagebox 5 = Retry and Cancel
$MB_Cancel = 2 ;What button is pressed to exit the script 2 = Cancel, If Cancel buton is pushed the script stops.
If MsgBox($MB_MsgBoxButtons, $title_b, "Retry or Cancel the bot?") == $MB_Cancel Then
Exit
EndIf
EndFunc ;==>Terminate

;~ Do not worry about anything below this line it is all that is needed already to read memory.
#region read/write memory
Func _MemoryOpen($iv_Pid, $iv_DesiredAccess = 0x1F0FFF, $if_InheritHandle = 1)

If Not ProcessExists($iv_Pid) Then
MsgBox(0, "value of lastaction", "3")
SetError(1)
Return 0
EndIf

Local $ah_Handle[2] = [DllOpen('kernel32.dll') ]
;~ Local $ah_Handle = DllOpen('kernel32.dll') -the brackets are because an array is being declared, no brackets neccessary if it was a standalone variable
;~ msgbox(0,"value of ah_Handle[2] is", $ah_Handle[1])
If @error Then
MsgBox(0, "value of lastaction", "error4")
SetError(2)
Return 0
EndIf
;~ msgbox(0,"value of ah_Handle[0] is", $ah_Handle[0]&"inherithandle"&$if_InheritHandle&"and the iv_pid"&$iv_Pid)
Local $av_OpenProcess = DllCall($ah_Handle[0], 'int', 'OpenProcess', 'int', $iv_DesiredAccess, 'int', $if_InheritHandle, 'int', $iv_Pid)
;~ Local $av_OpenProcess = DllCall('kernel32.dll', 'int', 'OpenProcess', 'int', 0x1F0FFF(all access), 'int', 1, 'int', 4084)
;~ msgbox(0,"value of $av_openprocess is", $av_OpenProcess[0]) ;1820
;~ msgbox(0,"value of iv_pid is", $iv_Pid) ; 4084
If @error Then
MsgBox(0, "value of lastaction", "error5")
DllClose($ah_Handle[0])
SetError(3)
Return 0
EndIf

$ah_Handle[1] = $av_OpenProcess[0]
;~ msgbox(0,"value of ah_Handle is", $ah_Handle)
Return $ah_Handle

EndFunc ;==>_MemoryOpen


Func _MemoryRead($ah_Handle, $iv_Address, $sv_Type = 'dword')

If Not IsArray($ah_Handle) Then
SetError(1)
MsgBox(0, "value of lastaction", "error1")
Return 0
EndIf

Local $v_Buffer = DllStructCreate($sv_Type)

If @error Then
MsgBox(0, "value of lastaction", "error2")
SetError(@error + 1)
Return 0
EndIf

;~ DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $iv_Address, 'int', $ah_Handle[1], 'int', DllStructGetSize($v_Buffer), 'int', '', 'ptr', DllStructGetPtr($v_Buffer))
DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
;~ msgbox(0,"value of ah_Handle[0],[1] is", $ah_Handle[0]&", "&$ah_Handle[1]);1,1788
If Not @error Then
Local $v_Value = DllStructGetData($v_Buffer, 1)
Return $v_Value
Else
SetError(6)
Return 0
EndIf

EndFunc ;==>_MemoryRead


Func _MemoryWrite($ah_Handle, $iv_Address, $v_Data, $sv_Type = 'dword')

If Not IsArray($ah_Handle) Then
SetError(1)
Return 0
EndIf

Local $v_Buffer = DllStructCreate($sv_Type)

If @error Then
SetError(@error + 1)
Return 0
Else
DllStructSetData($v_Buffer, 1, $v_Data)
If @error Then
SetError(6)
Return 0
EndIf
EndIf

DllCall($ah_Handle[0], 'int', 'WriteProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')

If Not @error Then
Return 1
Else
SetError(7)
Return 0
EndIf

EndFunc ;==>_MemoryWrite


Func _MemoryClose($ah_Handle)

If Not IsArray($ah_Handle) Then
SetError(1)
Return 0
EndIf

DllCall($ah_Handle[0], 'int', 'CloseHandle', 'int', $ah_Handle[1])
If Not @error Then
DllClose($ah_Handle[0])
Return 1
Else
DllClose($ah_Handle[0])
SetError(2)
Return 0
EndIf

EndFunc ;==>_MemoryClose

Func Readlast()
$M_open = _MemoryOpen($Process)
$lastaction = _MemoryRead($M_open, "0x" & $mem_lastaction)
$lastaction2 = _Me;~ - AutoFight
;~ = AutoPickUp

Opt("WinWaitDelay", 1000)
Opt("WinTitleMatchMode", 4)
Opt("WinDetectHiddenText", 1)
Opt("PixelCoordMode", 2)
Opt("MouseCoordMode", 2)
WinWait("FiestaOnline", "")
If Not WinActive("FiestaOnline", "") Then WinActivate("FiestaOnline", "")
WinWaitActive("FiestaOnline", "")

$title_b = "FiestaOnline"
$Process = WinGetProcess($title_b, "") ;Open process

HotKeySet("{END}", "Terminate")

$Pickup = 0
$Fight = 0
Global $lastaction = 0
Global $mem_lastaction = "0074CFEF" ;Address of HP
Global $lowhealth = 100 ;value before heal is needed
Global $lastaction2 = 0
Global $mem_lastaction2 = "0074CFF3" ;Address of SP
Global $lowmana = 10 ;value before heal is needed

While $Pickup = 0
Send("{= 30}") ;use auto pickup ;~ Send("{= 20}") ;Presses the = key 30 times for fighting
Call("Heal")
WEnd

;~ auto fight function will not call it
Func FIGHT()
Sleep(100)
$skill1 = Random(1, 3, 1) ;send
Send("{- 5}") ;use auto fight
Send($skill1)
Sleep(5500)
Send("{= 20}")
$Fight = 1
EndFunc ;==>FIGHT

Func Heal()
Readlast();Reads the memory address from $mem_lastaction = "0074CFRF"
;Decomment the msg box line only for testing what the memory address fro HP reads.
;~ MsgBox(0,"value of $lastaction is ",$lastaction)
If $lastaction < $lowhealth Then
Send("{= 10}")
Send("{HOME down}")
sleep(500)
Send("{HOME up}")
Sleep(40000)
Send("{HOME down}")
Sleep(500)
Send("{HOME up}")
ElseIf $lastaction2 < $lowmana Then
Send("{= 10}")
Send("{HOME down}")
sleep(500)
Send("{HOME up}")
Sleep(20000)
Send("{HOME down}")
Sleep(500)
Send("{HOME up}")
Else
Send("{TAB}") ;Press TAB
Send("{= 10}")
Sleep(500)
Call("CheckTarget")
EndIf
EndFunc ;==>Heal

Func CheckTarget()
$Color = PixelGetColor(496, 35) ;Returns Decimal of the color. 0XF70000
;~ UNComment out MsgBox only for testing
;~ MsgBox(0, "Checking the Color", "Hexadecimal of Color " & Hex($Color, 6) & " Decimal of Color: " & $Color)
If $Color = 16187392 Then ;The Decimal of 0XF70000
$Color = 0
Call("FIGHT")
Else
Send("{= 10}")
Call("movcamera")
EndIf
EndFunc ;==>CheckTarget


Func movcamera()
MouseMove(500, 400, 0)
MouseDown("right")
MouseMove(502, 400, 0)
MouseUp("right")
Send("{TAB}") ;Press TAB
Sleep(500)
Send("{= 10}")
Call("CheckTarget")
EndFunc ;==>movcamera

Func Terminate()
$MB_MsgBoxButtons = 5 ;What buttons that show in messagebox 5 = Retry and Cancel
$MB_Cancel = 2 ;What button is pressed to exit the script 2 = Cancel, If Cancel buton is pushed the script stops.
If MsgBox($MB_MsgBoxButtons, $title_b, "Retry or Cancel the bot?") == $MB_Cancel Then
Exit
EndIf
EndFunc ;==>Terminate

;~ Do not worry about anything below this line it is all that is needed already to read memory.
#region read/write memory
Func _MemoryOpen($iv_Pid, $iv_DesiredAccess = 0x1F0FFF, $if_InheritHandle = 1)

If Not ProcessExists($iv_Pid) Then
MsgBox(0, "value of lastaction", "3")
SetError(1)
Return 0
EndIf

Local $ah_Handle[2] = [DllOpen('kernel32.dll') ]
;~ Local $ah_Handle = DllOpen('kernel32.dll') -the brackets are because an array is being declared, no brackets neccessary if it was a standalone variable
;~ msgbox(0,"value of ah_Handle[2] is", $ah_Handle[1])
If @error Then
MsgBox(0, "value of lastaction", "error4")
SetError(2)
Return 0
EndIf
;~ msgbox(0,"value of ah_Handle[0] is", $ah_Handle[0]&"inherithandle"&$if_InheritHandle&"and the iv_pid"&$iv_Pid)
Local $av_OpenProcess = DllCall($ah_Handle[0], 'int', 'OpenProcess', 'int', $iv_DesiredAccess, 'int', $if_InheritHandle, 'int', $iv_Pid)
;~ Local $av_OpenProcess = DllCall('kernel32.dll', 'int', 'OpenProcess', 'int', 0x1F0FFF(all access), 'int', 1, 'int', 4084)
;~ msgbox(0,"value of $av_openprocess is", $av_OpenProcess[0]) ;1820
;~ msgbox(0,"value of iv_pid is", $iv_Pid) ; 4084
If @error Then
MsgBox(0, "value of lastaction", "error5")
DllClose($ah_Handle[0])
SetError(3)
Return 0
EndIf

$ah_Handle[1] = $av_OpenProcess[0]
;~ msgbox(0,"value of ah_Handle is", $ah_Handle)
Return $ah_Handle

EndFunc ;==>_MemoryOpen


Func _MemoryRead($ah_Handle, $iv_Address, $sv_Type = 'dword')

If Not IsArray($ah_Handle) Then
SetError(1)
MsgBox(0, "value of lastaction", "error1")
Return 0
EndIf

Local $v_Buffer = DllStructCreate($sv_Type)

If @error Then
MsgBox(0, "value of lastaction", "error2")
SetError(@error + 1)
Return 0
EndIf

;~ DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $iv_Address, 'int', $ah_Handle[1], 'int', DllStructGetSize($v_Buffer), 'int', '', 'ptr', DllStructGetPtr($v_Buffer))
DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
;~ msgbox(0,"value of ah_Handle[0],[1] is", $ah_Handle[0]&", "&$ah_Handle[1]);1,1788
If Not @error Then
Local $v_Value = DllStructGetData($v_Buffer, 1)
Return $v_Value
Else
SetError(6)
Return 0
EndIf

EndFunc ;==>_MemoryRead


Func _MemoryWrite($ah_Handle, $iv_Address, $v_Data, $sv_Type = 'dword')

If Not IsArray($ah_Handle) Then
SetError(1)
Return 0
EndIf

Local $v_Buffer = DllStructCreate($sv_Type)

If @error Then
SetError(@error + 1)
Return 0
Else
DllStructSetData($v_Buffer, 1, $v_Data)
If @error Then
SetError(6)
Return 0
EndIf
EndIf

DllCall($ah_Handle[0], 'int', 'WriteProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')

If Not @error Then
Return 1
Else
SetError(7)
Return 0
EndIf

EndFunc ;==>_MemoryWrite


Func _MemoryClose($ah_Handle)

If Not IsArray($ah_Handle) Then
SetError(1)
Return 0
EndIf

DllCall($ah_Handle[0], 'int', 'CloseHandle', 'int', $ah_Handle[1])
If Not @error Then
DllClose($ah_Handle[0])
Return 1
Else
DllClose($ah_Handle[0])
SetError(2)
Return 0
EndIf

EndFunc ;==>_MemoryClose

Func Readlast()
$M_open = _MemoryOpen($Process)
$lastaction = _MemoryRead($M_open, "0x" & $mem_lastaction)
$lastaction2 = _MemoryRead($M_open, "0x" & $mem_lastaction2)
_MemoryClose($M_open)
EndFunc ;==>ReadlastmoryRead($M_open, "0x" & $mem_lastaction2)
_MemoryClose($M_open)
EndFunc ;==>Readlast
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites