bb boleh minta editan auto heal yg pertama kali kk pasting ga??
editan yg cc kasih itu bkn yg autoheal pertama lho
thx yah cc ^^
yang ini???
gw dah gak maen domo lg...
lagi test2 di seal, soalnya gak punya evil pet sich wakakaka
[codebox];for domo autoskill
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=d:\aform1.kxf
$Form1_1 = GUICreate("Domo Auto Skill", 474, 107, -1, -1)
$Label4 = GUICtrlCreateLabel("Hit Point", 8, 16, 44, 17)
$Label5 = GUICtrlCreateLabel("Mana Point", 8, 40, 58, 17)
$Input4 = GUICtrlCreateInput("", 72, 16, 57, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$Input5 = GUICtrlCreateInput("", 72, 40, 57, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$Label1 = GUICtrlCreateLabel("Status", 8, 72, 34, 17)
$Input1 = GUICtrlCreateInput("", 72, 72, 385, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$Button1 = GUICtrlCreateButton("Start", 392, 16, 65, 25, 0)
$Label2 = GUICtrlCreateLabel("Pet Hit Point", 160, 16, 63, 17)
$Label3 = GUICtrlCreateLabel("Pet Mana Point", 160, 40, 77, 17)
$Input2 = GUICtrlCreateInput("", 240, 16, 57, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$Input3 = GUICtrlCreateInput("", 240, 40, 57, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
;variable declaration
dim $skill_name[10]
; nama skill (iseng doank hahahaha)
dim $delay[10]
; delay skill itu refresh (dalam itungan detik)
dim $countdown[10]
; gak usah diisi
dim $type[10]
; 1. countdown
; 2. HP
; 3. MP
; 4. HP&MP
dim $min_hp[10]
dim $max_hp[10]
dim $min_mp[10]
dim $max_mp[10]
dim $shortcut[10]
; shortcut yang dipake di game domonya
dim $target[10]
; 1. none
; 2. self
; 3. monster
; 4. party member 1
; 5. party member 2
dim $use_flag[10]
; 1. jika dipake
; 0. jika gak dipake
$healt_address = 0x0091DAD8 ; alamat healt (sejauh ini sama kalo di kompie gw dan client pertama domo)
$mana_address = 0x0091DAE0 ; alamat mana (sejauh ini sama kalo di kompie gw dan client pertama domo)
$healt_pet_address = 0x00903D4A ; alamat healt (sejauh ini sama kalo di kompie gw dan client pertama domo)
$mana_pet_address = 0x0095C7A6 ; alamat mana (sejauh ini sama kalo di kompie gw dan client pertama domo)
$petsummon = True
$currentPetHealth = 0
$currentPetMana = 0
$currentHealth = 0
$currentMana = 0
$Process = "DOMO.EXE"
; TOLONG UBAH INI KALO DIPATCH ATAU LAIN2!!
$domo_title = "DOMO - Dream Of Mirror Online(Aug 21 2007)"
;system function
Func Terminate()
Exit 0
EndFunc
HotKeySet("{ESC}", "Terminate")
;mem read write
Global Const $MEM_O = 0x8
Global Const $MEM_R = 0x10
Global Const $MEM_W = 0x20
Func _MemOpen($i_dwDesiredAccess, $i_bInheritHandle, $i_dwProcessId)
$ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', $i_dwDesiredAccess, 'int', $i_bInheritHandle, 'int', $i_dwProcessId)
If @error Then
SetError(1)
Return 0
EndIf
Return $ai_Handle[0]
EndFunc ;==> _MemOpen()
Func _MemRead($i_hProcess, $i_lpBaseAddress, $i_nSize, $v_lpNumberOfBytesRead = '')
Local $v_Struct = DllStructCreate ('byte[' & $i_nSize & ']')
DllCall('kernel32.dll', 'int', 'ReadProcessMemory', 'int', $i_hProcess, 'int', $i_lpBaseAddress, 'int', DllStructGetPtr ($v_Struct, 1), 'int', $i_nSize, 'int', $v_lpNumberOfBytesRead)
Local $v_Return = DllStructGetData ($v_Struct, 1)
;DllStructDelete ($v_Struct)
Return $v_Return
EndFunc ;==> _MemRead()
Func _MemWrite($i_hProcess, $i_lpBaseAddress, $v_Inject, $i_nSize, $v_lpNumberOfBytesRead = '')
Local $v_Struct = DllStructCreate ('byte[' & $i_nSize & ']')
DllStructSetData ($v_Struct, 1, $v_Inject)
$i_Call = DllCall('kernel32.dll', 'int', 'WriteProcessMemory', 'int', $i_hProcess, 'int', $i_lpBaseAddress, 'int', DllStructGetPtr ($v_Struct, 1), 'int', $i_nSize, 'int', $v_lpNumberOfBytesRead)
;DllStructDelete ($v_Struct)
Return $i_Call[0]
EndFunc ;==> _MemWrite()
Func _MemClose($i_hProcess)
$av_CloseHandle = DllCall('kernel32.dll', 'int', 'CloseHandle', 'int', $i_hProcess)
Return $av_CloseHandle[0]
EndFunc ;==> _MemClose()
Func _HexadecimalToDecimal($var)
$Result = 0
$Sum = 0
$Power = 0
Do
$CurrentDigit = StringRight($var, $Power + 1)
$CurrentDigit = StringLeft($CurrentDigit, 1)
If $CurrentDigit = "A" Then
$CurrentDigit = 10
ElseIf $CurrentDigit = "B" Then
$CurrentDigit = 11
ElseIf $CurrentDigit = "C" Then
$CurrentDigit = 12
ElseIf $CurrentDigit = "D" Then
$CurrentDigit = 13
ElseIf $CurrentDigit = "E" Then
$CurrentDigit = 14
ElseIf $CurrentDigit = "F" Then
$CurrentDigit = 15
EndIf
$Result = $CurrentDigit * 16 ^ $Power
$Power += 1
$Sum += $Result
Until $CurrentDigit = "x"
Return $Sum
EndFunc ;==>_HexadecimalToDecimal
;domo function
func get_health()
$v_Open = _MemOpen($MEM_R, False, ProcessExists($Process))
$v_Read = _MemRead($v_Open, $healt_address, 1)
$v_hex = $v_Read
$v_Read = _MemRead($v_Open, $healt_address + 1 , 1)
$v_Close = _MemClose($v_Open)
$v_hex = $v_Read + $v_hex
return _HexadecimalToDecimal($v_hex)
EndFunc
func get_mana()
$v_Open = _MemOpen($MEM_R, False, ProcessExists($Process))
$v_Read = _MemRead($v_Open, $mana_address, 1)
$v_hex = $v_Read
$v_Read = _MemRead($v_Open, $mana_address + 1 , 1)
$v_Close = _MemClose($v_Open)
$v_hex = $v_Read + $v_hex
return _HexadecimalToDecimal($v_hex)
EndFunc
func get_pet_health()
$v_Open = _MemOpen($MEM_R, False, ProcessExists($Process))
$v_Read = _MemRead($v_Open, $healt_pet_address, 1)
$v_hex = $v_Read
$v_Read = _MemRead($v_Open, $healt_pet_address + 1 , 1)
$v_Close = _MemClose($v_Open)
$v_hex = $v_Read + $v_hex
return _HexadecimalToDecimal($v_hex)
EndFunc
func get_pet_mana()
$v_Open = _MemOpen($MEM_R, False, ProcessExists($Process))
$v_Read = _MemRead($v_Open, $mana_pet_address, 1)
$v_hex = $v_Read
$v_Read = _MemRead($v_Open, $mana_pet_address + 1 , 1)
$v_Close = _MemClose($v_Open)
$v_hex = $v_Read + $v_hex
return _HexadecimalToDecimal($v_hex)
EndFunc
Func getdata()
; keterangan lihat deklarasi variable diatas
; untuk lebih baik jika mau di share jadi executable, gunakan setting ini di file text... males nerusin :lol: )
;SKILL 1
$use_flag[0] = 1
$skill_name[0] = "Premotion"
$delay[0] = 1
$countdown[0] = 0
$type[0] = 1
$min_hp[0] = 0
$max_hp[0] = 0
$shortcut[0] = "{F10}"
$target[0] = 1
;SKILL 2
$use_flag[1] = 1
$skill_name[1] = "Heal Pet"
$delay[1] = 1
$countdown[1] = 0
$type[1] = 1
$min_hp[1] = 0
$max_hp[1] = 0
$shortcut[1] = "{F7}"
$target[1] = 1
;SKILL 3
$use_flag[2] = 1
$skill_name[2] = "Take Item"
$delay[2] = 1
$countdown[2] = 0
$type[2] = 1
$min_hp[2] = 0
$max_hp[2] = 0
$shortcut[2] = "{F5}"
$target[2] = 1
;SKILL 4
$use_flag[3] = 1
$skill_name[3] = "Adj Breath"
$delay[3] = 1
$countdown[3] = 0
$type[3] = 1
$min_hp[3] = 0
$max_hp[3] = 0
$shortcut[3] = "{F3}"
$target[3] = 1
;SKILL 5
$use_flag[4] = 0
$skill_name[4] = "Evade"
$delay[4] = 360
$countdown[4] = 10
$type[4] = 1
$min_hp[4] = 0
$max_hp[4] = 0
$shortcut[4] = "{F7}"
$target[4] = 1
;SKILL 6
$use_flag[5] = 0
$skill_name[5] = "Heal"
$delay[5] = 10
$countdown[5] = 10
$type[5] = 1
$min_hp[5] = 0
$max_hp[5] = 900-180
$shortcut[5] = "{F1}"
$target[5] = 1
;SKILL 7
$use_flag[6] = 0
$skill_name[6] = "Heal"
$delay[6] = 10
$countdown[6] = 10
$type[6] = 1
$min_hp[6] = 0
$max_hp[6] = 900-180
$shortcut[6] = "{F1}"
$target[6] = 1
;SKILL 8
$use_flag[7] = 0
$skill_name[7] = "Heal"
$delay[7] = 10
$countdown[7] = 10
$type[7] = 1
$min_hp[7] = 0
$max_hp[7] = 900-180
$shortcut[7] = "{F1}"
$target[7] = 1
;SKILL 9
$use_flag[8] = 0
$skill_name[8] = "Heal"
$delay[8] = 10
$countdown[8] = 10
$type[8] = 1
$min_hp[8] = 0
$max_hp[8] = 900-180
$shortcut[8] = "{F1}"
$target[8] = 1
;SKILL 10
$use_flag[9] = 0
$skill_name[9] = "Heal"
$delay[9] = 10
$countdown[9] = 10
$type[9] = 1
$min_hp[9] = 0
$max_hp[9] = 900-180
$shortcut[9] = "{F1}"
$target[9] = 1
EndFunc
;Module
getdata()
;run("d:\hunt.exe")
While 1
WinWaitActive($domo_title) ;judul titlenya gak ada jadi diskip karena koneksi ke domo terputus :lol: ( gak bisa maen dari sini huhuhuhu
$currentLife = get_health()
GUICtrlSetData($Input4,$currentLife)
$currentMana = get_mana()
GUICtrlSetData($Input5,$currentMana)
$currentPetHealth = get_pet_health()
GUICtrlSetData($Input2,$currentPetHealth)
$currentPetMana = get_pet_mana()
GUICtrlSetData($Input3,$currentPetMana)
sleep(1000)
$skillno = 0
while $skillno<10
; 1. countdown
if $use_flag[$skillno] =1 then
if $type[$skillno] = 1 Then
if $countdown[$skillno] = 0 Then
send($shortcut[$skillno])
if $target[$skillno] = 2 Then
sleep(500)
send("!1")
EndIf
sleep(500)
$countdown[$skillno] = $delay[$skillno]
Else
$countdown[$skillno] = $countdown[$skillno] - 1
EndIf
elseif $type[$skillno] = 2 Then ; 2. HP
if (($currentLife < $max_hp[$skillno]) and ($currentLife > $min_hp[$skillno])) Then
send($shortcut[$skillno])
if $target[$skillno] = 2 Then
sleep(500)
send("!1")
EndIf
sleep(500)
EndIf
elseif $type[$skillno] = 3 Then ; 3. MP
if (($currentMana < $max_hp[$skillno]) and ($currentMana > $min_hp[$skillno])) Then
send($shortcut[$skillno])
if $target[$skillno] = 2 Then
sleep(500)
send("!1")
EndIf
sleep(500)
EndIf
elseif $type[$skillno] = 4 Then ; 4. HP & MP
if ((($currentMana < $max_hp[$skillno]) and ($currentMana > $min_hp[$skillno])) and (($currentLife < $max_hp[$skillno]) and ($currentLife > $min_hp[$skillno]))) Then
send($shortcut[$skillno])
if $target[$skillno] = 2 Then
sleep(500)
send("!1")
EndIf
sleep(500)
EndIf
EndIf
EndIf
$skillno = $skillno + 1
WEnd
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
[/codebox]