PHP Code:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <NomadMemory.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
$LC = "LastChaos -"
Opt("SendKeyDownDelay", 200) ;Erzwingt, dass jeder Tastendruck midestens 200 millisek lang ist
HotKeySet("{ESC}", "_esc")
#Region GUI
$Form1_1 = GUICreate("Hitchens Bot", 463, 329)
GUISetBkColor(0xB9D1EA)
$Tab1 = GUICtrlCreateTab(32, 8, 401, 305)
$TabSheet1 = GUICtrlCreateTabItem("Trainer")
$Angriffstempo = GUICtrlCreateCheckbox("Angriffsgeschwindigkeit", 45, 56, 145, 33)
$Geschwindigkeit = GUICtrlCreateCheckbox("Laufgeschwindigkeit", 45, 81, 153, 33)
$Input_AT = GUICtrlCreateInput("10", 198, 61, 57, 22, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$Input_GS = GUICtrlCreateInput("10", 198, 84, 57, 22, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$labelHP = GUICtrlCreateLabel("0 / 0", 45, 211, 162, 33)
$HPLeiste = GUICtrlCreateProgress(45, 226, 250, 15)
$progressHP = GUICtrlCreateProgress(45, 261, 250, 15)
$labelTG = GUICtrlCreateLabel("0 / 0", 45, 245, 162, 33)
$Eigene = GUICtrlCreateLabel("Eigene HP", 136, 211, 52, 18)
$Label9 = GUICtrlCreateLabel("Target HP", 136, 245, 51, 18)
$TabSheet2 = GUICtrlCreateTabItem("Bot")
$Checkbox1 = GUICtrlCreateCheckbox("F1 Angriff", 52, 95, 73, 33)
$Checkbox2 = GUICtrlCreateCheckbox("F2 Aufsammeln", 52, 127, 97, 33)
$tb_min = GUICtrlCreateInput("1", 146, 71, 49, 22, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$tb_max = GUICtrlCreateInput("200", 237, 71, 49, 22, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$bis = GUICtrlCreateLabel("bis", 208, 71, 18, 18)
$Monsterlevel = GUICtrlCreateLabel("Monsterlevel von", 52, 71, 86, 18)
$btn_Start = GUICtrlCreateButton("Start", 320, 56, 97, 33, $WS_GROUP)
$btn_Stop = GUICtrlCreateButton("Stop", 320, 95, 97, 33, $WS_GROUP)
GUICtrlSetState(-1, $GUI_DISABLE)
$TabSheet3 = GUICtrlCreateTabItem("Charakter/Pet")
$CBX_Heilen = GUICtrlCreateCheckbox("Heiltrank benutzen bei", 42, 58, 129, 33)
$CBX_Mana = GUICtrlCreateCheckbox("Manatrank benutzen bei", 42, 82, 137, 33)
$HP_Verloren = GUICtrlCreateInput("10", 182, 62, 57, 22, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$MP_Verloren = GUICtrlCreateInput("10", 182, 88, 57, 22, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$HPVerlust = GUICtrlCreateLabel("HP Verlust", 248, 62, 58, 18)
$MPVerlust = GUICtrlCreateLabel("MP Verlust", 248, 88, 56, 18)
$CBX_PetHP = GUICtrlCreateCheckbox("Pet Heilen bei", 42, 116, 137, 33)
$CBX_PetMP = GUICtrlCreateCheckbox("Pet Füttern bei", 42, 141, 137, 33)
$PetHP_verloren = GUICtrlCreateInput("10", 182, 124, 57, 22, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$Futter_verloren = GUICtrlCreateInput("10", 182, 147, 57, 22, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$PetHP = GUICtrlCreateLabel("HP Verlust", 248, 124, 55, 18)
$Futter = GUICtrlCreateLabel("Futter Verlust", 248, 149, 70, 18)
$CBX_Peteinpacken = GUICtrlCreateCheckbox("Pet einpacken bei", 42, 164, 137, 33)
$RestHP = GUICtrlCreateLabel("Rest HP", 248, 176, 42, 18)
$Rest_HP = GUICtrlCreateInput("10", 182, 170, 57, 22, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$F_Fuettern = GUICtrlCreateInput("12", 378, 147, 33, 22, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$Taste_F_4 = GUICtrlCreateLabel("Taste F", 321, 149, 40, 18)
$Taste_F_1 = GUICtrlCreateLabel("Taste F", 321, 62, 40, 18)
$Taste_F_2 = GUICtrlCreateLabel("Taste F", 321, 88, 40, 18)
$Taste_F_3 = GUICtrlCreateLabel("Taste F", 321, 124, 40, 18)
$Taste_F_5 = GUICtrlCreateLabel("Taste F", 321, 176, 40, 18)
$F_Heilen = GUICtrlCreateInput("12", 378, 62, 33, 22, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$F_Petheilen = GUICtrlCreateInput("12", 378, 124, 33, 22, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$F_Mana = GUICtrlCreateInput("12", 378, 88, 33, 22, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$F_einpacken = GUICtrlCreateInput("12", 378, 170, 33, 22, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$TabSheet4 = GUICtrlCreateTabItem("Thanks")
$Label1 = GUICtrlCreateLabel("Spezial Thanks to", 39, 63, 400, 28)
$Label2 = GUICtrlCreateLabel("KillerDeluxe,", 40, 119, 400, 31)
$Label3 = GUICtrlCreateLabel("Endtothenight,", 40, 146, 189, 31)
$Label4 = GUICtrlCreateLabel("OldLucieN und", 40, 173, 400, 31)
$Label5 = GUICtrlCreateLabel("huberhans", 39, 199, 400, 31)
$Label6 = GUICtrlCreateLabel("für ihre tatkräftige Unterstützung", 39, 223, 400, 27)
$TabSheet5 = GUICtrlCreateTabItem("Info")
$Label7 = GUICtrlCreateLabel("Diese GUI ist erst einmal rein spartanisch", 40, 82, 368, 93)
GUICtrlSetFont(-1, 14, 800, 0, "Cambria Math")
GUICtrlCreateTabItem("")
For $Font = $Label1 To $Label6
GUICtrlSetFont($Font, 16, 800, 2, "Comic Sans MS")
Next
GUISetState(@SW_SHOW)
#EndRegion GUI
Global $iv_Address = 0x10640528 ;_pnetwork
Global $av_OffsetHPCur[2] = [0, 0x1076E8]
Global $av_OffsetHPMax[2] = [0, 0x1076EC]
Global $av_OffsetHP[2] = [0, 0x107324]
Global $av_OffsetHPM[2] = [0, 0x107320]
Global $av_OffsetMobLVL[2] = [0, 0x107328]
Global $av_OffsetAT[5] = [0, 0x1C, 0x10, 0x4, 0xDDC]
Global $av_OffsetGS[5] = [0, 0x1C, 0x10, 0x4, 0xDD4]
Global $sv_Type4 = "dword"
Global $sv_TypeF = "float"
Global $iv_Pid = WinGetProcess($LC)
Global $ah_Handle = _MemoryOpen($iv_Pid)
Global $HPCur, $HPMax, $Moblvl, $Bot
Global $Off_Trank_Aktiv[2] = [0, 0x107829]
While True
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $btn_Start
If GUICtrlRead($Checkbox1) = $GUI_UNCHECKED Then
MsgBox(48, "Fehler", "Wähle erst F1 zum angreifen aus!")
Else
GUICtrlSetState($btn_Stop, $GUI_ENABLE)
GUICtrlSetState($Checkbox1, $GUI_DISABLE)
GUICtrlSetState($btn_Start, $GUI_DISABLE)
$Bot = True
EndIf
Case $btn_Stop
GUICtrlSetState($Checkbox1, $GUI_ENABLE)
GUICtrlSetState($btn_Start, $GUI_ENABLE)
GUICtrlSetState($btn_Stop, $GUI_DISABLE)
$Bot = False
EndSwitch
If WinExists($LC) Then
If $Bot Then Bot()
Hacks()
HPLabel()
HPTarget()
Heilen()
Else
MsgBox(48, "Fehler", "Starte zuerst LastChaos!")
Exit
EndIf
WEnd
Func Hacks()
$v_DataAT = GUICtrlRead($Input_AT)
$v_DataGS = GUICtrlRead($Input_GS)
If GUICtrlRead($Angriffstempo) = $GUI_CHECKED Then
_MemoryPointerWrite($iv_Address, $ah_Handle, $av_OffsetAT, $v_DataAT, $sv_Type4)
EndIf
If GUICtrlRead($Geschwindigkeit) = $GUI_CHECKED Then
_MemoryPointerWrite($iv_Address, $ah_Handle, $av_OffsetGS, $v_DataGS, $sv_TypeF)
EndIf
EndFunc ;==>Hacks
Func HPLabel()
$HPCur = _MemoryPointerRead($iv_Address, $ah_Handle, $av_OffsetHPCur, $sv_Type4)
$HPMax = _MemoryPointerRead($iv_Address, $ah_Handle, $av_OffsetHPMax, $sv_Type4)
$label = $HPCur[1] & " / " & $HPMax[1]
If GUICtrlRead($labelHP) <> $label Then GUICtrlSetData($labelHP, $label)
GUICtrlSetData($HPLeiste, $HPCur[1] * 100 / $HPMax[1])
EndFunc ;==>HPLabel
Func HPTarget()
$HP = _MemoryPointerRead($iv_Address, $ah_Handle, $av_OffsetHP, $sv_TypeF)
$HPM = _MemoryPointerRead($iv_Address, $ah_Handle, $av_OffsetHPM, $sv_TypeF)
$label = $HP[1] & " / " & $HPM[1]
$progress = $HP[1] * 100 / $HPM[1]
If GUICtrlRead($labelTG) <> $label Then GUICtrlSetData($labelTG, $label)
GUICtrlSetData($progressHP, $progress)
EndFunc ;==>HPTarget
Func Bot()
$Moblvl = _MemoryPointerRead($iv_Address, $ah_Handle, $av_OffsetMobLVL, $sv_Type4)
If $Moblvl[1] >= GUICtrlRead($tb_min) And $Moblvl[1] <= GUICtrlRead($tb_max) Then
If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then ControlSend($LC, "", "", "{F1}")
Sleep(100)
If GUICtrlRead($Checkbox2) = $GUI_CHECKED Then ControlSend($LC, "", "", "{F2}")
Else
ControlSend($LC, "", "", "{TAB}")
EndIf
EndFunc ;==>Bot
Func _esc()
Exit
EndFunc ;==>_ESC
Func Heilen()
$Trank_aktiv = _MemoryPointerRead($iv_Address, $ah_Handle, $Off_Trank_Aktiv)
If $Trank_aktiv[1] = 2 Or $Trank_aktiv[1] = 6 Then
$HP_Pot = True
Else
$HP_Pot = False
EndIf
If GUICtrlRead($CBX_Heilen) = $GUI_CHECKED AND $HPCur[1] < $HPMax - GUICtrlRead($HP_Verloren) And $HP_Pot = False Then
ControlSend($LC, "", "", "!{1}") ; Mußt mal probieren ob mit {} oder ohne
ControlSend($LC, "", "", "{"& GUICtrlRead($F_Heilen) &"}")
EndIf
EndFunc