Если кому надо бета(полная версия ушла куда уж подальше) версия бота для игры Фантазиум .....В данный момент полностью рабочий(хз скока еще останется потому что оффсеты меняют с каждым обновлением) ...работает в неактивном окне и тд и тп
Тестировался только на ОС Windows 7 64x
В настройках надо проставить выделение себя на F1
Лопата F12
PS Люди помогите победить рекурсию !!! :wacko:
Тестировался только на ОС Windows 7 64x
В настройках надо проставить выделение себя на F1
Лопата F12
Код:
#include <nomadmemory.au3>
#Include <HotKey.au3>
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt('SendKeyDelay', 100)
Opt('SendKeyDownDelay', 50)
Opt("GUIOnEventMode", 1)
Opt("SendAttachMode", 1)
Opt("SendCapslockMode", 0)
TrayTip("Фармить готов!",0,0)
Global $ProcessName = "Фантазиум (RU)"
Global $ProcessID = WinGetProcess($ProcessName,"")
Global $hWnd = WinGetHandle("Фантазиум (RU)", "")
Global $DllInformation = _MemoryOpen($ProcessID)
SetPrivilege("SeDebugPrivilege", 1)
Global $HP = 0x0108BBA8 ; жизнь изменение
Global $OffsetMHP = 0x00DE392C ; моб жизнь
Global $OffsetMxHP = 0x00DE38E4 ; макс хп
Global $OffsetMP = 0x00DE38E4 ; изменение манна
Global $OffsetXP = 0x0108BDE0 ; опыт
Global $NameMob = 0x1481222C
Global $NameLoot = 0x00DE1E50
Global $Paused
Global $CurHPforBaff
Global $Proverka
Global $Current1
Global $Current
Global $MbXP1
Global $MbXP
Global $MbHP1
Global $MbHP
Global $MobHP
Global $Paused
HotKeySet("{DELETE}", "BOT_STOP")
HotKeySet("{HOME}", "BOT_START2")
HotKeySet("{END}", "CLOSE_PROGRAM") ;Shift-Alt-d
;_HotKeyAssign($VK_DELETE, 'BOT_STOP')
;_HotKeyAssign($VK_HOME, 'BOT_START2')
;_HotKeyAssign($VK_END, 'CLOSE_PROGRAM')
Global $CurrentXP = (_MemoryRead($OffsetXP, $DllInformation, 'ptr'))
Global $XP = $CurrentXP + 608
Global $CurrentmMP = (_MemoryRead($OffsetMP, $DllInformation, 'ptr'))
Global $MMP = $CurrentmMP + 614
Global $CurrentmHP = (_MemoryRead($OffsetMHP, $DllInformation, 'ptr'))
Global $MHP = $CurrentmHP + 610
Global $CurrentMaxHP = (_MemoryRead($OffsetMxHP, $DllInformation, 'ptr'))
Global $MxHP = $CurrentMaxHP + 604
Global $botting
#Region ### START Koda GUI section ### Form=C:\Users\Harakiri\Desktop\koda\Forms\Form1.kxf
$Form1 = GUICreate("Фармер v0.1", 220, 443, 588, 320)
$Button1 = GUICtrlCreateButton("Ботить", 32, 16, 153, 49)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Button2 = GUICtrlCreateButton("Копать", 32, 72, 153, 49)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Button4 = GUICtrlCreateButton("Сваливаем", 32, 128, 153, 57)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Combo1 = GUICtrlCreateCombo("", 24, 240, 57, 25)
GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|-|=")
$Label1 = GUICtrlCreateLabel("АтакА", 24, 208, 57, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Combo2 = GUICtrlCreateCombo("", 24, 272, 57, 25)
GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|-|=")
$Combo3 = GUICtrlCreateCombo("", 24, 304, 57, 25)
GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|-|=")
$Combo4 = GUICtrlCreateCombo("", 24, 336, 57, 25)
$Label2 = GUICtrlCreateLabel("БаффЫ", 120, 208, 72, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Combo5 = GUICtrlCreateCombo("", 128, 240, 57, 25)
GUICtrlSetData(-1, "{F1}|{F2}|{F3}|{F4}|{F5}|{F6}|{F7}|{F8}|{F9}|{F10}")
$Combo6 = GUICtrlCreateCombo("", 128, 272, 57, 25)
GUICtrlSetData(-1, "{F1}|{F2}|{F3}|{F4}|{F5}|{F6}|{F7}|{F8}|{F9}|{F10}")
$Label3 = GUICtrlCreateLabel("БутылкИ", 120, 336, 69, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Combo7 = GUICtrlCreateCombo("", 128, 304, 57, 25)
GUICtrlSetData(-1, "{F1}|{F2}|{F3}|{F4}|{F5}|{F6}|{F7}|{F8}|{F9}|{F10}")
$Combo8 = GUICtrlCreateCombo("", 176, 360, 41, 25)
GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|-|=")
$Combo9 = GUICtrlCreateCombo("", 176, 392, 41, 25)
GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|-|=")
$InisH = GUICtrlCreateLabel("HP", 136, 360, 21, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$InisM = GUICtrlCreateLabel("MP", 136, 392, 22, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Label4 = GUICtrlCreateLabel("ПодбоР", 24, 376, 61, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Combo10 = GUICtrlCreateCombo("", 32, 408, 49, 25)
GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|-|=")
$Combo11 = GUICtrlCreateCombo("", 128, 416, 57, 25)
GUICtrlSetData(-1, "{INSERT}|{SPACE}")
GUISetState(@SW_SHOW)
Dim $Form1_AccelTable[2][2] = [["{F12}", $Button2],["{F11}", $Button4]]
GUISetAccelerators($Form1_AccelTable)
#EndRegion ### END Koda GUI section ###
GUICtrlSetOnEvent($Button4, "CLOSE_PROGRAM")
GUICtrlSetOnEvent($Button1, "BOT_START")
GUICtrlSetOnEvent($Button2, "Kopat")
While 1
Sleep(10)
If $botting = 1 Then ;Если бот включен
Func target()
If $botting = 1 Then ;Если бот включен
Local $i = 0
Opt('SendKeyDelay', 200)
Opt('SendKeyDownDelay', 100)
;;;;;;;;;;;; ;жизнь
$MaxHP = (_MemoryRead($MxHP, $DllInformation, 'ptr'))
$MaxHP = dec(StringTrimLeft($MaxHP, 14))
$CurrentHP = (_MemoryRead($HP, $DllInformation, 'ptr'))
$CurrentHP = dec(StringTrimLeft($CurrentHP, 10))
;;;;;;;;;;;;;;;;;;;;манна
$CurrentMP = (_MemoryRead($MMP, $DllInformation, 'ptr'))
$CurrentMP = dec(StringTrimLeft($CurrentMP, 14))
Sleep (400)
Global $PolHP = $MaxHP / 1.3
;;;;;;;;; proverka
if $CurrentHP < $PolHP Then
;ControlSend($hWnd, "", "","{F1}")
sleep (200)
ControlSend($hWnd, "", "", $Combo8)
;sleep (1000)
;ControlSend($hWnd, "", "","{TAB}")
EndIf
if $CurrentMP < 50 Then
ControlSend($hWnd, "", "", $Combo9)
sleep (500)
EndIf
Global $dif = TimerDiff($begin)
Global $DirRevers = ((10 * 60000)-$dif)/1000
TrayTip("ребаф через секунд",$DirRevers , 0)
If $CurrentHP >= $CurHPforBaff And $dif > 10 * 60000 Then
baff ()
EndIf
;;;;;;;;;; celi
Do
If $botting = 1 Then ;Если бот включен
sleep (200)
ControlSend($hWnd, "", "", "{TAB}")
sleep (400)
$MobHP = (_MemoryRead($MHP, $DllInformation, 'ptr'))
$MobHP = dec(StringTrimLeft($MobHP, 10))
EndIf
Until $MobHP > $MbHP1
;;;;;;;;имя жертвы
$CurrentNameMob = _MemoryRead($NameMob, $DllInformation, 'char[40]')
TrayTip("Жертва",$CurrentNameMob, 0)
;;;;;;;;
$Current = (_MemoryRead($MHP, $DllInformation, 'ptr'))
$Current1 = dec(StringTrimLeft($Current , 10))
While $MobHP = $Current1
If $botting = 1 Then ;Если бот включен
If $i > 10 Then
target ()
EndIf
ControlSend($hWnd, "", "", $Combo1)
sleep (100)
$Current = (_MemoryRead($MHP, $DllInformation, 'ptr'))
$Current1 = dec(StringTrimLeft($Current , 10))
$i = $i + 1
EndIf
WEnd
ataka()
EndIf
EndFunc
Func ataka()
If $botting = 1 Then ;Если бот включен
Local $n = 0
Opt('SendKeyDelay', 100)
Opt('SendKeyDownDelay', 50)
$CurrentNameMob = _MemoryRead($NameMob, $DllInformation, 'char[40]')
$MobXP1 = (_MemoryRead($XP, $DllInformation, 'ptr'))
$MbXP1 = dec(StringTrimLeft($MobXP1, 10))
$MobXP = (_MemoryRead($XP, $DllInformation, 'ptr'))
$MbXP = dec(StringTrimLeft($MobXP, 10))
While $MbXP1 = $MbXP
TrayTip("атакуем",$CurrentNameMob, 0)
;;;;;;;;;;;; ;жизнь
$MaxHP = (_MemoryRead($MxHP, $DllInformation, 'ptr'))
$MaxHP = dec(StringTrimLeft($MaxHP, 14))
$CurrentHP = (_MemoryRead($HP, $DllInformation, 'ptr'))
$CurrentHP = dec(StringTrimLeft($CurrentHP, 10))
Global $PolHP = $MaxHP / 1.3
;;;;;;;;; proverka
if $CurrentHP < $PolHP Then
;ControlSend($hWnd, "", "","{F1}")
;sleep (200)
ControlSend($hWnd, "", "", $Combo8)
sleep (300)
EndIf
If $n > 15 Then
target ()
EndIf
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
If $botting = 1 Then
$CurHPforBaff = (_MemoryRead($HP, $DllInformation, 'ptr'))
$CurHPforBaff = dec(StringTrimLeft($CurrentHP, 10))
ControlSend($hWnd, "", "", $Combo11)
sleep (100)
ControlSend($hWnd, "", "", $Combo2)
Sleep (300)
ControlSend($hWnd, "", "", $Combo1)
Sleep (300)
ControlSend($hWnd, "", "", $Combo3)
Sleep (300)
ControlSend($hWnd, "", "", $Combo4)
Sleep (300)
EndIf
;;;;;;;;;;;;;;;;;проверка мп
$CurrentMP = (_MemoryRead($MMP, $DllInformation, 'ptr'))
$CurrentMP = dec(StringTrimLeft($CurrentMP, 14))
if $CurrentMP < 50 Then
ControlSend($hWnd, "", "", $Combo9)
sleep (100)
EndIf
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$MobXP = (_MemoryRead($XP, $DllInformation, 'ptr'))
$MbXP = dec(StringTrimLeft($MobXP, 10))
$n = $n + 1
WEnd
loot ()
EndIf
EndFunc
Func loot()
If $botting = 1 Then ;Если бот включен
Opt('SendKeyDelay', 250)
Opt('SendKeyDownDelay', 100)
ControlSend($hWnd, "", "", $Combo10)
sleep (300)
ControlSend($hWnd, "", "", $Combo10)
$CurrentNameLoot = _MemoryRead( $NameLoot, $DllInformation, 'char[100]')
TrayTip("подбираем",$CurrentNameLoot,0)
sleep (300)
ControlSend($hWnd, "", "", $Combo10)
$CurrentNameLoot = _MemoryRead( $NameLoot, $DllInformation, 'char[100]')
TrayTip("подбираем",$CurrentNameLoot,0)
sleep (300)
target()
EndIf
EndFunc
Func baff ()
If $botting = 1 Then ;Если бот включен
Opt('SendKeyDelay', 250)
Opt('SendKeyDownDelay', 100)
TrayTip("Бафаемся",0, 0)
Global $begin = TimerInit()
sleep (100)
ControlSend($hWnd, "", "", "{F1}")
sleep (100)
ControlSend($hWnd, "", "", $Combo8)
Sleep (3000)
ControlSend($hWnd, "", "", $Combo5)
sleep (3000)
ControlSend($hWnd, "", "", $Combo6)
sleep (3000)
ControlSend($hWnd, "", "", $Combo7)
sleep (3000)
EndIf
target ()
EndFunc
EndIf
Wend
Func Kopat ()
$Combo10 = GUICtrlRead($Combo10)
$botting = 1
While 1
If $botting = 1 Then
ControlSend($hWnd, "", "", "{F10}")
sleep (3000)
ControlSend($hWnd, "", "", $Combo10)
Sleep (100)
EndIf
Wend
EndFunc
;func regen()
; sleep (1000)
; ControlSend($hWnd, "", "", "9")
; sleep (1000)
; Do
; $DllInformation = _MemoryOpen($ProcessID)
; $CurrentHP = (_MemoryRead($HP, $DllInformation, 'ptr'))
; $CurrentHP = dec(StringTrimLeft($CurrentHP, 10))
; $hp1 = $CurrentHP
;$DllInformation = _MemoryClose($ProcessID)
; TrayTip("Хилимся",$hp1,0)
;
;sleep (1000)
;$DllInformation = _MemoryOpen($ProcessID)
; $MaxHP = (_MemoryRead($MxHP, $DllInformation, 'ptr'))
;
; $MaxHP = dec(StringTrimLeft($MaxHP, 10))
; $hp2 = $MaxHP
;$DllInformation = _MemoryClose($ProcessID)
;TrayTip("Хилимся",$hp2,0)
;sleep (2000)
;Until $hp1 = $hp2
;target()
;EndFunc
Func CLOSE_PROGRAM()
TrayTip("Нееет!не убивай меня",0,0)
Exit
EndFunc
Func BOT_START()
TrayTip("Понеслась...", 0, 0) ;Включить надпись
$botting = 1 ;Включить бота
$Combo1 = GUICtrlRead($Combo1)
$Combo2 = GUICtrlRead($Combo2)
$Combo3 = GUICtrlRead($Combo3)
$Combo5 = GUICtrlRead($Combo5)
$Combo6 = GUICtrlRead($Combo6)
$Combo7 = GUICtrlRead($Combo7)
$Combo8 = GUICtrlRead($Combo8)
$Combo9 = GUICtrlRead($Combo9)
$Combo10 = GUICtrlRead($Combo10)
$Combo11 = GUICtrlRead($Combo11)
baff()
EndFunc
Func BOT_STOP()
TrayTip("Стоять зорька!",0,0) ;Выключить надпись
$botting = 0 ;Выключить бота
EndFunc
Func BOT_START2()
TrayTip("Понеслась...", 0, 0) ;Включить надпись
$botting = 1
Target()
EndFunc
PS Люди помогите победить рекурсию !!! :wacko: