 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
Walleeto How do I cheat?
Reputation: 0
Joined: 22 Jan 2011 Posts: 9 Location: Costa Rica
|
Posted: Sun Jan 23, 2011 1:10 am Post subject: [Request] Bot |
|
|
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 |
|
 |
Fantasy I post too much
Reputation: 13
Joined: 29 Jul 2007 Posts: 3113
|
Posted: Sun Jan 23, 2011 1:10 pm Post subject: |
|
|
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 |
|
 |
Walleeto How do I cheat?
Reputation: 0
Joined: 22 Jan 2011 Posts: 9 Location: Costa Rica
|
Posted: Sun Jan 23, 2011 2:26 pm Post subject: |
|
|
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 |
|
 |
KryziK Expert Cheater
Reputation: 3
Joined: 16 Aug 2009 Posts: 199
|
Posted: Sun Jan 23, 2011 4:29 pm Post subject: |
|
|
| AutoIt is very good for creating bots and macros. It also DOES work on Windows 7 (x32 AND x64).
|
|
| Back to top |
|
 |
Walleeto How do I cheat?
Reputation: 0
Joined: 22 Jan 2011 Posts: 9 Location: Costa Rica
|
Posted: Sun Jan 23, 2011 7:22 pm Post subject: |
|
|
how do u use it? its too confusing!!
_________________
I only play 1 game, Luminary: Rise of the Goonzu. |
|
| Back to top |
|
 |
KryziK Expert Cheater
Reputation: 3
Joined: 16 Aug 2009 Posts: 199
|
Posted: Sun Jan 23, 2011 7:28 pm Post subject: |
|
|
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 |
|
 |
ThatGuyAgain Expert Cheater
Reputation: 2
Joined: 24 Jun 2009 Posts: 222 Location: Playing Assault Cube.
|
Posted: Sun Jan 23, 2011 7:30 pm Post subject: |
|
|
| walleeto wrote: | | how do u use it? its too confusing!! |
Search up some tutorial on YouTube and see if that helps.
_________________
|
|
| Back to top |
|
 |
407 Master Cheater
Reputation: 0
Joined: 25 Oct 2007 Posts: 357
|
Posted: Sun Jan 23, 2011 8:32 pm Post subject: |
|
|
Search 403forbidden on youtube.
If you donno how to AutoIT C/C++ will be hard..
|
|
| Back to top |
|
 |
Walleeto How do I cheat?
Reputation: 0
Joined: 22 Jan 2011 Posts: 9 Location: Costa Rica
|
Posted: Sun Jan 23, 2011 9:11 pm Post subject: |
|
|
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 |
|
 |
Fantasy I post too much
Reputation: 13
Joined: 29 Jul 2007 Posts: 3113
|
Posted: Mon Jan 24, 2011 1:55 am Post subject: |
|
|
| 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 |
|
 |
|
|
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
|
|