|
You last visited: Today at 06:19
Advertisement
Does KalExenia still have a virus?
Discussion on Does KalExenia still have a virus? within the Kal Online forum part of the MMORPGs category.
03/01/2011, 23:47
|
#1
|
elite*gold: 0
Join Date: Aug 2010
Posts: 99
Received Thanks: 6
|
Does KalExenia still have a virus?
Does kalexenia still have a virus in there files or is it fixed now or how can i fix? Please post fast getting bored of s1 now wana play a private server just no good ones.
|
|
|
03/02/2011, 00:54
|
#2
|
elite*gold: 0
Join Date: Feb 2011
Posts: 224
Received Thanks: 35
|
probebly they added it somewhere else.
|
|
|
03/02/2011, 01:04
|
#3
|
elite*gold: 0
Join Date: Dec 2010
Posts: 1,196
Received Thanks: 682
|
why do you still want to play this server, if they add malware to they client?
|
|
|
03/02/2011, 01:12
|
#4
|
elite*gold: 0
Join Date: Aug 2010
Posts: 99
Received Thanks: 6
|
Dont feel like playing int and nothing els to do
|
|
|
03/02/2011, 01:41
|
#5
|
elite*gold: 0
Join Date: Dec 2010
Posts: 1,196
Received Thanks: 682
|
and there is only 1 p-server
|
|
|
03/02/2011, 02:22
|
#6
|
elite*gold: 0
Join Date: Aug 2010
Posts: 99
Received Thanks: 6
|
Get me a working bot on int timo  i can pay you
|
|
|
03/02/2011, 16:14
|
#7
|
elite*gold: 0
Join Date: Feb 2008
Posts: 90
Received Thanks: 19
|
get a brain and make it yourself
if you pay for it you wont learn anything
|
|
|
03/02/2011, 23:38
|
#8
|
elite*gold: 0
Join Date: Aug 2010
Posts: 99
Received Thanks: 6
|
Hush the lip i did not ask you the question. Therefor STFU. Thanks.
|
|
|
03/02/2011, 23:56
|
#9
|
elite*gold: 0
Join Date: Dec 2010
Posts: 1,196
Received Thanks: 682
|
here ist the source code.
this code is more than one year old and today i would do many things different.
you have to change it a bit to make it work again
#RequireAdmin
#include <NomadMemory.au3>
#include <GUIConstantsEx.au3>
#include<string.au3>
#include<sendmessage.au3>
#include "C:\Users\Timo\Documents\auto it\kal\kalbot\includes\_behead.au3"
Global $P, $F, $ch, $cm, $cmh, $b, $pick, $mo, $n, $speed, $hoehe, $f1, $merchant, $Ispeed, $Open, $ur, $off[3], $was[3], $add[5], $sta[4], $count, $mm, $hm, $pot,$LEvent
HotKeySet("{F6}", "_Funktion")
SetPrivilege("SeDebugPrivilege", 1)
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Warten", 156, 55, 264, 195)
$Label1 = GUICtrlCreateLabel("Warte bis Kal gestartet wird", 8, 16, 133, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While Not ProcessExists("engine.exe")
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
Sleep(20)
WEnd
Const $c = @DesktopHeight
Const $a = @DesktopWidth
Const $handle = ControlGetHandle("KalOnline", "", "")
;.ini einträge
$s = IniRead("config.ini", "KalBot", "Splash", "0")
$my = IniRead("config.ini", "KalBot", "BlowUp", "0")
$m = IniRead("config.ini", "KalBot", "Mana", "0")
$h = IniRead("config.ini", "KalBot", "Health", "0")
$b = IniRead("config.ini", "KalBot", "Bewegen", "0")
$P = IniRead("config.ini", "KalBot", "Picken", "0")
$mm = IniRead("config.ini", "KalBot", "ManaMeds", "300")
$hm = IniRead("config.ini", "KalBot", "HealthMeds", "300")
$pot = IniRead("config.ini", "KalBot", "Potten", "Pixel")
$ur = IniRead("config.ini", "Memory", "Pointer Addresse", "0x006F3840")
$off[0] = IniRead("config.ini", "Memory", "Speed Offset", "0x4B14")
$off[1] = IniRead("config.ini", "Memory", "Höhe Offset", "0x4640")
$off[2] = IniRead("config.ini", "Memory", "Health Offset", "0x46AC")
$add[0] = IniRead("config.ini", "Memory", "F1 Addresse", "0x006A2EBC")
$add[1] = IniRead("config.ini", "Memory", "Health Addresse", "0x0070EB34")
$add[2] = IniRead("config.ini", "Memory", "Max Mana Addresse", "0x0070EB38")
$add[3] = IniRead("config.ini", "Memory", "Mana Addresse", "0x0070EB30")
$add[4] = IniRead("config.ini", "Memory", "Target Addresse", "0x0070ED88")
;pointer
$Open = _memoryopen(ProcessExists("engine.exe"))
For $i = 0 To 2
$Point = _memoryread($ur, $Open, 'dword')
$30 = "0x" & Hex($Point + $off[$i])
$was[$i] = _MemoryRead($30, $Open, 'dword')
Next
$sta[0] = _MemoryRead(0x006A2EBC, $Open, 'char[7]')
For $i = 1 To 3
$sta[$i] = _MemoryRead($add[$i], $Open, 'dword')
Next
GUISetState(@SW_HIDE)
#include "C:\Users\Timo\Documents\auto it\kal\kalbot\includes\Gui.au3"
#include "C:\Users\Timo\Documents\auto it\kal\kalbot\includes\optionen.au3"
#include "C:\Users\Timo\Documents\auto it\kal\kalbot\includes\tut.au3"
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE ;exit + registry
If $CBewegen And BitAND(GUICtrlRead($CBewegen), $GUI_CHECKED) = $GUI_CHECKED Then
$b = 1
Else
$b = 0
EndIf
If $CPick And BitAND(GUICtrlRead($CPick), $GUI_CHECKED) = $GUI_CHECKED Then
$P = 1
Else
$P = 0
EndIf
$s = GUICtrlRead($ISplash)
$m = GUICtrlRead($IMana)
$h = GUICtrlRead($IHealth)
$my = GUICtrlRead($IMysterious)
IniWrite("config.ini", "KalBot", "Splash", $s)
IniWrite("config.ini", "KalBot", "BlowUp", $my)
IniWrite("config.ini", "KalBot", "Mana", $m)
IniWrite("config.ini", "KalBot", "Health", $h)
IniWrite("config.ini", "KalBot", "Bewegen", $b)
IniWrite("config.ini", "KalBot", "Picken", $P)
IniWrite("config.ini", "Memory", "Target Addresse", $add[4])
$Close = _memoryclose(ProcessExists("engine.exe"))
Exit
Case $msg = $LTut
_Tut()
Case $msg = $BSetup
_Setup()
Case $msg = $LUG
$Point = _memoryread(0x006F3840, $Open, 'dword')
$30 = "0x" & Hex($Point + 0x4640)
$hoehe = _MemoryWrite($30, $Open, GUICtrlRead($IHoehe) + 2000, 'dword')
Case $msg = $Lzurueck
$Point = _memoryread(0x006F3840, $Open, 'dword')
$30 = "0x" & Hex($Point + 0x4640)
$hoehe = _MemoryWrite($30, $Open, GUICtrlRead($IHoehe) - 2000, 'dword')
Case $msg = $Loptionen
_optionen()
EndSelect
If $Cspeed And BitAND(GUICtrlRead($Cspeed), $GUI_CHECKED) = $GUI_CHECKED Then
$Point = _memoryread($ur, $Open, 'dword')
$30 = "0x" & Hex($Point + $off[0])
$speed = _MemoryWrite($30, $Open, GUICtrlRead($Ispeed), 'dword')
Else
$Point = _memoryread($ur, $Open, 'dword')
$30 = "0x" & Hex($Point + $off[0])
$was[0] = _MemoryRead($30, $Open, 'dword')
EndIf
$Point = _memoryread($ur, $Open, 'dword')
$30 = "0x" & Hex($Point + $off[1])
$was[1] = _MemoryRead($30, $Open, 'dword')
GUICtrlSetData($IHoehe, $was[1])
For $i = 0 To 3
$sta[$i] = _MemoryRead($add[$i], $Open, 'char[7]')
Next
If _IsFocused($Form1_1, $Ispeed) Then
GUICtrlSetState($Cspeed, $GUI_CHECKED)
ElseIf $Cspeed And BitAND(GUICtrlRead($Cspeed), $GUI_CHECKED) <> $GUI_CHECKED Then
GUICtrlSetData($Ispeed, $was[0])
EndIf
Sleep(20)
WEnd
Func _Setup()
If $RSplash And BitAND(GUICtrlRead($RSplash), $GUI_CHECKED) = $GUI_CHECKED Then
$F = "_splash"
$s = GUICtrlRead($ISplash)
$m = GUICtrlRead($IMana)
$h = GUICtrlRead($IHealth)
ElseIf $RFocus And BitAND(GUICtrlRead($RFocus), $GUI_CHECKED) = $GUI_CHECKED Then
If $CBewegen And BitAND(GUICtrlRead($CBewegen), $GUI_CHECKED) = $GUI_CHECKED Then
$b = 1
Else
$b = 0
EndIf
If $CPick And BitAND(GUICtrlRead($CPick), $GUI_CHECKED) = $GUI_CHECKED Then
$P = 1
Else
$P = 0
EndIf
$F = "_attack"
$mo = "right"
$n = 1
$my = GUICtrlRead($IMysterious)
$m = GUICtrlRead($IMana)
$h = GUICtrlRead($IHealth)
ElseIf $RAuto And BitAND(GUICtrlRead($RAuto), $GUI_CHECKED) = $GUI_CHECKED Then
If $CBewegen And BitAND(GUICtrlRead($CBewegen), $GUI_CHECKED) = $GUI_CHECKED Then
$b = 1
Else
$b = 0
EndIf
If $CPick And BitAND(GUICtrlRead($CPick), $GUI_CHECKED) = $GUI_CHECKED Then
$P = 1
Else
$P = 0
EndIf
$F = "_attack"
$mo = "left"
$m = GUICtrlRead($IMana)
$h = GUICtrlRead($IHealth)
ElseIf $RPicken And BitAND(GUICtrlRead($RPicken), $GUI_CHECKED) = $GUI_CHECKED Then
$F = "_picken"
$m = GUICtrlRead($IMana)
$h = GUICtrlRead($IHealth)
ElseIf $RPot And BitAND(GUICtrlRead($RPot), $GUI_CHECKED) = $GUI_CHECKED Then
$F = "_pot"
$m = GUICtrlRead($IMana)
$h = GUICtrlRead($IHealth)
EndIf
If $Cspeed And BitAND(GUICtrlRead($Cspeed), $GUI_CHECKED) = $GUI_CHECKED Then
$Point = _memoryread(0x006F3840, $Open, 'dword')
$30 = "0x" & Hex($Point + 0x4B14)
$speed = _MemoryWrite($30, $Open, GUICtrlRead($Ispeed), 'dword')
EndIf
If $Cf1 And BitAND(GUICtrlRead($Cf1), $GUI_CHECKED) = $GUI_CHECKED Then
$adresse = 0x006A2EBC
$f1 = _MemoryWrite($adresse, $Open, GUICtrlRead($IF1), 'char[7]')
EndIf
EndFunc ;==>_Setup
Func _Funktion()
HotKeySet("{F6}", "_Terminate")
GUISetState(@SW_Hide,$Form1_1)
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Bot Active", 204, 15, 0, 0,0x80000000)
$Label1 = GUICtrlCreateLabel("Event:", 0, 0, 35, 15)
$LEvent = GUICtrlCreateLabel("Initialisiere Bot", 35, 0, 79, 15)
$Label3 = GUICtrlCreateLabel("Kills: ", 128, 0, 28, 15)
$LKills = GUICtrlCreateLabel("0", 155, 0, 42, 15)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Call($F)
EndFunc ;==>_Funktion
Func _pot()
GUICtrlSetData($LEvent,"Potten")
$P = 1
If $pot = "Memory" Then
For $i = 1 To 2 ;mana + hp max
$sta[$i] = _MemoryRead($add[$i], $Open, 'dword')
Next
Else
$ch = PixelSearch(0, 0, 300, 150, 0xAA1122)
$cm = PixelSearch(0, 0, 300, 150, 0x224499)
EndIf
While $P = 1
Call("_pot1")
WEnd
EndFunc ;==>_pot
Func _pot1()
Opt("SendKeyDownDelay", 1)
Sleep(100)
If $pot = "Memory" Then
$Point = _memoryread($ur, $Open, 'dword')
$30 = "0x" & Hex($Point + $off[2])
$was[2] = _MemoryRead($30, $Open, 'dword')
$sta[3] = _MemoryRead($add[3], $Open, 'dword')
If $was[2] = 0 Then ;Leben = 0
_tod()
ElseIf $sta[1] - $was[2] >= $sta[1] * 0.8 Then ;kritische Leben (20%)
_ssend($handle, $h)
ElseIf $sta[2] - $sta[3] >= $mm Or $sta[3] <= 60 Then ;Mana
_ssend($handle, $m)
ElseIf $sta[1] - $was[2] >= $hm Then ;Health
_ssend($handle, $h)
EndIf
Else
If PixelGetColor($ch[0], $ch[1]) <> Dec("AA1122") Then
_tod()
ElseIf PixelGetColor($ch[0] + 24, $ch[1]) <> Dec("AA1122") Then
_ssend($handle, $h)
ElseIf PixelGetColor($ch[0] + 100, $ch[1]) <> Dec("AA1122") Then
_ssend($handle, $h)
ElseIf PixelGetColor($cm[1] + 80, $cm[1]) <> Dec("224499") Then
_ssend($handle, $m)
EndIf
EndIf
EndFunc ;==>_pot1
Func _splash()
GUICtrlSetData($LEvent,"Splash")
$P = 1
Opt("SendKeyDownDelay", 1)
For $i = 1 To 2 ;mana + hp max
$sta[$i] = _MemoryRead($add[$i], $Open, 'dword')
Next
While $P = 1
_ssend($handle, $s)
Call("_pot1")
WEnd
EndFunc ;==>_splash
Func _attack()
$P = 1
$e = 1
$count = 0
GUICtrlSetData($LEvent,"Initialisiere Bot")
If $n = 1 Then _ssend($handle, $my)
While ($cmh = 0) And ($P = 1) Or ($e = 1) And ($P = 1)
_suchen()
$cmh = PixelSearch($a / 5, 0, $a * 3 / 5, $c / 10, 0XAA1122)
If @error Then
Sleep(100)
$e = 1
Else
$e = 0
EndIf
WEnd
If $pot = "Memory" Then
For $i = 1 To 2 ;mana + hp max
$sta[$i] = _MemoryRead($add[$i], $Open, 'dword')
Next
Else
$ch = PixelSearch(0, 0, 300, 150, 0xAA1122)
$cm = PixelSearch(0, 0, 300, 150, 0x224499)
EndIf
If $P = 1 Then
Do
Call("_attack1")
Until $P = 0
EndIf
EndFunc ;==>_attack
Func _attack1()
$i = 0
If $n = 1 Then _ssend($handle, $my)
_monster()
If PixelGetColor($cmh[0] - 1, $cmh[1]) = Dec("EE8888") Then
GUICtrlSetData($LEvent,"Kämpfen")
While $P = 1
_pot1()
If PixelGetColor($cmh[0] - 1, $cmh[1]) = Dec("EE8888") Then
$i = $i + 1
If $i > 19 Then
_suchen()
$i = 0
Else
Sleep(500)
EndIf
Else
GUICtrlSetData($LEvent,"Behead")
_behead($a / 4, $c / 2, $a * 3 / 4, $c * 3 / 4, 0XFE01FE, 50, 15)
$count = $count + 1
ExitLoop
EndIf
WEnd
Else
GUICtrlSetData($LEvent,"Monster suchen")
_suchen()
EndIf
EndFunc ;==>_attack1
Func _IsFocused($hWnd, $nCID)
Return GUICtrlGetHandle($nCID) = ControlGetHandle($hWnd, '', ControlGetFocus($hWnd))
EndFunc ;==>_IsFocused
Func _suchen()
Opt("SendKeyDownDelay", 1)
If $P = 1 Then
_ssend($handle, " ")
EndIf
$coord = PixelSearch($a / 4, $c / 2, $a * 3 / 4, $c * 3 / 4, 0XFE01FE, 50, 2)
If Not @error Then
_click($mo, $coord[0], $coord[1])
Else
$coord = PixelSearch(50, $c * 2 / 4, $a-50, $c - 50, 0XFE01FE, 50, 2)
If Not @error Then
_click($mo, $coord[0], $coord[1])
Else
$coord = PixelSearch(50, $c / 2, $a / 4, $c * 3 / 4, 0XFE01FE, 50, 2)
If Not @error Then
_click($mo, $coord[0], $coord[1])
Else
$coord = PixelSearch($a * 3 / 4, $c / 2, $a-50, $c * 3 / 4, 0XFE01FE, 50, 2)
If Not @error Then
_click($mo, $coord[0], $coord[1])
Else
$coord = PixelSearch(50, $c * 3 / 8, $a-50, $c / 2, 0XFE01FE, 50, 2)
If Not @error Then
_click($mo, $coord[0], $coord[1])
Else
$coord = PixelSearch(50, $c / 4, $a-50, $c * 3 / 8, 0XFE01FE, 50, 2)
If Not @error Then
_click($mo, $coord[0], $coord[1])
Else
$coord = PixelSearch(50, $c / 8, $a-50, $c / 4, 0XFE01FE, 50, 2)
If Not @error Then
_click($mo, $coord[0], $coord[1])
Else
If $b = 1 Then
Opt("SendKeyDownDelay", 1000)
_ssend($handle, "{left}")
Else
Sleep(200)
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndFunc ;==>_suchen
Func _monster()
$monster = _MemoryRead($add[4],$Open,'char[20]')
if $monster = "Wooden Box" Then _click("left")
While $monster = "Wooden Box" and $P=1
_suchen()
$monster = _MemoryRead($add[4],$Open,'char[20]')
if $monster = "Wooden Box" Then _click("left")
WEnd
EndFunc
Func _tod()
GUICtrlSetData($LEvent,"Tot")
Beep(2000,250)
_Terminate()
#cs
sleep(10000)
_ssend($handle, "7")
sleep (1000)
_ssend($handle, "{Enter}")
Sleep (500)
_ssend($handle, $m)
If $pot = "Memory" Then
$Point = _memoryread($ur, $Open, 'dword')
$30 = "0x" & Hex($Point + $off[2])
$was[2] = _MemoryRead($30, $Open, 'dword')
If $was[2] >50 Then _Funktion()
ElseIf PixelGetColor($ch[0] + 10, $ch[1]) = Dec("AA1122") Then
_Funktion()
EndIf
#ce
EndFunc
Func _picken()
GUICtrlSetData($LEvent,"Bot Pickt")
$P = 1
For $i = 1 To 2 ;mana + hp max
$sta[$i] = _MemoryRead($add[$i], $Open, 'dword')
Next
While $P = 1
Opt("SendKeyDownDelay", 1)
_ssend($handle, " ")
Call("_pot1")
WEnd
EndFunc ;==>_picken
Func _click($mouse, $x ,$y)
WinActivate("Bot Active")
MouseClick($mouse, $x ,$y,1,0)
EndFunc
Func _ssend($handle,$string)
$len = StringLen($string)
if $string = "{LEft}"Then
_SendMessage($handle,0x102,0x25,0,0,"int","long")
Else
for $i = 1 to $len Step 1
$send = StringMid ($string,$i,1)
_SendMessage($handle,0x102,"0x"&_StringToHex($send ),0,0,"int","long")
Next
EndIf
EndFunc
Func _Terminate()
GUICtrlSetData($LEvent,"Bot Beendet")
$P = 0
GUISetState(@SW_Hide,$Form2)
GUISetState(@SW_Show,$Form1_1)
HotKeySet("{F6}", "_Funktion")
EndFunc ;==>_Terminate
#include-once
#Region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("Timos KalBot", 266, 343, 217, 147)
$LSplash = GUICtrlCreateLabel("Splash", 16, 64, 44, 17)
$LMana = GUICtrlCreateLabel("Mana", 152, 120, 39, 17)
$LHealth = GUICtrlCreateLabel("Health", 32, 120, 43, 17)
$ISplash = GUICtrlCreateInput($s, 64, 64, 25, 17)
$IMana = GUICtrlCreateInput($m, 190, 120, 25, 17)
$IHealth = GUICtrlCreateInput($h, 80, 120, 25, 17)
$BSetup = GUICtrlCreateButton("Setup Set", 168, 304, 75, 25, 0)
$GFocus = GUICtrlCreateGroup("", 120, 40, 121, 49)
$LMysterious = GUICtrlCreateLabel("Blow Up", 128, 64, 62, 17)
$IMysterious = GUICtrlCreateInput($my, 192, 64, 25, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$GAuto = GUICtrlCreateGroup("", 8, 8, 105, 25)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$GSplash = GUICtrlCreateGroup("", 8, 40, 105, 49)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$GAllgemein = GUICtrlCreateGroup("", 8, 96, 233, 49)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group1 = GUICtrlCreateGroup("Andere Optionen", 8, 152, 233, 49)
$CPick = GUICtrlCreateCheckbox("Picken", 24, 176, 65, 17)
If $P = 1 Then GUICtrlSetState(-1, $GUI_CHECKED)
$CBewegen = GUICtrlCreateCheckbox("Bewegen", 128, 176, 89, 17)
If $b = 1 Then GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$GPicken = GUICtrlCreateGroup("", 120, 8, 121, 25)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$LHotkey = GUICtrlCreateLabel("Start:", 8, 304, 29, 17)
$LPause = GUICtrlCreateLabel("Pause:", 8, 320, 37, 17)
$Label1 = GUICtrlCreateLabel("Shift + D", 48, 304, 45, 17)
$Label2 = GUICtrlCreateLabel("Shift + S", 48, 320, 44, 17)
$LTut = GUICtrlCreateLabel("Read Me", 96, 304, 46, 17)
GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor(-1, 0)
$RFocus = GUICtrlCreateRadio("Blow Up", 128, 40, 60, 17)
$RAuto = GUICtrlCreateRadio("Auto Attack", 16, 8, 73, 17)
$RSplash = GUICtrlCreateRadio("Splash", 16, 40, 57, 17)
$RPot = GUICtrlCreateRadio("Nur Potten", 24, 96, 73, 17)
$RPicken = GUICtrlCreateRadio("Nur Picken", 128, 8, 73, 17)
$Gpointer = GUICtrlCreateGroup("Pointer", 8, 208, 233, 73)
$Cspeed = GUICtrlCreateCheckbox("Speed", 16, 224, 57, 17)
$Cf1 = GUICtrlCreateCheckbox("F1 Merchant", 16, 256, 81, 17)
$Ispeed = GUICtrlCreateInput($was[0], 160, 224, 65, 16)
$IHoehe = GUICtrlCreateInput($was[1], 160, 240, 65, 16)
$IF1 = GUICtrlCreateInput($sta[0], 160, 256, 65, 16)
$LUG = GUICtrlCreateLabel("UG", 16, 240, 20, 17)
GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor(-1, 0)
$Lzurueck = GUICtrlCreateLabel("Zurück", 40, 240, 38, 17)
GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor(-1, 0)
$Loptionen = GUICtrlCreateLabel("Optionen", 96, 320, 47, 17)
GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor(-1, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
#EndRegion ### END Koda GUI section ###
GUISetState(@SW_SHOW)
#include-once
Func _optionen()
#Region ### START Koda GUI section ### Form=
GUICreate("Optionen", 248, 254, 303, 219)
GUISetIcon("D:\005.ico")
GUICtrlCreateTab(8, 8, 236, 208)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
GUICtrlCreateTabItem("Allgemein")
GUICtrlCreateGroup("Meds", 16, 40, 217, 73)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
GUICtrlCreateLabel("Health Meds", 24, 56, 63, 18)
GUICtrlCreateLabel("Mana Meds", 24, 80, 59, 18)
$IHealthMeds = GUICtrlCreateInput($hm, 176, 56, 33, 18)
$IManaMeds = GUICtrlCreateInput($mm, 176, 80, 33, 18)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup("Pot Optionen", 12, 117, 217, 57)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Radio1 = GUICtrlCreateRadio("Per Pixel", 24, 136, 113, 17)
If $pot = "Pixel" Then GUICtrlSetState(-1, $GUI_CHECKED)
$Radio2 = GUICtrlCreateRadio("Per Memory", 24, 152, 113, 17)
If $pot = "Memory" Then GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateTabItem("Pointer")
GUICtrlCreateGroup("Pointer Adresse", 16, 40, 217, 41)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$LPointer = GUICtrlCreateLabel("Pointer Adresse", 24, 56, 82, 18)
$IPointer = GUICtrlCreateInput($ur[0], 144, 56, 81, 18)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup("Offsets", 16, 88, 217, 113)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
GUICtrlCreateLabel("Speed Offset", 24, 104, 69, 18)
$ISpeedOff = GUICtrlCreateInput($off[0], 144, 104, 81, 18)
GUICtrlCreateLabel("UG Offset", 24, 128, 53, 18)
$IUGOff = GUICtrlCreateInput($off[1], 144, 128, 81, 18)
GUICtrlCreateLabel("Current HP Offset", 24, 152, 90, 18)
$ICurHPOff = GUICtrlCreateInput($off[2], 144, 152, 81, 18)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateTabItem("Statische Adressen")
GUICtrlCreateGroup("Statische Adresen", 16, 40, 217, 121)
GUICtrlCreateLabel("F1 Merchant", 24, 56, 64, 17)
$IF1 = GUICtrlCreateInput($add[0], 144, 56, 81, 17)
GUICtrlCreateLabel("Max HP", 24, 80, 42, 17)
$IMaxHP = GUICtrlCreateInput($add[1], 144, 80, 81, 17)
GUICtrlCreateLabel("Max MP", 24, 104, 43, 17)
GUICtrlCreateLabel("Cur MP", 24, 128, 39, 17)
$IMaxMP = GUICtrlCreateInput($add[2], 144, 104, 81, 17)
$ICurMP = GUICtrlCreateInput($add[3], 144, 128, 81, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateTabItem("")
$BOK = GUICtrlCreateButton("&OK", 86, 224, 75, 25, 0)
$BAbbruch = GUICtrlCreateButton("Abbruch", 166, 224, 75, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUISetState(@SW_HIDE)
ExitLoop
Case $BAbbruch
GUISetState(@SW_HIDE)
ExitLoop
Case $BOK
$ur[0] = GUICtrlRead($IPointer)
$off[0] = GUICtrlRead($ISpeedOff)
$off[1] = GUICtrlRead($IUGOff)
$off[2] = GUICtrlRead($ICurHPOff)
$add[0] = GUICtrlRead($IF1)
$add[1] = GUICtrlRead($IMaxHP)
$add[2] = GUICtrlRead($IMaxMP)
$add[3] = GUICtrlRead($ICurMP)
$hm = GUICtrlRead($IHealthMeds)
$mm = GUICtrlRead($IManaMeds)
If $Radio1 And BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) = $GUI_CHECKED Then $pot = "Pixel"
If $Radio2 And BitAND(GUICtrlRead($Radio2), $GUI_CHECKED) = $GUI_CHECKED Then $pot = "Memory"
IniWrite("config.ini", "Memory", "Pointer Addresse", $ur[0])
IniWrite("config.ini", "Memory", "Speed Offset", $off[0])
IniWrite("config.ini", "Memory", "Höhe Offset", $off[1])
IniWrite("config.ini", "Memory", "Health Offset", $off[2])
IniWrite("config.ini", "Memory", "F1 Addresse", $add[0])
IniWrite("config.ini", "Memory", "Health Addresse", $add[1])
IniWrite("config.ini", "Memory", "Max Mana Addresse", $add[2])
IniWrite("config.ini", "Memory", "Mana Addresse", $add[3])
IniWrite("config.ini", "KalBot", "HealthMeds", $hm)
IniWrite("config.ini", "KalBot", "ManaMeds", $mm)
IniWrite("config.ini", "KalBot", "Potten", $pot)
GUISetState(@SW_HIDE)
ExitLoop
EndSwitch
WEnd
EndFunc
#include-once
Func _Tut()
#Region ### START Koda GUI section ### Form=
GUICreate("Read Me", 421, 544, 490, 147)
GUICtrlCreateLabel("1. Damit der Bot überhaupt Mobs finden kann müssen diese Lila sein, um dies zu", 16, 16, 386, 17)
GUICtrlCreateLabel("erreichen bennent ihr den Ordner data\Monster\Clothes\Tex in Tex2 um", 24, 32, 345, 17)
GUICtrlCreateLabel("Der Bot arbeitet nur auf P-Servern, da Leben und Mana direkt aus", 16, 456, 391, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlCreateLabel("der Memory ausgelesen werden", 16, 472, 189, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlCreateLabel("Grün: Targetleiste", 216, 104, 100, 17)
GUICtrlCreateLabel("3. Das Spiel muss im Fenstermodus ausgeführt werden", 16, 248, 261, 17)
$Button1 = GUICtrlCreateButton("OK", 152, 504, 75, 25, 0)
GUICtrlCreateLabel("Mit Blow Up kann jede Attack, die mit einmaligem Rechtsklick den Mob runterhaut", 16, 312, 391, 17)
GUICtrlCreateLabel("ausgeführt werden z.B. Lightning Magic, Ice Magic usw", 16, 328, 266, 17)
GUICtrlCreateLabel("Mit Auto Attack wird einfach nur Links auf den Mob geklickt", 16, 352, 286, 17)
GUICtrlCreateLabel("'Bewegen' nur nicht anklicken wenn die Mobs einen Spawn haben und sich die", 16, 376, 386, 17)
GUICtrlCreateLabel("Kamara selbst dann nicht drehen soll, wenn mal kein Mob da ist", 16, 392, 303, 17)
GUICtrlCreateLabel("Generel:", 16, 288, 44, 17)
GUICtrlCreateLabel("Wenn der Bot gestartet wird muss die Targetleiste leer sein", 16, 416, 280, 17)
GUICtrlCreateLabel("ansonsten muss man gegebenenfalls den ersten Mob selbst umhauen", 16, 432, 332, 17)
GUICtrlCreateLabel("2. Die Targetleiste muss sich am oberen Rand von KalOnline befinen", 16, 56, 328, 17)
GUICtrlCreatePic("bot.jpg", 24, 104, 172, 124)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUISetState(@SW_HIDE)
ExitLoop
Case $Button1
GUISetState(@SW_HIDE)
ExitLoop
EndSwitch
WEnd
EndFunc
#include-once
Func _behead($left,$top,$right,$bottom,$color,$shadevar iation = 0,$step = 1,$curExt = @extended)
ControlSend("KalOnline", "", $handle,1)
Local $RGBmin [3]
Local $RGBmax [3]
Local $coord [2]
$RGB = _ColorGetRGB($color)
For $i = 0 to 2
$RGBmin[$i] = $RGB[$i] - $shadevariation
If $RGBmin[$i] < 0 then $RGBmin[$i] = 0
Next
$Cmin = _ColorSetRGB ($RGBmin)
For $i = 0 to 2
$RGBmax[$i] = $RGB[$i] + $shadevariation
If $RGBmax[$i] > 255 then $RGBmax[$i] = 255
Next
$Cmax = _ColorSetRGB ($RGBmax)
For $coord [1] = $top to $bottom Step $step
For $coord [0] = $left to $right Step $step
If PixelGetColor($coord[0],$coord[1]) >= $Cmin and PixelGetColor($coord[0],$coord[1]) <= $Cmax Then
MouseClick("right",$coord[0],$coord[1])
EndIf
Next
Next
ControlSend("KalOnline", "", $handle, $my)
EndFunc
Func _ColorSetRGB($aColor, $curExt = @extended)
If UBound($aColor) <> 3 Then Return SetError(1, 0, -1) ; invalid array
Local $nColor = 0, $iColor
For $i = 0 to 2
$nColor = BitShift($nColor, -8)
$iColor = $aColor[$i]
If $iColor <0 Or $iColor > 255 Then Return SetError(2, 0, -1) ; invalid color value
$nColor += $iColor
Next
Return SetExtended($curExt, $nColor)
EndFunc
Func _ColorGetRGB($nColor, $curExt = @extended)
If BitAND($nColor, 0xFF000000) Then Return SetError(1, 0, 0) ; invalid COLOREF value
Local $aColor[3]
$aColor[0] = BitAND(BitShift($nColor, 16), 0xFF)
$aColor[1] = BitAND(BitShift($nColor, 8), 0xFF)
$aColor[2] = BitAND($nColor, 0xFF)
Return SetExtended($curExt, $aColor)
EndFunc
no further support.
it is indeed easier to write a bot your self than to understand a other bot
|
|
|
03/03/2011, 07:12
|
#10
|
elite*gold: 0
Join Date: Jan 2008
Posts: 310
Received Thanks: 50
|
Quote:
Originally Posted by RunzelEier
here ist the source code.
this code is more than one year old and today i would do many things different.
you have to change it a bit to make it work again
#RequireAdmin
#include <NomadMemory.au3>
#include <GUIConstantsEx.au3>
#include<string.au3>
#include<sendmessage.au3>
#include "C:\Users\Timo\Documents\auto it\kal\kalbot\includes\_behead.au3"
Global $P, $F, $ch, $cm, $cmh, $b, $pick, $mo, $n, $speed, $hoehe, $f1, $merchant, $Ispeed, $Open, $ur, $off[3], $was[3], $add[5], $sta[4], $count, $mm, $hm, $pot,$LEvent
HotKeySet("{F6}", "_Funktion")
SetPrivilege("SeDebugPrivilege", 1)
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Warten", 156, 55, 264, 195)
$Label1 = GUICtrlCreateLabel("Warte bis Kal gestartet wird", 8, 16, 133, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While Not ProcessExists("engine.exe")
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
Sleep(20)
WEnd
Const $c = @DesktopHeight
Const $a = @DesktopWidth
Const $handle = ControlGetHandle("KalOnline", "", "")
;.ini einträge
$s = IniRead("config.ini", "KalBot", "Splash", "0")
$my = IniRead("config.ini", "KalBot", "BlowUp", "0")
$m = IniRead("config.ini", "KalBot", "Mana", "0")
$h = IniRead("config.ini", "KalBot", "Health", "0")
$b = IniRead("config.ini", "KalBot", "Bewegen", "0")
$P = IniRead("config.ini", "KalBot", "Picken", "0")
$mm = IniRead("config.ini", "KalBot", "ManaMeds", "300")
$hm = IniRead("config.ini", "KalBot", "HealthMeds", "300")
$pot = IniRead("config.ini", "KalBot", "Potten", "Pixel")
$ur = IniRead("config.ini", "Memory", "Pointer Addresse", "0x006F3840")
$off[0] = IniRead("config.ini", "Memory", "Speed Offset", "0x4B14")
$off[1] = IniRead("config.ini", "Memory", "Höhe Offset", "0x4640")
$off[2] = IniRead("config.ini", "Memory", "Health Offset", "0x46AC")
$add[0] = IniRead("config.ini", "Memory", "F1 Addresse", "0x006A2EBC")
$add[1] = IniRead("config.ini", "Memory", "Health Addresse", "0x0070EB34")
$add[2] = IniRead("config.ini", "Memory", "Max Mana Addresse", "0x0070EB38")
$add[3] = IniRead("config.ini", "Memory", "Mana Addresse", "0x0070EB30")
$add[4] = IniRead("config.ini", "Memory", "Target Addresse", "0x0070ED88")
;pointer
$Open = _memoryopen(ProcessExists("engine.exe"))
For $i = 0 To 2
$Point = _memoryread($ur, $Open, 'dword')
$30 = "0x" & Hex($Point + $off[$i])
$was[$i] = _MemoryRead($30, $Open, 'dword')
Next
$sta[0] = _MemoryRead(0x006A2EBC, $Open, 'char[7]')
For $i = 1 To 3
$sta[$i] = _MemoryRead($add[$i], $Open, 'dword')
Next
GUISetState(@SW_HIDE)
#include "C:\Users\Timo\Documents\auto it\kal\kalbot\includes\Gui.au3"
#include "C:\Users\Timo\Documents\auto it\kal\kalbot\includes\optionen.au3"
#include "C:\Users\Timo\Documents\auto it\kal\kalbot\includes\tut.au3"
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE ;exit + registry
If $CBewegen And BitAND(GUICtrlRead($CBewegen), $GUI_CHECKED) = $GUI_CHECKED Then
$b = 1
Else
$b = 0
EndIf
If $CPick And BitAND(GUICtrlRead($CPick), $GUI_CHECKED) = $GUI_CHECKED Then
$P = 1
Else
$P = 0
EndIf
$s = GUICtrlRead($ISplash)
$m = GUICtrlRead($IMana)
$h = GUICtrlRead($IHealth)
$my = GUICtrlRead($IMysterious)
IniWrite("config.ini", "KalBot", "Splash", $s)
IniWrite("config.ini", "KalBot", "BlowUp", $my)
IniWrite("config.ini", "KalBot", "Mana", $m)
IniWrite("config.ini", "KalBot", "Health", $h)
IniWrite("config.ini", "KalBot", "Bewegen", $b)
IniWrite("config.ini", "KalBot", "Picken", $P)
IniWrite("config.ini", "Memory", "Target Addresse", $add[4])
$Close = _memoryclose(ProcessExists("engine.exe"))
Exit
Case $msg = $LTut
_Tut()
Case $msg = $BSetup
_Setup()
Case $msg = $LUG
$Point = _memoryread(0x006F3840, $Open, 'dword')
$30 = "0x" & Hex($Point + 0x4640)
$hoehe = _MemoryWrite($30, $Open, GUICtrlRead($IHoehe) + 2000, 'dword')
Case $msg = $Lzurueck
$Point = _memoryread(0x006F3840, $Open, 'dword')
$30 = "0x" & Hex($Point + 0x4640)
$hoehe = _MemoryWrite($30, $Open, GUICtrlRead($IHoehe) - 2000, 'dword')
Case $msg = $Loptionen
_optionen()
EndSelect
If $Cspeed And BitAND(GUICtrlRead($Cspeed), $GUI_CHECKED) = $GUI_CHECKED Then
$Point = _memoryread($ur, $Open, 'dword')
$30 = "0x" & Hex($Point + $off[0])
$speed = _MemoryWrite($30, $Open, GUICtrlRead($Ispeed), 'dword')
Else
$Point = _memoryread($ur, $Open, 'dword')
$30 = "0x" & Hex($Point + $off[0])
$was[0] = _MemoryRead($30, $Open, 'dword')
EndIf
$Point = _memoryread($ur, $Open, 'dword')
$30 = "0x" & Hex($Point + $off[1])
$was[1] = _MemoryRead($30, $Open, 'dword')
GUICtrlSetData($IHoehe, $was[1])
For $i = 0 To 3
$sta[$i] = _MemoryRead($add[$i], $Open, 'char[7]')
Next
If _IsFocused($Form1_1, $Ispeed) Then
GUICtrlSetState($Cspeed, $GUI_CHECKED)
ElseIf $Cspeed And BitAND(GUICtrlRead($Cspeed), $GUI_CHECKED) <> $GUI_CHECKED Then
GUICtrlSetData($Ispeed, $was[0])
EndIf
Sleep(20)
WEnd
Func _Setup()
If $RSplash And BitAND(GUICtrlRead($RSplash), $GUI_CHECKED) = $GUI_CHECKED Then
$F = "_splash"
$s = GUICtrlRead($ISplash)
$m = GUICtrlRead($IMana)
$h = GUICtrlRead($IHealth)
ElseIf $RFocus And BitAND(GUICtrlRead($RFocus), $GUI_CHECKED) = $GUI_CHECKED Then
If $CBewegen And BitAND(GUICtrlRead($CBewegen), $GUI_CHECKED) = $GUI_CHECKED Then
$b = 1
Else
$b = 0
EndIf
If $CPick And BitAND(GUICtrlRead($CPick), $GUI_CHECKED) = $GUI_CHECKED Then
$P = 1
Else
$P = 0
EndIf
$F = "_attack"
$mo = "right"
$n = 1
$my = GUICtrlRead($IMysterious)
$m = GUICtrlRead($IMana)
$h = GUICtrlRead($IHealth)
ElseIf $RAuto And BitAND(GUICtrlRead($RAuto), $GUI_CHECKED) = $GUI_CHECKED Then
If $CBewegen And BitAND(GUICtrlRead($CBewegen), $GUI_CHECKED) = $GUI_CHECKED Then
$b = 1
Else
$b = 0
EndIf
If $CPick And BitAND(GUICtrlRead($CPick), $GUI_CHECKED) = $GUI_CHECKED Then
$P = 1
Else
$P = 0
EndIf
$F = "_attack"
$mo = "left"
$m = GUICtrlRead($IMana)
$h = GUICtrlRead($IHealth)
ElseIf $RPicken And BitAND(GUICtrlRead($RPicken), $GUI_CHECKED) = $GUI_CHECKED Then
$F = "_picken"
$m = GUICtrlRead($IMana)
$h = GUICtrlRead($IHealth)
ElseIf $RPot And BitAND(GUICtrlRead($RPot), $GUI_CHECKED) = $GUI_CHECKED Then
$F = "_pot"
$m = GUICtrlRead($IMana)
$h = GUICtrlRead($IHealth)
EndIf
If $Cspeed And BitAND(GUICtrlRead($Cspeed), $GUI_CHECKED) = $GUI_CHECKED Then
$Point = _memoryread(0x006F3840, $Open, 'dword')
$30 = "0x" & Hex($Point + 0x4B14)
$speed = _MemoryWrite($30, $Open, GUICtrlRead($Ispeed), 'dword')
EndIf
If $Cf1 And BitAND(GUICtrlRead($Cf1), $GUI_CHECKED) = $GUI_CHECKED Then
$adresse = 0x006A2EBC
$f1 = _MemoryWrite($adresse, $Open, GUICtrlRead($IF1), 'char[7]')
EndIf
EndFunc ;==>_Setup
Func _Funktion()
HotKeySet("{F6}", "_Terminate")
GUISetState(@SW_Hide,$Form1_1)
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Bot Active", 204, 15, 0, 0,0x80000000)
$Label1 = GUICtrlCreateLabel("Event:", 0, 0, 35, 15)
$LEvent = GUICtrlCreateLabel("Initialisiere Bot", 35, 0, 79, 15)
$Label3 = GUICtrlCreateLabel("Kills: ", 128, 0, 28, 15)
$LKills = GUICtrlCreateLabel("0", 155, 0, 42, 15)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Call($F)
EndFunc ;==>_Funktion
Func _pot()
GUICtrlSetData($LEvent,"Potten")
$P = 1
If $pot = "Memory" Then
For $i = 1 To 2 ;mana + hp max
$sta[$i] = _MemoryRead($add[$i], $Open, 'dword')
Next
Else
$ch = PixelSearch(0, 0, 300, 150, 0xAA1122)
$cm = PixelSearch(0, 0, 300, 150, 0x224499)
EndIf
While $P = 1
Call("_pot1")
WEnd
EndFunc ;==>_pot
Func _pot1()
Opt("SendKeyDownDelay", 1)
Sleep(100)
If $pot = "Memory" Then
$Point = _memoryread($ur, $Open, 'dword')
$30 = "0x" & Hex($Point + $off[2])
$was[2] = _MemoryRead($30, $Open, 'dword')
$sta[3] = _MemoryRead($add[3], $Open, 'dword')
If $was[2] = 0 Then ;Leben = 0
_tod()
ElseIf $sta[1] - $was[2] >= $sta[1] * 0.8 Then ;kritische Leben (20%)
_ssend($handle, $h)
ElseIf $sta[2] - $sta[3] >= $mm Or $sta[3] <= 60 Then ;Mana
_ssend($handle, $m)
ElseIf $sta[1] - $was[2] >= $hm Then ;Health
_ssend($handle, $h)
EndIf
Else
If PixelGetColor($ch[0], $ch[1]) <> Dec("AA1122") Then
_tod()
ElseIf PixelGetColor($ch[0] + 24, $ch[1]) <> Dec("AA1122") Then
_ssend($handle, $h)
ElseIf PixelGetColor($ch[0] + 100, $ch[1]) <> Dec("AA1122") Then
_ssend($handle, $h)
ElseIf PixelGetColor($cm[1] + 80, $cm[1]) <> Dec("224499") Then
_ssend($handle, $m)
EndIf
EndIf
EndFunc ;==>_pot1
Func _splash()
GUICtrlSetData($LEvent,"Splash")
$P = 1
Opt("SendKeyDownDelay", 1)
For $i = 1 To 2 ;mana + hp max
$sta[$i] = _MemoryRead($add[$i], $Open, 'dword')
Next
While $P = 1
_ssend($handle, $s)
Call("_pot1")
WEnd
EndFunc ;==>_splash
Func _attack()
$P = 1
$e = 1
$count = 0
GUICtrlSetData($LEvent,"Initialisiere Bot")
If $n = 1 Then _ssend($handle, $my)
While ($cmh = 0) And ($P = 1) Or ($e = 1) And ($P = 1)
_suchen()
$cmh = PixelSearch($a / 5, 0, $a * 3 / 5, $c / 10, 0XAA1122)
If @error Then
Sleep(100)
$e = 1
Else
$e = 0
EndIf
WEnd
If $pot = "Memory" Then
For $i = 1 To 2 ;mana + hp max
$sta[$i] = _MemoryRead($add[$i], $Open, 'dword')
Next
Else
$ch = PixelSearch(0, 0, 300, 150, 0xAA1122)
$cm = PixelSearch(0, 0, 300, 150, 0x224499)
EndIf
If $P = 1 Then
Do
Call("_attack1")
Until $P = 0
EndIf
EndFunc ;==>_attack
Func _attack1()
$i = 0
If $n = 1 Then _ssend($handle, $my)
_monster()
If PixelGetColor($cmh[0] - 1, $cmh[1]) = Dec("EE8888") Then
GUICtrlSetData($LEvent,"Kämpfen")
While $P = 1
_pot1()
If PixelGetColor($cmh[0] - 1, $cmh[1]) = Dec("EE8888") Then
$i = $i + 1
If $i > 19 Then
_suchen()
$i = 0
Else
Sleep(500)
EndIf
Else
GUICtrlSetData($LEvent,"Behead")
_behead($a / 4, $c / 2, $a * 3 / 4, $c * 3 / 4, 0XFE01FE, 50, 15)
$count = $count + 1
ExitLoop
EndIf
WEnd
Else
GUICtrlSetData($LEvent,"Monster suchen")
_suchen()
EndIf
EndFunc ;==>_attack1
Func _IsFocused($hWnd, $nCID)
Return GUICtrlGetHandle($nCID) = ControlGetHandle($hWnd, '', ControlGetFocus($hWnd))
EndFunc ;==>_IsFocused
Func _suchen()
Opt("SendKeyDownDelay", 1)
If $P = 1 Then
_ssend($handle, " ")
EndIf
$coord = PixelSearch($a / 4, $c / 2, $a * 3 / 4, $c * 3 / 4, 0XFE01FE, 50, 2)
If Not @error Then
_click($mo, $coord[0], $coord[1])
Else
$coord = PixelSearch(50, $c * 2 / 4, $a-50, $c - 50, 0XFE01FE, 50, 2)
If Not @error Then
_click($mo, $coord[0], $coord[1])
Else
$coord = PixelSearch(50, $c / 2, $a / 4, $c * 3 / 4, 0XFE01FE, 50, 2)
If Not @error Then
_click($mo, $coord[0], $coord[1])
Else
$coord = PixelSearch($a * 3 / 4, $c / 2, $a-50, $c * 3 / 4, 0XFE01FE, 50, 2)
If Not @error Then
_click($mo, $coord[0], $coord[1])
Else
$coord = PixelSearch(50, $c * 3 / 8, $a-50, $c / 2, 0XFE01FE, 50, 2)
If Not @error Then
_click($mo, $coord[0], $coord[1])
Else
$coord = PixelSearch(50, $c / 4, $a-50, $c * 3 / 8, 0XFE01FE, 50, 2)
If Not @error Then
_click($mo, $coord[0], $coord[1])
Else
$coord = PixelSearch(50, $c / 8, $a-50, $c / 4, 0XFE01FE, 50, 2)
If Not @error Then
_click($mo, $coord[0], $coord[1])
Else
If $b = 1 Then
Opt("SendKeyDownDelay", 1000)
_ssend($handle, "{left}")
Else
Sleep(200)
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndFunc ;==>_suchen
Func _monster()
$monster = _MemoryRead($add[4],$Open,'char[20]')
if $monster = "Wooden Box" Then _click("left")
While $monster = "Wooden Box" and $P=1
_suchen()
$monster = _MemoryRead($add[4],$Open,'char[20]')
if $monster = "Wooden Box" Then _click("left")
WEnd
EndFunc
Func _tod()
GUICtrlSetData($LEvent,"Tot")
Beep(2000,250)
_Terminate()
#cs
sleep(10000)
_ssend($handle, "7")
sleep (1000)
_ssend($handle, "{Enter}")
Sleep (500)
_ssend($handle, $m)
If $pot = "Memory" Then
$Point = _memoryread($ur, $Open, 'dword')
$30 = "0x" & Hex($Point + $off[2])
$was[2] = _MemoryRead($30, $Open, 'dword')
If $was[2] >50 Then _Funktion()
ElseIf PixelGetColor($ch[0] + 10, $ch[1]) = Dec("AA1122") Then
_Funktion()
EndIf
#ce
EndFunc
Func _picken()
GUICtrlSetData($LEvent,"Bot Pickt")
$P = 1
For $i = 1 To 2 ;mana + hp max
$sta[$i] = _MemoryRead($add[$i], $Open, 'dword')
Next
While $P = 1
Opt("SendKeyDownDelay", 1)
_ssend($handle, " ")
Call("_pot1")
WEnd
EndFunc ;==>_picken
Func _click($mouse, $x ,$y)
WinActivate("Bot Active")
MouseClick($mouse, $x ,$y,1,0)
EndFunc
Func _ssend($handle,$string)
$len = StringLen($string)
if $string = "{LEft}"Then
_SendMessage($handle,0x102,0x25,0,0,"int","long")
Else
for $i = 1 to $len Step 1
$send = StringMid ($string,$i,1)
_SendMessage($handle,0x102,"0x"&_StringToHex($send ),0,0,"int","long")
Next
EndIf
EndFunc
Func _Terminate()
GUICtrlSetData($LEvent,"Bot Beendet")
$P = 0
GUISetState(@SW_Hide,$Form2)
GUISetState(@SW_Show,$Form1_1)
HotKeySet("{F6}", "_Funktion")
EndFunc ;==>_Terminate
#include-once
#Region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("Timos KalBot", 266, 343, 217, 147)
$LSplash = GUICtrlCreateLabel("Splash", 16, 64, 44, 17)
$LMana = GUICtrlCreateLabel("Mana", 152, 120, 39, 17)
$LHealth = GUICtrlCreateLabel("Health", 32, 120, 43, 17)
$ISplash = GUICtrlCreateInput($s, 64, 64, 25, 17)
$IMana = GUICtrlCreateInput($m, 190, 120, 25, 17)
$IHealth = GUICtrlCreateInput($h, 80, 120, 25, 17)
$BSetup = GUICtrlCreateButton("Setup Set", 168, 304, 75, 25, 0)
$GFocus = GUICtrlCreateGroup("", 120, 40, 121, 49)
$LMysterious = GUICtrlCreateLabel("Blow Up", 128, 64, 62, 17)
$IMysterious = GUICtrlCreateInput($my, 192, 64, 25, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$GAuto = GUICtrlCreateGroup("", 8, 8, 105, 25)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$GSplash = GUICtrlCreateGroup("", 8, 40, 105, 49)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$GAllgemein = GUICtrlCreateGroup("", 8, 96, 233, 49)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group1 = GUICtrlCreateGroup("Andere Optionen", 8, 152, 233, 49)
$CPick = GUICtrlCreateCheckbox("Picken", 24, 176, 65, 17)
If $P = 1 Then GUICtrlSetState(-1, $GUI_CHECKED)
$CBewegen = GUICtrlCreateCheckbox("Bewegen", 128, 176, 89, 17)
If $b = 1 Then GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$GPicken = GUICtrlCreateGroup("", 120, 8, 121, 25)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$LHotkey = GUICtrlCreateLabel("Start:", 8, 304, 29, 17)
$LPause = GUICtrlCreateLabel("Pause:", 8, 320, 37, 17)
$Label1 = GUICtrlCreateLabel("Shift + D", 48, 304, 45, 17)
$Label2 = GUICtrlCreateLabel("Shift + S", 48, 320, 44, 17)
$LTut = GUICtrlCreateLabel("Read Me", 96, 304, 46, 17)
GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor(-1, 0)
$RFocus = GUICtrlCreateRadio("Blow Up", 128, 40, 60, 17)
$RAuto = GUICtrlCreateRadio("Auto Attack", 16, 8, 73, 17)
$RSplash = GUICtrlCreateRadio("Splash", 16, 40, 57, 17)
$RPot = GUICtrlCreateRadio("Nur Potten", 24, 96, 73, 17)
$RPicken = GUICtrlCreateRadio("Nur Picken", 128, 8, 73, 17)
$Gpointer = GUICtrlCreateGroup("Pointer", 8, 208, 233, 73)
$Cspeed = GUICtrlCreateCheckbox("Speed", 16, 224, 57, 17)
$Cf1 = GUICtrlCreateCheckbox("F1 Merchant", 16, 256, 81, 17)
$Ispeed = GUICtrlCreateInput($was[0], 160, 224, 65, 16)
$IHoehe = GUICtrlCreateInput($was[1], 160, 240, 65, 16)
$IF1 = GUICtrlCreateInput($sta[0], 160, 256, 65, 16)
$LUG = GUICtrlCreateLabel("UG", 16, 240, 20, 17)
GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor(-1, 0)
$Lzurueck = GUICtrlCreateLabel("Zurück", 40, 240, 38, 17)
GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor(-1, 0)
$Loptionen = GUICtrlCreateLabel("Optionen", 96, 320, 47, 17)
GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor(-1, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
#EndRegion ### END Koda GUI section ###
GUISetState(@SW_SHOW)
#include-once
Func _optionen()
#Region ### START Koda GUI section ### Form=
GUICreate("Optionen", 248, 254, 303, 219)
GUISetIcon("D:\005.ico")
GUICtrlCreateTab(8, 8, 236, 208)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
GUICtrlCreateTabItem("Allgemein")
GUICtrlCreateGroup("Meds", 16, 40, 217, 73)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
GUICtrlCreateLabel("Health Meds", 24, 56, 63, 18)
GUICtrlCreateLabel("Mana Meds", 24, 80, 59, 18)
$IHealthMeds = GUICtrlCreateInput($hm, 176, 56, 33, 18)
$IManaMeds = GUICtrlCreateInput($mm, 176, 80, 33, 18)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup("Pot Optionen", 12, 117, 217, 57)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Radio1 = GUICtrlCreateRadio("Per Pixel", 24, 136, 113, 17)
If $pot = "Pixel" Then GUICtrlSetState(-1, $GUI_CHECKED)
$Radio2 = GUICtrlCreateRadio("Per Memory", 24, 152, 113, 17)
If $pot = "Memory" Then GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateTabItem("Pointer")
GUICtrlCreateGroup("Pointer Adresse", 16, 40, 217, 41)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$LPointer = GUICtrlCreateLabel("Pointer Adresse", 24, 56, 82, 18)
$IPointer = GUICtrlCreateInput($ur[0], 144, 56, 81, 18)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup("Offsets", 16, 88, 217, 113)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
GUICtrlCreateLabel("Speed Offset", 24, 104, 69, 18)
$ISpeedOff = GUICtrlCreateInput($off[0], 144, 104, 81, 18)
GUICtrlCreateLabel("UG Offset", 24, 128, 53, 18)
$IUGOff = GUICtrlCreateInput($off[1], 144, 128, 81, 18)
GUICtrlCreateLabel("Current HP Offset", 24, 152, 90, 18)
$ICurHPOff = GUICtrlCreateInput($off[2], 144, 152, 81, 18)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateTabItem("Statische Adressen")
GUICtrlCreateGroup("Statische Adresen", 16, 40, 217, 121)
GUICtrlCreateLabel("F1 Merchant", 24, 56, 64, 17)
$IF1 = GUICtrlCreateInput($add[0], 144, 56, 81, 17)
GUICtrlCreateLabel("Max HP", 24, 80, 42, 17)
$IMaxHP = GUICtrlCreateInput($add[1], 144, 80, 81, 17)
GUICtrlCreateLabel("Max MP", 24, 104, 43, 17)
GUICtrlCreateLabel("Cur MP", 24, 128, 39, 17)
$IMaxMP = GUICtrlCreateInput($add[2], 144, 104, 81, 17)
$ICurMP = GUICtrlCreateInput($add[3], 144, 128, 81, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateTabItem("")
$BOK = GUICtrlCreateButton("&OK", 86, 224, 75, 25, 0)
$BAbbruch = GUICtrlCreateButton("Abbruch", 166, 224, 75, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUISetState(@SW_HIDE)
ExitLoop
Case $BAbbruch
GUISetState(@SW_HIDE)
ExitLoop
Case $BOK
$ur[0] = GUICtrlRead($IPointer)
$off[0] = GUICtrlRead($ISpeedOff)
$off[1] = GUICtrlRead($IUGOff)
$off[2] = GUICtrlRead($ICurHPOff)
$add[0] = GUICtrlRead($IF1)
$add[1] = GUICtrlRead($IMaxHP)
$add[2] = GUICtrlRead($IMaxMP)
$add[3] = GUICtrlRead($ICurMP)
$hm = GUICtrlRead($IHealthMeds)
$mm = GUICtrlRead($IManaMeds)
If $Radio1 And BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) = $GUI_CHECKED Then $pot = "Pixel"
If $Radio2 And BitAND(GUICtrlRead($Radio2), $GUI_CHECKED) = $GUI_CHECKED Then $pot = "Memory"
IniWrite("config.ini", "Memory", "Pointer Addresse", $ur[0])
IniWrite("config.ini", "Memory", "Speed Offset", $off[0])
IniWrite("config.ini", "Memory", "Höhe Offset", $off[1])
IniWrite("config.ini", "Memory", "Health Offset", $off[2])
IniWrite("config.ini", "Memory", "F1 Addresse", $add[0])
IniWrite("config.ini", "Memory", "Health Addresse", $add[1])
IniWrite("config.ini", "Memory", "Max Mana Addresse", $add[2])
IniWrite("config.ini", "Memory", "Mana Addresse", $add[3])
IniWrite("config.ini", "KalBot", "HealthMeds", $hm)
IniWrite("config.ini", "KalBot", "ManaMeds", $mm)
IniWrite("config.ini", "KalBot", "Potten", $pot)
GUISetState(@SW_HIDE)
ExitLoop
EndSwitch
WEnd
EndFunc
#include-once
Func _Tut()
#Region ### START Koda GUI section ### Form=
GUICreate("Read Me", 421, 544, 490, 147)
GUICtrlCreateLabel("1. Damit der Bot überhaupt Mobs finden kann müssen diese Lila sein, um dies zu", 16, 16, 386, 17)
GUICtrlCreateLabel("erreichen bennent ihr den Ordner data\Monster\Clothes\Tex in Tex2 um", 24, 32, 345, 17)
GUICtrlCreateLabel("Der Bot arbeitet nur auf P-Servern, da Leben und Mana direkt aus", 16, 456, 391, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlCreateLabel("der Memory ausgelesen werden", 16, 472, 189, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlCreateLabel("Grün: Targetleiste", 216, 104, 100, 17)
GUICtrlCreateLabel("3. Das Spiel muss im Fenstermodus ausgeführt werden", 16, 248, 261, 17)
$Button1 = GUICtrlCreateButton("OK", 152, 504, 75, 25, 0)
GUICtrlCreateLabel("Mit Blow Up kann jede Attack, die mit einmaligem Rechtsklick den Mob runterhaut", 16, 312, 391, 17)
GUICtrlCreateLabel("ausgeführt werden z.B. Lightning Magic, Ice Magic usw", 16, 328, 266, 17)
GUICtrlCreateLabel("Mit Auto Attack wird einfach nur Links auf den Mob geklickt", 16, 352, 286, 17)
GUICtrlCreateLabel("'Bewegen' nur nicht anklicken wenn die Mobs einen Spawn haben und sich die", 16, 376, 386, 17)
GUICtrlCreateLabel("Kamara selbst dann nicht drehen soll, wenn mal kein Mob da ist", 16, 392, 303, 17)
GUICtrlCreateLabel("Generel:", 16, 288, 44, 17)
GUICtrlCreateLabel("Wenn der Bot gestartet wird muss die Targetleiste leer sein", 16, 416, 280, 17)
GUICtrlCreateLabel("ansonsten muss man gegebenenfalls den ersten Mob selbst umhauen", 16, 432, 332, 17)
GUICtrlCreateLabel("2. Die Targetleiste muss sich am oberen Rand von KalOnline befinen", 16, 56, 328, 17)
GUICtrlCreatePic("bot.jpg", 24, 104, 172, 124)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUISetState(@SW_HIDE)
ExitLoop
Case $Button1
GUISetState(@SW_HIDE)
ExitLoop
EndSwitch
WEnd
EndFunc
#include-once
Func _behead($left,$top,$right,$bottom,$color,$shadevar iation = 0,$step = 1,$curExt = @extended)
ControlSend("KalOnline", "", $handle,1)
Local $RGBmin [3]
Local $RGBmax [3]
Local $coord [2]
$RGB = _ColorGetRGB($color)
For $i = 0 to 2
$RGBmin[$i] = $RGB[$i] - $shadevariation
If $RGBmin[$i] < 0 then $RGBmin[$i] = 0
Next
$Cmin = _ColorSetRGB ($RGBmin)
For $i = 0 to 2
$RGBmax[$i] = $RGB[$i] + $shadevariation
If $RGBmax[$i] > 255 then $RGBmax[$i] = 255
Next
$Cmax = _ColorSetRGB ($RGBmax)
For $coord [1] = $top to $bottom Step $step
For $coord [0] = $left to $right Step $step
If PixelGetColor($coord[0],$coord[1]) >= $Cmin and PixelGetColor($coord[0],$coord[1]) <= $Cmax Then
MouseClick("right",$coord[0],$coord[1])
EndIf
Next
Next
ControlSend("KalOnline", "", $handle, $my)
EndFunc
Func _ColorSetRGB($aColor, $curExt = @extended)
If UBound($aColor) <> 3 Then Return SetError(1, 0, -1) ; invalid array
Local $nColor = 0, $iColor
For $i = 0 to 2
$nColor = BitShift($nColor, -8)
$iColor = $aColor[$i]
If $iColor <0 Or $iColor > 255 Then Return SetError(2, 0, -1) ; invalid color value
$nColor += $iColor
Next
Return SetExtended($curExt, $nColor)
EndFunc
Func _ColorGetRGB($nColor, $curExt = @extended)
If BitAND($nColor, 0xFF000000) Then Return SetError(1, 0, 0) ; invalid COLOREF value
Local $aColor[3]
$aColor[0] = BitAND(BitShift($nColor, 16), 0xFF)
$aColor[1] = BitAND(BitShift($nColor, 8), 0xFF)
$aColor[2] = BitAND($nColor, 0xFF)
Return SetExtended($curExt, $aColor)
EndFunc
no further support.
it is indeed easier to write a bot your self than to understand a other bot
|
Hay Timo264 I saw in ur code memory read can u tell me how can i fix that little code to work and why its wont work right now ? maybe kalonline block something
in AU so i dont know how u can read memory.
here is simply code i write to test and its wont read result value always = 0 speed or cord...
Code:
#include <nomadmemory.au3>
#RequireAdmin
$Open = _MemoryOpen(ProcessExists("engine.exe"))
$error = @error
If $error = 1 Then
MsgBox(0,"Memoryread","Error getting the Process-ID!")
ElseIf $error = 2 Then
MsgBox(0,"Memoryread","Error opening kernel32.dll!")
ElseIf $error = 3 Then
MsgBox(0,"Memoryread","Can't open the Process!")
EndIf
$base = Dec("006F3840")
$offset1 = Dec("4640")
$offset2 = Dec("4B14")
$curCORD = _MemoryPointerRead($base, $Open, $offset1)
$curSPEED = _MemoryPointerRead($base, $Open, $offset2)
msgbox(1,"adress","Coordinate:"& "
|
|
|
03/03/2011, 21:06
|
#11
|
elite*gold: 0
Join Date: Dec 2010
Posts: 1,196
Received Thanks: 682
|
you missed the last ")" 
and make sure you have the right coordinates.
in my source code there shouldn't be any readmemory parts.
if there ist something with read memory, you have to change it into pixel search.
and the speed and z-coord address i used are for p-server only
|
|
|
03/04/2011, 14:00
|
#12
|
elite*gold: 0
Join Date: Jan 2008
Posts: 310
Received Thanks: 50
|
ya i did take from ur source and the ")" was becouse deleted on elite ;p in code is fine,
anyway i put ur part of source but still dont work value is 0 xd could u upload full source in zip one? or look my code :P? please ;d
Code:
#include <nomadmemory.au3>
#RequireAdmin
$Open = _MemoryOpen(ProcessExists("engine.exe"))
$error = @error
If $error = 1 Then
MsgBox(0,"Memoryread","Error getting the Process-ID!")
ElseIf $error = 2 Then
MsgBox(0,"Memoryread","Error opening kernel32.dll!")
ElseIf $error = 3 Then
MsgBox(0,"Memoryread","Can't open the Process!")
EndIf
$base = Dec("006F3840")
$offset1 = Dec("4640")
$offset2 = Dec("4B14")
$spid = 0x04571834
$ur = "0x006F3840"
$off = "0x4B14"
$Point = _memoryread($ur, $Open, 'dword')
$30 = "0x" & Hex($Point + $off)
$was = _MemoryRead($30, $Open, 'dword')
$curCORD = _MemoryPointerRead($base, $Open, $offset1)
$curSPEED = _MemoryPointerRead($base, $Open, $offset2)
msgbox(1,"adress","Coordinate:"& " "&$curCORD & " "& "Speed:" & " "& $curSPEED & " "& "inna:" & " "& $was)
|
|
|
All times are GMT +1. The time now is 06:20.
|
|