$version01 = "Version 68.8 > BFS " $version_random_id = " ID"&Random(1000,9999,1) $version01 = $version01&$version_random_id #include #include #Include #Include #include ;#include "FastFind.au3" #include #include #RequireAdmin ; ko thong bao khi thieu var co them quyen admin ghi vao bo x32 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "WinHttp.au3" #include "demem.au3" #include #include #include ;#include "VirtDsktLibrary01.au3" #include #include #include ;2572317448 normal 29448 FA8A00F0 ;2572317480 hell 1 29480 FA8A7550 ;2572317736 hell 2 29736 FA8FD6D0 ;2572317832 hell 3 29832 FA9426F0 ;2572317928 infeno1 29928 D2309D90 auto_msi01() auto_msi01("C:\Program Files\Sandboxie\SbieCtrl.exe","SbieCtrl.exe") Run("C:\Program Files (x86)\MSI Afterburner\MSIAfterburner.exe -profile1", "", @SW_HIDE) $no_fog_fix01 = 1 ; bi loi ngat tam $vtmem_autoitX = _MemVirtualAlloc(0x0, 0x2B0000, $MEM_COMMIT, $PAGE_EXECUTE_READWRITE) ; khoi tao 1 lan duy nhat khong se bi error memory $vtmem_autoit_screenX = _MemVirtualAlloc(0x0, 0x2B0000, $MEM_COMMIT, $PAGE_EXECUTE_READWRITE) ; khoi tao 1 lan duy nhat khong se bi error memory $tCodeBuffer = ASM64_opcode01vtmem() ; khoi tao 1 lan duy nhat khong se bi error memory $trade_case01 = 1 ; 0 = load char name + load platinum, 1 = load char name + 0 platinum, 2 = 0 char name + 0 platinum $no_fog_of_war01 = 1 ; bat = 1 tat = 0 $find_map_large01on = $no_fog_of_war01 ; bat = 1 tat = 0 $mini_map_no_fog01 = 1 ; bat = 1 tat = 0 $equip_item01on = 1 ; bat = 1 tat = 0 $help_hide01on = 1 ; bat = 1 tat = 0 $a_star_step01loop = 2 ; array step a star / 4 $a_star_step01move = 2 ; player step / 2 $a_star_step_swith01 = 2 ; cham = 1 nhanh = 2 $find_enemy_2d_map01on = 1 ; bat = 1 tat = 0 $rewands_codex00on = 1 $tile_battle_log01max = 35 ; wait login 30 > 35 $not_server01max = 7 $login_pass_max01 = 3 ; moi lan restart go pass 3 lan $a_star01test = 1 ; 1 = bat 0 = tat $local_case01 = 0 $local_path01max = 0 $a_local02 = _find_a_star01("A_A") ; check run a star $a_sandbox_fix01 = 0 ; 0 = off > num > 0 = on $a_sandbox_name01 = "b" $a_sandbox_fix02 = 0 ; 0 = off > num > 0 = on $a_sandbox_name02 = "b" $a_sandbox_fix03 = 0 ; 0 = off > num > 0 = on $a_sandbox_name03 = "b" If $a_local02[0] = 0 Then ; ko thay a star off = 0 $a_star01test = 0 EndIf $scale0 = 2.6 $map_c01x = Int(64/$scale0) $map_c01y = Int(43/$scale0) $tsize45x = 2 $tsize45y = 2 $tsizex00max = 2 $tsizey00max = 2 $a_star01x = 0 $a_star01y = 0 $a_star03x = 0 $a_star03y = 0 $Dis_star01min = 4 ; a star run > 5 $Dis_star01max = 10 ; ; a star run < 12 $a_star_dis02min = 6 $a_star_dis02max = 12 $a_star_dis02num = 0 $player_center01x = 350 $player_center01y = 247 $tooltip_mouse01 = 0 If $find_map_large01on = 0 Then $start_red_x01 = 141 $start_red_y01 = 11 ElseIf $find_map_large01on = 1 Then $start_red_x01 = $map_c01x $start_red_y01 = $map_c01y EndIf ; Select | Num | GMAIL | CHROME | DATA | BLOG | CHU DE | USDT | GHI CHU ;|1|[#] [a1] Diablo Immortal [#]|0x000002413FCF0000|171.241.120.15 * |PK1_test1|map37_standard_e| 0 | GHI CHU ;|2|[#] [a2] Diablo Immortal [#]|0x0000000000000000|171.241.120.15 * |PK2_test1| CHU DE | 0 | GHI CHU ;|3|[#] [a3] Diablo Immortal [#]|0x0000000000000000|171.241.120.15 * |PK3_test1| CHU DE | 0 | GHI CHU ;|4|[#] [a4] Diablo Immortal [#]|0x0000000000000000|171.241.120.15 * |PK4_test1| CHU DE | 0 | GHI CHU ;|5|[#] [a5] Diablo Immortal [#]|0x0000000000000000|171.241.120.15 * |PK5_test1| CHU DE | 0 | GHI CHU ;|6|[#] [a6] Diablo Immortal [#]|0x0000000000000000|171.241.120.15 * |PK6_test1| CHU DE | 0 | GHI CHU ;|7|[#] [a7] Diablo Immortal [#]|0x0000000000000000|171.241.120.15 * |PK7_test1| CHU DE | 0 | GHI CHU ;|8|[#] [a8] Diablo Immortal [#]|0x0000000000000000|171.241.120.15 * |PK8_test1| CHU DE | 0 | GHI CHU ;|9|[#] [a9] Diablo Immortal [#]|0x0000000000000000|171.241.120.15 * |0| CHU DE | 0 | GHI CHU ;|10|[#] [a10] Diablo Immortal [#]|0x0000000000000000|171.241.120.15 * |0| CHU DE | 0 | GHI CHU ;|11|[#] [a11] Diablo Immortal [#]|0x0000000000000000|171.241.120.15 * |0| CHU DE | 0 | GHI CHU ;|12|[#] [a12] Diablo Immortal [#]|0x0000000000000000|171.241.120.15 * |0| CHU DE | 0 | GHI CHU ;|13|[#] [a13] Diablo Immortal [#]|0x000001F3D8940000|171.241.120.15 * |0|lab_standard_n_1| 0 | GHI CHU ;|14|[#] [a14] Diablo Immortal [#]|0x00000270AE8E0000|171.241.120.15 * |0|hell_standard_e_| 0 | GHI CHU ;|15|[#] [a15] Diablo Immortal [#]|0x0000022849780000|171.241.120.15 * |0|lab_standard_n_1| 0 | GHI CHU ;|16|[#] [a16] Diablo Immortal [#]|0x0000025D962D0000|171.241.120.15 * |0|hell_standard_w_| 0 | GHI CHU ;|17|[#] [a17] Diablo Immortal [#]|0x00000174972E0000|171.241.120.15 * |0|map37_standard_e| 0 | GHI CHU ;|18|[#] [a18] Diablo Immortal [#]|0x0000000000000000|171.241.120.15 * |0| CHU DE | 0 | GHI CHU ;|19|[#] [a19] Diablo Immortal [#]|0x000001475BED0000|171.241.120.15 * |0|lab_standard_ne_| 0 | GHI CHU ;|20|[#] [a20] Diablo Immortal [#]|0x00000181280C0000|171.241.120.15 * |0|map37_standard_n| 0 | GHI CHU ;|21|[#] [a21] Diablo Immortal [#]|0x000001BFB75C0000|171.241.120.15 * |0|map37_standard_s| 0 | GHI CHU ;|22|[#] [a22] Diablo Immortal [#]|0x00000184F2260000|171.241.120.15 * |0|lab_standard_e_1| 0 | GHI CHU ;|23|[#] [a23] Diablo Immortal [#]|0x0000000000000000|171.241.120.15 * |0| CHU DE | 0 | GHI CHU ;|24|[#] [a24] Diablo Immortal [#]|0x0000000000000000|171.241.120.15 * |0| CHU DE | 0 | GHI CHU Func _find_a_star01($tile_a_star0="A_A12 ") ; find a star --------------------------------------------------------------- $title_a_star01 = all_cuaso03($tile_a_star0) $find_title_a_star01 = StringInStr($title_a_star01[0], "vtmem=") $vtmem_a_star01 = StringMid($title_a_star01[0], $find_title_a_star01+8, 16) $vtmem_a_star01 = Dec($vtmem_a_star01) ; Convert the string to a hex string. $find_title_a_star01 = StringInStr($title_a_star01[0], "pid=") $pid_a_star01 = StringMid($title_a_star01[0], $find_title_a_star01+4, 18) ;MsgBox($MB_SYSTEMMODAL, "", "Title: "&$title_a_star01[0]&@CRLF&"Handle: "&$title_a_star01[1]&@CRLF&"vtmem: "&$vtmem_a_star01&@CRLF&"pid: "&$pid_a_star01) $loopacc = 1 $acc_max02 = 24 $vtmem_local01 = $vtmem_a_star01+0x10000 ; 0x24000 Dim $a_local01[$acc_max02 + 1] $a_local01[0] = $vtmem_a_star01 For $loopacc = 1 to $acc_max02 $a_local01[$loopacc] = $vtmem_local01+0x1000*$loopacc ;MsgBox($MB_SYSTEMMODAL, "", "$vtmem_a_star01: "&Hex($vtmem_a_star01)&" $a_local01[$loopacc]: "&Hex($a_local01[$loopacc]) ) Next ;$loopacc = 1 Global $procHwnd_autoit02 = _Memoryopen($pid_a_star01,0x1f0fff,0) ;MsgBox($MB_SYSTEMMODAL, "", "$vtmem_a_star01: "&Hex($vtmem_a_star01)&" $a_local01[$loopacc]: "&Hex($a_local01[$loopacc]) ) ; $local_case01 = _MemoryRead64($a_local01[$loopacc]+0x0, $procHwnd_autoit02, 'byte[4]',"Dec") ; $local_path01max = _MemoryRead64($a_local01[$loopacc]+0x4, $procHwnd_autoit02, 'byte[4]',"Dec") ;MsgBox($MB_SYSTEMMODAL, "", "$local_case01: "&$local_case01&" $local_path01max: "&$local_path01max ) ;_ArrayDisplay($a_local01) ; end find a star --------------------------------------------------------------- Return $a_local01 EndFunc ;Opt("SendKeyDelay", 0) ;5 milliseconds ;Opt("SendKeyDownDelay", 0) ;1 millisecond ;Opt("MouseClickDelay", 0) ;10 milliseconds ;Opt("MouseClickDownDelay", 0) ;10 milliseconds ; https://us.battle.net/login/flow/start?ref=https%3A%2F%2Faccounts.google.com%2Fo%2Foauth2%2Fauth%3Fclient_id%3D196154489538-9rpkrg8u9qimu15c2p1gcas16qnocqrj.apps.googleusercontent.com%26response_type%3Dcode%26state%3DAWjtOQJ567zjaeWcyU9PCy_mc9hl1HVnBnZC8Ufys6Wxmanej1OEeYxQorlgCMm1JOyLNM9XFTftIhJmjVxEMDSSy_v0xpXtLc7Z1s41XNik-oQjCjnoqwcMuW4J4KajKSwRWB2RHiLHvdrI2Ao79Zo%253D%26scheme%26redirect_uri%3Dhttps%253A%252F%252Fus.battle.net%252Flogin%252Fsignin%252Fgoogle%26scope%3Dopenid%2Bprofile%2Bemail&return=http%3A%2F%2F127.0.0.1%3A22885%2Flogin-callback%2F1&returnHttps=https%3A%2F%2Flocalbattle.net%3A22885%2Flogin-callback%2F1&state=N0Y3MjQxQ0UtNTlEMC00RDZBLUI4QkQtM0YzQzY0MDNBMjI4&flow=login&secure=true&blzcmp=app ; C:\Program Files (x86)\Diablo Immortal\Engine\Binaries\Win64\DiabloImmortal.exe -launcherlogin --dx11 --sound-api=wwise --start=Python -uid anbs ; find battle.exe ; https://us.battle.net/login/flow/start?ref=https%3A%2F%2Faccounts.google.com%2Fo%2Foauth2%2Fauth%3Fclient_id%3D196154489538-9rpkrg8u9qimu15c2p1gcas16qnocqrj.apps.googleusercontent.com%26response_type%3Dcode%26state%3DAfCBwJITEzJncnbguB24IBH-VKShzKJNqriNsogmH21AsMU_z_yByMMIrsv53Hfrn38fE1_V7a4B9xQJPGq2s80_9FuaTYPVwemFSSA4bkhk81jRHVcKnU9kY32jgtllMS1LR1R4VmV87hhCwaf8XTk%253D%26scheme%26redirect_uri%3Dhttps%253A%252F%252Fus.battle.net%252Flogin%252Fsignin%252Fgoogle%26scope%3Dopenid%2Bprofile%2Bemail&return=http%3A%2F%2F127.0.0.1%3A22885%2Flogin-callback%2F1&returnHttps=https%3A%2F%2Flocalbattle.net%3A22885%2Flogin-callback%2F1&state=QzY3NDM2MUMtMkU4Qi00NkM4LUExNzMtMEU2Q0QyOEU0ODQ1&flow=login&secure=true&blzcmp=app ; https://us.battle.net/login/flow/start?ref=https%3A%2F%2Faccounts.google.com%2Fo%2Foauth2%2Fauth%3Fclient_id ; https://us.battle.net/login/flow/start?ref=https%3A%2F%2Faccounts.google.com%2Fo%2Foauth2%2Fauth%3Fclient_id%3D196154489538-9rpkrg8u9qimu15c2p1gcas16qnocqrj.apps.googleusercontent.com%26response_type%3Dcode%26state%3DAWojVoRvVAI_55jfKbSd5tVg59jvbuAlsM-fGKcdxJRu-m5H7roc6boR0lI1A-PpMP8agDWdPpT51ZmiNFbcm_naoYqpIQztVqmF4J8MF_Pw9kN1Lvh2wqyyQvZsggQ36aNtUK2X7AyJwW_-jL-WA_8%253D%26scheme%26redirect_uri%3Dhttps%253A%252F%252Fus.battle.net%252Flogin%252Fsignin%252Fgoogle%26scope%3Dopenid%2Bprofile%2Bemail&return=http%3A%2F%2F127.0.0.1%3A22885%2Flogin-callback%2F1&returnHttps=https%3A%2F%2Flocalbattle.net%3A22885%2Flogin-callback%2F1&state=QTk0MjU3MEUtREJDQi00RjMzLTkyM0QtOUI4MzcwOTM3OTYw&flow=login&secure=true&blzcmp=app ;_WinAPI_CreateColorAdjustment ( [$iFlags = 0 [, $iIlluminant = 0 [, $iGammaR = 10000 [, $iGammaG = 10000 [, $iGammaB = 10000 [, $iBlack = 0 [, $iWhite = 10000 [, $iContrast = 0 [, $iBrightness = 0 [, $iColorfulness = 0 [, $iTint = 0]]]]]]]]]]] ) ;D:\ce_address\asm_render_map_name03fixUSE.CEA chua fix ;D:\ce_address\asm_render_rift_defeat01fixUSE.CEA ;D:\ce_address\asm_target_hp02USE.CEA co the bi loi vi lui lai 5 byte vi ko du jmp ;Global $g_aDefault[11] = [10000, 10000, 10000, 250, 6000, 100, 0, 0, 0, 0, 0] ;set Tint to 100 > black Global $g_aDefault[11] = [65000, 17000, 65000, 4000, 10000, 100, 0, 0, 0, 0, 0] ;set Tint to 100 > White ;HotKeySet("{SPACE}", "check_point01") Func check_point01() $g_tile01 = WinGetTitle("","") $find_tile01 = StringInStr($g_tile01, "Diablo") HotKeySet("{SPACE}") If $find_tile01 > 0 then ; find title GUICtrlSetState( ($button_select02[1])[7-1], $GUI_CHECKED) Sleep(50) ElseIf $find_tile01 < 0+1 then ; find title Send("{SPACE}") EndIf HotKeySet("{SPACE}", "check_point01") EndFunc ;==>TogglePause $copy_view01 = 0 ; 0 = tat 1 = bat $view_screen01 = 1 ; 1 = tat 2 = copy screen ;If $copy_view01 = 1 Then $view_screen01 = 2 $view_zoom01train02 = 92 ; 10C 60% 55% > 90% > 95% click lech npc elder rift entran 82% hoac 100% $view_zoom01train01 = 96 ; 10C 60% 55% > 90% > 95% click lech npc elder rift entran 82% hoac 100% $view_zoom01 = $view_zoom01train02 ; 10C 60% 55% > 90% > 95% click lech npc elder rift entran 82% hoac 100% $view_zoom02 = 1 ; 120 3 $view_zoom05 = -10 ; 124 -15 $view_zoom03 = -1 ; 128 -3 $view_zoom04 = 1 ; 118 2 $title_x01 = 17 ; 20 = 60% > 90%, 18 = 95%>110% $title_y01 = 17 ; 20 = 60% > 90%, 18 = 95%>110% $path_map_test01 = 3 ; path find map mode 1 = speed 1, 2 = speed 1.5, 3 = speed 4 $desktop_screen01 = 0 $active_process = 0x7FFE0338 ; tim gia tri process $view_new_map01 = 2 ; 1 = new map, 0 = map train, 2 = fog map $view_array04 = 3 ; 1 = id enemy, 2 = data_trade , 3 = a star array $portal01x = 610 ; Default Portal x Elder Rift $portal01y = 450 ; Default Portal y Elder Rift $portal01max = -30 $name_server01 = "Helliquary" $name_server02 = "Darkening of Tristram" $name_server03 = "Viz-Jun" $name_server04 = "Lysander" $str_H5 = "H5" $str_D5 = "D5" $str_H4D1 = "H4D1" $str_BAN = "BAN" $str_V5 = "V5" $str_L5 = "L5" $str_D4V1 = "D4V1" $str_H4V1 = "H4V1" $str_D4H1 = "D4H1" $str_H4L1 = "H4L1" $str_D4L1 = "D4L1" $name_server01D4V1 = "Darkening of Tristram" $name_server02D4V1 = "Viz-Jun" $name_server01H4V1 = "Helliquary" $name_server02H4V1 = "Viz-Jun" $name_server01D4H1 = "Darkening of Tristram" $name_server02D4H1 = "Helliquary" $name_server01H4L1 = "Helliquary" $name_server02H4L1 = "Lysander" $name_server01D4L1 = "Darkening of Tristram" $name_server02D4L1 = "Lysander" $name_server01xchar = 4 $name_server02xchar = 1 $name_server03xchar = 5 $auto_server01char = 5 $auto_server02char = 5 $auto_server03char = 5 $name_server_default = $name_server01 $reset_move01max = 4 $select_max = 24 ; max 8 facebook > $acc_min = 1 $acc_max = 24 ; max 20 facebook $creatre_map01 = 0 $map_file01 = "MAP_" $map_folder01 = "c:\acc\map01\" $file_battle_pass00 = "0_MEO_D01_PASS.txt" $file_battle_mail00 = "0_MEO_D01_MAIL.txt" Global $data_pass[25] Global $data_mail[25] _FileReadToArray("c:\acc\"&$file_battle_pass00, $data_pass, $FRTA_COUNT) _FileReadToArray("c:\acc\"&$file_battle_mail00, $data_mail, $FRTA_COUNT) ;_ArrayDisplay($data_pass,"$data_pass") ; will show the the full path $file_battle_server00 = "0_MEO_D01_SERVER.txt" Global $data_server[25] _FileReadToArray("c:\acc\"&$file_battle_server00, $data_server, $FRTA_COUNT) ;_ArrayDisplay($data_server,"$data_server") ; will show the the full path $file_trade_server01heli = "0_MEO_D01TRADE.txt" $file_trade_server02dark = "2_MEO_D01TRADE.txt" $file_trade_server03heli = "3_MEO_D01TRADE.txt" $file_trade_server04dark = "4_MEO_D01TRADE.txt" $file_trade_server05viz = "5_MEO_D01TRADE.txt" $file_trade_server06viz = "6_MEO_D01TRADE.txt" $file_trade_server07lys = "7_MEO_D01TRADE.txt" $file_trade_server08lys = "8_MEO_D01TRADE.txt" $file_trade01 = $file_trade_server01heli $file_online01heli01 = "0_MEO_D01_input01.txt" ; file save load online $file_online02heli01 = "0_MEO_D01_input02.txt" ; file save load online $file_online01dark02 = "2_MEO_D01_input01.txt" ; file save load online $file_online02dark02 = "2_MEO_D01_input02.txt" ; file save load online $file_online01heli03 = "3_MEO_D01_input01.txt" ; file save load online $file_online02heli03 = "3_MEO_D01_input02.txt" ; file save load online $file_online01dark04 = "4_MEO_D01_input01.txt" ; file save load online $file_online02dark04 = "4_MEO_D01_input02.txt" ; file save load online $file_online01viz05 = "5_MEO_D01_input01.txt" ; file save load online $file_online02viz05 = "5_MEO_D01_input02.txt" ; file save load online $file_online01viz06 = "6_MEO_D01_input01.txt" ; file save load online $file_online02viz06 = "6_MEO_D01_input02.txt" ; file save load online $file_online01lys07 = "7_MEO_D01_input01.txt" ; file save load online $file_online02lys07 = "7_MEO_D01_input02.txt" ; file save load online $file_online01lys08 = "8_MEO_D01_input01.txt" ; file save load online $file_online02lys08 = "8_MEO_D01_input02.txt" ; file save load online $file_online01 = $file_online01heli01 ; file save load online $file_online02 = $file_online02heli01 ; file save load online Global Const $rows01 = 8+6 Global Const $cols01 = 11 _check_trade01($file_trade01) Func _check_trade01($file_trade00) $check_FileList = _FileListToArray("c:\acc\", $file_trade00) If UBound($check_FileList) > 0 Then Global $data_trade[$rows01][$cols01] _FileReadToArray("c:\acc\"&$file_trade00, $data_trade, $FRTA_NOCOUNT, "|" ) ElseIf UBound($check_FileList) < 0+1 Then If $file_trade01 = $file_trade_server01heli Then $phong_name00 = "PK1_HELLI" If $file_trade01 = $file_trade_server02dark Then $phong_name00 = "PK2_DARKE" If $file_trade01 = $file_trade_server03heli Then $phong_name00 = "PK3_HELLI" If $file_trade01 = $file_trade_server04dark Then $phong_name00 = "PK4_DARKE" If $file_trade01 = $file_trade_server05viz Then $phong_name00 = "PK5_VIZ" If $file_trade01 = $file_trade_server06viz Then $phong_name00 = "PK6_VIZ" If $file_trade01 = $file_trade_server07lys Then $phong_name00 = "PK7_LYS" If $file_trade01 = $file_trade_server08lys Then $phong_name00 = "PK8_LYS" Global $data_trade[$rows01][$cols01] = [["PHONG_"&$phong_name00,"CHAR1","P1","CHAR2","P2","CHAR3","P3","CHAR4","P4","CHAR5","P5"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["TONG","0","0","0","0","0","0","0","0","0","0"]] _FileWriteFromArray("c:\acc\"&$file_trade01, $data_trade, 0) EndIf ;_ArrayDisplay($data_trade,"PK_TEST_MH1CAY1") ; will show the the full path If $data_trade[0][0] <> "CHAR1 + "&@MON&"/"&@MDAY Then $data_trade[$rows01-1][2] = $data_trade[$rows01-1][1] EndIf EndFunc $cpu_sleep01 = 36 $train_hp01min = 40 ; con khoang 45-5% HP thi su dung HP POTION $skill_sleep00wait = 300 ; SKILL 0 danh thuong 0.25s $skill_sleep01wait = 1500 ; SKILL 1 summon danh xa 7s $skill_sleep02wait = 2000 ; SKILL 2 summon can chien 180s $skill_sleep03wait = 2500 ; SKILL 3 danh tap the 30s $skill_sleep04wait = 4000 ; SKILL 4 danh tap the 15s $skill_sleep05wait = 500 ; SKILL 5 use HP POTION 5s $skill_sleep06wait = 500 ; SKILL 6 use DROP 5s $skill_sleep07wait = 1000 ; find enemy tele 5s $skill_sleep08wait = 200 ; step move $step_move_sleep08wait = 1500 ; step move $quest_select_sleep01wait = 30000 $drag_sleep01wait = 9000 ; mouse drag $skill_sleep09wait = 30000 ; SKILL R LIMIT 30s $skill_sleep10wait = 3000 ; click npc + item quest $skill_sleep11wait = 5000 ; time asm find id enemy $skill_sleep12wait = 1500 ; time find id enemy > attack $skill_sleep21wait = 3*60000 ; loi click map 3p $step_sleep01wait = 4000 ; step move PARAGON_3_4 $ui_gui_sleep01wait = 4000 ; click ui and gui $space_sleep01wait = 3000 ; time SpaceAuto01 $space_distance01 = 6 ; khoang canh moi diem $space_distance01max = 8 $space_distance02 = 8 ; khoang canh moi diem $space_distance02max = 10 $space_sleep02wait = 3000 ; time Space move pathfind01 $Rift_sleep01wait = 3*60000 ; time Exit the Rift 14p > doi thanh sau 2p30 khong tim thay enemy tu exit $Rift_sleep02wait = 70000 ; time Exit the Rift 14p > doi thanh sau 70s khong tim thay map BACK MAP $fog_sleep01wait = 1500 ; time fog of war $green_sleep01wait = 1000 ; time fog of war green $boss_sleep01wait = 1000 ; time find boss $server_sleep01wait = 85000 ; vao lai server 1p15s 75000 > 85000 $battle_sleep_next01wait = 85000 ; Battlet > Diablo > 25s bat new tab diablo 75000 > 85000 $battle_log_sleep01wait = 3500 ; Battlet login 3 3000 > 3500 $battle_log_agree01wait = 3500 ; Battlet login 3 3000 > 3500 $battle_log_play01wait = 35000 ; Battlet login play 30000 > 35000 $battle_log_server_sleep01wait = 10000 ; 10000 = 10s $battle_log_pass_sleep01wait = 28000 ; Battlet > Diablo > 25s bat new diablo pass 25000 > 28000 $battle_log_dis_sleep01wait = 7*60000 ; 5*60000 = 7p $screen_sleep01wait = 22000 ; Battlet > Diablo > 25s bat new screen 15000 > 18000 $battle_disconnect_sleep01wait = 7*60000 ; Battlet > Diablo > 25s battle.net server disconnect 5*60000 = 7p $restart_sleep01wait = 160*60000 ; Battlet > Diablo > 150p > 160 $restart_view01 = 0 $video_sleep01wait = 30000 ; Battlet > Diablo > 150p If $find_map_large01on = 0 Then $a_star_sleep01wait = 9000 ; Battlet > Diablo > 150p ElseIf $find_map_large01on = 1 Then ;$a_star_sleep01wait = 60000 ; Battlet > Diablo > 150p $a_star_sleep01wait = 3000 ; Battlet > Diablo > 150p EndIf $a_star_run_sleep01wait = 3000 ; Battlet > Diablo > 150p $a_star_run_sleep02wait = 5000 ; Battlet > Diablo > 150p $b_map_large_sleep01wait = 60000 ; Battlet > Diablo > 150p $a_lag_wall_sleep01wait = 7*60000 ; 7*60000 = 7p $p_num01max = 3 ; run and stop speed $p_player_hp01max = 60 ; 45% HP > USE POTION > FULL 120% $sleep_shutdown01 = 120*60000 ; 120*60000 = 120p $sleep_thu_thap01 = 12*60000 ; 60*60000 = 60p > chay lai vi tri mo $sleep_captcha01 = 60*60000 ; 60*60000 = 60p > duoc phep su dung bot captcha $auto_wait01 = @HOUR & ":" & @MIN & ":" & @SEC ; "12:31:00" > $auto_wait01 > auto01 $auto_wait01 = StringSplit($auto_wait01, ':') ; [1]=@HOUR, [2]=@MIN, [3]=@SEC $chrome_zoom01 = "1" $chrome_zoom02 = "0.68" $save_action_on01 = 1 $debug_mouse01 = 1 ;$default_title01 = "NoxPlayer" ; use find title $default_title01 = "Diablo Immortal" ; use find title $ldplayer_version01 = "LDPlayer4.0" $user_name01 = @UserName $patch01 = "d:\" ; Noi setup MEmu $path_auto01 = "c:\acc\0_MEO_D01.au3" ; auto setting ;ShellExecute('C:\Program Files\Sandboxie\Start.exe" /box:s1 "D:\Sandbox\jhgvjhhgvb\s1\drive\D\Wemade\Mir4Global\Mir4Launcher\Mir4Launcher.exe') ;Run('C:\Program Files\Sandboxie\Start.exe /box:s2 "D:\Wemade\Mir4Global\Mir4Launcher\Mir4Launcher.exe', "", @SW_SHOWMAXIMIZED) ; ldplayer 4.0.25 atio6axx.dll render amd ;Terminal Emulator ;su ;cd system ;cd xbin ;ceserver_x86 ;D:\LDPlayer\LDPlayer4.0>adb forward tcp:52736 tcp:52736 ; adb forward tcp:21758 tcp:21758 ; D:\LDPlayer\LDPlayer4.0>adb push d:\dum2 /data/local\tmp\dum2 ; dnconsole.exe adb --name "LDPlayer-5" --command "push d:\dum2 /data/local\tmp\dum2" ; ; run elf Binary ; D:\Program Files\Microvirt\MEmu>adb push d:\dum2 /data/local/tmp/dum2 > copy file ; D:\Program Files\Microvirt\MEmu>adb shell chmod 777 data/local/tmp/dum2/* > unlock permison ; adb shell rm -R .//data/local/tmp/* > delete all file in tmp dir ; adb Shell ; cd /data/local/tmp/dum2 ; ./memdumper -p com.google.android.gms -l -r -n libil2cpp.so -o /sdcard ; ./memdumper -p com.blizzard.diablo.immortal -l -r -n libil2cpp.so -o /sdcard/Download ; adb push d:\dumproid /data/local/tmp/dumproid ; GOOS=linux GOARCH=arm64 GOARM=7 go build -o dumproid ; set GOOS=linux ; set GOARCH=amd64 ; set GOARM=7 ; go build -o d:\dum3\dumproid ; adb push d:\dum3 /data/local/tmp/dum3 ; adb shell chmod 777 data/local/tmp/dum3/* > unlock permison ; cd /data/local/tmp/dum3 # ./dumproid ; pm list packages # to check com.stormgames.fourgodsonwemix ; ps list packages # to check com.stormgames.fourgodsonwemix ; ./dumproid -q -p 4288 -a 0xf0c9e000 --dump ; D:\Program Files\Nox\bin\Nox.exe "-title: Nox App Player" > Chay Nox theo ten ; Nox.exe -package:com.bignox.app.test > chay game ; Nox.exe -quit > stop ALL ; D:\Program Files\Nox\bin>adb.exe devices ; D:\Program Files\Nox\bin>adb.exe shell ps > list app com.blizzard.diablo.immortal ; D:\Program Files\Nox\bin>nox_adb.exe 127.0.0.1:62025 ; ./dumproid -q -p 3233 --filter rw-p ; ./dumproid -q -p 3233 -a 0x4000000 --dump ; ./dumproid -q -p 3233 --maps --filter rw-p ; nox_adb.exe shell dumpsys activity top > lay data app top ; for /f "tokens=2" %a in ('tasklist ^|findstr Nox.') do netstat -aon | findstr %a > kiem tra network nox ; for /f "tokens=2" %a in ('tasklist ^|findstr NoxVMHandle.') do netstat -aon | findstr %a > kiem tra network nox ; NoxConsole.exe list ; Size memory region 0xC01000 ; "role_name":"firoma" ; "role_name":"FIRONAM" Global $select_row01 = 0 $list_new_tab01 = "$N_NEW_TAB01,Visit The next Post" Global $N_NEW_TAB01 = "$N_NEW_TAB01" $path_save_pico01 = "c:\acc\0_MEO_D01_WORKERS.txt" ; setting $path_autoit_post01 = "C:\acc\chrome_fb\meox02\autoit_post01.js" ;$path_autoit_get01 = "E:\download\main_data01.json" $path_autoit_get01 = "C:\Users\"&$user_name01&"\Downloads\main_data01.json" $path_autoit_get02 = "C:\Users\"&$user_name01&"\Downloads\main_data02.json" ;ConsoleWrite($path_autoit_get01) ;$path_autoit_download01 = "E:\download\" $path_autoit_download01 = "C:\Users\"&$user_name01&"\Downloads\" $path_autoit_json01 = "*.json" $background01color = 0x333333 ;$default_download01 = "SciTEGlobal.properties" ;$default_download01 = "VirtDsktLibrary01.au3" ;$default_download01 = "0_MEO_D01_A_STAR_EX.au3" $default_download01 = "0_MEO_D01_A_STAR_EX02BFS.au3" $http_23_239_25_77_acc_ = "http://23.239.25.77/acc/" $c_acc_ = "c:\acc\" $path_file01 = "0_MEO_D01.au3" ; setting $path_file02 = "0_MEO_D01_WORKERS_MEO.txt" ; setting $path_file03 = "0_MEO_D01_WORKERS_HONG1.txt" ; setting $path_file04 = "0_MEO_D01_WORKERS_MY1.txt" ; setting $path_file05 = "0_MEO_D01_WORKERS_NGAN1.txt" ; setting $path_file06 = "0_MEO_D01_WORKERS_THU1.txt" ; setting $path_file07 = "0_MEO_D01_WORKERS_DUNG1.txt" ; setting $path_file08 = "0_MEO_D01_WORKERS_NGHIA1.txt" ; setting $path_file09 = "0_MEO_D01_WORKERS_ANH1.txt" ; setting $http___23_239_25_77_acc_chrome_fb_meox02_ = "http://23.239.25.77/acc/chrome_fb/meox02/" $C__acc_chrome_fb_meox02_ = "C:\acc\chrome_fb\meox02\" $chrome_file01 = "background.js" $chrome_file02 = "logo.png" $chrome_file03 = "main.html" $chrome_file04 = "main01.js" $chrome_file05 = "main02.js" $chrome_file06 = "manifest.json" $chrome_file07 = "autoit_post01.js" $chrome_file08 = "popup.html" $chrome_file09 = "popup.js" $chrome_file10 = "reset01.js" ; Save the downloaded file to the temporary folder. Func _file_update01() MsgBox($MB_SYSTEMMODAL, "UPDATE NEW", $path_file01&" = "&InetGet($http_23_239_25_77_acc_&$path_file01, $c_acc_&$path_file01, $INET_FORCERELOAD)&@CRLF& _ "update = "&"Done",0) EndFunc ; autoit_post01('Sautoit_post01 = "autoit_all_tab_url02"') $json_data = "" $json_list01 = "" ; _FileReadToArray($path_autoit_get01, $json_data ) ; _ArrayDisplay($json_data, "1D array - no count", Default, 8) ; FileDelete($path_autoit_download01&$path_autoit_json01) ;_FileReadToArray($path_autoit_get01, $json_data) ; read json data chrome ;_ArrayDisplay($json_data, "1D array - no count", Default, 8) ;$json_list01 = json_array01("workers") ;_ArrayDisplay($json_list01, "$json_list01") Func json_array01($even0="workers") ; $json_data For $lp0 = 0 to UBound($json_data)-1 $json_data[$lp0] = StringReplace($json_data[$lp0], @CR, "") $json_data[$lp0] = StringReplace($json_data[$lp0], @LF, "") $json_data[$lp0] = StringReplace($json_data[$lp0], @TAB, "") Next ;_ArrayDisplay($json_data, "$json_list01") $result02 = StringRegExpReplace($json_data[2], '(.*"Sg_url01:|",.*)', '') ; '(.*123|456 .*)' xoa '.*123' 123 first + xoa '456 .*' 456 last $result03 = StringRegExpReplace($json_data[3], '(.*"bg_data.tab_id:|",.*)', '') ; '(.*123|456 .*)' xoa '.*123' 123 first + xoa '456 .*' 456 last $result04 = StringRegExpReplace($json_data[4], '(.*"bg_data.tab_url:|",.*)', '') ; '(.*123|456 .*)' xoa '.*123' 123 first + xoa '456 .*' 456 last $result05 = StringRegExpReplace($json_data[5], '(.*"SWhat_is_expected_from_workers:|",.*)', '') ; '(.*123|456 .*)' xoa '.*123' 123 first + xoa '456 .*' 456 last $result06 = StringRegExpReplace($json_data[6], '(.*"SSubmit_your_proofs_below:|",.*)', '') ; '(.*123|456 .*)' xoa '.*123' 123 first + xoa '456 .*' 456 last #cs [ "Sg_url01:https://picoworkers.com/jobs/submit-task.php?Id=ece5ed8f7434543f18ee45a5", "bg_data.tab_id:2|107|252|110|301|319|322|325|328|331|", "bg_data.tab_url:https://picoworkers.com/jobs.php|https://picoworkers.com/jobs/submit-task.php?Id=ece5ed8f7434543f18ee45a5|chrome://extensions/|https://gamek.vn/fan-tay-du-ky-sung-suong-voi-duong-tank-phien-ban-moi-20220318093932291.chn|https://www.google.com/search?q=autoit+stringplit+line+break+&sxsrf=APq-WBvFVRDisFJD3z6A3Y9moPoW_0DXFA%3A1651047088675&ei=sPpoYovqKLHU2roPvZW5iAw&ved=0ahUKEwiLgunZ5bP3AhUxqlYBHb1KDsEQ4dUDCA4&uact=5&oq=autoit+stringplit+line+break+&gs_lcp=Cgdnd3Mtd2l6EAMyBwghEAoQoAFKBAhBGABKBAhGGABQAFjiC2DwEGgAcAF4AIABZYgB8QKSAQMzLjGYAQCgAQGgAQLAAQE&sclient=gws-wiz|https://www.autoitscript.com/forum/topic/167139-string-split-by-line/|https://www.autoitscript.com/forum/topic/181245-stringreplace-from-string-with-line-break/|https://www.autoitscript.com/forum/topic/125961-how-can-do-newline-stringsplit/|https://www.autoitscript.com/forum/topic/187263-split-a-multi-line-string-into-separate-variables/|https://www.autoitscript.com/forum/topic/123119-changing-line-breaks-to-crlf/|", "SWhat_is_expected_from_workers:\n

? What is expected from workers?

\n
\n
    \n
  1. Go to: https://bit.ly/3mqQ9EQ
  2. \n
  3. Click the link in the description and add SWAGBUTTON to your browser (Get it on Chrome, Mozilla Or Microsoft Edge)
  4. \n
  5. Sign up and verify your email address.
    \n(Try to create a long Swag Name to quickly find your register and PAY for you. Example: Maria Clara Vinicius Dos Santos)
  6. \n
\n
\n
IMPORTANT: Do not Uninstall the extension you will get a Bonus of 1000SB (10$) after 30 Days and you can withdraw it by PayPal.
\n
\nThis job is only for DESKTOPS and LAPTOPS don't complete it by smartphone, and must be a NEW USER to get PAID.
\n ", "SSubmit_your_proofs_below:1. Your Swag Username:\n2. Your Swag Full Name:\n3. Go to Settings and screenshot the page (Guide: https://bit.ly/3u3zs50 )\nYour SB balance should be more than 28 SB (You will receive 7 SB Sign up bonus) - upload a screenshot (Max. 2M)\noptionally, send a comment. (please no links, upload screenshot only)\nCANCEL\nSUBMIT PROOFS", "" ] #ce ; MsgBox(0, '', " _"&$result02&"_ "&@CRLF&$result03&@CRLF&$result04&@CRLF&$result05&@CRLF&$result06) Local $aArray_Base02[1][4] = [["ID NAME", "NUM", "DATA01", "DATA02"]] _ArrayAdd($aArray_Base02, "IP ADRESS" &"|"& "0" &"|"& "0" &"|"& STUN_GetMyIP()) ;_ArrayAdd($aArray_Base02, "1|2|3|4") $result03 = StringSplit($result03, "|") $result04 = StringSplit($result04, "|") For $i = 1 to $result03[0]-1 _ArrayAdd($aArray_Base02, "bg_data.tab_id" &"|"& $i &"|"& $result03[$i] &"|"& $result04[$i]) Next $result02fix = StringReplace($result02," ","") For $i = 1 to UBound($aArray_Base02)-1 ; find current tab ID + URL ;MsgBox(0, '', " _"&$result02fix&"_ "&@CRLF&"https://picoworkers.com/jobs/submit-task.php?Id=ece5ed8f7434543f18ee45a5"&@CRLF&$aArray_Base02[$i][3]) If $result02 = $aArray_Base02[$i][3] Then _ArrayAdd($aArray_Base02, "Sg_url01" &"|"& $aArray_Base02[$i][1] &"|"& $aArray_Base02[$i][2] &"|"& $aArray_Base02[$i][3] ) _ArrayDisplay($aArray_Base02, "$aArray_Base02") ExitLoop EndIf Next If $even0="workers" Then ; $even0 $result05 = StringRegExpReplace($json_data[5], '(.*"SWhat_is_expected_from_workers:|",.*)', '') ; '(.*123|456 .*)' xoa '.*123' 123 first + xoa '456 .*' 456 last $result06 = StringRegExpReplace($json_data[6], '(.*"SSubmit_your_proofs_below:|",.*)', '') ; '(.*123|456 .*)' xoa '.*123' 123 first + xoa '456 .*' 456 last $result05 = split_html01($result05, '
  • ', '
  • ') ;_ArrayDisplay($result05, "$json_list01") ;$result05 = split_html01($result05, '\">', '.*', '') ) ; xoa '.*' last Next $result06 = StringSplit($result06, "\n",1) For $i = 1 to $result06[0]-2 ; delete cancel + Submit _ArrayAdd($aArray_Base02, "SSubmit_your_proofs_below" &"|"& $i &"|"& "0" &"|"& $result06[$i] ) Next EndIf ; end $even0 ;_ArrayDisplay($result06, "$result06", Default, 8) ;_ArrayDisplay($aArray_Base02, "$aArray_Base02") Return $aArray_Base02 EndFunc Func split_html01($string0='
  • hahaha
  • ' ,$first0='
  • ',$last0='
  • ',$remove0=1) $result0 = StringSplit($string0, $first0,1) For $i = 0 to $result0[0]-0 If $remove0=1 Then $result0[$i] = StringRegExpReplace($result0[$i], $last0&'.*', '') If $remove0=0 Then $result0[$i] = $first0&StringRegExpReplace($result0[$i], $last0&'.*', '')&$last0 Next ;_ArrayDisplay($result0, "$result0") Return $result0 EndFunc Func autoit_post01($data0='Sautoit_post01 = "0,0,0,0,0"',$data1='Sautoit_post02 = "0,0,0,0,0"',$data2='Sautoit_post03 = "0,0,0,0,0"',$data3='Sautoit_post04 = "0,0,0,0,0"') Local $aArray_Sautoit_post01[11+1] $aArray_Sautoit_post01[0] = $data0 $aArray_Sautoit_post01[1] = $data1 $aArray_Sautoit_post01[2] = $data2 $aArray_Sautoit_post01[3] = $data3 $aArray_Sautoit_post01[4] = '//console.log(Sautoit_post01);' $aArray_Sautoit_post01[5] = '//console.log(Sautoit_post02);' $aArray_Sautoit_post01[6] = '//console.log(Sautoit_post03);' $aArray_Sautoit_post01[7] = '//console.log(Sautoit_post04);' $aArray_Sautoit_post01[8] = 'chrome.storage.local.set({"Sautoit_post01": Sautoit_post01});' $aArray_Sautoit_post01[9] = 'chrome.storage.local.set({"Sautoit_post02": Sautoit_post02});' $aArray_Sautoit_post01[10] = 'chrome.storage.local.set({"Sautoit_post03": Sautoit_post03});' $aArray_Sautoit_post01[11] = 'chrome.storage.local.set({"Sautoit_post04": Sautoit_post04});' _FileWriteFromArray($path_autoit_post01, $aArray_Sautoit_post01, 0) EndFunc ;$list_group01 = auto_tag01("Haveyoubeenhere,Photography Lovers,Actifit") ;_ArrayDisplay($list_group01) ; chrome://version // duong dan ho so profile ; chrome://extensions/ ; chrome://discards/ > tat activate tab Func auto_tag01($return00="Haveyoubeenhere,Photography Lovers,Actifit", $view0=0) Local $auto_tag00[1][7] $auto_tag00[1-1][0] = 0 $auto_tag00_num = 0 Local $communities_all00[1][7] ; [name communities , id communities, noi dung communities , members , rewards , posters , language] _ArrayAdd($communities_all00, " Haveyoubeenhere | hive-163772 | du l?ch ?? ?n cu?c s?ng | members 5,925 | rewards $ 17,509 | posters 738 | language EN ") _ArrayAdd($communities_all00, " Photography Lovers | hive-194913 | N?i ?? nh?ng ng??i yêu nhi?p ?nh chia s? c?ng vi?c và th? thu?t ch?p ?nh | members 11.142 | rewards $ 9,558 | posters 913 | language EN ") _ArrayAdd($communities_all00, " Actifit | hive-193552 | ho?t ??ng hàng ngày c?a b?n | members 5,314 | rewards $ 5,839 | posters 700 | language EN ") _ArrayAdd($communities_all00, " Freewriters | hive-161155 | M?t c?ng ??ng vi?t h? tr? | members 5,879 | rewards $ 3,499 | posters 471 | language EN ") _ArrayAdd($communities_all00, " Let's Make a Collage | hive-174695 | H?y t?o ?nh ghép - Cu?c thi dành cho t?t c? các nhà sáng t?o trên Hive! | members 1.832 | rewards $ 3,475 | posters 260 | language EN ") _ArrayAdd($communities_all00, " DTube | hive-196037 | DTube thay th? YouTube | members 10,398 | rewards $ 4,292 | posters 224 | language EN ") _ArrayAdd($communities_all00, " GEMS | hive-148441 | vi?t bài t? do | members 17,704 | rewards $ 12,897 | posters 1,154 | language EN ") _ArrayAdd($communities_all00, " LeoFinance | hive-167922 | ti?n ?o tài chính | members 10,789 | rewards $ 32,185 | posters 1,662 | language EN ") _ArrayAdd($communities_all00, " Photography | hive-119845 | yêu nhi?p ?nh chia s? | members 5,718 | rewards $ 1,421 | posters 134 | language EN ") _ArrayAdd($communities_all00, " Alien Art Hive | hive-158694 | M?t c?ng ??ng sáng t?o cho t?t c? các ngh? s? và nh?c s? ng??i n??c ngoài trên Hive! | members 2.948 | rewards $ 2,610 | posters 165 | language EN ") _ArrayAdd($communities_all00, " Sports Talk Social | hive-101690 | TH? THAO trên l?p th? hai c?a Hive Engine | members 2.728 | rewards $ 1,686 | posters 187 | language EN ") _ArrayAdd($communities_all00, " Build-It | hive-129017 | C?ng ??ng DIY trên Hive | members 2.413 | rewards $ 232 | posters 44 | language EN ") _ArrayAdd($communities_all00, " PhotoFeed | hive-153349 | Chúng t?i là ngu?n c?p d? li?u ?nh! | members 2.173 | rewards $ 387 | posters 108 | language EN ") _ArrayAdd($communities_all00, " Urban Exploration | hive-104387 | Thám hi?m thành th? | members 1.665 | rewards $ 746 | posters 54 | language EN ") _ArrayAdd($communities_all00, " Faces of Hive | hive-152232 | vi?t bài t? do | members 1,475 | rewards $ 13 | posters 22 | language EN ") _ArrayAdd($communities_all00, " EXHAUST | hive-176853 | Cu?c s?ng và h?n th? n?a. B?t c? ?i?u gì khi?n b?n di chuy?n. | members 1,079 | rewards $ 993 | posters 150 | language EN ") _ArrayAdd($communities_all00, " Feathered Friends | hive-106444 | T?t c? nh?ng ?i?u v? loài chim | members 2.252 | rewards $ 1,216 | posters 138 | language EN ") _ArrayAdd($communities_all00, " CCH | hive-117778 | Chia s? kinh nghi?m du l?ch | members 1.094 | rewards $ 1,859 | posters 161 | language EN ") _ArrayAdd($communities_all00, " Photography | hive-119845 | hình ?nh t?nh | members 5.780 | rewards $ 1,597 | posters 135 | language EN ") _ArrayAdd($communities_all00, " Foodies Bee Hive | hive-120586 | c?ng ??ng dành cho ?m th?c | members 9.448 | rewards $ 16.137 | posters 999 | language EN ") If $view0=1 Then _ArrayDisplay($communities_all00) If $return00<>"" Then $title0 = StringSplit($return00,',',0) ;_ArrayDisplay($title0) For $lp = 1 to $title0[0] ; tim ten nhom trong list Local $aiResult = _ArrayFindAll($communities_all00, $title0[$lp], Default, Default, Default, 1) ; find ten nhom If UBound($aiResult) > 0 Then ;_ArrayDisplay($aiResult, "Found") _ArrayAdd($auto_tag00, "") ; array + 1 $auto_tag00_num += 1 For $lp_add = 0 to 7-1 $auto_tag00[$auto_tag00_num][$lp_add] = $communities_all00[ $aiResult[0] ][$lp_add] Next EndIf Next ; end tim ten nhom trong list $auto_tag00[1-1][0] = $auto_tag00_num If $view0=3 Then ; hien thi cac nhom GUICtrlSetData($idCheckbox35_tiled01_01, "") For $lp01 = 1 to UBound($auto_tag00, $UBOUND_ROWS)-1 GUICtrlSetData_down01($idCheckbox35_tiled01_01,$lp01&" "&array_2d_string($auto_tag00,$lp01) ) Next EndIf ; end hien thi cac nhom EndIf Return $auto_tag00 If $view0=2 Then _ArrayDisplay($auto_tag00) EndFunc Func array_2d_string($array2d_00=$list_group01,$line0=1) Local $iColsX = UBound($array2d_00, $UBOUND_COLUMNS) ; Total number of columns. In this example it will be 20. Local $iRowsY = UBound($array2d_00, $UBOUND_ROWS) ; Total number of rows. In this example it will be 10. $string_x00 = "" For $lp_x = 0 to $iColsX-1 $string_x00 &= $array2d_00[$line0][$lp_x]&'|' Next ;MsgBox($MB_SYSTEMMODAL, "", "$iRowsY="&$iRowsY&" $iColsX="&$iColsX&" $string_x00="&$string_x00) Return $string_x00 EndFunc ;$exe_process01 = "meoxin3.exe" $exe_process01 = "Chrome.exe" ; 32bit $exe_process02 = "TekkenGame-Win64-Shipping.exe" ; 64bit ;$exe_process02 = "Mir4G.exe" ; 64bit $shade_variation0 = 0x1000 $je_jne_loop01 = 9999 $chaot_hanhve01 = "[S] chaot hanhve 6.6 [S]" $Assemblyscan01 = "[S] Assemblyscan [S]" $Memory_Viewer01 = "[S] Memory Viewer [S]" $Goto_Address01 = "Goto Address" $Change_Description01 = "Change Description" Global $x64=1 ; 1 = read write memory 64bit 0 = 32 bit ; D:\Sandbox\hgftd\s4\user\current\AppData\Local\Mir4Launcher\clientdata ; check multi client {"client_version":"31","one_process_id":"-1","two_process_id":"-1"} ; D:\Sandbox\hgftd\s4\user\current\AppData\Local\Temp\CE283BD69DC89E7DCDAEE4E07C973A4386E02847 ; bat client thoat ra ; d:\Wemade\Mir4Global\Mir4Client\MirMobile\Binaries\Win64\Mir4G.exe ; "d:\Wemade\Mir4Global\Mir4Client\MirMobile\Binaries\Win64\Mir4G.exe" -FeatureLevelES31 -Windowed -ResX=1280 -ResY=720 -LauncherToken=lt0dYaBZEep7pOkMKMoNW9mwK7enayQ3aMa7RNKG0rdyW6y0UlFRmhD4Ig+aqXad -LaunchGameInstanceID=f170d5e760b04c3eac43ba176a382011 -ClientIndex=1 -dx11 -Lang=en --ip1-- --ip1-- ; d:\Wemade\Mir4Global\Mir4Client\MirMobile\Binaries\Win64\ ;netsh advfirewall firewall add rule name="ProgramTesting" dir=out action=allow program="C:\Windows\System32\regsvr32.exe" ;netsh advfirewall firewall add rule name="ProgramTesting" dir=out action=block program="C:\Windows\System32\regsvr32.exe" ;dnconsole.exe adb --name "LDPlayer-2" --command "shell input tap 172 279" ; D:\LDPlayer\LDPlayer4.0>dnconsole.exe list2 > list all name + handle + pid ; 5,LDPlayer-5,8455150,2295782,1,18192,11148 ; 5 , LDPlayer-5 , 8455150 , 2295782 ,1 , 18192 ,11148 ; index , title , top window handle , bind window handle , android started , pid , pid of vbox ; input text ; input keyevent ;0 --> "KEYCODE_UNKNOWN" ;1 --> "KEYCODE_MENU" ;2 --> "KEYCODE_SOFT_RIGHT" ;3 --> "KEYCODE_HOME" ;4 --> "KEYCODE_BACK" ;5 --> "KEYCODE_CALL" ;6 --> "KEYCODE_ENDCALL" ;7 --> "KEYCODE_0" ;8 --> "KEYCODE_1" ;9 --> "KEYCODE_2" ;10 --> "KEYCODE_3" ;11 --> "KEYCODE_4" ;12 --> "KEYCODE_5" ;13 --> "KEYCODE_6" ;14 --> "KEYCODE_7" ;15 --> "KEYCODE_8" ;16 --> "KEYCODE_9" ;17 --> "KEYCODE_STAR" ;18 --> "KEYCODE_POUND" ;19 --> "KEYCODE_DPAD_UP" ;20 --> "KEYCODE_DPAD_DOWN" ;21 --> "KEYCODE_DPAD_LEFT" ;22 --> "KEYCODE_DPAD_RIGHT" ;23 --> "KEYCODE_DPAD_CENTER" ;24 --> "KEYCODE_VOLUME_UP" ;25 --> "KEYCODE_VOLUME_DOWN" ;26 --> "KEYCODE_POWER" ;27 --> "KEYCODE_CAMERA" ;28 --> "KEYCODE_CLEAR" ;29 --> "KEYCODE_A" ;30 --> "KEYCODE_B" ;31 --> "KEYCODE_C" ;32 --> "KEYCODE_D" ;33 --> "KEYCODE_E" ;34 --> "KEYCODE_F" ;35 --> "KEYCODE_G" ;36 --> "KEYCODE_H" ;37 --> "KEYCODE_I" ;38 --> "KEYCODE_J" ;39 --> "KEYCODE_K" ;40 --> "KEYCODE_L" ;41 --> "KEYCODE_M" ;42 --> "KEYCODE_N" ;43 --> "KEYCODE_O" ;44 --> "KEYCODE_P" ;45 --> "KEYCODE_Q" ;46 --> "KEYCODE_R" ;47 --> "KEYCODE_S" ;48 --> "KEYCODE_T" ;49 --> "KEYCODE_U" ;50 --> "KEYCODE_V" ;51 --> "KEYCODE_W" ;52 --> "KEYCODE_X" ;53 --> "KEYCODE_Y" ;54 --> "KEYCODE_Z" ;55 --> "KEYCODE_COMMA" ;56 --> "KEYCODE_PERIOD" ;57 --> "KEYCODE_ALT_LEFT" ;58 --> "KEYCODE_ALT_RIGHT" ;59 --> "KEYCODE_SHIFT_LEFT" ;60 --> "KEYCODE_SHIFT_RIGHT" ;61 --> "KEYCODE_TAB" ;62 --> "KEYCODE_SPACE" ;63 --> "KEYCODE_SYM" ;64 --> "KEYCODE_EXPLORER" ;65 --> "KEYCODE_ENVELOPE" ;66 --> "KEYCODE_ENTER" ;67 --> "KEYCODE_DEL" ;68 --> "KEYCODE_GRAVE" ;69 --> "KEYCODE_MINUS" ;70 --> "KEYCODE_EQUALS" ;71 --> "KEYCODE_LEFT_BRACKET" ;72 --> "KEYCODE_RIGHT_BRACKET" ;73 --> "KEYCODE_BACKSLASH" ;74 --> "KEYCODE_SEMICOLON" ;75 --> "KEYCODE_APOSTROPHE" ;76 --> "KEYCODE_SLASH" ;77 --> "KEYCODE_AT" ;78 --> "KEYCODE_NUM" ;79 --> "KEYCODE_HEADSETHOOK" ;80 --> "KEYCODE_FOCUS" ;81 --> "KEYCODE_PLUS" ;82 --> "KEYCODE_MENU" ;83 --> "KEYCODE_NOTIFICATION" ;84 --> "KEYCODE_SEARCH" ;85 --> "TAG_LAST_KEYCODE" #cs [ENABLE] {$lua} aob_pattern_str = "48 83 EC 28" aob_replace_str = "90 90 90 90" aob_pattern_arr = {} aob_replace_arr = {} for i in string.gmatch(aob_pattern_str, "%S+") do aob_pattern_arr[#aob_pattern_arr+1] = tonumber(i,16) end for i in string.gmatch(aob_replace_str, "%S+") do aob_replace_arr[#aob_replace_arr+1] = tonumber(i,16) end aob_scan = AOBScan(unpack(aob_pattern_arr)) for i=0, aob_scan.Count-1 do writeBytes(aob_scan[i], unpack(aob_replace_arr)) end {$asm} [DISABLE] {$lua} for i=0, aob_scan.Count-1 do writeBytes(aob_scan[i], unpack(aob_pattern_arr)) end aob_scan.Destroy() aob_scan = nil aob_pattern_str = nil aob_replace_str = nil aob_pattern_arr = nil aob_replace_arr = nil {$asm} [ENABLE] {$lua} local pattern = "48 83 EC 28 E8 ?? ?? ?? ?? 48 83 C4 28 EB" local replace = "?? ?? ?? ?? 90 90 90 90 90 ?? ?? ?? ?? ??" aob_scan_results = AOBScan(pattern) aob_backup_bytes = {} local length = (#replace + 1) / 3 for i = 0, aob_scan_results.Count - 1 do local backup = readBytes(aob_scan_results[i], length, true) local bytes = {} for hex in string.gmatch(replace, "%S+") do local size = #bytes + 1 if hex == "??" then bytes[size] = backup[size] else bytes[size] = tonumber(hex, 16) end end aob_backup_bytes[i] = backup writeBytes(aob_scan_results[i], bytes) end {$asm} [DISABLE] {$lua} for i = 0, aob_scan_results.Count - 1 do writeBytes(aob_scan_results[i], aob_backup_bytes[i]) end aob_scan_results.Destroy() aob_scan_results = nil aob_backup_bytes = nil #ce Dim $list_group01[1][7] Dim $a_sandbox[$acc_max+1] Dim $m4_cuaso01[$acc_max+1] for $lp_count = 1 to $acc_max ;$m4_cuaso01[$lp_count] = "LDPlayer-"&$lp_count ;$m4_cuaso01[$lp_count] = "NoxPlayer0"&$lp_count $a_sandbox[$lp_count] = "a" If $a_sandbox_fix01 = $lp_count and $a_sandbox_fix01 <> 0 Then $a_sandbox[$lp_count] = $a_sandbox_name01 If $a_sandbox_fix02 = $lp_count and $a_sandbox_fix02 <> 0 Then $a_sandbox[$lp_count] = $a_sandbox_name02 If $a_sandbox_fix03 = $lp_count and $a_sandbox_fix03 <> 0 Then $a_sandbox[$lp_count] = $a_sandbox_name03 $m4_cuaso01[$lp_count] = "[#] ["& $a_sandbox[$lp_count] & $lp_count&"] Diablo Immortal [#]" ;$m4_cuaso01[$lp_count] = "[#] [a"&$lp_count&"] Diablo Immortal [#]" Next Dim $account00on[$acc_max+1] for $lp_count = 1 to $acc_max $account00on[$lp_count] = 0 Next $delay_all_play01 = 10000 ; auto play all facebook delay $tds_delay_max = 2100 ; next facebook tds $fb_delay_max = 600 ; next facebook $acc_count01 = 1 ; facebook acc max = 3 > delay close chrome $acc_count_max01 = 3 ; facebook acc max = 3 > delay close chrome $save_comment_on01 = 0 ;$gamex01 = 1002 ; 960 LDPLAYER ;$gamey01 = 576 ; 540 LDPLAYER ;$gamex01 = 962 ; 920 NOX ;$gamey01 = 534 ; 500 NOX $gamex01 = 720 ; 920 NOX $gamey01 = 530 ; 500 NOX $gamex01f = $gamex01-18 $gamey01f = $gamey01-41 $game_mx = 360 ; mini chrome $game_my = 400 ; mini chrome $ldx01 = 420 $ldy01 = 530 $pass_meo01 = "m" If $copy_view01=1 Then $g_hGUI = GUICreate("BitmapCloneArea test", $gamex01-6, $gamey01-29,-1,-1) GUISetState(@SW_SHOW, $g_hGUI) EndIf ;If $view_screen01 = 2 Then ;$g_hGUI = GUICreate("GDI+ Example (" & @ScriptName & ")", 40, 40,-40,-40) ;create a test GUI ;GUISetBkColor($iBgColor, $g_hGUI) ;set GUI background color ;GUISetState(@SW_SHOW,$g_hGUI) ;EndIf $reset_new_day_count01 = 1 $version_memu01 = FileReadLine($path_auto01, 1) ;$wemix_wallet01 = "0x6D77fB3ADF957018C338b90DCC18AA815eC07822" $wemix_credit01 = "0x84c9c1b1f95d667c4a70d5bdf9ccf843df66c497" $wemix_pass01 = "99879987Nat@" ;_SetScreenResVidMode(1920,1080) ; 4 = cam xuc 5 = comment 6 = like 7 = page like 8 = page follow ; autoit_tds_dang_nhap01_COPY:https://traodoisub.com/,meodihia01,thanthai123,? Th? H?nh Thuong,0,0,0,0,5, ; autoit_fb_action01_COPY:https://m.facebook.com/,1,2,2, ; autoit_fb_action02_COPY:https://m.facebook.com/groups/Vieclamthemhn/,0,8,0, ; autoit_ttc_dang_nhap01_COPY:https://traodoisub.com/,1,5 ; autoit_groups_COPY:https://www.facebook.com/groups/Vieclamthemhn/pending_posts,99,99 ; autoit_fb_action03_COPY:https://www.facebook.com/groups/Vieclamthemhn/,0,12,0, ; autoit_fb_delete01_COPY:https://traodoisub.com/,meodihia01,thanthai123,? Th? H?nh Thuong,0,0,0,0,0, ; D:\LDPlayer\LDPlayer4.0>dnconsole.exe launch --name LDPlayer-1 ; start ldplayer ; D:\LDPlayer\LDPlayer4.0>dnconsole.exe adb --name "LDPlayer-1" --command "shell pm list packages" ; lay list apk l nhat bat adb trong setting ; D:\LDPlayer\LDPlayer4.0>dnconsole.exe adb --name "LDPlayer-1" --command "shell pm list packages -f -3" ; lay apk dang chay ; D:\LDPlayer\LDPlayer4.0>dnconsole.exe quitall ; thoat all ldplayer ; D:\LDPlayer\LDPlayer4.0>dnconsole.exe runapp --name LDPlayer-1 --packagename com.wemadetree.wemixwallet ; run app wemix ; D:\LDPlayer\LDPlayer4.0>dnconsole.exe launchex --name LDPlayer-1 --packagename com.wemadetree.wemixwallet ; start ldplayer run app wemix ; D:\LDPlayer\LDPlayer4.0>dnconsole.exe runapp --name LDPlayer-1 --packagename com.google.android.gms.app.settings.GoogleSettingsActivity ; account google manager ; dnconsole.exe runapp --name LDPlayer-1 --packagename com.android.settings ; vao setting chon tai khoan ; dnconsole.exe runapp --name LDPlayer-1 --packagename com.cyanogenmod.filemanager ; vao file manager ; dnconsole.exe runapp --name LDPlayer-1 --packagename com.google.android.gms ; vao quan ly tai khoan google > bi loi do ; dnconsole.exe runapp --name LDPlayer-1 --packagename com.google.android.gm ; vao gmail ; dnconsole.exe runapp --name LDPlayer-1 --packagename com.android.contacts ; vao danh ba dien thoai ; dnconsole.exe runapp --name LDPlayer-1 --packagename com.android.vending ; vao chplay ; dnconsole.exe runapp --name LDPlayer-1 --packagename com.android.providers.downloads.ui ; vao thu muc download ; dnconsole.exe runapp --name LDPlayer-1 --packagename com.google.android.configupdater ; vao trinh duyet ; dnconsole.exe runapp --name LDPlayer-1 --packagename com.android.ld.appstore ; vao ldplayer store ; dnconsole.exe runapp --name LDPlayer-1 --packagename com.android.gallery ; vao thu vien anh ; dnconsole.exe modify --name LDPlayer-1 --resolution 720,540,130 ; chinh lai kich co man hinh ; $hWnd = WinGetHandle(WinGetTitle("Open", "")) ; ControlSetText($hWnd, "Open","Edit1", "D:\husky03.jpg") ; ControlSend($hWnd, "Open", "Edit1", "{ENTER}") $game_cap_x01 = 0 ; 5 $game_cap_y01 = 0 ; 35 $game_cap_x02 = $gamex01 $game_cap_y02 = $gamey01 $g_x = 0 $g_y = 0 $https_list01 = "https://www.facebook.com/www.hame.com.vn" $https_blog01 = "https://ecency.com/" $https_blog02 = "https://wallet.hive.blog/" $https_english01 = "https://translate.google.com/" $https_english02 = "https://app.grammarly.com/" $https_english03 = "https://app.grammarly.com/ddocs/" $user_win01 = @UserName $file_app01 = "000003.log" $path_app01 = "C:\Users\"&$user_win01&"\AppData\Local\Google\Chrome\User Data\Default\Local Extension Settings\clcfeodfhenojfhchllohcoejdennbhm\" $path_app01 = $path_app01&$file_app01 $path_fb_url_friend01 = "c:\acc\fb_url_friend01.txt" $path_fb_img_friend01 = "c:\acc\fb_img_friend01.txt" $path_chrome_fb01 = "C:\acc\chrome_fb\" $path_fb_html01 = "c:\acc\0_MEO_D01_html.txt" $path_group01 = "c:\acc\fb_group.txt" $path_page_group01 = "c:\acc\fb_page_group01.txt" $path_page_group_comment01 = "c:\acc\fb_page_group_comment01.txt" $select_name00 = "" $path_traodoisub01 = "c:\acc\fb_traodoisub.txt" $path_cookies01 = "c:\acc\fb_cookies.txt" ;$file_online01heli01 = "0_MEO_D01_input01.txt" ; file save load online ;$file_online02heli01 = "0_MEO_D01_input02.txt" ; file save load online ;$file_online01dark02 = "2_MEO_D01_input01.txt" ; file save load online ;$file_online02dark02 = "2_MEO_D01_input02.txt" ; file save load online ;$file_online01 = $file_online01heli01 ; file save load online ;$file_online02 = $file_online02heli01 ; file save load online $path_tuongtaccheo01 = "c:\acc\fb_tuongtaccheo.txt" $path_fb_ip_modem01 = "c:\acc\fb_ip_modem01.txt" check_file01($path_group01) check_file01($path_cookies01) Local $path_fb_html_list01, $path_group_list01, $path_traodoisub_list01, $path_tuongtaccheo_list01, $path_fb_ip_modem_list01 check_file01($path_fb_html01) ;$path_fb_html_list01 = file_array_fix01($path_fb_html01,$path_fb_html_list01,'| 0 |LDPlayer-|--profile-directory="Profile | DATA | BLOG | CHU DE | 0 | GHI CHU ',1) $path_fb_html_list01 = file_array_fix01($path_fb_html01,$path_fb_html_list01,'| 0 |NoxPlayer0|0x0| DATA | BLOG | CHU DE | 0 | GHI CHU ',1) check_file01($path_traodoisub01,"tds user|tds pass|facebook name") ;$path_traodoisub_list01 = file_array_fix01($path_traodoisub01,$path_traodoisub_list01,"tds user|tds pass|facebook name") _FileReadToArray($path_traodoisub01, $path_traodoisub_list01, 0, "|") ; 2d array check_file01($path_tuongtaccheo01,"ttc user|ttc pass|facebook name") ;$path_tuongtaccheo_list01 = file_array_fix01($path_tuongtaccheo01,$path_tuongtaccheo_list01,"ttc user|ttc pass|facebook name") _FileReadToArray($path_tuongtaccheo01, $path_tuongtaccheo_list01, 0, "|") ; 2d array check_file01($path_fb_ip_modem01,"0|admin|pass") _FileReadToArray($path_fb_ip_modem01, $path_fb_ip_modem_list01, 0, "|") ; 2d array ;Local $sPublicIP = "IP = "&_GetIP()&" * " ; " * " split Local $sPublicIP = ""&STUN_GetMyIP()&" * " ; " * " split For $lp = 1 To UBound($path_fb_html_list01)-1 ; count nick facebook $path_fb_html_list01[$lp][1] = $lp $find_data01 = StringInStr($path_fb_html_list01[$lp][4], ' * ') If $find_data01 > 0 then Dim $data_list00 = StringSplit($path_fb_html_list01[$lp][4],' * ',3) $data_list00[0] = $data_list00[0]& ' * ' ElseIf $find_data01 = 0 then $path_fb_html_list01[$lp][4] = $sPublicIP ;$path_fb_html_list01[$lp][2] = $path_fb_html_list01[$lp][2]&$lp $path_fb_html_list01[$lp][2] = $m4_cuaso01[$lp] EndIf $find_data02 = StringInStr($path_fb_html_list01[$lp][2], 'File') ConsoleWrite($path_fb_html_list01[$lp][2]&" "&$find_data02&@CRLF) If $find_data02 > 0 then $path_fb_html_list01[$lp][5] = 0 EndIf ;_ArrayDisplay($data_list00) Next Func file_array_fix01($path_fb_html00="",$path_fb_html_list00="",$fix_file00="|0 |File.html|profile|IP|0|2|3|4",$fb_data0=0) _FileReadToArray($path_fb_html00, $path_fb_html_list00) If UBound($path_fb_html_list00) Then array_remove_blank01($path_fb_html_list00) _ArrayDelete($path_fb_html_list00, 0) ; xoa dem dong line txt [0] _FileWriteFromArray($path_fb_html00, $path_fb_html_list00, 0) ;_ArrayDisplay($path_fb_html_list00) _FileReadToArray($path_fb_html00, $path_fb_html_list00, 0, "|") ; 2d array ;_ArrayDisplay($path_fb_html_list00) If UBound($path_fb_html_list00) < 1 Then Dim $path_fb_html_list00 = StringSplit($fix_file00,"|",$STR_NOCOUNT) _ArrayTranspose($path_fb_html_list00) _ArrayAdd($path_fb_html_list00, " Select | Num | GMAIL | CHROME | DATA | BLOG | CHU DE | USDT | GHI CHU ") ; array = 0 name guide _ArrayDelete($path_fb_html_list00, 0) ; xoa dem dong line txt [0] If $fb_data0 = 1 Then $fb_data0 = 2 EndIf ;_ArrayDisplay($path_fb_html_list00) For $lp = 0 To $acc_max - UBound($path_fb_html_list00) ; facebook 10 html _ArrayAdd($path_fb_html_list00, $fix_file00) Next If $fb_data0 = 2 Then For $lp = 1 To $acc_max $path_fb_html_list00[$lp][1] = $lp ; Num ;$path_fb_html_list00[$lp][3] = $path_fb_html_list00[$lp][3]&""&$lp&'"' ; CHROME --profile-directory="Default" ;$path_fb_html_list00[$lp][3] = "[#] [a"&$lp&"] Diablo Immortal [#]" ;$path_fb_html_list00[$lp][2] = $path_fb_html_list00[$lp][2] ; GMAIL = number $path_fb_html_list00[$lp][2] = $path_fb_html_list00[$lp][2] ; GMAIL = number ;If $lp = 1 Then $path_fb_html_list00[$lp][2] = " P GMAIL " ; GMAIL = number ; If $lp = 2 Then $path_fb_html_list00[$lp][2] = " P HISTORY " ; GMAIL = number ;If $lp = 1 Then $path_fb_html_list00[$lp][3] = '--profile-directory="Default"' ; If $lp = 2 Then $path_fb_html_list00[$lp][3] = '--profile-directory="Profile 1"' If $lp < $acc_max+1 Then $path_fb_html_list00[$lp][5] = 0 ; FB on = 1 Next EndIf ;_ArrayDisplay($path_fb_html_list00) _FileWriteFromArray($path_fb_html00, $path_fb_html_list00, 0) Return $path_fb_html_list00 EndFunc ;_ArrayDisplay($path_fb_html_list01) ;ConsoleWrite($path_fb_html_list01[1-1][1]&' '&'"https://traodoisub.com/"') ;MsgBox($MB_SYSTEMMODAL, "Error", "$path_fb_html_list01[1-0][0] = "&$path_fb_html_list01[1-0][0]&" $path_fb_html_list01[1-1][1] = " & $path_fb_html_list01[1-1][1]&" $path_fb_html_list01[1-1][2] = " & $path_fb_html_list01[1-1][2]) ;ShellExecute("chrome.exe", $path_fb_html_list01[1-1][1]&' '&'"https://traodoisub.com/"') ;Exit Func check_file01($path_file00,$write_text00="") For $lp = 1 to 5 $path_fb_html01_size = FileGetSize($path_file00) ;MsgBox($MB_SYSTEMMODAL, "Error", " $path_fb_html01_size:" & $path_fb_html01_size) If $path_fb_html01_size = 0 Then If Not _FileCreate($path_file00) Then MsgBox($MB_SYSTEMMODAL, "Error", " Error Creating/Resetting log. error:" & @error) EndIf If $write_text00 <> "" Then Local $write_array00[1] = [$write_text00] _FileWriteFromArray($path_file00, $write_array00, 0) EndIf ElseIf $path_fb_html01_size > 0 Then ExitLoop EndIf Sleep(500) Next EndFunc $hook_autoit_pid01 = 0 ; 1 = autoit pid 0 = game pid $view = 0 ; bat = 1 tat = 0 ngat view $view_tooltip = 0 ; bat = 1 tat = 0 ngat view $check_time01 = 0 ; time check auto bat = 1 tat = 0 $g_player01_x = 0 $g_player01_y = 0 $w = 800 ; 1024 197 $h_check = 320 $h = 400 ; 768 197 Global $cols = $h/22 Global $rows = $w/10 $distance = 0 ; khoang cach tiled map $tileWidth = ($w/$cols)-$distance $tileHeight = ($h/$rows)-$distance $map_x = 50 $map_y = 50 $run_s01x = 0 ; player run start x $run_s01y = 0 ; player run start y $run_e01x = 0 ; player run end x $run_e01y = 0 ; player run end y Opt("MouseCoordMode", 2) ;1=absolute, 0=relative, 2=client $w_select_auto = 30 ; line 48 2 = quest Local $path_map01 = "c:\acc\map_a01.txt" ; RegWrite("HKEY_CURRENT_USER\Software\crusader", "$low_lv01on", "REG_MULTI_SZ", 1) ; for only lock dan moi phong khach ; Create a constant variable in Global scope of the filepath to retrieve the longname of. ; $sFilePath = FileGetSize($patch01&"Program Files\Microvirt\MEmu\MEmuConsole.exe") ; Generally this is the same as @ProgramFilesDir. ; If $patch01 = "c:\" and $sFilePath = 0 Then ; $patch01 = "d:\" ; $sFilePath = FileGetSize($patch01&"Program Files\Microvirt\MEmu\MEmuConsole.exe") ; Generally this is the same as @ProgramFilesDir. ; ElseIf $patch01 = "d:\" and $sFilePath = 0 Then ; $patch01 = "c:\" ; $sFilePath = FileGetSize($patch01&"Program Files\Microvirt\MEmu\MEmuConsole.exe") ; Generally this is the same as @ProgramFilesDir. ; EndIf $thaydoi_login01 = 1 $continue_login01 = $thaydoi_login01 RegWrite("HKEY_CURRENT_USER\Software\crusader", "$thaydoi_login01", "REG_MULTI_SZ", $thaydoi_login01 ) $auto_num01 = 24 $auto_num02 = 30 $auto_num03 = 30 $auto_num04 = 30 $auto_num05 = 30 $auto_num06 = 30 $auto_num07 = 30 $server_num01 = 3 $server_num02 = 113 $server_num03 = 3 $server_num04 = 113 $server_num05 = 20 $server_num06 = 20 $server_num07 = 20 $auto_default01 = 0 $server_default01 = 0 ; Process dll Dim $process[$acc_max + 1] Dim $cuaso[$acc_max + 1] Dim $cuasoX[$acc_max + 1] Dim $gameX[$select_max + 1] Dim $game_hookX[$select_max + 1] Dim $vtmemX[$select_max + 1] Dim $a_op_code[1999] Dim $save_action[4] ; 0 1 2 Dim $wemix_fix01[$acc_max + 1] Dim $wemix_fix02[$acc_max + 1] Dim $friend_list01 Dim $tile_cuaso01[$acc_max + 1] Dim $action_end[$acc_max + 1] Dim $sleep01[$acc_max + 1] Dim $sleep02[$acc_max + 1] Dim $sleep03[$acc_max + 1] Dim $sleep04[$acc_max + 1] Dim $sleep05[$acc_max + 1] Dim $skill_sleep00[$acc_max + 1] Dim $skill_sleep01[$acc_max + 1] Dim $skill_sleep02[$acc_max + 1] Dim $skill_sleep03[$acc_max + 1] Dim $skill_sleep04[$acc_max + 1] Dim $skill_sleep05[$acc_max + 1] Dim $skill_sleep06[$acc_max + 1] Dim $skill_sleep07[$acc_max + 1] Dim $skill_sleep07mouse[$acc_max + 1] Dim $skill_sleep08[$acc_max + 1] Dim $step_move_sleep08[$acc_max + 1] Dim $quest_select_sleep01[$acc_max + 1] Dim $drag_sleep01[$acc_max + 1] Dim $skill_sleep09[$acc_max + 1] Dim $skill_sleep10[$acc_max + 1] Dim $skill_sleep11[$acc_max + 1] Dim $skill_sleep12[$acc_max + 1] Dim $skill_sleep21[$acc_max + 1] Dim $step_sleep01[$acc_max + 1] Dim $ui_gui_sleep01[$acc_max + 1] Dim $Rift_sleep01[$acc_max + 1] Dim $Rift_sleep02[$acc_max + 1] Dim $fog_sleep01[$acc_max + 1] Dim $green_sleep01[$acc_max + 1] Dim $boss_sleep01[$acc_max + 1] Dim $server_sleep01[$acc_max + 1] Dim $battle_sleep01[$acc_max + 1] Dim $battle_log_sleep01[$acc_max + 1] Dim $battle_log_agree01[$acc_max + 1] Dim $battle_log_server_sleep01[$acc_max + 1] Dim $screen_sleep01[$acc_max + 1] Dim $restart_sleep01[$acc_max + 1] Dim $video_sleep01[$acc_max + 1] Dim $a_star_sleep01[$acc_max + 1] Dim $a_star_run_sleep01[$acc_max + 1] Dim $a_star_run_sleep02[$acc_max + 1] Dim $b_map_large_sleep01[$acc_max + 1] Dim $a_lag_wall_sleep01[$acc_max + 1] Dim $battle_disconnect_sleep01[$acc_max + 1] Dim $a_ocr01[$acc_max + 1][6] Dim $s_check_captcha01[$acc_max + 1] Dim $s_num_captcha01[$acc_max + 1] Dim $s_post_captcha01[$acc_max + 1] Dim $s_get_captcha01[$acc_max + 1] Dim $s_text_captcha01[$acc_max + 1] Dim $s_wait_captcha01[$acc_max + 1] Dim $s_reset_captcha01[$acc_max + 1] Dim $s_check_main_quest01[$acc_max + 1] Dim $s_check_train01[$acc_max + 1] Dim $s_check_train02[$acc_max + 1] Dim $num_train01[$acc_max + 1] Dim $v_cmp_drop01X[$acc_max + 1] Dim $v_cmp_target_hp01X[$acc_max + 1] Dim $v_cmp_player_view01X[$acc_max + 1] Dim $v_cmp_target_not_hp01X[$acc_max + 1] Dim $v_cmp_enemyxy_3d01X[$acc_max + 1] Dim $v_cmp_step_move01X[$acc_max + 1] Dim $v_cmp_player_hp01X[$acc_max + 1] Dim $v_cmp_render_enemy_id_at02X[$acc_max + 1] Dim $v_cmp_render_target02X[$acc_max + 1] Dim $p_x01[$acc_max + 1] Dim $p_y01[$acc_max + 1] Dim $p_num01[$acc_max + 1] Dim $s_check_blacksmith01[$acc_max + 1] Dim $v_cmp_render_mini_mapxy02X[$acc_max + 1] Dim $v_cmp_render_draw01X[$acc_max + 1] Dim $v_cmp_render_text_arrow05_lightX[$acc_max + 1] Dim $v_cmp_render_gui_text01X[$acc_max + 1] Dim $aArray_Mouse[$acc_max + 1] Dim $aArray_sleep[$acc_max + 1] Dim $v_cmp_render_map_name03fixX[$acc_max + 1] Dim $space_sleep01[$acc_max + 1] Dim $space_sleep02[$acc_max + 1] Dim $v_cmp_render_rift_defeat01X[$acc_max + 1] Dim $v_cmp_render_rift_defeat05upX[$acc_max + 1] Dim $a_map01[$acc_max + 1] Dim $a_map_s01[$acc_max + 1] Dim $a_new_map01[$acc_max + 1] Dim $a_base01[$acc_max + 1] Dim $s_reset_move01[$acc_max + 1] Dim $s_up_power01[$acc_max + 1] Dim $a_fog_map01[$acc_max + 1] Dim $s_fog_map01[$acc_max + 1] Dim $s_fix_mini_map01[$acc_max + 1] Dim $s_sell01[$acc_max + 1] Dim $s_diablo_play01[$acc_max + 1] Dim $s_game_open01[$acc_max + 1] Dim $s_map_red01[$acc_max + 1] Dim $a_map_red01x[$acc_max + 1] Dim $a_map_red01y[$acc_max + 1] Dim $s_inventory_full01[$acc_max + 1] Dim $s_identify01[$acc_max + 1] Dim $s_check_trade01name[$acc_max + 1] Dim $s_check_trade01[$acc_max + 1] Dim $s_check_trade01char[$acc_max + 1] Dim $s_next01[$acc_max + 1] Dim $s_player_hp01[$acc_max + 1] Dim $skill_player_hp01[$acc_max + 1] Dim $s_destroy01[$acc_max + 1] Dim $v_cmp_mat_hinh03X[$acc_max + 1] Dim $v_cmp_render_mini_tiled03X[$acc_max + 1] Dim $dis_portal01[$acc_max + 1] ; Dis Portal x y Elder Rift Dim $v_cmp_render_map_no_fog06X[$acc_max + 1] Dim $name_server01char[$acc_max + 1] Dim $restart_sleep01num[$acc_max + 1] ; Battlet > Diablo > 150p Dim $name_server00[$acc_max + 1] Dim $s_codex00on[$acc_max + 1] Dim $battle_pass00on[$acc_max + 1] Dim $find_1_4[$acc_max + 1] Dim $tile_battle_log01num[$acc_max + 1] Dim $westmarch_lag[$acc_max + 1] Dim $not_server01num[$acc_max + 1] Dim $not_server01on[$acc_max + 1] Dim $Blacksmith_num01[$acc_max + 1] Dim $s_map_large00on[$acc_max + 1] Dim $s_map_large00zoom[$acc_max + 1] Dim $s_mini_map_reset00on[$acc_max + 1] Dim $s_mini_map_back00on[$acc_max + 1] Dim $a_a_star00x[$acc_max + 1] Dim $a_a_star00y[$acc_max + 1] Dim $a_lp_item01equip[$acc_max + 1] Dim $a_lp_item00num[$acc_max + 1] Dim $a_distance_xy01max[$acc_max + 1] Dim $a_distance_xy01target[$acc_max + 1] Dim $s_elder_rift_pixel01[$acc_max + 1] Dim $battle01exeX[$acc_max + 1] Dim $s_fake_map[$acc_max + 1] ;Global $bai_quaiy01[8] = ["", 0, 0, 0, 1, 1, 1, 1] ;Array to store all label handles Dim $gui_label[1][4] ; [0][0] = id labe [0][1] = x y [0][2] = color [0][3] = xy point to point for $lp_count = 1 to $acc_max $tile_cuaso01[$lp_count] = $m4_cuaso01[$lp_count] Next For $loopacc = 1 to $acc_max $process[$loopacc] = "" $cuaso[$loopacc] = "" $cuasoX[$loopacc] = "" $gameX[$loopacc] = "" $game_hookX[$loopacc] = "" $vtmemX[$loopacc] = "" $wemix_fix01[$loopacc] = 50 $wemix_fix02[$loopacc] = 50 $action_end[$loopacc] = 1 $sleep01[$loopacc] = 0 $sleep02[$loopacc] = 0 $sleep03[$loopacc] = 0 $sleep04[$loopacc] = 0 $sleep05[$loopacc] = 0 $skill_sleep00[$loopacc] = 0 $skill_sleep01[$loopacc] = 0 $skill_sleep02[$loopacc] = 0 $skill_sleep03[$loopacc] = 0 $skill_sleep04[$loopacc] = 0 $skill_sleep05[$loopacc] = 0 $skill_sleep06[$loopacc] = 0 $skill_sleep07[$loopacc] = 0 $skill_sleep07mouse[$loopacc] = 0 $skill_sleep08[$loopacc] = 0 $step_move_sleep08[$loopacc] = 0 $quest_select_sleep01[$loopacc] = 0 $drag_sleep01[$loopacc] = 0 $skill_sleep09[$loopacc] = 0 $skill_sleep10[$loopacc] = 0 $skill_sleep11[$loopacc] = 0 $skill_sleep12[$loopacc] = 0 $skill_sleep21[$loopacc] = 0 $step_sleep01[$loopacc] = 0 $ui_gui_sleep01[$loopacc] = 0 $Rift_sleep01[$loopacc] = 0 $Rift_sleep02[$loopacc] = 0 $fog_sleep01[$loopacc] = 0 $green_sleep01[$loopacc] = 0 $boss_sleep01[$loopacc] = 0 $server_sleep01[$loopacc] = 0 $battle_sleep01[$loopacc] = 0 $battle_log_sleep01[$loopacc] = 0 $battle_log_agree01[$loopacc] = 0 $battle_log_server_sleep01[$loopacc] = 0 $screen_sleep01[$loopacc] = 0 $restart_sleep01[$loopacc] = 0 $video_sleep01[$loopacc] = 0 $a_star_sleep01[$loopacc] = 0 $a_star_run_sleep01[$loopacc] = 0 $a_star_run_sleep02[$loopacc] = 0 $b_map_large_sleep01[$loopacc] = 0 $a_lag_wall_sleep01[$loopacc] = 0 $battle_disconnect_sleep01[$loopacc] = 0 $p_x01[$loopacc] = 0 $p_y01[$loopacc] = 0 $p_num01[$loopacc] = 0 $s_check_blacksmith01[$loopacc] = 2 $aArray_Mouse[$loopacc] = "" $aArray_sleep[$loopacc] = 0 $space_sleep01[$loopacc] = 0 $space_sleep02[$loopacc] = 0 $s_up_power01[$loopacc] = 0 $a_ocr01[$loopacc][0] = "LV.0"&@CRLF $s_check_main_quest01[$loopacc] = 0 $s_check_train01[$loopacc] = 0 $s_check_train02[$loopacc] = 0 $num_train01[$loopacc] = 0 ; > 90 $a_map01[$loopacc] = 0 $a_map_s01[$loopacc] = 0 $a_new_map01[$loopacc] = 0 $a_base01[$loopacc] = 0 $s_reset_move01[$loopacc] = 0 $a_fog_map01[$loopacc] = 0 $s_fog_map01[$loopacc] = 0 $s_fix_mini_map01[$loopacc] = 0 $s_sell01[$loopacc] = 0 $s_game_open01[$loopacc] = 0 $s_map_red01[$loopacc] = 0 $a_map_red01x[$loopacc] = 0 $a_map_red01y[$loopacc] = 0 $s_inventory_full01[$loopacc] = 0 $s_identify01[$loopacc] = 0 $s_player_hp01[$loopacc] = 0 $skill_player_hp01[$loopacc] = 0 $s_destroy01[$loopacc] = 0 $name_server01char[$loopacc] = 1 $restart_sleep01num[$loopacc] = 0 $name_server00[$loopacc] = $name_server_default $s_codex00on[$loopacc] = 0 $battle_pass00on[$loopacc] = $login_pass_max01 $find_1_4[$loopacc] = 1 $tile_battle_log01num[$loopacc] = 0 $dis_portal01[$loopacc] = -1 ; Dis Portal x y Elder Rift $westmarch_lag[$loopacc] = 0 $not_server01num[$loopacc] = 0 $not_server01on[$loopacc] = 1 $Blacksmith_num01[$loopacc] = 0 $s_map_large00on[$loopacc] = 1 $s_map_large00zoom[$loopacc] = 1 $s_mini_map_reset00on[$loopacc] = 1 $s_mini_map_back00on[$loopacc] = 1 $a_a_star00x[$loopacc] = 0 $a_a_star00y[$loopacc] = 0 $a_lp_item01equip[$loopacc] = 0 $a_lp_item00num[$loopacc] = 1 $a_distance_xy01max[$loopacc] = -1 $a_distance_xy01target[$loopacc] = -1 $s_elder_rift_pixel01[$loopacc] = 0 If $loopacc > 0 and $loopacc < 10 Then $battle01exeX[$loopacc] = "Batt0"&$loopacc&".net.exe" ElseIf $loopacc > 10-1 and $loopacc < 24+1 Then $battle01exeX[$loopacc] = "Batt"&$loopacc&".net.exe" EndIf $s_fake_map[$loopacc] = "" Next $g_tile02 = WinGetTitle($version01) $find_tile02 = StringInStr($g_tile02, $version01) If $find_tile02 > 0 then WinKill(WinGetTitle($g_tile02, "")) EndIf ; value first $loopacc = 1 $run01 = 0 $press_key01 = "77" $patch_log01 = "C:\acc\Crusaders_G_log01.au3" $patch_memu01 = "C:\acc\Crusaders_G_memu01.au3" ;edit_log01($patch_log01,18-1,"$thaydoi_login_max01 = 4 ; 12 = online") Dim $g_tile_memu[30 + 1] $g_tile_memu[0] = "MEmu_0" $g_tile_memu[1] = "MEmu_1" $g_tile_memu[2] = "MEmu_2" $g_tile_memu[3] = "MEmu_3" $g_tile_memu[4] = "MEmu_4" $g_tile_memu[5] = "MEmu_5" $g_tile_memu[6] = "MEmu_6" $g_tile_memu[7] = "MEmu_7" $g_tile_memu[8] = "MEmu_8" $g_tile_memu[9] = "MEmu_9" $g_tile_memu[10] = "MEmu_10" $g_tile_memu[11] = "MEmu_11" $g_tile_memu[12] = "MEmu_12" $g_tile_memu[13] = "MEmu_13" $g_tile_memu[14] = "MEmu_14" $g_tile_memu[15] = "MEmu_15" $g_tile_memu[16] = "MEmu_16" $g_tile_memu[17] = "MEmu_17" $g_tile_memu[18] = "MEmu_18" $g_tile_memu[19] = "MEmu_19" $g_tile_memu[20] = "MEmu_20" Dim $adb_ip[30 + 1] $adb_ip[0] = "127.0.0.1:21503" $adb_ip[1] = "127.0.0.1:21513" $adb_ip[2] = "127.0.0.1:21523" $adb_ip[3] = "127.0.0.1:21533" $adb_ip[4] = "127.0.0.1:21543" $adb_ip[5] = "127.0.0.1:21553" $adb_ip[6] = "127.0.0.1:21563" $adb_ip[7] = "127.0.0.1:21573" $adb_ip[8] = "127.0.0.1:21583" $adb_ip[9] = "127.0.0.1:21593" $adb_ip[10] = "127.0.0.1:21603" $adb_ip[11] = "127.0.0.1:21613" $adb_ip[12] = "127.0.0.1:21623" $adb_ip[13] = "127.0.0.1:21633" $adb_ip[14] = "127.0.0.1:21643" $adb_ip[15] = "127.0.0.1:21653" $adb_ip[16] = "127.0.0.1:21663" $adb_ip[17] = "127.0.0.1:21673" $adb_ip[18] = "127.0.0.1:21683" $adb_ip[19] = "127.0.0.1:21693" $adb_ip[20] = "127.0.0.1:21703" $adb_ip[21] = "127.0.0.1:21713" $adb_ip[22] = "127.0.0.1:21723" $adb_ip[23] = "127.0.0.1:21733" $adb_ip[24] = "127.0.0.1:21743" $adb_ip[25] = "127.0.0.1:21753" $adb_ip[26] = "127.0.0.1:21763" $adb_ip[27] = "127.0.0.1:21773" $adb_ip[28] = "127.0.0.1:21783" $adb_ip[29] = "127.0.0.1:21793" $adb_ip[30] = "127.0.0.1:21803" ; $ld_list2 = nox_list(1) Func nox_list($view0=0) $aArray_1D = adb_cmd02($patch01&"Program Files\Nox\bin\NoxConsole.exe list") If $view0=1 Then _ArrayDisplay($aArray_1D) Local $aArray_2D[ UBound($aArray_1D) ][7] ; Set these dimensions as required For $i = 0 To UBound($aArray_1D) - 1 $aTemp = StringSplit($aArray_1D[$i], ",") ; Split the 1D elements assuming the delimiter is always a space For $j = 0 To UBound($aArray_2D, 2) - 1 $aArray_2D[$i][$j] = $aTemp[$j + 1] ; Get the elements into the 2D array Next Next $aArray_2D[0][0] = "index" $aArray_2D[0][1] = "title " $aArray_2D[0][2] = "top window handle" $aArray_2D[0][3] = "bind window handle" $aArray_2D[0][4] = "android started" $aArray_2D[0][5] = "pid" $aArray_2D[0][6] = "pid of vbox" If $view0=1 Then _ArrayDisplay($aArray_2D) Return $aArray_2D EndFunc ; $ld_list2 = ldplayer_list2(1) Func ldplayer_list2($view0=0) $aArray_1D = adb_cmd02($patch01&"LDPlayer\"&$ldplayer_version01&"\dnconsole.exe list2") ;If $view0=1 Then _ArrayDisplay($aArray_1D) Local $aArray_2D[ UBound($aArray_1D) ][7] ; Set these dimensions as required For $i = 0 To UBound($aArray_1D) - 1 $aTemp = StringSplit($aArray_1D[$i], ",") ; Split the 1D elements assuming the delimiter is always a space For $j = 0 To UBound($aArray_2D, 2) - 1 $aArray_2D[$i][$j] = $aTemp[$j + 1] ; Get the elements into the 2D array Next Next $aArray_2D[0][0] = "index" $aArray_2D[0][1] = "title " $aArray_2D[0][2] = "top window handle" $aArray_2D[0][3] = "bind window handle" $aArray_2D[0][4] = "android started" $aArray_2D[0][5] = "pid" $aArray_2D[0][6] = "pid of vbox" If $view0=1 Then _ArrayDisplay($aArray_2D) Return $aArray_2D EndFunc ; $aArray_1D = adb_cmd02("D:\LDPlayer\LDPlayer4.0\dnconsole.exe list2") Func adb_cmd02($adb0) ; $patch01&"Program Files\Microvirt\MEmu\adb -s "&$MEmu1&" shell dumpsys activity top" ; max array 999 Local $iPID = Run($adb0, @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) ;Global $iPID = Run($patch01&"Program Files\Microvirt\MEmu\adb -s "&$MEmu1&" shell dumpsys activity", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) ;Global $iPID = Run($patch01&"Program Files\Microvirt\MEmu\adb -s "&$MEmu1&" shell dumpsys network_management", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) ; Wait until the process has closed using the PID returned by Run. ProcessWaitClose($iPID) ; Read the Stdout stream of the PID returned by Run. This can also be done in a while loop. Look at the example for StderrRead. Local $sOutput = StdoutRead($iPID) ;MsgBox($MB_SYSTEMMODAL, "","loop "&$lp_out&" "& $sOutput) ; Use StringSplit to split the output of StdoutRead to an array. All carriage returns (@CRLF) are stripped and @CRLF (line feed) is used as the delimiter. Global $aArray = StringSplit(StringTrimRight(StringStripCR($sOutput), StringLen(@CRLF)), @CRLF, $STR_NOCOUNT ) If @error Then ; MsgBox($MB_SYSTEMMODAL, "", "It appears there was an error trying to find all the files in the current script directory.") Dim $aArray[99] Return $aArray Else ; Display the results. ;_ArrayDisplay($aArray) Return $aArray EndIf EndFunc ;==>Example Func adb_cmd01($adb0) ; $patch01&"Program Files\Microvirt\MEmu\adb -s "&$MEmu1&" shell dumpsys activity top" ; max array 999 Global $iPID = Run($adb0, @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) ;Global $iPID = Run($patch01&"Program Files\Microvirt\MEmu\adb -s "&$MEmu1&" shell dumpsys activity", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) ;Global $iPID = Run($patch01&"Program Files\Microvirt\MEmu\adb -s "&$MEmu1&" shell dumpsys network_management", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) For $lp_out = 1 to 30 Sleep(50) ; Read the Stdout stream of the PID returned by Run. This can also be done in a while loop. Look at the example for StderrRead. Global $sOutput = StdoutRead($iPID) If $sOutput <> "" Then ;MsgBox($MB_SYSTEMMODAL, "","loop "&$lp_out&" "& $sOutput) ExitLoop EndIf Next ProcessClose($iPID) ; Use StringSplit to split the output of StdoutRead to an array. All carriage returns (@CRLF) are stripped and @CRLF (line feed) is used as the delimiter. Global $aArray = StringSplit(StringTrimRight(StringStripCR($sOutput), StringLen(@CRLF)), @CRLF) If @error Then ; MsgBox($MB_SYSTEMMODAL, "", "It appears there was an error trying to find all the files in the current script directory.") Dim $aArray[99] Return $aArray Else ; Display the results. ;_ArrayDisplay($aArray) Return $aArray EndIf ; Wait until the process has closed using the PID returned by Run. ;ProcessWaitClose($iPID) EndFunc ;==>Example Func _SetScreenResVidMode($DeskWidth=@DesktopWidth,$DeskHeight=@DesktopHeight,$DeskDepth=@DesktopDepth,$DeskRefresh=@DesktopRefresh) If StringIsSpace($DeskWidth) Or ($DeskWidth = -1) Then $DeskWidth=@DesktopWidth ; default Nulls to currents settings If StringIsSpace($DeskHeight) Or ($DeskHeight = -1) Then $DeskHeight=@DesktopHeight If StringIsSpace($DeskDepth) Or ($DeskDepth = -1) Then $DeskDepth=@DesktopDepth If StringIsSpace($DeskRefresh) Or ($DeskRefresh = -1) Then $DeskRefresh=@DesktopRefresh If $DeskWidth = @DesktopWidth And $DeskHeight = @DesktopHeight And $DeskDepth = @DesktopDepth And $DeskRefresh = @DesktopRefresh Then Return(1) Global $DeviceMODE=DllStructCreate('byte[32];int[10];byte[32];int[6]') Global $erRes=DllCall('User32.dll','int','EnumDisplaySettings','ptr',0,'long',0,'ptr',DllStructGetPtr($DeviceMODE)) If @error Then $DeviceMODE=Null Return(SetError(1,0,0)) EndIf If $erRes[0] <> 0 Then ; DM_PELSWIDTH, DM_PELSHEIGHT, DM_BITSPERPEL, DM_DISPLAYFREQUENCY DllStructSetData($DeviceMODE,2, BitOR(0x00080000, 0x00100000, 0x00040000, 0x00400000) ,5) DllStructSetData($DeviceMODE,4,$DeskWidth,2) DllStructSetData($DeviceMODE,4,$DeskHeight,3) DllStructSetData($DeviceMODE,4,$DeskDepth,1) DllStructSetData($DeviceMODE,4,$DeskRefresh,5) ; 0x00000002=CDS_TEST $erRes=DllCall('User32.dll','int','ChangeDisplaySettings','ptr',DllStructGetPtr($DeviceMODE),'int',0x00000002) If @error Then $erRes[0]=-1 If $erRes[0] = 1 Then ; 1=DISP_CHANGE_RESTART $DeviceMODE=Null Return(2) ElseIf $erRes[0] = 0 Then ; 0=DISP_CHANGE_SUCCESSFUL ; 0x00000001=CDS_UPDATEREGISTRY DllCall('User32.dll','int','ChangeDisplaySettings','ptr',DllStructGetPtr($DeviceMODE),'int',0x00000001) ; DllCall('User32.dll','int','SendMessage','hwnd',0xFFFF,'int',0x007E,'int',$DeskDepth,'int',$DeskHeight*2^16+$DeskWidth) bi loi $DeviceMODE=Null ; 0xFFFF=HWND_BROADCAST, 0x007E=WM_DISPLAYCHANGE Return(1) EndIf EndIf ;$DeviceMODE=Null ;Return(SetError(1,0,$erRes)) EndFunc ;==>_SetScreenResVidMode ; vt memory mac dinh ;$vtmem_new = 0xDB0CD ; vt memory autoit3.exe+DB0CD ; base dll $game = "Autoit3.exe" $game_hook = "PathOfExile.exe" Local $reg_AutoIt3 = RegRead("HKEY_CLASSES_ROOT\AutoIt3Script\Shell\Run\Command", "") $find_AutoIt3 = StringInStr($reg_AutoIt3, "meoxin3.exe") If $find_AutoIt3 > 0 then $game = "meoxin3.exe" ;$game_hook = "meoxin3.exe" EndIf Dim $g_press_save[99] Dim $button_select[1] = ["save backup"] ; reset value need $loopacc = 1 $loopacc_s = 1 $run01 = 0 $delay = 5 $delay_pause01 = 1 ; pause check color 1-1 $delay_pause02 = 0 ; pause check color all $time_start_fixacc01 = TimerInit() ; Func hook value --------------------------------------------------- $item_center_x01 = -0 $item_center_y01 = -0 ; end Func hook value --------------------------------------------------- ; Func game --------------------------------------------------- Func Distance( $x1, $y1, $x2, $y2 ) ; PlayerX, PlayerY, EnemyX, EnemyY $dist = sqrt( ( $x2 - $x1 ) ^ 2 + ( $y2 - $y1 ) ^ 2 ) Return $dist EndFunc Func rad2Deg($rad) $Pi = 4 * ATan(1) return ($rad*180/$Pi) EndFunc Func Rotation($x1,$y1,$x2,$y2) ; PlayerX, PlayerY, EnemyX, EnemyY $Pi = 4 * ATan(1) if (($x2 - $x1 ) == 0) Then If ($y2 > $y1) Then $radian = 0 Else $radian = $Pi EndIf Else If ($x2 > $x1) Then $radian = $Pi/2 - aTan(($y2 - $y1)/($x2 - $x1)) Else $radian = $Pi*1.5 - aTan(($y2 - $y1)/($x2 - $x1)) EndIf EndIf Return rad2Deg($radian) EndFunc ; EndFunc game --------------------------------------------------- ; Create a GUI with various controls. Global $hGUI01 = 999, $hGUI02 = 999 Global $hGUI01 = GUICreate($version01, $w, $h+$h_check) GUISetBkColor($background01color) ; will change background color _GDIPlus_Startup() $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI01) $red = 0xFFFF0000 $green = 0xFF00FF00 $blue = 0xFF0000FF $black = 0xFF000000 $white = 0xFFF6F6F4 $gray = 0xFFFFFFFF $mask = 0xFFFF00FF $purple = 0xFF9370DB $yellow = 0xFFFF00 ; Create solid brush $Brush_red = _GDIPlus_BrushCreateSolid() $Brush_green = _GDIPlus_BrushCreateSolid() $Brush_blue = _GDIPlus_BrushCreateSolid() $Brush_black = _GDIPlus_BrushCreateSolid() $Brush_white = _GDIPlus_BrushCreateSolid() $Brush_gray = _GDIPlus_BrushCreateSolid() $Brush_mask = _GDIPlus_BrushCreateSolid() $Brush_purple = _GDIPlus_BrushCreateSolid() ; Get solid brush color ;$iClr1 = _GDIPlus_BrushGetSolidColor($hBrush1) ; Draw some graphics with the original brush color ;_GDIPlus_GraphicsFillEllipse($hGraphic, 25, 25, 100, 100, $hBrush1) ; Set new brush color (0xFFFF0000 = Red) _GDIPlus_BrushSetSolidColor($Brush_red, $red) _GDIPlus_BrushSetSolidColor($Brush_green, $green) _GDIPlus_BrushSetSolidColor($Brush_blue, $blue) _GDIPlus_BrushSetSolidColor($Brush_black, $black) _GDIPlus_BrushSetSolidColor($Brush_white, $white) _GDIPlus_BrushSetSolidColor($Brush_gray, $gray) _GDIPlus_BrushSetSolidColor($Brush_mask, $mask) _GDIPlus_BrushSetSolidColor($Brush_purple, $purple) ; Get new solid brush color ;$iClr2 = _GDIPlus_BrushGetSolidColor($hBrush1) $red = 0xFF5500 $green = 0x00FF00 $blue = 0x0099FF $black = 0xAAAAAA $white = 0xF6F6F4 $gray = 0xFFFFFF $mask = 0xFF00FF $yellow = 0xFFFF00 $purple = 0x9370DB Local $friend_list01 _FileReadToArray($path_fb_url_friend01, $friend_list01 ) $name_user00 = "no user name" If UBound($friend_list01) - 1 > 10 Then _ArrayDelete($friend_list01, 0) ; xoa dem dong line txt [0] $name_user00 = $friend_list01[0] EndIf ; view data --------------------------------------------------- ;For $loopacc = 1 to $select_max ;$process[$loopacc] = @AutoItPID ;$cuaso[$loopacc] = WinGetHandle("", "") ;$procHwnd01 = _Memoryopen($process[$loopacc],0x1f0fff,0) ;Next ; view gui---------------------------------------------------- $time_start01 = TimerInit() $time_stop01 = int(TimerDiff($time_start01)) ;Global $idCheckbox35_tiled01_01 = GUICtrlCreateList("VIEW data list", 10, 425, 380, 170, BitOr($LBS_EXTENDEDSEL, $WS_BORDER, $WS_HSCROLL, $WS_VSCROLL)) ; tat xep array theo abc Global $idCheckbox35_tiled01_01 = GUICtrlCreateEdit("VIEW data list", 10, 425, 380, 170, BitOr($LBS_EXTENDEDSEL, $WS_BORDER, $WS_HSCROLL, $WS_VSCROLL)) ; tat xep array theo abc GUICtrlSetLimit($idCheckbox35_tiled01_01, 2000) GUICtrlSetColor($idCheckbox35_tiled01_01, 0xff9a92) GUICtrlSetBkColor($idCheckbox35_tiled01_01, $background01color) GUICtrlSetData($idCheckbox35_tiled01_01, "Line1 FACEBOOK "&$name_user00) GUICtrlSetData($idCheckbox35_tiled01_01, "Line2 ip modem "&$path_fb_ip_modem_list01[0][0]&" "&$path_fb_ip_modem_list01[0][1]&" "&$path_fb_ip_modem_list01[0][2]) GUICtrlSetData($idCheckbox35_tiled01_01, "Line3 ip public "&$sPublicIP) $time_start01 = TimerInit() Global $idCheckbox35_tiled02_02 = GUICtrlCreateList("VIEW img list", 405, 425, 380, 170, BitOr($LBS_EXTENDEDSEL, $WS_BORDER, $WS_HSCROLL, $WS_VSCROLL)) ; tat xep array theo abc GUICtrlSetLimit($idCheckbox35_tiled02_02, 2000) GUICtrlSetColor($idCheckbox35_tiled02_02, 0x9fc5e8) GUICtrlSetBkColor($idCheckbox35_tiled02_02, $background01color) Local $version_sandboxie01 = FileGetVersion("C:\Program Files\Sandboxie\SbieCtrl.exe") ;GUICtrlSetData($idCheckbox35_tiled02_02, "$version_sandboxie01 = "&$Version_sandboxie01) ;GUICtrlSetData($idCheckbox35_tiled02_02, "Text Color FACEBOOK Line1 "&$name_user00) ;GUICtrlSetData($idCheckbox35_tiled02_02, "Line2 tds user "&$path_traodoisub_list01[0][0]) ;GUICtrlSetData($idCheckbox35_tiled02_02, "Line3 tds pass "&$path_traodoisub_list01[0][1]) Global $idCheckbox35_tiled03_03 = GUICtrlCreateListView("", 10, 10, 1004, 220) ; tat xep array theo abc _GUICtrlListView_SetExtendedListViewStyle($idCheckbox35_tiled03_03, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_CHECKBOXES)) GUICtrlSetLimit($idCheckbox35_tiled03_03, 2000) GUICtrlSetColor($idCheckbox35_tiled03_03, 0x004b9f) For $i = 0 To UBound($path_fb_html_list01, $UBOUND_COLUMNS) - 1 ; gui name _GUICtrlListView_AddColumn($idCheckbox35_tiled03_03, $path_fb_html_list01[0][$i], 110) Next _GUICtrlListView_SetColumnWidth($idCheckbox35_tiled03_03, 0, 40) ; Select _GUICtrlListView_SetColumnWidth($idCheckbox35_tiled03_03, 1, 40) ; Number _GUICtrlListView_SetColumnWidth($idCheckbox35_tiled03_03, 2, 90) ; Name _GUICtrlListView_SetColumnWidth($idCheckbox35_tiled03_03, 3, 180) ; Mail _GUICtrlListView_SetColumnWidth($idCheckbox35_tiled03_03, 4, 100) ; Data _GUICtrlListView_SetColumnWidth($idCheckbox35_tiled03_03, 5, 110) ; FB on _GUICtrlListView_SetColumnWidth($idCheckbox35_tiled03_03, 6, 110) ; TDS on _GUICtrlListView_SetColumnWidth($idCheckbox35_tiled03_03, 7, 50) ; TTC on _GUICtrlListView_SetColumnWidth($idCheckbox35_tiled03_03, 8, 500) ; Not ; Remove the header ;_ArrayDelete($path_fb_html_list01, 0) ; xoa 1 cho dep dong ; Load the ListView with the data For $lp = 1 To UBound($path_fb_html_list01)-1 ; count nick facebook > update ip $path_fb_html_list01[$lp][4] = $sPublicIP ;_ArrayDisplay($data_list00) Next _GUICtrlListView_AddArray($idCheckbox35_tiled03_03, $path_fb_html_list01) _GUICtrlListView_SetBkColor($idCheckbox35_tiled03_03, $background01color) _GUICtrlListView_SetTextColor($idCheckbox35_tiled03_03, HexStringReverse("93c47d","","dec") ) _GUICtrlListView_SetTextBkColor($idCheckbox35_tiled03_03, $background01color) $hFont = _WinAPI_CreateFont(16, 6, 0, 0, $FW_MEDIUM, False, False, False, $DEFAULT_CHARSET, $OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, 'Normal') _WinAPI_SetFont($idCheckbox35_tiled03_03, $hFont, True) Func HexStringReverse($HexString, $delim= " ",$type0="string") ;coded by UEZ 2011 > string hex color "f44336" > Dec("3643f4") $return0 = "" If Not IsString($HexString) Then Return SetError(1, 0, 0) ;not a string If StringRegExpReplace($HexString, "(?i)[0-9a-fs]", "") Then Return SetError(2, 0, 0) ;not a hex string Local $aResult = StringSplit($HexString, " ") If Not @error Then $aResult = StringSplit(StringRegExpReplace($HexString, "b([w])b", "0$1"), " ", 2) Else If Mod(StringLen($HexString), 2) Then $HexString = "0" & $HexString $aResult = StringRegExp($HexString, ".{2}", 3) EndIf _ArrayReverse($aResult) $return0 = _ArrayToString($aResult, $delim) If $type0="dec" Then $return0 = Dec($return0) Return $return0 EndFunc #cs ; Check the checkboxes to match the data For $i = 0 To _GUICtrlListView_GetItemCount($idCheckbox35_tiled03_03) - 1 ; ConsoleWrite($path_fb_html_list01[$i][0]& @CRLF) If $path_fb_html_list01[$i][0] = "x" Then _GUICtrlListView_SetItemChecked($idCheckbox35_tiled03_03, $i) _GUICtrlListView_SetItemText($idCheckbox35_tiled03_03, $i, "") EndIf Next #ce ; button -------------------------------------------------------------------------------- ; list_html01() $process_autoit01 = @AutoItPID Global $procHwnd_autoit01 = _Memoryopen($process_autoit01,0x1f0fff,0) ;$button_select01 = button_all01(10,$h+(19*1)-185,0xfde597,"SELECT EDIT", "SELECT[ ]", "SELECT[X]", "ALL_MOUSE", "SAP_XEP", "GAME_START", "GAME_TITLE") $button_select01 = button_all01(10,$h+(19*1)-185,0xfde597,"SELECT EDIT", "SELECT[ ]", "SELECT[X]", "ALL_MOUSE", "SAP_XEP", "GAME_START", "") ;$button_select02 = button_all01(10,$h+(19*2)-185,0xbcbcbc,"SELECT02", "CHON 25>36", "A_STAR_ON", "A_STAR_TEST", "SANDBOX_DRIVE", "LYSANDER", "RISE_OF_CLEAR") $button_select02 = button_all01(10,$h+(19*2)-185,0xbcbcbc,"SELECT02", "", "A_STAR_ON", "", "SANDBOX_DRIVE", "LYSANDER", "") $button_update01 = button_all00(10, $h+(19*10)-185, 0xfde597,"UPDATE FB AT01", "UPDATE FILE1", "PIXEL COLOR", "PIXEL CLICK","PIXEL ORC",$auto_wait01[1]&":"&$auto_wait01[2]&":"&$auto_wait01[3],"TIME CLOCK") GUICtrlSetFont( ($button_update01[5])[7-1], 13, $FW_BOLD , $FW_NORMAL , "Tahoma") ; Set the font of the controlID stored in $iLabel2. GUICtrlSetFont( ($button_update01[6])[7-1], 13, $FW_BOLD , $FW_NORMAL , "Tahoma") ; Set the font of the controlID stored in $iLabel2. ;GUICtrlSetData( ($button_update01[6])[7-1] ,@HOUR & ":" & @MIN & ":" & @SEC) ; date GUICtrlSetData( ($button_update01[5])[7-1] ,"RESTART" ) ; date ;GUICtrlSetData( ($button_update01[6])[7-1] , ($restart_sleep01[$loopacc]- $time_stop01)/60000 ) ; date ;$button_tool01 = button_all05(10,$h+(19*3)-185,0xb6d7a8,"1 HTTP_PICO01", "$N_WORKERS01","$N_MY_NAME01", "$N_WEBSITE_JOB01", "$N_JOB_ID01") ;GUICtrlSetData( ($button_tool01[2])[7-1] ,$path_fb_html_list01[3][2]) ; NAME ;$path_save_pico02 = StringReplace($path_save_pico01, ".txt", "")&"_"&$path_fb_html_list01[3][2]&".txt" ;$button_tool02 = button_all03(10,$h+(19*5)-185,0xe6e6e6,"2 CLICK_WEBSITE01", "$N_CLICK_SITE01+Mang_xa_hoi", "$N_NEW_TAB01", "$N_WEBSITE_CHINH01", "$N_TAB01_30S") ;GUICtrlSetData( ($button_tool02[4])[7-1] ,11) ; $N_TAB01_30S = 11 default ;$button_tool03 = button_all03(10,$h+(19*6)-185,0xe6e6e6,"3 WEBSITE10+CODE01", "$N_WEBSITE10", "$N_WEBSITE10MAX","$N_WEBSITE_CODE01", "$N_FIND_CODE01") ;GUICtrlSetData( ($button_tool03[2])[7-1] ,10) ; $N_WEBSITE10MAX = 10 default $button_auto07 = button_all01(10,$h+(19*3)-185,0xbcbcbc,"AUTO07","CHON 01>12","CHON 13>24", "VIEW_3D", "EXIT_ALL01","Elder_Rift_Quest","_ArrayToString" ) $button_auto01 = button_all01(10,$h+(19*4)-185,0xbadeff,"AUTO01","STEP_MOVE","TRAIN01", "Blacksmith", "TRAIN02","PARAGON_3_4","AUTO STOP" ) ;$button_auto02 = button_all01(10,$h+(19*9)-185,0xb4a7d6,"AUTO02","GDI_PLUS01","ASM_HOOK01", "BATTLE.NET", "WEMIX_PASS01","SB_REGHIVE01","2CAPTCHA" ) $button_auto02 = button_all01(10,$h+(19*9)-185,0xb4a7d6,"AUTO02","","ASM_HOOK", "BATTLE.NET", "","SB_REGHIVE01","" ) ;$button_auto03 = button_all01(10,$h+(19*5)-185,0xFEFEFE,"AUTO03","1/HELI+5","2/DARK+5", "3/Heli+4+Dark+1", "AUTO_SERVER","NAME_PHONG","4/VIZ-JUN+5" ) $button_auto03 = button_all01(10,$h+(19*5)-185,0xFEFEFE,"AUTO03","","", "", "AUTO_SERVER","NAME_PHONG","" ) $button_auto04 = button_all01(10,$h+(19*8)-185,0x93c47d,"AUTO04","CHAR1","CHAR2", "CHAR3", "CHAR4","CHAR5","RESTART01" ) $button_auto05 = button_all01(10,$h+(19*6)-185,0xd15a5a,"AUTO05","RANDOM_GEM1","MARKET01", "CHECK_TRADE1", "THAO_GEM1","VIEW_TRADE1","REMOVE TRADE" ) ; SAVE_TRADE1 > MARKET_TRADE $button_auto06 = button_all01(10,$h+(19*7)-185,0xbadeff,"AUTO06","GOLD_RESET1","HELLIQUARY", "DARKENING OF TRISTRAM", "VIZ-JUN","GOLD_VIEW1","GOLD_EDIT1" ) ;$button_reset01 = button_all02(10,$h+(19*9)-185,0xa2c4c9,"RESET01","CHROME_URL01=","CHROME_ADS01=", "CHROME_IP01=", "CHROME_CODE01=","C_TITLE_TEXT01","SET_PICO01" ) $button_submit01 = GUICtrlCreateEdit("$N_SUBMIT01"&@CRLF&"Type here"&@CRLF, 10,$h+(19*20)-190, 380, 140 ) $button_submit02 = GUICtrlCreateEdit("$N_SUBMIT02"&@CRLF&"Type here"&@CRLF, 405,$h+(19*20)-190, 380, 140, BitOR($WS_HSCROLL, $WS_VSCROLL)) ;$button_submit03 = GUICtrlCreateEdit("$N_SUBMIT03"&@CRLF&"Type here"&@CRLF, 10,$h+(19*20)-180+(65), 380, 65 ) ;$button_submit04 = GUICtrlCreateEdit("$N_SUBMIT04"&@CRLF&"Type here"&@CRLF, 405,$h+(19*20)-180+(65), 380, 65 ) ;For $lp = 0 to 6 ;GUICtrlSetState( ($button_auto03[$lp])[7-1], $GUI_HIDE) ;Next ;_ArrayDisplay($read_write01[0], "$read_write01") ;ConsoleWrite("$read_write01[0] = "&" "&($read_write01[0])[1]&@CRLF) ; check x setting auto GUICtrlSetState( ($button_select01[3])[7-1], $GUI_CHECKED) ;GUICtrlSetState( ($button_auto01[1])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto01[3])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto01[4])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto04[6])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto07[1])[7-1], $GUI_CHECKED) ;GUICtrlSetState( ($button_auto03[6])[7-1], $GUI_CHECKED) ;GUICtrlSetState( ($button_auto01[2])[7-1], $GUI_CHECKED) ;GUICtrlSetState( ($button_auto01[3])[7-1], $GUI_CHECKED) ;GUICtrlSetState( ($button_auto01[4])[7-1], $GUI_CHECKED) ; end check x setting auto ; auto_server GUICtrlSetState( ($button_auto06[3])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto04[5])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto03[3])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto03[4])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto06[2])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto03[1])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto03[2])[7-1], $GUI_UNCHECKED) ; end auto_server If $a_star01test = 1 Then GUICtrlSetState( ($button_select02[2])[7-1], $GUI_CHECKED) EndIf $data_pass_view = "" For $lp_p = 0 to 24 $data_pass_view &= "N"&$lp_p&" "&$data_mail[$lp_p]&" | "&$data_pass[$lp_p]&@CRLF Next $data_server_view = "" For $lp_p = 0 to 24 $data_server_view &= "N"&$lp_p&" "&$data_server[$lp_p]&@CRLF Next GUICtrlSetData($idCheckbox35_tiled01_01, $data_pass_view) GUICtrlSetData($button_submit01, $data_server_view) GUICtrlSetData($button_submit02, _ArrayToString($data_trade)) $missing_number01 = _reghive04EX(2) ;MsgBox(64, "Đối chiếu hex", "Kết quả kiểm tra các khóa hex từ file .reg:" & @CRLF & @CRLF & $missing_number01) ; check point --------------------------------------------------------------------- ;Global $check_quest_chinh01 = button_checkbox01("01 click quest chính", 240, $h+(18*18)-184, 120, 20,"") Func button_all05($x0=10,$y0=$h+(19*3)-185,$color0=0xffffff,$name0="name0",$name1="name1",$name2="name2",$name3="name3",$name4="name4") ; 0 "ACTIVE" 7-1 check point, 1 "DESCRIPTION", 2 "ADDRESS", 3 "TYPE", 4 "VALUE" Local $button_memory00[7] $all_width00 = 105 $all_width01 = 220 $all_width02 = $all_width01+1 $button_memory00[0] = button_view01($name0&" ?", $x0+0, $y0, $all_width00, 20,$color0) $button_memory00[1] = button_checkbox01($name1,$x0+$all_width00+$all_width00*(1-1)+5, $y0, $all_width00, 20,$color0-0x000111) $button_memory00[2] = button_view01($name2,$x0+$all_width00+$all_width00*(2-1)+10, $y0, $all_width00, 20,$color0-0x000111) $button_memory00[3] = button_input01($name3,$x0+$all_width00+$all_width02*(2-1), $y0, $all_width01, 20,$color0-0x000111) $button_memory00[4] = button_input01($name4,$x0+$all_width00+$all_width02*(3-1), $y0, $all_width01, 20,$color0-0x000111) Return $button_memory00 EndFunc Func button_all00($x0=10,$y0=$h+(19*3)-185,$color0=0xffffff,$name0="name0",$name1="name1",$name2="name2",$name3="name3",$name4="name4",$name5="name5",$name6="name6") ; 0 "ACTIVE" 7-1 check point, 1 "DESCRIPTION", 2 "ADDRESS", 3 "TYPE", 4 "VALUE" Local $button_memory00[7] $all_width01 = 105 $all_width02 = $all_width01+5 $button_memory00[0] = button_view01($name0&" ?", $x0+0, $y0, $all_width01, 20,$color0) $button_memory00[1] = button_checkbox01($name1,$x0+$all_width02*1, $y0, $all_width01, 25,$color0+0x1100) $button_memory00[2] = button_checkbox01($name2,$x0+$all_width02*2, $y0, $all_width01, 25,$color0+0x1100) $button_memory00[3] = button_checkbox01($name3,$x0+$all_width02*3, $y0, $all_width01, 25,$color0+0x1100) $button_memory00[4] = button_checkbox01($name4,$x0+$all_width02*4, $y0, $all_width01, 25,$color0+0x1100) $button_memory00[5] = button_checkbox01($name5,$x0+$all_width02*5, $y0, $all_width01, 25,$color0+0x1100) $button_memory00[6] = button_input01($name6, $x0+$all_width02*6, $y0, $all_width01, 25,$color0+0x1100) Return $button_memory00 EndFunc Func button_all03($x0=10,$y0=$h+(19*3)-185,$color0=0xffffff,$name0="name0",$name1="name1",$name2="name2",$name3="name3",$name4="name4") ; 0 "ACTIVE" 7-1 check point, 1 "DESCRIPTION", 2 "ADDRESS", 3 "TYPE", 4 "VALUE" Local $button_memory00[7] $all_width00 = 105 $all_width01 = 170 $all_width02 = $all_width01+1 $button_memory00[0] = button_view01($name0&" ?", $x0+0, $y0, $all_width00, 20,$color0) $button_memory00[1] = button_input01($name1,$x0+$all_width00+$all_width02*(1-1), $y0, $all_width01, 20,$color0-0x0) $button_memory00[2] = button_input01($name2,$x0+$all_width00+$all_width02*(2-1), $y0, $all_width01, 20,$color0-0x0) $button_memory00[3] = button_input01($name3,$x0+$all_width00+$all_width02*(3-1), $y0, $all_width01, 20,$color0-0x0) $button_memory00[4] = button_input01($name4,$x0+$all_width00+$all_width02*(4-1), $y0, $all_width01, 20,$color0-0x0) Return $button_memory00 EndFunc Func button_all02($x0=10,$y0=$h+(19*3)-185,$color0=0xffffff,$name0="name0",$name1="name1",$name2="name2",$name3="name3",$name4="name4",$name5="name5",$name6="name6") ; 0 "ACTIVE" 7-1 check point, 1 "DESCRIPTION", 2 "ADDRESS", 3 "TYPE", 4 "VALUE" Local $button_memory00[7] $all_width01 = 105 $all_width02 = $all_width01+5 $button_memory00[0] = button_view01($name0&" ?", $x0+0, $y0, $all_width01, 20,$color0) $button_memory00[1] = button_view01($name1,$x0+$all_width02*1, $y0, $all_width01, 20,$color0-0x000111) $button_memory00[2] = button_view01($name2,$x0+$all_width02*2, $y0, $all_width01, 20,$color0-0x000111) $button_memory00[3] = button_view01($name3,$x0+$all_width02*3, $y0, $all_width01, 20,$color0-0x000111) $button_memory00[4] = button_view01($name4,$x0+$all_width02*4, $y0, $all_width01, 20,$color0-0x000111) $button_memory00[5] = button_view01($name5,$x0+$all_width02*5, $y0, $all_width01, 20,$color0-0x000111) $button_memory00[6] = button_view01($name6, $x0+$all_width02*6, $y0, $all_width01, 20,$color0-0x000111) Return $button_memory00 EndFunc Func button_all01($x0=10,$y0=$h+(19*3)-185,$color0=0xffffff,$name0="name0",$name1="name1",$name2="name2",$name3="name3",$name4="name4",$name5="name5",$name6="name6") ; 0 "ACTIVE" 7-1 check point, 1 "DESCRIPTION", 2 "ADDRESS", 3 "TYPE", 4 "VALUE" Local $button_memory00[7] $all_width01 = 105 $all_width02 = $all_width01+5 $button_memory00[0] = button_view01($name0&" ?", $x0+0, $y0, $all_width01, 20,$color0) $button_memory00[1] = button_checkbox01($name1,$x0+$all_width02*1, $y0, $all_width01, 20,$color0-0x000111) $button_memory00[2] = button_checkbox01($name2,$x0+$all_width02*2, $y0, $all_width01, 20,$color0-0x000111) $button_memory00[3] = button_checkbox01($name3,$x0+$all_width02*3, $y0, $all_width01, 20,$color0-0x000111) $button_memory00[4] = button_checkbox01($name4,$x0+$all_width02*4, $y0, $all_width01, 20,$color0-0x000111) $button_memory00[5] = button_checkbox01($name5,$x0+$all_width02*5, $y0, $all_width01, 20,$color0-0x000111) $button_memory00[6] = button_checkbox01($name6, $x0+$all_width02*6, $y0, $all_width01, 20,$color0-0x000111) GUICtrlSetFont( ($button_memory00[0])[7-1], 11.4, $FW_MEDIUM , $FW_NORMAL , "Italic") ; Set the font of the controlID stored in $iLabel2. GUICtrlSetFont( ($button_memory00[1])[7-1], 11.4, $FW_MEDIUM , $FW_NORMAL , "Italic") ; Set the font of the controlID stored in $iLabel2. GUICtrlSetFont( ($button_memory00[2])[7-1], 11.4, $FW_MEDIUM , $FW_NORMAL , "Italic") ; Set the font of the controlID stored in $iLabel2. GUICtrlSetFont( ($button_memory00[3])[7-1], 11.4, $FW_MEDIUM , $FW_NORMAL , "Italic") ; Set the font of the controlID stored in $iLabel2. GUICtrlSetFont( ($button_memory00[4])[7-1], 11.4, $FW_MEDIUM , $FW_NORMAL , "Italic") ; Set the font of the controlID stored in $iLabel2. GUICtrlSetFont( ($button_memory00[5])[7-1], 11.4, $FW_MEDIUM , $FW_NORMAL , "Italic") ; Set the font of the controlID stored in $iLabel2. GUICtrlSetFont( ($button_memory00[6])[7-1], 11.4, $FW_MEDIUM , $FW_NORMAL , "Italic") ; Set the font of the controlID stored in $iLabel2. Return $button_memory00 EndFunc Func Xwrite01($address0, $data0,$protect0=0,$byte0=4) If $byte0 = "TYPE" Then $byte0 = 4 ;MsgBox($MB_SYSTEMMODAL, "1", $data0) ; 32 bit If $protect0=1 Then _VirtualProtectEx($address0, $procHwnd01,$PAGE_READWRITE) ; ($iv_Address, $ah_Handle,$page00) $PAGE_READONLY $PAGE_READWRITE If $x64=0 Then _MemoryWrite($address0, $procHwnd01, $data0,'byte['&$byte0&']') ElseIf $x64=1 Then _MemoryWrite64($address0, $procHwnd01, $data0,'byte['&$byte0&']') EndIf EndFunc Func Xread01($address0,$byte0=4) If $byte0 = "TYPE" Then $byte0 = 4 ;MsgBox($MB_SYSTEMMODAL, "1", $address0) ; 32 bit If $x64=0 Then Return _MemoryReadF($address0, $procHwnd01,'byte['&$byte0&']') ElseIf $x64=1 Then Return _MemoryRead64($address0, $procHwnd01, 'byte['&$byte0&']',"Dec") EndIf EndFunc Func button_memory01($x0=10,$y0=$h+(19*3)-185,$color0=0xffffff) ; 0 "ACTIVE" 7-1 check point, 1 "DESCRIPTION", 2 "ADDRESS", 3 "TYPE", 4 "VALUE" Local $button_memory00[7] $button_memory00[0] = button_checkbox01("ACTIVE", $x0+0, $y0, 70, 20,$color0) $button_memory00[1] = button_input01("DESCRIPTION",$x0+70, $y0, 120, 20,$color0) $button_memory00[2] = button_input01("ADDRESS",$x0+200, $y0, 120, 20,$color0) $button_memory00[3] = button_input01("TYPE",$x0+330, $y0, 50, 20,$color0) $button_memory00[4] = button_input01("VALUE",$x0+390, $y0, 140, 20,$color0) $button_memory00[5] = button_input01("HEX",$x0+540, $y0, 140, 20,$color0) $button_memory00[6] = button_checkbox01("FROZEN", $x0+685, $y0, 70, 20,$color0) Return $button_memory00 EndFunc ; GUICtrlSetState($idCheckbox01_00, $GUI_CHECKED) ;Global $idCheckbox01_99 = GUICtrlCreateCheckbox("99", 10, $h+(19*20)-185, 30, 20) ;Global $idClose = GUICtrlCreateButton("Close", 210, 170, 85, 25) ; Display the GUI. GUISetState(@SW_SHOW, $hGUI01) ;Opt("MouseCoordMode", 2) ;1=absolute, 0=relative, 2=client ;$aWinInTaskBar = all_task_bar01() ;all_set_title01($aWinInTaskBar,"LDP") nox_move02() If _IsChecked( ($button_auto07[1])[7-1] ) = True Then $desktop_screen01 = 0 $acc_min = 1 $acc_max = 12 ; max 20 facebook _select_24(1,12,13,24) EndIf If _IsChecked( ($button_auto07[2])[7-1] ) = True Then $desktop_screen01 = 1 $acc_min = 13 $acc_max = 24 ; max 20 facebook _select_24(13,24,1,12) EndIf ;$desktop_gui01 = VD_GetWindowDesktopId01($hGUI01) ;$desktop00 = $desktop_gui01[1] $desktop_gui01 = "" $desktop00 = "" ;ConsoleWrite("$desktop_gui01[0] = "&$desktop_gui01[1]& @CRLF& " $desktop_gui01[1]" & $desktop_gui01[1] & @CRLF) ; Func Gui ------------------------------------------------------------------------------------------------------- Func button_input01($name0,$x0,$y0,$w0,$h0,$color0) Local $button01[7] = [$name0, $x0, $y0, $w0, $h0, $color0,"id"] ; x y width height color id $button00xy = $button01 $button01[7-1] = GUICtrlCreateInput($button00xy[0], $button00xy[1], $button00xy[2], $button00xy[3], $button00xy[4]) If $color0 <> "" Then GUICtrlSetBkColor($button01[7-1], $color0) $button00xy = $button01 Return $button00xy EndFunc Func button_view01($name0,$x0,$y0,$w0,$h0,$color0) Local $button01[7] = [$name0, $x0, $y0, $w0, $h0, $color0,"id"] ; x y width height color id $button00xy = $button01 $button01[7-1] = GUICtrlCreateButton($button00xy[0], $button00xy[1], $button00xy[2], $button00xy[3], $button00xy[4]) If $color0 <> "" Then GUICtrlSetBkColor($button01[7-1], $color0) $button00xy = $button01 Return $button00xy EndFunc Func button_checkbox01($name0,$x0,$y0,$w0,$h0,$color0) Local $button01[7] = [$name0, $x0, $y0, $w0, $h0, $color0,"id"] ; x y width height color id $button00xy = $button01 $button01[7-1] = GUICtrlCreateCheckbox($button00xy[0], $button00xy[1], $button00xy[2], $button00xy[3], $button00xy[4]) If $color0 <> "" Then GUICtrlSetBkColor($button01[7-1], $color0) $button00xy = $button01 Return $button00xy EndFunc ; Loop until the user exits. While 1 If _IsPressed($press_key01) and $run01 = 0 and $loopacc < ($select_max + 1) then ; press key $time_start01 = TimerInit() ;ElseIf _IsPressed("02") = True Then ; $open[0] To $open[$cols * $rows - 1] ElseIf _IsPressed("04") = True Then ; $open[0] To $open[$cols * $rows - 1] If _IsChecked( ($button_select01[3])[7-1] ) = True and _IsChecked( ($button_update01[2])[7-1] ) = False and _IsChecked( ($button_update01[3])[7-1] ) = False Then ; check x all mouse GUICtrlSetData($idCheckbox35_tiled01_01, "") $g_tile01 = WinGetTitle("","") $find_tile01 = StringInStr($g_tile01, $default_title01) If $find_tile01 > 0 then ; find title Local $aPos = MouseGetPos() $mx = Int($aPos[0]) $my = Int($aPos[1]) Local $aPos = WinGetPos("[ACTIVE]") $wx = $aPos[0] $wy = $aPos[1] $xx = $mx $yy = $my GUICtrlSetData($idCheckbox35_tiled01_01,"$mx = "&$mx&" $my = "&$my&" $wx = "&$wx&" $wy = "&$wy&" $xx = "&$xx&" $yy = "&$yy,"") If _IsChecked( ($button_auto07[1])[7-1] ) = True Then $desktop_screen01 = 0 $acc_min = 1 $acc_max = 12 ; max 20 facebook EndIf If _IsChecked( ($button_auto07[2])[7-1] ) = True Then $desktop_screen01 = 1 $acc_min = 13 $acc_max = 24 ; max 20 facebook EndIf $inputbox01on = 1 $inputbox01 = "" ;For $i = 1 To _GUICtrlListView_GetItemCount($idCheckbox35_tiled03_03) - 1 ; kiem tra list x For $i = $acc_min To $acc_max ; kiem tra list x $market_input01on = 0 ;GUICtrlSetData($idCheckbox35_tiled01_01,"N"&$i&" "&$path_fb_html_list01[$i][1]&" "&$path_fb_html_list01[$i][2]&" = "&_GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ),"") ;GUICtrlSetData($idCheckbox35_tiled01_01,"N"&$i&" "&"1 = "&$path_fb_html_list01[$i][1]&" 2 = "&$path_fb_html_list01[$i][2]&" 3 = "&$path_fb_html_list01[$i][3],"") If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ) = True Then ; check point = x Global $loopacc = $i Global $control01 = $cuaso[$loopacc] ;Global $control01 = WinGetTitle($m4_cuaso01[$loopacc], "") If $xx > 546 and $xx < 646 and $yy > 96 and $yy < 121 Then Global $control01battle = $control01 ; START WinCapture_cs01 ------------------------------------------------------------------------------------------------------------------------- Global $stream = WinCapture_cs01($control01battle,3,$game_cap_x02,$game_cap_y02,$view_screen01,$game_cap_x01,$game_cap_y01,$g_x,$g_y) ; chay only show gui image WinCapture_ce01($stream[3], $stream[4], $stream[5], $stream[6], $stream[7], $stream[0]) ; remove print image -------------------------- $b_market01on = 1 $b_market01 = asm_all_pixel04(33,$b_market01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 24,3,3,1,"680, 66, FEFFEB, 629, 66, 766AED, 24, 62, C9AD83") ; 1 market X trang, 2 market eternal tim, 3 market ! vang If $i = 1 Then ; ToolTip("N="&$i&" $time_stop01="&$time_stop01&" $b_market01[0]="&$b_market01[0]&" $b_market01[1]="&$b_market01[1]&" $b_market01[2]="&$b_market01[2]&" $b_market01[3]="&$b_market01[3]&" $b_market01[4]="&$b_market01[4]& @CRLF &" $b_market01[4]="&$b_market01[4], 0, 0) EndIf If $b_market01[0] = 1 Then If $inputbox01on = 1 Then $inputbox01 = InputBox("PASS " , "GO TEN GEM"&@CRLF&" START GAME " , "PASS " , " M99") $inputbox01on = 0 $market_input01on = 1 EndIf EndIf ;$c_mouse_in01 = mouse_in01($xx,$yy,660,266,703,307) ; nhat do ;If $c_mouse_in01=0 Then $c_mouse_in01 = mouse_in01($xx,$yy,832,238,878,282) ; use hp ;If $c_mouse_in01=0 Then $c_mouse_in01 = mouse_in01($xx,$yy,775,379,857,457) ; skill 0 ;If $c_mouse_in01=0 Then $c_mouse_in01 = mouse_in01($xx,$yy,697,431,748,477) ; skill 1 ;If $c_mouse_in01=0 Then $c_mouse_in01 = mouse_in01($xx,$yy,699,360,748,404) ; skill 2 ;If $c_mouse_in01=0 Then $c_mouse_in01 = mouse_in01($xx,$yy,754,305,802,353) ; skill 3 ;If $c_mouse_in01=0 Then $c_mouse_in01 = mouse_in01($xx,$yy,826,305,877,351) ; skill 4 ;If $c_mouse_in01=0 Then $c_mouse_in01 = mouse_in01($xx,$yy,627,358,676,411) ; skill limit ;If $c_mouse_in01=0 Then $c_mouse_in01 = mouse_in01($xx,$yy,717,34,917,145) ; MENU + HANH TRANG ;If $c_mouse_in01=0 Then $c_mouse_in01 = mouse_in01($xx,$yy,6,32,144,107) ; CHAR ;If $c_mouse_in01=0 Then $c_mouse_in01 = mouse_in01($xx,$yy,5,144,248,238) ; MAIN QUEST LINE 1 ;If $b_game3d01[0] = 1 and $c_mouse_in01=0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",$xx,$yy) ; click item 1x1y ; If $b_game3d01[0] = 0 or $c_mouse_in01=1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$xx,$yy) ; click item 1x1y If $market_input01on = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$xx,$yy) ; click item 1x1y ElseIf $market_input01on = 1 and $inputbox01 <> "" Then $aWinGetHandle = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$loopacc] & $loopacc&"\] Diablo Immortal \[#\]]") ;If $title0 = '[#] [a1] Diablo Immortal [#]' Then $aWinGetHandle = WinGetHandle("[REGEXPTITLE:(?i)(.*a1.*|.*"&$title0&".*)]") If $aWinGetHandle<>"" Then ;$control0 = $aWinList[1][1] $control0 = $aWinGetHandle EndIf If $control0<>""Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",652,107) ; click item 1x1y Sleep(300) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",591,111) ; click item 1x1y Sleep(200) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",591,111) ; click item 1x1y Sleep(200) Sleep(100) ControlSend($control0, "", "", $inputbox01) Sleep(400) ControlSend($control0, "", "", "{BACKSPACE}") EndIf EndIf EndIf ; end check point = x Next ; end kiem tra list x GUICtrlSetData($idCheckbox35_tiled01_01,"$loopacc = "&$loopacc&" $control01 = "&$control01&" $xx = "&$xx&" $yy = "&$yy,"") EndIf ; end find title Sleep(50) EndIf ; end check x all mouse Func mouse_in01($x0=0,$y0=0,$x1=0,$y1=0,$x2=0,$y2=0) $c_mouse_in01 = 0 If $x0 > $x1 and $x0 < $x2 and $y0 > $y1 and $y0 < $y2 Then $c_mouse_in01 = 1 EndIf Return $c_mouse_in01 EndFunc If _IsChecked( ($button_select01[3])[7-1] ) = True Then ; check x all mouse GUICtrlSetData($idCheckbox35_tiled01_01, "") $g_tile01 = WinGetTitle("","") $find_tile01 = StringInStr($g_tile01, $g_tile01) If $find_tile01 > 0 then ; find title Local $aPos = MouseGetPos() $mx = Int($aPos[0]) $my = Int($aPos[1]) Local $aPos = WinGetPos("[ACTIVE]") $wx = $aPos[0] $wy = $aPos[1] $xx = $mx $yy = $my GUICtrlSetData($idCheckbox35_tiled01_01,"$mx = "&$mx&" $my = "&$my&" $wx = "&$wx&" $wy = "&$wy&" $xx = "&$xx&" $yy = "&$yy,"") GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" _IsChecked( ($button_update01[2])[7-1] ) = "&_IsChecked( ($button_update01[2])[7-1] ) ) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" _IsChecked( ($button_update01[3])[7-1] ) = "&_IsChecked( ($button_update01[3])[7-1] ) ) If _IsChecked( ($button_update01[2])[7-1] ) = True or _IsChecked( ($button_update01[3])[7-1] ) = True Then ; check mouse pixel color ;Opt("MouseCoordMode", 1) ;1=absolute, 0=relative, 2=client $control01 = WinGetHandle(WinGetTitle($g_tile01, "")) Global $stream = _WinCapture06($control01,3,$game_cap_x02,$game_cap_y02,$view_screen01,$game_cap_x01,$game_cap_y01,$g_x,$g_y) ; chay only show gui image $b_iColor = _GetColorEX05check(1, $stream[2], $stream[10], $stream[11], 0, 22, 4,3, 2, 2, 2, 2 &@CRLF& _ ; $on0, $iWidth, $iHeight, $tPixel, $check0=0, $r0=10, $xs=3, $ys=3 "", $mx, $my, "CE0000", 117, 75, "2897D3", 20, 166, "FCF7E4", 23, 606, "E0DCCD" ) ; 1 xanh HP, 2 xanh MP, 3 < Quest, 4 + screen shot _GetColorEX05remove($stream[3], $stream[4], $stream[5], $stream[6], $stream[7], $stream[0]) ; remove print image -------------------------- ;$iColor = PixelGetColor($mx+$wx, $my+$wy) $iColor = $b_iColor[1] If _IsChecked( ($button_update01[2])[7-1] ) = True Then GUICtrlSetData($idCheckbox35_tiled01_01,"PixelGetColor = "&$mx&", "&$my&", "&'"'&$b_iColor[1]&'"' & " "&$g_tile01 ,"") ;If _IsChecked( ($button_update01[2])[7-1] ) = True Then GUICtrlSetData($idCheckbox35_tiled01_01,"PixelGetColor = "&$mx&"_"&$my&"_"&'&"'&$b_iColor[1]&'"' ,"") If _IsChecked( ($button_update01[3])[7-1] ) = True Then GUICtrlSetData($idCheckbox35_tiled01_01,'LDmouse01($loopacc,$path_fb_html_list01[$i][2],"left",1,'&$mx&", "&$my&") ; click " ,"") ;If _IsChecked( ($button_update01[3])[7-1] ) = True Then GUICtrlSetData($idCheckbox35_tiled01_01,'Xmouse03($loopacc,$control01,"left",1,'&$mx&", "&$my&") ; click " ,"") ; If _IsChecked( ($button_update01[2])[7-1] ) = True and _IsChecked( ($button_update01[3])[7-1] ) = False Then ClipPut($mx&", "&$my&", "&'"'&$b_iColor[1]&'"') If _IsChecked( ($button_update01[2])[7-1] ) = True and _IsChecked( ($button_update01[3])[7-1] ) = False Then ClipPut($mx&", "&$my&", "&$b_iColor[1]) If _IsChecked( ($button_update01[2])[7-1] ) = False and _IsChecked( ($button_update01[3])[7-1] ) = True Then ClipPut('LDmouse01($loopacc,$path_fb_html_list01[$i][2],"left",1,'&$mx&", "&$my&") ; click ") ;If _IsChecked( ($button_update01[2])[7-1] ) = False and _IsChecked( ($button_update01[3])[7-1] ) = True Then ClipPut('Xmouse03($loopacc,$control01,"left",1,'&$mx&", "&$my&") ; click ") If _IsChecked( ($button_update01[2])[7-1] ) = True and _IsChecked( ($button_update01[3])[7-1] ) = True Then ClipPut($mx&", "&$my&", "&'"'&Hex($iColor,6)&'"'&@CRLF&'LDmouse01($loopacc,$path_fb_html_list01[$i][2],"left",1,'&$mx&", "&$my&") ; click ") ElseIf _IsChecked( ($button_update01[2])[7-1] ) = False and _IsChecked( ($button_update01[3])[7-1] ) = False and _IsChecked( ($button_update01[4])[7-1] ) = True Then ; check mouse pixel ocr $control01 = WinGetHandle(WinGetTitle($g_tile01, "")) Global $stream = _WinCapture06($control01,3,$game_cap_x02,$game_cap_y02,$view_screen01,$game_cap_x01,$game_cap_y01,$g_x,$g_y) ; chay only show gui image ; allway use Local $hTimer = TimerInit() $b_tig_wemix01on = 1 $img_ocr01 = img_text01(1,$stream[3],1,2 ,"0",350,40,$gamex01f,$gamey01f,'8,40,50,40, 682,55,120,40, 4,126,180,60') ; bang guix02 > wemix ;$img_ocr01 = img_text01(1,$stream[3],1,1 ,"0",$gamex01f,$gamey01f,$gamex01f,$gamey01f,'0,0,820,460,') ; bang guix02 > wemix _GetColorEX05remove($stream[3], $stream[4], $stream[5], $stream[6], $stream[7], $stream[0]) ; remove print image -------------------------- $orc_string01 = _ArrayToString($img_ocr01, " | ") $orc_string01 = StringReplace($orc_string01, " | ", @CRLF) GUICtrlSetData($idCheckbox35_tiled02_02, "") For $lp = 0 to UBound($img_ocr01, $UBOUND_ROWS)-1 GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$lp&" "&$img_ocr01[$lp][0] ) Next ;ClipPut($orc_string01) ;_ArrayDisplay($img_ocr01, "s "&$hTimer, Default, 1) ElseIf _IsChecked( ($button_update01[2])[7-1] ) = False and _IsChecked( ($button_update01[3])[7-1] ) = False and _IsChecked( ($button_update01[4])[7-1] ) = False Then ; check mouse pixel color GUICtrlSetData($idCheckbox35_tiled01_01,'LDkey01($loopacc,$path_fb_html_list01[$i][2],"back")',"") For $i = 1 To _GUICtrlListView_GetItemCount($idCheckbox35_tiled03_03) - 1 ; kiem tra list x ;GUICtrlSetData($idCheckbox35_tiled01_01,"N"&$i&" "&$path_fb_html_list01[$i][1]&" "&$path_fb_html_list01[$i][2]&" = "&_GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ),"") ;GUICtrlSetData($idCheckbox35_tiled01_01,"N"&$i&" "&"1 = "&$path_fb_html_list01[$i][1]&" 2 = "&$path_fb_html_list01[$i][2]&" 3 = "&$path_fb_html_list01[$i][3],"") If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ) = True Then ; check point = x $loopacc = $i $control01 = $cuaso[$loopacc] LDkey01($loopacc,$path_fb_html_list01[$i][2],"back") EndIf ; end check point = x Next ; end kiem tra list x EndIf ; end find title EndIf ; end check mouse pixel color Sleep(250) EndIf ; end check x all mouse ElseIf $run01 = 0 then ; wait time ;GUICtrlSetData( ($button_update01[6])[7-1] ,@HOUR & ":" & @MIN & ":" & @SEC) ; date Sleep(50) ; FORZEN ;If _IsChecked( ($read_write01[6])[7-1] ) = True Then active_memory02($read_write01) ; END FORZEN Func active_memory02($read_write00=$read_write01,$write00=0) $byte0 = GUICtrlRead(($read_write00[3])[7-1]) If $byte0 = "TYPE" Then $byte0 = 4 ;_ArrayDisplay(($read_write00[2]), "$read_write00") $input_address00 = GUICtrlRead(($read_write00[2])[7-1]) ; 0 lay address input $input_value00 = GUICtrlRead(($read_write00[4])[7-1]) ; 0 lay value input Xwrite01("0x"&$input_address00, Ptr($input_value00),1,$byte0 ) $g_read_memory00 = Xread01("0x"&$input_address00,$byte0) ; 1 read memory address GUICtrlSetData(($read_write00[4])[7-1],$g_read_memory00) ; VALUE GUICtrlSetData(($read_write00[5])[7-1],Hex($g_read_memory00,$byte0*2)) ; HEX EndFunc Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $idClose ;ExitLoop Case _IsPressed('01') = True ; $open[0] To $open[$cols * $rows - 1] $g_tile02 = WinGetTitle("","") $find_tile02 = StringInStr($g_tile02, $version_random_id) $time_stop01 = int(TimerDiff($time_start01)/100) If $find_tile02 > 0 and _IsPressed('01') = True Then ; _IsPressed('01') ; Exit ;While _IsPressed('01') = True ; press left mouse Local $aPos = MouseGetPos() $xx = Int($aPos[0]) $yy = Int($aPos[1]) ConsoleWrite("$xx="&$xx&" $yy="&$yy& @CRLF) If $xx > 730 And $yy > -50 And $xx < 800 And $yy < 0 Then ; click button "X EXIT" > button gui x y width height Exit ; $button_select01 ElseIf $xx > ($button_select01[0])[1] And $yy > ($button_select01[0])[2] And $xx < ($button_select01[0])[1]+($button_select01[0])[3] And $yy < ($button_select01[0])[2]+($button_select01[0])[4] Then ; click button "Select" edit_data01() GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_select01[0])[0]&" DONE " ) ElseIf $xx > ($button_select01[1])[1] And $yy > ($button_select01[1])[2] And $xx < ($button_select01[1])[1]+($button_select01[1])[3] And $yy < ($button_select01[1])[2]+($button_select01[1])[4] Then ; click button "Select" For $i = 1 To $select_max _GUICtrlListView_SetItemChecked($idCheckbox35_tiled03_03, $i,false) Next GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_select01[1])[0]&" DONE " ) ElseIf $xx > ($button_select01[2])[1] And $yy > ($button_select01[2])[2] And $xx < ($button_select01[2])[1]+($button_select01[2])[3] And $yy < ($button_select01[2])[2]+($button_select01[2])[4] Then ; click button "Select" For $i = 1 To $select_max If StringInStr($path_fb_html_list01[$i-0][2], 'LDP') > 0 Then ; Fb on = 1 find @ gmail _GUICtrlListView_SetItemChecked($idCheckbox35_tiled03_03, $i) EndIf Next GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_select01[2])[0]&" DONE " ) ElseIf $xx > ($button_select01[3])[1] And $yy > ($button_select01[3])[2] And $xx < ($button_select01[3])[1]+($button_select01[3])[3] And $yy < ($button_select01[3])[2]+($button_select01[3])[4] Then ; click button "Select" GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_select01[3])[0]&" DONE " ) ElseIf $xx > ($button_select01[4])[1] And $yy > ($button_select01[4])[2] And $xx < ($button_select01[4])[1]+($button_select01[4])[3] And $yy < ($button_select01[4])[2]+($button_select01[4])[4] Then ; click button "Select" ;$aWinInTaskBar = all_task_bar01() ;all_set_title01($aWinInTaskBar,"LDP") nox_move02() GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_select01[4])[0]&" DONE " ) ElseIf $xx > ($button_select01[5])[1] And $yy > ($button_select01[5])[2] And $xx < ($button_select01[5])[1]+($button_select01[5])[3] And $yy < ($button_select01[5])[2]+($button_select01[5])[4] Then ; click button "Select" ;GAME_START ;$inputbox01 = InputBox("PASS " , "PASS = m"&@CRLF&" START GAME "&@CRLF&" CHON SO = 1 > 24" , "PASS " , " M99") $A_inputbox01 = _inputbox01GUI($missing_number01) $inputbox01 = $A_inputbox01[0] $inputbox01checkbox = $A_inputbox01[1] ;MsgBox(64, "Kết quả", "Số đã chọn: " & $A_inputbox01[0] & @CRLF & "Đã tích checkbox: " & $A_inputbox01[1]) Func _inputbox01GUI($missing_number01) Local $return[2] = [0, 0] ; Tạo GUI Local $hGUI_checkbox01 = GUICreate("SỐ VÀ XÁC NHẬN FIX", 300, 180) ; Label và Input cho số GUICtrlCreateLabel("CHỌN SỐ (1–24):", 20, 20) Local $inputNumber = GUICtrlCreateInput($missing_number01, 150, 20, 50) ; Checkbox xác nhận Local $checkboxConfirm = GUICtrlCreateCheckbox("XÁC NHẬN FIX SANDBOXIE"&" A?", 20, 60, 200) ; Nút OK Local $btnOK = GUICtrlCreateButton("OK", 100, 110, 80) GUISetState(@SW_SHOW, $hGUI_checkbox01) ; Vòng lặp sự kiện While 1 Local $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE GUIDelete($hGUI_checkbox01) Return $return ;Return SetError(1, 0, "") ; Người dùng đóng cửa sổ Case $btnOK ; Lấy dữ liệu Local $num = Number(GUICtrlRead($inputNumber)) Local $isChecked = GUICtrlRead($checkboxConfirm) = $GUI_CHECKED ; Kiểm tra hợp lệ If $num < 1 Or $num > 24 Then MsgBox($MB_ICONERROR, "Lỗi", "Số phải từ 1 đến 24") ContinueLoop EndIf ; Gán kết quả $return[0] = $num $return[1] = $isChecked GUIDelete($hGUI_checkbox01) ExitLoop EndSwitch WEnd ; Hiển thị kết quả ;MsgBox(64, "Kết quả", "Số đã chọn: " & $return[0] & @CRLF & "Đã tích checkbox: " & ($return[1] ? "Có" : "Không")) Return $return EndFunc If $data_server[$inputbox01] = $str_BAN Then MsgBox($MB_SYSTEMMODAL, "", "TAI KHOAN NAY KHONG TON TAI" & @CRLF & "TAI KHOAN NAY KHONG TON TAI" ) If $inputbox01 > 0 and $inputbox01 < 24+1 and $data_server[$inputbox01] <> $str_BAN Then ; pass run_sandboxie01('C:\Program Files\Sandboxie\Start.exe /terminate_all') For $lp_close1 = 1 to 4 ProcessClose("Agent.exe") ProcessClose("Battle.net.exe") For $lp_close2 = 1 to 24 ProcessClose($battle01exeX[$lp_close2]) Sleep(50) Next Next Local $aRetArray DirCopy("D:\Sandbox\"&$user_name01&"\a"&$inputbox01&"\user\current\AppData\Roaming\Battle.net\", "C:\Users\"&$user_name01&"\AppData\Roaming\Battle.net\", $FC_OVERWRITE) Sleep(500) $battle_config_size01 = FileGetSize("C:\Users\"&$user_name01&"\AppData\Roaming\Battle.net\Battle.net.config") $find_mail_login01 = 0 ; fix If $battle_config_size01 > 0 Then ; Re-read it - with count _FileReadToArray("C:\Users\"&$user_name01&"\AppData\Roaming\Battle.net\Battle.net.config", $aRetArray) ;_ArrayDisplay($aRetArray, "1D array - count", Default, 8) For $lp_login = 12 to 24 $find_mail_login01 = StringInStr($aRetArray[$lp_login],$data_mail[$inputbox01]) If $find_mail_login01 > 0 then ;_sqlite_delete01() Func _sqlite_delete01() ; Khởi động SQLite với đúng DLL _SQLite_Startup("SQLite3_3.8.10.0\sqlite3_x64_300801000.dll") ; hoặc dùng "sqlite3_300801000.dll" nếu bạn đang chạy 32-bit If @error Then MsgBox(16, "Lỗi", "Không thể khởi động SQLite") Exit EndIf ; Mở file database Local $hDB = _SQLite_Open("C:\Users\"&$user_name01&"\AppData\Local\Battle.net\BrowserCaches\common\Network\Cookies") If @error Then MsgBox(16, "Lỗi", "Không thể mở database") Exit EndIf ; Danh sách các giá trị cần xóa Local $aNames[4] = ["bnet.extra", "bnet.pam", "JSESSIONID", "sessionTrackingId"] ; Xóa từng dòng theo điều kiện name For $i = 0 To UBound($aNames) - 1 Local $sSQL = 'DELETE FROM cookies WHERE name = "' & $aNames[$i] & '";' _SQLite_Exec($hDB, $sSQL) If @error Then ConsoleWrite("Lỗi khi xóa: " & $aNames[$i] & @CRLF) Else ConsoleWrite("Đã xóa: " & $aNames[$i] & @CRLF) EndIf Next _SQLite_Close($hDB) _SQLite_Shutdown() ;MsgBox(64, "Hoàn tất", "Đã xóa các dòng theo bộ lọc name.") EndFunc ExitLoop EndIf Next EndIf If $find_mail_login01 < 0+1 Then GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$inputbox01&" "&"LOGIN KO THAY MAIL"&" FAIL " ) ElseIf $find_mail_login01 > 0 Then GUICtrlSetData($idCheckbox35_tiled02_02, "") If $inputbox01checkbox = False Then run_sandboxie01("C:\Program Files (x86)\Battle.net\"&$battle01exeX[$inputbox01]) GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$inputbox01&" ĐANG CHẠY WINDOWS N"&$inputbox01 ) ElseIf $inputbox01checkbox = True Then run_sandboxie01('C:\Program Files\Sandboxie\Start.exe /box:'& $a_sandbox[$inputbox01] & $inputbox01&" C:\Program Files (x86)\Battle.net\Battle.net.exe") ; chan sandbox nen bo GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$inputbox01&" ĐANG CHẠY SANDBOXIE A"&$inputbox01 ) Sleep(1000) EndIf For $lp_tile = 1 to 30 Sleep(1000) If $inputbox01checkbox = False Then $battle01 = find_process02($battle01exeX[$inputbox01]) $battle01exeX_inputbox01 = $battle01exeX[$inputbox01] ElseIf $inputbox01checkbox = True Then $battle01 = find_process02("Battle.net.exe") $battle01exeX_inputbox01 = "Battle.net.exe" EndIf $tile_battle_log01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$inputbox01] & $inputbox01&"\] Battle.net Login \[#\]]") $tile_battle01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$inputbox01] & $inputbox01&"\] Battle.net \[#\]]") $pass_fix = StringReplace($data_pass[$inputbox01], " ", "") ClipPut($pass_fix) ;MsgBox($MB_SYSTEMMODAL, "", "$battle01exeX[$inputbox01]= "&$battle01exeX[$inputbox01] & @CRLF &"$battle01[0]= "&$battle01[0] & @CRLF & "$tile_battle_log01: " &$tile_battle_log01 ) If $tile_battle01 <> 0x0 Then ExitLoop If $inputbox01checkbox = False and $tile_battle_log01 <> 0x0 Then ExitLoop If $inputbox01checkbox = True and $tile_battle_log01 <> 0x0 and $tile_battle01 = 0x0 and $battle01[0] = $battle01exeX_inputbox01 and StringInStr($battle01[3],"[#]") > 0 Then $wPos01 = WinGetPos($tile_battle_log01) If $wPos01 <> "" Then ; $wPos01 <> "" If $wPos01[3] > 600 Then ; $wPos01[3] > 600 ;_ArrayDisplay($battle01) ;WinSetTitle($battle01[2], "", "[#] [a"&$inputbox01&"] "&$battle01[3]&" [#]") $w_f01 = 0 If $wPos01[2] > 600 Then $w_f01 = 361 WinActivate($tile_battle_log01, "" ) Sleep(5000) Local $hTimer = TimerInit() $orc_txt01 = _ORC_UEZ03($tile_battle_log01) ;_ArrayDisplay($orc_txt01,TimerDiff($hTimer)) Func _ORC_UEZ03($title0="[#] [a1] Battle.net Login [#]", $iWidth=362, $iHeight=797, $cropX=120, $cropY=330, $cropW=170, $cropH=300, $nFlags=3) ;145 353 140+6 350+1 Local $return[4] _GDIPlus_Startup() ; Khởi tạo GDI+ trước đó, không shutdown mỗi lần ;$title0 = WinGetHandle("[REGEXPTITLE:\[#\] \["& "a1"&"\] Battle.net Login \[#\]]") $hWnd = $title0 Local $hDDC = _WinAPI_GetDC($hWnd) Local $hCDC = _WinAPI_CreateCompatibleDC($hDDC) Local $hBMP = _WinAPI_CreateCompatibleBitmap($hDDC, $iWidth, $iHeight) _WinAPI_SelectObject($hCDC, $hBMP) DllCall("User32.dll", "int", "PrintWindow", "hwnd", $hWnd, "hwnd", $hCDC, "int", $nFlags) ; Chuyển sang GDI+ bitmap Local $BMP = _GDIPlus_BitmapCreateFromHBITMAP($hBMP) ;153 497 ; Crop vùng cần OCR (ví dụ phần nhập mã) Local $hCrop = _GDIPlus_BitmapCloneArea($BMP, $cropX, $cropY, $cropW, $cropH) ; OCR trực tiếp Local $aWords = _UWPOCR_GetWordsRectTo2DArray($hCrop) ; Clean up _GDIPlus_BitmapDispose($BMP) _GDIPlus_BitmapDispose($hCrop) _WinAPI_DeleteObject($hBMP) _WinAPI_DeleteDC($hCDC) _WinAPI_ReleaseDC($hWnd, $hDDC) For $i = 0 to UBound($aWords, $UBOUND_ROWS)-1 ;ClipPut($aWords[2][0]) ;MsgBox(0, "Time Elapsed: " , $aWords[$i][0]) If $aWords[$i][0] = "Log" Then $return[0] = $cropX+$aWords[$i][1] $return[1] = $cropY+$aWords[$i][2] ExitLoop ElseIf $aWords[$i][0] = "reement" or $aWords[$i][0] = "Offllne" or $aWords[$i][0] = "knowledge" Then $return[0] = "close" ExitLoop EndIf Next ;Local $return[4] Return $return ;Return $aWords EndFunc If $orc_txt01[0]<>"" and $orc_txt01[1]<>"" Then ;ControlClick($tile_battle_log01, "", "","left","1",270,262-70) ; click pass ControlClick($tile_battle_log01, "", "","left","1",270,($orc_txt01[1]-100)-70) ; click pass Sleep(500) ControlSend($tile_battle_log01, "", "", "^{a}") Sleep(100) ControlSend($tile_battle_log01, "", "", "^{a}") Sleep(100) ControlSend($tile_battle_log01, "", "", $pass_fix) Sleep(1000) ControlSend($tile_battle_log01, "", "", "{ENTER}") GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N "&'click pass 1' ) ExitLoop EndIf GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$inputbox01&" "&$data_mail[$inputbox01]&" | "&$pass_fix&" " ) GUICtrlSetData( ($button_update01[6])[7-1] ,"N"&$inputbox01&"("&$pass_fix&")") ; date EndIf ; end $wPos01[3] > 600 EndIf ; end $wPos01 <> "" EndIf Next If $inputbox01 > 0 and $inputbox01 < 24+1 and $data_server[$inputbox01] <> $str_BAN and $inputbox01checkbox = True Then ; SANDBOXIE FIX REGEDIT For $lp_tile = 1 to 5 Sleep(2000) $tile_battle01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$inputbox01] & $inputbox01&"\] Battle.net \[#\]]") GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$inputbox01&" SLEEP = "&" "&$lp_tile*2000) If $tile_battle01 <> 0x0 Then ; KIỂM TRA LOGIN THANH CÔNG _reghive01EX($inputbox01) _reghive01EXfix($inputbox01) $file_check01 = _reghive01EX_check($inputbox01) GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$inputbox01&" L?Y UnifiedAuth SANDBOXIE"&" "&$file_check01 ) If StringInStr($file_check01,"[OK]") > 0 Then _importRegIfMissing($inputbox01) ExitLoop Func _importRegIfMissing($loop0=1,$hex_len0=262) Local $path = "D:\sb_reghive\Battle_RegHive_reg" & $loop0 & ".reg" Local $file = FileOpen($path, 0) If $file = -1 Then ;ConsoleWrite("[MISSING] File A" & $loop0 & " " & $path & @CRLF) GUICtrlSetData_down01($idCheckbox35_tiled02_02,"? [MISSING] File A" & $loop0 ) Return EndIf Local $regPath = "HKEY_CURRENT_USER\Software\Blizzard Entertainment\Battle.net\UnifiedAuth" Local $keyName = "" Local $hexRaw = "" Local $isHexBlock = False While True Local $line = FileReadLine($file) If @error Then ExitLoop ; N?u là dòng b?t d?u hex If StringRegExp($line, '^"\w+"=hex:') Then ; N?u dang x? lý key tru?c dó ? x? lý xong tru?c khi b?t d?u key m?i If $keyName <> "" Then _processKey($regPath, $keyName, $hexRaw, $loop0, $hex_len0) EndIf ; B?t d?u key m?i Local $matches = StringRegExp($line, '^"(\w+)"=hex:', 1) If @error Or UBound($matches) = 0 Then ContinueLoop $keyName = $matches[0] $hexRaw = StringRegExpReplace($line, '^"\w+"=hex:', "") $isHexBlock = True ContinueLoop EndIf ; N?u dang trong kh?i hex ? ghép ti?p If $isHexBlock And StringStripWS($line, 8) <> "" Then $hexRaw &= $line EndIf WEnd FileClose($file) ; X? lý key cu?i cùng If $keyName <> "" Then _processKey($regPath, $keyName, $hexRaw, $loop0, $hex_len0) EndIf EndFunc Func _processKey($regPath, $keyName, $hexRaw, $loop0, $hex_len0) ; Làm s?ch và d?m byte Local $hexClean = StringReplace($hexRaw, "\", "") Local $hexList = StringSplit($hexClean, ",", 2) Local $byteCount = UBound($hexList) ; Làm s?ch d? ghi Local $hexWrite = "" For $i = 0 To $byteCount - 1 $hexWrite &= StringStripWS($hexList[$i], 8) Next ; Ki?m tra d? dài ch?n If Mod(StringLen($hexWrite), 2) <> 0 Then ;ConsoleWrite("? [L?I] File A" & $loop0 & ": " & $keyName & " hex d? dài l?" & @CRLF) GUICtrlSetData_down01($idCheckbox35_tiled02_02,"? [L?I] File A" & $loop0 & ": " & $keyName & " hex d? dài l?" ) Return EndIf ; Ki?m tra Registry Local $existing = RegRead($regPath, $keyName) If @error = 0 Then ;ConsoleWrite("? [ÐÃ CÓ] File A" & $loop0 & ": " & $keyName & " (" & $byteCount & " byte)" & @CRLF) GUICtrlSetData_down01($idCheckbox35_tiled02_02,"? [ÐÃ CÓ] File A" & $loop0 & ": " & $keyName & " (" & $byteCount & " byte)" ) ElseIf $byteCount = $hex_len0 Then RegWrite($regPath, $keyName, "REG_BINARY", Binary("0x" & $hexWrite)) ;ConsoleWrite("?? [ÐÃ GHI] File A" & $loop0 & ": " & $keyName & " (" & $byteCount & " byte)" & @CRLF) GUICtrlSetData_down01($idCheckbox35_tiled02_02,"?? [ÐÃ GHI] File A" & $loop0 & ": " & $keyName & " (" & $byteCount & " byte)" ) Else ;ConsoleWrite("?? [B? QUA] File A" & $loop0 & ": " & $keyName & " (không dúng 262 byte: " & $byteCount & ")" & @CRLF) GUICtrlSetData_down01($idCheckbox35_tiled02_02,"?? [B? QUA] File A" & $loop0 & ": " & $keyName & " (không dúng 262 byte: " & $byteCount & ")" ) EndIf EndFunc EndIf ; END KIỂM TRA LOGIN THANH CÔNG Next $missing_number01 = _reghive04EX(1) EndIf ; END SANDBOXIE FIX REGEDIT GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$inputbox01&" "&"LOGIN + MAIL + PASS"&" DONE " ) EndIf EndIf ;$inputbox01 = InputBox("PASS " , "PASS = m"&@CRLF&" REGHIVE "&@CRLF&" TAO FILE.REG = 1 > 24" , "PASS " , " M99") ; If $inputbox01 = "m" Then ; pass ;GUICtrlSetData($idCheckbox35_tiled02_02, "") ;for $lp = 1 to 24 ;_reghive01($lp) ;Next ;EndIf ; end pass Func find_process02($file00="MSIAfterburner.exe") ; $login_e00 $file_list01 = ProcessList($file00) $file_check01 = "" Local $return[4] For $i = 1 To $file_list01 [0][0] ;MsgBox($MB_SYSTEMMODAL, "", $file_list01[$i][0] & @CRLF & "PID: " &$file_list01[$i][1]) If $file_list01[$i][0] = $file00 Then $file_name01 = $file_list01[$i][0] $file_check01 = $file_list01[$i][1] $aWinList = WinList() For $A = 1 To $aWinList[0][0] If WinGetProcess($aWinList[$A][1]) = $file_check01 And BitAND(WinGetState($aWinList[$A][1]), 2) Then $handle0 = $aWinList[$A][1] $title0 = $aWinList[$A][0] ; MsgBox($MB_SYSTEMMODAL, "", "file name= "&$file_list01[$i][0] & @CRLF & "PID: " &$file_list01[$i][1]& @CRLF & $handle0 & @CRLF & $title0 ) $return[0] = $file_name01 ; file name $return[1] = $file_check01 ; PID $return[2] = $handle0 ; handle $return[3] = $title0 ; title Return $return EndIf Next EndIf Next ;ConsoleWrite("$file00 = "&$file00&" $file_check01 = "&$file_check01&@CRLF) Return $return EndFunc Func _reghive01fix($loop0) Local $file_in = FileOpen("D:\sb_reghive\RegHive_reg" & $loop0 & ".reg", 0) If $file_in = -1 Then Return Local $file_out = FileOpen("D:\sb_reghive\Battle_RegHive_reg" & $loop0 & ".reg", 2) If $file_out = -1 Then FileClose($file_in) Return EndIf Local $save_line = False While True Local $line = FileReadLine($file_in) If @error Then ExitLoop If StringInStr($line, "[HKEY_CURRENT_USER\Software\Blizzard Entertainment\Battle.net\UnifiedAuth]") Then $save_line = True EndIf If $save_line And Not StringInStr($line, "hex(") Then FileWrite($file_out, $line & @CRLF) If $save_line And $line = "" Then $save_line = False WEnd FileClose($file_in) FileClose($file_out) EndFunc Func _reghive01($loop0=1) Local $aRetArray $user_name01 = @UserName $reghive_size01 = FileGetSize("D:\Sandbox\"&$user_name01&"\a"&$loop0&"\RegHive") If $reghive_size01 > 0 Then ; Re-read it - with count _FileReadToArray("D:\sb_reghive\RegHive99.bat", $aRetArray) ; _ArrayDisplay($aRetArray, "1D array - count", Default, 8) $aRetArray[44] = '"%~dp0binmay mingw v110615\binmay.exe" -s "5B 00 48 00 4B 00 45 00 59 00 5F 00 4C 00 4F 00 43 00 41 00 4C 00 5F 00 4D 00 41 00 43 00 48 00 49 00 4E 00 45 00 5C 00 54 00 65 00 6D 00 70 00 48 00 69 00 76 00 65 00 5D 00 0D 00 0A 00" -r "" -i "%~dp0RegHive_reg.tmp2" -o "%~dp0RegHive_reg'&$loop0&'.reg"' _FileWriteFromArray("D:\sb_reghive\RegHive99.bat", $aRetArray, 1) FileCopy("D:\Sandbox\"&$user_name01&"\a"&$loop0&"\RegHive", "D:\sb_reghive\", $FC_OVERWRITE) Sleep(1000) Local $iPID = Run("D:\sb_reghive\RegHive99.bat", "", @SW_MINIMIZE) Sleep(2000) ProcessClose($iPID) FileDelete("D:\sb_reghive\RegHive") GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$loop0&" "&"_reghive01"&" DONE " ) EndIf EndFunc Sleep(500) GUICtrlSetState( ($button_select01[5])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_select01[5])[0]&" DONE " ) ElseIf $xx > ($button_select01[6])[1] And $yy > ($button_select01[6])[2] And $xx < ($button_select01[6])[1]+($button_select01[6])[3] And $yy < ($button_select01[6])[2]+($button_select01[6])[4] Then ; click button "Select" ;$aWinInTaskBar = all_task_bar03() ;all_set_title03($aWinInTaskBar,"Diablo Immortal") ;all_set_title03($aWinInTaskBar,"Dark Eden M") Func all_set_title03($aWinInTaskBar="all_task_bar02()",$name_title0="塔瑞斯世界",$control0max=24) ; set tile + winmove $name_title0 = StringReplace($name_title0, " ", "") ; fix dau cach $control0num = 0+($acc_min-1) For $i = UBound($aWinInTaskBar, $UBOUND_ROWS)-1 to 1 Step -1 ;MsgBox($MB_SYSTEMMODAL, "","N"&$i&" find = "&$aWinInTaskBar[$i][0]&" length = "&StringLen($aWinInTaskBar[$i][0]) &@CRLF& "N"&$i&" find = "&$name_title0&" length = "&StringLen($name_title0) ) ;_ArrayDisplay($aWinInTaskBar) $find_title01 = StringInStr($aWinInTaskBar[$i][0], $name_title0) ;MsgBox($MB_SYSTEMMODAL, "","N"&$i&" find = "&$aWinInTaskBar[$i][0]&" $find_title01 = "&$find_title01 &@CRLF& "$name_title0="&$name_title0 ) If $find_title01 > 0 then ; find title chrome $control0num += 1 ;If $aWinInTaskBar[$i][0]=$name_title0 Then ; set title chrome ;$name_title_fix01 = WinGetTitle($name_title0&$control0num) $name_title_fix01 = WinGetTitle("[REGEXPTITLE:\[#\] \[a"&$control0num&"\] Diablo Immortal \[#\]]") ;$control_title01 = WinGetTitle("[REGEXPTITLE:\[#\] \[a"&2&"\] Diablo Immortal \[#\]]") ;MsgBox($MB_SYSTEMMODAL, "","N"&$i&" find = "&$aWinInTaskBar[$i][0]&" length = "&StringLen($aWinInTaskBar[$i][0]) &@CRLF& "$name_title_fix01="&$name_title_fix01 ) ; If $name_title_fix01<>"" Then ; fix exit game bat lai For $lp_title = 1 to $control0max ; If WinGetTitle($name_title0&$lp_title)="" Then ;If WinGetTitle(WinGetTitle("[REGEXPTITLE:\[#\] \[a"&$lp_title&"\] Diablo Immortal \[#\]]"))="" Then ;WinSetTitle($aWinInTaskBar[$i][1], "", $name_title0&$lp_title) WinSetTitle($aWinInTaskBar[$i][1], "", "[#] [a"&$lp_title+($acc_min-1)&"] Diablo Immortal [#]") ExitLoop ; EndIf Next ; ElseIf $name_title_fix01="" Then ; vao khong bi exit con nao ;WinSetTitle($aWinInTaskBar[$i][1], "", $name_title0&$control0num) WinSetTitle($aWinInTaskBar[$i][1], "", "[#] [a"&$control0num&"] Diablo Immortal [#]") ; EndIf ;EndIf EndIf ; end find title chrome Next EndFunc ;$aWinInTaskBar = all_task_bar03() Func all_task_bar03() ; list task bar pin run process Local $aWinInTaskBar[1][2] $iCount = 0 $aList = WinList() For $i = 1 To $aList[0][0] $iExStyle = _WinAPI_GetWindowLong($aList[$i][1], $GWL_EXSTYLE) ; get the extended style of each Window If NOT BitAND($iExStyle, $WS_EX_TOOLWINDOW) AND _ ; Search for windows without $WS_EX_TOOLWINDOW extended style BitAND(WinGetState($aList[$i][1]), 2 ) Then ; And only visible windows $iCount += 1 Redim $aWinInTaskBar[ $iCount + 1][2] $aWinInTaskBar[$iCount][0] = StringReplace($aList[$i][0], " ", "") ; fix dau cach $aWinInTaskBar[$iCount][1] = $aList[$i][1] EndIf Next $aWinInTaskBar[0][0] = UBound($aWinInTaskBar) - 1 ;_ArrayDisplay($aWinInTaskBar) Return $aWinInTaskBar EndFunc Sleep(500) GUICtrlSetState( ($button_select01[6])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_select01[6])[0]&" DONE " ) ; END $button_select01 ; $button_auto03 > AUTO ALL ------------------------------------------------------------------------------- ElseIf $xx > ($button_auto03[1])[1] And $yy > ($button_auto03[1])[2] And $xx < ($button_auto03[1])[1]+($button_auto03[1])[3] And $yy < ($button_auto03[1])[2]+($button_auto03[1])[4] Then ; click button "Select" GUICtrlSetState( ($button_auto06[2])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto04[5])[7-1], $GUI_CHECKED) Sleep(500) GUICtrlSetState( ($button_auto03[1])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto06[3])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto06[4])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto03[2])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto03[3])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto03[6])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto03[1])[0]&" DONE " ) ElseIf $xx > ($button_auto03[2])[1] And $yy > ($button_auto03[2])[2] And $xx < ($button_auto03[2])[1]+($button_auto03[2])[3] And $yy < ($button_auto03[2])[2]+($button_auto03[2])[4] Then ; click button "Select" GUICtrlSetState( ($button_auto06[3])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto04[5])[7-1], $GUI_CHECKED) Sleep(500) GUICtrlSetState( ($button_auto03[2])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto06[2])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto06[4])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto03[1])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto03[3])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto03[6])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto03[2])[0]&" DONE " ) ElseIf $xx > ($button_auto03[3])[1] And $yy > ($button_auto03[3])[2] And $xx < ($button_auto03[3])[1]+($button_auto03[3])[3] And $yy < ($button_auto03[3])[2]+($button_auto03[3])[4] Then ; click button "Select" GUICtrlSetState( ($button_auto06[3])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto04[5])[7-1], $GUI_CHECKED) Sleep(500) GUICtrlSetState( ($button_auto03[3])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto06[2])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto06[4])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto03[1])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto03[2])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto03[6])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto03[3])[0]&" DONE " ) ElseIf $xx > ($button_auto03[4])[1] And $yy > ($button_auto03[4])[2] And $xx < ($button_auto03[4])[1]+($button_auto03[4])[3] And $yy < ($button_auto03[4])[2]+($button_auto03[4])[4] Then ; click button "Select" ;GUICtrlSetState( ($button_auto06[3])[7-1], $GUI_CHECKED) ;GUICtrlSetState( ($button_auto04[5])[7-1], $GUI_CHECKED) Sleep(500) ;GUICtrlSetState( ($button_auto03[3])[7-1], $GUI_CHECKED) ;GUICtrlSetState( ($button_auto03[4])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto06[3])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto04[5])[7-1], $GUI_UNCHECKED) ;GUICtrlSetState( ($button_auto03[4])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto03[3])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto03[4])[0]&" DONE " ) ElseIf $xx > ($button_auto03[5])[1] And $yy > ($button_auto03[5])[2] And $xx < ($button_auto03[5])[1]+($button_auto03[5])[3] And $yy < ($button_auto03[5])[2]+($button_auto03[5])[4] Then ; click button "Select" $inputbox01 = InputBox("NAME PHONG", "NAME PHONG = PK + MH + CAY", "" , " M99") If $inputbox01 <> "" Then For $i = 1 To 8 For $lp_data = 5 to 5 $path_fb_html_list01[$i-0][$lp_data] = "PK"&$i&"_"&$inputbox01 _GUICtrlListView_SetItem($idCheckbox35_tiled03_03, $path_fb_html_list01[$i][$lp_data], $i,$lp_data) Next Next _FileWriteFromArray($path_fb_html01, $path_fb_html_list01, 0) EndIf ;_ArrayDisplay($path_fb_html_list01, "1D display") GUICtrlSetState( ($button_auto03[5])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto03[5])[0]&" DONE " ) ElseIf $xx > ($button_auto03[6])[1] And $yy > ($button_auto03[6])[2] And $xx < ($button_auto03[6])[1]+($button_auto03[6])[3] And $yy < ($button_auto03[6])[2]+($button_auto03[6])[4] Then ; click button "Select" GUICtrlSetState( ($button_auto06[4])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto04[5])[7-1], $GUI_CHECKED) Sleep(500) GUICtrlSetState( ($button_auto03[6])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto06[2])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto06[3])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto03[1])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto03[2])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto03[3])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto03[6])[0]&" DONE " ) ; END $button_auto03 ; $button_select02 > AUTO ALL ------------------------------------------------------------------------------- ElseIf $xx > ($button_select02[4])[1] And $yy > ($button_select02[4])[2] And $xx < ($button_select02[4])[1]+($button_select02[4])[3] And $yy < ($button_select02[4])[2]+($button_select02[4])[4] Then ; click button "Select" $inputbox01 = InputBox("PASS " , "PASS = s"&" ALL BATTLE.NET.CONFIG"&@CRLF&"PASS = m"&" ALL SANBOX DRIVE REMOVE"&@CRLF&"PASS = d"&" REMOVE BATTLE > SANDBOX"&@CRLF&"PASS = b"&" TAO Battle.net.exe"&@CRLF&"PASS = r"&" TAO FILE.REG = 1 > 24" , "PASS " , " M99") If $inputbox01 = "s" Then ; pass For $sandbox_i = 1 to 24 _sb_battle_config01($sandbox_i) Sleep(500) GUICtrlSetData_down01($idCheckbox35_tiled02_02,$time_stop01&" "&"BATTLE.NET.CONFIG"&" "&$sandbox_i&" DONE " ) Next Func _sb_battle_config01($loop0=1) $user_name01 = @UserName Global $sFilePath = "D:\Sandbox\"&$user_name01&"\a"&$loop0&"\user\current\AppData\Roaming\Battle.net\Battle.net.config" ; Đọc nội dung file Global $hFile = FileOpen($sFilePath, $FO_READ) If $hFile = -1 Then ;MsgBox($MB_ICONERROR, "Lỗi", "Không thể mở file để đọc.") ;Exit EndIf Global $sContent = FileRead($hFile) FileClose($hFile) ; Chỉ sửa nếu chưa có RememberAccountName If StringInStr($sContent, '"RememberAccountName":') = 0 Then ; Thêm RememberAccountName sau dòng AutoLoginCN $sContent = StringReplace($sContent, '"AutoLoginCN": "true"', '"AutoLoginCN": "true",' & @CRLF & ' "RememberAccountName": "true"') ; Cập nhật version nếu cần $sContent = StringReplace($sContent, '"LastBuildVersion": "15746"', '"LastBuildVersion": "15854"') $sContent = StringReplace($sContent, '"LastSeenPatchNotesVersion": "15746"', '"LastSeenPatchNotesVersion": "15854"') ; Chỉ thay đổi Resumable của battle_net ;$sContent = StringRegExpReplace($sContent, '("battle_net"\s*:\s*\{\s*"ServerUid":\s*"battle\.net",\s*"Resumable":\s*")false(")', '\1true\2') ; Ghi lại file $hFile = FileOpen($sFilePath, $FO_OVERWRITE) If $hFile = -1 Then ;MsgBox($MB_ICONERROR, "Lỗi", "Không thể mở file để ghi.") ;Exit EndIf FileWrite($hFile, $sContent) EndIf FileClose($hFile) EndFunc ElseIf $inputbox01 = "m" Then ; pass For $sandbox_i = 1 to 24 ;DirRemove("D:\Sandbox\"&$user_name01&"\a"&$sandbox_i&"\drive", $DIR_REMOVE) DirRemove("D:\Sandbox\"&$user_name01&"\"& $a_sandbox[$i] &$sandbox_i&"\drive", $DIR_REMOVE) Sleep(500) GUICtrlSetData_down01($idCheckbox35_tiled02_02,$time_stop01&" "&($button_select02[4])[0]&" "&$sandbox_i&" DONE " ) Next ElseIf $inputbox01 = "d" Then ; pass GUICtrlSetData($idCheckbox35_tiled02_02, "") For $lp_a = 1 to 24 ; Khai báo đường dẫn nguồn và đích $source = "C:\Program Files (x86)\Battle.net\Battle.net.16073" $dest = "D:\Sandbox\"&$user_name01&"\a"&$lp_a&"\drive\C\Program Files (x86)\Battle.net" $destRoot = "D:\Sandbox\"&$user_name01&"\a"&$lp_a ; Kiểm tra xem thư mục gốc a1 có tồn tại không If FileExists($destRoot) Then ; Nếu có thì kiểm tra tiếp xem Battle.net.16073 đã tồn tại chưa If FileExists($dest) Then ; Nếu có thì REMOVE ;DirCopy($source, $dest, 1) DirRemove($dest, 1) ; 1 = xóa cả thư mục và tất cả file con GUICtrlSetData_down01($idCheckbox35_tiled02_02,$time_stop01&" "&($button_select02[4])[0]&" "& "Sandbox\"&$user_name01&"\A"&$lp_a&" REMOVE BATTLE NET " ) Sleep(1000) EndIf EndIf Next GUICtrlSetData_down01($idCheckbox35_tiled02_02,$time_stop01&" "&($button_select02[4])[0]&" "& "REMOVE BATTLE > SANDBOX"&" DONE " ) ElseIf $inputbox01 = "b" Then ; pass For $lp_b = 1 to 24 FileDelete("C:\Program Files (x86)\Battle.net" & "\" &$battle01exeX[$lp_b] ) ; fix new exe Sleep(500) FileCopy("C:\Program Files (x86)\Battle.net" & "\" &"Battle.net.exe", "C:\Program Files (x86)\Battle.net" & "\" &$battle01exeX[$lp_b]) GUICtrlSetData_down01($idCheckbox35_tiled02_02,$time_stop01&" "&($button_select02[4])[0]&" "& $battle01exeX[$lp_b]&" DONE " ) Next ElseIf $inputbox01 = "r" Then ; pass GUICtrlSetData($idCheckbox35_tiled02_02, "") for $lp = 1 to 24 _reghive01($lp) _reghive01fix($lp) Next EndIf ; end pass GUICtrlSetState( ($button_select02[4])[7-1], $GUI_UNCHECKED) Sleep(100) GUICtrlSetState( ($button_select02[4])[7-1], $GUI_UNCHECKED) ; $button_auto06 > AUTO ALL ------------------------------------------------------------------------------- ElseIf $xx > ($button_auto06[1])[1] And $yy > ($button_auto06[1])[2] And $xx < ($button_auto06[1])[1]+($button_auto06[1])[3] And $yy < ($button_auto06[1])[2]+($button_auto06[1])[4] Then ; click button "Select" $inputbox01on = 0 If _IsChecked( ($button_auto07[1])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True Then $file_trade01 = $file_trade_server02dark $file_online01 = $file_online01dark02 ; file save load online $file_online02 = $file_online02dark02 ; file save load online ElseIf _IsChecked( ($button_auto07[2])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True Then $file_trade01 = $file_trade_server04dark $file_online01 = $file_online01dark04 ; file save load online $file_online02 = $file_online02dark04 ; file save load online EndIf If _IsChecked( ($button_auto07[1])[7-1] ) = True and _IsChecked( ($button_auto06[2])[7-1] ) = True Then $file_trade01 = $file_trade_server01heli $file_online01 = $file_online01heli01 ; file save load online $file_online02 = $file_online02heli01 ; file save load online ElseIf _IsChecked( ($button_auto07[2])[7-1] ) = True and _IsChecked( ($button_auto06[2])[7-1] ) = True Then $file_trade01 = $file_trade_server03heli $file_online01 = $file_online01heli03 ; file save load online $file_online02 = $file_online02heli03 ; file save load online EndIf If _IsChecked( ($button_auto07[1])[7-1] ) = True and _IsChecked( ($button_auto06[4])[7-1] ) = True Then $file_trade01 = $file_trade_server05viz $file_online01 = $file_online01viz05 ; file save load online $file_online02 = $file_online02viz05 ; file save load online ElseIf _IsChecked( ($button_auto07[2])[7-1] ) = True and _IsChecked( ($button_auto06[4])[7-1] ) = True Then $file_trade01 = $file_trade_server06viz $file_online01 = $file_online01viz06 ; file save load online $file_online02 = $file_online02viz06 ; file save load online EndIf If _IsChecked( ($button_auto07[1])[7-1] ) = True and _IsChecked( ($button_select02[5])[7-1] ) = True Then $file_trade01 = $file_trade_server07lys $file_online01 = $file_online01lys07 ; file save load online $file_online02 = $file_online02lys07 ; file save load online ElseIf _IsChecked( ($button_auto07[2])[7-1] ) = True and _IsChecked( ($button_select02[5])[7-1] ) = True Then $file_trade01 = $file_trade_server08lys $file_online01 = $file_online01lys08 ; file save load online $file_online02 = $file_online02lys08 ; file save load online EndIf If _IsChecked( ($button_auto07[1])[7-1] ) = True and $file_online01 = $file_online01heli01 Then $inputbox01serer = "PK1_HELLI HELLIQUARY" If _IsChecked( ($button_auto07[1])[7-1] ) = True and $file_online01 = $file_online01dark02 Then $inputbox01serer = "PK2_DARKE DARKENING OF TRISTRAM" If _IsChecked( ($button_auto07[2])[7-1] ) = True and $file_online01 = $file_online01heli03 Then $inputbox01serer = "PK3_HELLI HELLIQUARY" If _IsChecked( ($button_auto07[2])[7-1] ) = True and $file_online01 = $file_online01dark04 Then $inputbox01serer = "PK4_DARKE DARKENING OF TRISTRAM" If _IsChecked( ($button_auto07[1])[7-1] ) = True and $file_online01 = $file_online01viz05 Then $inputbox01serer = "PK5_VIZ VIZ-JUN" If _IsChecked( ($button_auto07[2])[7-1] ) = True and $file_online01 = $file_online01viz06 Then $inputbox01serer = "PK6_VIZ VIZ-JUN" If _IsChecked( ($button_auto07[1])[7-1] ) = True and $file_online01 = $file_online01lys07 Then $inputbox01serer = "PK7_LYS LYSANDER" If _IsChecked( ($button_auto07[2])[7-1] ) = True and $file_online01 = $file_online01lys08 Then $inputbox01serer = "PK8_LYS LYSANDER" Local $patch_host01 = "http://23.239.25.77/acc/"&$file_online01 Local $patch_local01 = "d:\"&$file_online01 Local $iSize = InetGetSize($patch_host01) ;MsgBox($MB_SYSTEMMODAL, "", "The size of the file: " & $iSize) If $iSize > 700 Then Local $file_size01 = InetGet($patch_host01, $patch_local01, 1) Local $patch_host01 = "http://23.239.25.77/acc/"&$file_online01 Local $patch_local01 = "d:\"&$file_online01 Local $iSize = InetGetSize($patch_host01) ;MsgBox($MB_SYSTEMMODAL, "", "The size of the file: " & $iSize) If $iSize > 700 Then Local $file_size01 = InetGet($patch_host01, $patch_local01, 1) If _IsChecked( ($button_auto06[2])[7-1] ) = True or _IsChecked( ($button_auto06[3])[7-1] ) = True or _IsChecked( ($button_auto06[4])[7-1] ) = True or _IsChecked( ($button_select02[5])[7-1] ) = True Then $inputbox01on = 1 If _IsChecked( ($button_auto05[1])[7-1] ) = True or _IsChecked( ($button_auto05[2])[7-1] ) = True or _IsChecked( ($button_auto05[4])[7-1] ) = True Then $inputbox01on = 1 If $inputbox01on = 0 Then MsgBox(0, "QUEN CHON SERVER", "QUEN CHON SERVER > EXIT > KHONG RESET " ) Exit EndIf If $file_trade01 = $file_trade_server01heli Then $phong_name00 = "PK1_HELLI" If $file_trade01 = $file_trade_server02dark Then $phong_name00 = "PK2_DARKE" If $file_trade01 = $file_trade_server03heli Then $phong_name00 = "PK3_HELLI" If $file_trade01 = $file_trade_server04dark Then $phong_name00 = "PK4_DARKE" If $file_trade01 = $file_trade_server05viz Then $phong_name00 = "PK5_VIZ" If $file_trade01 = $file_trade_server06viz Then $phong_name00 = "PK6_VIZ" If $file_trade01 = $file_trade_server07lys Then $phong_name00 = "PK7_LYS" If $file_trade01 = $file_trade_server08lys Then $phong_name00 = "PK8_LYS" $inputbox01 = InputBox("PASS " , "PASS = m"&@CRLF&$inputbox01serer&" "&$inputbox01serer & @CRLF&$inputbox01serer&" "&$inputbox01serer , "pass "&$file_online01 , " M99") If $inputbox01 = "m" and $inputbox01on = 1 Then ; pass $php_reset01 = "PHONG_"&$phong_name00&" | "&"CHAR1 + "&@MON&"/"&@MDAY&" | "&"P1"&" | "&"CHAR2"&" | "&"P2"&" | "&"CHAR3"&" | "&"P3"&" | "&"CHAR4"&" | "&"P4"&" | "&"CHAR5"&" | "&"P5" Local $fb_input01 _FileReadToArray("C:\acc\"&$file_trade01, $fb_input01, $FRTA_NOCOUNT) ;For $lp = 0 to UBound($fb_input01)-2 ;For $lp = 0 to 0 ; If $lp = 0 Then ; $fb_input01[$lp] = $php_reset01 ;php_data01($file_online01,"SAVE01",'@reset:'&$fb_input01[$lp]) php_data01($file_online01,"SAVE01",'@reset:'&$php_reset01) ; EndIf ; If $lp <> 0 Then php_data01($file_online01,"SAVE01",'@send:'&$fb_input01[$lp]) ;Next $fb_input01 = php_data01($file_online01,"LOAD03") GUICtrlSetData($button_submit01, _ArrayToString($fb_input01)) ;_ArrayDisplay($fb_input01,"ALL PHONG") ; will show the the full path GUICtrlSetState( ($button_auto06[1])[7-1], $GUI_UNCHECKED) Sleep(100) GUICtrlSetState( ($button_auto06[1])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto06[1])[0]&" DONE " ) EndIf ; end pass ElseIf $xx > ($button_auto06[2])[1] And $yy > ($button_auto06[2])[2] And $xx < ($button_auto06[2])[1]+($button_auto06[2])[3] And $yy < ($button_auto06[2])[2]+($button_auto06[2])[4] Then ; click button "Select" If _IsChecked( ($button_auto07[1])[7-1] ) = True Then $file_trade01 = $file_trade_server01heli $file_online01 = $file_online01heli01 ; file save load online $file_online02 = $file_online02heli01 ; file save load online ElseIf _IsChecked( ($button_auto07[2])[7-1] ) = True Then $file_trade01 = $file_trade_server03heli $file_online01 = $file_online01heli03 ; file save load online $file_online02 = $file_online02heli03 ; file save load online EndIf GUICtrlSetState( ($button_auto06[3])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto06[4])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_select02[5])[7-1], $GUI_UNCHECKED) _check_trade01($file_trade01) GUICtrlSetData($button_submit02, _ArrayToString($data_trade)) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto06[2])[0]&" DONE " ) ElseIf $xx > ($button_auto06[3])[1] And $yy > ($button_auto06[3])[2] And $xx < ($button_auto06[3])[1]+($button_auto06[3])[3] And $yy < ($button_auto06[3])[2]+($button_auto06[3])[4] Then ; click button "Select" If _IsChecked( ($button_auto07[1])[7-1] ) = True Then $file_trade01 = $file_trade_server02dark $file_online01 = $file_online01dark02 ; file save load online $file_online02 = $file_online02dark02 ; file save load online ElseIf _IsChecked( ($button_auto07[2])[7-1] ) = True Then $file_trade01 = $file_trade_server04dark $file_online01 = $file_online01dark04 ; file save load online $file_online02 = $file_online02dark04 ; file save load online EndIf GUICtrlSetState( ($button_auto06[2])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto06[4])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_select02[5])[7-1], $GUI_UNCHECKED) _check_trade01($file_trade01) GUICtrlSetData($button_submit02, _ArrayToString($data_trade)) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto06[3])[0]&" DONE " ) ElseIf $xx > ($button_auto06[4])[1] And $yy > ($button_auto06[4])[2] And $xx < ($button_auto06[4])[1]+($button_auto06[4])[3] And $yy < ($button_auto06[4])[2]+($button_auto06[4])[4] Then ; click button "Select" If _IsChecked( ($button_auto07[1])[7-1] ) = True Then $file_trade01 = $file_trade_server05viz $file_online01 = $file_online01viz05 ; file save load online $file_online02 = $file_online02viz05 ; file save load online ElseIf _IsChecked( ($button_auto07[2])[7-1] ) = True Then $file_trade01 = $file_trade_server06viz $file_online01 = $file_online01viz06 ; file save load online $file_online02 = $file_online02viz06 ; file save load online EndIf GUICtrlSetState( ($button_auto06[3])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto06[2])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_select02[5])[7-1], $GUI_UNCHECKED) _check_trade01($file_trade01) GUICtrlSetData($button_submit02, _ArrayToString($data_trade)) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto06[4])[0]&" DONE " ) ElseIf $xx > ($button_select02[5])[1] And $yy > ($button_select02[5])[2] And $xx < ($button_select02[5])[1]+($button_select02[5])[3] And $yy < ($button_select02[5])[2]+($button_select02[5])[4] Then ; click button "Select" If _IsChecked( ($button_auto07[1])[7-1] ) = True Then $file_trade01 = $file_trade_server07lys $file_online01 = $file_online01lys07 ; file save load online $file_online02 = $file_online02lys07 ; file save load online ElseIf _IsChecked( ($button_auto07[2])[7-1] ) = True Then $file_trade01 = $file_trade_server08lys $file_online01 = $file_online01lys08 ; file save load online $file_online02 = $file_online02lys08 ; file save load online EndIf GUICtrlSetState( ($button_auto06[3])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto06[4])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto06[2])[7-1], $GUI_UNCHECKED) _check_trade01($file_trade01) GUICtrlSetData($button_submit02, _ArrayToString($data_trade)) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_select02[5])[0]&" DONE " ) ElseIf $xx > ($button_auto06[5])[1] And $yy > ($button_auto06[5])[2] And $xx < ($button_auto06[5])[1]+($button_auto06[5])[3] And $yy < ($button_auto06[5])[2]+($button_auto06[5])[4] Then ; click button "Select" If _IsChecked( ($button_auto06[2])[7-1] ) = True and _IsChecked( ($button_auto07[1])[7-1] ) = True Then $file_trade01 = $file_trade_server01heli $file_online01 = $file_online01heli01 ; file save load online $file_online02 = $file_online02heli01 ; file save load online ElseIf _IsChecked( ($button_auto06[2])[7-1] ) = True and _IsChecked( ($button_auto07[2])[7-1] ) = True Then $file_trade01 = $file_trade_server03heli $file_online01 = $file_online01heli03 ; file save load online $file_online02 = $file_online02heli03 ; file save load online EndIf If _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto07[1])[7-1] ) = True Then $file_trade01 = $file_trade_server02dark $file_online01 = $file_online01dark02 ; file save load online $file_online02 = $file_online02dark02 ; file save load online ElseIf _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto07[2])[7-1] ) = True Then $file_trade01 = $file_trade_server04dark $file_online01 = $file_online01dark04 ; file save load online $file_online02 = $file_online02dark04 ; file save load online EndIf If _IsChecked( ($button_select02[5])[7-1] ) = True and _IsChecked( ($button_auto07[1])[7-1] ) = True Then $file_trade01 = $file_trade_server07lys $file_online01 = $file_online01lys07 ; file save load online $file_online02 = $file_online02lys07 ; file save load online ElseIf _IsChecked( ($button_select02[5])[7-1] ) = True and _IsChecked( ($button_auto07[2])[7-1] ) = True Then $file_trade01 = $file_trade_server08lys $file_online01 = $file_online01lys08 ; file save load online $file_online02 = $file_online02lys08 ; file save load online EndIf Local $fb_input01 $fb_input01 = php_data01($file_online01,"LOAD02") ; 1d array online ;_FileReadToArray("C:\acc\"&$file_online01, $fb_input01, $FRTA_NOCOUNT) ; 1d array offline $fb_input01 = _ArrayUnique($fb_input01) ; delete duplicates _ArrayDelete($fb_input01, 0) ; xoa dem dong line txt [0] _FileWriteFromArray("c:\acc\"&$file_online01, $fb_input01, 0) ; fix gold_view ||| bị lỗi ; Đọc toàn bộ nội dung file Local $sFilePath = "C:\acc\" & $file_online01 $sContent = FileRead($sFilePath) ; Thay thế tất cả ||| thành || $sContent = StringReplace($sContent, "|||0|0|0|0|0|0|0|0", "|0|0|0|0|0|0|0|0|0|0") $sContent = StringReplace($sContent, "|||", "||") ; Ghi lại nội dung đã thay thế FileDelete($sFilePath) FileWrite($sFilePath, $sContent) ; end fix gold_view ||| bị lỗi _FileReadToArray("C:\acc\"&$file_online01, $fb_input01, $FRTA_NOCOUNT, "|" ) ; 2d array If _IsChecked( ($button_auto06[2])[7-1] ) = False and _IsChecked( ($button_auto06[3])[7-1] ) = False and _IsChecked( ($button_auto06[4])[7-1] ) = False and _IsChecked( ($button_select02[5])[7-1] ) = False Then ; full phong GUICtrlSetData($button_submit01, _ArrayToString($fb_input01)) _ArrayDisplay($fb_input01,"ALL PHONG") ; will show the the full path EndIf Local $fb_input02[1][3] = [[ $fb_input01[0][0], $fb_input01[0][1], $fb_input01[0][2] ]] If _IsChecked( ($button_auto06[2])[7-1] ) = True or _IsChecked( ($button_auto06[3])[7-1] ) = True or _IsChecked( ($button_auto06[4])[7-1] ) = True or _IsChecked( ($button_select02[5])[7-1] ) = True Then If _IsChecked( ($button_auto07[1])[7-1] ) = True and _IsChecked( ($button_auto06[2])[7-1] ) = True Then $find_phong01 = "PK1" If _IsChecked( ($button_auto07[1])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True Then $find_phong01 = "PK2" If _IsChecked( ($button_auto07[2])[7-1] ) = True and _IsChecked( ($button_auto06[2])[7-1] ) = True Then $find_phong01 = "PK3" If _IsChecked( ($button_auto07[2])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True Then $find_phong01 = "PK4" If _IsChecked( ($button_auto07[1])[7-1] ) = True and _IsChecked( ($button_auto06[4])[7-1] ) = True Then $find_phong01 = "PK5" If _IsChecked( ($button_auto07[2])[7-1] ) = True and _IsChecked( ($button_auto06[4])[7-1] ) = True Then $find_phong01 = "PK6" If _IsChecked( ($button_auto07[1])[7-1] ) = True and _IsChecked( ($button_select02[5])[7-1] ) = True Then $find_phong01 = "PK7" If _IsChecked( ($button_auto07[2])[7-1] ) = True and _IsChecked( ($button_select02[5])[7-1] ) = True Then $find_phong01 = "PK8" For $lp01 = 1 to UBound($fb_input01, $UBOUND_ROWS)-1 If StringInStr($fb_input01[$lp01][0], $find_phong01) > 0 Then _ArrayAdd($fb_input02, $fb_input01[$lp01][0]&" | "&$fb_input01[$lp01][1]&" | "&$fb_input01[$lp01][2]) _ArrayAdd($fb_input02, $fb_input01[$lp01][0]&" | "&$fb_input01[$lp01][3]&" | "&$fb_input01[$lp01][4]) _ArrayAdd($fb_input02, $fb_input01[$lp01][0]&" | "&$fb_input01[$lp01][5]&" | "&$fb_input01[$lp01][6]) _ArrayAdd($fb_input02, $fb_input01[$lp01][0]&" | "&$fb_input01[$lp01][7]&" | "&$fb_input01[$lp01][8]) _ArrayAdd($fb_input02, $fb_input01[$lp01][0]&" | "&$fb_input01[$lp01][9]&" | "&$fb_input01[$lp01][10]) EndIf Next For $lp01 = 1 to UBound($fb_input02, $UBOUND_ROWS)-1 ; string convert Number $fb_input02[$lp01][2] = Number($fb_input02[$lp01][2]) If StringInStr($fb_input02[$lp01][2], ".") > 0 Then $fb_input02[$lp01][2] = StringReplace($fb_input02[$lp01][2], ".", "") $fb_input02[$lp01][2] = $fb_input02[$lp01][2]&"00" $fb_input02[$lp01][2] = Number($fb_input02[$lp01][2]) EndIf Next ;_ArraySort($fb_input02, 0, 0, 1, 2) ; 0 = small to large 1 = large to small row 1 col 2 _ArraySort($fb_input02, 1, 1, 0, 2 ) ; 0 = small to large 1 = large to small row 1 col 2 _FileWriteFromArray("c:\acc\"&$file_online02, $fb_input02, 0) ; fix delete duplicates _FileReadToArray("C:\acc\"&$file_online02, $fb_input02, $FRTA_NOCOUNT) $fb_input02 = _ArrayUnique($fb_input02) ; delete duplicates _ArrayDelete($fb_input02, 0) ; xoa dem dong line txt [0] _FileWriteFromArray("c:\acc\"&$file_online02, $fb_input02, 0) ; fix delete duplicates _FileReadToArray("C:\acc\"&$file_online02, $fb_input02, $FRTA_NOCOUNT, "|" ) ; 2d array GUICtrlSetData($button_submit01, _ArrayToString($fb_input02)) Local $array_phong01[UBound($fb_input02, $UBOUND_ROWS)] For $lp01 = 1 to UBound($fb_input02, $UBOUND_ROWS)-1 ; string convert Number > kiem tra du cay chua $split00 = StringSplit($fb_input02[$lp01][0]," ",2) ;set Tint to 100 $array_phong01[$lp01] = $split00[0] Next $array_phong01 = _ArrayUnique($array_phong01) ; delete duplicates $array_phong01[0] -= 1 GUICtrlSetData($idCheckbox35_tiled02_02, "") ; ============================ ; Hàm lấy đúng 2 chữ số cuối ; ============================ Func GetLastTwoDigits($sText) Local $m = StringRegExp($sText, "(\d+)$", 1) If @error Then Return 9999 ; không có số ở cuối -> đẩy xuống cuối If StringLen($m[0]) < 2 Then Return 9999 Return Int(StringRight($m[0], 2)) EndFunc ; ============================ ; Hàm sắp xếp mảng theo số cuối ; ============================ Func SortByLastTwoDigits(ByRef $aArray) Local $n = UBound($aArray) ; Decorate: tạo mảng 2D [key, value] cho phần tử từ index 1 Local $aDecor[$n-1][2] For $i = 1 To $n - 1 Local $key = GetLastTwoDigits($aArray[$i]) $aDecor[$i-1][0] = $key $aDecor[$i-1][1] = $aArray[$i] Next ; Sort theo cột 0 (key) _ArraySort($aDecor, 0, 0, UBound($aDecor) - 1, 0) ; Undecorate: trả lại mảng 1D từ index 1 For $i = 1 To $n - 1 $aArray[$i] = $aDecor[$i-1][1] Next EndFunc ; Gọi hàm sort (chỉ sort từ index 1) SortByLastTwoDigits($array_phong01) GUICtrlSetData($idCheckbox35_tiled02_02, _ArrayToString($array_phong01)) ;_ArrayDisplay($array_phong01,"ALL PHONG GOLD") ; will show the the full path GOLD VIEW ;_ArrayDisplay($fb_input02,"ALL PHONG GOLD") ; will show the the full path GOLD VIEW ; Hiển thị bảng giống ArrayDisplay _DebugArrayDisplay($fb_input02, "ALL PHONG GOLD", Default, Default, Default, Default, Default, _Copy_Excel01) Func _Copy_Excel01($aArray_2D, $aSelected) If UBound($aSelected, 1) = 0 Then MsgBox(16, "Lỗi", "Bạn chưa chọn dòng nào để sao chép!") Return EndIf Local $clipboardText = "" ; Kiểm tra danh sách chỉ số dòng đã chọn Local $usedRows = "" For $i = 0 To UBound($aSelected) - 1 Local $rowIndex = $aSelected[$i] ; Đảm bảo không lặp dòng If StringInStr($usedRows, "|" & $rowIndex & "|") Then ContinueLoop $usedRows &= "|" & $rowIndex & "|" ; Lấy nội dung từ mảng gốc For $j = 0 To UBound($aArray_2D, 2) - 1 $clipboardText &= $aArray_2D[$rowIndex][$j] & @TAB Next $clipboardText = StringTrimRight($clipboardText, 1) & @CRLF Next ; Sao chép vào clipboard ClipPut($clipboardText) MsgBox(64, "Thông báo", "Đã sao chép các dòng được chọn, paste vào Excel!") EndFunc EndIf GUICtrlSetState( ($button_auto06[5])[7-1], $GUI_UNCHECKED) Sleep(100) GUICtrlSetState( ($button_auto06[5])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto06[5])[0]&" DONE " ) ElseIf $xx > ($button_auto06[6])[1] And $yy > ($button_auto06[6])[2] And $xx < ($button_auto06[6])[1]+($button_auto06[6])[3] And $yy < ($button_auto06[6])[2]+($button_auto06[6])[4] Then ; click button "Select" Local $fb_input01 Local $fb_input02 _FileReadToArray("C:\acc\"&$file_online01, $fb_input01, $FRTA_NOCOUNT, "|" ) ; 2d array _FileReadToArray("C:\acc\"&$file_online02, $fb_input02, $FRTA_NOCOUNT, "|" ) ; 2d array GUICtrlSetData($button_submit01, _ArrayToString($fb_input02)) _ArrayDisplay($fb_input02,"ALL PHONG") ; will show the the full path $inputbox01 = InputBox("GOLD_EDIT1 PLATINUM " , "LINE NUMBER" &@CRLF& "PLATINUM NUMBER" , "0,0" , " M99") $split01 = StringSplit($inputbox01,",",2) ;set Tint to 100 If $inputbox01 <> "" and $split01[0] > 0 Then GUICtrlSetData($button_submit01, $fb_input02[ $split01[0] ][0] &" | "& $fb_input02[ $split01[0] ][1] &" | "& $fb_input02[ $split01[0] ][2] &" > "&$split01[1]) $fb_input02[ $split01[0] ][2] = $split01[1] $find_name01 = 0 For $lp01 = 1 to UBound($fb_input01, $UBOUND_ROWS)-1 ; string convert Number If $fb_input01[$lp01][0]&" " = $fb_input02[ $split01[0] ][0] Then ; tim phong + man hinh + cay For $lp02 = 1 to 9 Step 2 ; string convert Number ;MsgBox(0, "Result", "N"&$lp02&" "&" "&$fb_input01[$lp01+0][$lp02]&" "&"="&$fb_input02[ $split01[0] ][1] ) If " "&$fb_input01[$lp01+0][$lp02]&" " = $fb_input02[ $split01[0] ][1] Then ; tim name $fb_input01[$lp01+0][$lp02+1] = $split01[1] $find_name01 = 1 ExitLoop ElseIf " "&$fb_input01[$lp01+1][$lp02]&" " = $fb_input02[ $split01[0] ][1] Then ; tim name $fb_input01[$lp01+1][$lp02+1] = $split01[1] $find_name01 = 1 ExitLoop ElseIf " "&$fb_input01[$lp01+2][$lp02]&" " = $fb_input02[ $split01[0] ][1] Then ; tim name $fb_input01[$lp01+2][$lp02+1] = $split01[1] $find_name01 = 1 ExitLoop ElseIf " "&$fb_input01[$lp01+3][$lp02]&" " = $fb_input02[ $split01[0] ][1] Then ; tim name $fb_input01[$lp01+3][$lp02+1] = $split01[1] $find_name01 = 1 ExitLoop ElseIf " "&$fb_input01[$lp01+4][$lp02]&" " = $fb_input02[ $split01[0] ][1] Then ; tim name $fb_input01[$lp01+4][$lp02+1] = $split01[1] $find_name01 = 1 ExitLoop ElseIf " "&$fb_input01[$lp01+5][$lp02]&" " = $fb_input02[ $split01[0] ][1] Then ; tim name $fb_input01[$lp01+5][$lp02+1] = $split01[1] $find_name01 = 1 ExitLoop EndIf Next ExitLoop EndIf Next If $find_name01 = 1 Then _FileWriteFromArray("c:\acc\"&$file_online01, $fb_input01, 0) _FileWriteFromArray("c:\acc\"&$file_online02, $fb_input02, 0) If $file_trade01 = $file_trade_server01heli Then $phong_name00 = "PK1_HELLI" If $file_trade01 = $file_trade_server02dark Then $phong_name00 = "PK2_DARKE" If $file_trade01 = $file_trade_server03heli Then $phong_name00 = "PK3_HELLI" If $file_trade01 = $file_trade_server04dark Then $phong_name00 = "PK4_DARKE" If $file_trade01 = $file_trade_server05viz Then $phong_name00 = "PK5_VIZ" If $file_trade01 = $file_trade_server06viz Then $phong_name00 = "PK6_VIZ" $php_reset01 = "PHONG_"&$phong_name00&" | "&"CHAR1 + "&@MON&"/"&@MDAY&" | "&"P1"&" | "&"CHAR2"&" | "&"P2"&" | "&"CHAR3"&" | "&"P3"&" | "&"CHAR4"&" | "&"P4"&" | "&"CHAR5"&" | "&"P5" Local $fb_input01 _FileReadToArray("C:\acc\"&$file_online01, $fb_input01, $FRTA_NOCOUNT) ;_ArrayDisplay($fb_input01,"ALL PHONG") ; will show the the full path GUICtrlSetData($idCheckbox35_tiled02_02, "") ;For $lp = 0 to UBound($fb_input01)-1 ; If $lp = 0 Then ; $fb_input01[$lp] = $php_reset01 ; php_data01($file_online01,"SAVE01",'@reset:'&$fb_input01[$lp]) ; EndIf ; If $lp <> 0 Then php_data01($file_online01,"SAVE01",'@send:'&$fb_input01[$lp]) ; GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$lp&" "&$fb_input01[$lp]) ;Next _FileReadToArray("C:\acc\"&$file_online01, $fb_input01, $FRTA_NOCOUNT, "|" ) ; 2d array _FileReadToArray("C:\acc\"&$file_online02, $fb_input02, $FRTA_NOCOUNT, "|" ) ; 2d array _ArrayDisplay($fb_input02,"ALL PHONG") ; will show the the full path EndIf EndIf GUICtrlSetState( ($button_auto06[6])[7-1], $GUI_UNCHECKED) Sleep(100) GUICtrlSetState( ($button_auto06[6])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto06[6])[0]&" DONE " ) Func php_data01($file00="fb_input01.txt",$send00="LOAD01",$data00="") If $send00 = "LOAD01" Then Local $data01 = BinaryToString(InetRead("http://23.239.25.77/acc/"&$file00,1)) $data01 = BinaryToString(StringToBinary($data01, 1), 4) ; chuyen sang utf8 $data02 = StringSplit($data01, "|", BitOr($STR_NOCOUNT, $STR_ENTIRESPLIT)) ;MsgBox(0, "Result", $data01 ) ;_ArrayDisplay($data02, "1D display") Return $data02 ElseIf $send00 = "LOAD02" Then ; 1d array Local $data02 Local $patch_host01 = "http://23.239.25.77/acc/"&$file00 Local $patch_local01 = "c:\acc\"&$file00 Local $file_size01 = InetGet($patch_host01, $patch_local01, 1) _FileReadToArray("c:\acc\"&$file00, $data02, $FRTA_NOCOUNT) Return $data02 ElseIf $send00 = "LOAD03" Then ; 2d array Local $data02 Local $patch_host01 = "http://23.239.25.77/acc/"&$file00 Local $patch_local01 = "c:\acc\"&$file00 Local $file_size01 = InetGet($patch_host01, $patch_local01, 1) _FileReadToArray("c:\acc\"&$file00, $data02, $FRTA_NOCOUNT, "|" ) Return $data02 ElseIf $send00 = "SAVE01" and $data00 <> "" Then ; chmod = 777 file write all ;$data00 = 'meo01|meo02|meo03|meo04|meo05' ;$data00 = _ArrayToString($data00, "|") ; array to string $data00 = _WinAPI_WideCharToMultiByte($data00 ,65001) ; utf8 to php fix ? InetGet("http://23.239.25.77/acc/fb_input01.php?data01="&$file00&$data00,"result.txt") ;ClipPut("http://23.239.25.77/acc/fb_input01.php?data01="&$file00&$data00) ;http://23.239.25.77/acc/fb_input01.php?data01=0_MEO_D01_input01.txt@reset:PHONG_MH_CAY | CHAR1 + 09/08 | P1 | CHAR2 | P2 | CHAR3 | P3 | CHAR4 | P4 | CHAR5 | P5 ;$data = FileRead("result.txt") ;MsgBox(0, "Result", $data00 ) EndIf ; http://23.239.25.77/acc/fb_input01.php?data01=C?u 00|meo02|meo03|meo04|meo05 EndFunc ; $button_auto04 > AUTO ALL ------------------------------------------------------------------------------- ElseIf $xx > ($button_auto04[1])[1] And $yy > ($button_auto04[1])[2] And $xx < ($button_auto04[1])[1]+($button_auto04[1])[3] And $yy < ($button_auto04[1])[2]+($button_auto04[1])[4] Then ; click button "Select" Sleep(100) GUICtrlSetState( ($button_auto04[1])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto04[2])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto04[3])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto04[4])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto04[5])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto04[1])[0]&" DONE " ) ElseIf $xx > ($button_auto04[2])[1] And $yy > ($button_auto04[2])[2] And $xx < ($button_auto04[2])[1]+($button_auto04[2])[3] And $yy < ($button_auto04[2])[2]+($button_auto04[2])[4] Then ; click button "Select" Sleep(100) GUICtrlSetState( ($button_auto04[1])[7-1], $GUI_UNCHECKED) ;GUICtrlSetState( ($button_auto04[2])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto04[3])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto04[4])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto04[5])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto04[2])[0]&" DONE " ) ElseIf $xx > ($button_auto04[3])[1] And $yy > ($button_auto04[3])[2] And $xx < ($button_auto04[3])[1]+($button_auto04[3])[3] And $yy < ($button_auto04[3])[2]+($button_auto04[3])[4] Then ; click button "Select" Sleep(100) GUICtrlSetState( ($button_auto04[1])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto04[2])[7-1], $GUI_UNCHECKED) ;GUICtrlSetState( ($button_auto04[3])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto04[4])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto04[5])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto04[3])[0]&" DONE " ) ElseIf $xx > ($button_auto04[4])[1] And $yy > ($button_auto04[4])[2] And $xx < ($button_auto04[4])[1]+($button_auto04[4])[3] And $yy < ($button_auto04[4])[2]+($button_auto04[4])[4] Then ; click button "Select" Sleep(100) GUICtrlSetState( ($button_auto04[1])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto04[2])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto04[3])[7-1], $GUI_UNCHECKED) ;GUICtrlSetState( ($button_auto04[4])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto04[5])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto04[4])[0]&" DONE " ) ElseIf $xx > ($button_auto04[5])[1] And $yy > ($button_auto04[5])[2] And $xx < ($button_auto04[5])[1]+($button_auto04[5])[3] And $yy < ($button_auto04[5])[2]+($button_auto04[5])[4] Then ; click button "Select" Sleep(100) GUICtrlSetState( ($button_auto04[1])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto04[2])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto04[3])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto04[4])[7-1], $GUI_UNCHECKED) ;GUICtrlSetState( ($button_auto04[5])[7-1], $GUI_CHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto04[5])[0]&" DONE " ) ; $button_auto05 > AUTO ALL ------------------------------------------------------------------------------- ElseIf $xx > ($button_auto05[1])[1] And $yy > ($button_auto05[1])[2] And $xx < ($button_auto05[1])[1]+($button_auto05[1])[3] And $yy < ($button_auto05[1])[2]+($button_auto05[1])[4] Then ; click button "Select" Sleep(100) GUICtrlSetState( ($button_auto05[1])[7-1], $GUI_CHECKED) Sleep(100) GUICtrlSetState( ($button_auto05[1])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto07[3])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto04[6])[7-1], $GUI_UNCHECKED) ElseIf $xx > ($button_auto05[2])[1] And $yy > ($button_auto05[2])[2] And $xx < ($button_auto05[2])[1]+($button_auto05[2])[3] And $yy < ($button_auto05[2])[2]+($button_auto05[2])[4] Then ; click button "Select" Sleep(100) GUICtrlSetState( ($button_auto05[2])[7-1], $GUI_CHECKED) Sleep(100) GUICtrlSetState( ($button_auto05[2])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto07[3])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto04[6])[7-1], $GUI_UNCHECKED) ElseIf $xx > ($button_auto05[3])[1] And $yy > ($button_auto05[3])[2] And $xx < ($button_auto05[3])[1]+($button_auto05[3])[3] And $yy < ($button_auto05[3])[2]+($button_auto05[3])[4] Then ; click button "Select" Sleep(100) GUICtrlSetState( ($button_auto05[3])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto07[3])[7-1], $GUI_CHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto05[3])[0]&" DONE " ) ElseIf $xx > ($button_auto05[4])[1] And $yy > ($button_auto05[4])[2] And $xx < ($button_auto05[4])[1]+($button_auto05[4])[3] And $yy < ($button_auto05[4])[2]+($button_auto05[4])[4] Then ; click button "Select" Sleep(100) GUICtrlSetState( ($button_auto05[4])[7-1], $GUI_CHECKED) Sleep(100) GUICtrlSetState( ($button_auto05[4])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto07[3])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto04[6])[7-1], $GUI_UNCHECKED) ElseIf $xx > ($button_auto05[5])[1] And $yy > ($button_auto05[5])[2] And $xx < ($button_auto05[5])[1]+($button_auto05[5])[3] And $yy < ($button_auto05[5])[2]+($button_auto05[5])[4] Then ; click button "Select" ; 2 server check trade $phong_num00 = 1 If _IsChecked( ($button_auto07[1])[7-1] ) = True and _IsChecked( ($button_auto06[2])[7-1] ) = True Then ; "PK1_HELLI" $phong_num00 = 1 GUICtrlSetState( ($button_auto06[2])[7-1], $GUI_UNCHECKED) ElseIf _IsChecked( ($button_auto07[1])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True Then ; "PK2_DARKE" $phong_num00 = 2 GUICtrlSetState( ($button_auto06[3])[7-1], $GUI_UNCHECKED) ElseIf _IsChecked( ($button_auto07[2])[7-1] ) = True and _IsChecked( ($button_auto06[2])[7-1] ) = True Then ; "PK3_HELLI" $phong_num00 = 3 GUICtrlSetState( ($button_auto06[2])[7-1], $GUI_UNCHECKED) ElseIf _IsChecked( ($button_auto07[2])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True Then ; "PK4_DARKE" $phong_num00 = 4 GUICtrlSetState( ($button_auto06[3])[7-1], $GUI_UNCHECKED) ElseIf _IsChecked( ($button_auto07[1])[7-1] ) = True and _IsChecked( ($button_auto06[4])[7-1] ) = True Then ; "PK5_VIZ" $phong_num00 = 5 GUICtrlSetState( ($button_auto06[4])[7-1], $GUI_UNCHECKED) ElseIf _IsChecked( ($button_auto07[2])[7-1] ) = True and _IsChecked( ($button_auto06[4])[7-1] ) = True Then ; "PK6_VIZ" $phong_num00 = 6 GUICtrlSetState( ($button_auto06[4])[7-1], $GUI_UNCHECKED) ElseIf _IsChecked( ($button_auto07[1])[7-1] ) = True and _IsChecked( ($button_select02[5])[7-1] ) = True Then ; "PK7_LYS" $phong_num00 = 7 GUICtrlSetState( ($button_select02[5])[7-1], $GUI_UNCHECKED) ElseIf _IsChecked( ($button_auto07[2])[7-1] ) = True and _IsChecked( ($button_select02[5])[7-1] ) = True Then ; "PK8_LYS" $phong_num00 = 8 GUICtrlSetState( ($button_select02[5])[7-1], $GUI_UNCHECKED) EndIf GUICtrlSetData($button_submit02, _ArrayToString($data_trade)) _ArrayDisplay($data_trade,$path_fb_html_list01[$phong_num00][5]) ; will show the the full path GUICtrlSetState( ($button_auto05[5])[7-1], $GUI_UNCHECKED) Sleep(100) GUICtrlSetState( ($button_auto05[5])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto05[5])[0]&" DONE " ) GUICtrlSetData_down01($idCheckbox35_tiled02_02,$time_stop01&" "&" $phong_num00 = "&$phong_num00&" DONE " ) ; $button_auto01 > AUTO ALL ------------------------------------------------------------------------------- ElseIf $xx > ($button_auto05[6])[1] And $yy > ($button_auto05[6])[2] And $xx < ($button_auto05[6])[1]+($button_auto05[6])[3] And $yy < ($button_auto05[6])[2]+($button_auto05[6])[4] Then ; click button "Select" $inputbox01 = InputBox("NAME PHONG", "0 = ALL PHONG TRADE "&@CRLF&"1 = PK1_HELLI HELLIQUARY"&@CRLF&"2 = PK2_DARKE DARKENING OF TRISTRAM"&@CRLF&"3 = PK3_HELLI HELLIQUARY"&@CRLF&"4 = PK4_DARKE DARKENING OF TRISTRAM"&@CRLF&"5 = PK5_VIZ VIZ-JUN"&@CRLF&"6 = PK6_VIZ VIZ-JUN", "" , " M99") $phong_name00 = "NOT_DELETE" If $inputbox01 <> "" Then If $inputbox01 = 0 Then $phong_name00 = "ALL_PHONG" If $inputbox01 = 1 Then $phong_name00 = "PK1_HELLI" If $inputbox01 = 2 Then $phong_name00 = "PK2_DARKE" If $inputbox01 = 3 Then $phong_name00 = "PK3_HELLI" If $inputbox01 = 4 Then $phong_name00 = "PK4_DARKE" If $inputbox01 = 5 Then $phong_name00 = "PK5_VIZ" If $inputbox01 = 6 Then $phong_name00 = "PK6_VIZ" If $inputbox01 = 7 Then $phong_name00 = "PK7_LYS" If $inputbox01 = 8 Then $phong_name00 = "PK8_LYS" If $inputbox01 = 1 Then $file_trade01 = $file_trade_server01heli If $inputbox01 = 2 Then $file_trade01 = $file_trade_server02dark If $inputbox01 = 3 Then $file_trade01 = $file_trade_server03heli If $inputbox01 = 4 Then $file_trade01 = $file_trade_server04dark If $inputbox01 = 5 Then $file_trade01 = $file_trade_server05viz If $inputbox01 = 6 Then $file_trade01 = $file_trade_server06viz If $inputbox01 = 7 Then $file_trade01 = $file_trade_server07lys If $inputbox01 = 8 Then $file_trade01 = $file_trade_server08lys If $inputbox01 <> "" Then FileDelete("c:\acc\"&$file_trade01) If $inputbox01 = 0 Then For $inputbox01 = 1 to 4 If $inputbox01 = 1 Then $file_trade01 = $file_trade_server01heli If $inputbox01 = 2 Then $file_trade01 = $file_trade_server02dark If $inputbox01 = 3 Then $file_trade01 = $file_trade_server03heli If $inputbox01 = 4 Then $file_trade01 = $file_trade_server04dark If $inputbox01 = 5 Then $file_trade01 = $file_trade_server05viz If $inputbox01 = 6 Then $file_trade01 = $file_trade_server06viz If $inputbox01 = 7 Then $file_trade01 = $file_trade_server07lys If $inputbox01 = 8 Then $file_trade01 = $file_trade_server08lys FileDelete("c:\acc\"&$file_trade01) Next EndIf EndIf MsgBox(0, "Result", "FILE DELETE > "&$file_trade01&" SERVER "&$phong_name00 ) Exit GUICtrlSetState( ($button_auto05[6])[7-1], $GUI_UNCHECKED) Sleep(100) GUICtrlSetState( ($button_auto05[6])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto05[6])[0]&" DONE " ) ; $button_auto01 > AUTO ALL ------------------------------------------------------------------------------- ElseIf $xx > ($button_auto01[0])[1] And $yy > ($button_auto01[0])[2] And $xx < ($button_auto01[0])[1]+($button_auto01[0])[3] And $yy < ($button_auto01[0])[2]+($button_auto01[0])[4] Then ; click button "Select" ;nox_move02() GUICtrlSetData($idCheckbox35_tiled02_02, "") GUICtrlSetData($idCheckbox35_tiled02_02,"------------------------------AUTO START-------------------------------","") If _IsChecked( ($button_auto07[1])[7-1] ) = True Then $a_local02 = _find_a_star01("A_A12 ") If _IsChecked( ($button_auto07[2])[7-1] ) = True Then $a_local02 = _find_a_star01("A_A24 ") ;If _IsChecked( ($button_auto07[2])[7-1] ) = True Then $a_local02 = _find_a_star01("A_A12 ") If _IsChecked( ($button_select02[2])[7-1] ) = False Then MsgBox(0, "QUEN CHAY 0_MEO_D01_A_STAR_EX HOAC >"&@CRLF&" PHAI CHAY 0_MEO_D01_A_STAR_EX TRUOC 0_MEO_D01 >", "QUEN CHAY 0_MEO_D01_A_STAR_EX HOAC >"&@CRLF&" PHAI CHAY 0_MEO_D01_A_STAR_EX TRUOC 0_MEO_D01 >" ) Exit EndIf If $a_local02[0] > 0 Then ; ko thay a star off = 0 $local_case01 = 0 $local_path01max = 0 $a_star01test = 1 GUICtrlSetState( ($button_select02[2])[7-1], $GUI_CHECKED) ElseIf $a_local02[0] = 0 Then ; ko thay a star off = 0 $local_case01 = 0 $local_path01max = 0 $a_star01test = 0 GUICtrlSetState( ($button_select02[2])[7-1], $GUI_UNCHECKED) EndIf If _IsChecked( ($button_auto01[3])[7-1] ) = True and _IsChecked( ($button_auto05[1])[7-1] ) = False and _IsChecked( ($button_auto05[2])[7-1] ) = False and _IsChecked( ($button_auto05[3])[7-1] ) = False and _IsChecked( ($button_auto05[4])[7-1] ) = False Then GUICtrlSetState( ($button_auto07[3])[7-1], $GUI_UNCHECKED) Global $time_stop01 = int(TimerDiff($time_start01)) ; reset time $acc_count01 = 0 If _IsChecked( ($button_auto07[1])[7-1] ) = True Then $desktop_screen01 = 0 $acc_min = 1 $acc_max = 12 ; max 20 facebook EndIf If _IsChecked( ($button_auto07[2])[7-1] ) = True Then $desktop_screen01 = 1 $acc_min = 13 $acc_max = 24 ; max 20 facebook EndIf $bActive01on = 0 $inputbox01on = 0 If _IsChecked( ($button_auto06[2])[7-1] ) = True or _IsChecked( ($button_auto06[3])[7-1] ) = True or _IsChecked( ($button_auto06[4])[7-1] ) = True or _IsChecked( ($button_select02[5])[7-1] ) = True Then $inputbox01on = 1 If _IsChecked( ($button_auto05[1])[7-1] ) = True or _IsChecked( ($button_auto05[2])[7-1] ) = True or _IsChecked( ($button_auto05[4])[7-1] ) = True Then $inputbox01on = 1 If $inputbox01on = 0 Then MsgBox(0, "QUEN CHON SERVER", "QUEN CHON SERVER > EXIT > KHONG RESET " ) Exit EndIf ; 2 server check trade $phong_num00 = 1 If _IsChecked( ($button_auto05[1])[7-1] ) = True or _IsChecked( ($button_auto05[2])[7-1] ) = True or _IsChecked( ($button_auto05[3])[7-1] ) = True or _IsChecked( ($button_auto05[4])[7-1] ) = True Then ; $s_check_main_quest01[$loopacc] = 1 > check_trade1 If _IsChecked( ($button_auto07[1])[7-1] ) = True and _IsChecked( ($button_auto06[2])[7-1] ) = True Then ; "PK1_HELLI" $phong_num00 = 1 $file_trade01 = $file_trade_server01heli $file_online01 = $file_online01heli01 ; file save load online $file_online02 = $file_online02heli01 ; file save load online GUICtrlSetState( ($button_auto06[2])[7-1], $GUI_UNCHECKED) ElseIf _IsChecked( ($button_auto07[1])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True Then ; "PK2_DARKE" $phong_num00 = 2 $file_trade01 = $file_trade_server02dark $file_online01 = $file_online01dark02 ; file save load online $file_online02 = $file_online02dark02 ; file save load online GUICtrlSetState( ($button_auto06[3])[7-1], $GUI_UNCHECKED) ElseIf _IsChecked( ($button_auto07[2])[7-1] ) = True and _IsChecked( ($button_auto06[2])[7-1] ) = True Then ; "PK3_HELLI" $phong_num00 = 3 $file_trade01 = $file_trade_server03heli $file_online01 = $file_online01heli03 ; file save load online $file_online02 = $file_online02heli03 ; file save load online GUICtrlSetState( ($button_auto06[2])[7-1], $GUI_UNCHECKED) ElseIf _IsChecked( ($button_auto07[2])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True Then ; "PK4_DARKE" $phong_num00 = 4 $file_trade01 = $file_trade_server04dark $file_online01 = $file_online01dark04 ; file save load online $file_online02 = $file_online02dark04 ; file save load online GUICtrlSetState( ($button_auto06[3])[7-1], $GUI_UNCHECKED) ElseIf _IsChecked( ($button_auto07[1])[7-1] ) = True and _IsChecked( ($button_auto06[4])[7-1] ) = True Then ; "PK5_VIZ" $phong_num00 = 5 $file_trade01 = $file_trade_server05viz $file_online01 = $file_online01viz05 ; file save load online $file_online02 = $file_online02viz05 ; file save load online GUICtrlSetState( ($button_auto06[4])[7-1], $GUI_UNCHECKED) ElseIf _IsChecked( ($button_auto07[2])[7-1] ) = True and _IsChecked( ($button_auto06[4])[7-1] ) = True Then ; "PK6_VIZ" $phong_num00 = 6 $file_trade01 = $file_trade_server06viz $file_online01 = $file_online01viz06 ; file save load online $file_online02 = $file_online02viz06 ; file save load online GUICtrlSetState( ($button_auto06[4])[7-1], $GUI_UNCHECKED) ElseIf _IsChecked( ($button_auto07[1])[7-1] ) = True and _IsChecked( ($button_select02[5])[7-1] ) = True Then ; "PK7_LYS" $phong_num00 = 7 $file_trade01 = $file_trade_server07lys $file_online01 = $file_online01lys07 ; file save load online $file_online02 = $file_online02lys07 ; file save load online GUICtrlSetState( ($button_select02[5])[7-1], $GUI_UNCHECKED) ElseIf _IsChecked( ($button_auto07[2])[7-1] ) = True and _IsChecked( ($button_select02[5])[7-1] ) = True Then ; "PK8_LYS" $phong_num00 = 8 $file_trade01 = $file_trade_server08lys $file_online01 = $file_online01lys08 ; file save load online $file_online02 = $file_online02lys08 ; file save load online GUICtrlSetState( ($button_select02[5])[7-1], $GUI_UNCHECKED) EndIf GUICtrlSetState( ($button_auto07[3])[7-1], $GUI_CHECKED) ;MsgBox(0, "QUEN CHON SERVER", "$phong_num00 = "&$phong_num00 ) If $trade_case01 = 0 Then _check_trade02($file_trade01,0) ElseIf $trade_case01 = 1 Then _check_trade02($file_trade01,0) For $lp_row = 1 to UBound($data_trade, $UBOUND_ROWS)-1 $data_trade[$lp_row][ 2] = 0 $data_trade[$lp_row][ 4] = 0 $data_trade[$lp_row][ 6] = 0 $data_trade[$lp_row][ 8] = 0 $data_trade[$lp_row][ 10] = 0 Next ElseIf $trade_case01 = 2 Then _check_trade02($file_trade01,0) For $lp_row = 1 to UBound($data_trade, $UBOUND_ROWS)-1 $data_trade[$lp_row][ 1] = 0 $data_trade[$lp_row][ 2] = 0 $data_trade[$lp_row][ 3] = 0 $data_trade[$lp_row][ 4] = 0 $data_trade[$lp_row][ 5] = 0 $data_trade[$lp_row][ 6] = 0 $data_trade[$lp_row][ 7] = 0 $data_trade[$lp_row][ 8] = 0 $data_trade[$lp_row][ 9] = 0 $data_trade[$lp_row][ 10] = 0 Next EndIf GUICtrlSetData($button_submit02, _ArrayToString($data_trade)) ;_ArrayDisplay($data_trade,"$file_trade01="&$file_trade01) ; will show the the full path ;Exit Func _check_trade02($file_trade00,$write00on = 1) $check_File_size = FileGetSize($file_trade00) ;MsgBox($MB_SYSTEMMODAL, "Error", " $file_trade00: " & $file_trade00&" $check_File_size: " & $check_File_size) If $check_File_size > 0 Then Global $data_trade[$rows01][$cols01] _FileReadToArray("c:\acc\"&$file_trade00, $data_trade, $FRTA_NOCOUNT, "|" ) ElseIf $check_File_size < 0+1 Then If $file_trade01 = $file_trade_server01heli Then $phong_name00 = "PK1_HELLI" If $file_trade01 = $file_trade_server02dark Then $phong_name00 = "PK2_DARKE" If $file_trade01 = $file_trade_server03heli Then $phong_name00 = "PK3_HELLI" If $file_trade01 = $file_trade_server04dark Then $phong_name00 = "PK4_DARKE" If $file_trade01 = $file_trade_server05viz Then $phong_name00 = "PK5_VIZ" If $file_trade01 = $file_trade_server06viz Then $phong_name00 = "PK6_VIZ" If $file_trade01 = $file_trade_server07lys Then $phong_name00 = "PK7_LYS" If $file_trade01 = $file_trade_server08lys Then $phong_name00 = "PK8_LYS" Global $data_trade[$rows01][$cols01] = [["PHONG_"&$phong_name00,"CHAR1","P1","CHAR2","P2","CHAR3","P3","CHAR4","P4","CHAR5","P5"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["0","0","0","0","0","0","0","0","0","0","0"], _ ["TONG","0","0","0","0","0","0","0","0","0","0"]] If $write00on = 1 Then _FileWriteFromArray("c:\acc\"&$file_trade01, $data_trade, 0) EndIf ;_ArrayDisplay($data_trade,"PK_TEST_MH1CAY1") ; will show the the full path If $data_trade[0][0] <> "CHAR1 + "&@MON&"/"&@MDAY Then $data_trade[$rows01-1][2] = $data_trade[$rows01-1][1] EndIf EndFunc EndIf For $loopacc = $acc_min to $acc_max ; opton check x reset $dis_portal01[$loopacc] = -1 ; Dis Portal x y Elder Rift $find_1_4[$loopacc] = 1 ;If _IsChecked( ($button_auto06[2])[7-1] ) = True Then ; Select server "Helliquary" ; $name_server01char[$loopacc] = $name_server01xchar ; $name_server00[$loopacc] = $name_server01 ;ElseIf _IsChecked( ($button_auto06[3])[7-1] ) = True Then ; Select server "Darkening of Tristram" ; $name_server01char[$loopacc] = $name_server02xchar ; $name_server00[$loopacc] = $name_server02 ;ElseIf _IsChecked( ($button_auto06[4])[7-1] ) = True Then ; Select server "Darkening of Tristram" ; $name_server01char[$loopacc] = $name_server03xchar ; $name_server00[$loopacc] = $name_server03 ;EndIf $data_server[$loopacc] = StringReplace($data_server[$loopacc], " ", "") ;$server_fix = StringReplace($data_server[$loopacc], " ", "") If _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_BAN Then _GUICtrlListView_SetItemChecked($idCheckbox35_tiled03_03, $loopacc,false) EndIf If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $loopacc ) = True Then ; check point = x $char_select01 = 0 If _IsChecked( ($button_auto04[1])[7-1] ) = True Then $char_select01 = 1 If _IsChecked( ($button_auto04[2])[7-1] ) = True Then $char_select01 = 2 If _IsChecked( ($button_auto04[3])[7-1] ) = True Then $char_select01 = 3 If _IsChecked( ($button_auto04[4])[7-1] ) = True Then $char_select01 = 4 If _IsChecked( ($button_auto04[5])[7-1] ) = True Then $char_select01 = 5 $name_server01char[$loopacc] = $char_select01 If _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_H5 Then $name_server00[$loopacc] = $name_server01 ; "Helliquary" $name_server01char[$loopacc] = $auto_server01char ElseIf _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_D5 Then $name_server00[$loopacc] = $name_server02 ; "Darkening of Tristram" $name_server01char[$loopacc] = $auto_server02char ElseIf _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_V5 Then $name_server00[$loopacc] = $name_server03 ; "Viz-Jun" $name_server01char[$loopacc] = $auto_server03char ElseIf _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_L5 Then $name_server00[$loopacc] = $name_server04 ; "Lysander" $name_server01char[$loopacc] = $auto_server03char EndIf ;If _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_H4D1 and $name_server01char[$loopacc] = 5 Then If _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_H4D1 and $restart_sleep01num[$loopacc] < 1 Then $name_server00[$loopacc] = $name_server02 ; "Darkening of Tristram" $name_server01char[$loopacc] = $name_server02xchar ElseIf _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_H4D1 and $restart_sleep01num[$loopacc] >= 1 Then $name_server00[$loopacc] = $name_server01 ; "Helliquary" $name_server01char[$loopacc] = $name_server01xchar EndIf If _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_D4H1 and $restart_sleep01num[$loopacc] < 1 Then ; fix $name_server00[$loopacc] = $name_server02D4H1 ; "Helliquary" $name_server01char[$loopacc] = $name_server02xchar ElseIf _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_D4H1 and $restart_sleep01num[$loopacc] >= 1 Then ; fix $name_server00[$loopacc] = $name_server01D4H1 ; "Darkening of Tristram" $name_server01char[$loopacc] = $name_server01xchar EndIf If _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_H4L1 and $restart_sleep01num[$loopacc] < 1 Then $name_server00[$loopacc] = $name_server04 ; "Lysander" $name_server01char[$loopacc] = $name_server02xchar ElseIf _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_H4L1 and $restart_sleep01num[$loopacc] >= 1 Then $name_server00[$loopacc] = $name_server01 ; "Helliquary" $name_server01char[$loopacc] = $name_server01xchar EndIf If _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_H4L1 and $restart_sleep01num[$loopacc] < 1 Then ; fix $name_server00[$loopacc] = $name_server02H4L1 ; "Lysander" $name_server01char[$loopacc] = $name_server02xchar ElseIf _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_H4L1 and $restart_sleep01num[$loopacc] >= 1 Then ; fix $name_server00[$loopacc] = $name_server01H4L1 ; "Helliquary" $name_server01char[$loopacc] = $name_server01xchar EndIf If _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_D4L1 and $restart_sleep01num[$loopacc] < 1 Then $name_server00[$loopacc] = $name_server04 ; "Lysander" $name_server01char[$loopacc] = $name_server02xchar ElseIf _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_D4L1 and $restart_sleep01num[$loopacc] >= 1 Then $name_server00[$loopacc] = $name_server02 ; "Darkening of Tristram" $name_server01char[$loopacc] = $name_server01xchar EndIf If _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_D4L1 and $restart_sleep01num[$loopacc] < 1 Then ; fix $name_server00[$loopacc] = $name_server02D4L1 ; "Lysander" $name_server01char[$loopacc] = $name_server02xchar ElseIf _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_D4L1 and $restart_sleep01num[$loopacc] >= 1 Then ; fix $name_server00[$loopacc] = $name_server01D4L1 ; "Darkening of Tristram" $name_server01char[$loopacc] = $name_server01xchar EndIf If _IsChecked( ($button_auto05[1])[7-1] ) = True or _IsChecked( ($button_auto05[2])[7-1] ) = True or _IsChecked( ($button_auto05[3])[7-1] ) = True or _IsChecked( ($button_auto05[4])[7-1] ) = True Then ; $s_check_main_quest01[$loopacc] = 1 > check_trade1 $Blacksmith_num01[$loopacc] = 0 GUICtrlSetState( ($button_auto07[6])[7-1], $GUI_CHECKED) $char_trade01 = 0 If _IsChecked( ($button_auto04[1])[7-1] ) = True Then $char_trade01 = 1 If _IsChecked( ($button_auto04[2])[7-1] ) = True Then $char_trade01 = 2 If _IsChecked( ($button_auto04[3])[7-1] ) = True Then $char_trade01 = 3 If _IsChecked( ($button_auto04[4])[7-1] ) = True Then $char_trade01 = 4 If _IsChecked( ($button_auto04[5])[7-1] ) = True Then $char_trade01 = 5 $name_server01char[$loopacc] = $char_trade01 If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$loopacc] = $str_H4D1 and $name_server01char[$loopacc] = 5 Then ; "Darkening of Tristram" > "Helliquary" $name_server01char[$loopacc] = $name_server02xchar EndIf If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$loopacc] = $str_D4H1 and $name_server01char[$loopacc] = 5 Then ; "Darkening of Tristram" > "Helliquary" $name_server01char[$loopacc] = $name_server02xchar EndIf $s_check_trade01name[$loopacc] = 0 $s_check_trade01[$loopacc] = $char_trade01 $s_check_trade01char[$loopacc] = 0 $s_next01[$loopacc] = 0 $s_codex00on[$loopacc] = 0 $view_array04 = 2 ; 1 = id enemy, 2 = data_trade GUICtrlSetState( ($button_auto01[1])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto01[2])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto01[3])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto01[4])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto04[6])[7-1], $GUI_UNCHECKED) EndIf If _IsChecked( ($button_auto01[1])[7-1] ) = True Then ; $s_check_main_quest01[$loopacc] = 1 > MAIN01 $s_check_main_quest01[$loopacc] = 1 $s_check_train01[$loopacc] = 0 ;GUICtrlSetState( ($button_auto01[2])[7-1], $GUI_UNCHECKED) EndIf ; end if $s_check_main_quest01[$loopacc] = 1 If _IsChecked( ($button_auto01[2])[7-1] ) = True Then ; $s_check_main_quest01[$loopacc] = 0 > train01 $s_check_main_quest01[$loopacc] = 0 $s_check_train01[$loopacc] = 1 ;GUICtrlSetState( ($button_auto01[1])[7-1], $GUI_UNCHECKED) EndIf ; end if $s_check_main_quest01[$loopacc] = 1 If _IsChecked( ($button_auto01[4])[7-1] ) = True Then ; $s_check_main_quest01[$loopacc] = 0 > train02 $s_check_main_quest01[$loopacc] = 0 $s_check_train01[$loopacc] = 0 $s_check_train02[$loopacc] = 1 GUICtrlSetState( ($button_auto01[2])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_select01[3])[7-1], $GUI_UNCHECKED) EndIf ; end if $s_check_main_quest01[$loopacc] = 1 $s_sell01[$loopacc] = 0 ; 3 = select char 2 sell blacksmith 1 = elder rift 0 = tat If _IsChecked( ($button_auto01[3])[7-1] ) = True Then ; $s_check_main_quest01[$loopacc] = 0 > [blacksmith] $s_check_blacksmith01[$loopacc] = 2 $s_sell01[$loopacc] = 3 ; 4 = select char, 3 Identify, 2 sell blacksmith, 1 = elder rift 0 = tat If _IsChecked( ($button_auto04[6])[7-1] ) = True Then $s_sell01[$loopacc] = 4 ; 4 = select char, 3 Identify, 2 sell blacksmith, 1 = elder rift 0 = tat ;GUICtrlSetState( ($button_auto01[2])[7-1], $GUI_UNCHECKED) ElseIf _IsChecked( ($button_auto01[3])[7-1] ) = False Then ; $s_check_main_quest01[$loopacc] = 0 > [blacksmith] $s_check_blacksmith01[$loopacc] = 0 EndIf ; end if $s_check_main_quest01[$loopacc] = 1 If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $loopacc ) = True Then ; check point = x $acc_count01 += 1 EndIf ; end check point = x ;$sleep01[$loopacc] = $time_stop01+1000*($acc_count01-1) If _IsChecked( ($button_auto05[1])[7-1] ) = False and _IsChecked( ($button_auto05[2])[7-1] ) = False and _IsChecked( ($button_auto05[3])[7-1] ) = False and _IsChecked( ($button_auto05[4])[7-1] ) = False Then $battle_sleep01[$loopacc] = $time_stop01+$battle_sleep_next01wait*($acc_count01-1) $battle_log_sleep01[$loopacc] = $time_stop01+$battle_log_sleep01wait*($acc_count01-1) EndIf $restart_sleep01[$loopacc] = $time_stop01+$restart_sleep01wait+60000*($acc_count01-1) $battle_pass00on[$loopacc] = $login_pass_max01 $procHwnd01 = _Process_Open($process[$loopacc]) $Rift_sleep01[$loopacc] = $time_stop01+30000 $Rift_sleep02[$loopacc] = $time_stop01+30000 $s_up_power01[$loopacc] = 0 $a_new_map01[$loopacc] = 0 $s_inventory_full01[$loopacc] = 0 $s_identify01[$loopacc] = 0 $westmarch_lag[$loopacc] = 0 If $rewands_codex00on = 1 Then $s_codex00on[$loopacc] = 0 If $rewands_codex00on = 0 Then $s_codex00on[$loopacc] = 1 ;If $s_codex00on[$loopacc] <> 1 and _IsChecked( ($button_auto05[4])[7-1] ) = True Then $s_codex00on[$loopacc] = 1 If _IsChecked( ($button_auto04[1])[7-1] ) = True or _IsChecked( ($button_auto04[2])[7-1] ) = True or _IsChecked( ($button_auto04[3])[7-1] ) = True or _IsChecked( ($button_auto04[4])[7-1] ) = True or _IsChecked( ($button_auto04[5])[7-1] ) = True Then $tile_battle01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$loopacc] & $loopacc&"\] Battle.net \[#\]]") ;ProcessClose($iPID) WinClose($tile_battle01) EndIf EndIf ; end check point = x Next ; end opton check x reset Sleep(2000) ;_ArrayDisplay($s_check_trade01, "$s_check_trade01") If _IsChecked( ($button_auto07[1])[7-1] ) = True then $t0=0 If _IsChecked( ($button_auto07[2])[7-1] ) = True then $t0=12 run_sandboxie01('C:\Program Files\Sandboxie\Start.exe /terminate_all') For $loop_auto01 = 1 to 99999999 ; vong lap auto ; check if window is on current desktop (not mandatory to own the window) > 0/True = thay handle current desktop 0/False = thay handle other desktop ;$desktop_active01 = VD_IsWindowOnCurrentVirtualDesktop01($hGUI01) ;$desktop_active01 = VD_IsWindowOnCurrentVirtualDesktop01($hGUI01) Local $desktop_active01[6] = [0, 0, 0, 0, 0, 0] ;ConsoleWrite("$bActive = "&$iHresult & "/" & $bActive & @CRLF) ;If $desktop_active01[0] = "Handle_True" and $desktop_active01[1] = "Desktop_True" and $bActive01on = 1 Then ; TraySetState(1) ; $bActive01on = 0 ;ElseIf $desktop_active01[0] = "Handle_True" and $desktop_active01[1] = "Desktop_False" and $bActive01on = 0 Then ; TraySetState(2) ; $bActive01on = 1 ;EndIf ;For $i = 1 To _GUICtrlListView_GetItemCount($idCheckbox35_tiled03_03) - 1 ; kiem tra list x For $i = $acc_min To $acc_max ; kiem tra list x Sleep($cpu_sleep01/$acc_max) ;GUICtrlSetData($idCheckbox35_tiled01_01,"N"&$i&" "&$path_fb_html_list01[$i][1]&" "&$path_fb_html_list01[$i][2]&" = "&_GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ),"") ;GUICtrlSetData($idCheckbox35_tiled01_01,"N"&$i&" "&"1 = "&$path_fb_html_list01[$i][1]&" 2 = "&$path_fb_html_list01[$i][2]&" 3 = "&$path_fb_html_list01[$i][3],"") Global $time_stop01 = int(TimerDiff($time_start01)) If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ) = True and $time_stop01 > $sleep01[$i] Then ; check point = x If $time_stop01 > $restart_view01 Then ;GUICtrlSetData( ($button_update01[5])[7-1] , Int( ($restart_sleep01[$i])/60000) ) ; date GUICtrlSetData( ($button_update01[6])[7-1] , Int( ($restart_sleep01[$i])/60000) - Int( ($time_stop01)/60000) ) ; date $restart_view01 = $time_stop01+10000 EndIf If _IsChecked( ($button_auto07[3])[7-1] ) = True Then ;Send("#{TAB}") ;Sleep(500) ;GUICtrlSetState( ($button_auto07[3])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto07[3])[0]&" DONE " ) EndIf If _IsChecked( ($button_auto07[4])[7-1] ) = True Then For $i = 1 to 24 $tile_sandboxie01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$i] & $i&"\]]") ; $tile_diablo01 ;$desktop_sandboxie01 = VD_GetWindowDesktopId01($tile_sandboxie01) Local $desktop_sandboxie01[6] = [0, 0, 0, 0, 0, 0] ;If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ) = True and $desktop00 = $desktop_sandboxie01[1] Then run_sandboxie01('C:\Program Files\Sandboxie\Start.exe /box:a'&$i&" /terminate") If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ) = True Then ;run_sandboxie01('C:\Program Files\Sandboxie\Start.exe /box:a'& $a_sandbox[$i] & $i&" /terminate") ; sandbox bi chan For $i2 = 1 to 2 $tile_sandboxie01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$i] & $i&"\]]") ; $tile_diablo01 WinClose($tile_sandboxie01) all_find_process_close01("DiabloImmortal.exe",$tile_sandboxie01) Sleep(50) Next EndIf Next Sleep(500) GUICtrlSetState( ($button_auto07[4])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto01[6])[7-1], $GUI_CHECKED) EndIf If _IsChecked( ($button_auto01[6])[7-1] ) = True Then $submit_error01 = 1 $loop_auto01 = 999999999 ; check x stop auto GUICtrlSetState( ($button_auto01[6])[7-1], $GUI_UNCHECKED) Sleep(500) GUICtrlSetState( ($button_auto01[6])[7-1], $GUI_UNCHECKED) GUICtrlSetData($idCheckbox35_tiled02_02,"------------------------------AUTO STOP-------------------------------","") ExitLoop EndIf $tile_battle_log01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$i] & $i&"\] Battle.net Login \[#\]]") $tile_battle01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$i] & $i&"\] Battle.net \[#\]]") $tile_diablo01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$i] & $i&"\] Diablo Immortal \[#\]]") ; $tile_diablo01 $tile_diablo02 = $tile_diablo01 $tile_diablo01 = "LOGIN ON" $tile_battle01error = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$i] & $i&"\] Battle.net Error \[#\]]") $tile_battle_agent01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$i] & $i&"\] Agent.exe \[#\]]") $tile_sandboxie_a00 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$i] & $i&"\] \[#\]]") $tile_battle_new01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$i] & $i&"\] What's New \[#\]]") $tile_diablo01vmp = WinGetHandle("DiabloImmortal.exe") ; $tile_diablo01 file corrupted $tile_battle01update_angent = WinGetHandle("Battle.net Update Agent") ; $tile_diablo01 file corrupted If $tile_battle01update_angent <> 0x0 Then WinClose($tile_battle01update_angent) $battle_sleep01[$i] = $time_stop01+5000 EndIf If $tile_diablo01vmp <> 0x0 Then WinClose($tile_diablo01vmp) $battle_sleep01[$i] = $time_stop01+60000 ;Exit EndIf ;$tile_battle_process01 = WinGetHandle("[CLASS:Sandbox:a"&$i&":Qt5151QWindowIcon]") ;$tile_battle_play01 = WinGetHandle("[CLASS:Sandbox:a"&$i&":Chrome_WidgetWin_0]") ;If $tile_battle_process01 <> 0x0 and $tile_battle_play01 <> 0x0 Then ;WinClose($tile_battle_process01) ;EndIf ;If $tile_battle_new01 <> 0x0 Then ;WinClose($tile_battle_new01) ;EndIf If $time_stop01 > $video_sleep01[$i] Then ; video remove Local $aVideoList = ProcessList("DiabloImmortalVideoPlayer.exe") For $g = 1 To $aVideoList[0][0] If $aVideoList[$g][0] = "DiabloImmortalVideoPlayer.exe" Then ;MsgBox($MB_SYSTEMMODAL, "", $aVideoList[$g][0] & @CRLF & "PID: " & $aVideoList[$g][1]) ProcessClose($aVideoList[$g][1]) EndIf Next $video_sleep01[$i] = $time_stop01+$video_sleep01wait EndIf If $tile_battle01 <> 0x0 Then WinMove($tile_battle01, "", 0, 0, 1000, 640) Global $control01battle = $tile_battle01 ; START WinCapture_cs01 ------------------------------------------------------------------------------------------------------------------------- Global $stream = WinCapture_cs01($control01battle,3,$game_cap_x02,$game_cap_y02,$view_screen01,$game_cap_x01,$game_cap_y01,$g_x,$g_y) ; chay only show gui image WinCapture_ce01($stream[3], $stream[4], $stream[5], $stream[6], $stream[7], $stream[0]) ; remove print image -------------------------- $b_battle_dis01on = 0 ; bật = 1 tắt = 0 vì bị lỗi tắt nhầm diablo liên tục load mãi không xong $b_battle_dis01 = asm_all_pixel04(33,$b_battle_dis01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 24,3,3,1,"948, 74, CB930D, 929, 75, C58D07, 942, 74, CB930D") ; 1 battle vang !, 2 battle vang !, 3 battle vang ! $b_battle_agree01on = 1 $b_battle_agree01 = asm_all_pixel04(35,$b_battle_agree01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 24,3,3,1,"194, 104, 148EFF, 230, 119, FFFFFF, 226, 373, 0074E0, 285, 378, FFFFFF") ; 1 battle logo xanh, 2 battle B trang, 3 xanh Agree, 4 trang Agree $b_battle_agree02on = 1 $b_battle_agree02 = asm_all_pixel04(36,$b_battle_agree02on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 24,3,3,1,"194, 101, FFFFFF, 282, 261, FFFFFF, 194, 266, 0074E0, 293, 332, FFFFFF") ; 1 REVIEW trang, 2 trang Agree, 3 xanh Agree, 4 trang Cancel $b_battle_agree03on = 1 $b_battle_agree03 = asm_all_pixel04(37,$b_battle_agree03on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 24,3,3,1,"194, 211, FFFFFF, 282, 426, FFFFFF, 194, 426, 0074E0, 293, 489, FFFFFF") ; 1 REVIEW trang, 2 trang Agree, 3 xanh Agree, 4 trang Cancel ; ToolTip("N="&$i&" $time_stop01="&$time_stop01&" $b_battle_retry01[0]="&$b_battle_retry01[0]&" $b_battle_retry01[1]="&$b_battle_retry01[1]&" $b_battle_retry01[2]="&$b_battle_retry01[2]&" $b_battle_retry01[3]="&$b_battle_retry01[3]&" $b_battle_retry01[4]="&$b_battle_retry01[4]& @CRLF &" $b_battle_retry01[4]="&$b_battle_retry01[4], 0, 0) If $b_battle_agree01[0] = 1 and $time_stop01 > $battle_log_agree01[$i] Then WinActivate($tile_battle01, "" ) Sleep(2000) For $lp = 1 to 3 Sleep(250) ControlClick($tile_battle01, "", "","left","1",300,340) ; click BATTLE AGREE ;ControlClick($tile_battle01, "", "","left","1",300,360) ; click BATTLE AGREE 300,380 fix -20 -40 Next $battle_log_agree01[$i] = $time_stop01+$battle_log_agree01wait ElseIf $b_battle_agree02[0] = 1 and $time_stop01 > $battle_log_agree01[$i] Then WinActivate($tile_battle01, "" ) Sleep(2000) For $lp = 1 to 3 Sleep(250) ControlClick($tile_battle01, "", "","left","1",300,240) ; click BATTLE AGREE ;ControlClick($tile_battle01, "", "","left","1",300,260) ; click BATTLE AGREE 300,260 fix -20 -40 Next $battle_log_agree01[$i] = $time_stop01+$battle_log_agree01wait ElseIf $b_battle_agree03[0] = 1 and $time_stop01 > $battle_log_agree01[$i] Then WinActivate($tile_battle01, "" ) Sleep(2000) For $lp = 1 to 3 Sleep(250) ControlClick($tile_battle01, "", "","left","1",300,410) ; click BATTLE AGREE ;ControlClick($tile_battle01, "", "","left","1",300,430) ; click BATTLE AGREE 300,260 fix -20 -40 Next $battle_log_agree01[$i] = $time_stop01+$battle_log_agree01wait EndIf If $time_stop01 > $battle_sleep01[$i] Then If $b_battle_dis01[1] = 1 or $b_battle_dis01[2] = 1 or $b_battle_dis01[3] = 1 Then ; tắt khi có dấu ! vàng thông báo ở battle net If _IsChecked( ($button_select02[2])[7-1] ) = True Then _MemoryWrite64($a_local02[$i]+0x4, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x104, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x0, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x10, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x14, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x20, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x24, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 EndIf ; run_sandboxie01('C:\Program Files\Sandboxie\Start.exe /box:'& $a_sandbox[$i] & $i&" /terminate") ; sandbox bi chan For $i2 = 1 to 2 $tile_sandboxie01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$i] & $i&"\]]") ; $tile_diablo01 WinClose($tile_sandboxie01) all_find_process_close01("DiabloImmortal.exe",$tile_sandboxie01) Sleep(50) Next $battle_sleep01[$i] = $time_stop01+$battle_log_dis_sleep01wait $s_game_open01[$i] = 0 $restart_sleep01[$i] = $time_stop01+$restart_sleep01wait $battle_sleep01[$i] = $time_stop01+15000 $tile_diablo01 = "" $battle_pass00on[$i] = $login_pass_max01 If $rewands_codex00on = 1 Then $s_codex00on[$i] = 0 If $rewands_codex00on = 0 Then $s_codex00on[$i] = 1 $westmarch_lag[$loopacc] = 0 $not_server01num[$loopacc] = 0 $not_server01on[$loopacc] = 1 $auto_server01on = 0 EndIf EndIf ; end tắt khi có dấu ! vàng thông báo ở battle net EndIf If $tile_battle_log01 <> 0x0 and $time_stop01 > $battle_log_sleep01[$i] Then Global $control01battle = $tile_battle_log01 ; START WinCapture_cs01 ------------------------------------------------------------------------------------------------------------------------- Global $stream = WinCapture_cs01($control01battle,3,$game_cap_x02,$game_cap_y02,$view_screen01,$game_cap_x01,$game_cap_y01,$g_x,$g_y) ; chay only show gui image WinCapture_ce01($stream[3], $stream[4], $stream[5], $stream[6], $stream[7], $stream[0]) ; remove print image -------------------------- $b_battle_retry01on = 1 $b_battle_retry01 = asm_all_pixel04(40,$b_battle_retry01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 24,3,3,1,"172, 42, 148EFF, 91, 135, FFFFFF, 146, 518, 0074E0, 226, 558, FFFFFF") ; 1 REVIEW LOGO, 2 trang Battle, 3 xanh Retry, 4 xam Continue Offline If $b_battle_retry01[1] = 1 and $b_battle_retry01[2] = 1 and $b_battle_retry01[3] = 1 Then $b_battle_retry01[0] = 1 ; ToolTip("N="&$i&" $time_stop01="&$time_stop01&" $b_battle_retry01[0]="&$b_battle_retry01[0]&" $b_battle_retry01[1]="&$b_battle_retry01[1]&" $b_battle_retry01[2]="&$b_battle_retry01[2]&" $b_battle_retry01[3]="&$b_battle_retry01[3]&" $b_battle_retry01[4]="&$b_battle_retry01[4]& @CRLF &" $b_battle_retry01[4]="&$b_battle_retry01[4], 0, 0) If $b_battle_retry01[0] = 1 and $time_stop01 > $battle_log_agree01[$i] Then WinActivate($tile_battle_log01, "" ) Sleep(2000) For $lp = 1 to 3 Sleep(250) ControlClick($tile_battle_log01, "", "","left","1",158,517-0) ; click BATTLE RETRY ;ControlClick($tile_battle_log01, "", "","left","1",158,517-20) ; click BATTLE RETRY ;ControlClick($tile_battle01, "", "","left","1",158,610) ; click BATTLE RETRY 300,260 fix -20 -40 Next $battle_log_agree01[$i] = $time_stop01+$battle_log_agree01wait EndIf $tile_battle_log01num[$i] += 1 $battle_log_sleep01[$i] = $time_stop01+$battle_log_sleep01wait ElseIf $tile_battle_log01 = 0 and $time_stop01 > $battle_log_sleep01[$i] Then $tile_battle_log01num[$i] = 0 $battle_log_sleep01[$i] = $time_stop01+$battle_log_sleep01wait EndIf ;If $view_tooltip = 1 Then ToolTip("N="&$i&" $time_stop01="&$time_stop01&" $battle_log_sleep01[$i]="&$battle_log_sleep01[$i]&" $tile_battle_log01num[$i]="&$tile_battle_log01num[$i]&" $battle_pass00on[$i]="&$battle_pass00on[$i], 0, 0) $battle_exe_check01 = all_find_process04("Batt") If $battle_exe_check01[0][0] = 1 and $battle_pass00on[$i] > 0 and $tile_battle_log01 <> 0x0 and WinExists($tile_battle_log01) Then ; het lan nhap pass winclose $wPos01 = WinGetPos($tile_battle_log01) $run_battle_exe01 = find_process02($battle01exeX[$i]) $login_exit01 = 0 If $wPos01[3] > 535-20 and $wPos01[3] < 535+28 Then $login_exit01 = 1 If $run_battle_exe01[0] = $battle01exeX[$i] and $login_exit01 = 1 Then ; 370,729 check login 362,661 go pass 362,796 sai pass 362, 821 go pass session has expired 370, 693 go pass, 370,535 can not login For $lp_close = 1 to 3 ProcessClose($battle01exeX[$i]) Next $tile_battle01 = 0x0 $tile_battle_log01 = 0x0 $battle_pass00on[$i]=0 EndIf EndIf If $battle_exe_check01[0][0] = 1 and $battle_pass00on[$i] < 0+1 and $tile_battle_log01 <> 0x0 Then ; het lan nhap pass winclose $wPos01 = WinGetPos($tile_battle_log01) $run_battle_exe01 = find_process02($battle01exeX[$i]) If $wPos01 <> "" Then $login_exit01 = 0 If $wPos01[3] > 661-20 and $wPos01[3] < 661+20 Then $login_exit01 = 1 If $wPos01[3] > 796-20 and $wPos01[3] < 796+20 Then $login_exit01 = 1 If $wPos01[3] > 821-20 and $wPos01[3] < 821+20 Then $login_exit01 = 1 If $wPos01[3] > 693-20 and $wPos01[3] < 693+28 Then $login_exit01 = 1 If $wPos01[3] > 535-20 and $wPos01[3] < 535+28 Then $login_exit01 = 1 ;If $login_exit01 = 0 Then $orc_txt01 = _ORC_UEZ03($tile_battle_log01) ;If $login_exit01 = 0 and $orc_txt01[0] = "close" Then $login_exit01 = 1 If $run_battle_exe01[0] = $battle01exeX[$i] and $login_exit01 = 1 Then ; 370,729 check login 362,661 go pass 362,796 sai pass 362, 821 go pass session has expired 370, 693 go pass, 370,535 can not login For $lp_close = 1 to 3 ProcessClose($battle01exeX[$i]) Next $tile_battle01 = 0x0 $tile_battle_log01 = 0x0 EndIf EndIf EndIf ; end het lan nhap pass winclose ;MsgBox(0, '', " $tile_battle_log01 "&$tile_battle_log01) ;If $tile_battle01 = 0x0 and $tile_battle_log01 <> 0x0 and $time_stop01 > $battle_sleep01[$i] Then ;If $tile_battle01 <> 0x0 and $tile_battle_log01 <> 0x0 and $time_stop01 > $battle_sleep01[$i] Then If $tile_battle_log01 <> 0x0 and $time_stop01 > $battle_sleep01[$i] Then ; battle login pass $wPos01 = WinGetPos($tile_battle_log01) If $wPos01 <> "" Then If $wPos01[3] > 600 Then If $battle_pass00on[$i] > 0 Then ; check gmail dung moi go mat khau $battle_config_size01 = FileGetSize("C:\Users\"&$user_name01&"\AppData\Roaming\Battle.net\Battle.net.config") $find_mail_login01 = 0 ; fix If $battle_config_size01 > 0 Then ; Re-read it - with count _FileReadToArray("C:\Users\"&$user_name01&"\AppData\Roaming\Battle.net\Battle.net.config", $aRetArray) ;_ArrayDisplay($aRetArray, "1D array - count", Default, 8) For $lp_login = 12 to 24 $find_mail_login01 = StringInStr($aRetArray[$lp_login],$data_mail[$i]) If $find_mail_login01 > 0 then ;_sqlite_delete01() ExitLoop EndIf Next EndIf If $find_mail_login01 < 0+1 Then ; $find_mail_login01 < 0+1 ;GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$inputbox01&" "&"LOGIN KO THAY MAIL"&" FAIL " ) ElseIf $find_mail_login01 > 0 Then ; $find_mail_login01 > 0 $w_f01 = 0 If $wPos01[2] > 600 Then $w_f01 = 361 ; WinActivate($tile_battle_log01, "" ) $pass_fix = StringReplace($data_pass[$i], " ", "") ;$time_continue01 = 1 Global $stream = _WinCapture06($tile_battle_log01,3,730,721,$view_screen01,$game_cap_x01,$game_cap_y01,$g_x,$g_y) ; chay only show gui image $b_battle_mail01on = 1 $b_battle_mail01 = _GetColorEX05check($b_battle_mail01on, $stream[2], $stream[10], $stream[11], 1, 22, 5,5, 2, 2, 2, 2 &@CRLF& _ ; $on0, $iWidth, $iHeight, $tPixel, $check0=0, $r0=10, $xs=3, $ys=3 "", 51+$w_f01, 623, "107C10", 51+$w_f01, 623, "0A4F0A", 44+$w_f01, 362, "0074E0", 44+$w_f01, 362, "0074E0" ) ; 1 battle xanh xbox, 2 battle xanh xbox di chuot, 3 xanh continue, 4 xanh continue $b_battle_pass01on = 1 $b_battle_pass01 = _GetColorEX05check($b_battle_pass01on, $stream[2], $stream[10], $stream[11], 1, 22, 5,5, 2, 2, 2, 2 &@CRLF& _ ; $on0, $iWidth, $iHeight, $tPixel, $check0=0, $r0=10, $xs=3, $ys=3 "", 316+$w_f01, 260, "148EFF", 317+$w_f01, 372, "0074E0", 316+$w_f01, 365, "148EFF", 317+$w_f01, 505, "0074E0" ) ; 1 battle mat, 2 xanh login, 3 battle mat sai pass, 4 xanh login sai pass $b_battle_pass02 = _GetColorEX05check($b_battle_pass01on, $stream[2], $stream[10], $stream[11], 1, 22, 5,5, 2, 2, 2, 2 &@CRLF& _ ; $on0, $iWidth, $iHeight, $tPixel, $check0=0, $r0=10, $xs=3, $ys=3 "", 307+$w_f01, 252, "148EFF", 317+$w_f01, 362, "0074E0", 316+$w_f01, 365, "148EFF", 317+$w_f01, 505, "0074E0" ) ; 1 battle mat, 2 xanh login, 3 battle mat sai pass, 4 xanh login sai pass $b_battle_pass03 = _GetColorEX05check($b_battle_pass01on, $stream[2], $stream[10], $stream[11], 1, 22, 5,5, 2, 2, 2, 2 &@CRLF& _ ; $on0, $iWidth, $iHeight, $tPixel, $check0=0, $r0=10, $xs=3, $ys=3 "", 316+$w_f01, 284, "148EFF", 299+$w_f01, 393, "0074E0", 307+$w_f01, 381, "148EFF", 317+$w_f01, 522, "0074E0" ) ; 1 battle mat, 2 xanh login, 3 battle mat sai pass, 4 xanh login sai pass $b_battle_pass04 = _GetColorEX05check($b_battle_pass01on, $stream[2], $stream[10], $stream[11], 1, 22, 5,5, 2, 2, 2, 2 &@CRLF& _ ; $on0, $iWidth, $iHeight, $tPixel, $check0=0, $r0=10, $xs=3, $ys=3 "", 307+$w_f01, 276, "148EFF", 299+$w_f01, 383, "0074E0", 307+$w_f01, 381, "148EFF", 317+$w_f01, 522, "0074E0" ) ; 1 battle mat, 2 xanh login, 3 battle mat sai pass, 4 xanh login sai pass $battle_pass_check01 = 0 If $b_battle_pass01[1] = 1 and $b_battle_pass01[2] = 1 Then $battle_pass_check01 = 1 If $b_battle_pass01[3] = 1 and $b_battle_pass01[4] = 1 Then $battle_pass_check01 = 2 If $b_battle_pass02[1] = 1 and $b_battle_pass02[2] = 1 Then $battle_pass_check01 = 1 If $b_battle_pass03[1] = 1 and $b_battle_pass03[2] = 1 Then $battle_pass_check01 = 3 If $b_battle_pass03[3] = 1 and $b_battle_pass03[4] = 1 Then $battle_pass_check01 = 4 If $b_battle_pass04[1] = 1 and $b_battle_pass04[2] = 1 Then $battle_pass_check01 = 3 _GetColorEX05remove($stream[3], $stream[4], $stream[5], $stream[6], $stream[7], $stream[0]) ; remove print image -------------------------- ;ToolTip("N="&" $b_battle_mail01[1]="&$b_battle_mail01[1]&" $b_battle_mail01[2]="&$b_battle_mail01[2]&" $b_battle_mail01[3]="&$b_battle_mail01[3]&" $b_battle_mail01[4]="&$b_battle_mail01[4]& @CRLF & _ ; "N="&" $b_battle_pass01[1]="&$b_battle_pass01[1]&" $b_battle_pass01[2]="&$b_battle_pass01[2]&" $b_battle_pass01[3]="&$b_battle_pass01[3]&" $b_battle_pass01[4]="&$b_battle_pass01[4]& @CRLF & _ ; "N="&" $b_battle_pass02[1]="&$b_battle_pass02[1]&" $b_battle_pass02[2]="&$b_battle_pass02[2]&" $b_battle_pass02[3]="&$b_battle_pass02[3]&" $b_battle_pass02[4]="&$b_battle_pass02[4], _ ;0, 0) If $b_battle_mail01[1] = 1 and $b_battle_mail01[3] = 1 Then ; khung battle login lech y = -70 > continue x 270 y 370-70 ControlClick($tile_battle_log01, "", "","left","1",270,370-70) ; click mail > continue GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N "&'click mail > continue' ) Sleep(3000) Global $stream = _WinCapture06($tile_battle_log01,3,730,721,$view_screen01,$game_cap_x01,$game_cap_y01,$g_x,$g_y) ; chay only show gui image $b_battle_mail01 = _GetColorEX05check($b_battle_mail01on, $stream[2], $stream[10], $stream[11], 1, 22, 5,5, 2, 2, 2, 2 &@CRLF& _ ; $on0, $iWidth, $iHeight, $tPixel, $check0=0, $r0=10, $xs=3, $ys=3 "", 51+$w_f01, 623, "107C10", 51+$w_f01, 623, "0A4F0A", 44+$w_f01, 362, "0074E0", 44+$w_f01, 362, "0074E0" ) ; 1 battle xanh xbox, 2 battle xanh xbox di chuot, 3 xanh continue, 4 xanh continue $b_battle_pass01on = 1 $b_battle_pass01 = _GetColorEX05check($b_battle_pass01on, $stream[2], $stream[10], $stream[11], 1, 22, 5,5, 2, 2, 2, 2 &@CRLF& _ ; $on0, $iWidth, $iHeight, $tPixel, $check0=0, $r0=10, $xs=3, $ys=3 "", 316+$w_f01, 260, "148EFF", 317+$w_f01, 372, "0074E0", 316+$w_f01, 365, "148EFF", 317+$w_f01, 505, "0074E0" ) ; 1 battle mat, 2 xanh login, 3 battle mat sai pass, 4 xanh login sai pass $b_battle_pass02 = _GetColorEX05check($b_battle_pass01on, $stream[2], $stream[10], $stream[11], 1, 22, 5,5, 2, 2, 2, 2 &@CRLF& _ ; $on0, $iWidth, $iHeight, $tPixel, $check0=0, $r0=10, $xs=3, $ys=3 "", 307+$w_f01, 252, "148EFF", 317+$w_f01, 362, "0074E0", 316+$w_f01, 365, "148EFF", 317+$w_f01, 505, "0074E0" ) ; 1 battle mat, 2 xanh login, 3 battle mat sai pass, 4 xanh login sai pass $b_battle_pass03 = _GetColorEX05check($b_battle_pass01on, $stream[2], $stream[10], $stream[11], 1, 22, 5,5, 2, 2, 2, 2 &@CRLF& _ ; $on0, $iWidth, $iHeight, $tPixel, $check0=0, $r0=10, $xs=3, $ys=3 "", 316+$w_f01, 284, "148EFF", 299+$w_f01, 393, "0074E0", 307+$w_f01, 381, "148EFF", 317+$w_f01, 522, "0074E0" ) ; 1 battle mat, 2 xanh login, 3 battle mat sai pass, 4 xanh login sai pass $b_battle_pass04 = _GetColorEX05check($b_battle_pass01on, $stream[2], $stream[10], $stream[11], 1, 22, 5,5, 2, 2, 2, 2 &@CRLF& _ ; $on0, $iWidth, $iHeight, $tPixel, $check0=0, $r0=10, $xs=3, $ys=3 "", 307+$w_f01, 276, "148EFF", 299+$w_f01, 383, "0074E0", 307+$w_f01, 381, "148EFF", 317+$w_f01, 522, "0074E0" ) ; 1 battle mat, 2 xanh login, 3 battle mat sai pass, 4 xanh login sai pass $battle_pass_check01 = 0 If $b_battle_pass01[1] = 1 and $b_battle_pass01[2] = 1 Then $battle_pass_check01 = 1 If $b_battle_pass01[3] = 1 and $b_battle_pass01[4] = 1 Then $battle_pass_check01 = 2 If $b_battle_pass02[1] = 1 and $b_battle_pass02[2] = 1 Then $battle_pass_check01 = 1 If $b_battle_pass03[1] = 1 and $b_battle_pass03[2] = 1 Then $battle_pass_check01 = 3 If $b_battle_pass03[3] = 1 and $b_battle_pass03[4] = 1 Then $battle_pass_check01 = 4 If $b_battle_pass04[1] = 1 and $b_battle_pass04[2] = 1 Then $battle_pass_check01 = 3 _GetColorEX05remove($stream[3], $stream[4], $stream[5], $stream[6], $stream[7], $stream[0]) ; remove print image -------------------------- EndIf If $battle_pass_check01 = 1 Then ; ControlClick($tile_battle_log01, "", "","left","1",270,262-70) ; click pass ; Sleep(500) ; ControlSend($tile_battle_log01, "", "", "^{a}") ; Sleep(100) ; ControlSend($tile_battle_log01, "", "", "^{a}") ; Sleep(100) ; ControlSend($tile_battle_log01, "", "", $pass_fix) ; Sleep(1000) ; ControlSend($tile_battle_log01, "", "", "{ENTER}") GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N "&'click pass 1' ) ; ExitLoop ElseIf $battle_pass_check01 = 2 Then ; ControlClick($tile_battle_log01, "", "","left","1",270,370-70) ; click sai pass ; Sleep(500) ; ControlSend($tile_battle_log01, "", "", "^{a}") ; Sleep(100) ; ControlSend($tile_battle_log01, "", "", "^{a}") ; Sleep(100) ; ControlSend($tile_battle_log01, "", "", $pass_fix) ; Sleep(1000) ; ControlSend($tile_battle_log01, "", "", "{ENTER}") GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N "&'click pass 2' ) ; ExitLoop ElseIf $battle_pass_check01 = 3 Then ; ControlClick($tile_battle_log01, "", "","left","1",270,284-70) ; click pass ; Sleep(500) ; ControlSend($tile_battle_log01, "", "", "^{a}") ; Sleep(100) ; ControlSend($tile_battle_log01, "", "", "^{a}") ; Sleep(100) ; ControlSend($tile_battle_log01, "", "", $pass_fix) ; Sleep(1000) ; ControlSend($tile_battle_log01, "", "", "{ENTER}") GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N "&'click pass 3' ) ; ExitLoop ElseIf $battle_pass_check01 = 4 Then ; ControlClick($tile_battle_log01, "", "","left","1",270,381-70) ; click sai pass ; Sleep(500) ; ControlSend($tile_battle_log01, "", "", "^{a}") ; Sleep(100) ; ControlSend($tile_battle_log01, "", "", "^{a}") ; Sleep(100) ; ControlSend($tile_battle_log01, "", "", $pass_fix) ; Sleep(1000) ; ControlSend($tile_battle_log01, "", "", "{ENTER}") GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N "&'click pass 4' ) ; ExitLoop EndIf EndIf ; EndIf $find_mail_login01 < 0+1 ; end check gmail dung moi go mat khau $battle_pass00on[$i] -= 1 ;ClipPut($pass_fix) ;Exit EndIf If $tile_battle01 <> 0x0 Then WinClose($tile_battle_log01) ; vao playing new > tat battle login $battle_sleep01[$i] = $time_stop01+$battle_log_pass_sleep01wait EndIf EndIf EndIf ; end battle login pass If $tile_battle01error <> 0x0 Then ;Exit ;WinClose($tile_battle01error) ; ;run_sandboxie01('C:\Program Files\Sandboxie\Start.exe /box:'& $a_sandbox[$i] & $i&" /terminate") ; sandbox bi chan For $i2 = 1 to 2 $tile_sandboxie01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$i] & $i&"\]]") ; $tile_diablo01 WinClose($tile_sandboxie01) all_find_process_close01("DiabloImmortal.exe",$tile_sandboxie01) Sleep(50) Next EndIf If $tile_battle_log01 <> 0x0 and $tile_battle_log01num[$i] > $tile_battle_log01max and $time_stop01 > $battle_log_sleep01[$i] Then ;run_sandboxie01('C:\Program Files\Sandboxie\Start.exe /box:'& $a_sandbox[$i] & $i&" /terminate") ; sandbox bi chan For $i2 = 1 to 2 $tile_sandboxie01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$i] & $i&"\]]") ; $tile_diablo01 WinClose($tile_sandboxie01) all_find_process_close01("DiabloImmortal.exe",$tile_sandboxie01) Sleep(50) Next $battle_pass00on[$i] = 1 $tile_battle_log01num[$i] = 0 $battle_log_sleep01[$i] = $time_stop01+$battle_log_sleep01wait EndIf ;MsgBox(0, '', " $tile_battle01error "&$tile_battle01error) $title_client01 = WinGetTitle("Client Update", "") If $title_client01 <> "" Then $find_client01 = WinGetHandle("Client Update") WinClose($find_client01) ;MsgBox(0, '', " $title_client01 "&$title_client01&" $find_client01 "&$find_client01) EndIf If _IsChecked( ($button_auto04[1])[7-1] ) = False and _IsChecked( ($button_auto04[2])[7-1] ) = False and _IsChecked( ($button_auto04[3])[7-1] ) = False and _IsChecked( ($button_auto04[4])[7-1] ) = False and _IsChecked( ($button_auto04[5])[7-1] ) = False Then $tile_battle_log01 = 0x0 $tile_battle01 = 0x0 $tile_diablo01 = "LOGIN OFF" $battle_sleep01[$i] = 0 $s_game_open01[$i] = 1 EndIf ;MsgBox(0, '', " $tile_battle_log01 "&$tile_battle_log01&" $tile_battle01 "&$tile_battle01&" $tile_diablo01 "&$tile_diablo01&" $tile_diablo02 "&$tile_diablo02) ;If $tile_battle_log01 = 0x0 and $tile_battle01 = 0x0 and $tile_diablo02 = 0x0 and $tile_diablo01 <> "LOGIN OFF" Then Exit ; bat battle.net If $tile_battle_log01 = 0x0 and $tile_battle01 = 0x0 and $tile_diablo02 = 0x0 and $tile_diablo01 <> "LOGIN OFF" and $time_stop01 > $battle_sleep01[$i] Then ; bat battle.net ;FileDelete("D:\Sandbox\"&$user_name01&"\"& $a_sandbox[$i] & $i&"\user\all\Battle.net\Agent\product.db") ; fix new exe battle net update ;run_sandboxie01('C:\Program Files\Sandboxie\Start.exe /box:'& $a_sandbox[$i] & $i&" D:\Diablo Immortal\Diablo Immortal Launcher.exe") ; chan sandbox nen bo $run_battle_exe_on01 = 1 ;$battle_exe01 = all_find_process04("Batt") ;_ArrayDisplay($battle_exe01) Func all_find_process04($file00="MSIAfterburner.exe") ; $login_e00 tim all battle.net.exe $return[0][0] = 0 $return[0][0] = 1 Local $return[30][4] ;$file_list01 = ProcessList($file00) $file_list01 = ProcessList() $file_check01 = "" $all_n01 = 0 ;_ArrayDisplay($file_list01) ;$return[0][0] = "$file_name01" ; file name $return[0][0] = 0 ; file name $return[0][1] = "PID_$file_check01" ; PID $return[0][2] = "$handle0" ; handle $return[0][3] = "$title0" ; title For $i = 1 To $file_list01 [0][0] ;MsgBox($MB_SYSTEMMODAL, "", $file_list01[$i][0] & @CRLF & "PID: " &$file_list01[$i][1]) If StringInStr($file_list01[$i][0],$file00) > 0 and $all_n01 < 30-1 Then ;MsgBox($MB_SYSTEMMODAL, "", $file_list01[$i][0] & @CRLF & "PID: " &$file_list01[$i][1]) $file_name01 = $file_list01[$i][0] $file_check01 = $file_list01[$i][1] $all_n01 += 1 $return[$all_n01][0] = $file_name01 ; file name $return[$all_n01][1] = $file_check01 ; PID $return[0][0] = $all_n01 ; file name ExitLoop EndIf Next ;ConsoleWrite("$file00 = "&$file00&" $file_check01 = "&$file_check01&@CRLF) Return $return EndFunc If $battle_exe_check01[0][0] = 0 and $battle_pass00on[$i] > 0 Then Local $aRetArray DirCopy("D:\Sandbox\"&$user_name01&"\a"&$i&"\user\current\AppData\Roaming\Battle.net\", "C:\Users\"&$user_name01&"\AppData\Roaming\Battle.net\", $FC_OVERWRITE) Sleep(500) $battle_config_size01 = FileGetSize("C:\Users\"&$user_name01&"\AppData\Roaming\Battle.net\Battle.net.config") $find_mail_login01 = 0 ; fix If $battle_config_size01 > 0 Then ; Re-read it - with count _FileReadToArray("C:\Users\"&$user_name01&"\AppData\Roaming\Battle.net\Battle.net.config", $aRetArray) ; _ArrayDisplay($aRetArray, "1D array - count", Default, 8) If UBound($aRetArray) > 24 Then For $lp_login = 12 to 24 $find_mail_login01 = StringInStr($aRetArray[$lp_login],$data_mail[$i]) If $find_mail_login01 > 0 then ExitLoop Next EndIf EndIf $run_battle_exe01 = find_process02($battle01exeX[$i]) ;$diablo_not_title01 = find_process_no_title_01("DiabloImmortal.exe","","Diablo Immortal") $diablo_not_title01 = find_process_no_title_02("DiabloImmortal.exe") ; If $find_mail_login01 > 0 then ; MsgBox($MB_SYSTEMMODAL, "", "$find_mail_login01= "&$find_mail_login01 & @CRLF & "$run_battle_exe01[0] " &$run_battle_exe01[0]& @CRLF & "$diablo_not_title01 "& $diablo_not_title01 ) ; EndIf If $find_mail_login01 < 0+1 and $run_battle_exe01[0] = "" and $diablo_not_title01 = 0 Then ;If $find_mail_login01 < 0+1 and $run_battle_exe01[0] = "" and $diablo_not_title01[0][0] = 0 Then ;GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$i&" "&"LOGIN KO THAY MAIL"&" FAIL " ) ElseIf $find_mail_login01 > 0 and $run_battle_exe01[0] = "" and $diablo_not_title01 = 0 and _IsChecked( ($button_auto05[2])[7-1] ) = False and _IsChecked( ($button_auto05[1])[7-1] ) = False and _IsChecked( ($button_auto05[3])[7-1] ) = False and _IsChecked( ($button_auto05[4])[7-1] ) = False Then ;ElseIf $find_mail_login01 > 0 and $run_battle_exe01[0] = "" and $diablo_not_title01[0][0] = 0 and _IsChecked( ($button_auto05[2])[7-1] ) = False and _IsChecked( ($button_auto05[1])[7-1] ) = False and _IsChecked( ($button_auto05[3])[7-1] ) = False and _IsChecked( ($button_auto05[4])[7-1] ) = False Then ProcessClose("Agent.exe") run_sandboxie01("C:\Program Files (x86)\Battle.net\"&$battle01exeX[$i]) EndIf ; end run battle.net copy config EndIf ; end check da chay battle.exe chua $battle_sleep01[$i] = $time_stop01+$battle_log_play01wait+($i - $acc_min)*1000 ElseIf $tile_battle_log01 = 0x0 and $tile_battle01 <> 0x0 and $tile_diablo02 = 0x0 and $tile_diablo01 <> "LOGIN OFF" and $tile_sandboxie_a00 = "" and $time_stop01 > $battle_sleep01[$i] Then ; bat battle.net ;FileDelete("D:\Sandbox\"&$user_name01&"\"& $a_sandbox[$i] & $i&"\drive\D\Diablo Immortal\Engine\Binaries\Win64\DiabloImmortal.exe") ; fix new exe WinMove($tile_battle01, "", 0, 0, 1000, 640) $diablo_not_title01 = find_process_no_title_02("DiabloImmortal.exe") If $diablo_not_title01 = 0 Then ;If $diablo_not_title01[0][0] = 0 Then ;ControlClick($tile_battle01, "", "","left","1",142,62) ; click games ;ControlClick($tile_battle01, "", "","left","1",291,54) ; click game + 1 tab For $lp_click = 1 to 3 ControlClick($tile_battle01, "", "","left","1",103,116) ; click playing now diablo Sleep(500) Next ControlClick($tile_battle01, "", "","left","1",47,555) ; click playing now EndIf $battle_sleep01[$i] = $time_stop01+23000 EndIf ;$diablo_not_title01 = find_process_no_title_02("DiabloImmortal.exe") Func find_process_no_title_02($exeName="DiabloImmortal.exe") Local $procList = ProcessList($exeName) If @error Or $procList[0][0] = 0 Then Return 0 ; chưa có process nào For $i = 1 To $procList[0][0] Local $pid = $procList[$i][1] Local $winList = WinList() Local $hasWindow = False For $j = 1 To $winList[0][0] If WinGetProcess($winList[$j][1]) = $pid And BitAND(WinGetState($winList[$j][1]), 2) Then $hasWindow = True Local $title = $winList[$j][0] ; nếu cửa sổ chưa có title → coi như đang load If $title = "" Or $title = "Diablo Immortal" Then Return 1 EndIf EndIf Next ; nếu process có PID nhưng chưa có cửa sổ nào → cũng coi là đang load If Not $hasWindow Then Local $stats = ProcessGetStats($pid) ;MsgBox($MB_SYSTEMMODAL, "", "$stats= "&$stats & @CRLF & "$stats[0] " &$stats[0] ) If IsArray($stats) And $stats[0] < 1024 * (68 + 1) Then ; < DiabloImmortal.exe mem 68 K = 68mb = 1024* 68 Unknown ProcessClose($pid) Return 3 ; tiến trình bất thường Else Return 1 ; đang load nhưng chưa tạo cửa sổ EndIf EndIf Next Return 0 ; không có process nào đang load EndFunc ;$diablo_not_title01 = find_process_no_title_02("DiabloImmortal.exe") Func find_process_no_title_02fix($exeName="DiabloImmortal.exe") Local $procList = ProcessList($exeName) If @error Or $procList[0][0] = 0 Then Return 0 ; chưa có process nào For $i = 1 To $procList[0][0] Local $pid = $procList[$i][1] Local $winList = WinList() Local $hasWindow = False For $j = 1 To $winList[0][0] If WinGetProcess($winList[$j][1]) = $pid And BitAND(WinGetState($winList[$j][1]), 2) Then $hasWindow = True Local $title = $winList[$j][0] ; nếu cửa sổ chưa có title → coi như đang load If $title = "" Then Return 1 EndIf Next ; nếu process có PID nhưng chưa có cửa sổ nào → cũng coi là đang load If Not $hasWindow Then Return 1 Next Return 0 ; không có process nào đang load EndFunc ; $diablo_not_title01 = find_process_no_title_01("DiabloImmortal.exe","","Diablo Immortal") Func find_process_no_title_01($file00="MSIAfterburner.exe",$no_title01="",$no_title02="Diablo Immortal") ; $login_e00 Local $return[30][4] $file_list01 = ProcessList($file00) $file_check01 = "" $all_n01 = 0 ;$return[0][0] = "$file_name01" ; file name $return[0][0] = 0 ; file name $return[0][1] = "PID_$file_check01" ; PID $return[0][2] = "$handle0" ; handle $return[0][3] = "$title0" ; title For $i = 1 To $file_list01 [0][0] ;MsgBox($MB_SYSTEMMODAL, "", $file_list01[$i][0] & @CRLF & "PID: " &$file_list01[$i][1]) If $file_list01[$i][0] = $file00 Then $file_name01 = $file_list01[$i][0] $file_check01 = $file_list01[$i][1] $aWinList = WinList() For $A = 1 To $aWinList[0][0] If WinGetProcess($aWinList[$A][1]) = $file_check01 And BitAND(WinGetState($aWinList[$A][1]), 2) and $aWinList[$A][0] = $no_title01 Then $all_n01 += 1 $handle0 = $aWinList[$A][1] $title0 = $aWinList[$A][0] ;MsgBox($MB_SYSTEMMODAL, "", "file name= "&$file_name01 & @CRLF & "PID: " &$file_check01& @CRLF & "handle: "& $handle0 & @CRLF &"title: "& $title0 ) $return[$all_n01][0] = $file_name01 ; file name $return[$all_n01][1] = $file_check01 ; PID $return[$all_n01][2] = $handle0 ; handle $return[$all_n01][3] = $title0 ; title $return[0][0] = 1 ; file name Return $return ElseIf WinGetProcess($aWinList[$A][1]) = $file_check01 And BitAND(WinGetState($aWinList[$A][1]), 2) and $aWinList[$A][0] = $no_title02 Then $all_n01 += 1 $handle0 = $aWinList[$A][1] $title0 = $aWinList[$A][0] ;MsgBox($MB_SYSTEMMODAL, "", "file name= "&$file_name01 & @CRLF & "PID: " &$file_check01& @CRLF & "handle: "& $handle0 & @CRLF &"title: "& $title0 ) $return[$all_n01][0] = $file_name01 ; file name $return[$all_n01][1] = $file_check01 ; PID $return[$all_n01][2] = $handle0 ; handle $return[$all_n01][3] = $title0 ; title $return[0][0] = 1 ; file name Return $return EndIf Next EndIf Next ;ConsoleWrite("$file00 = "&$file00&" $file_check01 = "&$file_check01&@CRLF) Return $return EndFunc Func _battle_diablo_title02($handle0="$battle_exe01[1][2]") $return = "" ;$aWinGetHandle05 = WinGetHandle("Diablo Immortal") $aWinGetHandle05 = $handle0 If $aWinGetHandle05 <> "" Then $iPid05 = WinGetProcess($aWinGetHandle05) Global $procHwnd05 = _Process_Open($iPid05) $hook_SDL2_dll = dec(hex(_Module_GetBaseAddress($procHwnd05, "SDL2.dll"))) $g_address01 = _MemoryRead64($hook_SDL2_dll+0x0024B168, $procHwnd05, 'byte[8]',"dec") ; rsi $g_address01offset = _MemoryRead64("0x"&Hex($g_address01+0x8F8), $procHwnd05, 'byte[8]',"hex") ; rsi $g_address01offset = _MemoryRead64("0x"&Hex($g_address01offset+0x1760), $procHwnd05, 'byte[8]',"hex") ; rsi $g_address01offset = _MemoryRead64("0x"&Hex($g_address01offset+0x2D8), $procHwnd05, 'byte[8]',"hex") ; rsi $g_address01text = _MemoryRead6401( "0x"&Hex($g_address01offset+0x978) , $procHwnd05, 'wchar[14]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $return = $g_address01text ;MsgBox($MB_SYSTEMMODAL, "$game_hookX1 "&$aWinGetHandle05 , "$game_hookX1 " & Hex($hook_SDL2_dll) & "$g_address01 " & "$g_address01text " & $g_address01text ) Return $return EndIf EndFunc Func all_find_process03($file00="MSIAfterburner.exe") ; $login_e00 Local $return[30][4] $file_list01 = ProcessList($file00) $file_check01 = "" $all_n01 = 0 $return[0][0] = "$file_name01" ; file name $return[0][1] = "PID_$file_check01" ; PID $return[0][2] = "$handle0" ; handle $return[0][3] = "$title0" ; title For $i = 1 To $file_list01 [0][0] ;MsgBox($MB_SYSTEMMODAL, "", $file_list01[$i][0] & @CRLF & "PID: " &$file_list01[$i][1]) If $file_list01[$i][0] = $file00 Then $file_name01 = $file_list01[$i][0] $file_check01 = $file_list01[$i][1] $aWinList = WinList() For $A = 1 To $aWinList[0][0] If WinGetProcess($aWinList[$A][1]) = $file_check01 And BitAND(WinGetState($aWinList[$A][1]), 2) Then $all_n01 += 1 $handle0 = $aWinList[$A][1] $title0 = $aWinList[$A][0] ;MsgBox($MB_SYSTEMMODAL, "", "file name= "&$file_name01 & @CRLF & "PID: " &$file_check01& @CRLF & "handle: "& $handle0 & @CRLF &"title: "& $title0 ) $return[$all_n01][0] = $file_name01 ; file name $return[$all_n01][1] = $file_check01 ; PID $return[$all_n01][2] = $handle0 ; handle $return[$all_n01][3] = $title0 ; title ;Return $return EndIf Next EndIf Next ;ConsoleWrite("$file00 = "&$file00&" $file_check01 = "&$file_check01&@CRLF) Return $return EndFunc ;If $tile_diablo02 <> 0x0 and $time_stop01 > $battle_sleep01[$i] Then ; $not01on = _NotResponding($i, $tile_diablo02) ; If $not01on = 1 Then ; $battle_sleep01[$i] = $time_stop01+25000 ; $tile_diablo02 = 0x0 ; EndIf ;EndIf $sandboxie_restart = 0 If $tile_battle01 <> 0x0 or $tile_battle_log01 <> 0x0 or $tile_diablo02 <> 0x0 Then $sandboxie_restart = 1 ;If $tile_battle_log01 = 0x0 and $tile_diablo02 <> 0x0 and $tile_diablo01 <> "LOGIN OFF" and $time_stop01 > $restart_sleep01[$i] and _IsChecked( ($button_auto04[6])[7-1] ) = True Then ; $tile_diablo01 restart If $sandboxie_restart = 1 and $tile_diablo01 <> "LOGIN OFF" and $time_stop01 > $restart_sleep01[$i] and _IsChecked( ($button_auto04[6])[7-1] ) = True Then ; $tile_diablo01 restart ;WinClose($tile_diablo02) If _IsChecked( ($button_select02[2])[7-1] ) = True Then _MemoryWrite64($a_local02[$i]+0x4, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x104, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x0, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x10, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x14, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x20, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x24, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 EndIf ;run_sandboxie01('C:\Program Files\Sandboxie\Start.exe /box:'& $a_sandbox[$i] & $i&" /terminate") ; sandbox bi chan For $i2 = 1 to 2 $tile_sandboxie01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$i] & $i&"\]]") ; $tile_diablo01 WinClose($tile_sandboxie01) all_find_process_close01("DiabloImmortal.exe",$tile_sandboxie01) Sleep(50) Next $s_game_open01[$i] = 0 $restart_sleep01[$i] = $time_stop01+$restart_sleep01wait $battle_sleep01[$i] = $time_stop01+15000 $tile_diablo01 = "" $battle_pass00on[$i] = $login_pass_max01 If $rewands_codex00on = 1 Then $s_codex00on[$i] = 0 If $rewands_codex00on = 0 Then $s_codex00on[$i] = 1 $westmarch_lag[$loopacc] = 0 $not_server01num[$loopacc] = 0 $not_server01on[$loopacc] = 1 $auto_server01on = 0 If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto03[4])[7-1] ) = False Then $auto_server01on = 1 If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$i] = $str_H4D1 Then $auto_server01on = 1 If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$i] = $str_D4H1 Then $auto_server01on = 1 If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$i] = $str_H4L1 Then $auto_server01on = 1 If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$i] = $str_D4L1 Then $auto_server01on = 1 If $auto_server01on = 1 and _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_H4D1 and $name_server01char[$i] = $name_server02xchar Then ; "Darkening of Tristram" > "Helliquary" $name_server00[$i] = $name_server01 $name_server01char[$i] = $name_server01xchar ; If $restart_sleep01num[$i] = 0 Then $restart_sleep01num[$i] += 2 EndIf If $auto_server01on = 1 and _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_D4H1 and $name_server01char[$i] = $name_server02xchar Then ; "Helliquary" > "Darkening of Tristram" $name_server00[$i] = $name_server01D4H1 $name_server01char[$i] = $name_server01xchar ; If $restart_sleep01num[$i] = 0 Then $restart_sleep01num[$i] += 2 EndIf If $auto_server01on = 1 and _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_H4L1 and $name_server01char[$i] = $name_server02xchar Then ; "Helliquary" > "Lysander" $name_server00[$i] = $name_server01H4L1 $name_server01char[$i] = $name_server01xchar ; If $restart_sleep01num[$i] = 0 Then $restart_sleep01num[$i] += 2 EndIf If $auto_server01on = 1 and _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_D4L1 and $name_server01char[$i] = $name_server02xchar Then ; "Darkening of Tristram" > "Lysander" $name_server00[$i] = $name_server01D4L1 $name_server01char[$i] = $name_server01xchar ; If $restart_sleep01num[$i] = 0 Then $restart_sleep01num[$i] += 2 EndIf If $auto_server01on = 1 and _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True Then ; "Darkening of Tristram" > "Helliquary" $restart_sleep01num[$i] += 1 EndIf If $auto_server01on = 1 and _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_H4D1 and $restart_sleep01num[$i] > 4 Then ; "Darkening of Tristram" > "Helliquary" $restart_sleep01num[$i] = 0 $name_server00[$i] = $name_server02 $name_server01char[$i] = $name_server02xchar EndIf If $auto_server01on = 1 and _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_D4H1 and $restart_sleep01num[$i] > 4 Then ; "Helliquary" > "Darkening of Tristram" $restart_sleep01num[$i] = 0 $name_server00[$i] = $name_server02D4H1 $name_server01char[$i] = $name_server02xchar EndIf If $auto_server01on = 1 and _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_H4L1 and $restart_sleep01num[$i] > 4 Then ; "Lysander" > "Helliquary" $restart_sleep01num[$i] = 0 $name_server00[$i] = $name_server02H4L1 $name_server01char[$i] = $name_server02xchar EndIf If $auto_server01on = 1 and _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_D4L1 and $restart_sleep01num[$i] > 4 Then ; "Darkening of Tristram" > "Helliquary" $restart_sleep01num[$i] = 0 $name_server00[$i] = $name_server02D4L1 $name_server01char[$i] = $name_server02xchar EndIf EndIf If $s_game_open01[$i] = 1 and $tile_battle01 <> 0x0 and $time_stop01 > $battle_sleep01[$i] Then WinClose($tile_battle01) ControlSend($tile_battle01, "", "", "{ENTER}") WinClose($tile_battle01) ControlSend($tile_battle01, "", "", "{ENTER}") $battle_sleep01[$i] = $time_stop01+15000 EndIf ;If _IsChecked( ($button_auto01[4])[7-1] ) = True and $s_game_open01[$i] = 1 and $tile_diablo02 <> 0x0 and $tile_diablo01 <> "LOGIN OFF" and $time_stop01 > $screen_sleep01[$i] Then If _IsChecked( ($button_auto01[4])[7-1] ) = True and $s_game_open01[$i] = 1 and $tile_diablo02 <> 0x0 and $time_stop01 > $screen_sleep01[$i] Then nox_move03($i, $tile_diablo02) _asm_hook01($i) $battle_sleep01[$i] = 0 $screen_sleep01[$i] = $time_stop01+$screen_sleep01wait EndIf If $tile_battle_log01 = 0x0 and $tile_diablo02 <> 0x0 and $time_stop01 > $battle_sleep01[$i] Then ; $tile_diablo01 Sleep($cpu_sleep01/$acc_max) If $tile_diablo02 <> $cuaso[$i] or $s_game_open01[$i] = 0 and $tile_diablo01 <> "LOGIN OFF" Then ; kiem tra handle game duoc bat lai WinClose($tile_battle01) ControlSend($tile_battle01, "", "", "{ENTER}") WinClose($tile_battle01) ControlSend($tile_battle01, "", "", "{ENTER}") nox_move03($i, $tile_diablo02) _asm_hook01($i) $s_game_open01[$i] = 1 GUICtrlSetData($idCheckbox35_tiled02_02,"------------------------------AUTO ASM_HOOK-------------------------","") EndIf ; end kiem tra handle game duoc bat lai Global $i_shadow = $i ; save $i If _IsChecked( ($button_select01[4])[7-1] ) = True Then $aWinInTaskBar = all_task_bar01() ;all_set_title01($aWinInTaskBar,"LDP") nox_move02() GUICtrlSetState( ($button_select01[4])[7-1], $GUI_UNCHECKED) EndIf If _IsChecked( ($button_select01[3])[7-1] ) = True and _IsPressed("04") = True Then ; check x all mouse GUICtrlSetData($idCheckbox35_tiled01_01, "") $g_tile01 = WinGetTitle("","") $find_tile01 = StringInStr($g_tile01, $default_title01) If $find_tile01 > 0 then ; find title Local $aPos = MouseGetPos() $mx = Int($aPos[0]) $my = Int($aPos[1]) Local $aPos = WinGetPos("[ACTIVE]") $wx = $aPos[0] $wy = $aPos[1] $xx = $mx $yy = $my GUICtrlSetData($idCheckbox35_tiled01_01,"$mx = "&$mx&" $my = "&$my&" $wx = "&$wx&" $wy = "&$wy&" $xx = "&$xx&" $yy = "&$yy,"") ;For $i = 1 To _GUICtrlListView_GetItemCount($idCheckbox35_tiled03_03) - 1 ; kiem tra list x For $i = $acc_min To $acc_max ; kiem tra list x ;GUICtrlSetData($idCheckbox35_tiled01_01,"N"&$i&" "&$path_fb_html_list01[$i][1]&" "&$path_fb_html_list01[$i][2]&" = "&_GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ),"") ;GUICtrlSetData($idCheckbox35_tiled01_01,"N"&$i&" "&"1 = "&$path_fb_html_list01[$i][1]&" 2 = "&$path_fb_html_list01[$i][2]&" 3 = "&$path_fb_html_list01[$i][3],"") If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ) = True Then ; check point = x Global $loopacc = $i Global $control01 = $cuaso[$loopacc] ;Global $control01 = WinGetTitle($m4_cuaso01[$loopacc], "") GUICtrlSetData($idCheckbox35_tiled01_01,"$loopacc = "&$loopacc&" $control01 = "&$control01&" $xx = "&$xx&" $yy = "&$yy,"") ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$xx,$yy) ; click item 1x1y EndIf ; end check point = x Next ; end kiem tra list x EndIf ; end find title ;Sleep(50) EndIf ; end check x all mouse Global $i = $i_shadow ; load $i Global $loopacc = $i Global $control01 = $cuaso[$loopacc] $procHwnd01 = _Process_Open($process[$loopacc]) $game_hookX[$loopacc] = dec(hex(_Module_GetBaseAddress($procHwnd01, "DiabloImmortal.exe"))) ;$control02 = WinGetHandle("[REGEXPTITLE:\[#\] \[a"&1&"\] Diablo Immortal \[#\]]") If _IsChecked( ($button_auto02[6])[7-1] ) = True and $time_stop01 > $sleep05[$loopacc] Then ; time reset captcha $s_check_captcha01[$loopacc] = 1 $s_num_captcha01[$loopacc] = 0 $s_post_captcha01[$loopacc] = "" $s_get_captcha01[$loopacc] = "" $s_text_captcha01[$loopacc] = "" $s_wait_captcha01[$loopacc] = 1 $s_reset_captcha01[$loopacc] = 1 $sleep05[$loopacc] = $time_stop01+$sleep_captcha01 EndIf ; end time reset captcha $b_server_wait01on = 1 $case_main01 = dim01('1, "", 0, 0, 0, 0, 0, 0') ; [on, name, x1, y1, sleep, x2, y2, $s2 ] $case_train01 = dim01('1, "", 0, 0, 0, 0, 0, 0') ; [on, name, x1, y1, sleep, x2, y2, $s2 ] $case_all01 = dim01('1, "", 0, 0, 0, 0, 0, 0') ; [on, name, x1, y1, sleep, x2, y2, $s2 ] $case_click01 = dim01('1, "", 0, 0, 0, 0, 0, 0') ; [on, name, x1, y1, sleep, x2, y2, $s2 ] $case_nhan_thuong01 = dim01('1, "", 0, 0, 0, 0, 0, 0') ; [on, name, x1, y1, sleep, x2, y2, $s2 ] ;Global $stream = _WinCapture06($control01,3,$game_cap_x02,$game_cap_y02,$view_screen01,$game_cap_x01,$game_cap_y01,$g_x,$g_y) ; chay only show gui image ; START WinCapture_cs01 ------------------------------------------------------------------------------------------------------------------------- Global $stream = WinCapture_cs01($control01,3,$game_cap_x02,$game_cap_y02,$view_screen01,$game_cap_x01,$game_cap_y01,$g_x,$g_y) ; chay only show gui image WinCapture_ce01($stream[3], $stream[4], $stream[5], $stream[6], $stream[7], $stream[0]) ; remove print image -------------------------- ; allway use $b_game3d01on = 1 ;$b_game3d01 = _GetColorEX05check($b_game3d01on, $stream[2], $stream[10], $stream[11], 1, 26, 2,2, 2, 2, 2, 2 &@CRLF& _ ; $on0, $iWidth, $iHeight, $tPixel, $check0=0, $r0=10, $xs=3, $ys=3 ;"", 6, 45, "040403", 7, 53, "800E14", 9, 41, "200B09", 690, 7, "42231E") ; 1 black HP, 2 red HP, 3 do den lv , 4 red den MENU $b_game3d01 = asm_all_pixel04(1,$b_game3d01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 26,5,5,1,"6, 45, 040403, 7, 53, 821013, 690, 7, 472624") ; 1 black HP, 2 red HP, 3 red den MENU If $b_game3d01[0] = 0 Then $b_game3d01 = asm_all_pixel04(1,$b_game3d01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 26,5,5,1,"6, 45, 080604, 7, 53, 821013, 690, 7, 472624") ; 1 black HP, 2 red HP, 3 red den MENU EndIf ; If $b_game3d01[0] = 0 Then ; $b_game3d01 = asm_all_pixel04(1,$b_game3d01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 26,5,5,1,"7, 45, 201811, 7, 53, 701014, 690, 7, 44231E") ; 1 black HP, 2 red HP, 3 red den MENU ; EndIf ;$k = $b_game3d01 ; ToolTip("$cuaso[$loopacc]="&$cuaso[$loopacc]&" $control01="&$control01&" $k[0]="&$k[0]&" $k[1]="&$k[1]&" $k[2]="&$k[2]&" $k[3]="&$k[3]&" $k[4]="&$k[4]&" $k[5]="&$k[5]&" $k[6]="&$k[6], 0, 0) $b_X_all01on = 1 If $b_game3d01[0] = 1 Then $b_X_all01on = 0 $b_X_497_185 = asm_all_pixel04(2,$b_X_all01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 26,4,4,1,"497, 185, FEFEE9, 501, 184, 883314") ; 1 trang X, 2 cam X If $b_X_497_185[0] = 1 Then $b_X_all01on = 0 $b_X_680_67 = asm_all_pixel04(3,$b_X_all01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,3,3,1,"680, 67, F8F8D1, 685, 66, 853313") ; 1 trang X, 2 cam X If $b_X_680_67[0] = 1 Then $b_X_all01on = 0 $b_X_680_72 = asm_all_pixel04(4,$b_X_all01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,3,3,1,"680, 72, FCFCD4, 686, 72, 853313") ; 1 trang X, 2 cam X $b_X_684_77 = asm_all_pixel04(5,$b_X_all01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,3,3,1,"684, 77, F2ECD6, 691, 77, 893113") ; 1 trang X, 2 cam X If $b_X_680_72[0] = 1 or $b_X_684_77[0] = 1 Then $b_X_all01on = 0 $b_X_652_109 = asm_all_pixel04(6,$b_X_all01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,4,4,1,"652, 109, FFFFD6, 658, 109, 863313") ; 1 trang X, 2 cam X ;$b_exit01 = _GetColorEX05check(0, $stream[2], $stream[10], $stream[11], 1, 26, 3,3, 2, 2, 2, 2 &@CRLF& _ ; $on0, $iWidth, $iHeight, $tPixel, $check0=0, $r0=10, $xs=3, $ys=3 ;"", 645, 205, "FFFFE4", 639, 204, "79280D", 324, 328, "522821", 396, 335, "DFCFA9") ; 1 trang X, 2 cam X, 3 red den CANCEL, 4 red L CANCEL $b_exit01on = 1 If $b_game3d01[0] = 1 or $b_X_497_185[0] = 0 Then $b_exit01on = 0 $b_exit01 = asm_all_pixel04(7,$b_exit01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 26,4,4,1,"287, 288, DFCBA5, 417, 283, BDA283, 471, 284, 3D1F1B, 349, 282, 1D1A14") ; 1 O NO, 2 Y YES , 3 do YES, 4 nau CT $b_train_hp02on = 1 If $b_game3d01[0] = 0 or $b_exit01[0] = 1 Then $b_train_hp02on = 0 $b_train_hp02 = asm_all_pixel04(8,$b_train_hp02on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,4,4,1,"682, 365, DC1B16, 679, 359, 0E0103, 670, 364, 86120C, 675, 352, EB1912") ; 1 red HP potion1, 2 den HP CT potion, 3 red HP CT potion, 4 red HP CT potion If $b_train_hp02[1] = 1 and $b_train_hp02[2] = 1 and $b_train_hp02[3] = 1 Then $b_train_hp02[0] = 1 If $b_train_hp02[4] = 1 and $b_train_hp02[2] = 1 and $b_train_hp02[3] = 1 Then $b_train_hp02[0] = 1 ;$b_train_skill_limit01on = 0 ;If $b_game3d01[0] = 0 or $b_exit01[0] = 1 Then $b_train_skill_limit01on = 0 ;$b_train_skill_limit01 = _GetColorEX05check($b_train_skill_limit01on, $stream[2], $stream[10], $stream[11], 1, 30, 2,2, 2, 2, 2, 2 &@CRLF& _ ; $on0, $iWidth, $iHeight, $tPixel, $check0=0, $r0=10, $xs=3, $ys=3 ;"", 587, 433, "A48D36", 592, 424, "6ADEC4",585, 421, "010202") ; 1 vang R, 2 xanh, 3 den $b_quest_chat01on = 1 If $b_game3d01[0] = 1 or $b_exit01[0] = 1 or $b_X_497_185[0] = 1 or _IsChecked( ($button_auto01[3])[7-1] ) = True Then $b_quest_chat01on = 0 $b_quest_chat01 = asm_all_pixel04(9,$b_quest_chat01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,3,3,1,"678, 23, AF9F71, 680, 15, 030304, 669, 23, 030405, 681, 34, 020304") ; 1 vang |>, 2 den CU, 3 den CR, 4 den CL $b_quest_chat02on = 1 If $b_game3d01[0] = 1 or $b_exit01[0] = 1 or $b_X_497_185[0] = 1 Then $b_quest_chat02on = 0 $b_quest_chat02 = asm_all_pixel04(10,$b_quest_chat02on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,3,3,1,"64, 369, 060400, 376, 377, CCBDA0, 640, 368, 392A20, 324, 443, B8A88A, 529, 345, FDEBBF") ; 1 xam RU, 2 vang giay CU, 3 xam LU, 4 vang giay CD, 5 S services If $b_quest_chat02[1] = 1 and $b_quest_chat02[2] = 1 and $b_quest_chat02[3] = 1 and $b_quest_chat02[4] = 1 and $b_quest_chat02[5] = 0 Then $b_quest_chat02[0] = 1 If $b_quest_chat02[1] = 1 and $b_quest_chat02[2] = 1 and $b_quest_chat02[3] = 1 and $b_quest_chat02[4] = 1 and $b_quest_chat02[5] = 1 and _IsChecked( ($button_auto01[3])[7-1] ) = False Then $b_quest_chat02[0] = 0 If $b_quest_chat02[1] = 1 and $b_quest_chat02[2] = 1 and $b_quest_chat02[3] = 1 and $b_quest_chat02[4] = 1 and $b_quest_chat02[5] = 1 and _IsChecked( ($button_auto05[1])[7-1] ) = true Then $b_quest_chat02[0] = 1 If $b_quest_chat02[1] = 1 and $b_quest_chat02[2] = 1 and $b_quest_chat02[3] = 1 and $b_quest_chat02[4] = 1 and $b_quest_chat02[5] = 1 and _IsChecked( ($button_auto05[2])[7-1] ) = true Then $b_quest_chat02[0] = 1 If $b_quest_chat02[1] = 1 and $b_quest_chat02[2] = 1 and $b_quest_chat02[3] = 1 and $b_quest_chat02[4] = 1 and $b_quest_chat02[5] = 1 and _IsChecked( ($button_auto05[4])[7-1] ) = true Then $b_quest_chat02[0] = 1 $b_quest_chat03 = asm_all_pixel04(11,$b_quest_chat01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,3,3,1,"533, 336, FCAD31, 527, 340, AB4A01, 550, 345, B09E81, 571, 337, DEC6A1") ; 1 vang !, 2 cam !, 3 Q Quest, 4 E Quest $b_quest_item_wait01on = 0 If $b_game3d01[0] = 0 or $b_exit01[0] = 1 or $b_X_497_185[0] = 1 or _IsChecked( ($button_auto01[3])[7-1] ) = True Then $b_quest_item_wait01on = 0 $b_quest_item_wait01 = asm_all_pixel04(12,$b_quest_item_wait01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,3,3,1,"433, 344, 494332, 544, 373, 050609, 372, 373, 0D75C4") ; 1 xam 100%, 2 den 80%, 3 xanh 10% $b_rift_modifiers01on = 1 If $b_game3d01[0] = 1 or $b_exit01[0] = 1 Then $b_rift_modifiers01on = 0 $b_rift_modifiers01 = asm_all_pixel04(13,$b_rift_modifiers01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,4,4,1,"337, 106, E1D6AA, 252, 395, 541D0B, 341, 393, A89375, 445, 391, 63250F") ; 1 M modifiers, 2 cam LC, 3 R START, 4 cam RC $b_enter_server01on = 1 If $b_game3d01[0] = 1 or $b_exit01[0] = 1 Then $b_enter_server01on = 0 $b_enter_server01 = asm_all_pixel04(14,$b_enter_server01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,3,3,1,"661, 350, C5BAA0, 664, 88, CFC5AA, 668, 76, 512414, 668, 354, 6E2A15") ; 1 trang icon OFF, 2 trang x1y1, 3 do x1y1, 4 do icon OFF $b_char_enter01on = 1 If $b_game3d01[0] = 1 or $b_exit01[0] = 1 or $b_enter_server01[0] = 1 or $b_X_680_67[0] = 0 Then $b_char_enter01on = 0 $b_char_enter01 = asm_all_pixel04(15,$b_char_enter01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,4,4,1,"562, 407, CABC99, 598, 405, 692811, 549, 408, D9CAA4, 637, 408, BCAB8A, 85, 10, 0E0D0C, 600, 16, 0E0E0D") ; 1 N Enter, 2 cam CT, 3 E Enter, 4 R World, 5 den LU, 6 den RU $b_all_menu01on = 1 If $b_game3d01[0] = 1 or $b_exit01[0] = 1 Then $b_all_menu01on = 0 $b_all_menu01 = asm_all_pixel04(16,$b_all_menu01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,3,3,1,"89, 88, FEFFFF, 482, 77, C7BEA5, 485, 73, 742C15, 541, 73, C8B393") ; 1 trang battle pass, 2 trang Power, 3 do Power, 4 trang friend $b_codex01on = 1 If $s_elder_rift_pixel01[$loopacc] = 1 Then $b_codex01on = 0 If $b_game3d01[0] = 1 or $b_exit01[0] = 1 Then $b_codex01on = 0 $b_codex01 = asm_all_pixel04(17,$b_codex01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 18,3,3,1,"421, 349, 552920, 647, 334, 582920, 646, 243, 542820") ; 1 Battle pass > activities red If $b_codex01[1] = 1 or $b_codex01[2] = 1 or $b_codex01[3] = 1 Then $b_codex01[0] = 1 $b_map_west01on = 1 If $s_elder_rift_pixel01[$loopacc] = 1 Then $b_map_west01on = 0 If $b_game3d01[0] = 1 or $b_exit01[0] = 1 or $b_X_684_77[0] = 0 Then $b_map_west01on = 0 $b_map_west01 = asm_all_pixel04(18,$b_map_west01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,8,8,1,"217, 245, 883935, 223, 251, EFF1E4") ; 1 do kinh lup 2 trang kinh lup $b_inventory01on = 1 If $b_game3d01[0] = 1 or $b_exit01[0] = 1 or $b_X_680_67[0] = 0 Then $b_inventory01on = 0 $b_inventory01 = asm_all_pixel04(19,$b_inventory01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,4,4,1,"629, 66, 736CE1, 439, 406, 1443B4, 441, 407, 0B188D, 492, 69, EDD65D, 501, 67, C1A546") ; 1 tim orbs, 2 xanh port, 3 xanh port, 4 gold, 5 gold If $b_inventory01[1] = 1 and $b_inventory01[2] = 1 Then $b_inventory01[0] = 1 If $b_inventory01[1] = 1 and $b_inventory01[3] = 1 Then $b_inventory01[0] = 1 If $b_inventory01[1] = 1 and $b_inventory01[4] = 1 Then $b_inventory01[0] = 1 If $b_inventory01[1] = 1 and $b_inventory01[5] = 1 Then $b_inventory01[0] = 1 If $find_enemy_2d_map01on = 0 Then $b_help_map01on = 0 If $s_elder_rift_pixel01[$loopacc] = 1 Then $b_help_map01on = 0 If $find_enemy_2d_map01on = 1 and $help_hide01on = 0 Then $b_help_map01on = 1 If $help_hide01on = 1 Then $b_help_map01on = 0 If $b_game3d01[0] = 0 or $b_exit01[0] = 1 Then $b_help_map01on = 0 If $s_elder_rift_pixel01[$loopacc] = 0 Then $b_help_map01on = 0 $b_help_map01 = _regex_color02($b_help_map01on, $vtmem_autoit_screenX, 1, 24, 6, 1, 3, 573, 13, "63482A") ; 1 vang -, 2 vang ], 3 vang _, 4 vang > fist kill the day If $b_help_map01[1] > 7 Then $b_help_map01[0] = 1 $b_help_map04 = _regex_color02($b_help_map01on, $vtmem_autoit_screenX, 1, 24, 6, 1, 3, 628, 14, "C2A16C") ; 1 vang -, 2 vang ], 3 vang _, 4 vang > fist kill the day If $b_help_map04[1] > 7 Then $b_help_map01[0] = 1 $b_help_map05 = _regex_color02($b_help_map01on, $vtmem_autoit_screenX, 1, 24, 6, 1, 3, 631, 12, "A28658") ; 1 vang -, 2 vang ], 3 vang _, 4 vang > Paragon If $b_help_map05[1] > 7 Then $b_help_map01[0] = 1 If $b_help_map01[0] = 0 Then $b_help_map01 = _regex_color02($b_help_map01on, $vtmem_autoit_screenX, 1, 24, 6, 1, 3, 631, 12, "B2905A") ; 1 vang -, 2 vang ], 3 vang _, 4 vang > fist kill the day If $b_help_map01[1] > 7 Then $b_help_map01[0] = 1 EndIf $b_help_map02 = _regex_color02($b_help_map01on, $vtmem_autoit_screenX, 1, 24, 6, 1, 3, 631, 22, "B39664") ; 1 vang -, 2 vang ], 3 vang _, 4 vang > fist kill the day If $b_help_map02[1] > 7 Then $b_help_map02[0] = 1 $b_help_map03 = _regex_color02($b_help_map01on, $vtmem_autoit_screenX, 1, 24, 6, 1, 3, 631, 62, "AA8A5C") ; 1 vang -, 2 vang ], 3 vang _, 4 vang > fist kill the day If $b_help_map03[1] > 7 Then $b_help_map03[0] = 1 If $b_help_map03[0] = 0 Then ; Open Inventory $b_help_map03 = _regex_color02($b_help_map01on, $vtmem_autoit_screenX, 1, 24, 6, 1, 3, 644, 62, "D9B87A") ; 1 vang -, 2 vang ], 3 vang _, 4 vang > fist kill the day If $b_help_map03[1] > 7 Then $b_help_map03[0] = 1 EndIf $b_large_map01on = 1 If $b_game3d01[0] = 1 or $b_exit01[0] = 1 Then $b_large_map01on = 0 If $s_elder_rift_pixel01[$loopacc] = 0 Then $b_large_map01on = 0 $b_large_map01 = asm_all_pixel04(20,$b_large_map01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,4,4,1,"680, 19, F7FFE7, 686, 18, 833214") ; 1 trang X, 2 cam X $b_rift_portal01on = 1 If $b_game3d01[0] = 1 or $b_exit01[0] = 1 or $b_X_652_109[0] = 0 Then $b_rift_portal01on = 0 If $s_elder_rift_pixel01[$loopacc] = 0 Then $b_rift_portal01on = 0 $b_rift_portal01 = asm_all_pixel04(21,$b_rift_portal01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,4,4,1,"503, 246, AF9F71, 370, 124, 97764C") ; 1 trang =>, 2 R PORTAL $b_battle_pass01on = 1 If $b_game3d01[0] = 1 or $b_exit01[0] = 1 Then $b_battle_pass01on = 0 $b_battle_pass01 = asm_all_pixel04(23,$b_battle_pass01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,4,4,1,"654, 102, FFFFDA, 78, 194, E9ECF7, 53, 365, 63240F") ; 1 trang X, 2 trang icon mat quy, 3 do unlock $b_identify01on = 1 If $s_elder_rift_pixel01[$loopacc] = 1 Then $b_identify01on = 0 If $b_game3d01[0] = 1 or $b_exit01[0] = 1 Then $b_identify01on = 0 $b_identify01 = asm_all_pixel04(24,$b_identify01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,4,4,1,"112, 389, A97139, 69, 376, 060402, 73, 442, 5D2110, 72, 449, 625761") ; 1 da Lanali, 2 den Lanali, 3 do Lanali, 4 tim Lanali $b_blessing01on = 1 If $b_game3d01[0] = 1 or $b_exit01[0] = 1 Then $b_blessing01on = 0 $b_blessing01 = asm_all_pixel04(25,$b_blessing01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,4,4,1,"381, 281, FEF2C0, 321, 138, F8FA27, 382, 138, FFEB18, 344, 98, FCFCFC") ; 1 B Blessing, 2 vang LU, 3 vang RU, 4 trang CT $b_invites01on = 1 If $b_game3d01[0] = 0 or $b_exit01[0] = 1 Then $b_invites01on = 0 $b_invites01 = asm_all_pixel04(26,$b_invites01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,4,4,1,"463, 284, 171510, 276, 375, FDEBBF, 424, 372, F4E3B9, 453, 371, 371B19") ; 1 not X, 2 A CANCEL, 3 W VIEW, 4 do RC $b_exit_fix01on = 0 ; loi nen REMOVE $b_exit_fix01 = asm_all_pixel04(27,$b_exit_fix01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,6,6,1,"543, 6, F71201, 532, 7, CF572E, 534, 8, 602918") ; 1 red icon mini map, 2 cam icon mini map, 3 nau icon mini map $b_exit_phu_ban00on = 1 If $b_game3d01[0] = 0 Then $b_exit_phu_ban00on = 0 If $s_elder_rift_pixel01[$loopacc] = 0 Then $b_exit_phu_ban00on = 0 $b_exit_phu_ban00 = asm_all_pixel04(28,$b_exit_phu_ban00on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 24,3,3,1,"15, 85, A767C5, 14, 99, 9B6438, 14, 144, 99663B") ; 1 tim elder rift, 2 ui Defeat, 3 ui Defeat boss If $b_exit_phu_ban00[1] = 1 and $b_exit_phu_ban00[2] = 1 Then $b_exit_phu_ban00[0] = 1 If $b_exit_phu_ban00[1] = 1 and $b_exit_phu_ban00[3] = 1 Then $b_exit_phu_ban00[0] = 1 $b_exit_phu_ban01on = 1 If $b_game3d01[0] = 0 Then $b_exit_phu_ban01on = 0 If $s_elder_rift_pixel01[$loopacc] = 0 Then $b_exit_phu_ban01on = 0 $b_exit_phu_ban01 = asm_all_pixel04(29,$b_exit_phu_ban01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 24,3,3,1,"15, 85, A767C5, 44, 152, 776647, 30, 152, 776647") ; 1 tim elder rift, 2 nau time map 1/4, 3 nau time map 1/4 -14 If $b_exit_phu_ban01[0] = 1 Then $b_exit_phu_ban01on = 0 $b_exit_phu_ban02 = asm_all_pixel04(30,$b_exit_phu_ban01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 24,3,3,1,"15, 85, A767C5, 67, 152, 776647, 43, 152, 776647") ; 1 tim elder rift, 2 nau time map 1/2, 3 nau time map 1/2 -14 If $b_exit_phu_ban02[0] = 1 Then $b_exit_phu_ban01[0] = 1 $b_unstuck01on = 1 If $b_game3d01[0] = 1 Then $b_unstuck01on = 0 If $s_elder_rift_pixel01[$loopacc] = 1 Then $b_unstuck01on = 0 $b_unstuck01 = asm_all_pixel04(31,$b_unstuck01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 24,3,3,1,"445, 399, 853F30, 442, 404, EBD5AD") ; 1 cam unstuck, 2 trang vang T $b_portal_cool_down01on = 1 If $b_game3d01[0] = 1 Then $b_portal_cool_down01on = 0 If $s_elder_rift_pixel01[$loopacc] = 1 Then $b_portal_cool_down01on = 0 $b_portal_cool_down01 = asm_all_pixel04(32,$b_portal_cool_down01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 24,3,3,1,"656, 374, 5E6EDB, 657, 376, 1449CA, 656, 377, 156ECC, 656, 374, EFFFFF") ; 1 tim portal town, 2 xanh portal town, 3 xanh portal town, 4 trang portal town If $b_portal_cool_down01[1] = 1 and $b_portal_cool_down01[2] = 1 Then $b_portal_cool_down01[0] = 1 If $b_portal_cool_down01[3] = 1 and $b_portal_cool_down01[4] = 1 Then $b_portal_cool_down01[0] = 1 $b_prodigys_path01on = 1 If $b_game3d01[0] = 1 Then $b_prodigys_path01on = 0 $b_prodigys_path01 = asm_all_pixel04(34,$b_prodigys_path01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 24,3,3,1,"675, 397, 533A2E, 692, 396, FC1301") ; 1 khung nau prodigys , 2 prodigys red $b_sell_item_v01on = 1 If $b_game3d01[0] = 1 Then $b_sell_item_v01on = 0 If $s_elder_rift_pixel01[$loopacc] = 1 Then $b_sell_item_v01 = asm_all_pixel04(38,$b_sell_item_v01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,4,4,1,"255, 405, BDBEBF, 288, 405, 99E7FF, 321, 405, FFE984") If $s_elder_rift_pixel01[$loopacc] = 0 Then $b_sell_item_v01 = asm_all_pixel04(39,$b_sell_item_v01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 30,4,4,1,"256, 405, BFBFC1, 289, 405, 9AE7FF, 322, 405, FFE986") ; 1 check item xam , 2 check item xanh, 3 check item vang #cs Local $hTimer01 = TimerInit() ; Begin the timer and store the handle in a variable. $xy02fog = asm_pixel05(200,1,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 12,1,1,4, 4, 4, 5, 98,151,"ECD128", 40,159,"F62E30", 49,158,"FADD53", 43,252,"4B9FF0", 63,103,"2F8136") Local $fDiff01 = TimerDiff($hTimer01) ; Find the difference in time from the previous call of TimerInit. The variable we stored the TimerInit handlem is passed as the "handle" to TimerDiff. MsgBox($MB_SYSTEMMODAL, "Time Difference", $fDiff01) Local $hTimer02 = TimerInit() ; Begin the timer and store the handle in a variable. $xy02fog = asm_pixel05(200,1,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 12,1,1,4, 4, 4, 1, 98,151,"ECD128") $xy02fog = asm_pixel05(200,1,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 12,1,1,4, 4, 4, 1, 40,159,"F62E30") $xy02fog = asm_pixel05(200,1,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 12,1,1,4, 4, 4, 1, 49,158,"FADD53") $xy02fog = asm_pixel05(200,1,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 12,1,1,4, 4, 4, 1, 43,252,"4B9FF0") $xy02fog = asm_pixel05(200,1,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 12,1,1,4, 4, 4, 1, 63,103,"2F8136") Local $fDiff02 = TimerDiff($hTimer02) ; Find the difference in time from the previous call of TimerInit. The variable we stored the TimerInit handlem is passed as the "handle" to TimerDiff. MsgBox($MB_SYSTEMMODAL, "Time Difference02", $fDiff02) ;ClipPut($xy02fog[0]&@CRLF&$xy02fog[1]&@CRLF&$xy02fog[2]&@CRLF&$xy02fog[3]&@CRLF&$xy02fog[4]) _ArrayDisplay($xy02fog) #ce ; $a_lp_item01equip[$loopacc] += 1 ;$pixel_regex01 = "4769FF" ; xanh tinh anh ;$pixel_regex01 = "([E-E][0-F][5-6][0-F][3-4][0-F]|[E-F][0-F][5-7][0-9][3-5][0-7]){0,6}\ " ; xanh tinh anh ;$pixel_regex01 = "C51111" ; do boss ;$pixel_regex01 = "([0-1][0-F][0-1][0-F][B-C][0-F]|[0-2][0-1][0-2][0-1][B-D][0-5]){0,6}\ " ; do boss $pixel_regex01 = "([0-1][0-F][0-1][0-F][B-C][0-F]|[0-2][0-1][0-2][0-1][B-D][0-5]|[E-E][0-F][5-6][0-F][3-4][0-F]|[E-F][0-F][5-7][0-9][3-5][0-7]){0,6}\ " ; xanh tinh anh + do boss $pixel_shade01 = 18 If StringLen($pixel_regex01) = 6 Then $pixel_regex01 = _regex_pixel01($pixel_regex01, $pixel_shade01)&"\ " ; 0 = hex 1 = array bytes $map_red01on = 0 If $time_stop01 > $boss_sleep01[$loopacc] Then $map_red01on = 1 $boss_sleep01[$loopacc] = $time_stop01+$boss_sleep01wait EndIf If $b_game3d01[0] = 0 or $b_exit01[0] = 1 or _IsChecked( ($button_auto01[3])[7-1] ) = False or $s_check_blacksmith01[$loopacc] <> 2 Then $map_red01on = 0 ; tach ra cua WinCapture_cs02 $v_cmp_render_rift_defeat01 = $v_cmp_render_rift_defeat01X[$loopacc] $p_render_rift_defeat01 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*0) ; rdx Kill the Rift Guardian $p_render_rift_defeat02 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*16) ; rdx Inventory Full $p_render_rift_defeat03 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*32) ; rdx mini map name $p_render_rift_defeat04 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*48) ; rdx mini map name $p_render_rift_defeat05 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*64) ; rdx mini map name $p_render_rift_defeat06 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*80) ; rdx mini map name $p_render_rift_defeat07 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*96) ; rdx mini map name $p_render_rift_defeat07 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*96) ; rdx mini map name If $help_hide01on = 1 Then $p_render_rift_defeat07[2]="" If $help_hide01on = 0 and StringInStr($p_render_rift_defeat07[2], "nlocked") > 0 Then $b_help_map01[0] = 1 If $help_hide01on = 0 and StringInStr($p_render_rift_defeat07[2], "ventory to") > 0 Then $b_help_map03[0] = 1 $p_render_shop01 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*112,0x0) ; rdx Shop > server $p_render_rift_defeat14 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*128) ; rdx #00ff2aClosing in: 02:23 $p_render_rift_defeat15 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*112) ; rdx // #a79973Time expired "Time expired. Bonus rewa" ;If $p_render_rift_defeat15[2] = "Time expired. Bonus rewa" Then Exit ;_MemoryWrite64($v_cmp_render_rift_defeat01[1]+0x8*112, $procHwnd01, ptr(0),'byte[8]') ; reset // #a79973Time expired $p_render_map_name03 = $p_render_rift_defeat03 _MemoryWrite64($v_cmp_render_rift_defeat01[1]+0x8*16, $procHwnd01, ptr(0),'byte[16]') ; reset _MemoryWrite64($v_cmp_render_rift_defeat01[1]+0x8*48, $procHwnd01, ptr(0),'byte[16]') ; reset _MemoryWrite64($v_cmp_render_rift_defeat01[1]+0x8*64, $procHwnd01, ptr(0),'byte[16]') ; reset _MemoryWrite64($v_cmp_render_rift_defeat01[1]+0x8*80, $procHwnd01, ptr(0),'byte[16]') ; reset _MemoryWrite64($v_cmp_render_rift_defeat01[1]+0x8*96, $procHwnd01, ptr(0),'byte[16]') ; reset If $p_render_map_name03[2]="Elder Rift" Then $p_render_map_name03[2]="Elder Ri" $westmarch_lag[$loopacc] = 0 $s_elder_rift_pixel01[$loopacc] = 1 ElseIf $p_render_map_name03[2]<>"Elder Rift" Then $s_elder_rift_pixel01[$loopacc] = 0 EndIf If $p_render_map_name03[2]="Westmarch" Then $p_render_map_name03[2]="Westmarc" EndIf ; end tach ra cua WinCapture_cs02 If $p_render_map_name03[2]<>"Elder Ri" Then $map_red01on = 0 $dis_portal01[$loopacc] = -1 ; Dis Portal x y Elder Rift EndIf $v_cmp_render_rift_defeat01 = $v_cmp_render_rift_defeat01X[$loopacc] $p_render_rift_defeat01 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*0) ; rdx Kill the Rift Guardian If $p_render_rift_defeat01[2] <> "Kill the Rift Guardian" Then $map_red01 = asm_map_pixel01(101,$map_red01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 25,1,1,1, 552,2, 678, 88,"4769FF",0) ; xanh tinh anh If $map_red01[0] = 0 Then $map_red01 = asm_map_pixel01(601,$map_red01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 25,1,1,1, 552,2, 678, 88,"FAC50E",0) ; vang tinh anh ElseIf $p_render_rift_defeat01[2] = "Kill the Rift Guardian" Then $map_red01 = asm_map_pixel01(102,$map_red01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 25,1,1,1, 552,2, 678, 88,"C51111",0) ; do boss EndIf If $map_red01[0] <> 0 and $map_red01[0] > 552+2 and $map_red01[1] < 88-2 Then $a_map_red01x[$loopacc] = $map_red01[0] $a_map_red01y[$loopacc] = $map_red01[1] $s_map_red01[$loopacc] = 1 EndIf ;$map_red01 = _regex_color03($map_red01on,$stream[1], 1, $pixel_shade01, 4, 3, 3, 552, 3, 678, 88, $pixel_regex01, 0) ;$map_random01 = Random(1, 4, 1) ;If $map_random01 = 1 Then $map_red01 = _regex_color03($map_red01on, $stream[1], 1, $pixel_shade01, 3, 3, 3, 552+6, 3+6, 614, 46-6, $pixel_regex01, 0) ;If $map_random01 = 2 Then $map_red01 = _regex_color03($map_red01on, $stream[1], 1, $pixel_shade01, 3, 3, 3, 614, 3+6, 678-6, 46-6, $pixel_regex01, 0) ;If $map_random01 = 3 Then $map_red01 = _regex_color03($map_red01on, $stream[1], 1, $pixel_shade01, 3, 3, 3, 552+6, 46+6, 614, 88-6, $pixel_regex01, 0) ;If $map_random01 = 4 Then $map_red01 = _regex_color03($map_red01on, $stream[1], 1, $pixel_shade01, 3, 3, 3, 614, 46+6, 678-6, 88-6, $pixel_regex01, 0) ;If $map_red01[0] <> 0 Then ; $a_map_red01x[$loopacc] = $map_red01[1] ; $a_map_red01y[$loopacc] = $map_red01[2] ; $s_map_red01[$loopacc] = 1 ;EndIf ;Local $fTimer = TimerInit() ;$iResult = asm_all_pixel01(1,$stream[1],$stream[8],$stream[9], 30,1,1,1,"330,105,DCBB39") ;$iResult = asm_pixel01($stream[1],$stream[8],$stream[9], 30,1,1,1, 679-0, 65-0, 679+4, 65+4, "FCFBE3") ; Local $fTimer_End = TimerDiff($fTimer) ;ConsoleWrite("Runtime ASM only: " & $fTimer_End & " ms" & @CRLF&$iResult[0]&@CRLF&$iResult[1]&@CRLF&$iResult[2]&@CRLF&$iResult[3]&@CRLF&$iResult[4]@CRLF&) ;ClipPut($iResult[0]&@CRLF&$iResult[1]&@CRLF&$iResult[2]&@CRLF&$iResult[3]&@CRLF&$iResult[4]) ;MsgBox(0, "Test", "N"&$lp& " $iResult[0]="&$iResult[0]&" $iResult[1]="&$iResult[1]&" $iResult[2]="&$iResult[2]&" $iResult[3]="&$iResult[3]&" $iResult[4]="&$iResult[4]) ;_GetColorEX05remove($stream[3], $stream[4], $stream[5], $stream[6], $stream[7], $stream[0]) ; remove print image -------------------------- ; END WinCapture_cs01 ------------------------------------------------------------------------------------------------------------------------- ;Local $hTimer = TimerInit() Func ASM64_map_pixel01($iWidth=999, $iHeight=999, $r0=20, $xr0=1, $yr0=1, $count_color0=1, $x0=0, $y0=0, $x1=50, $y1=0, $c0="506070") $x_min = $x0 $y_min = $y0 $x_max = $x1 $y_max = $y1 $FF0000 = Dec(StringMid($c0, 5, 2)) $00FF00 = Dec(StringMid($c0, 3, 2)) $0000FF = Dec(StringMid($c0, 1, 2)) $FF0000min = $FF0000-$r0 If $FF0000min < 0 Then $FF0000min = 0 $FF0000min = Hex($FF0000min,2) Else $FF0000min = Hex($FF0000min,2) EndIf $FF0000max = $FF0000+$r0 If $FF0000max > 255 Then $FF0000max = 255 $FF0000max = Hex($FF0000max,2) Else $FF0000max = Hex($FF0000max,2) EndIf $00FF00min = $00FF00-$r0 If $00FF00min < 0 Then $00FF00min = 0 $00FF00min = Hex($00FF00min,2) Else $00FF00min = Hex($00FF00min,2) EndIf $00FF00max = $00FF00+$r0 If $00FF00max > 255 Then $00FF00max = 255 $00FF00max = Hex($00FF00max,2) Else $00FF00max = Hex($00FF00max,2) EndIf $0000FFmin = $0000FF-$r0 If $0000FFmin < 0 Then $0000FFmin = 0 $0000FFmin = Hex($0000FFmin,2) Else $0000FFmin = Hex($0000FFmin,2) EndIf $0000FFmax = $0000FF+$r0 If $0000FFmax > 255 Then $0000FFmax = 255 $0000FFmax = Hex($0000FFmax,2) Else $0000FFmax = Hex($0000FFmax,2) EndIf ; "FCFBE3" ;ConsoleWrite(" ms" & @CRLF&$FF0000min&@CRLF&$FF0000max&@CRLF&$00FF00min&@CRLF&$00FF00max&@CRLF&$0000FFmin&@CRLF&$0000FFmax&@CRLF) ;$iRowOffset = ($y_min) * $iWidth+1 ; $iRowOffset = $iY * $iWidth + 1 ;$iRowOffset02 = _ReadF( ($iRowOffset + $x_min+0)*4 ,0) $op_code00 = "" ;push rdi ;push rsi ;push rbx ;push rbp ;mov rsi,rcx // ;pointer to first pixel in memory from the bmp > address check $tPixelData ;mov rdi,rdx // ;pointer to memory from struct > address save $tStruct_ARGB ;mov rbx,r8 // ;amount of pixels > max pixel $iPixels ;mov r13,100 // address get data check pixel r13 ;// mov rax,[rsi] // address pixel memory xy ;// R11 R13 gia tri 0x0 co the dung $op_code00 &= "57 56 53 55 48 8B F1 48 8B FA 49 8B D8 49 BD 00 01 00 00 00 00 00 00" ;loop1: ;add [rdi+0],1 // 0 count pixel x + 1 ;add [rdi+8],1 // count pixex xy ;cmp byte ptr [rdi+0],5 // count pixel max $x > 5-1 ;JB if_pixel01xy ; add rsi,999*5 // +999*1 = pixel $y + 5 ; sub rsi,888*5 // -4*5 = pixel $x - 5 > default x > 888*5 de lay 8 bytes ;mov [rdi+0],0 // reset count pixel x + 1 ;add [rdi+C],1 // count pixex y + 1 ;if_pixel01xy: $y_asm = _ReadF( "0x"&Hex( ( ($iWidth+1)*4 )*$yr0 , 8) ,0) $x_asm = _ReadF( "0x"&Hex( ( $x_max-$x_min )*4, 8) ,0) ; x + 1 get x + 1 count pixel max = 05 ( -1 fix $iWidth+1 ) $y + 99 09 00 00 $x - 88 08 00 00 get y + 1 $op_code00 &= "83 07 "&Hex($xr0,2)&" 83 47 08 "&Hex($xr0,2)&" 80 3F "&Hex($x_max-$x_min-($xr0+$yr0-1),2)&" 72 1C 90 90 90 90 48 81 C6 "&$y_asm&" 48 81 EE "&$x_asm&" C7 07 00 00 00 00 83 47 0C "&Hex($yr0,2) ;// An 5x5 dimension bmp: = -2 -1 0 +1 +2 ;// X0 X1 X2 X3 X4 ;// Y0 1 2 3 4 5 ;// Y1 6 7 8 9 10 ;// Y2 11 12 13 14 15 ;// Y3 16 17 18 19 20 ;// Y4 21 22 23 24 25 ;//--------------------------------------------------------------- ;mov r11,25 // loop2 for = 1 to $25 > xr*yr ;mov rax,rsi // address pixel memory xy rsi = default ;loop2: ;add [rdi+20],1 // 0 count pixel x + 1 ;cmp byte ptr [rdi+20],5 // count pixel max $x > 5-1 ;JB if_pixel02xy ; add rax,999*1 // +999*1 = pixel $y + 1 ; sub rax,888*1 // -4*5 = pixel $x - 5 > default x > 888*5 de lay 8 bytes ;mov [rdi+20],0 // reset count pixel x + 1 ;if_pixel02xy: $y2max = 5 $x2max = 5 $y_asm2 = _ReadF( "0x"&Hex( ( ($iWidth+1)*4 )*1 , 8) ,0) $x_asm2 = _ReadF( "0x"&Hex( ( $x2max )*4, 8) ,0) ; for 1 to 25 $x > 5-1 $y + 99 09 00 00 $x - 88 08 00 00 $op_code00 &= "49 BB "&Hex($y2max*$x2max,2)&" 00 00 00 00 00 00 00 48 8B C6 83 47 20 "&Hex(1,2)&" 80 7F 20 "&Hex($x2max-1,2)&" 72 17 90 90 90 90 48 05 "&$y_asm2&" 48 2D "&$x_asm2&" C7 47 20 00 00 00 00" ;cmp byte ptr [rax+0],77 // pixel xy Opt1 > Opt2 0xFF0000 0x70 ;JNAE ifx0y0 ;cmp byte ptr [rax+0],99 // pixel xy Opt1 < Opt2 0xFF0000 0xFF ;JNBE ifx0y0 ;cmp byte ptr [rax+1],77 // pixel xy Opt1 > Opt2 0x00FF00 0x70 ;JNAE ifx0y0 ;cmp byte ptr [rax+1],99 // pixel xy Opt1 < Opt2 0x00FF00 0xFF ;JNBE ifx0y0 ;cmp byte ptr [rax+2],77 // pixel xy Opt1 > Opt2 0x0000FF 0x70 ;JNAE ifx0y0 ;cmp byte ptr [rax+2],99 // pixel xy Opt1 < Opt2 0x0000FF 0xFF ;JNBE ifx0y0 ;add byte ptr [rdi+10],1 // 0 count pixel hex find ; 77-3 99+3 77-3 99+3 77-3 99+3 $op_code00 &= "80 38 "&$FF0000min&" 72 6A 90 90 90 90 80 38 "&$FF0000max&" 77 61 90 90 90 90 80 78 01 "&$00FF00min&" 72 57 90 90 90 90 80 78 01 "&$00FF00max&" 77 4D 90 90 90 90 80 78 02 "&$0000FFmin&" 72 43 90 90 90 90 80 78 02 "&$0000FFmax&" 77 39 90 90 90 90 80 47 10 01" ;cmp byte ptr [rdi+10],3 // count pixel hex > 3 = 1 exit loop2 ;JB ifx0y0 ;mov rax,[rdi+0] // del address pixel memory xy > count pixex xy > multi check pixel ;mov [rdi+r13],rax // save count pixex xy > multi check pixel ;add r13,8 // address get data check pixel r13+8 > multi check pixel ;//mov [rdi+r13],1 // save count pixex xy > path find ;mov [rdi+10],0 // reset count pixel hex ;mov r11,1 // exit loop2 ;mov rbx,1 // exit loop1 > find boss + enemy do xanh ;ifx0y0: ;add rax,4*1 // +4*1 = pixel $x + 1 ;sub r11,1 // loop2 next = 1 to $25 ;JA loop2 ;//-------------------------------------------------------------- $loop0 = $count_color0-1 ; loop = 3 48 8B 47 08 $op_code00 &= "80 7F 10 "&Hex($loop0+1,2)&" 72 2B 90 90 90 90 "&"48 8B 47 00"&" 4A 89 04 2F 49 83 C5 08 C7 47 10 00 00 00 00 49 BB 01 00 00 00 00 00 00 00 48 BB 01 00 00 00 00 00 00 00 48 83 C0 04 49 83 EB 01 0F 87 62 FF FF FF" ;//add r13,1 // address get data check pixel r13+8 > path find ;add rsi,4*5 // +4*1 = pixel $x + 5 ;sub rbx,1 // for loop1 -1 = 0 exit loop ;JA loop1 ;pop rbp ;pop rbx ;pop rsi ;pop rdi ;ret $op_code00 &= "48 83 C6 "&Hex(4*$xr0,2)&" 48 83 EB 01 0F 87 1F FF FF FF 5D 5B 5E 5F C3" ;// loop1 ;// [rdi+0] = count x y pixel ;// [rdi+8] = count pixex x + 1 ;// [rdi+C] = count pixex y + 1 ;// loop2 ;// [rdi+20] = count x y pixel ;// [rdi+10] = count pixel color ;// [rdi+r13] = address get data Return $op_code00 EndFunc Func asm_map_pixel01($a_opcode_num,$on=1,$iScan0="$stream[1]", $iWidth0=999, $iHeight0=999, $r0=20, $xr0=2, $yr0=2, $count_color0=1, $x0=0, $y0=0, $x1=50, $y1=0, $c0="506070",$Sleep0on=1) Local $return[10] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] $address01check = _MemoryRead6401($iScan0, $procHwnd_autoit01,'byte[8]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $address01check = Dec(Hex($address01check,16)) ;MsgBox(0, "Test", "N"&$address01check) If $address01check = 0x0 Then $on=0 If $on=1 Then $vtmem_ASM64_pixel01 = $vtmem_autoitX+0x1000 ; 0x1000 $x_min = $x0 $y_min = $y0 $x_max = $x1 $y_max = $y1 If $a_op_code[$a_opcode_num] = "" Then $op_code00 = ASM64_map_pixel01($iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0,$x_min,$y_min,$x_max,$y_max,$c0) $a_op_code[$a_opcode_num] = $op_code00 ElseIf $a_op_code[$a_opcode_num] <> "" Then $op_code00 = $a_op_code[$a_opcode_num] EndIf $x_count01 = Int( ($x_max-$x_min)/$xr0 ) $y_count01 = Int( ($y_max-$y_min)/$yr0 ) $iRowOffset = ($y_min+0) * $iWidth0+1 ; $iRowOffset = $iY * $iWidth + 1 $iRowOffset02 = "0x"&Hex(($iRowOffset + $x_min+0)*4) Local $iResult = ASM64_opcode02run($tCodeBuffer, $iScan0+$iRowOffset02, "0x"&Hex($vtmem_ASM64_pixel01,16),$x_count01*$y_count01, $op_code00,$Sleep0on) ;Local $iResult = ASM64_opcode01run($tCodeBuffer, $iScan0+$iRowOffset02, "0x"&Hex($vtmem_ASM64_pixel01,16),1, $op_code00,$Sleep0on) $iResult[0] = $x_min + $iResult[5] $iResult[1] = $y_min + $iResult[6] Return $iResult ElseIf $on=0 Then Return $return EndIf EndFunc Func ASM64_opcode02run($tCodeBuffer0="_DllStructCreate64", $address_pixel0=0x0, $address_check0=0x0, $address_loop0=10, $op_code00="90909090", $Sleep0on = 0) Local $iResult[10] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] $check_color01 = 0 ;$tCodeBuffer = _DllStructCreate64("byte ASM[255]") ;$op_code00 = "57 56 53 55 48 8B F1 48 8B FA 49 8B D8 48 8B 06 C7 07 21 33 21 33 48 89 5F 04 48 83 EB 01 77 F0 5D 5B 5E 5F C3" ;$op_code00 = "57 56 53 55 48 8B F1 48 8B FA 49 8B D8 48 8B 06 80 3E 70 72 1A 90 90 90 90 75 14 90 90 90 90 80 3E 90 77 0B 90 90 90 90 C7 46 08 21 33 21 33 48 83 EB 01 77 DB 5D 5B 5E 5F C3" $op_code00 = StringReplace($op_code00, " ", "") $tCodeBuffer0.ASM = "0x"&$op_code00 _MemoryWrite64($address_check0+0x0, $procHwnd_autoit01, ptr(0),'byte[40]') ; reset value = 0 _MemoryWrite64($address_check0+0x100, $procHwnd_autoit01, ptr(0),'byte[80]') ; reset value = 0 DllCallAddress("uint:cdecl", DllStructGetPtr($tCodeBuffer0), "ptr", $address_pixel0, "ptr", $address_check0, "int", $address_loop0) If $Sleep0on = 1 Then Sleep(1) $get_data0 = _MemoryRead64($address_check0+0x10, $procHwnd_autoit01,'byte[4]', "Dec") ; type = ( byte, float, dword, char[], byte[] ... etc ) $get_data0x = _MemoryRead64($address_check0+0x100, $procHwnd_autoit01,'byte[4]', "Dec") ; type = ( byte, float, dword, char[], byte[] ... etc ) $get_data0y = _MemoryRead64($address_check0+0xC, $procHwnd_autoit01,'byte[4]', "Dec") ; type = ( byte, float, dword, char[], byte[] ... etc ) If $get_data0 > 0 Then $check_color01 = $get_data0 $iResult[0] = $check_color01 $iResult[1] = $address_loop0 $iResult[2] = DllStructGetPtr($tCodeBuffer0) $iResult[3] = $address_pixel0 $iResult[4] = $address_check0 $iResult[5] = $get_data0x $iResult[6] = $get_data0y Return $iResult ;push rdi ;push rsi ;push rbx ;push rbp ;mov rsi,rcx // ;pointer to first pixel in memory from the bmp > address check $tPixelData ;mov rdi,rdx // ;pointer to memory from struct > address save $tStruct_ARGB ;mov rbx,r8 // ;amount of pixels > max pixel $iPixels ;mov rax,[rsi] // address pixel memory xy ;//loop1: ;mov [rdi],33213321 ;//sub rbx,02 // for loop -2 ;//ja loop1 ;pop rbp ;pop rbx ;pop rsi ;pop rdi ;ret EndFunc ;==>ASM64_BitmapGetAverageColor Func ASM64_pixel05run($tCodeBuffer0="_DllStructCreate64", $address_pixel0=0x0, $address_check0=0x0, $address_loop0=10, $op_code00="90909090", $max0=1) Local $iResult[10] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] $check_color01 = 0 ;$tCodeBuffer = _DllStructCreate64("byte ASM[255]") ;$op_code00 = "57 56 53 55 48 8B F1 48 8B FA 49 8B D8 48 8B 06 C7 07 21 33 21 33 48 89 5F 04 48 83 EB 01 77 F0 5D 5B 5E 5F C3" ;$op_code00 = "57 56 53 55 48 8B F1 48 8B FA 49 8B D8 48 8B 06 80 3E 70 72 1A 90 90 90 90 75 14 90 90 90 90 80 3E 90 77 0B 90 90 90 90 C7 46 08 21 33 21 33 48 83 EB 01 77 DB 5D 5B 5E 5F C3" $op_code00 = StringReplace($op_code00, " ", "") $tCodeBuffer0.ASM = "0x"&$op_code00 _MemoryWrite64($address_check0+0x0, $procHwnd_autoit01, ptr(0),'byte[256]') ; reset value = 0 DllCallAddress("uint:cdecl", DllStructGetPtr($tCodeBuffer0), "ptr", $address_pixel0, "ptr", $address_check0, "int", $address_loop0) ;If $Sleep0on = 1 Then Sleep(1) ;$get_data0 = _MemoryRead64($address_check0+0x10, $procHwnd_autoit01,'byte[4]', "Dec") ; type = ( byte, float, dword, char[], byte[] ... etc ) $get_data0x = _MemoryRead64($address_check0+0x8, $procHwnd_autoit01,'byte[4]', "Dec") ; type = ( byte, float, dword, char[], byte[] ... etc ) $get_data0y = _MemoryRead64($address_check0+0xC, $procHwnd_autoit01,'byte[4]', "Dec") ; type = ( byte, float, dword, char[], byte[] ... etc ) $xy_split01num = 0 $xy_split01 = "" Local $g_all_color01[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] For $lp = 1 to $max0 $get_data0 = _MemoryRead64($address_check0+0x0+0x10*$lp, $procHwnd_autoit01,'byte[8]',"dec") ; type = ( byte, float, dword, char[], byte[] ... etc ) If $get_data0 <> 0 Then ;$get_data0 = _MemoryRead64($address_check0+0x0+0x10*$lp, $procHwnd_autoit01,'byte[8]',"dec") ; type = ( byte, float, dword, char[], byte[] ... etc ) ;ConsoleWrite($get_data01x&@CRLF) ;ClipPut($get_data0x) $g_all_color01[$lp] = $get_data0 $xy_split01num += 1 EndIf Next ;If $get_data0 > 0 Then $check_color01 = $get_data0 $iResult[0] = $check_color01 $iResult[1] = $address_loop0 $iResult[2] = DllStructGetPtr($tCodeBuffer0) $iResult[3] = $address_pixel0 $iResult[4] = $address_check0 $iResult[5] = $get_data0x $iResult[6] = $get_data0y Return $g_all_color01 ;push rdi ;push rsi ;push rbx ;push rbp ;mov rsi,rcx // ;pointer to first pixel in memory from the bmp > address check $tPixelData ;mov rdi,rdx // ;pointer to memory from struct > address save $tStruct_ARGB ;mov rbx,r8 // ;amount of pixels > max pixel $iPixels ;mov rax,[rsi] // address pixel memory xy ;//loop1: ;mov [rdi],33213321 ;//sub rbx,02 // for loop -2 ;//ja loop1 ;pop rbp ;pop rbx ;pop rsi ;pop rdi ;ret EndFunc ;==>ASM64_BitmapGetAverageColor Func asm_pixel05($a_opcode_num,$on=1,$iScan0="$stream[1]", $iWidth0=999, $iHeight0=999, $r0=20, $xr0=2, $yr0=2, $count_color0=1, $xr1=0, $yr1=0, $max0=1, $x1=0, $y1=0, $c1="506070", $x2=0, $y2=0, $c2="506070", $x3=0, $y3=0, $c3="506070", $x4=0, $y4=0, $c4="506070", $x5=0, $y5=0, $c5="506070", $x6=0, $y6=0, $c6="506070", $x7=0, $y7=0, $c7="506070", $x8=0, $y8=0, $c8="506070", $x9=0, $y9=0, $c9="506070", $x10=0, $y10=0, $c10="506070") Local $return[11] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] $address01check = _MemoryRead6401($iScan0, $procHwnd_autoit01,'byte[8]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $address01check = Dec(Hex($address01check,16)) ;MsgBox(0, "Test", "N"&$address01check) If $address01check = 0x0 Then $on=0 If $on=1 Then $vtmem_ASM64_pixel01 = $vtmem_autoitX+0x1000 ; 0x1000 $x_min = $x1-$xr1 $y_min = $y1-$yr1 $x_max = $x1+$xr1 $y_max = $y1+$yr1 If $a_op_code[$a_opcode_num] = "" Then If $max0 = 1 Then $op_code00 = ASM64_pixel05($iScan0,$iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0,$xr1,$yr1, $x1,$y1,$c1) If $max0 = 2 Then $op_code00 = ASM64_pixel05($iScan0,$iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0,$xr1,$yr1, $x1,$y1,$c1, $x2,$y2,$c2) If $max0 = 3 Then $op_code00 = ASM64_pixel05($iScan0,$iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0,$xr1,$yr1, $x1,$y1,$c1, $x2,$y2,$c2, $x3,$y3,$c3) If $max0 = 4 Then $op_code00 = ASM64_pixel05($iScan0,$iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0,$xr1,$yr1, $x1,$y1,$c1, $x2,$y2,$c2, $x3,$y3,$c3, $x4,$y4,$c4) If $max0 = 5 Then $op_code00 = ASM64_pixel05($iScan0,$iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0,$xr1,$yr1, $x1,$y1,$c1, $x2,$y2,$c2, $x3,$y3,$c3, $x4,$y4,$c4, $x5,$y5,$c5) If $max0 = 6 Then $op_code00 = ASM64_pixel05($iScan0,$iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0,$xr1,$yr1, $x1,$y1,$c1, $x2,$y2,$c2, $x3,$y3,$c3, $x4,$y4,$c4, $x5,$y5,$c5, $x6,$y6,$c6) If $max0 = 7 Then $op_code00 = ASM64_pixel05($iScan0,$iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0,$xr1,$yr1, $x1,$y1,$c1, $x2,$y2,$c2, $x3,$y3,$c3, $x4,$y4,$c4, $x5,$y5,$c5, $x6,$y6,$c6, $x7,$y7,$c7) If $max0 = 8 Then $op_code00 = ASM64_pixel05($iScan0,$iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0,$xr1,$yr1, $x1,$y1,$c1, $x2,$y2,$c2, $x3,$y3,$c3, $x4,$y4,$c4, $x5,$y5,$c5, $x6,$y6,$c6, $x7,$y7,$c7, $x8,$y8,$c8) If $max0 = 9 Then $op_code00 = ASM64_pixel05($iScan0,$iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0,$xr1,$yr1, $x1,$y1,$c1, $x2,$y2,$c2, $x3,$y3,$c3, $x4,$y4,$c4, $x5,$y5,$c5, $x6,$y6,$c6, $x7,$y7,$c7, $x8,$y8,$c8, $x9,$y9,$c9) If $max0 = 10 Then $op_code00 = ASM64_pixel05($iScan0,$iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0,$xr1,$yr1, $x1,$y1,$c1, $x2,$y2,$c2, $x3,$y3,$c3, $x4,$y4,$c4, $x5,$y5,$c5, $x6,$y6,$c6, $x7,$y7,$c7, $x8,$y8,$c8, $x9,$y9,$c9, $x10,$y10,$c10) $a_op_code[$a_opcode_num] = $op_code00 ElseIf $a_op_code[$a_opcode_num] <> "" Then $op_code00 = $a_op_code[$a_opcode_num] EndIf $x_count01 = Int( ($x_max-$x_min)/$xr0 ) $y_count01 = Int( ($y_max-$y_min)/$yr0 ) $iRowOffset = ($y_min+0) * $iWidth0+1 ; $iRowOffset = $iY * $iWidth + 1 $iRowOffset02 = "0x"&Hex(($iRowOffset + $x_min+0)*4) Local $iResult = ASM64_pixel05run($tCodeBuffer, $iScan0+$iRowOffset02, "0x"&Hex($vtmem_ASM64_pixel01,16),$x_count01*$y_count01, $op_code00,$max0) Return $iResult ElseIf $on=0 Then Return $return EndIf EndFunc Func ASM64_pixel05($iScan0="$stream[1]", $iWidth=999, $iHeight=999, $r0=20, $xr0=1, $yr0=1, $count_color0=1, $xr1=0, $yr1=0, $x1=0, $y1=0, $c1="506070", $x2=0, $y2=0, $c2="506070", $x3=0, $y3=0, $c3="506070", $x4=0, $y4=0, $c4="506070", $x5=0, $y5=0, $c5="506070", $x6=0, $y6=0, $c6="506070", $x7=0, $y7=0, $c7="506070", $x8=0, $y8=0, $c8="506070", $x9=0, $y9=0, $c9="506070", $x10=0, $y10=0, $c10="506070") $loop0 = Hex($count_color0-1,2) ; "FCFBE3" ;ConsoleWrite(" ms" & @CRLF&$FF0000min&@CRLF&$FF0000max&@CRLF&$00FF00min&@CRLF&$00FF00max&@CRLF&$0000FFmin&@CRLF&$0000FFmax&@CRLF) ;$iRowOffset = ($y_min) * $iWidth+1 ; $iRowOffset = $iY * $iWidth + 1 ;$iRowOffset02 = _ReadF( ($iRowOffset + $x_min+0)*4 ,0) $op_code00 = "" ;push rdi ;push rsi ;push rbx ;push rbp ;mov rsi,rcx // ;pointer to first pixel in memory from the bmp > address check $tPixelData ;mov rdi,rdx // ;pointer to memory from struct > address save $tStruct_ARGB ;mov rbx,r8 // ;amount of pixels > max pixel $iPixels ;// mov rax,[rsi] // address pixel memory xy $op_code00 &= "57 56 53 55 48 8B F1 48 8B FA 49 8B D8" ;----------------------------------------------------------------------------------------------------------- for loop opcode If $x1 <> 0 Then $lpmax = 1 If $x2 <> 0 Then $lpmax = 2 If $x3 <> 0 Then $lpmax = 3 If $x4 <> 0 Then $lpmax = 4 If $x5 <> 0 Then $lpmax = 5 If $x6 <> 0 Then $lpmax = 6 If $x7 <> 0 Then $lpmax = 7 If $x8 <> 0 Then $lpmax = 8 If $x9 <> 0 Then $lpmax = 9 If $x10 <> 0 Then $lpmax = 10 For $lp1 = 1 to $lpmax If $lp1 = 1 Then $x0=$x1 $y0=$y1 $c0=$c1 ElseIf $lp1 = 2 Then $x0=$x2 $y0=$y2 $c0=$c2 ElseIf $lp1 = 3 Then $x0=$x3 $y0=$y3 $c0=$c3 ElseIf $lp1 = 4 Then $x0=$x4 $y0=$y4 $c0=$c4 ElseIf $lp1 = 5 Then $x0=$x5 $y0=$y5 $c0=$c5 ElseIf $lp1 = 6 Then $x0=$x6 $y0=$y6 $c0=$c6 ElseIf $lp1 = 7 Then $x0=$x7 $y0=$y7 $c0=$c7 ElseIf $lp1 = 8 Then $x0=$x8 $y0=$y8 $c0=$c8 ElseIf $lp1 = 9 Then $x0=$x9 $y0=$y9 $c0=$c9 ElseIf $lp1 = 10 Then $x0=$x10 $y0=$y10 $c0=$c10 EndIf $x0-=1 $y0-=1 ;mov [rdi+0],0 count x y pixel > RESET ;mov [rdi+8],0 count pixex x + 1 > RESET ;mov [rdi+C],0 count pixex y + 1 > RESET $op_code00 &= "C7 07 00 00 00 00 C7 47 08 00 00 00 00 C7 47 0C 00 00 00 00" $x_min = $x0-$xr1 $y_min = $y0-$yr1 $x_max = $x0+$xr1 $y_max = $y0+$yr1 $x_count01 = Int( ($x_max-$x_min)/$xr0 ) $y_count01 = Int( ($y_max-$y_min)/$yr0 ) Local $iRowOffset = ($y0+0) * $iWidth+1 ; $iRowOffset = $iY * $iWidth + 1 Local $iRowOffset02 = "0x"&Hex(($iRowOffset + $x0+0)*4) ;mov rax,1122334455667788 // address pixel memory xy rsi = default or address > ; > mov rsi,1122334455667788 ; mov rbx,25 for 1 to 25 $op_code00 &= "48 BE "& _ReadF( "0x"&Hex( $iScan0+$iRowOffset02 , 16) ,0) & " 48 BB "&Hex($x_count01*$y_count01,2)&" 00 00 00 00 00 00 00" ;// loop1: ;cmp byte ptr [rdi+10],0 // count pixel < 0+1 exit loop ;JA if_pixel01xy ;add [rdi+0],1 // 0 count pixel x y ;add [rdi+8],1 // count pixex x + 1 ;cmp byte ptr [rdi+0],4 // count pixel max x > 4-1 ;JB if_pixel01xy ; add rsi,999*1 // +999*1 = pixel y + 1 ; sub rsi,888*1 // -4*4 = pixel x - 4 > default x > 888*1 de lay 8 bytes ;mov [rdi+0],0 // reset count pixel x y ;add [rdi+C],1 // count pixex y + 1 ;if_pixel01xy: $y_asm = _ReadF( "0x"&Hex( ( ($iWidth+1)*4 )*$yr0 , 8) ,0) $x_asm = _ReadF( "0x"&Hex( ($x_max-$x_min)*4, 8) ,0) $rdi_10 = 0x10*$lp1 ;// [rdi+10] = count pixel color ; loop = 00 x + 1 get x + 1 count pixel max = 04 y + 99 09 00 00 x - 88 08 00 00 get y + 1 $op_code00 &= "80 7F "&Hex($rdi_10,2)&$loop0&" 77 2C 90 90 90 90 83 07 "&Hex($xr0,2)&" 83 47 08 "&Hex($xr0,2)&" 80 3F "&Hex($x_max-$x_min,2)&" 72 1C 90 90 90 90 48 81 C6 "&$y_asm&" 48 81 EE "&$x_asm&" C7 07 00 00 00 00 83 47 0C"&Hex($yr0,2) ;cmp byte ptr [rsi+0],77 // pixel xy Opt1 > Opt2 0xFF0000 0x70 ;JNAE if01 ;cmp byte ptr [rsi+0],99 // pixel xy Opt1 < Opt2 0xFF0000 0xFF ;JNBE if01 ;cmp byte ptr [rsi+1],77 // pixel xy Opt1 > Opt2 0x00FF00 0x70 ;JNAE if01 ;cmp byte ptr [rsi+1],99 // pixel xy Opt1 < Opt2 0x00FF00 0xFF ;JNBE if01 ;cmp byte ptr [rsi+2],77 // pixel xy Opt1 > Opt2 0x0000FF 0x70 ;JNAE if01 ;cmp byte ptr [rsi+2],99 // pixel xy Opt1 < Opt2 0x0000FF 0xFF ;JNBE if01 $return_c0 = ASM64_color01($c0, $r0) $FF0000min = $return_c0[0] $FF0000max = $return_c0[1] $00FF00min = $return_c0[2] $00FF00max = $return_c0[3] $0000FFmin = $return_c0[4] $0000FFmax = $return_c0[5] ; 77-3 99+3 77-3 99+3 77-3 99+3 $op_code00 &= "80 3E "&$FF0000min&" 72 54 90 90 90 90 80 3E "&$FF0000max&" 77 4B 90 90 90 90 80 7E 01 "&$00FF00min&" 72 41 90 90 90 90 80 7E 01 "&$00FF00max&" 77 37 90 90 90 90 80 7E 02 "&$0000FFmin&" 72 2D 90 90 90 90 80 7E 02 "&$0000FFmax&" 77 23 90 90 90 90" ;cmp byte ptr [rdi+10],0 // count pixel < 0+1 exit loop ;JA exit_loop01 ;add [rdi+10],1 // 0 count pixel find ;mov rax,[rsi+0] ;mov [rdi+14],rax // get color ;mov rbx,1 // exit loop ;exit_loop01: ; loop = 00 rbx = 01 exit loop > chinh lai ve 0 ;$op_code00 &= "80 7F 10 "&$loop0&" 77 19 90 90 90 90 83 47 10 01 48 8B 06 48 89 47 14 48 BB 01 00 00 00 00 00 00 00" $op_code00 &= "80 7F "&Hex($rdi_10,2)&$loop0&" 77 19 90 90 90 90 83 47 "&Hex($rdi_10,2)&" 01 80 7F"&Hex($rdi_10,2)&Hex($loop0+1,2)&" 72 0B 90 48 BB 01 00 00 00 00 00 00 00" ;if01: ;add rsi,4*1 // +4*1 = pixel x + 1 ;sub rbx,1 // for loop -1 = 0 exit loop ;JA loop1 ; x + 1 = 4*1 $op_code00 &= "48 83 C6 "&Hex(4*$xr0,2)&" 48 83 EB 01 0F 87 67 FF FF FF" ;// [rdi+8] > x 14 ;// [rdi+C] > y 3 ;// [rdi+0],4 // count pixel max = 4 ;// y3 * max 4 = 12 > x 14-12 > x = 2 y = 3 ;// [rdi+0] = count x y pixel ;// [rdi+8] = count pixex x + 1 ;// [rdi+C] = count pixex y + 1 ;// [rdi+10] = count pixel color ;// [rdi+14] = get pixel color Next ;----------------------------------------------------------------------------------------------------------- EndIf for loop opcode ; pop rbp ; pop rbx ; pop rsi ; pop rdi ; ret $op_code00 &= "5D 5B 5E 5F C3" Return $op_code00 EndFunc Func ASM64_pixel03run($tCodeBuffer0="_DllStructCreate64", $address_pixel0=0x0, $address_check0=0x0, $address_loop0=10, $op_code00="90909090", $Sleep0on = 0) Local $iResult[10] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] $check_color01 = 0 ;$tCodeBuffer = _DllStructCreate64("byte ASM[255]") ;$op_code00 = "57 56 53 55 48 8B F1 48 8B FA 49 8B D8 48 8B 06 C7 07 21 33 21 33 48 89 5F 04 48 83 EB 01 77 F0 5D 5B 5E 5F C3" ;$op_code00 = "57 56 53 55 48 8B F1 48 8B FA 49 8B D8 48 8B 06 80 3E 70 72 1A 90 90 90 90 75 14 90 90 90 90 80 3E 90 77 0B 90 90 90 90 C7 46 08 21 33 21 33 48 83 EB 01 77 DB 5D 5B 5E 5F C3" $op_code00 = StringReplace($op_code00, " ", "") $tCodeBuffer0.ASM = "0x"&$op_code00 _MemoryWrite64($address_check0+0x0, $procHwnd_autoit01, ptr(0),'byte[40]') ; reset value = 0 DllCallAddress("uint:cdecl", DllStructGetPtr($tCodeBuffer0), "ptr", $address_pixel0, "ptr", $address_check0, "int", $address_loop0) If $Sleep0on = 1 Then Sleep(1) $get_data0 = _MemoryRead64($address_check0+0x10, $procHwnd_autoit01,'byte[4]', "Dec") ; type = ( byte, float, dword, char[], byte[] ... etc ) $get_data0x = _MemoryRead64($address_check0+0x8, $procHwnd_autoit01,'byte[4]', "Dec") ; type = ( byte, float, dword, char[], byte[] ... etc ) $get_data0y = _MemoryRead64($address_check0+0xC, $procHwnd_autoit01,'byte[4]', "Dec") ; type = ( byte, float, dword, char[], byte[] ... etc ) If $get_data0 > 0 Then $check_color01 = $get_data0 $iResult[0] = $check_color01 $iResult[1] = $address_loop0 $iResult[2] = DllStructGetPtr($tCodeBuffer0) $iResult[3] = $address_pixel0 $iResult[4] = $address_check0 $iResult[5] = $get_data0x $iResult[6] = $get_data0y Return $iResult ;push rdi ;push rsi ;push rbx ;push rbp ;mov rsi,rcx // ;pointer to first pixel in memory from the bmp > address check $tPixelData ;mov rdi,rdx // ;pointer to memory from struct > address save $tStruct_ARGB ;mov rbx,r8 // ;amount of pixels > max pixel $iPixels ;mov rax,[rsi] // address pixel memory xy ;//loop1: ;mov [rdi],33213321 ;//sub rbx,02 // for loop -2 ;//ja loop1 ;pop rbp ;pop rbx ;pop rsi ;pop rdi ;ret EndFunc ;==>ASM64_BitmapGetAverageColor Func asm_pixel03($a_opcode_num,$on=1,$iScan0="$stream[1]", $iWidth0=999, $iHeight0=999, $r0=20, $xr0=2, $yr0=2, $count_color0=1, $x0=0, $y0=0, $x1=50, $y1=0, $c0="506070",$Sleep0on=1) Local $return[10] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] $address01check = _MemoryRead6401($iScan0, $procHwnd_autoit01,'byte[8]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $address01check = Dec(Hex($address01check,16)) ;MsgBox(0, "Test", "N"&$address01check) If $address01check = 0x0 Then $on=0 If $on=1 Then $vtmem_ASM64_pixel01 = $vtmem_autoitX+0x1000 ; 0x1000 $x_min = $x0 $y_min = $y0 $x_max = $x1 $y_max = $y1 If $a_op_code[$a_opcode_num] = "" Then $op_code00 = ASM64_pixel03($iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0,$x_min,$y_min,$x_max,$y_max,$c0) $a_op_code[$a_opcode_num] = $op_code00 ElseIf $a_op_code[$a_opcode_num] <> "" Then $op_code00 = $a_op_code[$a_opcode_num] EndIf $x_count01 = Int( ($x_max-$x_min)/$xr0 ) $y_count01 = Int( ($y_max-$y_min)/$yr0 ) $iRowOffset = ($y_min+0) * $iWidth0+1 ; $iRowOffset = $iY * $iWidth + 1 $iRowOffset02 = "0x"&Hex(($iRowOffset + $x_min+0)*4) Local $iResult = ASM64_pixel03run($tCodeBuffer, $iScan0+$iRowOffset02, "0x"&Hex($vtmem_ASM64_pixel01,16),$x_count01*$y_count01, $op_code00,$Sleep0on) Return $iResult ElseIf $on=0 Then Return $return EndIf EndFunc Func ASM64_pixel03($iWidth=999, $iHeight=999, $r0=20, $xr0=1, $yr0=1, $count_color0=1, $x0=0, $y0=0, $x1=50, $y1=0, $c0="506070") $loop0 = Hex($count_color0-1,2) $x_min = $x0 $y_min = $y0 $x_max = $x1 $y_max = $y1 $y_asm = _ReadF( "0x"&Hex( ( ($iWidth+1)*4 )*$yr0 , 8) ,0) $x_asm = _ReadF( "0x"&Hex( ($x_max-$x_min)*4, 8) ,0) $return_c0 = ASM64_color01($c0, $r0) $FF0000min = $return_c0[0] $FF0000max = $return_c0[1] $00FF00min = $return_c0[2] $00FF00max = $return_c0[3] $0000FFmin = $return_c0[4] $0000FFmax = $return_c0[5] ; "FCFBE3" ;ConsoleWrite(" ms" & @CRLF&$FF0000min&@CRLF&$FF0000max&@CRLF&$00FF00min&@CRLF&$00FF00max&@CRLF&$0000FFmin&@CRLF&$0000FFmax&@CRLF) ;$iRowOffset = ($y_min) * $iWidth+1 ; $iRowOffset = $iY * $iWidth + 1 ;$iRowOffset02 = _ReadF( ($iRowOffset + $x_min+0)*4 ,0) $op_code00 = "" ;push rdi ;push rsi ;push rbx ;push rbp ;mov rsi,rcx // ;pointer to first pixel in memory from the bmp > address check $tPixelData ;mov rdi,rdx // ;pointer to memory from struct > address save $tStruct_ARGB ;mov rbx,r8 // ;amount of pixels > max pixel $iPixels ;// mov rax,[rsi] // address pixel memory xy $op_code00 &= "57 56 53 55 48 8B F1 48 8B FA 49 8B D8" ;// loop1: ;cmp byte ptr [rdi+10],0 // count pixel < 0+1 exit loop ;JA if_pixel01xy ;add [rdi+0],1 // 0 count pixel x y ;add [rdi+8],1 // count pixex x + 1 ;cmp byte ptr [rdi+0],4 // count pixel max x > 4-1 ;JB if_pixel01xy ; add rsi,999*1 // +999*1 = pixel y + 1 ; sub rsi,888*1 // -4*4 = pixel x - 4 > default x > 888*1 de lay 8 bytes ;mov [rdi+0],0 // reset count pixel x y ;add [rdi+C],1 // count pixex y + 1 ;if_pixel01xy: ; loop = 00 x + 1 get x + 1 count pixel max = 04 y + 99 09 00 00 x - 88 08 00 00 get y + 1 $op_code00 &= "80 7F 10 "&$loop0&" 77 2C 90 90 90 90 83 07 "&Hex($xr0,2)&" 83 47 08 "&Hex($xr0,2)&" 80 3F "&Hex($x_max-$x_min,2)&" 72 1C 90 90 90 90 48 81 C6 "&$y_asm&" 48 81 EE "&$x_asm&" C7 07 00 00 00 00 83 47 0C"&Hex($yr0,2) ;cmp byte ptr [rsi+0],77 // pixel xy Opt1 > Opt2 0xFF0000 0x70 ;JNAE if01 ;cmp byte ptr [rsi+0],99 // pixel xy Opt1 < Opt2 0xFF0000 0xFF ;JNBE if01 ;cmp byte ptr [rsi+1],77 // pixel xy Opt1 > Opt2 0x00FF00 0x70 ;JNAE if01 ;cmp byte ptr [rsi+1],99 // pixel xy Opt1 < Opt2 0x00FF00 0xFF ;JNBE if01 ;cmp byte ptr [rsi+2],77 // pixel xy Opt1 > Opt2 0x0000FF 0x70 ;JNAE if01 ;cmp byte ptr [rsi+2],99 // pixel xy Opt1 < Opt2 0x0000FF 0xFF ;JNBE if01 ; 77-3 99+3 77-3 99+3 77-3 99+3 $op_code00 &= "80 3E "&$FF0000min&" 72 54 90 90 90 90 80 3E "&$FF0000max&" 77 4B 90 90 90 90 80 7E 01 "&$00FF00min&" 72 41 90 90 90 90 80 7E 01 "&$00FF00max&" 77 37 90 90 90 90 80 7E 02 "&$0000FFmin&" 72 2D 90 90 90 90 80 7E 02 "&$0000FFmax&" 77 23 90 90 90 90" ;cmp byte ptr [rdi+10],0 // count pixel < 0+1 exit loop ;JA exit_loop01 ;add [rdi+10],1 // 0 count pixel find ;mov rax,[rsi+0] ;mov [rdi+14],rax // get color ;mov rbx,1 // exit loop ;exit_loop01: ; loop = 00 rbx = 01 exit loop > chinh lai ve 0 ;$op_code00 &= "80 7F 10 "&$loop0&" 77 19 90 90 90 90 83 47 10 01 48 8B 06 48 89 47 14 48 BB 01 00 00 00 00 00 00 00" $op_code00 &= "80 7F 10 "&$loop0&" 77 19 90 90 90 90 83 47 10 01 80 7F 10 "&Hex($loop0+1,2)&" 72 0B 90 48 BB 01 00 00 00 00 00 00 00" ;cmp byte ptr [rdi+10],7 // count pixel < 0+1 exit loop ;JA exit_loop01 ;add [rdi+10],1 // 0 count pixel find ;cmp byte ptr [rdi+10],06 ;JB 23CF43400D8 ;mov rbx,1 // exit loop ;exit_loop01: ; loop = 00 loop = 00 ;$op_code00 &= "80 7F 10 "&$loop0&" 77 19 83 47 10 01 80 7F 10 "&$loop0-1&" 72 0F 90 90 90 90 90 48 BB 01 00 00 00 00 00 00 00" ;if01: ;add rsi,4*1 // +4*1 = pixel x + 1 ;sub rbx,1 // for loop -1 = 0 exit loop ;JA loop1 ;// [rdi+8] > x 14 ;// [rdi+C] > y 3 ;// [rdi+0],4 // count pixel max = 4 ;// y3 * max 4 = 12 > x 14-12 > x = 2 y = 3 ;// [rdi+0] = count x y pixel ;// [rdi+8] = count pixex x + 1 ;// [rdi+C] = count pixex y + 1 ;// [rdi+10] = count pixel color ;// [rdi+14] = get pixel color ;pop rbp ;pop rbx ;pop rsi ;pop rdi ;ret ; x + 1 = 4*1 $op_code00 &= "48 83 C6 "&Hex(4*$xr0,2)&" 48 83 EB 01 0F 87 67 FF FF FF 5D 5B 5E 5F C3" Return $op_code00 EndFunc Func asm_all_pixel01($a_opcode_num,$on0=1,$iScan0="$stream[1]", $iWidth0="$stream[8]", $iHeight0="$stream[9]", $r0=20, $xr0=3, $yr0=3, $count_color0=1, $xyc0="330,105,DCBB39") Local $return[10] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] If $on0 = 1 Then $xyc0 = StringReplace($xyc0, " ", "") $mxy = StringSplit($xyc0,',',3) $max0 = (UBound($mxy)/3)-1 $num_pixel0 = 0 For $lp = 0 to $max0 $get_pixel0 = asm_pixel03($a_opcode_num,1,$iScan0, $iWidth0,$iHeight0, $r0, 2, 2, 1, $mxy[ ($lp*3)+0 ]-$xr0, $mxy[ ($lp*3)+1 ]-$yr0, $mxy[ ($lp*3)+0 ]+$xr0, $mxy[ ($lp*3)+1 ]+$yr0, $mxy[ ($lp*3)+2 ],0 ) ;$get_pixel0 = asm_pixel01(1,$iScan0, $iWidth0,$iHeight0, $r0, 1, 1, 1, $mxy[ ($lp*3)+0 ]-$xr0, $mxy[ ($lp*3)+1 ]-$yr0, $mxy[ ($lp*3)+0 ]+$xr0, $mxy[ ($lp*3)+1 ]+$yr0, $mxy[ ($lp*3)+2 ] ) If $get_pixel0[0] <> 0 Then $return[$lp+1] = $get_pixel0[0] $num_pixel0 += 1 EndIf Next If $num_pixel0 = $max0+1 Then $return[0] = 1 EndIf Return $return EndFunc ;$iResult = asm_pixel01($stream[1],$stream[8],$stream[9], 30,1,1,1, 330-3,105-3, 330+3, 105+ 3,"DCBB39") Func asm_pixel01($on=1,$iScan0="$stream[1]", $iWidth0=999, $iHeight0=999, $r0=20, $xr0=1, $yr0=1, $count_color0=1, $x0=0, $y0=0, $x1=50, $y1=0, $c0="506070") Local $return[10] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] $address01check = _MemoryRead6401($iScan0, $procHwnd_autoit01,'byte[8]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $address01check = Dec(Hex($address01check,16)) ;MsgBox(0, "Test", "N"&$address01check) If $address01check = 0x0 Then $on=0 If $on=1 Then $vtmem_ASM64_pixel01 = $vtmem_autoitX+0x1000 ; 0x1000 $x_min = $x0 $y_min = $y0 $x_max = $x1 $y_max = $y1 $op_code00 = ASM64_pixel01($iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0,$x_min,$y_min,$x_max,$y_max,$c0) $x_count01 = $x_max-$x_min $y_count01 = $y_max-$y_min $iRowOffset = ($y_min+0) * $iWidth0+1 ; $iRowOffset = $iY * $iWidth + 1 $iRowOffset02 = "0x"&Hex(($iRowOffset + $x_min+0)*4) Local $iResult = ASM64_opcode01run($tCodeBuffer, $iScan0+$iRowOffset02, "0x"&Hex($vtmem_ASM64_pixel01,16),$x_count01*$y_count01, $op_code00) Return $iResult ElseIf $on=0 Then Return $return EndIf EndFunc Func asm_pixel02($on=1,$iScan0="$stream[1]", $iWidth0=999, $iHeight0=999, $r0=20, $xr0=1, $yr0=1, $count_color0=1, $x0=0, $y0=0, $x1=50, $y1=0, $c0="506070") Local $return[10] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] $address01check = _MemoryRead6401($iScan0, $procHwnd_autoit01,'byte[8]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $address01check = Dec(Hex($address01check,16)) ;MsgBox(0, "Test", "N"&$address01check) If $address01check = 0x0 Then $on=0 If $on=1 Then $vtmem_ASM64_pixel01 = $vtmem_autoitX+0x1000 ; 0x1000 $x_min = $x0 $y_min = $y0 $x_max = $x1 $y_max = $y1 $op_code00 = ASM64_pixel01($iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0,$x_min,$y_min,$x_max,$y_max,$c0) $x_count01 = $x_max-$x_min $y_count01 = $y_max-$y_min $iRowOffset = ($y_min+0) * $iWidth0+1 ; $iRowOffset = $iY * $iWidth + 1 $iRowOffset02 = "0x"&Hex(($iRowOffset + $x_min+0)*4) Local $iResult = ASM64_opcode01run($tCodeBuffer, $iScan0+$iRowOffset02, "0x"&Hex($vtmem_ASM64_pixel01,16),$x_count01*$y_count01, $op_code00) Return $iResult ElseIf $on=0 Then Return $return EndIf EndFunc Func ASM64_pixel01($iWidth=999, $iHeight=999, $r0=20, $xr0=1, $yr0=1, $count_color0=1, $x0=0, $y0=0, $x1=50, $y1=0, $c0="506070") $loop0 = Hex($count_color0-1,2) $x_min = $x0 $y_min = $y0 $x_max = $x1 $y_max = $y1 $y_asm = _ReadF( "0x"&Hex( ($iWidth+1)*4, 8) ,0) $x_asm = _ReadF( "0x"&Hex( ($x_max-$x_min)*4, 8) ,0) $FF0000 = Dec(StringMid($c0, 5, 2)) $00FF00 = Dec(StringMid($c0, 3, 2)) $0000FF = Dec(StringMid($c0, 1, 2)) $FF0000min = $FF0000-$r0 If $FF0000min < 0 Then $FF0000min = 0 $FF0000min = Hex($FF0000min,2) Else $FF0000min = Hex($FF0000min,2) EndIf $FF0000max = $FF0000+$r0 If $FF0000max > 255 Then $FF0000max = 255 $FF0000max = Hex($FF0000max,2) Else $FF0000max = Hex($FF0000max,2) EndIf $00FF00min = $00FF00-$r0 If $00FF00min < 0 Then $00FF00min = 0 $00FF00min = Hex($00FF00min,2) Else $00FF00min = Hex($00FF00min,2) EndIf $00FF00max = $00FF00+$r0 If $00FF00max > 255 Then $00FF00max = 255 $00FF00max = Hex($00FF00max,2) Else $00FF00max = Hex($00FF00max,2) EndIf $0000FFmin = $0000FF-$r0 If $0000FFmin < 0 Then $0000FFmin = 0 $0000FFmin = Hex($0000FFmin,2) Else $0000FFmin = Hex($0000FFmin,2) EndIf $0000FFmax = $0000FF+$r0 If $0000FFmax > 255 Then $0000FFmax = 255 $0000FFmax = Hex($0000FFmax,2) Else $0000FFmax = Hex($0000FFmax,2) EndIf ; "FCFBE3" ;ConsoleWrite(" ms" & @CRLF&$FF0000min&@CRLF&$FF0000max&@CRLF&$00FF00min&@CRLF&$00FF00max&@CRLF&$0000FFmin&@CRLF&$0000FFmax&@CRLF) ;$iRowOffset = ($y_min) * $iWidth+1 ; $iRowOffset = $iY * $iWidth + 1 ;$iRowOffset02 = _ReadF( ($iRowOffset + $x_min+0)*4 ,0) $op_code00 = "" ;push rdi ;push rsi ;push rbx ;push rbp ;mov rsi,rcx // ;pointer to first pixel in memory from the bmp > address check $tPixelData ;mov rdi,rdx // ;pointer to memory from struct > address save $tStruct_ARGB ;mov rbx,r8 // ;amount of pixels > max pixel $iPixels ;// mov rax,[rsi] // address pixel memory xy $op_code00 &= "57 56 53 55 48 8B F1 48 8B FA 49 8B D8" ;// loop1: ;cmp byte ptr [rdi+10],0 // count pixel < 0+1 exit loop ;JA if_pixel01xy ;add [rdi+0],1 // 0 count pixel x y ;add [rdi+8],1 // count pixex x + 1 ;cmp byte ptr [rdi+0],4 // count pixel max x > 4-1 ;JB if_pixel01xy ; add rsi,999*1 // +999*1 = pixel y + 1 ; sub rsi,888*1 // -4*4 = pixel x - 4 > default x > 888*1 de lay 8 bytes ;mov [rdi+0],0 // reset count pixel x y ;add [rdi+C],1 // count pixex y + 1 ;if_pixel01xy: ; loop = 00 count pixel max = 04 y + 99 09 00 00 x - 88 08 00 00 $op_code00 &= "80 7F 10 "&$loop0&" 77 2C 90 90 90 90 83 07 01 83 47 08 01 80 3F "&Hex($x_max-$x_min,2)&" 72 1C 90 90 90 90 48 81 C6 "&$y_asm&" 48 81 EE "&$x_asm&" C7 07 00 00 00 00 83 47 0C 01" ;cmp byte ptr [rsi+0],77 // pixel xy Opt1 > Opt2 0xFF0000 0x70 ;JNAE if01 ;cmp byte ptr [rsi+0],99 // pixel xy Opt1 < Opt2 0xFF0000 0xFF ;JNBE if01 ;cmp byte ptr [rsi+1],77 // pixel xy Opt1 > Opt2 0x00FF00 0x70 ;JNAE if01 ;cmp byte ptr [rsi+1],99 // pixel xy Opt1 < Opt2 0x00FF00 0xFF ;JNBE if01 ;cmp byte ptr [rsi+2],77 // pixel xy Opt1 > Opt2 0x0000FF 0x70 ;JNAE if01 ;cmp byte ptr [rsi+2],99 // pixel xy Opt1 < Opt2 0x0000FF 0xFF ;JNBE if01 ; 77-3 99+3 77-3 99+3 77-3 99+3 $op_code00 &= "80 3E "&$FF0000min&" 72 54 90 90 90 90 80 3E "&$FF0000max&" 77 4B 90 90 90 90 80 7E 01 "&$00FF00min&" 72 41 90 90 90 90 80 7E 01 "&$00FF00max&" 77 37 90 90 90 90 80 7E 02 "&$0000FFmin&" 72 2D 90 90 90 90 80 7E 02 "&$0000FFmax&" 77 23 90 90 90 90" ;cmp byte ptr [rdi+10],0 // count pixel < 0+1 exit loop ;JA exit_loop01 ;add [rdi+10],1 // 0 count pixel find ;mov rax,[rsi+0] ;mov [rdi+14],rax // get color ;mov rbx,1 // exit loop ;exit_loop01: ; loop = 00 rbx = 01 exit loop > chinh lai ve 0 ;$op_code00 &= "80 7F 10 "&$loop0&" 77 19 90 90 90 90 83 47 10 01 48 8B 06 48 89 47 14 48 BB 01 00 00 00 00 00 00 00" $op_code00 &= "80 7F 10 "&$loop0&" 77 19 90 90 90 90 83 47 10 01 80 7F 10 "&Hex($loop0+1,2)&" 72 0B 90 48 BB 01 00 00 00 00 00 00 00" ;cmp byte ptr [rdi+10],7 // count pixel < 0+1 exit loop ;JA exit_loop01 ;add [rdi+10],1 // 0 count pixel find ;cmp byte ptr [rdi+10],06 ;JB 23CF43400D8 ;mov rbx,1 // exit loop ;exit_loop01: ; loop = 00 loop = 00 ;$op_code00 &= "80 7F 10 "&$loop0&" 77 19 83 47 10 01 80 7F 10 "&$loop0-1&" 72 0F 90 90 90 90 90 48 BB 01 00 00 00 00 00 00 00" ;if01: ;add rsi,4*1 // +4*1 = pixel x + 1 ;sub rbx,1 // for loop -1 = 0 exit loop ;JA loop1 ;// [rdi+8] > x 14 ;// [rdi+C] > y 3 ;// [rdi+0],4 // count pixel max = 4 ;// y3 * max 4 = 12 > x 14-12 > x = 2 y = 3 ;// [rdi+0] = count x y pixel ;// [rdi+8] = count pixex x + 1 ;// [rdi+C] = count pixex y + 1 ;// [rdi+10] = count pixel color ;// [rdi+14] = get pixel color ;pop rbp ;pop rbx ;pop rsi ;pop rdi ;ret $op_code00 &= "48 83 C6 04 48 83 EB 01 0F 87 67 FF FF FF 5D 5B 5E 5F C3" Return $op_code00 EndFunc ;$vtmem_autoitX = _MemVirtualAlloc(0x0, 0x2B0000, $MEM_COMMIT, $PAGE_EXECUTE_READWRITE) ;$tCodeBuffer = ASM64_opcode01() ;$op_code00 = "57 56 53 55 48 8B F1 48 8B FA 49 8B D8 48 8B 06 80 3E 70 72 1A 90 90 90 90 75 14 90 90 90 90 80 3E 90 77 0B 90 90 90 90 C7 46 08 21 33 21 33 48 83 EB 01 77 DB 5D 5B 5E 5F C3" ;Global $iResult = ASM64_opcode_run01($tCodeBuffer, $vtmem_autoitX,$vtmem_autoitX,10, $op_code00) Func ASM64_opcode01run($tCodeBuffer0="_DllStructCreate64", $address_pixel0=0x0, $address_check0=0x0, $address_loop0=10, $op_code00="90909090", $Sleep0on = 0) Local $iResult[10] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] $check_color01 = 0 ;$tCodeBuffer = _DllStructCreate64("byte ASM[255]") ;$op_code00 = "57 56 53 55 48 8B F1 48 8B FA 49 8B D8 48 8B 06 C7 07 21 33 21 33 48 89 5F 04 48 83 EB 01 77 F0 5D 5B 5E 5F C3" ;$op_code00 = "57 56 53 55 48 8B F1 48 8B FA 49 8B D8 48 8B 06 80 3E 70 72 1A 90 90 90 90 75 14 90 90 90 90 80 3E 90 77 0B 90 90 90 90 C7 46 08 21 33 21 33 48 83 EB 01 77 DB 5D 5B 5E 5F C3" $op_code00 = StringReplace($op_code00, " ", "") $tCodeBuffer0.ASM = "0x"&$op_code00 _MemoryWrite64($address_check0+0x0, $procHwnd_autoit01, ptr(0),'byte[40]') ; reset value = 0 DllCallAddress("uint:cdecl", DllStructGetPtr($tCodeBuffer0), "ptr", $address_pixel0, "ptr", $address_check0, "int", $address_loop0) If $Sleep0on = 1 Then Sleep(1) $get_data0 = _MemoryRead64($address_check0+0x10, $procHwnd_autoit01,'byte[4]', "Dec") ; type = ( byte, float, dword, char[], byte[] ... etc ) $get_data0x = _MemoryRead64($address_check0+0x8, $procHwnd_autoit01,'byte[4]', "Dec") ; type = ( byte, float, dword, char[], byte[] ... etc ) $get_data0y = _MemoryRead64($address_check0+0xC, $procHwnd_autoit01,'byte[4]', "Dec") ; type = ( byte, float, dword, char[], byte[] ... etc ) If $get_data0 > 0 Then $check_color01 = $get_data0 $iResult[0] = $check_color01 $iResult[1] = $address_loop0 $iResult[2] = DllStructGetPtr($tCodeBuffer0) $iResult[3] = $address_pixel0 $iResult[4] = $address_check0 $iResult[5] = $get_data0x $iResult[6] = $get_data0y Return $iResult ;push rdi ;push rsi ;push rbx ;push rbp ;mov rsi,rcx // ;pointer to first pixel in memory from the bmp > address check $tPixelData ;mov rdi,rdx // ;pointer to memory from struct > address save $tStruct_ARGB ;mov rbx,r8 // ;amount of pixels > max pixel $iPixels ;mov rax,[rsi] // address pixel memory xy ;//loop1: ;mov [rdi],33213321 ;//sub rbx,02 // for loop -2 ;//ja loop1 ;pop rbp ;pop rbx ;pop rsi ;pop rdi ;ret EndFunc ;==>ASM64_BitmapGetAverageColor Func _BinToDec($sNumber) Local Static $tChr = DllStructCreate("char[64];") Local $iNum, $aRes $aRes = DllCall("msvcrt.dll", "uint64:cdecl", "_strtoui64", "str", $sNumber, "ptr", 0, "int", 2) $iNum = $aRes[0] $aRes = DllCall("msvcrt.dll", "ptr:cdecl", "_i64toa", "int64", $iNum, "ptr", DllStructGetPtr($tChr), "int", 10) Return DllStructGetData($tChr, 1) EndFunc Func _regex01check($on0, $iScan0, $setting0=1, $r0=10, $xr0=3, $yr0=3, $xyc0="0_0_505050") ; check = 0 = hex_color, check = 1 = 0 > 1, check = 2 number 1+, check = 3 = 0 > number 1+ Local $return[10] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] $mxy = StringSplit($xyc0,'_',3) $max0 = (UBound($mxy)/3)-1 $num_pixel0 = 0 ;_ArrayDisplay($mxy) For $lp = 0 to $max0 $get_pixel0 = _regex_color02(1,$iScan0, $setting0, $r0, $xr0, $yr0, 3, $mxy[ ($lp*3)+0 ], $mxy[ ($lp*3)+1 ],$mxy[ ($lp*3)+2 ]) ; check = 0 = hex_color, check = 1 = 0 > 1, check = 2 color number, check = 3 y scroll ;If $setting0=2 Then ; _ArrayDisplay($mxy) ; _ArrayDisplay($get_pixel0) ;EndIf If $get_pixel0[0] <> 0 Then $return[$lp+1] = $get_pixel0[0] $num_pixel0 += 1 EndIf Next If $num_pixel0 = $max0+1 Then $return[0] = 1 Return $return EndFunc Func _regex_color04($on0=1,$iScan0="", $setting0=1, $r0=20, $xr0=1, $yr0=1, $count_color0=3, $x0=0, $y0=0, $x1=0, $y1=0, $c0="505050",$view0=0 &@CRLF& _ ; check = 0 = hex_color, check = 1 = 0 > 1, check = 2 color number, check = 3 y scroll "" ) $color_hex0 = 0 $x_new = 0 $y_new = 0 Local $hex_color00 = "" Local $all_color00 = "" Local $return[9] $x_min = $x0 $y_min = $y0 $x_max = $x1 $y_max = $y1 If $on0=1 Then If StringLen($c0) = 6 Then $pixel_regex01 = _regex_pixel01($c0, $r0)&"\ " ; 0 = hex 1 = array bytes ElseIf StringLen($c0) > 6 Then $pixel_regex01 = $c0 EndIf ;$asResult = StringRegExpReplace($all_color00, $pixel_regex01, " XXXXXX ") ; &"\ " = Co khoang cach phia truoc > &"(.{6})" = kiem tra next 6 bytes ;$asResult = StringRegExpReplace($all_color00, $pixel_regex01, " XXXXXX ") ; &"\ " = Co khoang cach phia truoc > &"(.{6})" = kiem tra next 6 bytes For $iY = 0 To $y_max-$y_min Step $yr0; Y fast x3 $iRowOffset = ($y_min+$iY) * $stream[8]+1 ; $iRowOffset = $iY * $iWidth + 1 $iRowOffset02 = "0x"&Hex(($iRowOffset + $x_min+0)*4) $hex_color00 = _MemoryRead64($iScan0+$iRowOffset02, $procHwnd_autoit01,'byte['&($x_max-$x_min)*4&']',"Array") $all_color00 = StringReplace($hex_color00, '0x', '') $all_color00 = StringRegExpReplace($all_color00, '(.{6})\w{'& ( ($xr0-1)*8) + 2 &'}', '$1 ') ; (.{6}) = stringlen+6 \d{2} = remove last 2 char \w = all char > '$1 ' = tao dau cach 6 bytes $asResult = StringRegExp($all_color00, $pixel_regex01, 3) ; "\ " = Co khoang cach phia truoc If UBound($asResult)>0 Then Local $string_hex01 = _ArrayToString($asResult) $string_hex01 = StringReplace($string_hex01, " ", "") $asResult01 = StringRegExp($string_hex01, "(^|)(\w{6,6})($|)", 1) ; '(^|)(\w{6,6})($|)' > (^|) truoc = | (\w{6,6}) = length 6 ($|) sau = | $iPosition = -1 If UBound($asResult01)-1 > 0 Then ; tim vi ti color hex Local $iPosition = StringInStr($string_hex01, $asResult01[1]) Local $color_hex0 = StringMid($string_hex01, $iPosition, 6) Local $x_byte = Int( ( ($x_max-$x_min)*4 )/4 ) ; 678 - 551 = 127 $x_count = $iPosition ; 1607-(12*127) = 83 $x_new = $x_min+Int($x_count*$xr0) ; 551 + 83 = 634 $y_new = $y_min+Int($iY) ; 3 + 12 = 15 If $view0=1 Then MsgBox($MB_SYSTEMMODAL, "", "$iPosition = "&$iPosition&" $color_hex0 = "&$color_hex0&" $x_new = "&$x_new&" $y_new = "&$y_new & _ @CRLF&" $x_byte="&$x_byte&" $y_new="&$y_new&" $x_count="&$x_count&" $x_new="&$x_new) EndIf ExitLoop EndIf EndIf ;ConsoleWrite("N"& $iY & " > " & $hex_color00 & @CRLF) $all_color00 &= $hex_color00 Next $return[0] = $color_hex0 $return[1] = $x_new $return[2] = $y_new ElseIf $on0=0 Then $return[0] = 0 $return[1] = 0 $return[2] = 0 EndIf ; $on0=1 Return $return EndFunc Func _regex_color03($on0=1,$iScan0="", $setting0=1, $r0=20, $xr0=1, $yr0=1, $count_color0=3, $x0=0, $y0=0, $x1=0, $y1=0, $c0="505050",$view0=0 &@CRLF& _ ; check = 0 = hex_color, check = 1 = 0 > 1, check = 2 color number, check = 3 y scroll "" ) $color_hex0 = 0 $x_new = 0 $y_new = 0 Local $hex_color00 = "" Local $all_color00 = "" Local $return[9] $x_min = $x0 $y_min = $y0 $x_max = $x1 $y_max = $y1 If $on0=1 Then ;ClipPut($iScan0) ;MsgBox("","check","01 = "&$iScan0&" $x0 = "&$x0&" $y0 = "&$y0&" $c0 = "&$c0,0) ;$title_hex01 = "514835" ;$title_hex01 = "([2-3][0-F][3-4][0-F][3-5][0-F]|[2-4][0-9][3-5][0-C][3-6][0-5]){0,6}"&"\ " If StringLen($c0) = 6 Then $pixel_regex01 = _regex_pixel01($c0, $r0)&"\ " ; 0 = hex 1 = array bytes ElseIf StringLen($c0) > 6 Then $pixel_regex01 = $c0 EndIf ;$asResult = StringRegExpReplace($all_color00, $pixel_regex01, " XXXXXX ") ; &"\ " = Co khoang cach phia truoc > &"(.{6})" = kiem tra next 6 bytes ;$asResult = StringRegExpReplace($all_color00, $pixel_regex01, " XXXXXX ") ; &"\ " = Co khoang cach phia truoc > &"(.{6})" = kiem tra next 6 bytes For $iY = 0 To $y_max-$y_min Step $yr0; Y fast x3 $iRowOffset = ($y_min+$iY) * $stream[8]+1 ; $iRowOffset = $iY * $iWidth + 1 $iRowOffset02 = "0x"&Hex(($iRowOffset + $x_min+0)*4) $hex_color00 = _MemoryRead64($iScan0+$iRowOffset02, $procHwnd_autoit01,'byte['&($x_max-$x_min)*4&']',"Array") $all_color00 = StringReplace($hex_color00, '0x', '') $all_color00 = StringRegExpReplace($all_color00, '(.{6})\w{'& ( ($xr0-1)*8) + 2 &'}', '$1 ') ; (.{6}) = stringlen+6 \d{2} = remove last 2 char \w = all char > '$1 ' = tao dau cach 6 bytes $asResult = StringRegExp($all_color00, $pixel_regex01, 3) ; "\ " = Co khoang cach phia truoc If UBound($asResult)>0 Then Local $string_hex01 = _ArrayToString($asResult) $string_hex01 = StringReplace($string_hex01, " ", "") $asResult01 = StringRegExp($string_hex01, "(^|)(\w{6,6})($|)", 1) ; '(^|)(\w{6,6})($|)' > (^|) truoc = | (\w{6,6}) = length 6 ($|) sau = | $iPosition = -1 If UBound($asResult01)-1 > 0 Then ; tim vi ti color hex Local $iPosition = StringInStr($string_hex01, $asResult01[1]) Local $color_hex0 = StringMid($string_hex01, $iPosition, 6) Local $x_byte = Int( ( ($x_max-$x_min)*4 )/4 ) ; 678 - 551 = 127 $x_count = $iPosition ; 1607-(12*127) = 83 $x_new = $x_min+Int($x_count*$xr0) ; 551 + 83 = 634 $y_new = $y_min+Int($iY) ; 3 + 12 = 15 If $view0=1 Then MsgBox($MB_SYSTEMMODAL, "", "$iPosition = "&$iPosition&" $color_hex0 = "&$color_hex0&" $x_new = "&$x_new&" $y_new = "&$y_new & _ @CRLF&" $x_byte="&$x_byte&" $y_new="&$y_new&" $x_count="&$x_count&" $x_new="&$x_new) EndIf ExitLoop EndIf EndIf ;ConsoleWrite("N"& $iY & " > " & $hex_color00 & @CRLF) $all_color00 &= $hex_color00 Next $return[0] = $color_hex0 $return[1] = $x_new $return[2] = $y_new ElseIf $on0=0 Then $return[0] = 0 $return[1] = 0 $return[2] = 0 EndIf ; $on0=1 Return $return EndFunc Func _regex_color02($on0=1,$iScan0="", $setting0=1, $r0=20, $xr0=3, $yr0=3, $count_color0=3, $x0=0, $y0=0, $c0="505050",$view0=0 &@CRLF& _ ; check = 0 = hex_color, check = 1 = 0 > 1, check = 2 color number, check = 3 y scroll "" ) $g_color0check = 0 $g_color0min = 0 $g_color0max = 0 Local $hex_color00 = "" Local $all_color00 = "" Local $return[9] $x_min = $x0-$xr0 $y_min = $y0-$yr0 $x_max = $x0+$xr0 $y_max = $y0+$yr0 If $on0=1 Then ;ClipPut($iScan0) ;MsgBox("","check","01 = "&$iScan0&" $x0 = "&$x0&" $y0 = "&$y0&" $c0 = "&$c0,0) For $iY = 0 To $y_max-$y_min Step 1; Y fast x3 $iRowOffset = ($y_min+$iY) * $stream[8]+1 ; $iRowOffset = $iY * $iWidth + 1 $iRowOffset02 = "0x"&Hex(($iRowOffset + $x_min+0)*4) $hex_color00 = _MemoryRead64($iScan0+$iRowOffset02, $procHwnd_autoit01,'byte['&($x_max-$x_min)*4&']',"Array") $all_color00 &= $hex_color00 Next ;ClipPut($hex_color00) $all_color00 = StringReplace($all_color00, '0x', '') $all_color00 = StringRegExpReplace($all_color00, '(.{6})\w{2}', '$1 ') ; (.{6}) = stringlen+6 \d{2} = remove last 2 char \w = all char > '$1 ' = tao dau cach 6 bytes If StringLen($c0) = 6 Then $pixel_regex01 = _regex_pixel01($c0, $r0)&"\ " ; 0 = hex 1 = array bytes ElseIf StringLen($c0) > 6 Then $pixel_regex01 = $c0 EndIf ;$asResult = StringRegExpReplace($all_color00, $pixel_regex01&"\ ", "XXXXXX") ; &"\ " = Co khoang cach phia truoc > &"(.{6})" = kiem tra next 6 bytes $asResult = StringRegExp($all_color00, $pixel_regex01, 3) ; "\ " = Co khoang cach phia truoc If $view0=1 Then ClipPut($pixel_regex01) MsgBox("","check","01 = "&$iScan0&" 03 = "&$iRowOffset02&" 03 = "&$iScan0+$iRowOffset02&" 04 = "&$all_color00,0) _ArrayDisplay($asResult,"_ArrayDisplay($asResult) = "&$pixel_regex01) EndIf ;$paren = @extended ;_ArrayDisplay($asResult) ;If $paren<>"" Then $g_color0min = $paren If UBound($asResult)>0 Then If $view0=1 Then _ArrayDisplay($asResult,"_ArrayDisplay($asResult) = "&$pixel_regex01) $g_color0max = UBound($asResult) Local $string_hex0 = _ArrayToString($asResult) $string_hex0 = StringReplace($string_hex0, "|", "") $string_hex0 = StringReplace($string_hex0, " ", "") $string_len0 = Int( (stringlen($string_hex0))/6 ) $g_color0min = $string_len0 If $g_color0min > $count_color0 and $g_color0min <> $g_color0max Then $g_color0check = 1 If $setting0=0 Then $g_color0check = $string_hex0 If $setting0=2 Then $g_color0check = $string_len0 ; ClipPut($string_hex0) ; _ArrayDisplay($asResult) ;EndIf EndIf ;MsgBox("","check","$g_color0min = "&$g_color0min&" $string_len0 = "&$string_len0&" $x0 = "&$x0&" $y0 = "&$y0&" $c0 = "&$c0,0) $return[0] = $g_color0check $return[1] = $g_color0min $return[2] = $g_color0max ElseIf $on0=0 Then $return[0] = 0 $return[1] = 0 $return[2] = 0 EndIf ; $on0=1 Return $return EndFunc Func _regex_color01($on0, $iScan0="", $check0=0, $color0="505050", $r0=20, $speed0=1, $x_min=0, $y_min=0, $x_max=0, $y_max=0 &@CRLF& _ ; check = 0 = hex_color, check = 1 = 0 > 1, check = 2 color number, check = 3 y scroll "" ) $g_color0check = 0 $g_color0min = 0 $g_color0max = 0 $hex_color00 = "" $all_color00 = "" Local $return[9] For $iY = 0 To $y_max-$y_min Step + $speed0 ; Y fast x3 $iRowOffset = ($y_min+$iY) * $stream[8]+1 ; $iRowOffset = $iY * $iWidth + 1 $iRowOffset02 = "0x"&Hex(($iRowOffset + $x_min+0)*4) $hex_color00 = _MemoryRead64($iScan0+$iRowOffset02, $procHwnd_autoit01,'byte['&($x_max-$x_min)*4&']',"Array") $all_color00 &= $hex_color00 Next ;ClipPut($hex_color00) $all_color00 = StringReplace($all_color00, '0x', '') $all_color00 = StringRegExpReplace($all_color00, '(.{6})\w{2}', '$1 ') ; (.{6}) = stringlen+6 \d{2} = remove last 2 char \w = all char > '$1 ' = tao dau cach 6 bytes ;ClipPut($all_color00) ;MsgBox("","check","01 = "&$iScan0&" 03 = "&$iRowOffset02&" 03 = "&$iScan0+$iRowOffset02&" 04 = "&$all_color00,0) If StringLen($color0) = 6 Then $pixel_regex01 = _regex_pixel01($color0, $r0) ; 0 = hex 1 = array bytes ElseIf StringLen($color0) > 6 Then $pixel_regex01 = $color0 EndIf ;$asResult = StringRegExpReplace($all_color00, $pixel_regex01&"\ ", "XXXXXX") ; &"\ " = Co khoang cach phia truoc > &"(.{6})" = kiem tra next 6 bytes $asResult = StringRegExp($all_color00, $pixel_regex01, 3) ; "\ " = Co khoang cach phia truoc ;$paren = @extended ;_ArrayDisplay($asResult) ;If $paren<>"" Then $g_color0min = $paren If UBound($asResult)>0 Then For $lp = 0 to UBound($asResult)-1 If $asResult[$lp] <> " " Then $g_color0min += 1 Next $g_color0max = UBound($asResult) If $g_color0min > 1 Then $g_color0check = 1 EndIf $return[0] = $g_color0check $return[1] = $g_color0min $return[2] = $g_color0max Return $return EndFunc Func _regex_pixel01($c_color0, $shade = 16, $hex_byte0 = 1,$view0 = 0 ) ; 0 = hex 1 = array bytes If $hex_byte0 = 0 Then $FF0000 = Dec(StringMid($c_color0, 1, 2)) $00FF00 = Dec(StringMid($c_color0, 3, 2)) $0000FF = Dec(StringMid($c_color0, 5, 2)) ElseIf $hex_byte0 = 1 Then $FF0000 = Dec(StringMid($c_color0, 5, 2)) $00FF00 = Dec(StringMid($c_color0, 3, 2)) $0000FF = Dec(StringMid($c_color0, 1, 2)) EndIf If $view0 = 1 Then ConsoleWrite("$FF0000 = "&$FF0000&" $00FF00 = "&$00FF00 &" $0000FF = "&$0000FF & "$FF0000 = "&Hex($FF0000,2)&" $00FF00 = "&Hex($00FF00,2) &" $0000FF = "&Hex($0000FF,2) & @CRLF) $FF0000_min = $FF0000-$shade If $FF0000_min < 0 Then $FF0000_min = 0 $FF0000_min = Hex($FF0000_min,2) Else $FF0000_min = Hex($FF0000_min,2) EndIf $FF0000_max = $FF0000+$shade If $FF0000_max > 255 Then $FF0000_max = 255 $FF0000_max = Hex($FF0000_max,2) Else $FF0000_max = Hex($FF0000_max,2) EndIf $FF0000 = Hex($FF0000,2) $FF0000_s01 = "["&StringMid($FF0000_min, 1, 1)&"-"&StringMid( Hex(Dec($FF0000_max)-16,2) , 1, 1)&"]" & "[0-F]" $FF0000_s02 = "["&StringMid($FF0000_min, 1, 1)&"-"&StringMid($FF0000_max, 1, 1)&"]" & "[0-"&StringMid($FF0000_max, 2, 1)&"]" ;ConsoleWrite("$FF0000_min = "&$FF0000_min&" $FF0000 = "&$FF0000&" $FF0000_max = "&$FF0000_max & @CRLF) ;ConsoleWrite("$FF0000_s01 = "&$FF0000_s01&" $FF0000_s02 = "&$FF0000_s02 & @CRLF) $00FF00_min = $00FF00-$shade If $00FF00_min < 0 Then $00FF00_min = 0 $00FF00_min = Hex($00FF00_min,2) Else $00FF00_min = Hex($00FF00_min,2) EndIf $00FF00_max = $00FF00+$shade If $00FF00_max > 255 Then $00FF00_max = 255 $00FF00_max = Hex($00FF00_max,2) Else $00FF00_max = Hex($00FF00_max,2) EndIf $00FF00 = Hex($00FF00,2) $00FF00_s01 = "["&StringMid($00FF00_min, 1, 1)&"-"&StringMid( Hex(Dec($00FF00_max)-16,2) , 1, 1)&"]" & "[0-F]" $00FF00_s02 = "["&StringMid($00FF00_min, 1, 1)&"-"&StringMid($00FF00_max, 1, 1)&"]" & "[0-"&StringMid($00FF00_max, 2, 1)&"]" ;ConsoleWrite("$00FF00_min = "&$00FF00_min&" $00FF00 = "&$00FF00&" $00FF00_max = "&$00FF00_max & @CRLF) ;ConsoleWrite("$00FF00_s01 = "&$00FF00_s01&" $00FF00_s02 = "&$00FF00_s02 & @CRLF) $0000FF_min = $0000FF-$shade If $0000FF_min < 0 Then $0000FF_min = 0 $0000FF_min = Hex($0000FF_min,2) Else $0000FF_min = Hex($0000FF_min,2) EndIf $0000FF_max = $0000FF+$shade If $0000FF_max > 255 Then $0000FF_max = 255 $0000FF_max = Hex($0000FF_max,2) Else $0000FF_max = Hex($0000FF_max,2) EndIf $0000FF = Hex($0000FF,2) $0000FF_s01 = "["&StringMid($0000FF_min, 1, 1)&"-"&StringMid( Hex(Dec($0000FF_max)-16,2) , 1, 1)&"]" & "[0-F]" $0000FF_s02 = "["&StringMid($0000FF_min, 1, 1)&"-"&StringMid($0000FF_max, 1, 1)&"]" & "[0-"&StringMid($0000FF_max, 2, 1)&"]" ;ConsoleWrite("$0000FF_min = "&$0000FF_min&" $0000FF = "&$0000FF&" $0000FF_max = "&$0000FF_max & @CRLF) ;ConsoleWrite("$0000FF_s01 = "&$0000FF_s01&" $0000FF_s02 = "&$0000FF_s02 & @CRLF) If $view0 = 1 Then ConsoleWrite($FF0000_s01 & $00FF00_s01 & $0000FF_s01 &"|"& $FF0000_s02 & $00FF00_s02 & $0000FF_s02 & @CRLF) ; [8-B][0-F][9-C][0-F][A-D][0-F]|[8-C][0-C][9-B][0-B][A-F][0-4] If $hex_byte0 = 0 Then $pixels = "("&$FF0000_s01 & $00FF00_s01 & $0000FF_s01 &"|"& $FF0000_s02 & $00FF00_s02 & $0000FF_s02&"){0,6}" ; . {0,6} = next 6 bytes ElseIf $hex_byte0 = 1 Then $pixels = "("&$FF0000_s01 & $00FF00_s01 & $0000FF_s01 &"|"& $FF0000_s02 & $00FF00_s02 & $0000FF_s02&"){0,6}" ; . {0,6} = next 6 bytes EndIf ;_ArrayDisplay($pixels) ;MsgBox($MB_OK, "SRE Example 5 Result", $pixels) Return $pixels EndFunc ; Local $stream = WinCapture_cs01($control01,3,$game_cap_x02,$game_cap_y02,$view_screen01,$game_cap_x01,$game_cap_y01,$g_x,$g_y) ; chay only show gui image Func WinCapture_cs02($hWnd,$nFlags, $iWidth = -1, $iHeight = -1, $del_hBMP=0, $x0=0, $y0=0, $g_x0=0, $g_y0=0,$copy_view01=1 ) ; chay only show gui image ;Local $hTimer = TimerInit() ;$copy_view01 = 1 $gdi_plus01 = 1 _GDIPlus_Startup() ; Lay image game vao memory Local $iH, $iW, $hDDC, $hCDC, $hBMP If $iWidth = -1 Then $iWidth = _WinAPI_GetWindowWidth($hWnd) If $iHeight = -1 Then $iHeight = _WinAPI_GetWindowHeight($hWnd) $hDDC = _WinAPI_GetDC($hWnd) $hCDC = _WinAPI_CreateCompatibleDC($hDDC) $hBMP = _WinAPI_CreateCompatibleBitmap($hDDC, $iWidth, $iHeight) _WinAPI_SelectObject($hCDC, $hBMP) _WinAPI_DeleteObject($hBMP) ; xoa ko hien thi hinh gui nhung van co trong memory DllCall("User32.dll", "int", "PrintWindow", "hwnd", $hWnd, "hwnd", $hCDC, "int", $nFlags) ; bit map lockbits nhanh hon Local $BMP = _GDIPlus_BitmapCreateFromHBITMAP($hBMP) ;_WinAPI_DeleteObject($hClone01) ; _GDIPlus_BitmapDispose($hClone01) If $gdi_plus01=1 Then ;_WinAPI_CreateColorAdjustment ( [$iFlags = 0 [, $iIlluminant = 0 [, $iGammaR = 10000 [, $iGammaG = 10000 [, $iGammaB = 10000 [, $iBlack = 0 [, $iWhite = 10000 [, $iContrast = 0 [, $iBrightness = 0 [, $iColorfulness = 0 [, $iTint = 0]]]]]]]]]]] ) ;Global $g_aDefault[11] = [10000, 10000, 10000, 0, 10000, 100, 0, 0, 0, 0, 0] ;set Tint to 100 ;Global $g_aDefault[11] = [10000, 10000, 10000, 1540, 6000, 100, -39, 0, 0, 0, 0] ;set Tint to 100 ;Global $g_aDefault[11] = [10000, 10000, 10000, 0, 10000, 50, -25, 0, 0, 0, 0] ;set Tint to 100 ;$g_aDefault[9] = BitOR($g_aDefault[9], $CA_NEGATIVE) ; invert color ;$g_aDefault[9] = BitAND($g_aDefault[9], BitNOT($CA_NEGATIVE)) $g_aDefault[9] = BitOR($g_aDefault[9], $CA_LOG_FILTER) ; sang hon ; $g_aDefault[9] = BitAND($g_aDefault[9], BitNOT($CA_LOG_FILTER)) ; $hSrc = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hObj) $hSrc = _GDIPlus_BitmapCreateHBITMAPFromBitmap($BMP) ; $hSrc=_ScreenCapture_Capture("",0,0, 500,300) _GDIPlus_BitmapDispose($BMP) ; bi loi tang memory size Local $tAdjust = 0 If IsArray($g_aDefault) Then $tAdjust = _WinAPI_CreateColorAdjustment($g_aDefault[9], $g_aDefault[10], $g_aDefault[0], $g_aDefault[1], $g_aDefault[2], $g_aDefault[3], $g_aDefault[4], $g_aDefault[5], $g_aDefault[6], $g_aDefault[7], $g_aDefault[8]) EndIf $hBitmap = _WinAPI_AdjustBitmap($hSrc, -1, -1, $HALFTONE, $tAdjust) If @error Then Return 0 EndIf $g_hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hBitmap) EndIf ;------------------------------------------------------------------------------------------- If $copy_view01 = 1 Then ; clone handle hinh anh $g_hGraphics = _GDIPlus_GraphicsCreateFromHWND($g_hGUI) ;create a graphics object from a window handle ;$g_hBitmap = _GDIPlus_BitmapCreateFromGraphics($iWidth, $iHeight, $g_hGraphics) ;$g_hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hBitmap) $g_hGfxCtxt = _GDIPlus_ImageGetGraphicsContext($g_hBitmap) ;_GDIPlus_ImageSaveToFile($g_hBitmap, "c:\acc\0_MEO_D01_1.jpg") ; _WinAPI_DeleteObject($hBitmap) ko save duoc _GDIPlus_GraphicsDrawImage($g_hGfxCtxt, $g_hBitmap, 0, 0) ;draw bitmap to backbuffer _GDIPlus_GraphicsDrawImageRect($g_hGraphics, $g_hBitmap, 0, 0, $iWidth, $iHeight) ;copy drawn bitmap to graphics handle (GUI) _GDIPlus_GraphicsDispose($g_hGfxCtxt) _GDIPlus_GraphicsDispose($g_hGraphics) ;_WinAPI_DeleteObject($g_hBitmap) ;_WinAPI_DeleteObject($BMP) EndIf If $gdi_plus01=1 Then _WinAPI_DeleteObject($hBitmap) _WinAPI_DeleteObject($hSrc) EndIf ; trancexx ;Local $aArray[$iHeight][$iWidth] ;Local $tBitmapData = _GDIPlus_BitmapLockBits($pBitmap, 0, 0, $iWidth, $iHeight, BitOR($GDIP_ILMWRITE, $GDIP_ILMREAD), $GDIP_PXF32ARGB) ;Local $tPixel = DllStructCreate("dword[" & $iWidth * $iHeight & "];", DllStructGetData($tBitmapData, "Scan0")) ;For $iX = 0 To $iWidth - 1 ; For $iY = 0 To $iHeight - 1 ; $aArray[$iY][$iX] = BitAND(DllStructGetData($tPixel, 1, $iY * $iWidth + $iX + 1), 0xFFFFFF) ; Next ;Next ;_GDIPlus_BitmapUnlockBits($pBitmap, $tBitmapData) ; end trance ; Local $tBitmapData = _GDIPlus_BitmapLockBits($BMP, $x0, $y0, $iWidth, $iHeight, BitOR($GDIP_ILMWRITE, $GDIP_ILMREAD), $GDIP_PXF32ARGB) ;locks a portion of a bitmap for reading and writing. More infor at http://msdn.microsoft.com/en-us/library/windows/desktop/ms536298(v=vs.85).aspx ; Local $iScan0 = DllStructGetData($tBitmapData, "Scan0") ;get scan0 (pixel data) from locked bitmap ; Local $iSearchPixel = Int(0xFF000080), $iReplaceColor = 0x00000000 ;color format 0xAARRGGBB ; Local $tPixel = DllStructCreate("int[" & $iWidth * $iHeight & "];", $iScan0) ; > int dec ;Local $tPixel = DllStructCreate("byte[" & $iHeight * $iWidth* 4 & "]", $iScan0) ; > array bytes flip ; Locks a portion of a bitmap for reading or writing Local $tBitmapData = _GDIPlus_BitmapLockBits($g_hBitmap, $x0, $y0, $iWidth, $iHeight, BitOR($GDIP_ILMREAD, $GDIP_ILMWRITE), $GDIP_PXF32ARGB) ;Get the returned values of _GDIPlus_BitmapLockBits () Local $width = DllStructGetData($tBitmapData, "width") Local $height = DllStructGetData($tBitmapData, "height") Local $stride = DllStructGetData($tBitmapData, "stride") Local $format = DllStructGetData($tBitmapData, "format") Local $Scan0 = DllStructGetData($tBitmapData, "Scan0") Local $tPixel = DllStructCreate("byte[" & $height * $width * 4 & "]", $Scan0) ; Create DLL structure for all pixels Local $iPixel, $iRowOffset ; end Lay image game vao memory ;_WinAPI_DeleteDC($hCDC) ;$vtmem_autoitX = _MemVirtualAlloc(0x0, 0x2B0000, $MEM_COMMIT, $PAGE_EXECUTE_READWRITE) ; khoi tao 1 lan duy nhat khong se bi error memory ;$tCodeBuffer = ASM64_opcode01vtmem() ; khoi tao 1 lan duy nhat khong se bi error memory ;$vtmem_autoit_screenX = $vtmem_autoitX+0x100000 ; 0x1000 _WinAPI_MoveMemory($vtmem_autoit_screenX, $tPixel, $height * $width * 4) ;ClipPut($vtmem_autoit_screenX&@CRLF&$iScan0) ;MsgBox("","check","$iScan0 = "&$iScan0&" $tBitmapData = "&$tBitmapData,0) ;$AllPixels = DllStructGetData($v_BufferA, 1) ;ConsoleWrite("$AllPixels, raw data, first 9 colours = " & StringRegExpReplace($AllPixels, "(.{98})(.*)", "\1") & @CRLF) ;#CS ;$Stride = DllStructGetData($tBitmapData, "Stride") ;ConsoleWrite("Bitmap Stride: " & $Stride & @CRLF) ;$Width = DllStructGetData($tBitmapData, "Width") ;ConsoleWrite("Bitmap Width: " & $Width & @CRLF) ;$Height = DllStructGetData($tBitmapData, "Height") ;ConsoleWrite("Bitmap Height: " & $Height & @CRLF) ;$PixelFormat = DllStructGetData($tBitmapData, "PixelFormat") ;ConsoleWrite("Bitmap PixelFormat: " & $PixelFormat & @CRLF) ;$Scan0 = DllStructGetData($tBitmapData, "Scan0") ;ConsoleWrite("Bitmap Scan0: " & $Scan0 & @CRLF) ;$pPixels = $Scan0 ;If $pPixels <> 0x000000 Then ;$x0 = 670 ;$x1 = 689 ;$y0 = 56 ;$y1 = 75 ;For $row = $y0 To $y1 - 1 ; For $col = $x0 To $x1 - 1 ; $pixel = DllStructCreate("dword", $Scan0 + $row * $Stride + $col*4) ; $h_color0 = Hex(DllStructGetData($pixel, 1),8) ; ConsoleWrite(" x ="&$col&" y = "&$row&" color_hex = "&$h_color0 & @CRLF) ; Next ; ConsoleWrite("-------" & @CRLF) ;Next ;EndIf ;#CE ;Sleep(50000) ; change color = memory ; change color = StringRegExpReplace($hImage, $iColSrch, $iColNew, $iCount) $change_color01 = 0 $change_color02 = 0 $iCount = 0 If $change_color01 <> 0 or $change_color02 <> 0 Then $color_hex01 = DllStructGetData($tPixel, 1 ) ;get pixel color array bytes $sREResult1 = StringRegExpReplace(StringTrimLeft($color_hex01, 2), "(.{8})", "\1 ") ; ConsoleWrite("$sREResult1 first 9 colours = " & StringRegExpReplace($sREResult1, "(.{81})(.*)", "\1") & @CRLF) EndIf If $change_color01 = 1 Then $iColSrch = "(?i)([0-3][0-9A-F]{5}FF)" ; Change near black to black $iColNew = "FFFFFFFF" ;If StringInStr($iColNew, "0x") > 0 Then $iColNew = StringReplace($iColNew, "0x", ""); Remove "0x" not needed ; StringRegExpReplace performed and white spaces removed $sResult = StringStripWS(StringRegExpReplace($sREResult1, $iColSrch, $iColNew, $iCount), 8) EndIf If $change_color02 = 1 Then $iColSrch = "(?i)([0-3][0-9A-F]{5}FF)" ; Change near black to black FFFFFFFF $iColNew = "55FF55FF" ;If StringInStr($iColNew, "0x") > 0 Then $iColNew = StringReplace($iColNew, "0x", ""); Remove "0x" not needed ; StringRegExpReplace performed and white spaces removed If $change_color01 = 1 Then $sResult = StringStripWS(StringRegExpReplace($sResult, $iColSrch, $iColNew, $iCount), 8) If $change_color01 = 0 Then $sResult = StringStripWS(StringRegExpReplace($sREResult1, $iColSrch, $iColNew, $iCount), 8) EndIf If $change_color01 <> 0 and $change_color02 <> 0 Then ; Replace "0x" prefix and set modified data back to DLL structure, $v_BufferA=$tPixel DllStructSetData($tPixel, 1, "0x" & $sResult) EndIf ;_GDIPlus_BitmapUnlockBits($g_hBitmap, $tBitmapData) ; xia truoc Dispose ;_GDIPlus_BitmapDispose($g_hBitmap) ; bi loi tang memory size ;FileDelete("c:\acc\0_MEO_D01_2.jpg") ;_GDIPlus_ImageSaveToFile($BMP, "c:\acc\0_MEO_D01_2.jpg") ; _WinAPI_DeleteObject($hBitmap) ko save duoc ; end change color = StringRegExpReplace($hImage, $iColSrch, $iColNew, $iCount) ;ClipGet($iScan0) ;MsgBox(0, "Time Elapsed: " & $tPixel, $iScan0) Local $stream_var[18] = [$hBMP, $Scan0, $tPixel, $g_hBitmap, $tBitmapData, $hWnd, $hDDC, $hCDC, $iWidth, $iHeight, $g_x0, $g_y0 &@CRLF& _ ""] ;$x01 = 555 ;$y01 = 394 ;$iRowOffset = $y01 * $iWidth+1 ; $iRowOffset = $iY * $iWidth + 1 ;$acolor01 = Hex(DllStructGetData($stream_var[2], 1, $iRowOffset + $x01),6) ;get pixel color ;MsgBox("","check","01 = "&$acolor01&" 02 = "&$acolor01,0) ; Local $stream_var[0] = $hBMP ; Local $stream_var[1] = $iScan0 ; Local $stream_var[2] = $tPixel ; Local $stream_var[3] = $BMP > $g_hBitmap ; Local $stream_var[4] = $tBitmapData ; Local $stream_var[5] = $WinHandle ; Local $stream_var[6] = $hDDC ; Local $stream_var[7] = $hCDC ; Local $stream_var[8] = $iWidth ; Local $stream_var[9] = $iHeight ; Local $stream_var[10] = $g_x0 ; Local $stream_var[11] = $g_y0 Return $stream_var EndFunc ;==>_WinCapture01 Func WinCapture_ce02($BMP, $tBitmapData, $WinHandle,$hDDC, $hCDC, $hBMP) _GDIPlus_BitmapUnlockBits($BMP, $tBitmapData) ;unlocks a portion of a bitmap that was locked by _GDIPlus_BitmapLockBits all dell image _GDIPlus_ImageDispose($BMP) _WinAPI_ReleaseDC($WinHandle, $hDDC) _WinAPI_DeleteDC($hCDC) _WinAPI_DeleteObject($hBMP) ;cleanup resources ; _GDIPlus_ImageDispose($hImage) ;_GDIPlus_GraphicsDispose($hContext) ;_GDIPlus_BitmapDispose($hBitmap) ; _GDIPlus_GraphicsDispose($hGraphic) _GDIPlus_Shutdown() EndFunc ;==>_GetColor Func _SetBitmapAdjust($hBitmap, $aAdjust = 0) Local $tAdjust = 0 If IsArray($aAdjust) Then $tAdjust = _WinAPI_CreateColorAdjustment($aAdjust[9], $aAdjust[10], $aAdjust[0], $aAdjust[1], $aAdjust[2], $aAdjust[3], $aAdjust[4], $aAdjust[5], $aAdjust[6], $aAdjust[7], $aAdjust[8]) EndIf $hBitmap = _WinAPI_AdjustBitmap($hBitmap, -1, -1, $HALFTONE, $tAdjust) If @error Then Return 0 EndIf $hImage = _GDIPlus_BitmapCreateFromHBITMAP($hBitmap) _WinAPI_DeleteObject($hBitmap) Return $hImage EndFunc ; read memory ;$process[$loopacc] = _ProcessGetName01($loopacc,$path_fb_html_list01[$i][2]) ;$procHwnd01 = _Process_Open($process[$loopacc]) ;$game_hookX[$loopacc] = dec(hex(_Module_GetBaseAddress($procHwnd01, "DiabloImmortal.exe"))) ;$check_vtmemX = _MemoryRead64($path_fb_html_list01[$i][3], $procHwnd01, 'byte[4]',"Dec") $v_cmp_render_mini_tiled03 = $v_cmp_render_mini_tiled03X[$loopacc] $p_render_mini_tiled03 = read_render_mini_tiled03($loopacc,$procHwnd01,$v_cmp_render_mini_tiled03[1]+0x8) ; 610 450 $p_render_mini_tiled03player = read_render_mini_tiled03($loopacc,$procHwnd01,$v_cmp_render_mini_tiled03[1]+0x8*3) ; 610 450 $map_large01 = 0 If $p_render_mini_tiled03player[2]<>"0" and $p_render_mini_tiled03player[2]<>0 Then $map_large01 = 1 EndIf If $map_large01 = 0 Then $b_map_large_sleep01[$loopacc] = $time_stop01+$b_map_large_sleep01wait _MemoryWrite64($v_cmp_render_mini_tiled03[1]+0x8*3, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 $dis_portal01[$loopacc] = Int( Distance($p_render_mini_tiled03[0],$p_render_mini_tiled03[1],$portal01x,$portal01y) ) $v_cmp_drop01 = $v_cmp_drop01X[$loopacc] $p_drop01 = read_drop_item02($loopacc,$procHwnd01,$v_cmp_drop01[1]+0x8*0) $p_drop02 = read_drop_item02($loopacc,$procHwnd01,$v_cmp_drop01[1]+0x8*16) ; name x y item ;$p_drop03 = read_drop_item02($loopacc,$procHwnd01,$v_cmp_drop01[1]+0x8*32) ; name x y item $p_drop03 = read_drop_item04($loopacc,$procHwnd01,$v_cmp_drop01[1]+0x8*32) ; name x y item string len 16+1 Rift Progress Orb $p_drop04 = read_drop_item03($loopacc,$procHwnd01,$v_cmp_drop01[1]+0x8*18) ; name x y item $p_drop05 = read_drop_item02($loopacc,$procHwnd01,$v_cmp_drop01[1]+0x8*48) ; name x y item Charsi ;$g_drop_item01 = _MemoryRead64($v_cmp_drop01[1]+0x8*0, $procHwnd01, 'byte[8]',"Dec") ;$g_drop_item02 = _MemoryRead64($v_cmp_drop01[1]+0x8*16, $procHwnd01, 'byte[8]',"Dec") ;$g_drop_item03 = _MemoryRead64($v_cmp_drop01[1]+0x8*32, $procHwnd01, 'byte[8]',"Dec") _MemoryWrite64($v_cmp_drop01[1]+0x8*0, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*16, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*32, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*18, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*48, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 If $p_render_rift_defeat01[2] = "Kill enemies quickly" Then ;$p_drop01 = read_drop_item02($loopacc,$procHwnd01,$v_cmp_drop01[1]+0x8*0) ;$p_drop02 = read_drop_item02($loopacc,$procHwnd01,$v_cmp_drop01[1]+0x8*16) ; name x y item ;_MemoryWrite64($v_cmp_drop01[1]+0x8*66, $procHwnd01, ptr(1),'byte[32]') ; reset _MemoryWrite64($v_cmp_drop01[1]+0x8*0, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*16, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*32, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*18, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 $p_drop01[2] = "" $p_drop01[3] = 0 $p_drop02[3] = 0 $p_drop04[3] = 0 ElseIf $p_render_rift_defeat01[2] <> "Kill enemies quickly" Then _MemoryWrite64($v_cmp_drop01[1]+0x8*66, $procHwnd01, ptr(0),'byte[32]') ; reset EndIf $v_cmp_target_hp01 = $v_cmp_target_hp01X[$loopacc] $p_target_hp01 = read_target_hp01($loopacc,$procHwnd01,$v_cmp_target_hp01[1]+0x0) ; rbx $p_target_hp02 = read_target_hp02($loopacc,$procHwnd01,$v_cmp_target_hp01[1]+0x8*17) ; rbx $p_drop_item_quest01 = read_target_hp03($loopacc,$procHwnd01,$v_cmp_target_hp01[1]+0x8*97) ; rbx $p_s1 = read_target_hp02($loopacc,$procHwnd01,$v_cmp_target_hp01[1]+0x8*17) ; rbx $p_s2 = read_target_hp02($loopacc,$procHwnd01,$v_cmp_target_hp01[1]+0x8*18) ; rbx $p_s3 = read_target_hp02($loopacc,$procHwnd01,$v_cmp_target_hp01[1]+0x8*19) ; rbx $p_s4 = read_target_hp02($loopacc,$procHwnd01,$v_cmp_target_hp01[1]+0x8*20) ; rbx $p_s5 = read_target_hp02($loopacc,$procHwnd01,$v_cmp_target_hp01[1]+0x8*21) ; rbx _MemoryWrite64($v_cmp_target_hp01[1], $procHwnd01, ptr(0),'byte[32]') ; reset _MemoryWrite64($v_cmp_target_hp01[1]+0x8*97, $procHwnd01, ptr(0),'byte[32]') ; reset $v_cmp_player_view01 = $v_cmp_player_view01X[$loopacc] $p_player_view01 = read_player_view01($loopacc,$procHwnd01,$v_cmp_player_view01[1]+0x0) $p_run01 = 1 If $p_player_view01[0] = $p_x01[$loopacc] and $p_player_view01[1] = $p_y01[$loopacc] Then $p_num01[$loopacc] += 1 EndIf If $p_player_view01[0] <> $p_x01[$loopacc] or $p_player_view01[1] <> $p_y01[$loopacc] Then $p_x01[$loopacc] = $p_player_view01[0] $p_y01[$loopacc] = $p_player_view01[1] $p_num01[$loopacc] = 0 EndIf If $p_num01[$loopacc] > $p_num01max Then $p_run01 = 0 If _IsChecked( ($button_auto01[4])[7-1] ) = True and $p_render_map_name03[2]="Elder Ri" and $p_render_rift_defeat01[2] = "Kill enemies quickly" Then _MemoryWrite64($v_cmp_target_hp01[1]+0x180, $procHwnd01, ptr(1),'byte[1]') ; npc ? > bat = 0 tat = 1 EndIf If $p_drop01[2] = "Return to Westmarch" Then $p_drop01[3] = 0 $p_drop02[3] = 0 $p_drop04[3] = 0 EndIf If $p_drop02[2] = "[Blacksmith]" Then _MemoryWrite64($v_cmp_drop01[1]+0x8*0, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*16, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*32, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*18, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 $p_drop01[3] = 0 $p_drop03[3] = 0 $p_drop04[3] = 0 EndIf If $p_drop04[2] = "Return to Westmarch" Then $p_drop04[3] = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*0, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*16, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 ;_MemoryWrite64($v_cmp_drop01[1]+0x8*32, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*18, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 EndIf If _IsChecked( ($button_auto01[2])[7-1] ) = False and $s_check_blacksmith01[$loopacc] = 2 and $p_render_map_name03[2] = "Elder Ri" and $time_stop01 > $skill_sleep06[$loopacc] and $b_game3d01[0] = 0 and $b_quest_chat02[0] = 1 and $p_render_gui_text01[0] <> "Blacksmith" Then ; rift [Blacksmith] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",556,345) ; USE blacksmith Services $skill_sleep06[$loopacc] = $time_stop01+$skill_sleep06wait $sleep01[$loopacc] = $time_stop01+5000 EndIf $rift_item01 = 0 If $p_render_rift_defeat01[2] = "Kill enemies quickly" and $p_drop01[2] = "E" Then _MemoryWrite64($v_cmp_drop01[1]+0x8*0, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*16, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*32, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*18, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 $p_drop01[2] = "" $p_drop01[3] = 0 $p_drop02[3] = 0 $p_drop04[3] = 0 EndIf If _IsChecked( ($button_auto01[5])[7-1] ) = False and $dis_portal01[$loopacc] > 15 and $p_render_rift_defeat01[2] <> "Kill enemies quickly" and $p_player_view01[3] = 0 and $p_drop03[3]<>"01000000" and _IsChecked( ($button_auto01[2])[7-1] ) = False and $s_check_blacksmith01[$loopacc] = 2 and $p_drop04[2] <> "Return to Westmarch" and $p_render_map_name03[2]="Elder Ri" and $b_game3d01[0] = 1 and $p_drop01[2] = "E" and $time_stop01 > $skill_sleep06[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"E") ; nhat do E $skill_sleep06[$loopacc] = $time_stop01+$skill_sleep06wait EndIf If $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_drop03[3]="01000000" and $p_render_map_name03[2] = "Elder Ri" Then ; $p_drop03[2] = "Energy Globe" or $p_drop03[2] = "Rift Progress Orb" For $lp = 1 to 2 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",$p_drop03[0]+5,$p_drop03[1]-5) ; USE DROP Next $rift_item01 = 1 $skill_sleep06[$loopacc] = $time_stop01+$skill_sleep06wait EndIf If $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_drop01[2]="Energy Globe" and $p_drop01[3]="01000000" and $p_render_map_name03[2] = "Elder Ri" Then ; $p_drop03[2] = "Energy Globe" or $p_drop03[2] = "Rift Progress Orb" For $lp = 1 to 2 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",$p_drop01[0],$p_drop01[1]-5) ; USE DROP Next $rift_item01 = 1 $skill_sleep06[$loopacc] = $time_stop01+$skill_sleep06wait ElseIf $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_drop01[2]="Health Globe" and $p_drop01[3]="01000000" and $p_render_map_name03[2] = "Elder Ri" Then ; $p_drop03[2] = "Energy Globe" or $p_drop03[2] = "Rift Progress Orb" For $lp = 1 to 2 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",$p_drop01[0]+5,$p_drop01[1]-5) ; USE DROP Next $rift_item01 = 1 $skill_sleep06[$loopacc] = $time_stop01+$skill_sleep06wait EndIf $v_cmp_step_move01 = $v_cmp_step_move01X[$loopacc] $p_step_move01 = read_step_move01($loopacc,$procHwnd01,$v_cmp_step_move01[1]+0x0) _MemoryWrite64($v_cmp_step_move01[1], $procHwnd01, ptr(0),'byte[16]') ; reset $v_cmp_player_hp01 = $v_cmp_player_hp01X[$loopacc] $p_player_hp01 = read_player_hp01($loopacc,$procHwnd01,$v_cmp_player_hp01[1]+0x0) ; rdi $p_item_time01 = read_player_hp01($loopacc,$procHwnd01,$v_cmp_player_hp01[1]+0x8*4) ; rdi _MemoryWrite64($v_cmp_player_hp01[1]+0x8*4, $procHwnd01, ptr(0),'byte[32]') ; reset If $p_player_hp01[0] > 0 and $p_player_hp01[0] <> $s_player_hp01[$loopacc] Then $s_player_hp01[$loopacc] = $p_player_hp01[0] $skill_player_hp01[$loopacc] = 1 EndIf $v_cmp_render_enemy_id_at02 = $v_cmp_render_enemy_id_at02X[$loopacc] ; tach ra cua WinCapture_cs02 ;$v_cmp_render_rift_defeat01 = $v_cmp_render_rift_defeat01X[$loopacc] ;$p_render_rift_defeat01 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*0) ; rdx Kill the Rift Guardian ;$p_render_rift_defeat02 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*16) ; rdx Inventory Full ;$p_render_rift_defeat03 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*32) ; rdx mini map name ;$p_render_map_name03 = $p_render_rift_defeat03 ;_MemoryWrite64($v_cmp_render_rift_defeat01[1]+0x8*16, $procHwnd01, ptr(0),'byte[16]') ; reset ;If $p_render_map_name03[2]="Elder Rift" Then $p_render_map_name03[2]="Elder Ri" ;If $p_render_map_name03[2]="Westmarch" Then $p_render_map_name03[2]="Westmarc" ; end tach ra cua WinCapture_cs02 ; tach ra cua WinCapture_cs02 $mini_map01on = 0 If $p_run01 <> 99 and $b_game3d01[0] = 1 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and $time_stop01 > $fog_sleep01[$loopacc] and $s_check_blacksmith01[$loopacc] = 2 and $p_render_map_name03[2] = "Elder Ri" and $p_render_rift_defeat01[2] = "Kill enemies quickly" Then ;$time_stop01 > $space_sleep02[$loopacc] $mini_map01on = 1 $fog_sleep01[$loopacc] = $time_stop01+$fog_sleep01wait EndIf If $b_game3d01[0] = 0 or $b_exit01[0] = 1 or _IsChecked( ($button_auto01[3])[7-1] ) = False or $s_check_blacksmith01[$loopacc] <> 2 or $p_render_map_name03[2] <> "Elder Ri" Then $mini_map01on = 0 If $a_fog_map01[$loopacc] = 0 Then Local $aArray_fog_map01[1][6] = [["ID NAME", "SPACE X", "SPACE Y", "COLOR X", "COLOR Y", "DISTANCE"]] $a_fog_map01[$loopacc] = $aArray_fog_map01 ; _ArrayAdd($a_fog_map01[$loopacc] > ($a_fog_map01[$loopacc])[1][2] EndIf ; end tach ra cua WinCapture_cs02 $WinCapture_cs02on = 0 If $find_map_large01on = 1 Then ; $find_map_large01on $m01x = -1 $m01y = -1 $mini_map01on = 0 ElseIf $find_map_large01on = 0 Then ; $find_map_large01on If $mini_map01on = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and $time_stop01 > $green_sleep01[$loopacc] and $s_check_blacksmith01[$loopacc] = 2 and $p_render_map_name03[2] = "Elder Ri" and $p_render_rift_defeat01[2] = "Kill enemies quickly" Then ; START WinCapture_cs02 ---------------------------------------------------------------------------------------------------------------------- Global $stream02 = WinCapture_cs02($control01,3,$game_cap_x02,$game_cap_y02,$view_screen01,$game_cap_x01,$game_cap_y01,$g_x,$g_y,$copy_view01) ; chay only show gui image WinCapture_ce02($stream02[3], $stream02[4], $stream02[5], $stream02[6], $stream02[7], $stream02[0]) ; remove print image -------------------------- $WinCapture_cs02on = 1 $ULx = 614 $ULy = 45 $URx = 614+1 $URy = 45 $DLx = 614 $DLy = 45+1 $DRx = 614+1 $DRy = 45+1 $_00FF00 = "00FF00" $fog01max = 5 $UL01fog = asm_pixel05(151,1,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 12,1,1,6, 4, 4, $fog01max, $ULx-6*6, $ULy-6*6,$_00FF00, $ULx-6*7, $ULy-6*7,$_00FF00, $ULx-6*3, $ULy-6*3,$_00FF00, $ULx-6*4, $ULy-6*4,$_00FF00, $ULx-6*5, $ULy-6*5,$_00FF00) $UR01fog = asm_pixel05(152,1,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 12,1,1,6, 4, 4, $fog01max, $URx+6*6, $URy-6*6,$_00FF00, $URx+6*7, $URy-6*7,$_00FF00, $URx+6*3, $URy-6*3,$_00FF00, $URx+6*4, $URy-6*4,$_00FF00, $URx+6*5, $URy-6*5,$_00FF00) $DL01fog = asm_pixel05(153,1,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 12,1,1,6, 4, 4, $fog01max, $DLx-6*6, $DLy+6*6,$_00FF00, $DLx-6*7, $DLy+6*7,$_00FF00, $DLx-6*3, $DLy+6*3,$_00FF00, $DLx-6*4, $DLy+6*4,$_00FF00, $DLx-6*5, $DLy+6*5,$_00FF00) $DR01fog = asm_pixel05(154,1,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 12,1,1,6, 4, 4, $fog01max, $DRx+6*6, $DRy+6*6,$_00FF00, $DRx+6*7, $DRy+6*7,$_00FF00, $DRx+6*3, $DRy+6*3,$_00FF00, $DRx+6*4, $DRy+6*4,$_00FF00, $DRx+6*5, $DRy+6*5,$_00FF00) $random01x = Random(-5, 5, 1)*20 $random01y = Random(-5, 5, 1)*20 If $UL01fog[3] > 4 or $UL01fog[4] > 4 or $UL01fog[5] > 4 or $UL01fog[1] > 4 or $UL01fog[2] > 4 Then For $step_u = 4 to 6 $player_step01x = $ULx-6*$step_u $player_step01y = $ULy-6*$step_u $player_step02x = $player_step01x + $random01x $player_step02y = $player_step01x + $random01y ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $player_step02x, $player_step02y ) ; ; SKILL 8 STEP_MOVE LEFT Next EndIf If $UR01fog[3] > 4 or $UR01fog[4] > 4 or $UR01fog[5] > 4 or $UR01fog[1] > 4 or $UR01fog[2] > 4 Then For $step_u = 4 to 6 $player_step01x = $URx+6*$step_u $player_step01y = $URy-6*$step_u $player_step02x = $player_step01x + $random01x $player_step02y = $player_step01x + $random01y ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $player_step02x, $player_step02y ) ; ; SKILL 8 STEP_MOVE LEFT Next EndIf If $DL01fog[3] > 4 or $DL01fog[4] > 4 or $DL01fog[5] > 4 or $DL01fog[1] > 4 or $DL01fog[2] > 4 Then For $step_u = 4 to 6 $player_step01x = $DLx-6*$step_u $player_step01y = $DLy+6*$step_u $player_step02x = $player_step01x + $random01x $player_step02y = $player_step01x + $random01y ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $player_step02x, $player_step02y ) ; ; SKILL 8 STEP_MOVE LEFT Next EndIf If $DR01fog[3] > 4 or $DR01fog[4] > 4 or $DR01fog[5] > 4 or $DR01fog[1] > 4 or $DR01fog[2] > 4 Then For $step_u = 4 to 6 $player_step01x = $DRx+6*$step_u $player_step01y = $DRy+6*$step_u $player_step02x = $player_step01x + $random01x $player_step02y = $player_step01x + $random01y ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $player_step02x, $player_step02y ) ; ; SKILL 8 STEP_MOVE LEFT Next EndIf $green_sleep01[$loopacc] = $time_stop01+$green_sleep01wait ;"$UL01fog = "&$UL01fog[1]&" "&$UL01fog[2]&" "&$UL01fog[3]&" "&$UL01fog[4]&" "&$UL01fog[5]&@CRLF & _ ;"$UR01fog = "&$UR01fog[1]&" "&$UR01fog[2]&" "&$UR01fog[3]&" "&$UR01fog[4]&" "&$UR01fog[5]&@CRLF & _ ;"$DL01fog = "&$DL01fog[1]&" "&$DL01fog[2]&" "&$DL01fog[3]&" "&$DL01fog[4]&" "&$DL01fog[5]&@CRLF & _ ;"$DR01fog = "&$DR01fog[1]&" "&$DR01fog[2]&" "&$DR01fog[3]&" "&$DR01fog[4]&" "&$DR01fog[5]&@CRLF & _ EndIf If $a_star01test = 1 and $p_render_map_name03[2] = "Westmarc" Then _MemoryWrite64($a_local02[$i]+0x4, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x104, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x0, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x10, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x14, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x20, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x24, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 ;ElseIf $a_star01test = 1 and $skill_player_hp01[$loopacc] <> 1 and $p_player_view01[3] = 0 and $s_map_red01[$loopacc] = 1 and $b_game3d01[0] = 1 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and $time_stop01 > $a_star_sleep01[$loopacc] and $s_check_blacksmith01[$loopacc] = 2 and $p_render_map_name03[2] = "Elder Ri" Then ; a star test --------------------------------------------------------- ElseIf $a_star01test = 1 and $b_game3d01[0] = 1 and $p_player_view01[3] = 0 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and $s_check_blacksmith01[$loopacc] = 2 and $p_render_map_name03[2] = "Elder Ri" and $p_render_rift_defeat01[2] = "Kill enemies quickly" Then ; a star test --------------------------------------------------------- ;$a_local02 = _find_a_star01() ;_ArrayDisplay($a_local02) ;msgBox($MB_SYSTEMMODAL, "Title", "N="&$i&" $procHwnd_autoit02="&$procHwnd_autoit02&" $a_local02[$loopacc]="&Hex($a_local02[$i]), 0) If $a_local02[0] > 0 Then $local_case01 = _MemoryRead64($a_local02[$i]+0x0, $procHwnd_autoit02, 'byte[4]',"Dec") $local_path01max = _MemoryRead64($a_local02[$i]+0x4, $procHwnd_autoit02, 'byte[4]',"Dec") ;If $local_case01 <> 1 and $mini_map01on = 1 Then If $local_case01 <> 1 and $time_stop01 > $a_star_sleep01[$loopacc] Then _MemoryWrite64($a_local02[$i]+0x0, $procHwnd_autoit02, ptr(1),'byte[4]') ; reset value = 0 $a_star_sleep01[$loopacc] = $time_stop01+$a_star_sleep01wait EndIf If $local_case01 = 2 and $local_path01max > 0 and $local_path01max < 99 and $local_path01max <> 4294967295 Then Local $aArray_Map_s[1][6] = [["ID NAME", " COL X ", " ROW Y ", "PLAYER X", "PLAYER Y", "DISTANCE"]] $a_map_s01[$loopacc] = $aArray_Map_s ; _ArrayAdd($a_map_s01[$loopacc] > ($a_map_s01[$loopacc])[1][2] ;_ArrayAdd($a_map_s01[$loopacc], "A_STAR " &" | "& $start_red_x01 &" | "& $start_red_y01 &" | "& $p_player_view01[0] &" | "& $p_player_view01[1] &" | "& "-1") _ArrayAdd($a_map_s01[$loopacc], "A_STAR " &" | "& $start_red_x01 &" | "& $start_red_y01 &" | "& 0 &" | "& 0 &" | "& "-1") For $lp_p = 0 to $local_path01max $x = _MemoryRead64($a_local02[$i]+0x8+0x8*$lp_p, $procHwnd_autoit02, 'byte[4]',"Dec") $y = _MemoryRead64($a_local02[$i]+0xC+0x8*$lp_p, $procHwnd_autoit02, 'byte[4]',"Dec") $x1 = $x-($a_map_s01[$loopacc])[$lp_p+1][1] $y1 = $y-($a_map_s01[$loopacc])[$lp_p+1][2] $Dis_star01 = Int( Distance($x ,$y , $start_red_x01, $start_red_y01) ) ;_ArrayAdd($a_map_s01[$loopacc], "A_STAR " &" | "& $x &" | "& $y &" | "& $p_player_view01[0] &" | "& $p_player_view01[1] &" | "&$Dis_star01 ) _ArrayAdd($a_map_s01[$loopacc], "A_STAR " &" | "& $x &" | "& $y &" | "& $x1 &" | "& $y1 &" | "&$Dis_star01 ) Next _MemoryWrite64($a_local02[$i]+0x4, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 ;GUICtrlSetData($idCheckbox35_tiled01_01, _ArrayToString($a_map_s01[$loopacc])) ;_ArrayDisplay($aArray_path02) ; will show the the full path $player_move01x = 60 $player_move01y = 60 $a_max01 = UBound($a_map_s01[$loopacc], $UBOUND_ROWS)-1 For $lp_r = 2 to $a_max01 step 2 $a_star01x = $player_center01x+( $player_move01x*($a_map_s01[$loopacc])[$lp_r][3] ) $a_star01y = $player_center01y+( $player_move01y*($a_map_s01[$loopacc])[$lp_r][4] ) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $a_star01x, $a_star01y ) ; ; SKILL 8 STEP_MOVE LEFT ;If $lp_r = $a_max01 Then $aArray_Mouse[$loopacc] &= $a_star01x&","&$a_star01y&","&"500," ; A_STAR Next ; For $lp_r = 2 to $a_max01 ; ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $player_center01x+( $player_move01x*($a_map_s01[$loopacc])[$lp_r][3] ), $player_center01y+( $player_move01y*($a_map_s01[$loopacc])[$lp_r][4] ) ) ; ; SKILL 8 STEP_MOVE LEFT ; Sleep(3000) ; Next $mini_map01on = 0 $action = 99 $skill_sleep12[$loopacc] = $time_stop01+5000 $space_sleep02[$loopacc] = $time_stop01+5000 ;$a_star_sleep01[$loopacc] = $time_stop01+$a_star_sleep01wait EndIf ElseIf $a_local02[0] = 0 Then $local_case01 = 0 $local_path01max = 0 EndIf ElseIf $a_star01test = 0 Then ; a star test ------------------------------------------------------- $local_case01 = 0 $local_path01max = 0 EndIf ; end a star test ------------------------------------------------------------------------------------------------------------- If $mini_map01on = 1 Then ; $mini_map01on ; START WinCapture_cs02 ---------------------------------------------------------------------------------------------------------------------- If $WinCapture_cs02on = 0 Then Global $stream02 = WinCapture_cs02($control01,3,$game_cap_x02,$game_cap_y02,$view_screen01,$game_cap_x01,$game_cap_y01,$g_x,$g_y,$copy_view01) ; chay only show gui image WinCapture_ce02($stream02[3], $stream02[4], $stream02[5], $stream02[6], $stream02[7], $stream02[0]) ; remove print image -------------------------- EndIf ;$title_hex01 = "514835" ;$title_hex01 = "([2-3][0-F][3-4][0-F][3-5][0-F]|[2-4][0-9][3-5][0-C][3-6][0-5]){0,6}"&"\ " ;$pixel_regex01 = "B4A091" ;$pixel_shade01 = 20 ;If StringLen($pixel_regex01) = 6 Then $pixel_regex01 = _regex_pixel01($pixel_regex01, $pixel_shade01)&"\ " ; 0 = hex 1 = array bytes ;ClipPut($title_hex01) ;$v_cmp_render_map_name03fix = $v_cmp_render_map_name03fixX[$loopacc] ;$p_render_map_name03 = read_render_map_name03($loopacc,$procHwnd01,$v_cmp_render_map_name03fix[1]+0x8*0) ; rdx ;If $mini_map01on = 1 and $s_reset_move01[$loopacc] > $reset_move01max Then ; $mini_map01on If $mini_map01on = 1 Then ; $mini_map01on Local $aArray_fog_map01[1][6] = [["ID NAME", "SPACE X", "SPACE Y", "COLOR X", "COLOR Y", "DISTANCE"]] $a_fog_map01[$loopacc] = $aArray_fog_map01 ; _ArrayAdd($a_fog_map01[$loopacc] > ($a_fog_map01[$loopacc])[1][2] ;$pixel_regex01 = "360000" ;$pixel_shade01 = 12 ;If StringLen($pixel_regex01) = 6 Then $pixel_regex01 = _regex_pixel01($pixel_regex01, $pixel_shade01)&"\ " ; 0 = hex 1 = array bytes $m01exit = 0 $mc01x = 614 $mc01y = 46 $fog_map_num01 = 0 $lp_fog_num01 = 0 ;Local $hTimer01 = TimerInit() ; Begin the timer and store the handle in a variable. If $path_map_test01 = 1 Then ; path find map mode 1 For $lpy = 0 to Int( (86-0)/4 )-1 ; 17 > Int( (86-10)/4 )-1 ; 17 default ; For $lpx = 0 to Int( (676-558)/4 )-1 Step 3 ; 25/5 For $lpx = 0 to Int( (676-558)/4 )-1 Step 5 ; 25/5 $lp_fog_num01 += 1 $m01x = 558+4*($lpx+0) $m01y = 10+4*$lpy ;$xy01fog = _regex_color02(1,$stream02[1], 1, $pixel_shade01, 3, 2, 3, $m01x, $m01y, $pixel_regex01) ;Local $fTimer = TimerInit() If $lpx = 0 Then $fog01max = 5 If $lpx = 5 Then $fog01max = 5 If $lpx = 10 Then $fog01max = 5 If $lpx = 15 Then $fog01max = 5 If $lpx = 20 Then $fog01max = 5 If $lpx = 25 Then $fog01max = 3 ;msgBox($MB_SYSTEMMODAL, "$lpx", "$lpx = "& $lpx & " $fog01max = "& $fog01max & " Int( (676-558)/4 )-1 = " & Int( (676-558)/4 )-1, 0) ;$xy01fog = asm_pixel05(200+$lp_fog_num01,1,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 12,1,1,4, 4, 4, $fog01max, 558+4*($lpx+0), $m01y,"360000", 558+4*($lpx+1), $m01y,"360000", 558+4*($lpx+2), $m01y,"360000", 558+4*($lpx+3), $m01y,"360000", 558+4*($lpx+4), $m01y,"360000") $xy01fog = asm_pixel05(200+$lp_fog_num01,1,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 12,1,1,6, 4, 4, $fog01max, 558+4*($lpx+0), $m01y,"00FF00", 558+4*($lpx+1), $m01y,"00FF00", 558+4*($lpx+2), $m01y,"00FF00", 558+4*($lpx+3), $m01y,"00FF00", 558+4*($lpx+4), $m01y,"00FF00") For $fog = 1 to $fog01max If $xy01fog[$fog] > 4 Then $Distance_xy06 = -1 $Distance_xy06 = Int( Distance($mc01x,$mc01y,558+4*($lpx+$fog),$m01y) ) $center01x = 558+4*($lpx+$fog)-$mc01x $center01y = $m01y-$mc01y $dis_portal01xy = Int( Distance($p_render_mini_tiled03[0]+$center01x,$p_render_mini_tiled03[1]+$center01y,$portal01x,$portal01y) ) ;msgBox($MB_SYSTEMMODAL, "$dis_portal01xy", "$center01x = "& $center01x & " $center01y = "& $center01y &@CRLF& _ ; "$tx = "& $p_render_mini_tiled03[0] & " ty = "& $p_render_mini_tiled03[1] &@CRLF& _ ; "$tx1 = "& 558+4*($lpx+$fog) & " ty1 = "& $m01y &@CRLF& _ ; "$dis_portal01xy = "& $dis_portal01xy & " > $dis_portal01[$loopacc]+$portal01max = "& $dis_portal01[$loopacc]+$portal01max, 0) If $Distance_xy06 > 15 and $Distance_xy06 < 50 and $dis_portal01xy > $dis_portal01[$loopacc]+$portal01max Then $mc02x = (558+4*($lpx+$fog)-$mc01x)*12 $mc02y = ($m01y-$mc01y)*10 $player_step01x = 350+$mc02x $player_step01y = 247+$mc02y _ArrayAdd($a_fog_map01[$loopacc], "fog="&$xy01fog[$fog]&"| "& 558+4*($lpx+$fog) &" | "&$m01y&" | "&$player_step01x&" | "&$player_step01y&" | "&$Distance_xy06) ;_ArrayDisplay($a_fog_map01) $fog_map_num01 += 1 EndIf EndIf If $fog_map_num01 > 4 Then ExitLoop Next If $fog_map_num01 > 4 Then ExitLoop Next If $fog_map_num01 > 4 Then ;_ArrayDisplay($a_fog_map01[$loopacc]) ExitLoop EndIf ;If $m01exit = 1 Then ExitLoop Next ElseIf $path_map_test01 = 2 Then ; path find map mode 1 $zx = 6 $zy = 6 $fog_map_num01max = 4 For $lpy = 0 to Int( (86-0)/$zy )-1 ; 17 > Int( (86-10)/4 )-1 ; 17 default ; For $lpx = 0 to Int( (676-558)/4 )-1 Step 3 ; 25/5 For $lpx = 0 to Int( (676-558)/$zx )-1 Step 5 ; 25/5 $lp_fog_num01 += 1 $m01x = 558+$zx*($lpx+0) $m01y = 10+$zy*$lpy ;$xy01fog = _regex_color02(1,$stream02[1], 1, $pixel_shade01, 3, 2, 3, $m01x, $m01y, $pixel_regex01) ;Local $fTimer = TimerInit() If $lpx = 0 Then $fog01max = 5 If $lpx = 5 Then $fog01max = 5 If $lpx = 10 Then $fog01max = 5 If $lpx = 15 Then $fog01max = 3 If $lpx = 20 Then $fog01max = 5 If $lpx = 25 Then $fog01max = 3 ;msgBox($MB_SYSTEMMODAL, "$lpx", "$lpx = "& $lpx & " $fog01max = "& $fog01max & " Int( (676-558)/4 )-1 = " & Int( (676-558)/$zx )-1, 0) ;$xy01fog = asm_pixel05(200+$lp_fog_num01,1,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 12,1,1,4, 4, 4, $fog01max, 558+4*($lpx+0), $m01y,"360000", 558+4*($lpx+1), $m01y,"360000", 558+4*($lpx+2), $m01y,"360000", 558+4*($lpx+3), $m01y,"360000", 558+4*($lpx+4), $m01y,"360000") $xy01fog = asm_pixel05(200+$lp_fog_num01,1,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 12,1,1,6, 4, 4, $fog01max, 558+$zx*($lpx+0), $m01y,"00FF00", 558+$zx*($lpx+1), $m01y,"00FF00", 558+$zx*($lpx+2), $m01y,"00FF00", 558+$zx*($lpx+3), $m01y,"00FF00", 558+$zx*($lpx+4), $m01y,"00FF00") For $fog = 1 to $fog01max If $xy01fog[$fog] > 4 Then $Distance_xy06 = -1 $Distance_xy06 = Int( Distance($mc01x,$mc01y,558+$zx*($lpx+$fog),$m01y) ) $center01x = 558+$zx*($lpx+$fog)-$mc01x $center01y = $m01y-$mc01y ; $dis_portal01xy = Int( Distance($p_render_mini_tiled03[0]+$center01x,$p_render_mini_tiled03[1]+$center01y,$portal01x,$portal01y) ) ;msgBox($MB_SYSTEMMODAL, "$dis_portal01xy", "$center01x = "& $center01x & " $center01y = "& $center01y &@CRLF& _ ; "$tx = "& $p_render_mini_tiled03[0] & " ty = "& $p_render_mini_tiled03[1] &@CRLF& _ ; "$tx1 = "& 558+4*($lpx+$fog) & " ty1 = "& $m01y &@CRLF& _ ; "$dis_portal01xy = "& $dis_portal01xy & " > $dis_portal01[$loopacc]+$portal01max = "& $dis_portal01[$loopacc]+$portal01max, 0) ;If $Distance_xy06 > 15 and $Distance_xy06 < 50 and $dis_portal01xy > $dis_portal01[$loopacc]+$portal01max Then If $Distance_xy06 > 15 and $Distance_xy06 < 50 Then $mc02x = (558+$zx*($lpx+$fog)-$mc01x)*12 $mc02y = ($m01y-$mc01y)*10 $player_step01x = 350+$mc02x $player_step01y = 247+$mc02y _ArrayAdd($a_fog_map01[$loopacc], "fog="&$xy01fog[$fog]&"| "& 558+4*($lpx+$fog) &" | "&$m01y&" | "&$player_step01x&" | "&$player_step01y&" | "&$Distance_xy06) ;_ArrayDisplay($a_fog_map01) $fog_map_num01 += 1 EndIf EndIf If $fog_map_num01 > $fog_map_num01max Then ExitLoop Next If $fog_map_num01 > $fog_map_num01max Then ExitLoop Next If $fog_map_num01 > $fog_map_num01max Then ;_ArrayDisplay($a_fog_map01[$loopacc]) ExitLoop EndIf ;If $m01exit = 1 Then ExitLoop Next ElseIf $path_map_test01 = 3 Then ; path find map mode 1 ; x1y1 550 2 x2y2 679 2 ; x3y3 550 89 x4y4 679 89 $zx = 4 $zy = 4 $fog_map_num01max = 2 If $find_1_4[$loopacc] = 1 Then ; x1y1 550 2 > 614 45 $m_x = 550+4 $m_y = 2+4 $mx_min = 550+4 ; 550 + 8 $mx_max = 614-4 ; 679 - 3 $my_min = 2+4 ; 2 - 2 $my_max = 45-4 ; 89 - 3 ElseIf $find_1_4[$loopacc] = 2 Then ; x2y2 614 2 > 679 45 $m_x = 614+4 $m_y = 2+4 $mx_min = 614+4 ; 550 + 8 $mx_max = 679-4 ; 679 - 3 $my_min = 2+4 ; 2 - 2 $my_max = 45-4 ; 89 - 3 ElseIf $find_1_4[$loopacc] = 3 Then ; x3y3 550 45 > 614 89 $m_x = 550+4 $m_y = 45+4 $mx_min = 550+4 ; 550 + 8 $mx_max = 614-4 ; 679 - 3 $my_min = 45+4 ; 2 - 2 $my_max = 89-4 ; 89 - 3 ElseIf $find_1_4[$loopacc] = 4 Then ; x4y4 614 45 > 679 89 $m_x = 614+4 $m_y = 45+4 $mx_min = 614+4 ; 550 + 8 $mx_max = 679-4 ; 679 - 3 $my_min = 45+4 ; 2 - 2 $my_max = 89-4 ; 89 - 3 EndIf For $lpy = 0 to Int( ($my_max-$my_min)/$zy )-1 Step 3 ; 17 > Int( (86-10)/4 )-1 ; 17 default For $lpx = 0 to Int( ($mx_max-$mx_min)/$zx )-1 Step 5 ; 25/5 $lp_fog_num01 += 1 $m01x = $m_x+$zx*($lpx+0) $m01y = $m_y+$zy*$lpy ;$xy01fog = _regex_color02(1,$stream02[1], 1, $pixel_shade01, 3, 2, 3, $m01x, $m01y, $pixel_regex01) ;Local $fTimer = TimerInit() If $lpx = 0 Then $fog01max = 5 If $lpx = 5 Then $fog01max = 5 If $lpx = 10 Then $fog01max = 3 ;msgBox($MB_SYSTEMMODAL, "$lpx", "$lpx = "& $lpx & " $fog01max = "& $fog01max & " Int( ($mx_max-$mx_min)/$zx )-1 = " & Int( ($mx_max-$mx_min)/$zx )-1, 0) $xy01fog = asm_pixel05(200+($find_1_4[$loopacc]*250)+$lp_fog_num01,1,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 12,1,1,8, 4, 4, $fog01max, $m_x+$zx*($lpx+0), $m01y,"00FF00", $m_x+$zx*($lpx+1), $m01y,"00FF00", $m_x+$zx*($lpx+2), $m01y,"00FF00", $m_x+$zx*($lpx+3), $m01y,"00FF00", $m_x+$zx*($lpx+4), $m01y,"00FF00") For $fog = 1 to $fog01max If $xy01fog[$fog] > 7 Then ; $Distance_xy06 = -1 $Distance_xy06 = Int( Distance($mc01x,$mc01y,$m_x+$zx*($lpx+$fog),$m01y) ) ; $center01x = $m_x+$zx*($lpx+$fog)-$mc01x ; $center01y = $m01y-$mc01y ; $dis_portal01xy = Int( Distance($p_render_mini_tiled03[0]+$center01x,$p_render_mini_tiled03[1]+$center01y,$portal01x,$portal01y) ) ;msgBox($MB_SYSTEMMODAL, "$dis_portal01xy", "$center01x = "& $center01x & " $center01y = "& $center01y &@CRLF& _ ; "$tx = "& $p_render_mini_tiled03[0] & " ty = "& $p_render_mini_tiled03[1] &@CRLF& _ ; "$tx1 = "& $m_x+$zx*($lpx+$fog) & " ty1 = "& $m01y &@CRLF& _ ; "$dis_portal01xy = "& $dis_portal01xy & " > $dis_portal01[$loopacc]+$portal01max = "& $dis_portal01[$loopacc]+$portal01max, 0) ; If $Distance_xy06 > 15 and $Distance_xy06 < 50 and $dis_portal01xy > $dis_portal01[$loopacc]+$portal01max Then If $Distance_xy06 > 15 and $Distance_xy06 < 50 Then $mc02x = ($m_x+$zx*($lpx+$fog)-$mc01x)*12 $mc02y = ($m01y-$mc01y)*10 $player_step01x = 350+$mc02x $player_step01y = 247+$mc02y _ArrayAdd($a_fog_map01[$loopacc], "fog="&$xy01fog[$fog]&"| "& $m_x+$zx*($lpx+$fog) &" | "&$m01y&" | "&$player_step01x&" | "&$player_step01y&" | "&$Distance_xy06) ;_ArrayDisplay($a_fog_map01) $fog_map_num01 += 1 EndIf EndIf If $fog_map_num01 > $fog_map_num01max Then ExitLoop Next If $fog_map_num01 > $fog_map_num01max Then ExitLoop Next If $fog_map_num01 > $fog_map_num01max Then ; _ArrayDisplay($a_fog_map01[$loopacc]) ExitLoop EndIf ;If $m01exit = 1 Then ExitLoop Next $find_1_4[$loopacc] += 1 If $find_1_4[$loopacc] > 4 Then $find_1_4[$loopacc] = 1 EndIf ; end path find map mode 1 $s_fog_map01[$loopacc] = 1 EndIf EndIf ; end $find_map_large01on ;Local $fDiff01 = TimerDiff($hTimer01) ; Find the difference in time from the previous call of TimerInit. The variable we stored the TimerInit handlem is passed as the "handle" to TimerDiff. ;MsgBox($MB_SYSTEMMODAL, "Time Difference", $fDiff01) ; END WinCapture_cs02 ---------------------------------------------------------------------------------------------------------------------- EndIf ; end $mini_map01on ; tach ra cua WinCapture_cs02 If $mini_map01on = 0 Then ; $mini_map01on $m01x = -1 $m01y = -1 ;$xy01fog = _regex_color02($mini_map01on, $stream02[1], 1, $pixel_shade01, 6, 6, 3, $m01x, $m01y, $pixel_regex01) ;$xy01fog = asm_pixel02(0,$stream02[1],$stream02[8],$stream02[9], 12,2,2,4, $m01x-6,$m01y-6, $m01x+6, $m01y+6,"360000") Local $xy01fog[10] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] EndIf ; end $mini_map01on ; end tach ra cua WinCapture_cs02 ;$iResult = asm_pixel02($stream[1],$stream[8],$stream[9], 30,1,1,1, 330-3,105-3, 330+3, 105+ 3,"DCBB39") If $p_drop04[2] = "Return to Westmarch" Then $p_target_hp01[2] = 0 ; fix "Return to Westmarch" $p_drop01[2] = "" EndIf ; ToolTip("$time_stop01="&$time_stop01&" $p_render_map_name03[2]="&$p_render_map_name03[2]&" $p_render_rift_defeat01[2]="&$p_render_rift_defeat01[2]&" $map_large01="&$map_large01&" $b_game3d01[0]="&$b_game3d01[0]&" $p_target_hp01[2]="&$p_target_hp01[2]&" $p_player_hp01[0]="&$p_player_hp01[0]&" $a_star_run_sleep02[]="&$a_star_run_sleep02[$loopacc], 0, 0) ;If $a_star01test = 1 and $a_star_step_swith01 = 2 and $time_stop01 > $a_star_run_sleep01[$loopacc] and $find_map_large01on = 1 and $p_render_map_name03[2] = "Elder Ri" and $s_map_large00on[$loopacc] = 0 and $s_mini_map_reset00on[$loopacc] = 0 and $map_large01 = 0 and $b_game3d01[0] = 1 and $s_check_blacksmith01[$loopacc] = 2 and $p_render_rift_defeat01[2] = "Kill enemies quickly" Then If $a_star01test = 1 and $a_star_step_swith01 = 2 and $time_stop01 > $a_star_run_sleep01[$loopacc] and $find_map_large01on = 1 and $p_render_map_name03[2] = "Elder Ri" and $map_large01 = 0 and $b_game3d01[0] = 1 and $s_check_blacksmith01[$loopacc] = 2 and $p_render_rift_defeat01[2] = "Kill enemies quickly" Then $a_max01 = UBound($a_map_s01[$loopacc], $UBOUND_ROWS)-1 If $a_max01 > 3 and $time_stop01 > $a_star_run_sleep01[$loopacc] and $a_a_star00x[$loopacc] <> 0 and $a_a_star00y[$loopacc] <> 0 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 Then ;_ArrayDisplay( $a_map_s01[$loopacc] ,"$a_map_s01[$loopacc]" ) ; will show the the full path $player_move01x = 20*$scale0 $player_move01y = 20*$scale0 $a_star_dis02max = 50 $a_star_dis02num = $a_max01-1 $a_star01_exit_loop = 0 $a_star_x = ( ($a_map_s01[$loopacc])[1][1] ) $a_star_y = ( ($a_map_s01[$loopacc])[1][2] ) $randomxy_step01 = 80 $max01_base = UBound($a_base01[$loopacc], $UBOUND_ROWS)-0 If $a_distance_xy01target[$loopacc] <> -1 and $a_distance_xy01target[$loopacc] < $max01_base and $max01_base <> "" Then $randomx = Random(-5, 5, 1) $randomy = Random(-5, 5, 1) $mxyf01 = _mouse45( ($a_base01[$loopacc])[ $a_distance_xy01target[$loopacc] ][1], ($a_base01[$loopacc])[ $a_distance_xy01target[$loopacc] ][2],$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0]+$randomx, $mxyf01[1]+$randomy ) ; ; SKILL 8 STEP_MOVE 7/24 EndIf For $lp_r = 3 to $a_max01 step $a_star_step01move $click_no_time01 = 1 $a_star01x = ( ($a_map_s01[$loopacc])[$lp_r][1] ) $a_star01y = ( ($a_map_s01[$loopacc])[$lp_r][2] ) $a_star02x = $a_star01x-$a_star_x $a_star02y = $a_star01y-$a_star_y $random01x = Random(-$randomxy_step01, $randomxy_step01, 20) $random01y = Random(-$randomxy_step01, $randomxy_step01, 20) $a_star03x = $player_center01x + ( $player_move01x * $a_star02x )+$random01x $a_star03y = $player_center01y + ( $player_move01y * $a_star02y )+$random01y If $a_star03x > 520 and $a_star03x < 720 and $a_star03y > -30 and $a_star03y < 90 Then $click_no_time01 = 0 ;msgBox($MB_SYSTEMMODAL, "Title","N="&$lp_r&" $a_star_x="&$a_star_x&" $a_star_y="&$a_star_y&@CRLF&" $a_star01x="&$a_star01x&" $a_star01y="&$a_star01y&@CRLF&" $a_star02x="&$a_star02x&" $a_star02y="&$a_star02y&@CRLF&" $a_star03x="&$a_star03x&" $a_star03y="&$a_star03y, 0) If $click_no_time01 = 1 Then ;ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $a_star03x, $a_star03y ) ; ; SKILL 8 STEP_MOVE LEFT ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1", $a_star03x, $a_star03y ) ; ; SKILL 8 STEP_MOVE LEFT $click_no_time01 = 0 ElseIf $click_no_time01 = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $a_star03x, $a_star03y ) ; ; SKILL 8 STEP_MOVE LEFT ;$aArray_Mouse[$loopacc] &= $a_star03x&","&$a_star03y&","&"-1," ; Enter World EndIf ;msgBox($MB_SYSTEMMODAL, "Title", "$a_star01x="&$a_star01x&" $a_star01y="&$a_star01y&@CRLF&" $a_star03x="&$a_star03x&" $a_star03y="&$a_star03y, 0) Next ;Local $aArray_Map_s[1][6] = [["ID NAME", " COL X ", " ROW Y ", "PLAYER X", "PLAYER Y", "DISTANCE"]] ;$a_map_s01[$loopacc] = $aArray_Map_s ; _ArrayAdd($a_map_s01[$loopacc] > ($a_map_s01[$loopacc])[1][2] ;_ArrayDisplay( $a_map_s01[$loopacc] ,"$a_map_s01[$loopacc]" ) ; will show the the full path $action = 99 ;$a_star_run_sleep01[$loopacc] = $time_stop01+$a_star_run_sleep01wait ;$sleep01[$loopacc] = $time_stop01+500 EndIf $sleep01[$loopacc] = $time_stop01+1000 $a_star_run_sleep01[$loopacc] = $time_stop01+$a_star_run_sleep01wait EndIf ; end $a_star_step_swith01 ;set_2d_array01( $a_map_s01[$loopacc], $lp_r,5, 3) Func set_2d_array01(ByRef $aArr, $col0, $row0, $value0) $aArr[$col0][$row0] = $value0 EndFunc If $a_star01test = 1 and $time_stop01 > $a_star_run_sleep02[$loopacc] and $find_map_large01on = 1 and $p_render_map_name03[2] = "Elder Ri" and $p_player_hp01[0] > 0 and $s_map_large00on[$loopacc] = 0 and $p_render_rift_defeat01[2] = "Kill enemies quickly" Then ; a star test --------------------------------------------------------- $a_star_run_sleep02[$loopacc] = $time_stop01+$a_star_run_sleep02wait $s_map_large00on[$loopacc] = 1 ; $aArray_Mouse[$loopacc] = "" ElseIf $a_star01test = 1 and $time_stop01 > $a_star_run_sleep02[$loopacc] and $find_map_large01on = 1 and $p_render_map_name03[2] = "Elder Ri" and $p_player_hp01[0] > 0 and $s_map_large00on[$loopacc] = 1 and $p_render_rift_defeat01[2] <> "Kill enemies quickly" Then ; a star test --------------------------------------------------------- $a_star_run_sleep02[$loopacc] = $time_stop01+$a_star_run_sleep02wait $s_map_large00on[$loopacc] = 0 _MemoryWrite64($a_local02[$i]+0x104, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 EndIf If $a_star01test = 1 and $find_map_large01on = 1 and $p_render_map_name03[2] = "Westmarc" and $p_player_hp01[0] > 0 Then ; a star test --------------------------------------------------------- _MemoryWrite64($a_local02[$i]+0x4, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x104, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x0, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x10, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x14, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x20, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x24, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 $s_map_large00on[$loopacc] = 1 ;$s_map_large00zoom[$loopacc] = 1 ;$a_a_star00x[$loopacc] = 0 ;$a_a_star00y[$loopacc] = 0 ;ElseIf $a_star01test = 1 and $find_map_large01on = 1 and $p_render_map_name03[2] = "Elder Ri" and $s_map_large00on[$loopacc] = 1 and $s_mini_map_reset00on[$loopacc] = 0 and $p_render_rift_defeat01[2] = "Kill enemies quickly" Then ElseIf $a_star01test = 1 and $find_map_large01on = 1 and $p_render_map_name03[2] = "Elder Ri" and $p_render_rift_defeat01[2] = "Kill enemies quickly" and $map_large01 = 0 and $b_game3d01[0] = 1 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and $s_map_large00on[$loopacc] = 1 Then Select Case $a_local02[0] > 0 ; read memory a star $local_case01 = _MemoryRead64($a_local02[$i]+0x0, $procHwnd_autoit02, 'byte[4]',"Dec") $local_path01max = _MemoryRead64($a_local02[$i]+0x104, $procHwnd_autoit02, 'byte[4]',"Dec") If $local_case01 <> 1 and $time_stop01 > $a_star_sleep01[$loopacc] Then _MemoryWrite64($a_local02[$i]+0x0, $procHwnd_autoit02, ptr(1),'byte[4]') ; reset value = 0 $local_case01x2 = _MemoryRead64($a_local02[$i]+0x20, $procHwnd_autoit02, 'byte[4]',"Dec") _MemoryWrite64($a_local02[$i]+0x10, $procHwnd_autoit02, $p_player_view01[0],'float') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x14, $procHwnd_autoit02, $p_player_view01[1],'float') ; reset value = 0 If $local_case01x2 = 0x0 Then _MemoryWrite64($a_local02[$i]+0x20, $procHwnd_autoit02, $p_player_view01[0],'float') ; reset value = 0 _MemoryWrite64($a_local02[$i]+0x24, $procHwnd_autoit02, $p_player_view01[1],'float') ; reset value = 0 EndIf $a_star_sleep01[$loopacc] = $time_stop01+$a_star_sleep01wait EndIf If $local_case01 = 2 and $local_path01max > 0 and $local_path01max < 500 and $local_path01max <> 4294967295 Then Local $aArray_Map_s[1][6] = [["ID NAME", " COL X ", " ROW Y ", "PLAYER X", "PLAYER Y", "DISTANCE"]] $a_map_s01[$loopacc] = $aArray_Map_s ; _ArrayAdd($a_map_s01[$loopacc] > ($a_map_s01[$loopacc])[1][2] ;_ArrayAdd($a_map_s01[$loopacc], "A_STAR " &" | "& $start_red_x01 &" | "& $start_red_y01 &" | "& $p_player_view01[0] &" | "& $p_player_view01[1] &" | "& "-1") _ArrayAdd($a_map_s01[$loopacc], "A_STAR " &" | "& $start_red_x01 &" | "& $start_red_y01 &" | "& $p_player_view01[0] &" | "& $p_player_view01[1] &" | "& "-1") ;$a_star_step01loop = 4 ; array step a star / 4 ;$a_star_step01move = 2 ; player step / 2 $lp_p_a_map_s01next = 0 ; fix $a_star_step01loop/4 $a_a_star00x[$loopacc] = $p_player_view01[0] $a_a_star00y[$loopacc] = $p_player_view01[1] For $lp_p = 0 to $local_path01max Step $a_star_step01loop ;msgBox($MB_SYSTEMMODAL, "Title", "N="&$lp_p&" $local_path01max="&$local_path01max&" ($a_map_s01[$loopacc])[$lp_p+1][1]="&($a_map_s01[$loopacc])[$lp_p+1][1]&" ($a_map_s01[$loopacc])[$lp_p+1][1]="&($a_map_s01[$loopacc])[$lp_p+1][2], 0) If $lp_p < $local_path01max Then $x = _MemoryRead64($a_local02[$i]+0x108+0x8*$lp_p, $procHwnd_autoit02, 'byte[4]',"Dec") $y = _MemoryRead64($a_local02[$i]+0x10C+0x8*$lp_p, $procHwnd_autoit02, 'byte[4]',"Dec") ;$x1 = $x-($a_map_s01[$loopacc])[ $lp_p_a_map_s01next + 1][1] ;$y1 = $y-($a_map_s01[$loopacc])[ $lp_p_a_map_s01next + 1][2] $x1 = $x-$start_red_x01 $y1 = $y-$start_red_y01 ;$mlxyf01 = _mouse45($x1, $y1,0,0,$title_x02,$title_y02,0,0) ;$x1 = $mlxyf01[1] ;$y1 = $mlxyf01[0] $lp_p_a_map_s01next += 1 ; $Dis_star01 = Int( Distance($x ,$y , $start_red_x01, $start_red_y01) ) ;_ArrayAdd($a_map_s01[$loopacc], "A_STAR " &" | "& $x &" | "& $y &" | "& $p_player_view01[0] &" | "& $p_player_view01[1] &" | "&$Dis_star01 ) ;_ArrayAdd($a_map_s01[$loopacc], "A_STAR " &" | "& $x &" | "& $y &" | "& $x1 &" | "& $y1 &" | "&$Dis_star01 ) _ArrayAdd($a_map_s01[$loopacc], "A_STAR " &" | "& $x &" | "& $y &" | "& $x1 &" | "& $y1 &" | "&$lp_p ) EndIf Next ; $aArray_Mouse[$loopacc] = "" _MemoryWrite64($a_local02[$i]+0x104, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 ;GUICtrlSetData($idCheckbox35_tiled01_01, _ArrayToString($a_map_s01[$loopacc])) If $view_array04 = 3 Then GUICtrlSetData($button_submit02, _ArrayToString($a_map_s01[$loopacc])) ;_ArrayDisplay( $a_map_s01[$loopacc] ,"$a_map_s01[$loopacc]" ) ; will show the the full path $s_map_large00on[$loopacc] = 0 $mini_map01on = 0 $action = 99 ;$sleep01[$loopacc] = $time_stop01+3000 ;$skill_sleep12[$loopacc] = $time_stop01+5000 ;$space_sleep02[$loopacc] = $time_stop01+5000 $a_star_run_sleep02[$loopacc] = $time_stop01+$a_star_run_sleep02wait ;$a_star_sleep01[$loopacc] = $time_stop01+$a_star_sleep01wait EndIf Case $a_local02[0] = 0 $local_case01 = 0 $local_path01max = 0 EndSelect ; end read memory a star EndIf ; end a star test --------------------------------------------------------- If _IsChecked( ($button_auto07[6])[7-1] ) = False Then ; view _ArrayToString GUICtrlSetData($idCheckbox35_tiled01_01, "") EndIf $distance01min = -1 If $a_base01[$loopacc] = 0 Then Local $aArray_Base[1][6] = [["ID MONSTER", "ENEMY X", "ENEMY Y", "PLAYER X", "PLAYER Y", "DISTANCE"]] $a_base01[$loopacc] = $aArray_Base ; _ArrayAdd($a_base01[$loopacc] > ($a_base01[$loopacc])[1][2] ElseIf UBound($a_base01[$loopacc], $UBOUND_ROWS)-1 > 8 Then Local $aArray_Base[1][6] = [["ID MONSTER", "ENEMY X", "ENEMY Y", "PLAYER X", "PLAYER Y", "DISTANCE"]] $a_base01[$loopacc] = $aArray_Base ; _ArrayAdd($a_base01[$loopacc] > ($a_base01[$loopacc])[1][2] EndIf If $s_check_train01[$loopacc] = 0 and $s_check_train02[$loopacc] = 0 Then $p_render_enemy_id_at02 = read_render_enemy_id_at02($loopacc,$procHwnd01,$v_cmp_render_enemy_id_at02[1]+0x8*17) ; rbx $a_distance_xy01max[$loopacc] = -1 $a_distance_xy01target[$loopacc] = -1 If $s_check_train02[$loopacc] = 1 and $p_render_map_name03[2] = "Elder Ri" and $p_run01 = 0 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and $time_stop01 > $skill_sleep12[$loopacc] Then ; all enemy array For $lp_e01 = 1 to 9 $Distance_xy01 = -1 $p_render_enemy_id_at02 = read_render_enemy_id_at02($loopacc,$procHwnd01,$v_cmp_render_enemy_id_at02[1]+0x8*$lp_e01) ; rbx ;If $p_render_enemy_id_at02[4] = "Monster" and $p_render_enemy_id_at02[5] <> 66 and $p_render_enemy_id_at02[5] <> 65 Then If $p_render_enemy_id_at02[4] = "Monster" Then $Distance_xy01 = Int( Distance($p_player_view01[0],$p_player_view01[1],$p_render_enemy_id_at02[0],$p_render_enemy_id_at02[1]) ) $a_max01 = UBound($a_base01[$loopacc], $UBOUND_ROWS)-1 If $a_max01 < 1 Then _ArrayAdd($a_base01[$loopacc], $p_render_enemy_id_at02[3]&"|"&$p_render_enemy_id_at02[0]&"|"&$p_render_enemy_id_at02[1]&"|"&$p_player_view01[0]&"|"&$p_player_view01[1]&"|"&$Distance_xy01) ElseIf $a_max01 > 1 Then ;_ArrayDisplay($a_base01[$loopacc], "$a_base01[$loopacc]"&$a_max01) If ($a_base01[$loopacc])[$a_max01][0] <> ($a_base01[$loopacc])[$a_max01-1][0] Then _ArrayAdd($a_base01[$loopacc], $p_render_enemy_id_at02[3]&" "&$p_render_enemy_id_at02[5]&"|"&$p_render_enemy_id_at02[0]&"|"&$p_render_enemy_id_at02[1]&"|"&$p_player_view01[0]&"|"&$p_player_view01[1]&"|"&$Distance_xy01) If $Distance_xy01 > $a_distance_xy01max[$loopacc] and $Distance_xy01 > 6 Then $a_distance_xy01max[$loopacc] = $Distance_xy01 $a_distance_xy01target[$loopacc] = $a_max01 EndIf EndIf EndIf EndIf Next _MemoryWrite64($v_cmp_render_enemy_id_at02[1]+0x8*0, $procHwnd01, ptr(0),'byte[80]') ; reset EndIf $Distance_xy01 = -1 If $s_check_train01[$loopacc] = 1 Then $p_render_enemy_id_at02 = read_render_enemy_id_at02($loopacc,$procHwnd01,$v_cmp_render_enemy_id_at02[1]+0x8*17) ; rbx > AUTO ASSEMBLY 11 HEX = 17 DEC AUTOIT If $s_check_train02[$loopacc] = 1 Then $p_render_enemy_id_at02 = read_render_enemy_id_at02($loopacc,$procHwnd01,$v_cmp_render_enemy_id_at02[1]+0x8*17) ; rbx If $time_stop01 > $skill_sleep11[$loopacc] Then _MemoryWrite64($v_cmp_render_enemy_id_at02[1]+0x8*0, $procHwnd01, ptr(0),'byte[80]') ; reset ; _MemoryWrite64($v_cmp_render_enemy_id_at02[1]+0x8*17, $procHwnd01, ptr(0),'byte[16]') ; reset $skill_sleep11[$loopacc] = $time_stop01+$skill_sleep11wait EndIf EndIf ; If $s_check_train02[$loopacc] = 1 and $p_render_enemy_id_at02[4] = "Monster" and $p_render_enemy_id_at02[5] <> 66 and $p_render_enemy_id_at02[5] <> 65 Then If $s_check_train02[$loopacc] = 1 and $p_render_enemy_id_at02[4] = "Monster" Then $Distance_xy01 = Int( Distance($p_player_view01[0],$p_player_view01[1],$p_render_enemy_id_at02[0],$p_render_enemy_id_at02[1]) ) _ArrayAdd($a_base01[$loopacc], $p_render_enemy_id_at02[3]&" "&$p_render_enemy_id_at02[5]&"|"&$p_render_enemy_id_at02[0]&"|"&$p_render_enemy_id_at02[1]&"|"&$p_player_view01[0]&"|"&$p_player_view01[1]&"|"&$Distance_xy01) EndIf If $s_check_train01[$loopacc] = 1 Then $Distance_xy01 = Int( Distance($p_player_view01[0],$p_player_view01[1],$p_render_enemy_id_at02[0],$p_render_enemy_id_at02[1]) ) _ArrayAdd($a_base01[$loopacc], $p_render_enemy_id_at02[3]&"|"&$p_render_enemy_id_at02[0]&"|"&$p_render_enemy_id_at02[1]&"|"&$p_player_view01[0]&"|"&$p_player_view01[1]&"|"&$Distance_xy01) EndIf $v_cmp_render_mini_mapxy02 = $v_cmp_render_mini_mapxy02X[$loopacc] ;$p_render_mini_mapxy02 = read_render_mini_mapxy02($loopacc,$procHwnd01,$v_cmp_render_mini_mapxy02[1]+0x8*1) ; r8 $map_elder_rift01 = 0 If $p_render_map_name03[2] = "Elder Ri" or $p_render_map_name03[2] = "Challeng" Then $map_elder_rift01 = 1 EndIf ;If StringInStr($p_render_mini_mapxy02[2], "gui_img_") > 0 Then ; $p_render_mini_mapxy02[2] = StringRegExpReplace($p_render_mini_mapxy02[2], '(.*gui_img_|.png.*)', '') ; '(.*123|456 .*)' xoa '.*123' gui_img_ first + xoa '456 .*' _ last ;$map_elder_rift01 = 1 ;EndIf If $p_render_map_name03[2] = "Challeng" Then $p_render_map_name03[2] = "Elder Ri" ; danh ca 2 phu ban If $p_render_map_name03[2] = "Westmarc" and _IsChecked( ($button_auto01[1])[7-1] ) = False Then $p_drop01[3] = 0 $p_drop02[3] = 0 $p_drop03[3] = 0 $p_drop04[3] = 0 EndIf $v_cmp_render_gui_text01 = $v_cmp_render_gui_text01X[$loopacc] $p_render_gui_text01 = read_render_gui_text01($loopacc,$procHwnd01,$v_cmp_render_gui_text01[1]+0x8*0) ; rdx If $p_render_gui_text01[15]="Westmarch" Then $p_render_gui_text01[0] = "Westmarch" EndIf If $p_render_gui_text01[15]="Settings" Then $p_render_gui_text01[0] = "Settings" EndIf If $p_render_gui_text01[43] = "Eternal LegendaryCrest" or $p_render_gui_text01[43] = "1-StarLegendary Gem" or $p_render_gui_text01[43] = "2-StarLegendary Gem" or $p_render_gui_text01[43] = "LightningCore" or $p_render_gui_text01[43] = "Power &Command SELECT" Then $p_render_shop01[2] = 'Craft' ElseIf $p_render_gui_text01[44] = "Eternal LegendaryCrest" or $p_render_gui_text01[44] = "1-StarLegendary Gem" or $p_render_gui_text01[44] = "2-StarLegendary Gem" or $p_render_gui_text01[44] = "LightningCore" or $p_render_gui_text01[44] = "Power &Command SELECT" Then $p_render_shop01[2] = 'Craft' ElseIf $p_render_gui_text01[45] = "Eternal LegendaryCrest" or $p_render_gui_text01[45] = "1-StarLegendary Gem" or $p_render_gui_text01[45] = "2-StarLegendary Gem" or $p_render_gui_text01[45] = "LightningCore" or $p_render_gui_text01[45] = "Power &Command SELECT" Then $p_render_shop01[2] = 'Craft' EndIf If $p_render_gui_text01[43] = "RandomLegendary Gem" Then $p_render_gui_text01[43] = "Random Legendary Gem" If $p_render_gui_text01[44] = "RandomLegendary Gem" Then $p_render_gui_text01[44] = "Random Legendary Gem" If $p_render_gui_text01[45] = "RandomLegendary Gem" Then $p_render_gui_text01[45] = "Random Legendary Gem" If $p_render_gui_text01[46] = "RandomLegendary Gem" Then $p_render_gui_text01[46] = "Random Legendary Gem" If $p_render_gui_text01[47] = "RandomLegendary Gem" Then $p_render_gui_text01[47] = "Random Legendary Gem" If $p_render_gui_text01[48] = "RandomLegendary Gem" Then $p_render_gui_text01[48] = "Random Legendary Gem" If $p_render_gui_text01[49] = "RandomLegendary Gem" Then $p_render_gui_text01[49] = "Random Legendary Gem" If $p_render_gui_text01[53] = "SoutheastAsia" Then $p_render_gui_text01[12] = "My Heroes" If $p_render_gui_text01[57] = "East Asia" Then $p_render_gui_text01[12] = "My Heroes" $v_cmp_mat_hinh03 = $v_cmp_mat_hinh03X[$loopacc] If _IsChecked( ($button_auto07[3])[7-1] ) = True Then _MemoryWrite64($v_cmp_mat_hinh03[0]+0x4C, $procHwnd01, ptr(0),'byte[1]') ; reset If _IsChecked( ($button_auto07[3])[7-1] ) = False Then _MemoryWrite64($v_cmp_mat_hinh03[0]+0x4C, $procHwnd01, ptr(4),'byte[1]') ; reset $v_cmp_render_draw01 = $v_cmp_render_draw01X[$loopacc] $v_cmp_render_text_arrow05_light = $v_cmp_render_text_arrow05_lightX[$loopacc] If $help_hide01on = 1 and $p_render_gui_text01[13] = "Cosmetics" Then _MemoryWrite64($v_cmp_render_draw01[1]+0x8*3, $procHwnd01, ptr(0),'byte[1]') ; bat = 1 tat = 0 > ARROW DRAW UI _MemoryWrite64($v_cmp_render_text_arrow05_light[1]+0x8*3, $procHwnd01, ptr(0),'byte[1]') ; bat = 1 tat = 0 > ARROW MUI TEN _MemoryWrite64($v_cmp_render_text_arrow05_light[1]+0x8*4, $procHwnd01, ptr(0),'byte[1]') ; bat = 1 tat = 0 > ARROW LIGHT _MemoryWrite64($v_cmp_render_gui_text01[1]+0x8*35, $procHwnd01, ptr(0),'byte[1]') ; bat = 1 tat = 0 > ARROW TEXT EndIf If $help_hide01on = 1 and $p_render_map_name03[2]="Elder Ri" and $p_render_rift_defeat01[2] = "Kill enemies quickly" and $p_render_gui_text01[13] <> "Cosmetics" Then _MemoryWrite64($v_cmp_render_draw01[1]+0x8*3, $procHwnd01, ptr(1),'byte[1]') ; bat = 1 tat = 0 > ARROW DRAW UI _MemoryWrite64($v_cmp_render_text_arrow05_light[1]+0x8*3, $procHwnd01, ptr(1),'byte[1]') ; bat = 1 tat = 0 > ARROW MUI TEN _MemoryWrite64($v_cmp_render_text_arrow05_light[1]+0x8*4, $procHwnd01, ptr(1),'byte[1]') ; bat = 1 tat = 0 > ARROW LIGHT _MemoryWrite64($v_cmp_render_gui_text01[1]+0x8*35, $procHwnd01, ptr(1),'byte[1]') ; bat = 1 tat = 0 > ARROW TEXT ElseIf $help_hide01on = 1 and $p_render_map_name03[2]="Elder Ri" and $p_render_rift_defeat01[2] = "Kill the Rift Guardian" and $p_render_gui_text01[13] <> "Cosmetics" Then _MemoryWrite64($v_cmp_render_draw01[1]+0x8*3, $procHwnd01, ptr(1),'byte[1]') ; bat = 1 tat = 0 > ARROW DRAW UI _MemoryWrite64($v_cmp_render_text_arrow05_light[1]+0x8*3, $procHwnd01, ptr(1),'byte[1]') ; bat = 1 tat = 0 > ARROW MUI TEN _MemoryWrite64($v_cmp_render_text_arrow05_light[1]+0x8*4, $procHwnd01, ptr(1),'byte[1]') ; bat = 1 tat = 0 > ARROW LIGHT _MemoryWrite64($v_cmp_render_gui_text01[1]+0x8*35, $procHwnd01, ptr(1),'byte[1]') ; bat = 1 tat = 0 > ARROW TEXT ElseIf $help_hide01on = 1 and $p_render_map_name03[2]="Elder Ri" and $p_render_rift_defeat01[2] <> "Kill enemies quickly" and $p_render_rift_defeat01[2] <> "Kill the Rift Guardian" and $p_render_gui_text01[13] <> "Cosmetics" Then _MemoryWrite64($v_cmp_render_draw01[1]+0x8*3, $procHwnd01, ptr(0),'byte[1]') ; bat = 1 tat = 0 > ARROW DRAW UI _MemoryWrite64($v_cmp_render_text_arrow05_light[1]+0x8*3, $procHwnd01, ptr(0),'byte[1]') ; bat = 1 tat = 0 > ARROW MUI TEN _MemoryWrite64($v_cmp_render_text_arrow05_light[1]+0x8*4, $procHwnd01, ptr(0),'byte[1]') ; bat = 1 tat = 0 > ARROW LIGHT _MemoryWrite64($v_cmp_render_gui_text01[1]+0x8*35, $procHwnd01, ptr(0),'byte[1]') ; bat = 1 tat = 0 > ARROW TEXT ElseIf $help_hide01on = 1 and $p_render_map_name03[2]<>"Elder Ri" and $p_render_gui_text01[13] <> "Cosmetics" Then _MemoryWrite64($v_cmp_render_draw01[1]+0x8*3, $procHwnd01, ptr(0),'byte[1]') ; bat = 1 tat = 0 > ARROW DRAW UI _MemoryWrite64($v_cmp_render_text_arrow05_light[1]+0x8*3, $procHwnd01, ptr(0),'byte[1]') ; bat = 1 tat = 0 > ARROW MUI TEN _MemoryWrite64($v_cmp_render_text_arrow05_light[1]+0x8*4, $procHwnd01, ptr(0),'byte[1]') ; bat = 1 tat = 0 > ARROW LIGHT _MemoryWrite64($v_cmp_render_gui_text01[1]+0x8*35, $procHwnd01, ptr(0),'byte[1]') ; bat = 1 tat = 0 > ARROW TEXT EndIf GUICtrlSetData($button_submit01, "" & _ "tx="&$p_render_mini_tiled03[0]&" ty="&$p_render_mini_tiled03[1]&" $dis_portal01[$loopacc]="&$dis_portal01[$loopacc]&" $p_render_mini_tiled03[2]="&$p_render_mini_tiled03[2]&" drop04[2]="&$p_drop04[2]&@CRLF & _ "$p_render_rift_defeat14[2]="&$p_render_rift_defeat14[2]&" x="&$p_drop01[0]&" y="&$p_drop01[1]&" $p_drop01[2]="&$p_drop01[2]&" $p_drop01[3]="&$p_drop01[3]&" x="&$p_drop02[0]&" y="&$p_drop02[1]&" $p_drop02[2]="&$p_drop02[2]&@CRLF & _ "x="&$p_drop03[0]&" y="&$p_drop03[1]&" drop03[2]="&$p_drop03[2]&" gui_text01[0]="&$p_render_gui_text01[0]&" [1]="&$p_render_gui_text01[1]&" [2]="&$p_render_gui_text01[2]&" [3]="&$p_render_gui_text01[3]&" [4]="&$p_render_gui_text01[4]&@CRLF & _ "[5]="&$p_render_gui_text01[5]&" [6]="&$p_render_gui_text01[6]&" [7]="&$p_render_gui_text01[7]&" [8]="&$p_render_gui_text01[8]&" [9]="&$p_render_gui_text01[9]&" [10]="&$p_render_gui_text01[10]&" [11]="&$p_render_gui_text01[11]&@CRLF & _ "[12]="&$p_render_gui_text01[12]&" [13]="&$p_render_gui_text01[13]&" [14]="&$p_render_gui_text01[14]&" [15]="&$p_render_gui_text01[15]&" [16]="&$p_render_gui_text01[16]&@CRLF & _ "[25]SCORE="&$p_render_gui_text01[25]&" [34]="&$p_render_gui_text01[34]&" [29]="&$p_render_gui_text01[29]&" [28]="&$p_render_gui_text01[28]&" [24]="&$p_render_gui_text01[24]&" adress="&$p_drop_item_quest01[0]&" on="&$p_drop_item_quest01[3]&@CRLF & _ "x="&$p_target_hp01[0]&" y="&$p_target_hp01[1]&" $p_target_hp01[2]="&$p_target_hp01[2]&" $p_s1[0]="&$p_s1[0]&" $p_s1[1]="&$p_s1[1]&" $p_s1[2]="&$p_s1[2]&@CRLF & _ "$s_elder_rift_pixel01[]="&$s_elder_rift_pixel01[$loopacc]&" px="&$p_player_view01[0]&" py="&$p_player_view01[1]&" $p_run[3]="&$p_player_view01[3]&" $p_player_view01[2]="&$p_player_view01[2]&@CRLF & _ "sx-px="&$p_step_move01[0]-$p_player_view01[0]&" sy-py="&$p_step_move01[1]-$p_player_view01[1]&@CRLF & _ "px="&$p_player_hp01[0]&" py="&$p_player_hp01[1]&" $p_player_hp01[2]="&$p_player_hp01[2]&" tx="&$p_render_mini_tiled03[0]&" ty="&$p_render_mini_tiled03[1]&" $p_render_mini_tiled03[2]="&$p_render_mini_tiled03[2]&@CRLF & _ "px="&$p_render_enemy_id_at02[0]&" py="&$p_render_enemy_id_at02[1]&" name="&$p_render_enemy_id_at02[4]&" text1="&$p_render_enemy_id_at02[2]&" address="&$p_render_enemy_id_at02[3]&@CRLF & _ "$p_render_map_name03[2]="&$p_render_map_name03[2]&" px="&$p_render_map_name03[0]&" py="&$p_render_map_name03[1]&@CRLF & _ "$p_render_rift_defeat01[2]="&$p_render_rift_defeat01[2]&" px="&$p_render_rift_defeat01[0]&" py="&$p_render_rift_defeat01[1]&" $p_render_rift_defeat02[2]="&$p_render_rift_defeat02[2]&" $p_render_rift_defeat03[2]="&$p_render_rift_defeat03[2]&@CRLF & _ "$p_render_rift_defeat14[2]="&$p_render_rift_defeat14[2]&"$p_render_rift_defeat05[2]="&$p_render_rift_defeat05[2]&" $p_render_rift_defeat06[2]="&$p_render_rift_defeat06[2]&@CRLF & _ "" ) ;"sx-px="&$p_step_move01[0]-$p_player_view01[0]&" sy-py="&$p_step_move01[1]-$p_player_view01[1]&" $p_render_mini_mapxy02[2]="&$p_render_mini_mapxy02[2]&@CRLF & _ ; quest lv 1 > 30 fix ------------------------------------------ If _IsChecked( ($button_auto01[2])[7-1] ) = True and _IsChecked( ($button_select02[6])[7-1] ) = False Then If $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $time_stop01 > $drag_sleep01[$loopacc] Then ControlDrag02($loopacc,"Diablo Immortal","up","1",63,114) ; click item 1x1y $drag_sleep01[$loopacc] = $time_stop01+$drag_sleep01wait $action = 99 EndIf Select Case $b_game3d01[0] = 1 and $p_drop_item_quest01[0] <> 0 and $p_drop_item_quest01[3] = 0 $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $b_game3d01[0] = 1 and $p_item_time01[2] <> 0 $sleep01[$loopacc] = $time_stop01+3000 $action = 99 ; quest lv20 to 30 -------------------------------------------------------- Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], 'Follow Charsi') > 0 ;$m_drop01 = rect_xy01($p_drop05[0],$p_drop05[1]-5, 520,-30, 720, 90) ; mini map ;$m_drop01 = rect_xy01($m_drop01[0],$m_drop01[1], 67, 0, 104, 43) ; party ;$m_drop01 = rect_xy01($m_drop01[0],$m_drop01[1], 126, 70, 144, 178) ; time elder rift ;ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$m_drop01[0]+5,$m_drop01[1]-5) ; USE DROP $click_no_time01 = 1 If $p_drop05[0] > 520 and $p_drop05[0] < 720 and $p_drop05[1] > -30 and $p_drop05[1] < 90 Then $click_no_time01 = 0 If $p_drop05[0] > 67 and $p_drop05[0] < 104 and $p_drop05[1] > 0 and $p_drop05[1] < 43 Then $click_no_time01 = 0 If $click_no_time01 = 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_drop05[0]+5,$p_drop05[1]-5) ; USE DROP If $click_no_time01 = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",$p_drop05[0]+5,$p_drop05[1]-5) ; USE DROP $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Dark Wood" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], 'Escort Alyssa') > 0 ;$m_drop01 = rect_xy01($p_drop05[0],$p_drop05[1]-5, 520,-30, 720, 90) ; mini map ;$m_drop01 = rect_xy01($m_drop01[0],$m_drop01[1], 67, 0, 104, 43) ; party ;$m_drop01 = rect_xy01($m_drop01[0],$m_drop01[1], 126, 70, 144, 178) ; time elder rift ;ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$m_drop01[0]+5,$m_drop01[1]-5) ; USE DROP $click_no_time01 = 1 If $p_drop05[0] > 520 and $p_drop05[0] < 720 and $p_drop05[1] > -30 and $p_drop05[1] < 90 Then $click_no_time01 = 0 If $p_drop05[0] > 67 and $p_drop05[0] < 104 and $p_drop05[1] > 0 and $p_drop05[1] < 43 Then $click_no_time01 = 0 If $click_no_time01 = 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_drop05[0]+5,$p_drop05[1]-5) ; USE DROP If $click_no_time01 = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",$p_drop05[0]+5,$p_drop05[1]-5) ; USE DROP $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], 'Return to Charsi') > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],42,-37) ) < 8 and Int( Distance($p_player_view01[0],$p_player_view01[1],42,-37) ) > -1 $mxyf01 = _mouse45( 44,-34+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], 'Help Vic#00ff2a(0/1)') > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],59,14) ) < 8 and Int( Distance($p_player_view01[0],$p_player_view01[1],59,14) ) > -1 $mxyf01 = _mouse45( 59,14+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], 'Reach Seril') > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],40,44) ) < 8 and Int( Distance($p_player_view01[0],$p_player_view01[1],40,44) ) > -1 $mxyf01 = _mouse45( 40,44+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], 'Talk to Seril') > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],40,44) ) < 8 and Int( Distance($p_player_view01[0],$p_player_view01[1],40,44) ) > -1 $mxyf01 = _mouse45( 40,44+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], 'Talk to Vic') > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],37,42) ) < 8 and Int( Distance($p_player_view01[0],$p_player_view01[1],37,42) ) > -1 $mxyf01 = _mouse45( 37,42+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], 'Talk to Charsi') > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],37,45) ) < 8 and Int( Distance($p_player_view01[0],$p_player_view01[1],37,45) ) > -1 $mxyf01 = _mouse45( 37,45+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], 'Talk to Charsi') > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],60,53) ) < 8 and Int( Distance($p_player_view01[0],$p_player_view01[1],60,53) ) > -1 $mxyf01 = _mouse45( 60,53+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], 'Enter the Portal#00ff2a(0/1)') > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],58,56) ) < 8 and Int( Distance($p_player_view01[0],$p_player_view01[1],58,56) ) > -1 $mxyf01 = _mouse45( 58,56+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Dark Wood" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], 'Talk to Alyssa') > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],-2,-49) ) < 8 and Int( Distance($p_player_view01[0],$p_player_view01[1],-2,-49) ) > -1 $mxyf01 = _mouse45( -2,-49+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Dark Wood" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], 'Enter the Bloodsworn') > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],-11,-107) ) < 8 and Int( Distance($p_player_view01[0],$p_player_view01[1],-11,-107) ) > -1 $mxyf01 = _mouse45( -11+1,-107+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Dark Wood" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], 'Talk to Akara') > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],188,-61) ) < 4 and Int( Distance($p_player_view01[0],$p_player_view01[1],188,-61) ) > -1 $mxyf01 = _mouse45( 188,-61+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Dark Wood" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], 'Talk to Hemlir') > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],183,-52) ) < 8 and Int( Distance($p_player_view01[0],$p_player_view01[1],183,-52) ) > -1 $mxyf01 = _mouse45( 183,-52+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Dark Wood" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], 'Talk to Hess') > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],185,-49) ) < 8 and Int( Distance($p_player_view01[0],$p_player_view01[1],185,-49) ) > -1 $mxyf01 = _mouse45( 185,-49+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Dark Wood" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], 'Take the Ember of') > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],260,-150) ) < 8 and Int( Distance($p_player_view01[0],$p_player_view01[1],260,-150) ) > -1 $mxyf01 = _mouse45( 260,-150+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Dark Wood" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], 'Talk to Kashya') > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],349,-212) ) < 8 and Int( Distance($p_player_view01[0],$p_player_view01[1],349,-212) ) > -1 $mxyf01 = _mouse45( 349,-212+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], 'Inspect the Challenge') > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],54,-26) ) < 10 and Int( Distance($p_player_view01[0],$p_player_view01[1],54,-26) ) > -1 $mxyf01 = _mouse45( 55,-29+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], 'Inspect the Armor') > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],64,53) ) < 8 and Int( Distance($p_player_view01[0],$p_player_view01[1],64,53) ) > -1 $mxyf01 = _mouse45( 63,51+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], "Reach Wynton's") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],68,81) ) < 8 and Int( Distance($p_player_view01[0],$p_player_view01[1],68,81) ) > -1 $mxyf01 = _mouse45( 68,81+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], "Return to Cain's") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],29,2) ) < 11 and Int( Distance($p_player_view01[0],$p_player_view01[1],29,2) ) > -1 $mxyf01 = _mouse45( 29,2+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], "Head to Wolf City") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],9,35) ) < 13 and Int( Distance($p_player_view01[0],$p_player_view01[1],9,35) ) > -1 $mxyf01 = _mouse45( 9,35+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], "Leave the Tavern") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],13,36) ) < 12 and Int( Distance($p_player_view01[0],$p_player_view01[1],13,36) ) > -1 $mxyf01 = _mouse45( 13,36+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], "Head to the Docks") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],-23,-11) ) < 12 and Int( Distance($p_player_view01[0],$p_player_view01[1],-23,-11) ) > -1 $mxyf01 = _mouse45( -23,-11+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 ; quest lv 1 > 20 fix ------------------------------------------ Case $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], "Reach Ashwold") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],-9,-77) ) < 12 and Int( Distance($p_player_view01[0],$p_player_view01[1],-9,-77) ) > -1 $mxyf01 = _mouse45( -9,-77+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], "Kill the Undead") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],162,-27) ) < 3 and Int( Distance($p_player_view01[0],$p_player_view01[1],162,-27) ) > -1 $mxyf01 = _mouse45( 158,-25+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Asylla's Tomb" and $p_render_gui_text01[6] = "Recommendations" ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",194, 341) ; Click Revive at Checkpoint $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Asylla's Tomb" and $p_render_gui_text01[11]= "Revive at corpse" ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",194, 341) ; Click Revive at Checkpoint $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Cemetery" and $p_render_gui_text01[6] = "Recommendations" ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",194, 341) ; Click Revive at Checkpoint $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Cemetery" and $p_render_gui_text01[11]= "Revive at corpse" ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",194, 341) ; Click Revive at Checkpoint $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Dark Wood" and $p_render_gui_text01[6] = "Recommendations" ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",194, 341) ; Click Revive at Checkpoint $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Dark Wood" and $p_render_gui_text01[11]= "Revive at corpse" ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",194, 341) ; Click Revive at Checkpoint $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $b_game3d01[0] = 0 and $p_render_gui_text01[34]= "Revive at corpse" ; click Revive at corpse ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",360,337) ; click x 346 > 360 $sleep01[$loopacc] = $time_stop01+3000 Case $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], "Enter the Portal#00ff2a(0/1)") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],252,-325) ) < 9 and Int( Distance($p_player_view01[0],$p_player_view01[1],252,-325) ) > -1 $mxyf01 = _mouse45( 252-0,-325-1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], "Find Charsi in Rakkis") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],60,54) ) < 8 and Int( Distance($p_player_view01[0],$p_player_view01[1],60,54) ) > -1 $mxyf01 = _mouse45( 60-0,54-1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], "Reach Cain's") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],29,9) ) < 11 and Int( Distance($p_player_view01[0],$p_player_view01[1],29,9) ) > -1 $mxyf01 = _mouse45( 31,11-1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], "Examine Cain's") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],34,-3) ) < 9 and Int( Distance($p_player_view01[0],$p_player_view01[1],34,-3) ) > -1 $mxyf01 = _mouse45( 34-0,-4-1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], "Complete an ElderRift") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],46,-24) ) < 15 and Int( Distance($p_player_view01[0],$p_player_view01[1],46,-24) ) > -1 ;$mxyf01 = _mouse45( 34-0,-4-1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ;ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 ; quest in dungeon fix ------------------------ Case $p_render_map_name03[2] = "Den" and $b_game3d01[0] = 1 and $p_render_gui_text01[35] = "Talk to Kashya" and Int( Distance($p_player_view01[0],$p_player_view01[1],-24,1) ) < 9 and Int( Distance($p_player_view01[0],$p_player_view01[1],-24,1) ) > -1 $mxyf01 = _mouse45( -24,1-1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Den" and $b_game3d01[0] = 1 and $p_render_gui_text01[35] = "Free Hemlir from the" and Int( Distance($p_player_view01[0],$p_player_view01[1],-24,-1) ) < 9 and Int( Distance($p_player_view01[0],$p_player_view01[1],-24,-1) ) > -1 $mxyf01 = _mouse45( -24,-1-1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Blood Rose" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[35], "Leave the Lair of the") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],90,-258) ) < 9 and Int( Distance($p_player_view01[0],$p_player_view01[1],90,-258) ) > -1 $mxyf01 = _mouse45( 96,-262-1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Workshop" and $b_game3d01[0] = 1 and $p_render_gui_text01[35] = "Leave Cain's Workshop" and Int( Distance($p_player_view01[0],$p_player_view01[1],31,10) ) < 11 and Int( Distance($p_player_view01[0],$p_player_view01[1],31,10) ) > -1 $mxyf01 = _mouse45( 31,10-1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Workshop" and $b_game3d01[0] = 1 and $p_render_gui_text01[35] = "Assist with Cain's Ritual" and Int( Distance($p_player_view01[0],$p_player_view01[1],31,1) ) < 11 and Int( Distance($p_player_view01[0],$p_player_view01[1],31,1) ) > -1 $mxyf01 = _mouse45( 30,1-3,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Workshop" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[35], "Examine the Scroll on") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],30,-7) ) < 11 and Int( Distance($p_player_view01[0],$p_player_view01[1],30,-7) ) > -1 $mxyf01 = _mouse45( 29,-7-1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Workshop" and $b_game3d01[0] = 1 and $p_render_gui_text01[35] = "Talk to Cain" and Int( Distance($p_player_view01[0],$p_player_view01[1],30,-6) ) < 11 and Int( Distance($p_player_view01[0],$p_player_view01[1],30,-6) ) > -1 $mxyf01 = _mouse45( 30,-6-1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Lords' Rest" and $b_game3d01[0] = 1 and $p_render_gui_text01[35] = "Kill Lethes" and Int( Distance($p_player_view01[0],$p_player_view01[1],250,-317) ) < 4 and Int( Distance($p_player_view01[0],$p_player_view01[1],250,-317) ) > -1 $mxyf01 = _mouse45( 251,-323,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Lords' Rest" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[35], "Collect the Worldstone") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],251,-327) ) < 11 and Int( Distance($p_player_view01[0],$p_player_view01[1],251,-327) ) > -1 $mxyf01 = _mouse45( 251,-327-1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Cemetery" and $b_game3d01[0] = 1 and $p_render_gui_text01[28] = "Open a portal toWestmarch#00ff2a(0/1)" and Int( Distance($p_player_view01[0],$p_player_view01[1],250,-323) ) < 11 and Int( Distance($p_player_view01[0],$p_player_view01[1],250,-323) ) > -1 $mxyf01 = _mouse45( 250,-321,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Cemetery" and $b_game3d01[0] = 1 and $p_render_gui_text01[28] = "Enter the Portal#00ff2a(0/1)" and Int( Distance($p_player_view01[0],$p_player_view01[1],252,-325) ) < 11 and Int( Distance($p_player_view01[0],$p_player_view01[1],252,-325) ) > -1 $mxyf01 = _mouse45( 252,-325,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Wortham" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[35], "Free the Shackled") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],-70,-77) ) < 11 and Int( Distance($p_player_view01[0],$p_player_view01[1],-70,-77) ) > -1 $mxyf01 = _mouse45( -70,-76,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Wortham" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[35], "Examine the Worldstone") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],-11,-137) ) < 11 and Int( Distance($p_player_view01[0],$p_player_view01[1],-11,-137) ) > -1 $mxyf01 = _mouse45( -11,-137,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Wortham" and $b_game3d01[0] = 1 and $p_render_gui_text01[35] = "Take the World Map" and Int( Distance($p_player_view01[0],$p_player_view01[1],72,15) ) < 11 and Int( Distance($p_player_view01[0],$p_player_view01[1],72,15) ) > -1 $mxyf01 = _mouse45( 72,15-2,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Cemetery" and $b_game3d01[0] = 1 and StringInStr($p_render_gui_text01[28], "Search for the") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],100,-223) ) < 11 and Int( Distance($p_player_view01[0],$p_player_view01[1],100,-223) ) > -1 $mxyf01 = _mouse45( 101,-223,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Cemetery" and $b_game3d01[0] = 1 and $p_render_gui_text01[28] = "Investigate theQueen's TombQueen's Tomb" and Int( Distance($p_player_view01[0],$p_player_view01[1],49,-259) ) < 11 and Int( Distance($p_player_view01[0],$p_player_view01[1],49,-259) ) > -1 $mxyf01 = _mouse45( 49-1,-259-2,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Cemetery" and $b_game3d01[0] = 1 and $p_target_hp01[2] = 0 and StringInStr($p_render_gui_text01[28], "Destroy the DeathRitual#00ff2a") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],205,-206) ) < 11 and Int( Distance($p_player_view01[0],$p_player_view01[1],205,-206) ) > -1 $mxyf01 = _mouse45( 205-1,-206-1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Cemetery" and $b_game3d01[0] = 1 and $p_step_move01[2]=0 and $p_target_hp01[2] = 0 and StringInStr($p_render_gui_text01[28], "Destroy theremaining DeathRituals#00ff2a") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],288,-155) ) < 11 and Int( Distance($p_player_view01[0],$p_player_view01[1],288,-155) ) > -1 $mxyf01 = _mouse45( 288-1,-155-1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $p_render_map_name03[2] = "Cemetery" and $b_game3d01[0] = 1 and $p_step_move01[2]=0 and $p_target_hp01[2] = 0 and StringInStr($p_render_gui_text01[28], "Destroy theremaining DeathRituals#00ff2a") > 0 and Int( Distance($p_player_view01[0],$p_player_view01[1],288,-260) ) < 11 and Int( Distance($p_player_view01[0],$p_player_view01[1],288,-260) ) > -1 $mxyf01 = _mouse45( 288-1,-260-1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mxyf01[0], $mxyf01[1]) ; Click Blacksmith $sleep01[$loopacc] = $time_stop01+3000 $action = 99 ; step move fix ---------------------------------- Case $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $time_stop01 > $step_move_sleep08[$loopacc] and $p_step_move01[2]<>0 ; STEP_MOVE $mxyf01 = _mouse45($p_step_move01[0], $p_step_move01[1],$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0], $mxyf01[1] ) ; ; SKILL 8 STEP_MOVE $step_move_sleep08[$loopacc] = $time_stop01+$step_move_sleep08wait $action = 99 ; -1 -2 LEFT+UP ; end quest lv20 to 30 -------------------------------------------------------- EndSelect If $time_stop01 > $quest_select_sleep01[$loopacc] and $b_game3d01[0] = 1 and $p_player_view01[3] = 0 and $p_step_move01[2]=0 and $p_target_hp01[2] = 0 and $p_render_gui_text01[29] = "#d56818"Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",31, 113) ; Click main quest line 0 $quest_select_sleep01[$loopacc] = $time_stop01+$quest_select_sleep01wait $action = 99 ElseIf $time_stop01 > $quest_select_sleep01[$loopacc] and $b_game3d01[0] = 1 and $p_player_view01[3] = 0 and $p_step_move01[2]=0 and $p_target_hp01[2] = 0 and $p_render_gui_text01[29] = "#ba841c"Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",31, 146) ; Click main quest line 0 $quest_select_sleep01[$loopacc] = $time_stop01+$quest_select_sleep01wait $action = 99 Else $quest_select_sleep01[$loopacc] = $time_stop01+$quest_select_sleep01wait EndIf EndIf ; end quest lv 1 > 30 fix ------------------------------------------ If $a_map01[$loopacc] = 0 Then Local $aArray_Map[1][6] = [["ID NAME", "SPACE X", "SPACE Y", "PLAYER X", "PLAYER Y", "DISTANCE"]] $a_map01[$loopacc] = $aArray_Map ; _ArrayAdd($a_map01[$loopacc] > ($a_map01[$loopacc])[1][2] EndIf If $a_new_map01[$loopacc] = 0 Then ; SPACE_SNARE Local $aArray_Map[1][6] = [["ID NAME", "SPACE X", "SPACE Y", "PLAYER X", "PLAYER Y", "DISTANCE"]] $a_new_map01[$loopacc] = $aArray_Map ; _ArrayAdd($a_new_map01[$loopacc] > ($a_new_map01[$loopacc])[1][2] EndIf If _IsChecked( ($button_auto01[1])[7-1] ) = False and _IsChecked( ($button_auto01[2])[7-1] ) = True Then ; START POINT_MOVE > REMOVE > SELECT > SAVE > LOAD If _IsChecked( ($button_select02[1])[7-1] ) = True Then ; POINT_MOVE GUICtrlSetState( ($button_select02[1])[7-1], $GUI_UNCHECKED) EndIf EndIf ; END START POINT_MOVE > REMOVE > SELECT > SAVE > LOAD If _IsChecked( ($button_auto02[1])[7-1] ) = True Then $default01 = "10000, 10000, 10000, 0, 10000, 0, -25, 0, 0, 0, 0" $help01 = "( [$iFlags = 0 [, $iIlluminant = 0 [, $iGammaR = 10000 [, $iGammaG = 10000 [, $iGammaB = 10000 [, $iBlack = 0 [, $iWhite = 10000 [, $iContrast = 0 [, $iBrightness = 0 [, $iColorfulness = 0 [, $iTint = 0]]]]]]]]]]] )" $inputbox01 = InputBox("SAVE MAP", $help01, $default01 , " M99") Global $g_aDefault = StringSplit($inputbox01,",",2) ;set Tint to 100 $copy_view01 = 1 GUICtrlSetState( ($button_auto02[1])[7-1], $GUI_UNCHECKED) EndIf ; fix map move ket ;If $p_render_mini_mapxy02[2] = "map35_standard_e" and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and $s_check_blacksmith01[$loopacc] = 2 and $p_render_map_name03[2] = "Elder Ri" and $time_stop01 > $sleep01[$loopacc] Then ; $Dis_lag01 = Int( Distance($p_render_mini_tiled03[0],$p_render_mini_tiled03[1], 568, 497) ) ; DOWN+LEFT > chay DOWN+LEFT ; If $dis_portal01[$loopacc] > 63-5 and $dis_portal01[$loopacc] < 63+5 and $Dis_lag01 > -1 and $Dis_lag01 < 6 Then ; ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",10, 123) ; Click lag x y ; $p_player_view01[3] = 1 ; $action = 99 ; $sleep01[$loopacc] = $time_stop01+3000 ;EndIf ;$Dis_lag01 = Int( Distance($p_render_mini_tiled03[0],$p_render_mini_tiled03[1], 563, 460) ) ; DOWN+LEFT > chay DOWN+LEFT ;If $dis_portal01[$loopacc] > 49-5 and $dis_portal01[$loopacc] < 49+5 and $Dis_lag01 > -1 and $Dis_lag01 < 6 Then ; ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",150, 0) ; Click lag x y ; $p_player_view01[3] = 1 ; $action = 99 ; $sleep01[$loopacc] = $time_stop01+3000 ; EndIf ; EndIf ; end fix map move ket $Dis_quest01 = -1 ; quest blue $Dis_quest01max = 15 $Dis_quest02 = -1 ; quest gan elder rift $Dis_quest02max = 20 If _IsChecked( ($button_auto01[5])[7-1] ) = True and $p_render_map_name03[2] = "Westmarc" Then $Dis_quest01 = Int( Distance($p_player_view01[0],$p_player_view01[1],48,54) ) $Dis_quest01 = Int( Distance($p_player_view01[0],$p_player_view01[1],43,-34) ) EndIf If _IsChecked( ($button_auto01[5])[7-1] ) = True and $p_render_map_name03[2] = "Westmarc" and $Dis_quest01 > -1 and $Dis_quest01 < $Dis_quest01max+1 Then $p_drop01[3] = 0 $p_drop02[3] = 0 $p_drop03[3] = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*0, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*16, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*32, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 $p_target_hp01[0] = 0 $p_target_hp01[1] = 0 $p_target_hp01[2] = 0 $sleep01[$loopacc] = $time_stop01+3000 ElseIf _IsChecked( ($button_auto01[5])[7-1] ) = True and $p_render_map_name03[2] = "Westmarc" and $Dis_quest02 > -1 and $Dis_quest02 < $Dis_quest02max+1 Then $p_drop01[3] = 0 $p_drop02[3] = 0 $p_drop03[3] = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*0, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*16, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 _MemoryWrite64($v_cmp_drop01[1]+0x8*32, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 $p_target_hp01[0] = 0 $p_target_hp01[1] = 0 $p_target_hp01[2] = 0 $sleep01[$loopacc] = $time_stop01+3000 EndIf $click_line_add = -1 If $p_render_gui_text01[36] = "Rakkis Plaza Waypoint" Then ; $click_line_add $click_line_add = 0 ElseIf $p_render_gui_text01[37] = "Rakkis Plaza Waypoint" Then ; $click_line_add $click_line_add = 1 ElseIf $p_render_gui_text01[38] = "Rakkis Plaza Waypoint" Then ; $click_line_add $click_line_add = 2 ElseIf $p_render_gui_text01[39] = "Rakkis Plaza Waypoint" Then ; $click_line_add $click_line_add = 3 ElseIf $p_render_gui_text01[40] = "Rakkis Plaza Waypoint" Then ; $click_line_add $click_line_add = 4 ElseIf $p_render_gui_text01[41] = "Rakkis Plaza Waypoint" Then ; $click_line_add $click_line_add = 5 ElseIf $p_render_gui_text01[42] = "Rakkis Plaza Waypoint" Then ; $click_line_add $click_line_add = 6 EndIf $Dis_Rift01 = -1 ; Elder Rift Entrance $Dis_Rift02 = -1 ; Elder Rift Entrance wall $Dis_Rift03 = -1 ; Elder Rift Entrance wall $Dis_Black01 = -1 ; Blacksmith $Dis_Identify01 = -1 ; Identify $Dis_Charm01 = -1 ; Charm Craftsman $Dis_Rise01 = -1 ; Rise of Clearsing $Dis_Stash01 = -1 ; Stash If _IsChecked( ($button_select02[6])[7-1] ) = True Then ; Rise of Clearsing $Dis_Rise01 = Int( Distance($p_player_view01[0],$p_player_view01[1],14,69) ) $Dis_Rise01max = 6 $action = 0 ; Select ; Case $p_render_map_name03[2] = "Precipice" and $p_drop01[2] = "E" and StringInStr($p_render_rift_defeat14[2], 'Closing in:') < 0+1 ; $sleep01[$loopacc] = $time_stop01+3000 ; $action = 99 ; EndSelect If $action <> 99 and $p_render_map_name03[2] = "Westmarc" Then ; fix If $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[11] <> "Rite of Cleansing" and $p_render_gui_text01[24] <> "Begin the Rite" and $p_render_gui_text01[15] <> "Rite of Cleansing" and $Dis_Rise01 > -1 and $Dis_Rise01 < $Dis_Rise01max+1 and $time_stop01 > $sleep01[$loopacc] Then $mxyf01 = _mouse45( 14,69,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) $player_step01x = $mxyf01[0] $player_step01y = $mxyf01[1] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$player_step01x, $player_step01y) ; Click Nisza Rise of Clearsin $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[11] = "Rite of Cleansing" and $p_render_gui_text01[24] <> "Begin the Rite" and $p_render_gui_text01[15] <> "Rite of Cleansing" and $Dis_Rise01 > -1 and $Dis_Rise01 < $Dis_Rise01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",559,337) ; click Nisza > Rise of Clearsing $sleep01[$loopacc] = $time_stop01+2000 ElseIf $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[11] <> "Rite of Cleansing" and $p_render_gui_text01[24] = "Begin the Rite" and $Dis_Rise01 > -1 and $Dis_Rise01 < $Dis_Rise01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",360,402) ; click Nisza > Rise of Clearsing > Begin the Rite 345 > 360 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[11] <> "Rite of Cleansing" and $p_render_gui_text01[15] = "Rite of Cleansing" and $Dis_Rise01 > -1 and $Dis_Rise01 < $Dis_Rise01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",360,402) ; click Nisza > Rise of Clearsing > Begin the Rite 345 > 360 $sleep01[$loopacc] = $time_stop01+2000 EndIf ElseIf $action <> 99 and $p_render_map_name03[2] <> "Westmarc" Then ; fix ; #00ff2aClosing in: 02:23 exit If $p_render_map_name03[2] <> "Westmarc" and $p_player_hp01[0] > 0 and StringInStr($p_render_rift_defeat14[2], 'Closing in:') > 0 and $p_render_gui_text01[6] <> "A treasure chest has not been " and $p_render_gui_text01[18] <> "A treasure chest has not been " and $time_stop01 > $sleep01[$loopacc] and $b_game3d01[0] = 1 Then ; rift [Blacksmith] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",536,78) ; click exit $sleep01[$loopacc] = $time_stop01+2000 ElseIf $p_render_map_name03[2] <> "Westmarc" and $p_player_hp01[0] > 0 and $p_render_gui_text01[6] = "A treasure chest has not been " and $time_stop01 > $sleep01[$loopacc] and $b_game3d01[0] = 0 Then ; rift [Blacksmith] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",417,285) ; click exit > ok $sleep01[$loopacc] = $time_stop01+12000 ElseIf $p_render_map_name03[2] <> "Westmarc" and $p_player_hp01[0] > 0 and $p_render_gui_text01[18] = "A treasure chest has not been " and $time_stop01 > $sleep01[$loopacc] and $b_game3d01[0] = 0 Then ; rift [Blacksmith] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",417,285) ; click exit > ok $sleep01[$loopacc] = $time_stop01+12000 EndIf EndIf ; end fix EndIf ; end Rise of Clearsing If _IsChecked( ($button_auto07[5])[7-1] ) = False Then $Dis_Rift01max = 16 ElseIf _IsChecked( ($button_auto07[5])[7-1] ) = True Then $Dis_Rift01max = 25 EndIf $Dis_Rift02max = 5 $Dis_Rift03max = 6 $Dis_Black01max = 6 $Dis_Identify01max = 6 $Dis_Charm01max = 6 $Dis_Stash01max = 5 ; Stash If $s_check_blacksmith01[$loopacc] = 2 and $map_large01 = 0 and $p_render_gui_text01[6] = "Exit Game?" and $p_render_map_name03[2] = "Elder Ri" and $p_render_rift_defeat01[2] = "Kill enemies quickly" and $time_stop01 > $sleep01[$loopacc] Then ; fix all menu + exit phu ban elder rift ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $s_check_blacksmith01[$loopacc] = 1 $s_fix_mini_map01[$loopacc] = 0 $Rift_sleep01[$loopacc] = $time_stop01+$Rift_sleep01wait $Rift_sleep02[$loopacc] = $time_stop01+$Rift_sleep02wait $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_map_name03[2] = "Westmarc" Then $Dis_Rift03 = Int( Distance($p_player_view01[0],$p_player_view01[1],29,-18) ) EndIf If $Dis_Rift03 > -1 and $Dis_Rift03 < $Dis_Rift03max+1 Then $westmarch_lag[$loopacc] = 1 $action = 99 $click_rift_fix01 = 1 EndIf If $p_render_map_name03[2] = "Westmarc" and $Dis_Rift03 > $Dis_Rift03max+1 and $westmarch_lag[$loopacc] = 1 and $b_game3d01[0] = 0 and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $action = 99 $sleep01[$loopacc] = $time_stop01+5000 ElseIf $p_render_map_name03[2] = "Westmarc" and $Dis_Rift03 > $Dis_Rift03max+1 and $westmarch_lag[$loopacc] = 1 and $b_game3d01[0] = 1 and $time_stop01 > $sleep01[$loopacc] Then $westmarch_lag[$loopacc] = 0 EndIf If $westmarch_lag[$loopacc] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[6] <> "#a79973nearest safe zone. Do y" and $b_game3d01[0] = 1 and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $p_render_gui_text01[0] <> "Codex" and $s_codex00on[$loopacc] = 1 and $time_stop01 > $sleep01[$loopacc] Then ; fix lag ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $action = 99 $sleep01[$loopacc] = $time_stop01+5000 ElseIf $westmarch_lag[$loopacc] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[6] <> "#a79973nearest safe zone. Do y" and $b_game3d01[0] = 0 and $b_all_menu01[0] = 1 and $p_render_gui_text01[0] <> "Settings" and $p_render_gui_text01[0] <> "Codex" and $s_codex00on[$loopacc] = 1 and $time_stop01 > $sleep01[$loopacc] Then ; fix lag ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",632,69) ; click setting $action = 99 $sleep01[$loopacc] = $time_stop01+5000 ElseIf $westmarch_lag[$loopacc] = 1 and $b_game3d01[0] = 0 and $b_unstuck01[0] = 1 and $p_render_gui_text01[6] <> "#a79973nearest safe zone. Do y" and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] = "Settings" and $p_render_gui_text01[0] <> "Codex" and $s_codex00on[$loopacc] = 1 and $time_stop01 > $sleep01[$loopacc] Then ; fix lag ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",441,409) ; click unstuck $action = 99 $sleep01[$loopacc] = $time_stop01+5000 ElseIf $westmarch_lag[$loopacc] = 1 and $map_large01 = 0 and $b_game3d01[0] = 0 and $b_unstuck01[0] = 0 and $p_render_gui_text01[6] <> "#a79973nearest safe zone. Do y" and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] = "Settings" and $p_render_gui_text01[0] <> "Codex" and $s_codex00on[$loopacc] = 1 and $time_stop01 > $sleep01[$loopacc] Then ; fix lag ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $action = 99 $sleep01[$loopacc] = $time_stop01+60000 ElseIf $westmarch_lag[$loopacc] = 1 and $map_large01 = 0 and $b_game3d01[0] = 0 and $p_render_gui_text01[6] = "Ability on cooldown. Remaining" and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] = "Settings" and $p_render_gui_text01[0] <> "Codex" and $s_codex00on[$loopacc] = 1 and $time_stop01 > $sleep01[$loopacc] Then ; fix lag ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $aArray_Mouse[$loopacc] &= "key_esc,"&$name_server00[$loopacc]&",60000," ; key3 name server $action = 99 $sleep01[$loopacc] = $time_stop01+5000 ElseIf $westmarch_lag[$loopacc] = 1 and $b_game3d01[0] = 0 and $p_render_gui_text01[6] = "#a79973nearest safe zone. Do y" and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] = "Settings" and $p_render_gui_text01[0] <> "Codex" and $s_codex00on[$loopacc] = 1 and $time_stop01 > $sleep01[$loopacc] Then ; fix lag ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",421,285) ; click unstuck > OK $action = 99 $sleep01[$loopacc] = $time_stop01+25000 EndIf If _IsChecked( ($button_auto01[3])[7-1] ) = True and $p_render_gui_text01[0] <> "Elder Rift" and $p_render_map_name03[2] = "Westmarc" Then $Dis_Rift01 = Int( Distance($p_player_view01[0],$p_player_view01[1],47,-27) ) $Dis_Rift02 = Int( Distance($p_player_view01[0],$p_player_view01[1],48,-32) ) $Dis_Black01 = Int( Distance($p_player_view01[0],$p_player_view01[1],59.5,54) ) $Dis_Identify01 = Int( Distance($p_player_view01[0],$p_player_view01[1],36,88) ) $Dis_Charm01 = Int( Distance($p_player_view01[0],$p_player_view01[1],33,93) ) $Dis_Stash01 = Int( Distance($p_player_view01[0],$p_player_view01[1],67,72) ) _MemoryWrite64($v_cmp_render_gui_text01[1]+0x8*9, $procHwnd01, ptr(0),'byte[8]') ; reset EndIf If _IsChecked( ($button_auto05[1])[7-1] ) = True and $p_render_gui_text01[0] <> "Elder Rift" and $p_render_map_name03[2] = "Westmarc" Then $Dis_Charm01 = Int( Distance($p_player_view01[0],$p_player_view01[1],33,93) ) EndIf If _IsChecked( ($button_auto07[6])[7-1] ) = True Then ; view _ArrayToString If $view_new_map01 = 1 Then GUICtrlSetData($idCheckbox35_tiled01_01, _ArrayToString($a_new_map01[$loopacc]) ) If $view_new_map01 = 0 Then GUICtrlSetData($idCheckbox35_tiled01_01, _ArrayToString($a_map01[$loopacc]) ) ;If $view_new_map01 = 2 Then GUICtrlSetData($idCheckbox35_tiled01_01, _ArrayToString($a_fog_map01[$loopacc]) ) If $view_array04 = 1 Then GUICtrlSetData($button_submit02, _ArrayToString($a_base01[$loopacc])) If $view_array04 = 2 Then GUICtrlSetData($button_submit02, _ArrayToString($data_trade)) ;_ArrayDisplay($a_new_map01[$loopacc], "$a_new_map01[$loopacc]") EndIf ; end view _ArrayToString GUICtrlSetData($idCheckbox35_tiled02_02, "") ;_ArrayDisplay($case_main01, "s ") ; fix gui hook > pixel check 0 = 1 ;If $p_render_gui_text01[13] = "Cosmetics" or $p_render_gui_text01[10] = "#a79973Cosmetics" Then $b_inventory01[0] = 1 $pixel_regex01 = "68C422" $pixel_shade01 = 38 $item_up01exit = 0 If StringLen($pixel_regex01) = 6 Then $pixel_regex01 = _regex_pixel01($pixel_regex01, $pixel_shade01)&"\ " ; 0 = hex 1 = array bytes $b_item_up01on = 1 If $b_inventory01[0] = 0 or $b_game3d01[0] = 1 or $b_exit01[0] = 1 Then $b_item_up01on = 0 $item_up01x = -1 $item_up01y = -1 If $b_game3d01[0] = 1 Then $a_lp_item01equip[$loopacc] = 0 $a_lp_item00num[$loopacc] = 1 EndIf If $a_lp_item01equip[$loopacc] > 12-1 Then $b_item_up01on = 0 ; fix mac do UP If $a_lp_item00num[$loopacc] > 49-1 Then $a_lp_item00num[$loopacc] = 49 ; fix mac do UP $lp_item00add = 0 If $b_item_up01on = 1 Then For $lp_item00 = $a_lp_item00num[$loopacc] to 49 ; 1 to 36 $lp_item00xy = _itemxy01($lp_item00) ;msgBox($MB_SYSTEMMODAL, "Title", "$lp_item00="&$lp_item00&" $a_lp_item00num[]="&$a_lp_item00num[$loopacc]&" $lp_item00xy[0]="&$lp_item00xy[0]&" $lp_item00xy[1]="&$lp_item00xy[1], 0) ;$b_item_up01 = _regex_color01($b_item_up01on, $stream[1], 1, $pixel_regex01, $pixel_shade01, 1, 434+43*$lp_item01x-3, 99+43*$lp_item01y, 434+43*$lp_item01x+3, 99+43*$lp_item01y+2) $b_item_up01 = asm_all_pixel01(51+$lp_item00,$b_item_up01on,$vtmem_autoit_screenX,$game_cap_x02,$game_cap_y02, 38,4,4,1, 436+43*$lp_item00xy[0] & "," & 99+43*$lp_item00xy[1] &","&"6ABE1B" & "," & 436+43*$lp_item00xy[0] & "," & 100+43*$lp_item00xy[1] &","&"335F0D") ; 1 trang X, 2 cam X, 3 trang item amor1, 4 xanh port If $b_item_up01[1] = 1 or $b_item_up01[2] = 1 Then $b_item_up01[0] = 1 ;$b_item_up01 = _regex01check($b_item_up01on, $stream[1], 1, $pixel_shade01, 3, 3, 436+43*$lp_item01x&"_"&99+43*$lp_item01y&"_"&$pixel_regex01) ; If $b_item_up01[0] = 1 Then ; $lp_item00add = $lp_item00 ; $item_up01x = $lp_item00xy[0] ; -1 vi bat dau tu 0 ; $item_up01y = $lp_item00xy[1] ; ExitLoop ; EndIf ; not equip ExitLoop $item_up01x = -1 $item_up01y = -1 $b_item_up01[0] = 0 ;If $lp_item00 = 42 Then ;$item_up01x = -1 ;$item_up01y = -1 ;$a_lp_item00num[$loopacc] = $lp_item00+1 ;EndIf Next EndIf Func _itemxy01($a_lp_item00num=1) Local $return[3] $a_lp_item01num = $a_lp_item00num - 1 Select Case $a_lp_item00num > 1-1 and $a_lp_item00num < 7+1 $return[0] = $a_lp_item01num-7*0 ; x $return[1] = 1-1 ; y Case $a_lp_item00num > 8-1 and $a_lp_item00num < 14+1 $return[0] = $a_lp_item01num-7*1 ; x $return[1] = 2-1 ; y Case $a_lp_item00num > 15-1 and $a_lp_item00num < 21+1 $return[0] = $a_lp_item01num-7*2 ; x $return[1] = 3-1 ; y Case $a_lp_item00num > 22-1 and $a_lp_item00num < 28+1 $return[0] = $a_lp_item01num-7*3 ; x $return[1] = 4-1 ; y Case $a_lp_item00num > 29-1 and $a_lp_item00num < 35+1 $return[0] = $a_lp_item01num-7*4 ; x $return[1] = 5-1 ; y Case $a_lp_item00num > 36-1 and $a_lp_item00num < 42+1 $return[0] = $a_lp_item01num-7*5 ; x $return[1] = 6-1 ; y Case $a_lp_item00num > 43-1 and $a_lp_item00num < 49+1 $return[0] = $a_lp_item01num-7*6 ; x $return[1] = 7-1 ; y Case $a_lp_item00num > 50-1 and $a_lp_item00num < 56+1 $return[0] = $a_lp_item01num-7*7 ; x $return[1] = 8-1 ; y EndSelect Return $return EndFunc $action = 0 $k = $b_inventory01 $t = $b_all_menu01 $v = $b_all_menu01 $h = $b_quest_chat02 $u = $b_codex01 If _IsChecked( ($button_select02[3])[7-1] ) = True Then $inputbox01 = InputBox("NAME PHONG", "$tsizex00max $tsizey00max", 4.9&","&4.9 , " M8") $inputbox01 = StringSplit($inputbox01,",") $tsizex00max = $inputbox01[1] $tsizey00max = $inputbox01[2] GUICtrlSetState( ($button_select02[3])[7-1], $GUI_UNCHECKED) EndIf $a_starxy00 = _map2d_3dxy01($a_a_star00x[$loopacc],$a_a_star00y[$loopacc],$p_player_view01[0],$p_player_view01[1],$start_red_x01,$start_red_y01,$tsize45x,$tsize45y,$tsizex00max,$tsizey00max ) If $no_fog_fix01 = 0 Then $v_cmp_render_map_no_fog06 = $v_cmp_render_map_no_fog06X[$loopacc] If $a_star01test = 1 and $s_mini_map_reset00on[$loopacc] = 1 and $p_render_map_name03[2] = "Elder Ri" and $map_large01 = 0 and $b_game3d01[0] = 1 and $s_check_blacksmith01[$loopacc] = 2 and $p_render_rift_defeat01[2] = "Kill enemies quickly" Then If $no_fog_fix01 = 0 Then _MemoryWrite64($v_cmp_render_map_no_fog06[1]+0x0, $procHwnd01, ptr(0),'byte[104]') ; reset $s_mini_map_reset00on[$loopacc] = 0 $randomxy_step01 = 120 $random01x = Random(-$randomxy_step01, $randomxy_step01, 40) $random01y = Random(-$randomxy_step01, $randomxy_step01, 40) $a_star03x = $player_center01x + $random01x $a_star03y = $player_center01y + $random01y ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $a_star03x, $a_star03y ) ; ; SKILL 8 STEP_MOVE LEFT EndIf ; --------------------------------------- xanh ;GUICtrlSetData($idCheckbox35_tiled01_01, "") ;GUICtrlSetData($idCheckbox35_tiled01_01, _ArrayToString($a_base01[$loopacc])) ;GUICtrlSetData($button_submit01, $a_ocr01[1][0]&$a_ocr01[2][0]&$a_ocr01[3][0]&$a_ocr01[4][0]&$a_ocr01[5][0]&$a_ocr01[6][0]&$a_ocr01[7][0]&$a_ocr01[8][0]&$a_ocr01[9][0]) ; ------------------------------------------ do GUICtrlSetData($idCheckbox35_tiled02_02,"$k[0]="&$k[0]&" $k[1]="&$k[1]&" $k[2]="&$k[2]&" $k[3]="&$k[3]&" $k[4]="&$k[4]&" $k[5]="&$k[5]&" $k[6]="&$k[6],"") GUICtrlSetData($idCheckbox35_tiled02_02,"$not_server01num[]="&$not_server01num[$loopacc]&" $not_server01on[]="&$not_server01on[$loopacc]&"$battle_log_server_sleep01[]="&$battle_log_server_sleep01[$loopacc],"") GUICtrlSetData($idCheckbox35_tiled02_02,"$restart_sleep01num[$i]="&$restart_sleep01num[$i]&" $name_server00[$loopacc]="&$name_server00[$loopacc]&" $name_server01char[$loopacc]="&$name_server01char[$loopacc]&" $name_server01char[$i]="&$name_server01char[$i],"") GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$loopacc&" $a_lp_item01equip[]="&$a_lp_item01equip[$loopacc]&" $a_lp_item00num[]="&$a_lp_item00num[$loopacc]&" $item_up01x="&$item_up01x&" $item_up01y="&$item_up01y&" $s_up_power01[]="&$s_up_power01[$loopacc]) ;GUICtrlSetData($idCheckbox35_tiled02_02,"$data_server[]="&$data_server[$i]&" $map_red01[0]="&$map_red01[0]&" $a_map_red01x[]="&$a_map_red01x[$loopacc]&" $a_map_red01y[]="&$a_map_red01y[$loopacc],"") ;GUICtrlSetData($idCheckbox35_tiled02_02,"$m01 x= "&$m01x&" $m01y = "&$m01y&" $xy01fog[0] = "&$xy01fog[0]&" $s_reset_move01[$loopacc]="&$s_reset_move01[$loopacc]&" $p_render_mini_mapxy02[2] = "&$p_render_mini_mapxy02[2],"") GUICtrlSetData($idCheckbox35_tiled02_02,"$b_game3d01[0]="&$b_game3d01[0]&" $b_exit01[0]="&$b_exit01[0]&" $action="&$action&" $case_main01[1]="&$case_main01[1]&" $s_check_trade01name[]="&$s_check_trade01name[$loopacc],"") GUICtrlSetData($idCheckbox35_tiled02_02,"[25]SCORE="&$p_render_gui_text01[25]&" $case_all01[1]="&$case_all01[1]&" $case_train01[1]="&$case_train01[1]&" $s_check_blacksmith01[$loopacc]="& $s_check_blacksmith01[$loopacc],"") ;GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$loopacc&" $item_up01x="&$item_up01x&" $item_up01y="&$item_up01y&" $s_up_power01[]="&$s_up_power01[$loopacc]&" $s_check_trade01char[]="&$s_check_trade01char[$loopacc]) GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$loopacc&" $Rift_sleep01[]="&$Rift_sleep01[$loopacc]&" $Rift_sleep02[]="&$Rift_sleep02[$loopacc]&" $p_run01="&$p_run01&" $map_large01="&$map_large01&" $restart_sleep01[]="&$restart_sleep01[$loopacc]) ;GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$loopacc&" $westmarch_lag[]="&$westmarch_lag[$loopacc]&" $a_lag_wall_sleep01[]="&$a_lag_wall_sleep01[$loopacc]&" $s_next01[]="&$s_next01[$loopacc]&" $s_check_train02[]="&$s_check_train02[$loopacc]) GUICtrlSetData($idCheckbox35_tiled02_02,"$s_mini_map_reset00on[]="&$s_mini_map_reset00on[$loopacc]&" $s_mini_map_back00on[]="&$s_mini_map_back00on[$loopacc]&" $a_local02[0]="&Hex($a_local02[0])&" $a_star01test="&$a_star01test&" $local_case01="&$local_case01&" $local_path01max="&$local_path01max,"") GUICtrlSetData($idCheckbox35_tiled02_02,"$t_stop01="&$time_stop01&" $a_starxy00[0]="&$a_starxy00[0]&" $a_starxy00[1]="&$a_starxy00[1]&" $a_a_star00x[]="&$a_a_star00x[$loopacc]&" $a_a_star00y[]="&$a_a_star00y[$loopacc]&" $tsizex00max="&$tsizex00max,"") GUICtrlSetData($idCheckbox35_tiled02_02,"$tsizex00max="&$tsizex00max&" $tsizey00max="&$tsizey00max&"$a_star01x="&$a_star01x&" $a_star01y="&$a_star01y&" $a_star03x="&$a_star03x&" $a_star03y="&$a_star03y&" $a_star_dis02max="&$a_star_dis02max&" $a_star_dis02num="&$a_star_dis02num,"") ;GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$loopacc&" $t_stop01="&$time_stop01&" $sleep01[]="&$sleep01[$loopacc]&" $b_item_up01[1]="&$b_item_up01[1]&" $s_check_trade01[]="&$s_check_trade01[$loopacc]) ;GUICtrlSetData($idCheckbox35_tiled02_02,"$Dis_Rift01="&$Dis_Rift01&" $Dis_Black01="&$Dis_Black01&" $Dis_Identify01="&$Dis_Identify01&" $s_sell01[]="&$s_sell01[$loopacc],"") ;GUICtrlSetData($idCheckbox35_tiled02_02,"$b_X_497_185[0]="&$b_X_497_185[0]&" $b_X_680_67[0]="&$b_X_680_67[0]&" $b_X_680_72[0]="&$b_X_680_72[0]&" $b_X_684_77[0]="&$b_X_684_77[0]&" $b_X_652_109[0]="&$b_X_652_109[0],"") If $b_enter_server01[0] = 1 Then $p_render_map_name03[2] = "Not" $aArray_sleep01max = $aArray_sleep[$loopacc] If $aArray_Mouse[$loopacc] <> "" and $time_stop01 > $aArray_sleep01max Then ; array_mouse $mouse_split0 = StringSplit($aArray_Mouse[$loopacc],',',3) ; ToolTip("361,312,101, = "&$mouse_split0[0]&","&$mouse_split0[1]&","&$mouse_split0[2]&",", 0, 0) $remove_mouse01on = 0 ; If $b_inventory01[0] = 1 and $p_render_gui_text01[25] < 30 and $mouse_split0[0]&","&$mouse_split0[1]&"," = "361,312," Then ; USE EQUIP item ; $aArray_Mouse[$loopacc] = "" ; $action = 99 ; ElseIf $b_inventory01[0] = 1 and $p_render_gui_text01[25] < 30 and $mouse_split0[0]&","&$mouse_split0[1]&"," = "361,351," Then ; USE EQUIP item ; $aArray_Mouse[$loopacc] = "" ; $action = 99 ; ElseIf $b_inventory01[0] = 1 and $p_render_gui_text01[25] < 30 and $mouse_split0[0]&","&$mouse_split0[1]&"," = "361,379," Then ; USE EQUIP item ; $aArray_Mouse[$loopacc] = "" ; $action = 99 ; ElseIf $b_inventory01[0] = 1 and $p_render_gui_text01[25] < 30 and $mouse_split0[0]&","&$mouse_split0[1]&"," = "361,407," Then ; USE EQUIP item ; $aArray_Mouse[$loopacc] = "" ; $action = 99 ; EndIf If $b_inventory01[0] = 1 and $p_render_gui_text01[25] > 30 and $mouse_split0[0]&","&$mouse_split0[1]&"," = "244,396," Then ; USE EQUIP item fix red item $aArray_Mouse[$loopacc] = "" $action = 99 $remove_mouse01on = 1 ElseIf $b_inventory01[0] = 1 and $p_render_gui_text01[25] > 30 and $mouse_split0[0]&","&$mouse_split0[1]&"," = "360,288," Then ; USE EQUIP item fix red item $aArray_Mouse[$loopacc] = "" $action = 99 $remove_mouse01on = 1 EndIf If $b_inventory01[0] = 1 and $p_render_gui_text01[25] < 30 and $mouse_split0[0] = "361" Then ; USE EQUIP item $aArray_Mouse[$loopacc] = "" $action = 99 $remove_mouse01on = 1 EndIf If $aArray_Mouse[$loopacc] <> "" Then ; fix mouse end ;_ArrayDisplay($mouse_split0, "1D - Base array") If $mouse_split0[0]="key" Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],$mouse_split0[1]) ; Close all menu If $mouse_split0[0]="key3" Then ControlSend03($loopacc,$path_fb_html_list01[$i][2],$mouse_split0[1]) ; Close all menu ElseIf $mouse_split0[0]="key_esc" Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu ElseIf $mouse_split0[0]="mouse_drag" Then ControlDrag02($loopacc,"Diablo Immortal","down","1",491,251) ; click item 1x1y EndIf If $remove_mouse01on = 0 and $mouse_split0[0]<>"key" and $mouse_split0[0]<>"key3" and $mouse_split0[0]<>"key_esc" and $mouse_split0[0]<>"mouse_drag" and $mouse_split0[0]<>"sleep" and $mouse_split0[2]<>"-1" Then ;MsgBox($MB_SYSTEMMODAL, "Title", "$mouse_split0[0]="&$mouse_split0[0]&" $mouse_split0[1]="&$mouse_split0[1], 0) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$mouse_split0[0],$mouse_split0[1] ) ElseIf $remove_mouse01on = 0 and $mouse_split0[0]<>"key" and $mouse_split0[0]<>"key3" and $mouse_split0[0]<>"key_esc" and $mouse_split0[0]<>"mouse_drag" and $mouse_split0[0]<>"sleep" and $mouse_split0[2]="-1" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"Right","1",$mouse_split0[0],$mouse_split0[1] ) EndIf If $mouse_split0[2]<>"-1" Then $aArray_sleep[$loopacc] = $time_stop01+$mouse_split0[2] ; = $aArray_sleep01max $aArray_Mouse[$loopacc] = StringReplace($aArray_Mouse[$loopacc] , $mouse_split0[0]&","&$mouse_split0[1]&","&$mouse_split0[2]&",", "") ; delete array_mouse $action = 99 EndIf ; end fix mouse end EndIf ; end array_mouse ;If $action <> 99 and _IsChecked( ($button_auto05[3])[7-1] ) = False and $map_large01 = 0 and $p_render_rift_defeat01[2] = "Kill enemies quickly" and $time_stop01 > $sleep01[$loopacc] and $b_game3d01[0] = 0 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and $p_render_map_name03[2] = "Elder Ri" and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] = "Helliquary" and $p_render_gui_text01[6] <> "Are you sure you want to leave" Then ;If $action <> 99 and _IsChecked( ($button_auto05[3])[7-1] ) = False and $map_large01 = 0 and $time_stop01 > $sleep01[$loopacc] and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Elder Ri" and $p_render_gui_text01[0] = "Helliquary" Then ;If _IsChecked( ($button_auto05[3])[7-1] ) = False and $map_large01 = 0 and $time_stop01 > $sleep01[$loopacc] and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Elder Ri" and $p_render_gui_text01[0] = "Helliquary" Then ; ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu ; $sleep01[$loopacc] = $time_stop01+3000 ; $action = 99 ;EndIf ;If $b_transfer01[0] = 1 Then If StringInStr($p_render_gui_text01[6], 'Do you want to transfer') > 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",412,354) ; click transfer ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",412,283) ; click transfer $sleep01[$loopacc] = $time_stop01+2000 EndIf If $p_render_gui_text01[8] = "Transfer" or $p_render_gui_text01[4] = "Transfer" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",412,354) ; click transfer ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",412,283) ; click transfer $sleep01[$loopacc] = $time_stop01+2000 EndIf ;If StringInStr($p_render_gui_text01[6], 'Select the properties that you') > 0 and StringInStr($p_render_gui_text01[14], 'Inherit Essence') > 0 and StringInStr($p_render_gui_text01[18], 'Inherit Essence') > 0 Then ;ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",412,283) ; click transfer ;$sleep01[$loopacc] = $time_stop01+2000 ;EndIf If StringInStr($p_render_gui_text01[6], 'Select the properties that you') > 0 or StringInStr($p_render_gui_text01[11], 'the properties that you') > 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",412,354) ; click transfer ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",412,283) ; click transfer $sleep01[$loopacc] = $time_stop01+2000 EndIf If $time_stop01 > $sleep01[$loopacc] and $aArray_Mouse[$loopacc] ="" and $time_stop01 > $aArray_sleep01max and $action <> 99 Then ; $time_stop01 > $sleep01[$loopacc] If $action <> 99 and $case_all01[1] <> "" Then ; click [on, name, x1, y1, sleep, x2, y2 ] ;check_fast_click01($case_all01,$loopacc,$path_fb_html_list01[$i][2],$time_stop01) $action = 99 EndIf If $b_char_enter01[0] = 1 and $time_stop01 > $skill_sleep06[$loopacc] and _IsChecked( ($button_auto05[1])[7-1] ) = False and _IsChecked( ($button_auto05[2])[7-1] ) = False and _IsChecked( ($button_auto05[3])[7-1] ) = False and _IsChecked( ($button_auto05[4])[7-1] ) = False Then $click_char_num01 = $name_server01char[$loopacc] ; If _IsChecked( ($button_auto04[1])[7-1] ) = True Then $click_char_num01 = 1 ; If _IsChecked( ($button_auto04[2])[7-1] ) = True Then $click_char_num01 = 2 ; If _IsChecked( ($button_auto04[3])[7-1] ) = True Then $click_char_num01 = 3 ; If _IsChecked( ($button_auto04[4])[7-1] ) = True Then $click_char_num01 = 4 ; If _IsChecked( ($button_auto04[5])[7-1] ) = True Then $click_char_num01 = 5 If $click_char_num01 > 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",55,86+75*$click_char_num01-75) ; Click Char $aArray_Mouse[$loopacc] &= "55,"& 86+75*$click_char_num01-75 &",3000," ; Enter World EndIf $aArray_Mouse[$loopacc] &= "616,402,3000," ; Enter World $aArray_Mouse[$loopacc] &= "616,402,3001," ; Enter World $s_sell01[$loopacc] = 3 ; 4 = select char, 3 Identify, 2 sell blacksmith, 1 = elder rift 0 = tat $s_identify01[$loopacc] = 0 ;$sleep01[$loopacc] = $time_stop01+5000 $skill_sleep06[$loopacc] = $time_stop01+5000 $action = 99 ; vao char elder rift ;exit EndIf ; fix select server ;If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $server_fix = $str_H4D1 and $p_render_gui_text01[5] = $name_server01 Then $name_server01char[$loopacc] = $name_server01xchar ;If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $server_fix = $str_H4D1 and $p_render_gui_text01[5] = $name_server02 Then $name_server01char[$loopacc] = $name_server02xchar ;If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $server_fix = $str_D4H1 and $p_render_gui_text01[5] = $name_server01D4H1 Then $name_server01char[$loopacc] = $name_server01xchar ;If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $server_fix = $str_D4H1 and $p_render_gui_text01[5] = $name_server02D4H1 Then $name_server01char[$loopacc] = $name_server02xchar If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_H4D1 and $name_server00[$loopacc] = $name_server01 Then $name_server01char[$loopacc] = $name_server01xchar If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_H4D1 and $name_server00[$loopacc] = $name_server02 Then $name_server01char[$loopacc] = $name_server02xchar If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_D4H1 and $name_server00[$loopacc] = $name_server01D4H1 Then $name_server01char[$loopacc] = $name_server01xchar If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_D4H1 and $name_server00[$loopacc] = $name_server02D4H1 Then $name_server01char[$loopacc] = $name_server02xchar If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_H4L1 and $name_server00[$loopacc] = $name_server01H4L1 Then $name_server01char[$loopacc] = $name_server01xchar If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_H4L1 and $name_server00[$loopacc] = $name_server02H4L1 Then $name_server01char[$loopacc] = $name_server02xchar If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_D4L1 and $name_server00[$loopacc] = $name_server01D4L1 Then $name_server01char[$loopacc] = $name_server01xchar If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_D4L1 and $name_server00[$loopacc] = $name_server02D4L1 Then $name_server01char[$loopacc] = $name_server02xchar If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_H4D1 and $p_render_gui_text01[13] = "Server: #6f614dHelliquary" Then $name_server00[$loopacc] = $name_server01 $name_server01char[$loopacc] = $name_server01xchar EndIf If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_H4D1 and $p_render_gui_text01[13] = "Server: #6f614dDarkening of Tristram" Then $name_server00[$loopacc] = $name_server02 $name_server01char[$loopacc] = $name_server02xchar EndIf If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_D4H1 and $p_render_gui_text01[13] = "Server: #6f614dDarkening of Tristram" Then $name_server00[$loopacc] = $name_server01D4H1 $name_server01char[$loopacc] = $name_server01xchar EndIf If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_D4H1 and $p_render_gui_text01[13] = "Server: #6f614dHelliquary" Then $name_server00[$loopacc] = $name_server02D4H1 $name_server01char[$loopacc] = $name_server02xchar EndIf If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_H4L1 and $p_render_gui_text01[13] = "Server: #6f614dHelliquary" Then $name_server00[$loopacc] = $name_server01H4L1 $name_server01char[$loopacc] = $name_server01xchar EndIf If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_H4L1 and $p_render_gui_text01[13] = "Server: #6f614dLysander" Then $name_server00[$loopacc] = $name_server02H4L1 $name_server01char[$loopacc] = $name_server02xchar EndIf If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_D4L1 and $p_render_gui_text01[13] = "Server: #6f614dHelliquary" Then $name_server00[$loopacc] = $name_server01D4L1 $name_server01char[$loopacc] = $name_server01xchar EndIf If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_D4L1 and $p_render_gui_text01[13] = "Server: #6f614dLysander" Then $name_server00[$loopacc] = $name_server02D4L1 $name_server01char[$loopacc] = $name_server02xchar EndIf ;$server_fix = StringReplace($data_server[$i], " ", "") If _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_H5 Then $name_server01char[$loopacc] = $auto_server01char If _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_D5 Then $name_server01char[$loopacc] = $auto_server02char If _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_V5 Then $name_server01char[$loopacc] = $auto_server03char If _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_L5 Then $name_server01char[$loopacc] = $auto_server03char ; bi ket goi unstuck If $s_codex00on[$loopacc] = 0 Then $a_lag_wall_sleep01[$loopacc] = $time_stop01+$a_lag_wall_sleep01wait ElseIf $p_render_map_name03[2] <> "Westmarc" Then $a_lag_wall_sleep01[$loopacc] = $time_stop01+$a_lag_wall_sleep01wait EndIf If $p_render_map_name03[2] = "Westmarc" and $westmarch_lag[$loopacc] = 0 and $time_stop01 > $a_lag_wall_sleep01[$loopacc] Then $westmarch_lag[$loopacc] = 2 $a_lag_wall_sleep01[$loopacc] = $time_stop01+$a_lag_wall_sleep01wait EndIf ; end bi ket goi unstuck If $westmarch_lag[$loopacc] = 2 and $p_render_map_name03[2] = "Westmarc" Then $p_render_map_name03[2] = "Wortham" If $westmarch_lag[$loopacc] = 2 and $p_render_gui_text01[0] = "Westmarch" Then $p_render_gui_text01[0] = "Wortham" ; khac westmarch > port > Nearest Safe Zone $khac_map01 = 0 $bat_khac_map01 = 0 If $p_render_map_name03[2] = "Wortham" then $khac_map01 = 1 If $p_render_gui_text01[0] = "Wortham" then $bat_khac_map01 = 1 If $p_render_map_name03[2] = "Shassar Sea" then $khac_map01 = 1 If $p_render_gui_text01[0] = "Shassar Sea" then $bat_khac_map01 = 1 ; ToolTip("N="&$loopacc&" $khac_map01="&$khac_map01&" $bat_khac_map01="&$bat_khac_map01, 0, 0) If $s_check_train02[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $khac_map01 = 1 and $bat_khac_map01 = 0 and $time_stop01 > $sleep01[$loopacc] Then ; 1 bat map ControlSend02($loopacc,$path_fb_html_list01[$i][2],"m") ; bat World Map $action = 99 $sleep01[$loopacc] = $time_stop01+6000 ElseIf $s_check_train02[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $khac_map01 = 1 and $bat_khac_map01 = 1 and $p_render_gui_text01[11] <> "Nearest Safe Zone" and $b_portal_cool_down01[0] = 1 and $time_stop01 > $sleep01[$loopacc] Then ; 2 bat map > portal ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",658,379) ; click map > portal $action = 99 $sleep01[$loopacc] = $time_stop01+9000 ElseIf $s_check_train02[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $khac_map01 = 1 and $bat_khac_map01 = 1 and $p_render_gui_text01[11] = "Nearest Safe Zone" and $b_portal_cool_down01[0] = 1 and $time_stop01 > $sleep01[$loopacc] Then ; 3 bat map > portal > Nearest Safe Zone ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",549,347) ; click map > portal > Nearest Safe Zone $action = 99 $sleep01[$loopacc] = $time_stop01+30000 $westmarch_lag[$loopacc] = 0 EndIf ; end khac westmarch > port > Nearest Safe Zone If $khac_map01 = 0 then ; $khac_map01 ---------------------------- If _IsChecked( ($button_auto05[2])[7-1] ) = True or _IsChecked( ($button_auto05[4])[7-1] ) = True Then $s_codex00on[$loopacc] = 1 ; FIX If _IsChecked( ($button_auto05[1])[7-1] ) = True or _IsChecked( ($button_auto05[2])[7-1] ) = True or _IsChecked( ($button_auto05[4])[7-1] ) = True Then $s_check_train02[$loopacc] = 1 ; fix mac do xanh If $rewands_codex00on = 0 and $p_render_gui_text01[0] = "Codex" and $map_large01 = 0 and $s_check_train02[$loopacc] = 1 Then $random01esc = Random(0, 1, 1) If $random01esc = 0 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu If $random01esc = 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",681,73) ; click x codex $action = 99 $sleep01[$loopacc] = $time_stop01+5000 ElseIf $rewands_codex00on = 1 and $p_render_gui_text01[0] = "Codex" and $map_large01 = 0 and $s_check_train02[$loopacc] = 1 and $s_codex00on[$loopacc] = 1 Then $random01esc = Random(0, 1, 1) If $random01esc = 0 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu If $random01esc = 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",681,73) ; click x codex $action = 99 $sleep01[$loopacc] = $time_stop01+5000 EndIf If $rewands_codex00on = 1 and $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 1 and $p_render_gui_text01[0] <> "Codex" and $s_check_train02[$loopacc] = 1 and $s_codex00on[$loopacc] = 0 Then ; 1 bat codex ControlSend02($loopacc,$path_fb_html_list01[$i][2],"X") ; click X CODEX $action = 99 $sleep01[$loopacc] = $time_stop01+3000 ElseIf $rewands_codex00on = 0 and $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 0 and $p_render_gui_text01[0] <> "Codex" and $b_all_menu01[0] = 1 and $s_check_train02[$loopacc] = 1 and $s_codex00on[$loopacc] = 0 Then ; 1 bat codex ControlSend02($loopacc,$path_fb_html_list01[$i][2],"X") ; click X CODEX $action = 99 $sleep01[$loopacc] = $time_stop01+3000 EndIf If $rewands_codex00on = 1 and $p_render_map_name03[2] = "Westmarc" and $b_game3d01[0] = 0 and $p_render_gui_text01[0] = "Codex" and $s_check_train02[$loopacc] = 1 and $s_codex00on[$loopacc] = 0 Then ; 2 click 120 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",111,185) ; click battle pass > activities $aArray_Mouse[$loopacc] &= "111,185,3000," ; click battle pass > activities $aArray_Mouse[$loopacc] &= "448,256,2001," ; click 120 mini $aArray_Mouse[$loopacc] &= "632,256,2002," ; click 120 large $aArray_Mouse[$loopacc] &= "448,256,2003," ; click 120 mini $aArray_Mouse[$loopacc] &= "632,256,2004," ; click 120 large $sleep01[$loopacc] = $time_stop01+3000 $action = 99 $s_codex00on[$loopacc] = 1 EndIf If $rewands_codex00on = 1 and $p_render_map_name03[2] = "Elder Ri" and $s_check_train02[$loopacc] = 1 and $s_codex00on[$loopacc] = 0 Then ; 3 > off 120 $s_codex00on[$loopacc] = 1 EndIf If _IsChecked( ($button_auto05[2])[7-1] ) = True or _IsChecked( ($button_auto05[4])[7-1] ) = True Then $s_codex00on[$loopacc] = 1 ; FIX If _IsChecked( ($button_auto05[1])[7-1] ) = True or _IsChecked( ($button_auto05[2])[7-1] ) = True or _IsChecked( ($button_auto05[4])[7-1] ) = True Then $s_check_train02[$loopacc] = 0 ; fix mac do xanh EndIf ; end $khac_map01 ------------------------------------- If $p_render_gui_text01[51]= "#ffedc1Aeon of" or $p_render_gui_text01[51]= "#ffedc1Aeon of " or $p_render_gui_text01[63]= "5/13 - 6/11/2026" or $p_render_gui_text01[53]= "Stars is now available" or $p_render_gui_text01[8]= "Aeon of Stars" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",677,112) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_map_name03[2] = "Whispers" and $b_game3d01[0] = 1 and $p_player_hp01[0] > 0 and $p_render_gui_text01[6] <> "Go to the Court of Whispers en" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",535,80) ; click exit $sleep01[$loopacc] = $time_stop01+3000 $action = 99 ElseIf $p_render_map_name03[2] = "Whispers" and $b_game3d01[0] = 0 and $p_player_hp01[0] > 0 and $p_render_gui_text01[6] = "Go to the Court of Whispers en" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",412,285) ; co X > click OK $sleep01[$loopacc] = $time_stop01+3000 $action = 99 EndIf If $p_render_gui_text01[47] = "Random Legendary Gem" and $p_render_gui_text01[6] = "Would you like to craft this i" Then ; 2 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",390,285) ; USE Apprentice Jeweler > Craft > OK ElseIf $p_render_gui_text01[47] = "Random Legendary Gem" and $p_render_gui_text01[6] = "Confirm crafting?" Then ; 2 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",390,285) ; USE Apprentice Jeweler > Craft > OK EndIf $b_exit01remove = 1 If $s_check_blacksmith01[$loopacc] = 1 and $p_render_gui_text01[0] <> "Blacksmith" and $p_render_gui_text01[6] = "Are you sure you want to leave" Then $b_exit01remove = 0 If $b_exit01[0] = 1 and $b_exit01remove = 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",497,184) ; co X > click OK $sleep01[$loopacc] = $time_stop01+3000 EndIf If $b_invites01[0] = 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",286,370) ; click CANCEL $sleep01[$loopacc] = $time_stop01+3000 EndIf ;If $b_exit_fix01[0] = 1 Then ; ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",536,8) ; click icon DREAD minimap ; $sleep01[$loopacc] = $time_stop01+3000 ;EndIf If $p_render_gui_text01[15] = "Dread Pilgrimage" Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[0] = "Shop" and _IsChecked( ($button_auto05[1])[7-1] ) = False and _IsChecked( ($button_auto05[2])[7-1] ) = False and _IsChecked( ($button_auto05[4])[7-1] ) = False Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[0] = "Warbands" Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close events $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[0] = "Events" Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close events $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[0] = "" and $p_render_gui_text01[8] = "Next" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",678,66) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[0] = "Customize Hero" Then ; Switch server hell+4 dark+1 $auto_server01on = 0 If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto03[4])[7-1] ) = False Then $auto_server01on = 1 If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_H4D1 Then $auto_server01on = 1 If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_D4H1 Then $auto_server01on = 1 If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_H4L1 Then $auto_server01on = 1 If _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto03[4])[7-1] ) = True and $data_server[$loopacc] = $str_D4L1 Then $auto_server01on = 1 Select Case $auto_server01on = 1 and _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_H4D1 and $name_server00[$i] = $name_server02 ; "Darkening of Tristram" > "Helliquary" $name_server00[$i] = $name_server01 $name_server01char[$i] = $name_server01xchar Case $auto_server01on = 1 and _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_H4D1 and $name_server00[$i] = $name_server01 ; "Darkening of Tristram" > "Helliquary" $name_server00[$i] = $name_server02 $name_server01char[$i] = $name_server02xchar Case $auto_server01on = 1 and _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_D4H1 and $name_server00[$i] = $name_server02D4H1 ; "Helliquary" > "Darkening of Tristram" $name_server00[$i] = $name_server01D4H1 $name_server01char[$i] = $name_server01xchar Case $auto_server01on = 1 and _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_D4H1 and $name_server00[$i] = $name_server01D4H1 ; "Helliquary" > "Darkening of Tristram" $name_server00[$i] = $name_server02D4H1 $name_server01char[$i] = $name_server02xchar Case $auto_server01on = 1 and _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_H4L1 and $name_server00[$i] = $name_server02H4L1 ; "Helliquary" > "Lysander" $name_server00[$i] = $name_server01H4L1 $name_server01char[$i] = $name_server01xchar Case $auto_server01on = 1 and _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_H4L1 and $name_server00[$i] = $name_server01H4L1 ; "Helliquary" > "Lysander" $name_server00[$i] = $name_server02H4L1 $name_server01char[$i] = $name_server02xchar Case $auto_server01on = 1 and _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_D4L1 and $name_server00[$i] = $name_server02D4L1 ; "Darkening of Tristram" > "Lysander" $name_server00[$i] = $name_server01D4L1 $name_server01char[$i] = $name_server01xchar Case $auto_server01on = 1 and _IsChecked( ($button_auto03[3])[7-1] ) = True and _IsChecked( ($button_auto06[3])[7-1] ) = True and _IsChecked( ($button_auto04[5])[7-1] ) = True and $data_server[$i] = $str_D4L1 and $name_server00[$i] = $name_server01D4L1 ; "Darkening of Tristram" > "Lysander" $name_server00[$i] = $name_server02D4L1 $name_server01char[$i] = $name_server02xchar EndSelect ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",21,69) ; click back $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_map_name03[2] = "Elder Ri" and $p_render_gui_text01[0] = "Helliquary" Then $random01esc = Random(0, 1, 1) If $random01esc = 0 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu If $random01esc = 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",680,65) ; click X $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[0] = "Name Hero" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",21,69) ; click back $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[0] = "Skills" or $p_render_gui_text01[0] = "Stash " Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[7]= "Play Now" or $p_render_gui_text01[7]= "Go Now" or $p_render_gui_text01[50]= "Go Now" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",680,108) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[8]= "Legendary Gems have been" or $p_render_gui_text01[18]= "Ore Node Overview" or $p_render_gui_text01[49]= "Legendary Gems have been remov" or $p_render_gui_text01[8]= "Accept" or $p_render_gui_text01[48]= "Accept" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",653,108) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[6] = "#ffedc1Start" or $p_render_gui_text01[8] = "Start" or $p_render_gui_text01[24] = "Start" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",360,390) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[0] = "Familiars" Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[11] = "Claim" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",483,357) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[10]= "#6f614dTap to close" or $p_render_gui_text01[11]= "View Details" or $p_render_gui_text01[0]= "Profile" or $p_render_gui_text01[10]= "#faefbaNew Class: Warlock" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",680,85) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[6]= "All Set items have been update" or $p_render_gui_text01[18]= "All Set items have been update" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",360,283) ; click ok $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[15]= "Broken Band's Armament" Then ; no X click back ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",24,67) ; click back $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_map_name03[2] = "Elder Ri" and $p_render_gui_text01[29]= "Double " Then ; elder rift > click Double rewards bu ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",179,243) ; click read all ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",16,85) ; click Double rewards bu $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[8]= "Activate" Then ; no X click back ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",280,285) ; click back $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[2]= "#ffedc1Join" or $p_render_gui_text01[8]= "Join" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",680,85) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[6]= "Set items with 3 Attributes an" or $p_render_gui_text01[18]= "Set items with 3 Attributes an" or $p_render_gui_text01[18]= "Elder Rift Replay is now perma" or $p_render_gui_text01[6]= "Elder Rift Replay is now perma" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",359,284) ; Hanh Trang > click ok $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[8]= "Confirm" and $p_render_gui_text01[19]= "Standard Drop Rates" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",356,365) ; Enter Elder Rift > click Confirm $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[10]= "#faefbaSome Legendary Gems hav" or $p_render_gui_text01[8]= "Confirm" or $p_render_gui_text01[55]= "Go Now" or $p_render_gui_text01[18]= "Standard Drop Pool Updated" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",661,108) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[18]= "The server will be temporarily" or $p_render_gui_text01[6]= "The server will be temporarily" Then ; elder rift bao tri ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",334,285) ; click accept Sleep(3000) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",534,15) ; click icon 1 tren cung exit elder rift $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[18]= "We've detected your gaming exp" or $p_render_gui_text01[6]= "We've detected your gaming exp" Then ; elder rift later setting ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",281,285) ; click later $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[18]= "Player Card" or $p_render_gui_text01[5]= "See More" or $p_render_gui_text01[49]= "See More" or $p_render_gui_text01[8]= "Enter Dungeon" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",661,108) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[18]= "Once you exit, you will not be" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",429,287) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[13]= "Standard Drop Rates" and $p_render_gui_text01[0] <> "Elder Rift" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",661,108) ; click x $sleep01[$loopacc] = $time_stop01+3000 ElseIf $p_render_gui_text01[19]= "Standard Drop Rates" and $p_render_gui_text01[0] <> "Elder Rift" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",661,108) ; click x $sleep01[$loopacc] = $time_stop01+3000 ElseIf $p_render_gui_text01[8]= "n your #faefbacrafting#E" and $p_render_gui_text01[0] = "Elder Rift" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",661,108) ; click x $sleep01[$loopacc] = $time_stop01+3000 ElseIf $p_render_gui_text01[63]= "Standard Drop Pool Updated" and $p_render_gui_text01[0] = "Elder Rift" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",661,108) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[15]= "Rewards for completing tasks d" or $p_render_gui_text01[45]= "Damnation" or $p_render_gui_text01[53]= "Go to Event" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",680,108) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[7]= "Go" and $p_render_gui_text01[8]= "Go" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",680,85) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[8]= "Play Now" or $p_render_gui_text01[8]= "Go Now" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",678,101) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[7]= "soon" or $p_render_gui_text01[8]= "soon" or $p_render_gui_text01[45]= "ng Moon is now available" or $p_render_gui_text01[45]= "ctured Plane" or $p_render_gui_text01[45]= "[1] #f4deb5BostonBruins61" Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",678,101) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[24]= "View Details" Then ; no X click ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",678,101) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[18]= "Navigate to the Shadow War in " or $p_render_gui_text01[6]= "#a79973and last up to 15 minut" or $p_render_gui_text01[18]= "#a79973Rite of Exile entrance" Then ; no X click ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",497,184) ; click X $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[10]= "Master of wind and wave" or $p_render_gui_text01[6]= "Play through a Tempest origin " or $p_render_gui_text01[18]= "Play through a Tempest origin " Then ; no X click ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",684,94) ; click X $sleep01[$loopacc] = $time_stop01+3000 EndIf If StringInStr($p_render_gui_text01[12], 'ulations!') > 0 or $p_render_gui_text01[24]= "o continue" or $p_render_gui_text01[10]= "Click to continue" or $p_render_gui_text01[18]= "Select Game Difficulty" Then ; no X ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",674,111) ; click x lag If _IsChecked( ($button_auto05[2])[7-1] ) = True Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",350,240) ; USE Binding Ritual > Click to Continue $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[11]= "Simplification Details" or $p_render_gui_text01[13]= "Additional Changes" or $p_render_gui_text01[24]= "Simplification Details" Then ; no X click ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",676,103) ; click X $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[6]= "New Legendary Gem Drop Table: " or $p_render_gui_text01[18]= "New Legendary Gem Drop Table: " Then ; no X elder rift enter ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[8]= "Navigate" Then ; no X ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",674,111) ; click x lag $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[3]= "Southern Dreadlands" or StringInStr($p_render_gui_text01[11], 'more synergies with') > 0 or $p_render_gui_text01[14]= "Splintered Souls" or $p_render_gui_text01[18]= "Splintered Souls" Then ; no X ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",674,111) ; click x lag $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[6]= "This item cannot be salvaged; " or $p_render_gui_text01[6]= "You are about to salvage an it" Then ; click X blacksmith not sell ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",516,400) ; USE V Salvage sell item $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[6]= "Daylight Savings Time Adjustme" or $p_render_gui_text01[14]= "The Lord of Terror will soon u" Then ; click X server main ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",674,111) ; click x lag $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[19]= "The Lord of Terror will soon u" Then ; no X click ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",360,359) ; click ok 356 > 360 $sleep01[$loopacc] = $time_stop01+3000 EndIf If StringInStr($p_render_gui_text01[11], 'he Immortals and') > 0 Then ; no X click clap book ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",679,100) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[15]= "Activity Calendar" Then ; no X click Activity Calendar ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[0]= "Party Finder" or $p_render_gui_text01[0]= "Party" or $p_render_gui_text01[24]= "1Party Finder adress" or $p_render_gui_text01[10]= "#ffedc1Create & Post" Then ; no X Party ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 $action = 99 EndIf If StringInStr($p_render_gui_text01[17], '8cf2(') > 0 or StringInStr($p_render_gui_text01[17], ')#') > 0 or StringInStr($p_render_gui_text01[17], 'invi') > 0 or StringInStr($p_render_gui_text01[17], 'to join') > 0 Then ; invited party cancel ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",287,372) ; click cancel $sleep01[$loopacc] = $time_stop01+3000 EndIf If StringInStr($p_render_gui_text01[8], ' close') > 0 Then ; close ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",360,415) ; click close 355 > 360 $sleep01[$loopacc] = $time_stop01+3000 EndIf If StringInStr($p_render_gui_text01[6], 'Unable to ') > 0 and $time_stop01 > $battle_disconnect_sleep01[$loopacc] Then ; disconnet internet ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",360,284) ; click OK 348 > 360 $sleep01[$loopacc] = $time_stop01+5000 $battle_disconnect_sleep01[$loopacc] = $time_stop01+$battle_disconnect_sleep01wait EndIf If $p_render_gui_text01[6]= "Your Life & Damage Rating has " Then ; disconnet internet ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",360,415) ; click Continue 355 > 360 $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[8]= "Continue " Then ; disconnet internet ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",360,381) ; click Continue 355 > 360 $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[42]= "Go to Event" Then ; disconnet internet ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",686,94) ; click X 355 > 360 $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[5] = "Tap to close" or $p_render_gui_text01[5] = "Before Pixels Ascended" or $p_render_gui_text01[5] = "An Immortal's Reign has ended." Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",360,415) ; click close 355 > 360 $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[7] = "ontains" and $p_render_gui_text01[8] = "close" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",360,415) ; click close 355 > 360 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",361,382) ; click continue 367 > 361 $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[8] = "continue" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",360,415) ; click close 355 > 360 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",361,382) ; click continue 367 > 361 $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[6] = "#6f614dClick to close" or $p_render_gui_text01[10] = "#6f614dClick to close" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",360,415) ; click close 355 > 360 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",679,66) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If StringInStr($p_render_gui_text01[5], 'Reign Ends') > 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",679,66) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If StringInStr($p_render_gui_text01[6], '#a79973 has i') > 0 Then ; no clan joint ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",277,304) ; click no reject $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[5] = "Gaslit Degen Gamers" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",679,66) ; click x $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[6] = "Connection lost. Please check " and $time_stop01 > $battle_disconnect_sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",360,284) ; click OK 355 > 360 $sleep01[$loopacc] = $time_stop01+5000 $battle_disconnect_sleep01[$loopacc] = $time_stop01+$battle_disconnect_sleep01wait EndIf If $p_render_gui_text01[6] = "Failed to connect to Battle.ne" and $time_stop01 > $battle_disconnect_sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",357,284) ; click exit game 348 > 357 $sleep01[$loopacc] = $time_stop01+5000 $battle_disconnect_sleep01[$loopacc] = $time_stop01+$battle_disconnect_sleep01wait EndIf If StringInStr($p_render_gui_text01[6], 'The server ') > 0 and $time_stop01 > $battle_disconnect_sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",360,284) ; click OK 355 > 360 $sleep01[$loopacc] = $time_stop01+5000 $battle_disconnect_sleep01[$loopacc] = $time_stop01+$battle_disconnect_sleep01wait EndIf If $p_render_gui_text01[10] = "Swipe Left to View" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",679,114) ; click X $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[11] = "View More" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",679,100) ; click X ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",679,67) ; click X $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[6] = "Go to the Court of Whispers en" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",497,184) ; click X $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[6] = "Disconnected from Battle.net. " and $time_stop01 > $battle_disconnect_sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",425,284) ; click OK $sleep01[$loopacc] = $time_stop01+5000 $battle_disconnect_sleep01[$loopacc] = $time_stop01+$battle_disconnect_sleep01wait EndIf If $p_render_gui_text01[14] = "You won't receive clan invitat" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",271,308) ; click REJECT NO $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[15] = "Recommended Builds" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",30,69) ; click < $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[6] = "Purchase the Boon of Plenty to" or $p_render_gui_text01[6] = "Boon of Plenty Update" Then ;ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",516,195) ; click X ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",492,148) ; click X $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[8] = "See More" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",677,103) ; click X $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[7] = "Reject" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",271,308) ; click REJECT $sleep01[$loopacc] = $time_stop01+3000 EndIf If $b_blessing01[0] = 1 and $p_render_gui_text01[6] <> "Are you sure you want to leave" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",610,387) ; click Rift ENTER $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[18] = "No Announcements" or $p_render_gui_text01[18] = "Announcement" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",643,115) ; co X > click OK $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_gui_text01[0] = "Paragon" Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 EndIf If $s_sell01[$loopacc] <> 4 and $map_large01 = 0 and $b_battle_pass01[0] = 1 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 EndIf ;If $s_sell01[$loopacc] <> 4 and $p_render_gui_text01[5] = "View More" Then If $p_render_gui_text01[5] = "View More" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",678,100) ; co X > click OK $sleep01[$loopacc] = $time_stop01+3000 EndIf If $b_rift_portal01[0] = 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",490,248) ; co X > click EXIT $sleep01[$loopacc] = $time_stop01+8000 EndIf If $p_render_map_name03[2] = "Elder Ri" and $map_large01 = 1 and $b_large_map01[0] = 1 Then ; Close all menu ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 $action = 99 EndIf If $p_render_map_name03[2] = "Elder Ri" and $map_large01 = 0 and $b_large_map01[0] = 1 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 $action = 99 EndIf ;If $p_render_map_name03[2] = "Elder Ri" and $b_large_map01[0] = 1 and $time_stop01 > $b_map_large_sleep01[$loopacc] Then ; ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu ; $sleep01[$loopacc] = $time_stop01+3000 ;EndIf If $p_render_gui_text01[6] = "You were disconnected due to i" and $time_stop01 > $battle_disconnect_sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",360,284) ; Connect lost khong X > click OK 356 > 360 $sleep01[$loopacc] = $time_stop01+30000 $battle_disconnect_sleep01[$loopacc] = $time_stop01+$battle_disconnect_sleep01wait $action = 99 EndIf If $time_stop01 > $battle_log_server_sleep01[$loopacc] and $p_render_gui_text01[12] <> "My Heroes" and $p_render_gui_text01[16] = "Version:" and $not_server01num[$loopacc] < $not_server01max and $not_server01on[$loopacc] = 1 Then ; fix no name server ;run_sandboxie01('C:\Program Files\Sandboxie\Start.exe /box:a'&$i&" /terminate") $battle_log_server_sleep01[$loopacc] = $time_stop01+$battle_log_server_sleep01wait $action = 99 $not_server01num[$loopacc] += 1 EndIf If $time_stop01 > $sleep01[$loopacc] and $p_render_gui_text01[12] <> "My Heroes" and $p_render_gui_text01[16] = "Version:" and $not_server01num[$loopacc] > $not_server01max-1 and $not_server01on[$loopacc] = 1 Then ; fix no name server ;run_sandboxie01('C:\Program Files\Sandboxie\Start.exe /box:'& $a_sandbox[$i] & $i&" /terminate") ; sandbox bi chan For $i2 = 1 to 2 $tile_sandboxie01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$i] & $i&"\]]") ; $tile_diablo01 WinClose($tile_sandboxie01) all_find_process_close01("DiabloImmortal.exe",$tile_sandboxie01) Sleep(50) Next $battle_log_server_sleep01[$loopacc] = $time_stop01+$battle_log_server_sleep01wait $sleep01[$loopacc] = $time_stop01+10000 $action = 99 $not_server01num[$loopacc] = 0 $not_server01on[$loopacc] = 0 EndIf If $b_enter_server01[0] = 1 and $time_stop01 > $sleep01[$loopacc] and $p_render_gui_text01[5] = $name_server00[$loopacc] and $p_render_gui_text01[12] <> "My Heroes" Then ; 3 click tap play ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",360,284) ; tap to play 356 > 360 $sleep01[$loopacc] = $time_stop01+$server_sleep01wait $s_sell01[$loopacc] = 4 ; 4 = select char, 3 Identify, 2 sell blacksmith, 1 = elder rift 0 = tat $s_identify01[$loopacc] = 0 $action = 99 EndIf ;If $sever_on01 = 1 and $b_enter_server01[0] = 1 and $time_stop01 > $sleep01[$loopacc] and $p_render_gui_text01[5] <> $name_server00[$loopacc] and $p_render_gui_text01[12] <> "My Heroes" Then ; 1 click server If $b_enter_server01[0] = 1 and $time_stop01 > $sleep01[$loopacc] and $p_render_gui_text01[5] <> $name_server00[$loopacc] and $p_render_gui_text01[12] <> "My Heroes" Then ; 1 click server ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",357,372) ; click select server 347 > 360 $sleep01[$loopacc] = $time_stop01+5000 $s_sell01[$loopacc] = 4 ; 4 = select char, 3 Identify, 2 sell blacksmith, 1 = elder rift 0 = tat $s_identify01[$loopacc] = 0 $action = 99 EndIf If $b_enter_server01[0] = 1 and $time_stop01 > $sleep01[$loopacc] and $p_render_gui_text01[5] = $name_server00[$loopacc] and $p_render_gui_text01[12] = "My Heroes" Then ; 1 click server fix ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",643,110) ; click select server > My Heroes X $sleep01[$loopacc] = $time_stop01+5000 $s_sell01[$loopacc] = 4 ; 4 = select char, 3 Identify, 2 sell blacksmith, 1 = elder rift 0 = tat $s_identify01[$loopacc] = 0 $action = 99 EndIf If $b_enter_server01[0] = 0 and $time_stop01 > $sleep01[$loopacc] and $p_render_gui_text01[5] <> $name_server00[$loopacc] and $p_render_gui_text01[12] = "My Heroes" Then ; 2 click search server ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",616,133) ; click select server $aArray_Mouse[$loopacc] &= "616,133,1001," ; click X search $aArray_Mouse[$loopacc] &= "616,133,1002," ; click X search $aArray_Mouse[$loopacc] &= "511,131,1003," ; click name search $aArray_Mouse[$loopacc] &= "511,131,1004," ; click name search $aArray_Mouse[$loopacc] &= "key3,"&$name_server00[$loopacc]&",3005," ; key3 name server $aArray_Mouse[$loopacc] &= "414,200,4006," ; click name server $sleep01[$loopacc] = $time_stop01+9000 $s_sell01[$loopacc] = 4 ; 4 = select char, 3 Identify, 2 sell blacksmith, 1 = elder rift 0 = tat $s_identify01[$loopacc] = 0 $action = 99 EndIf If $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[6] = "Return each day to claim a fre" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",350,350) ; RIFT REWAND $sleep01[$loopacc] = $time_stop01+400 $action = 99 EndIf If $p_render_map_name03[2] = "Elder Ri" and $b_rift_modifiers01[0] = 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",350,390) ; RIFT modifiers $sleep01[$loopacc] = $time_stop01+400 $action = 99 EndIf If $p_render_gui_text01[6] = "Recommendations" Then If $s_check_blacksmith01[$loopacc] <> 1 and $s_sell01[$loopacc] <> 4 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",497,339) ; REVIVE AT CORPSE $skill_player_hp01[$loopacc] = 1 EndIf If $s_check_blacksmith01[$loopacc] = 1 or $s_sell01[$loopacc] = 4 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",190,339) ; REVIVE AT CHECKPOINT $sleep01[$loopacc] = $time_stop01+400 $action = 99 EndIf If $b_quest_chat01[0] = 1 and _IsChecked( ($button_auto01[3])[7-1] ) = False Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",680,30) ; Bo Chat $sleep01[$loopacc] = $time_stop01+400 $action = 99 EndIf If $b_quest_chat02[0] = 1 and $b_quest_chat03[0] = 0 and _IsChecked( ($button_auto01[3])[7-1] ) = False and _IsChecked( ($button_auto05[1])[7-1] ) = False and _IsChecked( ($button_auto05[2])[7-1] ) = False and _IsChecked( ($button_auto05[4])[7-1] ) = False Then For $lp = 1 to 2 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",357,398) ; Chat Next $sleep01[$loopacc] = $time_stop01+400 $action = 99 EndIf If $b_quest_chat03[0] = 1 and _IsChecked( ($button_auto01[3])[7-1] ) = False Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",585,355) ; Chat QUEST $sleep01[$loopacc] = $time_stop01+400 $action = 99 EndIf If $b_quest_item_wait01[0] = 1 Then $action = 99 $sleep01[$loopacc] = $time_stop01+5000 EndIf ;If $p_run01 <> 99 and $time_stop01 > $skill_sleep05[$loopacc] and $p_player_hp01[0] > 0 and $p_player_hp01[0] < $p_player_hp01max Then If $time_stop01 > $skill_sleep05[$loopacc] and $p_player_hp01[0] > 0 and $p_player_hp01[0] < $p_player_hp01max Then $us_hp_potion01on = 1 If $b_game3d01[0] = 1 and $b_train_hp02[0] = 0 Then $us_hp_potion01on = 0 For $lp = 1 to 2 If $us_hp_potion01on = 1 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"q") ; USE HP POTION EndIf Next $skill_sleep05[$loopacc] = $time_stop01+$skill_sleep05wait EndIf If _IsChecked( ($button_auto01[5])[7-1] ) = False and _IsChecked( ($button_auto01[1])[7-1] ) = True and $p_run01 = 0 and $b_game3d01[0] = 1 and $time_stop01 > $skill_sleep08[$loopacc] and $p_step_move01[2]<>0 Then ; STEP_MOVE $mxyf01 = _mouse45($p_step_move01[0], $p_step_move01[1],$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) $player_step01x = $mxyf01[0] $player_step01y = $mxyf01[1] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $player_step01x, $player_step01y ) ; ; SKILL 8 STEP_MOVE ;$skill_sleep08[$loopacc] = $time_stop01+$skill_sleep08wait $action = 99 EndIf If $p_drop01[2] = "E" and $time_stop01 > $sleep01[$loopacc] and _IsChecked( ($button_auto01[1])[7-1] ) = True and $b_game3d01[0] = 1 and $p_render_rift_defeat03[2]="Besieged" Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"E") ; nhat do E $sleep01[$loopacc] = $time_stop01+2000 $action = 99 EndIf If _IsChecked( ($button_auto01[1])[7-1] ) = True and $p_run01 = 0 and $b_game3d01[0] = 1 and $p_player_hp01[0] > 0 and $p_render_rift_defeat03[2]="Besieged" Then ; STEP_MOVE ;ElseIf $p_render_gui_text01[58] = "Talk to Rayek" and $p_drop01[2] <> "E" and $p_target_hp01[2] = 0 Then If $p_render_gui_text01[58] = "Talk to Rayek" and $p_drop01[2] <> "E" and $time_stop01 > $skill_sleep08[$loopacc] Then $mxyf01 = _mouse45(30, -5,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0], $mxyf01[1] ) ; ; SKILL 8 STEP_MOVE $skill_sleep08[$loopacc] = $time_stop01+3000 $action = 99 ElseIf $p_render_gui_text01[58] = "Leave Cain's Workshop" and $p_drop01[2] <> "E" and $time_stop01 > $skill_sleep08[$loopacc] Then $mxyf01 = _mouse45(29, 6,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0], $mxyf01[1] ) ; ; SKILL 8 STEP_MOVE $skill_sleep08[$loopacc] = $time_stop01+3000 $action = 99 ElseIf $p_render_gui_text01[58] = "Defend WestmarchCivilians" and $p_drop01[2] <> "E" and $time_stop01 > $skill_sleep08[$loopacc] Then $mxyf01 = _mouse45(21, 11,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0], $mxyf01[1] ) ; ; SKILL 8 STEP_MOVE $skill_sleep08[$loopacc] = $time_stop01+3000 $action = 99 ElseIf $p_render_gui_text01[58] = "Find the GuardCaptain" and $p_drop01[2] <> "E" and $time_stop01 > $skill_sleep08[$loopacc] Then $mxyf01 = _mouse45(9, 15,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0], $mxyf01[1] ) ; ; SKILL 8 STEP_MOVE $skill_sleep08[$loopacc] = $time_stop01+3000 $action = 99 ElseIf $p_render_gui_text01[58] = "Kill Attacking Demons" and $p_drop01[2] <> "E" and $time_stop01 > $skill_sleep08[$loopacc] Then $Dis_kad01 = Int( Distance($p_player_view01[0],$p_player_view01[1],9,15) ) $Dis_kad02 = Int( Distance($p_player_view01[0],$p_player_view01[1],9,32) ) $Dis_kad03 = Int( Distance($p_player_view01[0],$p_player_view01[1],16,42) ) If $Dis_kad01 > -1 and $Dis_kad01 < 9+1 Then $mxyf01 = _mouse45(9, 32,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0], $mxyf01[1] ) ; ; SKILL 8 STEP_MOVE $skill_sleep08[$loopacc] = $time_stop01+3000 $action = 99 ElseIf $Dis_kad02 > -1 and $Dis_kad02 < 9+1 Then $mxyf01 = _mouse45(16, 42,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0], $mxyf01[1] ) ; ; SKILL 8 STEP_MOVE $skill_sleep08[$loopacc] = $time_stop01+3000 $action = 99 ElseIf $Dis_kad03 > -1 and $Dis_kad03 < 9+1 Then $mxyf01 = _mouse45(17, 68,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0], $mxyf01[1] ) ; ; SKILL 8 STEP_MOVE $skill_sleep08[$loopacc] = $time_stop01+3000 $action = 99 EndIf ElseIf $p_render_gui_text01[58] = "Enter Rakkis Plaza" and $p_drop01[2] <> "E" Then $mxyf01 = _mouse45(44, 72,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0], $mxyf01[1] ) ; ; SKILL 8 STEP_MOVE $skill_sleep08[$loopacc] = $time_stop01+3000 $action = 99 ElseIf $p_render_gui_text01[58] = "Destroy the DeathSpires prote" and $p_drop01[2] <> "E" and $time_stop01 > $skill_sleep08[$loopacc] Then $Dis_kad01 = Int( Distance($p_player_view01[0],$p_player_view01[1],45,70) ) $Dis_kad02 = Int( Distance($p_player_view01[0],$p_player_view01[1],49,77) ) $Dis_kad03_1 = Int( Distance($p_player_view01[0],$p_player_view01[1],59,74) ) $Dis_kad03_2 = Int( Distance($p_player_view01[0],$p_player_view01[1],63,67) ) $Dis_kad04_1 = Int( Distance($p_player_view01[0],$p_player_view01[1],52,60) ) $Dis_kad04_2 = Int( Distance($p_player_view01[0],$p_player_view01[1],42,57) ) If $Dis_kad01 > -1 and $Dis_kad01 < 6+1 Then $mxyf01 = _mouse45(49, 77,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0], $mxyf01[1] ) ; ; SKILL 8 STEP_MOVE $skill_sleep08[$loopacc] = $time_stop01+6000 $action = 99 ElseIf $Dis_kad02 > -1 and $Dis_kad02 < 6+1 Then $mxyf01 = _mouse45(59, 74,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0], $mxyf01[1] ) ; ; SKILL 8 STEP_MOVE $skill_sleep08[$loopacc] = $time_stop01+3000 $action = 99 ElseIf $Dis_kad03_1 > -1 and $Dis_kad03_1 < 6+1 Then $mxyf01 = _mouse45(63, 67,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0], $mxyf01[1] ) ; ; SKILL 8 STEP_MOVE $skill_sleep08[$loopacc] = $time_stop01+3000 $action = 99 ElseIf $Dis_kad03_2 > -1 and $Dis_kad03_2 < 6+1 Then $mxyf01 = _mouse45(52, 60,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0], $mxyf01[1] ) ; ; SKILL 8 STEP_MOVE $skill_sleep08[$loopacc] = $time_stop01+3000 $action = 99 ElseIf $Dis_kad04_1 > -1 and $Dis_kad04_2 < 8+1 Then $mxyf01 = _mouse45(42, 57,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0], $mxyf01[1] ) ; ; SKILL 8 STEP_MOVE $skill_sleep08[$loopacc] = $time_stop01+3000 $action = 99 ElseIf $Dis_kad04_2 > -1 and $Dis_kad04_2 < 6+1 Then $mxyf01 = _mouse45(45, 70,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0], $mxyf01[1] ) ; ; SKILL 8 STEP_MOVE $skill_sleep08[$loopacc] = $time_stop01+6000 $action = 99 EndIf ElseIf $p_render_gui_text01[58] = "Return to ChaosHerald Pyl" and $p_drop01[2] <> "E" Then $mxyf01 = _mouse45(47, 72,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0], $mxyf01[1] ) ; ; SKILL 8 STEP_MOVE $skill_sleep08[$loopacc] = $time_stop01+6000 $action = 99 ElseIf $p_render_gui_text01[58] = "Reach the EinfrinnTree" and $p_drop01[2] <> "E" Then $mxyf01 = _mouse45(49, 55,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0], $mxyf01[1] ) ; ; SKILL 8 STEP_MOVE $skill_sleep08[$loopacc] = $time_stop01+6000 $action = 99 ;ElseIf $p_render_gui_text01[58] = "Push through the wallof fire" and $p_drop01[2] = "E" Then ;ControlSend02($loopacc,$path_fb_html_list01[$i][2],"E") ; nhat do E ;$skill_sleep08[$loopacc] = $time_stop01+3000 ;$action = 99 ;ElseIf $p_render_gui_text01[58] = "Push through the wallof fire" and $p_drop01[2] <> "E" Then ;$mxyf01 = _mouse45(49, 49,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ;ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0], $mxyf01[1] ) ; ; SKILL 8 STEP_MOVE ;$skill_sleep08[$loopacc] = $time_stop01+6000 ;$action = 99 ElseIf $p_render_gui_text01[58] = "Defeat Lassal" and $p_drop01[2] <> "E" and $time_stop01 > $skill_sleep08[$loopacc] Then $mxyf01 = _mouse45(48, 31,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $mxyf01[0], $mxyf01[1] ) ; ; SKILL 8 STEP_MOVE $skill_sleep08[$loopacc] = $time_stop01+6000 $action = 99 EndIf EndIf ; --------------------------------------------------STEP_MOVE #CS If _IsChecked( ($button_auto01[5])[7-1] ) = true Then ; quest PARAGON_3_4 $quest_run00on = 1 If $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $time_stop01 > $step_sleep01[$loopacc] and $p_target_hp01[2] = 0 and StringInStr($p_render_rift_defeat04[2], 'Opening') < 0+1 Then ; STEP_MOVE $Dis_step01 = -1 ; run quest $Dis_step01max = 8 $p_render_rift_defeat05[2]=StringReplace(StringReplace($p_render_rift_defeat05[2],@CR,""),@LF,"") Select Case $p_render_rift_defeat05[2]="Talk to Rayek" ; noi chuyen Local $astep0[] = [27, -4, 30, -5 ] ; check vi tri x0 y0 chay toi x1 y1 $quest_run00on = 0 Case $p_render_rift_defeat05[2]="Leave Cain's Workshop" ; di ra khoi phong Local $astep0[] = [30, -5, 29, 6 ] ; check vi tri x0 y0 chay toi x1 y1 $quest_run00on = 0 Case $p_render_rift_defeat05[2]="Defend Westmarch Civili" Local $astep0[] = [29, 6, 20, 12 ] ; check vi tri x0 y0 chay toi x1 y1 $quest_run00on = 0 Case $p_render_rift_defeat05[2]="Talk to the Guard Capta" Local $astep0[] = [20, 12, 8, 14 ] ; check vi tri x0 y0 chay t $quest_run00on = 0 Case $p_render_rift_defeat05[2]="Find the Guard Captain" Local $astep0[] = [8, 14, 8, 32 ] ; check vi tri x0 y0 chay t $quest_run00on = 0 Case $p_render_rift_defeat05[2]="Kill Attacking Demons" Local $astep0[] = [8, 32, 18, 49 ] ; check vi tri x0 y0 chay t $quest_run00on = 0 Case $p_render_rift_defeat05[2]="Enter Rakkis Plaza" ; noi voi thu ve Local $astep0[] = [19, 68, 22, 73 ] ; check vi tri x0 y0 chay t $quest_run00on = 0 Case $p_render_rift_defeat05[2]="Destroy the Death Spires" ; pha huy 3 cai cot Local $astep0[] = [49, 79, 61, 70 ] ; check vi tri x0 y0 chay t $quest_run00on = 0 Case $p_render_rift_defeat05[2]="Return to Chaos Herald " ; chay toi boss 1 Local $astep0[] = [65, 67, 49, 77 ] ; check vi tri x0 y0 chay t $quest_run00on = 0 Case $p_render_rift_defeat05[2]="Kill Chaos Herald Pyl" ; danh nhau voi boss 1 $quest_run00on = 0 Case $p_render_rift_defeat05[2]="Reach the Einfrinn Tree" ; chay toi boss 2 Local $astep0[] = [49, 77, 42, 66 ] ; check vi tri x0 y0 chay t $quest_run00on = 0 Case $p_render_rift_defeat05[2]="Push through the wall of" ; dap lua Local $astep0[] = [48, 64, 48, 47 ] ; check vi tri x0 y0 chay t $quest_run00on = 0 Case $p_render_rift_defeat05[2]="Defeat Lassal" ; danh nhau voi boss 2 Local $astep0[] = [48, 47, 49, 32 ] ; check vi tri x0 y0 chay t $quest_run00on = 0 EndSelect If $quest_run00on = 0 Then $lp_step01max = 1 If $p_render_rift_defeat05[2]="Kill Attacking Demons" Then $lp_step01max = 4 If $p_render_rift_defeat05[2]="Destroy the Death Spires" Then $lp_step01max = 3 If $p_render_rift_defeat05[2]="Return to Chaos Herald" Then $lp_step01max = 3 If $p_render_rift_defeat05[2]="Reach the Einfrinn Tree" Then $lp_step01max = 2 If $p_render_rift_defeat05[2]="Push through the wall of" Then $lp_step01max = 2 For $lp_step01 = 1 to $lp_step01max If $p_render_rift_defeat05[2]="Kill Attacking Demons" and $lp_step01 = 2 Then Local $astep0[] = [8, 22, 18, 49 ] ; check vi tri x0 y0 chay t If $p_render_rift_defeat05[2]="Kill Attacking Demons" and $lp_step01 = 3 Then Local $astep0[] = [18, 49, 22, 73 ] ; check vi tri x0 y0 chay t If $p_render_rift_defeat05[2]="Kill Attacking Demons" and $lp_step01 = 4 Then Local $astep0[] = [18, 58, 22, 73 ] ; check vi tri x0 y0 chay t If $p_render_rift_defeat05[2]="Destroy the Death Spires" and $lp_step01 = 2 Then Local $astep0[] = [62, 66, 41, 59 ] ; check vi tri x0 y0 chay t If $p_render_rift_defeat05[2]="Destroy the Death Spires" and $lp_step01 = 3 Then Local $astep0[] = [45, 60, 48, 79 ] ; check vi tri x0 y0 chay t If $p_render_rift_defeat05[2]="Return to Chaos Herald" and $lp_step01 = 2 Then Local $astep0[] = [43, 60, 49, 77 ] ; check vi tri x0 y0 chay t If $p_render_rift_defeat05[2]="Return to Chaos Herald" and $lp_step01 = 3 Then Local $astep0[] = [65, 67, 49, 77 ] ; check vi tri x0 y0 chay t If $p_render_rift_defeat05[2]="Reach the Einfrinn Tree" and $lp_step01 = 2 Then Local $astep0[] = [42, 66, 48, 47 ] ; check vi tri x0 y0 chay t If $p_render_rift_defeat05[2]="Push through the wall of" and $lp_step01 = 2 Then Local $astep0[] = [54, 61, 48, 47 ] ; check vi tri x0 y0 chay t $Dis_step01 = Int( Distance($p_player_view01[0],$p_player_view01[1],$astep0[0],$astep0[1]) ) If $Dis_step01 > -1 and $Dis_step01 < $Dis_step01max+1 Then $mxyf01 = _mouse45( $astep0[2],$astep0[3],$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",$mxyf01[0], $mxyf01[1]) ; Click run quest $step_sleep01[$loopacc] = $time_stop01+$step_sleep01wait EndIf Next EndIf EndIf If $quest_run00on = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $time_stop01 > $step_sleep01[$loopacc] and $p_render_rift_defeat06[2]="ion Paused..." Then ; STEP_MOVE ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1", 442, 300 ) ; click navigation paused $quest_run00on = 0 $step_sleep01[$loopacc] = $time_stop01+$step_sleep01wait EndIf If $quest_run00on = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $time_stop01 > $step_sleep01[$loopacc] and StringInStr($p_render_rift_defeat04[2], 'Opening') > 0 Then ; STEP_MOVE ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1", 61, 173 ) ; click quest Opening $step_sleep01[$loopacc] = $time_stop01+$step_sleep01wait EndIf EndIf ; end quest PARAGON_3_4 #CE Func _mouse45($x1,$y1,$x2,$y2,$title_x01=20,$title_y01=20,$xc1=350,$yc1=247) ; 3dxy45 > 2dxy diablo import Local $return[3] $fx0 = $x1 - $x2 $fy0 = $y1 - $y2 $fx0_x = 0 $fx0_y = 0 $fy0_x = 0 $fy0_y = 0 If $fx0 > 0 Then $fx0_x += $fx0*$title_x01 ; +20 $fx0_y -= $fx0*$title_y01 ; -20 ElseIf $fx0 < 0+1 Then $fx0_x = $fx0*$title_x01 ; -20 $fx0_y -= $fx0*$title_y01 ; +20 EndIf If $fy0 > 0 Then $fy0_x = $fy0*$title_x01 ; +20 $fy0_y = $fy0*$title_y01 ; +20 ElseIf $fy0 < 0+1 Then $fy0_x = $fy0*$title_x01 ; -20 $fy0_y = $fy0*$title_y01 ; -20 EndIf $mouse45x = $xc1 + $fx0_x + $fy0_x $mouse45y = $yc1 + $fx0_y + $fy0_y $return[0] = Int($mouse45x) $return[1] = Int($mouse45y) ;MouseMove( $mouse45x, $mouse45y+30, 0) ;MsgBox("","check","$mouse45x = "&$mouse45x& "$mouse45y = "&$mouse45y&" $x1 = "&$x1& " $y1 = "&$y1&" $x2 = "&$x2& "$y2 = "&$y2,0) Return $return EndFunc If _IsChecked( ($button_auto01[5])[7-1] ) = False and _IsChecked( ($button_auto01[1])[7-1] ) = True and $time_stop01 > $skill_sleep06[$loopacc] and $b_game3d01[0] = 0 and $b_inventory01[0] = 1 and $item_up01x <> -1 and $item_up01y <> -1 Then ; item UP POWER ; mouse xy giong nhau thi sleep time phai khac nhau ;$aArray_Mouse[$loopacc] &= 451+42*$item_up01x&","&109+42*$item_up01y&","&"1500," ; USE click xy item $a_lp_item01equip[$loopacc] += 1 If $lp_item00add > 0 Then $a_lp_item00num[$loopacc] = $lp_item00add+1 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",451+42*$item_up01x,109+42*$item_up01y) ; USE click xy item $aArray_Mouse[$loopacc] &= "361,312,101," ; USE EQUIP item $aArray_Mouse[$loopacc] &= "361,351,101," ; USE EQUIP item $aArray_Mouse[$loopacc] &= "361,379,101," ; USE EQUIP item $aArray_Mouse[$loopacc] &= "361,407,101," ; USE EQUIP item ;$aArray_Mouse[$loopacc] &= "412,283,1500," ; USE EQUIP item $skill_sleep06[$loopacc] = $time_stop01+$skill_sleep06wait $sleep01[$loopacc] = $time_stop01+2000 EndIf If _IsChecked( ($button_auto01[1])[7-1] ) = False Then $p_step_move01[2]=0 ; step move quest $step_elder_rift01 = 0 If _IsChecked( ($button_auto01[3])[7-1] ) = True and $s_check_blacksmith01[$loopacc] = 2 and $p_drop02[3]="01000000" and $p_drop02[2] = "[Blacksmith]" Then $action = 99 If _IsChecked( ($button_auto01[3])[7-1] ) = False and $s_check_blacksmith01[$loopacc] = 2 and $p_drop01[3]="01000000" Then $action = 99 If _IsChecked( ($button_select02[6])[7-1] ) = True and $p_drop01[2] = "E" and $p_drop02[2]="Altar" Then $action = 99 If $s_check_blacksmith01[$loopacc] = 2 and $s_map_red01[$loopacc] = 1 and $p_render_map_name03[2] = "Elder Ri" and $p_drop02[2] <> "[Blacksmith]" and $p_drop01[3]<>"01000000" and $p_run01 = 0 and $b_game3d01[0] = 1 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and $p_render_rift_defeat01[2] = "Kill the Rift Guardian" and $map_red01[0] <> 0 Then ; find boss $mc01x = 614 $mc01y = 46 $m01x = $a_map_red01x[$loopacc] $m01y = $a_map_red01y[$loopacc] $Distance_xy07 = -1 $Distance_xy07 = Int( Distance($mc01x,$mc01y,$m01x,$m01y) ) If $Distance_xy07 > 10 and $Distance_xy07 < 200 Then $mc02x = ($m01x-$mc01x)*10 $mc02y = ($m01y-$mc01y)*10 For $lp = 1 to 3 $random01x = Random(-5, 5, 1)*20 $random01y = Random(-5, 5, 1)*20 $player_step01x = 350 + $mc02x + $random01x $player_step01y = 247 + $mc02y + $random01y ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $player_step01x, $player_step01y ) ; SKILL 8 STEP_MOVE LEFT Next EndIf $s_map_red01[$loopacc] = 1 EndIf ; end find boss If _IsChecked( ($button_auto01[3])[7-1] ) = True and $s_check_blacksmith01[$loopacc] = 2 and $p_render_map_name03[2] = "Elder Ri" and $p_drop02[3]="01000000" and $p_drop02[2] <> "[Blacksmith]" and $b_game3d01[0] = 1 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and $time_stop01 > $skill_sleep06[$loopacc] and $time_stop01 > $boss_sleep01[$loopacc] Then ; click boss ;$m_drop01 = rect_xy01($p_drop02[0],$p_drop02[1]-5, 520,-30, 720, 90) ; mini map ;$m_drop01 = rect_xy01($m_drop01[0],$m_drop01[1], 67, 0, 104, 43) ; party ;$m_drop01 = rect_xy01($m_drop01[0],$m_drop01[1], 126, 70, 144, 178) ; time elder rift ;ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$m_drop01[0]+5,$m_drop01[1]-5) ; USE DROP $click_no_time01 = 1 If $p_drop02[0] > 520 and $p_drop02[0] < 720 and $p_drop02[1] > -30 and $p_drop02[1] < 90 Then $click_no_time01 = 0 If $p_drop02[0] > 67 and $p_drop02[0] < 104 and $p_drop02[1] > 0 and $p_drop02[1] < 43 Then $click_no_time01 = 0 If $click_no_time01 = 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_drop02[0]+5,$p_drop02[1]-5) ; USE DROP If $click_no_time01 = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",$p_drop02[0]+5,$p_drop02[1]-5) ; USE DROP $action = 99 $skill_sleep06[$loopacc] = $time_stop01+$skill_sleep06wait EndIf ; fix map westmarch --------------------------------------------------------------- If $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $time_stop01 > $skill_sleep21[$loopacc] and $time_stop01 > $sleep01[$loopacc] Then $skill_sleep21[$loopacc]= $time_stop01+$skill_sleep21wait $sleep01[$loopacc] = $time_stop01+5000 ElseIf $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $time_stop01 > $skill_sleep21[$loopacc] and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $skill_sleep21[$loopacc]= $time_stop01+$skill_sleep21wait $sleep01[$loopacc] = $time_stop01+5000 EndIf ; select char westmarch --------------------------------------------------------------- If _IsChecked( ($button_auto07[5])[7-1] ) = True and $s_sell01[$loopacc] = 3 Then $s_sell01[$loopacc] = 1 ElseIf _IsChecked( ($button_auto07[5])[7-1] ) = True and $s_sell01[$loopacc] = 2 Then $s_sell01[$loopacc] = 1 ElseIf _IsChecked( ($button_auto07[5])[7-1] ) = True and $s_sell01[$loopacc] = 1.5 Then $s_sell01[$loopacc] = 1 EndIf If $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Stash01 > -1 and $Dis_Stash01 < $Dis_Stash01max+1 and $time_stop01 > $sleep01[$loopacc] Then $mxyf01 = _mouse45( 69,63,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) $player_step01x = $mxyf01[0] $player_step01y = $mxyf01[1] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$player_step01x, $player_step01y) ; Click Blacksmith $action = 99 $sleep01[$loopacc] = $time_stop01+2000 EndIf If $s_sell01[$loopacc] = 4 and $b_all_menu01[0] = 1 and $p_render_gui_text01[0] <> "Settings" and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",632,69) ; click Leave game $action = 99 $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_sell01[$loopacc] = 4 and $b_all_menu01[0] = 0 and $map_large01 = 0 and $p_render_map_name03[2] = "Elder Ri" and $p_render_gui_text01[0] <> "Settings" and $time_stop01 > $sleep01[$loopacc] Then If $p_player_hp01[0] = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",190,339) ; REVIVE AT CHECKPOINT ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $action = 99 $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_sell01[$loopacc] = 4 and $b_all_menu01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Settings" and $time_stop01 > $sleep01[$loopacc] Then If $p_player_hp01[0] = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",190,339) ; REVIVE AT CHECKPOINT ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $action = 99 $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_sell01[$loopacc] = 4 and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] = "Settings" and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",563,408) ; click Leave game $s_codex00on[$loopacc] = 0 $action = 99 $sleep01[$loopacc] = $time_stop01+15000 EndIf ; identify + sell blacksmith westmarch + Click Rift Entrance --------------------------------------------------------------- If $s_check_blacksmith01[$loopacc] = 2 and $p_render_map_name03[2] = "Elder Ri" and $p_player_hp01[0] > 0 and $p_render_rift_defeat02[2] = "Inventory Full" and $time_stop01 > $sleep01[$loopacc] and $b_game3d01[0] = 1 Then ; rift [Blacksmith] $s_check_blacksmith01[$loopacc] = 1 $s_inventory_full01[$loopacc] = 1 _MemoryWrite64($v_cmp_render_rift_defeat01[1]+0x8*16, $procHwnd01, ptr(0),'byte[16]') ; reset $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_map_name03[2] = "Westmarc" and $p_player_hp01[0] > 0 and $p_render_rift_defeat15[2] = "Time expired. Bonus rewa" and $time_stop01 > $sleep01[$loopacc] Then ; rift [Blacksmith] _MemoryWrite64($v_cmp_render_rift_defeat01[1]+0x8*112, $procHwnd01, ptr(0),'byte[4]') ; reset // #a79973Time expired _MemoryWrite64($v_cmp_render_rift_defeat01[1]+0x8*113, $procHwnd01, ptr(0),'byte[8]') ; reset // #a79973Time expired EndIf If $s_check_blacksmith01[$loopacc] = 2 and $p_render_map_name03[2] = "Elder Ri" and $p_player_hp01[0] > 0 and $p_render_rift_defeat15[2] = "Time expired. Bonus rewa" and $time_stop01 > $sleep01[$loopacc] and $b_game3d01[0] = 1 Then ; rift [Blacksmith] $s_check_blacksmith01[$loopacc] = 1 _MemoryWrite64($v_cmp_render_rift_defeat01[1]+0x8*112, $procHwnd01, ptr(0),'byte[4]') ; reset // #a79973Time expired _MemoryWrite64($v_cmp_render_rift_defeat01[1]+0x8*113, $procHwnd01, ptr(0),'byte[8]') ; reset // #a79973Time expired $sleep01[$loopacc] = $time_stop01+3000 EndIf ; #00ff2aClosing in: 02:23 exit elder rift If $s_check_blacksmith01[$loopacc] = 2 and $p_render_map_name03[2] = "Elder Ri" and $p_player_hp01[0] > 0 and StringInStr($p_render_rift_defeat14[2], 'Closing in: 01') > 0 and $time_stop01 > $sleep01[$loopacc] and $b_game3d01[0] = 1 Then ; rift [Blacksmith] $s_check_blacksmith01[$loopacc] = 1 ;$s_inventory_full01[$loopacc] = 1 _MemoryWrite64($v_cmp_render_rift_defeat01[1]+0x8*128, $procHwnd01, ptr(0),'byte[16]') ; reset $sleep01[$loopacc] = $time_stop01+3000 EndIf If _IsChecked( ($button_auto01[3])[7-1] ) = True and $p_render_map_name03[2] = "Westmarc" and $s_inventory_full01[$loopacc] = 1 Then $s_sell01[$loopacc] = 2 ; 4 = select char, 3 Identify, 2 sell blacksmith, 1 = elder rift 0 = tat $s_inventory_full01[$loopacc] = 0 $s_identify01[$loopacc] = 0 _MemoryWrite64($v_cmp_render_rift_defeat01[1]+0x8*16, $procHwnd01, ptr(0),'byte[16]') ; reset EndIf If $p_render_map_name03[2] = "Elder Ri" and $s_sell01[$loopacc] <> 4 Then $s_sell01[$loopacc] = 1 $s_identify01[$loopacc] = 0 EndIf If _IsChecked( ($button_auto01[3])[7-1] ) = True and $p_render_map_name03[2] = "Westmarc" Then $s_check_blacksmith01[$loopacc] = 2 If _IsChecked( ($button_auto01[3])[7-1] ) = True and $p_render_map_name03[2] = "Westmarc" Then $p_render_rift_defeat01[2] = "not kill" EndIf ;$Dis_Rift01 = -1 ; Elder Rift Entrance ;$Dis_Black01 = -1 ; Blacksmith ;$Dis_Identify01 = -1 ; Identify ; fix all meno sell = 4 If _IsChecked( ($button_auto05[1])[7-1] ) = False and _IsChecked( ($button_auto05[2])[7-1] ) = False and _IsChecked( ($button_auto05[4])[7-1] ) = False Then If _IsChecked( ($button_auto05[3])[7-1] ) = False and $s_sell01[$loopacc] <> 4 and $b_game3d01[0] = 0 and $p_player_hp01[0] > 0 and $p_render_map_name03[2] = "Westmarc" and $b_all_menu01[0] = 1 and $time_stop01 > $skill_sleep06[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $skill_sleep06[$loopacc] = $time_stop01+$skill_sleep06wait $action = 99 EndIf EndIf ; up_power westmarch ---------------------------------------------------------------------------------------------------------- If $s_sell01[$loopacc] = 3 and $s_identify01[$loopacc] = 2 and $b_game3d01[0] = 0 and $b_inventory01[0] = 1 and $item_up01x <> -1 and $item_up01y <> -1 and $time_stop01 > $skill_sleep06[$loopacc] Then ; mouse xy giong nhau thi sleep time phai khac nhau ;$aArray_Mouse[$loopacc] &= 451+42*$item_up01x&","&109+42*$item_up01y&","&"1500," ; USE click xy item $a_lp_item01equip[$loopacc] += 1 If $lp_item00add > 0 Then $a_lp_item00num[$loopacc] = $lp_item00add+1 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",451+42*$item_up01x,109+42*$item_up01y) ; USE click xy item $aArray_Mouse[$loopacc] &= "361,312,201," ; USE EQUIP item $aArray_Mouse[$loopacc] &= "361,351,201," ; USE EQUIP item $aArray_Mouse[$loopacc] &= "361,379,201," ; USE EQUIP item $aArray_Mouse[$loopacc] &= "361,407,201," ; USE EQUIP item ;$aArray_Mouse[$loopacc] &= "412,283,1500," ; USE EQUIP item ;$aArray_Mouse[$loopacc] &= "sleep,407,2001," ; USE EQUIP item $action = 99 $skill_sleep06[$loopacc] = $time_stop01+2000 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_sell01[$loopacc] = 3 and $s_identify01[$loopacc] = 2 and $b_identify01[0] = 1 and $b_inventory01[0] = 0 and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",559,337) ; click Lanaly > identify $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_sell01[$loopacc] = 3 and $s_identify01[$loopacc] = 2 and $p_render_gui_text01[10] = "#482c1eYou there! Do you have " Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",556,345) ; USE charm craftsman Services $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_sell01[$loopacc] = 3 and $s_identify01[$loopacc] = 2 and $b_game3d01[0] = 1 and $b_inventory01[0] = 0 and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"i") ; bat inventory $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_sell01[$loopacc] = 3 and $s_identify01[$loopacc] = 2 and $b_game3d01[0] = 0 and $b_inventory01[0] = 1 and $item_up01x = -1 and $item_up01y = -1 and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"i") ; Close all menu $s_sell01[$loopacc] = 2 $s_identify01[$loopacc] = 0 $action = 99 $sleep01[$loopacc] = $time_stop01+3000 EndIf ; sell charm craftsman westmarch ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 3 If $s_sell01[$loopacc] = 3 and $s_identify01[$loopacc] = 1 and $b_identify01[0] = 1 and $b_inventory01[0] = 0 and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",559,337) ; click Lanaly > identify $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_sell01[$loopacc] = 3 and $s_identify01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $Dis_Charm01 > -1 and $Dis_Charm01 < $Dis_Charm01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_sell01[$loopacc] = 3 and $s_identify01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Charm01 > -1 and $Dis_Charm01 < $Dis_Charm01max+1 and $time_stop01 > $sleep01[$loopacc] Then $mxyf01 = _mouse45( 33,93,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) $player_step01x = $mxyf01[0] $player_step01y = $mxyf01[1] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$player_step01x, $player_step01y) ; Click charm craftsman $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_sell01[$loopacc] = 3 and $s_identify01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and StringInStr($p_render_gui_text01[10], '#482c1eYou ') > 0 and $p_render_gui_text01[0] <> "Charm Craftsman" and $Dis_Charm01 > -1 and $Dis_Charm01 < $Dis_Charm01max+1 and $time_stop01 > $sleep01[$loopacc] Then If $p_render_gui_text01[7] <> "Vas" and $equip_item01on = 1 Then $s_identify01[$loopacc] = 2 ElseIf $p_render_gui_text01[7] <> "Vas" and $equip_item01on = 0 Then $s_sell01[$loopacc] = 2 $s_identify01[$loopacc] = 0 $s_up_power01[$loopacc] = 2 ; REMOVE EQUIP ITEM EndIf ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",556,345) ; USE charm craftsman Services $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_sell01[$loopacc] = 3 and $s_identify01[$loopacc] > 1-1 and $s_identify01[$loopacc] < 2+1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Charm Craftsman" and $Dis_Charm01 > -1 and $Dis_Charm01 < $Dis_Charm01max+1 and $time_stop01 > $sleep01[$loopacc] Then ; mouse xy giong nhau thi sleep time phai khac nhau ;$aArray_Mouse[$loopacc] &= "288,405,4000," ; USE V xam item ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",358,401) ; USE click xy item vang $aArray_Mouse[$loopacc] &= "516,400,3029," ; USE V Salvage sell item $aArray_Mouse[$loopacc] &= "393,287,1030," ; USE OK sell item $aArray_Mouse[$loopacc] &= "687,64,3000," ; USE Exit X If $equip_item01on = 1 Then $s_identify01[$loopacc] = 2 ElseIf $equip_item01on = 0 Then $s_sell01[$loopacc] = 2 $s_identify01[$loopacc] = 0 $s_up_power01[$loopacc] = 2 ; REMOVE EQUIP ITEM EndIf $sleep01[$loopacc] = $time_stop01+4000 ElseIf $s_sell01[$loopacc] = 3 and $s_identify01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Charm01 > $Dis_Charm01max and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"m") ; bat World Map $action = 99 $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_sell01[$loopacc] = 3 and $s_identify01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 0 and $Dis_Charm01 > $Dis_Charm01max and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",23,246) ; bat World Map > kinh lup $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_sell01[$loopacc] = 3 and $s_identify01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 1 and $Dis_Charm01 > $Dis_Charm01max and $time_stop01 > $sleep01[$loopacc] Then If $click_line_add = - 1 Then ControlDrag02($loopacc,"Diablo Immortal","down","1",110,150) ; click item 1x1y ElseIf $click_line_add > - 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",100,154+(32*$click_line_add) ) ; bat World Map > kinh lup > line1 $aArray_Mouse[$loopacc] &= "100,"&154+(32*$click_line_add)&",1001," ; click line1 $aArray_Mouse[$loopacc] &= "409,258,1002," ; click charm craftsman $aArray_Mouse[$loopacc] &= "409,258,1003," ; click charm craftsman $aArray_Mouse[$loopacc] &= "442,215,18003," ; click charm craftsman > Navigate EndIf $action = 99 $sleep01[$loopacc] = $time_stop01+2000 EndIf ; end charm craftsman westmarch ---------------------------------------------------------------------------------- $s_next01[$loopacc] = 3 ; identify westmarch ---------------------------------------------------------------------------------------------------------- If $p_render_gui_text01[10] = "#482c1eEvery item has a histor" or $p_render_gui_text01[10] = "#482c1eNo secret remains hidde" or $p_render_gui_text01[10] = "#482c1eYou there! Do you have " Then $b_identify01[0] = 1 If $s_sell01[$loopacc] = 3 and $s_identify01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $Dis_Identify01 > -1 and $Dis_Identify01 < $Dis_Identify01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_sell01[$loopacc] = 3 and $s_identify01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Identify01 > -1 and $Dis_Identify01 < $Dis_Identify01max+1 and $time_stop01 > $sleep01[$loopacc] Then $mxyf01 = _mouse45( 36,88,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) $player_step01x = $mxyf01[0] $player_step01y = $mxyf01[1] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$player_step01x, $player_step01y) ; Click identify $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_sell01[$loopacc] = 3 and $s_identify01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $b_identify01[0] = 1 and $Dis_Identify01 > -1 and $Dis_Identify01 < $Dis_Identify01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",559,337) ; click Lanaly > identify $s_identify01[$loopacc] = 1 If $equip_item01on = 0 Then $s_up_power01[$loopacc] = 2 ; REMOVE EQUIP ITEM EndIf $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_sell01[$loopacc] = 3 and $s_identify01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Identify01 > $Dis_Identify01max and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"m") ; bat World Map $action = 99 $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_sell01[$loopacc] = 3 and $s_identify01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 0 and $Dis_Identify01 > $Dis_Identify01max and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",23,246) ; bat World Map > kinh lup $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_sell01[$loopacc] = 3 and $s_identify01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 1 and $Dis_Identify01 > $Dis_Identify01max and $time_stop01 > $sleep01[$loopacc] Then If $click_line_add = - 1 Then ControlDrag02($loopacc,"Diablo Immortal","down","1",110,150) ; click item 1x1y ElseIf $click_line_add > - 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",100,154+(32*$click_line_add) ) ; bat World Map > kinh lup > line1 $aArray_Mouse[$loopacc] &= "100,"&154+(32*$click_line_add)&",1001," ; click line1 $aArray_Mouse[$loopacc] &= "407,251,1002," ; click identify $aArray_Mouse[$loopacc] &= "407,251,1003," ; click identify $aArray_Mouse[$loopacc] &= "407,300,18003," ; click identify > Navigate EndIf $action = 99 $sleep01[$loopacc] = $time_stop01+2000 EndIf ; sell blacksmith westmarch ---------------------------------------------------------------------------------------------------------- If $s_sell01[$loopacc] = 2 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $Dis_Black01 > -1 and $Dis_Black01 < $Dis_Black01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_sell01[$loopacc] = 2 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Black01 > -1 and $Dis_Black01 < $Dis_Black01max+1 and $time_stop01 > $sleep01[$loopacc] Then $mxyf01 = _mouse45( 59.5,54,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) $player_step01x = $mxyf01[0] $player_step01y = $mxyf01[1] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$player_step01x, $player_step01y) ; Click Blacksmith $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_sell01[$loopacc] = 2 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $b_quest_chat02[0] = 1 and $p_render_gui_text01[0] <> "Blacksmith" and $Dis_Black01 > -1 and $Dis_Black01 < $Dis_Black01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",556,345) ; USE blacksmith Services $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_sell01[$loopacc] = 2 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $b_quest_chat02[0] = 0 and $p_render_gui_text01[0] = "Blacksmith" and $Dis_Black01 > -1 and $Dis_Black01 < $Dis_Black01max+1 and $time_stop01 > $sleep01[$loopacc] Then ; mouse xy giong nhau thi sleep time phai khac nhau ;$aArray_Mouse[$loopacc] &= "288,405,4000," ; USE V xam item If $b_sell_item_v01[1] = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",255,415) ; USE V xam item $aArray_Mouse[$loopacc] &= "391,285,1001," ; USE OK sell item EndIf If $b_sell_item_v01[1] = 1 and $b_sell_item_v01[2] = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",288,415) ; USE V xanh item $aArray_Mouse[$loopacc] &= "392,286,1002," ; USE OK sell item ElseIf $b_sell_item_v01[1] = 0 and $b_sell_item_v01[2] = 0 Then $aArray_Mouse[$loopacc] &= "288,405,4000," ; USE V xanh item $aArray_Mouse[$loopacc] &= "392,286,1002," ; USE OK sell item EndIf If $b_sell_item_v01[1] = 1 and $b_sell_item_v01[2] = 1 and $b_sell_item_v01[3] = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",321,415) ; USE V vang item $aArray_Mouse[$loopacc] &= "393,287,1003," ; USE OK sell item ElseIf $b_sell_item_v01[1] = 0 and $b_sell_item_v01[3] = 0 Then $aArray_Mouse[$loopacc] &= "321,405,4000," ; USE V vang item $aArray_Mouse[$loopacc] &= "393,287,1003," ; USE OK sell item ElseIf $b_sell_item_v01[2] = 0 and $b_sell_item_v01[3] = 0 Then $aArray_Mouse[$loopacc] &= "321,405,4000," ; USE V vang item $aArray_Mouse[$loopacc] &= "393,287,1003," ; USE OK sell item EndIf $aArray_Mouse[$loopacc] &= "516,400,3000," ; USE V Salvage sell item $aArray_Mouse[$loopacc] &= "393,287,1004," ; USE OK sell item $aArray_Mouse[$loopacc] &= "516,400,3001," ; USE V Salvage sell item $aArray_Mouse[$loopacc] &= "393,287,1005," ; USE OK sell item $aArray_Mouse[$loopacc] &= "516,400,2002," ; USE V Salvage sell item $aArray_Mouse[$loopacc] &= "687,64,3000," ; USE Exit X $s_sell01[$loopacc] = 1.5 $sleep01[$loopacc] = $time_stop01+4000 ElseIf $s_sell01[$loopacc] = 2 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Black01 > $Dis_Black01max and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"m") ; bat World Map $action = 99 $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_sell01[$loopacc] = 2 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 0 and $Dis_Black01 > $Dis_Black01max and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",23,246) ; bat World Map > kinh lup $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_sell01[$loopacc] = 2 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 1 and $Dis_Black01 > $Dis_Black01max and $time_stop01 > $sleep01[$loopacc] Then If $click_line_add = - 1 Then ControlDrag02($loopacc,"Diablo Immortal","down","1",110,150) ; click item 1x1y ElseIf $click_line_add > - 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",100,154+(32*$click_line_add) ) ; bat World Map > kinh lup > line1 $aArray_Mouse[$loopacc] &= "100,"&154+(32*$click_line_add)&",1001," ; click line1 $aArray_Mouse[$loopacc] &= "387,130,1002," ; click blacksmith $aArray_Mouse[$loopacc] &= "387,130,1003," ; click blacksmith $aArray_Mouse[$loopacc] &= "395,174,18003," ; click blacksmith > Navigate EndIf $action = 99 $sleep01[$loopacc] = $time_stop01+2000 EndIf ; SELL RED ITEM westmarch ---------------------------------------------------------------------------------------------------------- If $s_sell01[$loopacc] = 1.5 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $b_inventory01[0] = 0 and $p_render_gui_text01[0] = "Blacksmith" and $time_stop01 > $sleep01[$loopacc] Then ; mouse xy giong nhau thi sleep time phai khac nhau ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",516,400) ; USE V Salvage sell item ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu ;$s_sell01[$loopacc] = 1.5 $sleep01[$loopacc] = $time_stop01+4000 EndIf If $s_sell01[$loopacc] = 1.5 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $b_inventory01[0] = 0 and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"i") ; bat inventory $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_sell01[$loopacc] = 1.5 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $b_inventory01[0] = 1 and $time_stop01 > $sleep01[$loopacc] and $time_stop01 > $skill_sleep06[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",447,112) ; USE click x1y1 item $aArray_Mouse[$loopacc] &= "244,396,1501," ; USE EQUIP > SELECT $aArray_Mouse[$loopacc] &= "360,260,2002," ; USE EQUIP > DESTROY $aArray_Mouse[$loopacc] &= "412,283,1503," ; USE EQUIP > OK 1 $aArray_Mouse[$loopacc] &= "412,284,1503," ; USE EQUIP > OK 2 $aArray_Mouse[$loopacc] &= "412,285,1503," ; USE EQUIP > OK 3 $aArray_Mouse[$loopacc] &= "490,112,1511," ; USE click x2y1 item $aArray_Mouse[$loopacc] &= "244,396,1511," ; USE EQUIP > SELECT $aArray_Mouse[$loopacc] &= "360,260,2012," ; USE EQUIP > DESTROY $aArray_Mouse[$loopacc] &= "412,283,1513," ; USE EQUIP > OK 1 $aArray_Mouse[$loopacc] &= "412,284,1513," ; USE EQUIP > OK 2 $aArray_Mouse[$loopacc] &= "412,285,1513," ; USE EQUIP > OK 3 $aArray_Mouse[$loopacc] &= "533,112,1521," ; USE click x3y1 item $aArray_Mouse[$loopacc] &= "244,396,1521," ; USE EQUIP > SELECT $aArray_Mouse[$loopacc] &= "360,260,2022," ; USE EQUIP > DESTROY $aArray_Mouse[$loopacc] &= "412,283,1523," ; USE EQUIP > OK 1 $aArray_Mouse[$loopacc] &= "412,284,1523," ; USE EQUIP > OK 2 $aArray_Mouse[$loopacc] &= "412,285,1523," ; USE EQUIP > OK 3 $aArray_Mouse[$loopacc] &= "576,112,1521," ; USE click x4y1 item $aArray_Mouse[$loopacc] &= "244,396,1531," ; USE EQUIP > SELECT $aArray_Mouse[$loopacc] &= "360,260,2032," ; USE EQUIP > DESTROY $aArray_Mouse[$loopacc] &= "412,283,1533," ; USE EQUIP > OK 1 $aArray_Mouse[$loopacc] &= "412,284,1533," ; USE EQUIP > OK 2 $aArray_Mouse[$loopacc] &= "412,285,1533," ; USE EQUIP > OK 3 $aArray_Mouse[$loopacc] &= "619,112,1521," ; USE click x5y1 item $aArray_Mouse[$loopacc] &= "244,396,1531," ; USE EQUIP > SELECT $aArray_Mouse[$loopacc] &= "360,260,2032," ; USE EQUIP > DESTROY $aArray_Mouse[$loopacc] &= "412,283,1533," ; USE EQUIP > OK 1 $aArray_Mouse[$loopacc] &= "412,284,1533," ; USE EQUIP > OK 2 $aArray_Mouse[$loopacc] &= "412,285,1533," ; USE EQUIP > OK 3 $aArray_Mouse[$loopacc] &= "662,112,1521," ; USE click x6y1 item $aArray_Mouse[$loopacc] &= "244,396,1531," ; USE EQUIP > SELECT $aArray_Mouse[$loopacc] &= "360,260,2032," ; USE EQUIP > DESTROY $aArray_Mouse[$loopacc] &= "412,283,1533," ; USE EQUIP > OK 1 $aArray_Mouse[$loopacc] &= "412,284,1533," ; USE EQUIP > OK 2 $aArray_Mouse[$loopacc] &= "412,285,1533," ; USE EQUIP > OK 3 $aArray_Mouse[$loopacc] &= "key,Esc,1501," ; USE EQUIP > Esc $s_sell01[$loopacc] = 1 $action = 99 $sleep01[$loopacc] = $time_stop01+3000 $skill_sleep06[$loopacc] = $time_stop01+$skill_sleep06wait ElseIf $s_sell01[$loopacc] = 1 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $b_inventory01[0] = 1 and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"i") ; Close all menu $s_sell01[$loopacc] = 1 $action = 99 $sleep01[$loopacc] = $time_stop01+3000 EndIf ; click RIFT ENTRANCE westmarch --------------------------------------------------------------- If $s_sell01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $Dis_Rift01 > -1 and $Dis_Rift01 < $Dis_Rift01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_sell01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Elder Rift" and $Dis_Rift01 > -1 and $Dis_Rift01 < $Dis_Rift01max+1 and $time_stop01 > $sleep01[$loopacc] Then ; Click RIFT ENTRANCE Local $aArray_Map[1][6] = [["ID NAME", "SPACE X", "SPACE Y", "PLAYER X", "PLAYER Y", "DISTANCE"]] $a_map01[$loopacc] = $aArray_Map ; _ArrayAdd($a_map01[$loopacc] > ($a_map01[$loopacc])[1][2] Local $aArray_Map[1][6] = [["ID NAME", "SPACE X", "SPACE Y", "PLAYER X", "PLAYER Y", "DISTANCE"]] $a_new_map01[$loopacc] = $aArray_Map ; _ArrayAdd($a_new_map01[$loopacc] > ($a_new_map01[$loopacc])[1][2] $click_rift_fix01 = 0 If $Dis_Rift02 > -1 and $Dis_Rift02 < $Dis_Rift02max+1 Then $mxyf01 = _mouse45( 47,-23,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) $player_step01x = $mxyf01[0] $player_step01y = $mxyf01[1] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",$player_step01x, $player_step01y) ; Click RIFT ENTRANCE $click_rift_fix01 = 1 EndIf If $click_rift_fix01 = 0 and $Dis_Rift01 > -1 and $Dis_Rift01 < 7+1 Then $mxyf01 = _mouse45( 47,-27,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) $player_step01x = $mxyf01[0] $player_step01y = $mxyf01[1] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$player_step01x, $player_step01y) ; Click RIFT ENTRANCE ElseIf $click_rift_fix01 = 0 and $Dis_Rift01 > 7 and $Dis_Rift01 < $Dis_Rift01max+1 Then $mxyf01 = _mouse45( 47,-23,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) $player_step01x = $mxyf01[0] $player_step01y = $mxyf01[1] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",$player_step01x, $player_step01y) ; Click RIFT ENTRANCE EndIf $s_up_power01[$loopacc] = 0 $s_check_blacksmith01[$loopacc] = 2 $s_reset_move01[$loopacc] = 0 $s_fix_mini_map01[$loopacc] = 0 $action = 99 ; _MemoryWrite64($v_cmp_render_rift_defeat01[1]+0x8*0, $procHwnd01, ptr(0),'byte[16]') ; reset $Rift_sleep01[$loopacc] = $time_stop01+$Rift_sleep01wait $Rift_sleep02[$loopacc] = $time_stop01+$Rift_sleep02wait $sleep01[$loopacc] = $time_stop01+$skill_sleep06wait $sleep01[$loopacc] = $time_stop01+1000 ElseIf $s_sell01[$loopacc] = 1 and $s_check_blacksmith01[$loopacc] <> 99 and $p_run01 <> 99 and $b_game3d01[0] = 0 and $p_render_gui_text01[0] = "Elder Rift" and $p_render_gui_text01[6] <> "Are you sure you want to leave" and $time_stop01 > $sleep01[$loopacc] Then ; RIFT ENTER Local $aArray_Map[1][6] = [["ID NAME", "SPACE X", "SPACE Y", "PLAYER X", "PLAYER Y", "DISTANCE"]] $a_map01[$loopacc] = $aArray_Map ; _ArrayAdd($a_map01[$loopacc] > ($a_map01[$loopacc])[1][2] Local $aArray_Map[1][6] = [["ID NAME", "SPACE X", "SPACE Y", "PLAYER X", "PLAYER Y", "DISTANCE"]] $a_new_map01[$loopacc] = $aArray_Map ; _ArrayAdd($a_new_map01[$loopacc] > ($a_new_map01[$loopacc])[1][2] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",610,387) ; USE ENTER ELDER If $no_fog_fix01 = 0 Then _MemoryWrite64($v_cmp_render_map_no_fog06[1]+0x0, $procHwnd01, ptr(0),'byte[104]') ; reset $s_mini_map_reset00on[$loopacc] = 1 $s_mini_map_back00on[$loopacc] = 1 $s_up_power01[$loopacc] = 0 $s_check_blacksmith01[$loopacc] = 2 $s_reset_move01[$loopacc] = 0 $s_fix_mini_map01[$loopacc] = 0 $action = 99 ; _MemoryWrite64($v_cmp_render_rift_defeat01[1]+0x8*0, $procHwnd01, ptr(0),'byte[16]') ; reset $Rift_sleep01[$loopacc] = $time_stop01+$Rift_sleep01wait $Rift_sleep02[$loopacc] = $time_stop01+$Rift_sleep02wait $sleep01[$loopacc] = $time_stop01+$skill_sleep06wait $sleep01[$loopacc] = $time_stop01+1000 ElseIf $s_sell01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $b_quest_chat02[0] = 0 and $p_render_gui_text01[0] = "Blacksmith" and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",687,64) ; USE Exit X Westmarc[Blacksmith] ;ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_sell01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Rift01 > $Dis_Rift01max and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"m") ; bat World Map $action = 99 $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_sell01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 0 and $Dis_Rift01 > $Dis_Rift01max and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",23,246) ; bat World Map > kinh lup $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_sell01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 1 and $Dis_Rift01 > $Dis_Rift01max and $time_stop01 > $sleep01[$loopacc] Then If $click_line_add = - 1 Then ControlDrag02($loopacc,"Diablo Immortal","down","1",110,150) ; click item 1x1y ElseIf $click_line_add > - 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",100,183+(32*$click_line_add) ) ; bat World Map > kinh lup > line2 $aArray_Mouse[$loopacc] &= "100,"&183+(32*$click_line_add)&",2001," ; click line2 $aArray_Mouse[$loopacc] &= "299,248,2002," ; click RIFT ENTRANCE $aArray_Mouse[$loopacc] &= "299,248,2003," ; click RIFT ENTRANCE $aArray_Mouse[$loopacc] &= "291,286,18003," ; click RIFT ENTRANCE > Navigate EndIf $action = 99 $sleep01[$loopacc] = $time_stop01+2000 EndIf ; end westmarch --------------------------------------------------------------- If $s_check_blacksmith01[$loopacc] = 2 and $s_up_power01[$loopacc] <> 2 and $time_stop01 > $skill_sleep06[$loopacc] and $b_game3d01[0] = 1 and $p_drop02[3]="01000000" and $p_drop02[2] = "[Blacksmith]" and $b_quest_chat02[0] = 0 and $p_render_gui_text01[0] <> "Blacksmith" Then ; rift [Blacksmith] If $equip_item01on = 1 Then ;ControlSend02($loopacc,$path_fb_html_list01[$i][2],"i") ; bat inventory ; REMOVE EQUIP ITEM $s_up_power01[$loopacc] = 1 ElseIf $equip_item01on = 0 Then $s_up_power01[$loopacc] = 2 ; REMOVE EQUIP ITEM EndIf $s_up_power01[$loopacc] = 2 ; REMOVE EQUIP ITEM $skill_sleep06[$loopacc] = $time_stop01+4000 EndIf If $s_check_blacksmith01[$loopacc] = 2 and $p_render_map_name03[2] = "Elder Ri" and $p_run01 = 0 and $s_up_power01[$loopacc] = 2 and $time_stop01 > $skill_sleep06wait and $b_game3d01[0] = 1 and $p_drop02[3]="01000000" and $p_drop02[2] = "[Blacksmith]" and $b_quest_chat02[0] = 0 and $p_render_gui_text01[0] <> "Blacksmith" Then ; rift [Blacksmith] $Distance_xy07 = Int( Distance(350,247, $p_drop02[0], $p_drop02[1] ) ) If $Distance_xy07 > 80 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",$p_drop02[0]+5, $p_drop02[1]-5) ; USE click blacksmith ElseIf $Distance_xy07 < 80+1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_drop02[0]+5, $p_drop02[1]-5) ; USE click blacksmith EndIf $skill_sleep06[$loopacc] = $time_stop01+$skill_sleep06wait ElseIf $s_check_blacksmith01[$loopacc] = 2 and $p_render_map_name03[2] = "Elder Ri" and $p_run01 <> 99 and $s_up_power01[$loopacc] = 2 and $time_stop01 > $skill_sleep06[$loopacc] and $b_game3d01[0] = 0 and $b_quest_chat02[0] = 1 and $p_render_gui_text01[0] <> "Blacksmith" Then ; rift [Blacksmith] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",556,345) ; USE blacksmith Services $skill_sleep06[$loopacc] = $time_stop01+$skill_sleep06wait $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_check_blacksmith01[$loopacc] = 2 and $p_render_map_name03[2] = "Elder Ri" and $p_run01 <> 99 and $s_up_power01[$loopacc] = 2 and $time_stop01 > $skill_sleep06[$loopacc] and $b_game3d01[0] = 0 and $b_quest_chat02[0] = 0 and $p_render_gui_text01[0] = "Blacksmith" Then ; rift [Blacksmith] ; mouse xy giong nhau thi sleep time phai khac nhau ;$aArray_Mouse[$loopacc] &= "288,405,4000," ; USE V xam item If $b_sell_item_v01[1] = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",255,415) ; USE V xam item $aArray_Mouse[$loopacc] &= "391,285,1001," ; USE OK sell item EndIf If $b_sell_item_v01[1] = 1 and $b_sell_item_v01[2] = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",288,415) ; USE V xanh item $aArray_Mouse[$loopacc] &= "392,286,1002," ; USE OK sell item ElseIf $b_sell_item_v01[1] = 0 and $b_sell_item_v01[2] = 0 Then $aArray_Mouse[$loopacc] &= "288,405,4000," ; USE V xanh item $aArray_Mouse[$loopacc] &= "392,286,1002," ; USE OK sell item EndIf If $b_sell_item_v01[1] = 1 and $b_sell_item_v01[2] = 1 and $b_sell_item_v01[3] = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",321,415) ; USE V vang item $aArray_Mouse[$loopacc] &= "393,287,1003," ; USE OK sell item ElseIf $b_sell_item_v01[1] = 0 and $b_sell_item_v01[3] = 0 Then $aArray_Mouse[$loopacc] &= "321,405,4000," ; USE V vang item $aArray_Mouse[$loopacc] &= "393,287,1003," ; USE OK sell item ElseIf $b_sell_item_v01[2] = 0 and $b_sell_item_v01[3] = 0 Then $aArray_Mouse[$loopacc] &= "321,405,4000," ; USE V vang item $aArray_Mouse[$loopacc] &= "393,287,1003," ; USE OK sell item EndIf $aArray_Mouse[$loopacc] &= "516,400,3000," ; USE V Salvage sell item $aArray_Mouse[$loopacc] &= "393,287,1004," ; USE OK sell item $aArray_Mouse[$loopacc] &= "516,400,3001," ; USE V Salvage sell item $aArray_Mouse[$loopacc] &= "393,287,1005," ; USE OK sell item $aArray_Mouse[$loopacc] &= "516,400,2002," ; USE V Salvage sell item $aArray_Mouse[$loopacc] &= "687,64,3002," ; USE Exit X $s_check_blacksmith01[$loopacc] = 1 $skill_sleep06[$loopacc] = $time_stop01+4000 ElseIf $s_check_blacksmith01[$loopacc] = 1 and $p_run01 <> 99 and $time_stop01 > $sleep01[$loopacc] and $b_game3d01[0] = 0 and $b_quest_chat02[0] = 0 and $p_render_gui_text01[0] = "Blacksmith" Then ; rift [Blacksmith] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",687,64) ; USE Exit X rift [Blacksmith] $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_check_blacksmith01[$loopacc] = 1 and $p_run01 <> 99 and $time_stop01 > $sleep01[$loopacc] and $b_game3d01[0] = 1 and $b_quest_chat02[0] = 0 and $p_render_gui_text01[0] <> "Blacksmith" and $p_render_gui_text01[6] <> "Are you sure you want to leave" Then ; rift [Blacksmith] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",535,78) ; USE Exit Rift ;$aArray_Mouse[$loopacc] &= "419,287,8500," ; USE Exit Rift > OK $action = 99 $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_run01 <> 99 and $b_game3d01[0] = 0 and $b_quest_chat02[0] = 0 and $p_render_gui_text01[0] <> "Blacksmith" and $p_render_gui_text01[51] = "Exit Rift" Then ; rift [Blacksmith] ; ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",419,287) ; USE Exit Rift > OK > 2 Select ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",454,287) ; USE Exit Rift > OK > 3 Select $action = 99 $sleep01[$loopacc] = $time_stop01+8000 ElseIf $p_run01 <> 99 and $b_game3d01[0] = 0 and $b_quest_chat02[0] = 0 and $p_render_gui_text01[0] <> "Blacksmith" and $p_render_gui_text01[57] = "akkis Plaza" Then ; rift [Blacksmith] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",419,287) ; USE Exit Rift > OK > 2 Select ;ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",454,287) ; USE Exit Rift > OK > 3 Select $action = 99 $sleep01[$loopacc] = $time_stop01+8000 ElseIf $p_run01 <> 99 and $b_game3d01[0] = 0 and $b_quest_chat02[0] = 0 and $p_render_gui_text01[0] <> "Blacksmith" and $p_render_gui_text01[36] = "akkisPlaza" Then ; rift [Blacksmith] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",419,287) ; USE Exit Rift > OK > 2 Select ;ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",454,287) ; USE Exit Rift > OK > 3 Select $action = 99 $sleep01[$loopacc] = $time_stop01+8000 EndIf If $s_check_blacksmith01[$loopacc] = 1 and $p_run01 <> 99 and $b_game3d01[0] = 0 and $b_quest_chat02[0] = 0 and $p_render_gui_text01[0] <> "Blacksmith" and $p_render_gui_text01[6] = "Are you sure you want to leave" Then ; rift [Blacksmith] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",419,287) ; USE Exit Rift > OK $action = 99 $sleep01[$loopacc] = $time_stop01+8000 EndIf If $s_check_blacksmith01[$loopacc] = 2 and $p_run01 <> 99 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Elder Ri" and $b_quest_chat02[0] = 0 and $p_render_gui_text01[0] <> "Blacksmith" and $p_render_gui_text01[6] = "Are you sure you want to leave" Then ; rift [Blacksmith] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",269,280) ; USE Exit Rift > Cancel $action = 99 $sleep01[$loopacc] = $time_stop01+3000 EndIf If $s_sell01[$loopacc] = 1 and $s_check_blacksmith01[$loopacc] = 2 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[6] <> "Are you sure you want to leave" and $p_render_gui_text01[0] <> "Elder Rift" and $p_render_gui_text01[0] <> "Westmarch" and $Dis_Rift01 > -1 and $Dis_Rift01 < 10+1 and $time_stop01 > $sleep01[$loopacc] Then ; Click RIFT ENTER fix ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",610,387) ; USE ENTER fix bi che $sleep01[$loopacc] = $time_stop01+3000 EndIf If $s_check_blacksmith01[$loopacc] <> 1 and $b_game3d01[0] = 1 and $p_player_hp01[0] > 0 and $p_render_map_name03[2] = "Elder Ri" and $p_render_rift_defeat01[2] = "Kill enemies quickly" and $b_exit_phu_ban00[0] = 0 and $time_stop01 > $ui_gui_sleep01[$loopacc] Then ; Exit the Rift ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",27,88) ; click view elder rift time $ui_gui_sleep01[$loopacc] = $time_stop01+$ui_gui_sleep01wait ElseIf $s_check_blacksmith01[$loopacc] <> 1 and $b_game3d01[0] = 1 and $p_player_hp01[0] > 0 and $p_render_map_name03[2] = "Elder Ri" and $p_render_rift_defeat01[2] = "Kill the Rift Guardian" and $b_exit_phu_ban00[0] = 0 and $time_stop01 > $ui_gui_sleep01[$loopacc] Then ; Exit the Rift ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",27,88) ; click view elder rift time $ui_gui_sleep01[$loopacc] = $time_stop01+$ui_gui_sleep01wait EndIf If $s_check_blacksmith01[$loopacc] = 2 and $b_game3d01[0] = 1 and $p_player_hp01[0] > 0 and $p_render_map_name03[2] = "Elder Ri" and $p_render_rift_defeat01[2] <> "Kill the Rift Guardian" and $b_exit_phu_ban01[0] = 1 Then ; Exit the Rift $s_check_blacksmith01[$loopacc] = 1 $s_fix_mini_map01[$loopacc] = 0 $Rift_sleep01[$loopacc] = $time_stop01+$Rift_sleep01wait $Rift_sleep02[$loopacc] = $time_stop01+$Rift_sleep02wait EndIf If $s_check_blacksmith01[$loopacc] = 2 and $b_game3d01[0] = 1 and $p_player_hp01[0] > 0 and $p_render_map_name03[2] = "Elder Ri" and $time_stop01 > $Rift_sleep01[$loopacc] Then ; Exit the Rift $s_check_blacksmith01[$loopacc] = 1 $s_fix_mini_map01[$loopacc] = 0 $Rift_sleep01[$loopacc] = $time_stop01+$Rift_sleep01wait EndIf If $s_check_blacksmith01[$loopacc] = 2 and $s_mini_map_back00on[$loopacc] = 1 and $b_game3d01[0] = 1 and $p_player_hp01[0] > 0 and $p_render_map_name03[2] = "Elder Ri" and $time_stop01 > $Rift_sleep02[$loopacc] Then ; RESTORE MAP the Rift $s_mini_map_back00on[$loopacc] = 0 $Rift_sleep02[$loopacc] = $time_stop01+$Rift_sleep02wait If $no_fog_fix01 = 0 Then $g_address01_map = _MemoryRead64($v_cmp_render_map_no_fog06[1]+0x0, $procHwnd01, 'byte[4]',"dec") ; rsi If $g_address01_map > 16 Then For $lp_map = 1 to 15 $g_address01_map = _MemoryRead64($v_cmp_render_map_no_fog06[1]+0x8*$lp_map, $procHwnd01, 'byte[4]',"dec") ; rsi If $g_address01_map = 0 Then $lp_map -=1 _MemoryWrite64($v_cmp_render_map_no_fog06[1]+0x0, $procHwnd01, ptr(8*$lp_map),'byte[4]') ; reset _MemoryWrite64($v_cmp_render_map_no_fog06[1]+0x8*$lp_map, $procHwnd01, ptr(0),'byte[8]') ; reset ExitLoop EndIf Next EndIf EndIf EndIf If $s_check_blacksmith01[$loopacc] = 2 and $p_render_gui_text01[9] <> 0 and $p_player_hp01[0] > 0 and $p_render_map_name03[2] = "Elder Ri" and $p_render_rift_defeat01[2] <> "Kill the Rift Guardian" Then ; Exit the Rift Time expired $s_check_blacksmith01[$loopacc] = 1 $s_fix_mini_map01[$loopacc] = 0 $Rift_sleep01[$loopacc] = $time_stop01+$Rift_sleep01wait $Rift_sleep02[$loopacc] = $time_stop01+$Rift_sleep02wait _MemoryWrite64($v_cmp_render_gui_text01[1]+0x8*9, $procHwnd01, ptr(0),'byte[8]') ; reset EndIf If $s_check_blacksmith01[$loopacc] = 2 and $b_game3d01[0] = 1 and $p_player_hp01[0] > 0 and $p_render_map_name03[2] = "Elder Ri" and $p_target_hp01[2] <> 0 Then ; Exit the Rift + time $Rift_sleep01[$loopacc] = $time_stop01+$Rift_sleep01wait $Rift_sleep02[$loopacc] = $time_stop01+$Rift_sleep02wait EndIf If $s_check_blacksmith01[$loopacc] = 1 and $time_stop01 > $sleep01[$loopacc] and $b_game3d01[0] = 0 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and $p_render_map_name03[2] = "Elder Ri" and $b_all_menu01[0] = 1 and $p_render_rift_defeat07[2]<>"o view the Helliquary" and $p_render_gui_text01[6] <> "Are you sure you want to leave" Then ; fix che mini map ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $action = 99 $sleep01[$loopacc] = $time_stop01+3000 EndIf Select Case _IsChecked( ($button_auto05[3])[7-1] ) = False and $p_render_rift_defeat01[2] = "Kill enemies quickly" and $time_stop01 > $sleep01[$loopacc] and $b_game3d01[0] = 0 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and $p_render_map_name03[2] = "Elder Ri" and $b_all_menu01[0] = 1 and $p_render_rift_defeat07[2]="o view the Helliquary" and $p_render_gui_text01[6] <> "Are you sure you want to leave" ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",653,179) ; USE click Helliquarry $sleep01[$loopacc] = $time_stop01+3000 $action = 99 Case $find_enemy_2d_map01on = 1 and _IsChecked( ($button_auto05[3])[7-1] ) = False and $p_render_rift_defeat01[2] = "Kill enemies quickly" and $time_stop01 > $sleep01[$loopacc] and $b_game3d01[0] = 1 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and $p_render_map_name03[2] = "Elder Ri" and $b_all_menu01[0] = 0 and $p_render_rift_defeat07[2]="o view the Helliquary" and $p_render_gui_text01[6] <> "Are you sure you want to leave" ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",691,16) ; USE click all menu $sleep01[$loopacc] = $time_stop01+4000 $action = 99 EndSelect If $s_check_blacksmith01[$loopacc] = 2 and $time_stop01 > $sleep01[$loopacc] and $b_game3d01[0] = 1 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and $p_render_map_name03[2] = "Elder Ri" and $b_all_menu01[0] = 0 and $b_help_map01[0] = 1 Then ; fix che mini map ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",691,16) ; USE click all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_check_blacksmith01[$loopacc] = 2 and $time_stop01 > $sleep01[$loopacc] and $b_game3d01[0] = 1 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and $p_render_map_name03[2] = "Elder Ri" and $b_all_menu01[0] = 0 and $b_help_map02[0] = 1 Then ; fix che mini map ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",691,45) ; bat inventory $s_fix_mini_map01[$loopacc] = 1 $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_check_blacksmith01[$loopacc] = 2 and $time_stop01 > $sleep01[$loopacc] and $b_game3d01[0] = 1 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and $p_render_map_name03[2] = "Elder Ri" and $b_all_menu01[0] = 0 and $b_help_map03[0] = 1 Then ; fix che mini map ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",691,45) ; bat inventory $s_fix_mini_map01[$loopacc] = 1 $action = 99 $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_check_blacksmith01[$loopacc] = 2 and $map_large01 = 0 and $time_stop01 > $sleep01[$loopacc] and $b_game3d01[0] = 0 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and $p_render_map_name03[2] = "Elder Ri" and $b_all_menu01[0] = 1 and $b_help_map01[0] = 0 Then ; fix che mini map ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $action = 99 $sleep01[$loopacc] = $time_stop01+3000 EndIf If $p_render_map_name03[2] = "Elder Ri" and $map_large01 = 0 and $s_fix_mini_map01[$loopacc] = 1 and $time_stop01 > $skill_sleep06[$loopacc] and $b_game3d01[0] = 0 and $b_inventory01[0] = 1 and $p_render_gui_text01[6] <> "Are you sure you want to leave" Then ; tat inventory ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $s_fix_mini_map01[$loopacc] = 0 $skill_sleep06[$loopacc] = $time_stop01+2000 $sleep01[$loopacc] = $time_stop01+2000 EndIf If $p_render_map_name03[2] = "Elder Ri" and $s_up_power01[$loopacc] = 1 and $time_stop01 > $skill_sleep06[$loopacc] and $b_game3d01[0] = 0 and $b_inventory01[0] = 1 and $item_up01x <> -1 and $item_up01y <> -1 and $s_up_power01[$loopacc] = 1 and $p_render_gui_text01[6] <> "Are you sure you want to leave" Then ; item UP POWER ; mouse xy giong nhau thi sleep time phai khac nhau ;$aArray_Mouse[$loopacc] &= 451+42*$item_up01x&","&109+42*$item_up01y&","&"1500," ; USE click xy item $a_lp_item01equip[$loopacc] += 1 If $lp_item00add > 0 Then $a_lp_item00num[$loopacc] = $lp_item00add+1 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",451+42*$item_up01x,109+42*$item_up01y) ; USE click xy item $aArray_Mouse[$loopacc] &= "361,312,101," ; USE EQUIP item $aArray_Mouse[$loopacc] &= "361,351,101," ; USE EQUIP item $aArray_Mouse[$loopacc] &= "361,379,101," ; USE EQUIP item $aArray_Mouse[$loopacc] &= "361,407,101," ; USE EQUIP item ;$aArray_Mouse[$loopacc] &= "412,283,1500," ; USE EQUIP item $skill_sleep06[$loopacc] = $time_stop01+2000 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $p_render_map_name03[2] = "Elder Ri" and $s_up_power01[$loopacc] = 1 and $time_stop01 > $skill_sleep06[$loopacc] and $b_game3d01[0] = 0 and $b_inventory01[0] = 1 and $item_up01x = -1 and $item_up01y = -1 and $s_up_power01[$loopacc] = 1 and $p_render_gui_text01[6] <> "Are you sure you want to leave" Then ; item UP POWER ControlSend02($loopacc,$path_fb_html_list01[$i][2],"i") ; Close all menu $s_up_power01[$loopacc] = 2 $skill_sleep06[$loopacc] = $time_stop01+2000 $sleep01[$loopacc] = $time_stop01+2000 EndIf If _IsChecked( ($button_auto05[5])[7-1] ) = True Then ; $s_check_main_quest01[$loopacc] = 1 > view_trade1 _ArrayDisplay($data_trade&" $phong_num00 = "&$phong_num00,$path_fb_html_list01[$phong_num00][5]) ; will show the the full path GUICtrlSetState( ($button_auto05[5])[7-1], $GUI_UNCHECKED) EndIf Select ; all check x case ;------------------------------------------------------------------------------------------------------ check_rewands1 Case _IsChecked( ($button_auto05[4])[7-1] ) = True and $s_check_trade01[1+$t0]<1 and $s_check_trade01[2+$t0]<1 and $s_check_trade01[3+$t0]<1 and $s_check_trade01[4+$t0]<1 and $s_check_trade01[5+$t0]<1 and $s_check_trade01[6+$t0]<1 and $s_check_trade01[7+$t0]<1 and $s_check_trade01[8+$t0]<1 and $s_check_trade01[9+$t0]<1 and $s_check_trade01[10+$t0]<1 and $s_check_trade01[11+$t0]<1 and $s_check_trade01[12+$t0]<1 ; check x $s_check_main_quest01[$loopacc] = 2 MsgBox("","check","DA DOI XONG TRADE > MARKET > SELL"&@CRLF&@CRLF&"DA DOI XONG TRADE > MARKET > SELL"&@CRLF&@CRLF&"DA DOI XONG TRADE > MARKET > SELL",0) GUICtrlSetState( ($button_auto05[4])[7-1], $GUI_UNCHECKED) ;Exit $submit_error01 = 1 $loop_auto01 = 999999999 ; check x stop auto GUICtrlSetState( ($button_auto06[3])[7-1], $GUI_CHECKED) Sleep(100) GUICtrlSetState( ($button_auto06[3])[7-1], $GUI_CHECKED) For $loopacc = $acc_min to $acc_max ; opton check x reset If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $loopacc ) = True Then ; check point = x $s_check_trade01name[$loopacc] = 0 $s_check_trade01[$loopacc] = $char_trade01 $s_check_trade01char[$loopacc] = 0 $s_next01[$loopacc] = 0 EndIf Next ExitLoop GUICtrlSetData($idCheckbox35_tiled02_02,"------------------------------AUTO STOP-------------------------------","") Case _IsChecked( ($button_auto05[2])[7-1] ) = True and $s_check_trade01[1+$t0]<1 and $s_check_trade01[2+$t0]<1 and $s_check_trade01[3+$t0]<1 and $s_check_trade01[4+$t0]<1 and $s_check_trade01[5+$t0]<1 and $s_check_trade01[6+$t0]<1 and $s_check_trade01[7+$t0]<1 and $s_check_trade01[8+$t0]<1 and $s_check_trade01[9+$t0]<1 and $s_check_trade01[10+$t0]<1 and $s_check_trade01[11+$t0]<1 and $s_check_trade01[12+$t0]<1 ; check x $s_check_main_quest01[$loopacc] = 2 MsgBox("","check","DA DOI XONG RANDOM SUMMON > MARKET > SELL"&@CRLF&@CRLF&"DA DOI XONG RANDOM SUMMON > MARKET > SELL"&@CRLF&@CRLF&"DA DOI XONG RANDOM SUMMON > MARKET > SELL",0) GUICtrlSetState( ($button_auto05[2])[7-1], $GUI_UNCHECKED) ; Exit $submit_error01 = 1 $loop_auto01 = 999999999 ; check x stop auto ExitLoop GUICtrlSetData($idCheckbox35_tiled02_02,"------------------------------AUTO STOP-------------------------------","") Case _IsChecked( ($button_auto05[1])[7-1] ) = True and $s_check_trade01[1+$t0]<1 and $s_check_trade01[2+$t0]<1 and $s_check_trade01[3+$t0]<1 and $s_check_trade01[4+$t0]<1 and $s_check_trade01[5+$t0]<1 and $s_check_trade01[6+$t0]<1 and $s_check_trade01[7+$t0]<1 and $s_check_trade01[8+$t0]<1 and $s_check_trade01[9+$t0]<1 and $s_check_trade01[10+$t0]<1 and $s_check_trade01[11+$t0]<1 and $s_check_trade01[12+$t0]<1 ; check x $s_check_main_quest01[$loopacc] = 2 MsgBox("","check","DA DOI XONG RANDOM GEM > MARKET > SELL"&@CRLF&@CRLF&"DA DOI XONG RANDOM GEM > MARKET > SELL"&@CRLF&@CRLF&"DA DOI XONG RANDOM GEM > MARKET > SELL",0) GUICtrlSetState( ($button_auto05[1])[7-1], $GUI_UNCHECKED) ; Exit $submit_error01 = 1 $loop_auto01 = 999999999 ; check x stop auto ExitLoop GUICtrlSetData($idCheckbox35_tiled02_02,"------------------------------AUTO STOP-------------------------------","") Case _IsChecked( ($button_auto05[3])[7-1] ) = True and $s_check_trade01[1+$t0]<1 and $s_check_trade01[2+$t0]<1 and $s_check_trade01[3+$t0]<1 and $s_check_trade01[4+$t0]<1 and $s_check_trade01[5+$t0]<1 and $s_check_trade01[6+$t0]<1 and $s_check_trade01[7+$t0]<1 and $s_check_trade01[8+$t0]<1 and $s_check_trade01[9+$t0]<1 and $s_check_trade01[10+$t0]<1 and $s_check_trade01[11+$t0]<1 and $s_check_trade01[12+$t0]<1 ; check x $s_check_main_quest01[$loopacc] = 2 $data_trade[$rows01-1][1] = 0 For $lp_c = 2 to 10 Step 2 For $lp_a = 1 to $rows01-1 $data_trade[$rows01-1][1] += StringReplace($data_trade[$lp_a][$lp_c], ",", "") ;msgBox($MB_SYSTEMMODAL, "Title", "$data_trade[7][2]="&$data_trade[7][2]&" $data_trade["&$lp_a&"]["&$lp_c&"]="&$data_trade[$lp_a][$lp_c], 0) Next Next $data_trade[$rows01-1][3] = $data_trade[$rows01-1][1] - $data_trade[$rows01-1][2] For $lp_a = 1 to $rows01-2 If _IsChecked( ($button_auto07[1])[7-1] ) = True Then $data_trade[$lp_a][0] = $path_fb_html_list01[$phong_num00][5]& " A" &$lp_a If _IsChecked( ($button_auto07[2])[7-1] ) = True Then $data_trade[$lp_a][0] = $path_fb_html_list01[$phong_num00][5]& " A" &$lp_a+12 Next _FileWriteFromArray("c:\acc\"&$file_trade01, $data_trade, 0) Local $fb_input01 _FileReadToArray("C:\acc\"&$file_trade01, $fb_input01, $FRTA_NOCOUNT) For $lp = 1 to UBound($fb_input01)-2 If $lp <> 0 Then php_data01($file_online01,"SAVE01",'@send:'&$fb_input01[$lp]) Next _ArrayDisplay($data_trade,$path_fb_html_list01[$phong_num00][5]) ; will show the the full path $submit_error01 = 1 $loop_auto01 = 999999999 ; check x stop auto ExitLoop GUICtrlSetData($idCheckbox35_tiled02_02,"------------------------------AUTO STOP-------------------------------","") ;------------------------------------------------------------------------------------------------------ check_charm1 RANDOM_GEM1 Case $action <> 99 and $s_check_trade01[$loopacc] > 0 and _IsChecked( ($button_auto05[1])[7-1] ) = True and $s_codex00on[$loopacc] = 1 ; check x $s_check_main_quest01[$loopacc] = 2 $s_check_trade01char[$loopacc] = 0 If $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 0 and $p_render_gui_text01[0] <> "Charm Craftsman" and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 0 and $p_render_gui_text01[0] = "Charm Craftsman" and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",687,64) ; USE Exit X ;ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 1 and $p_render_gui_text01[0] <> "Charm Craftsman" and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 0 and $p_render_gui_text01[0] <> "Charm Craftsman" and $b_all_menu01[0] = 1 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",632,69) ; click setting $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 0 and $p_render_gui_text01[0] <> "Charm Craftsman" and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] = "Settings" and $b_char_enter01[0] = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",563,408) ; click Leave game $sleep01[$loopacc] = $time_stop01+3000 EndIf If $s_check_trade01char[$loopacc] <> 99 and $b_game3d01[0] = 0 and $p_render_gui_text01[0] <> "Charm Craftsman" and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 1 Then $click_char_num01 = $name_server01char[$loopacc] ;If _IsChecked( ($button_auto04[1])[7-1] ) = True Then $click_char_num01 = 1 ; If _IsChecked( ($button_auto04[2])[7-1] ) = True Then $click_char_num01 = 2 ; If _IsChecked( ($button_auto04[3])[7-1] ) = True Then $click_char_num01 = 3 ; If _IsChecked( ($button_auto04[4])[7-1] ) = True Then $click_char_num01 = 4 ; If _IsChecked( ($button_auto04[5])[7-1] ) = True Then $click_char_num01 = 5 If $click_char_num01 > 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",55,86+75*$click_char_num01-75) ; Click Char $aArray_Mouse[$loopacc] &= "55,"& 86+75*$click_char_num01-75 &",3000," ; Enter World EndIf $aArray_Mouse[$loopacc] &= "616,402,3000," ; Enter World $aArray_Mouse[$loopacc] &= "616,402,3001," ; Enter World $s_check_trade01name[$loopacc] = 0 $s_check_trade01char[$loopacc] = 0 $sleep01[$loopacc] = $time_stop01+3000 EndIf ; RANDOM_GEM1 craftsman westmarch ---------------------------------------------------------------------------------------------------------- If $s_check_trade01char[$loopacc] = 0 Then ; Switch char = 0 ------------------------------------------------------------- $Dis_Black01 = Int( Distance($p_player_view01[0],$p_player_view01[1],59.5,54) ) $Dis_Identify01 = Int( Distance($p_player_view01[0],$p_player_view01[1],36,88) ) $Dis_Charm01 = Int( Distance($p_player_view01[0],$p_player_view01[1],33,93) ) $Dis_Apprentice01 = Int( Distance($p_player_view01[0],$p_player_view01[1],40,45) ) ; Apprentice Jeweler $Dis_Market01 = Int( Distance($p_player_view01[0],$p_player_view01[1],69,82) ) ; Apprentice Jeweler ; sell Apprentice Jeweler ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 0 If $s_next01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $Dis_Apprentice01 > -1 and $Dis_Apprentice01 < $Dis_Black01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Apprentice01 > -1 and $Dis_Apprentice01 < $Dis_Black01max+1 and $time_stop01 > $sleep01[$loopacc] Then $mxyf01 = _mouse45( 40,45,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) $player_step01x = $mxyf01[0] $player_step01y = $mxyf01[1] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$player_step01x, $player_step01y) ; Click Apprentice Jeweler $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $b_quest_chat02[0] = 1 and $p_render_gui_text01[15] <> "Apprentice Jeweler" and $Dis_Apprentice01 > -1 and $Dis_Apprentice01 < $Dis_Black01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",556,345) ; USE Apprentice Jeweler Services $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $b_quest_chat02[0] = 0 and $p_render_gui_text01[15] = "Apprentice Jeweler" and StringInStr($p_render_shop01[2], 'Craft') = 0 and $Dis_Apprentice01 > -1 and $Dis_Apprentice01 < $Dis_Black01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",69,292) ; USE Apprentice Jeweler Craft $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $b_quest_chat02[0] = 0 and $p_render_gui_text01[15] = "Apprentice Jeweler" and StringInStr($p_render_shop01[2], 'Craft') > 0 and $Dis_Apprentice01 > -1 and $Dis_Apprentice01 < $Dis_Black01max+1 and $time_stop01 > $sleep01[$loopacc] Then ; If $p_render_gui_text01[47] = "Random Legendary Gem" and $p_render_gui_text01[6] = "Missing Materials" Then ; 3 ; $s_next01[$loopacc] = 1 If $p_render_gui_text01[47] = "Random Legendary Gem" and StringInStr($p_render_gui_text01[54], '#f#f') < 0+1 Then ; 3 [18]=#fe9a39Random vang #525151Random xam $s_next01[$loopacc] = 1 ;ElseIf $p_render_gui_text01[47] = "Random Legendary Gem" and $p_render_gui_text01[6] <> "Would you like to craft this i" Then ; 1 ; ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",536,395) ; USE Apprentice Jeweler > Craft ElseIf $p_render_gui_text01[47] = "Random Legendary Gem" and $p_render_gui_text01[6] <> "Confirm crafting?" Then ; 1 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",565,395) ; USE Apprentice Jeweler > Craft ElseIf $p_render_gui_text01[47] <> "Random Legendary Gem" Then ; 0 If $p_render_gui_text01[43] = "Random Legendary Gem" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",230,165) ; Click Random gem x1y1 If $p_render_gui_text01[44] = "Random Legendary Gem" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",307,165) ; Click Random gem x2y1 If $p_render_gui_text01[45] = "Random Legendary Gem" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",228,265) ; Click Random gem x1y2 If $p_render_gui_text01[46] = "Random Legendary Gem" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",307,265) ; Click Random gem x2y2 If $p_render_gui_text01[48] = "Random Legendary Gem" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",230,365) ; Click Random gem x1y3 If $p_render_gui_text01[49] = "Random Legendary Gem" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",307,365) ; Click Random gem x2y3 EndIf $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Apprentice01 > $Dis_Black01max and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"m") ; bat World Map $action = 99 $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 0 and $Dis_Apprentice01 > $Dis_Black01max and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",23,246) ; bat World Map > kinh lup $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 1 and $Dis_Apprentice01 > $Dis_Black01max and $time_stop01 > $sleep01[$loopacc] Then If $click_line_add = - 1 Then ControlDrag02($loopacc,"Diablo Immortal","down","1",110,150) ; click item 1x1y ElseIf $click_line_add > - 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",100,154+(32*$click_line_add) ) ; bat World Map > kinh lup > line1 $aArray_Mouse[$loopacc] &= "100,"&154+(32*$click_line_add)&",1001," ; click line1 $aArray_Mouse[$loopacc] &= "333,146,1002," ; click Apprentice Jeweler $aArray_Mouse[$loopacc] &= "333,146,1003," ; click Apprentice Jeweler $aArray_Mouse[$loopacc] &= "333,186,18003," ; click Apprentice Jeweler > Navigate EndIf $action = 99 $sleep01[$loopacc] = $time_stop01+2000 EndIf ; end sell Apprentice Jeweler westmarch ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 0 ; Market westmarch ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 1 If $s_next01[$loopacc] = 1 and $p_render_gui_text01[10] = "#482c1eWe have the finest good" Then $b_quest_chat02[0] = 1 If $s_next01[$loopacc] = 1 and $p_render_gui_text01[6] = "Missing Materials" Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 1 and $p_render_gui_text01[15] = "Apprentice Jeweler" Then ;ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",686,76) ; click X $sleep01[$loopacc] = $time_stop01+3000 EndIf If $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $Dis_Market01 > -1 and $Dis_Market01 < $Dis_Identify01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $p_render_gui_text01[0] <> "Market" and $Dis_Market01 > -1 and $Dis_Market01 < $Dis_Identify01max+1 and $time_stop01 > $sleep01[$loopacc] Then If $p_drop01[2] = "E" Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"E") ; nhat do E ElseIf $p_drop01[2] <> "E" Then $mxyf01 = _mouse45( 69+2,82+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) $player_step01x = $mxyf01[0] $player_step01y = $mxyf01[1] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$player_step01x, $player_step01y) ; Click Market EndIf $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $b_quest_chat02[0] = 1 and $p_render_gui_text01[0] <> "Market" and $Dis_Market01 > -1 and $Dis_Market01 < $Dis_Identify01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",556,345) ; click Dya > Market Services $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Market" and $Dis_Market01 > -1 and $Dis_Market01 < $Dis_Identify01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",245,107) ; click Dya > Market Services > SELL $aArray_Mouse[$loopacc] &= "245,107,1002," ; click Market $s_next01[$loopacc] = 99 $s_check_trade01[$loopacc] = -1 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Market01 > $Dis_Identify01max and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"m") ; bat World Map $action = 99 $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 0 and $Dis_Market01 > $Dis_Identify01max and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",23,246) ; bat World Map > kinh lup $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 1 and $Dis_Market01 > $Dis_Identify01max and $time_stop01 > $sleep01[$loopacc] Then If $click_line_add = - 1 Then ControlDrag02($loopacc,"Diablo Immortal","down","1",110,150) ; click item 1x1y ElseIf $click_line_add > - 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",100,154+(32*$click_line_add) ) ; bat World Map > kinh lup > line1 $aArray_Mouse[$loopacc] &= "100,"&154+(32*$click_line_add)&",1001," ; click line1 $aArray_Mouse[$loopacc] &= "460,174,1002," ; click Market $aArray_Mouse[$loopacc] &= "460,174,1003," ; click Market $aArray_Mouse[$loopacc] &= "458,213,18003," ; click Market > Navigate EndIf $action = 99 $sleep01[$loopacc] = $time_stop01+2000 EndIf ; end Market westmarch ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 1 ; identify westmarch ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 2 If $p_render_gui_text01[10] = "#482c1eEvery item has a histor" or $p_render_gui_text01[10] = "#482c1eNo secret remains hidde" Then $b_identify01[0] = 1 If $s_next01[$loopacc] = 2 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $Dis_Identify01 > -1 and $Dis_Identify01 < $Dis_Identify01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 2 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Identify01 > -1 and $Dis_Identify01 < $Dis_Identify01max+1 and $time_stop01 > $sleep01[$loopacc] Then $mxyf01 = _mouse45( 36,88,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) $player_step01x = $mxyf01[0] $player_step01y = $mxyf01[1] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$player_step01x, $player_step01y) ; Click identify $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 2 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $b_identify01[0] = 1 and $Dis_Identify01 > -1 and $Dis_Identify01 < $Dis_Identify01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",559,337) ; click Lanaly > identify $s_next01[$loopacc] = 3 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 2 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Identify01 > $Dis_Identify01max and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"m") ; bat World Map $action = 99 $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 2 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 0 and $Dis_Identify01 > $Dis_Identify01max and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",23,246) ; bat World Map > kinh lup $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 2 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 1 and $Dis_Identify01 > $Dis_Identify01max and $time_stop01 > $sleep01[$loopacc] Then If $click_line_add = - 1 Then ControlDrag02($loopacc,"Diablo Immortal","down","1",110,150) ; click item 1x1y ElseIf $click_line_add > - 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",100,154+(32*$click_line_add) ) ; bat World Map > kinh lup > line1 $aArray_Mouse[$loopacc] &= "100,"&154+(32*$click_line_add)&",1001," ; click line1 $aArray_Mouse[$loopacc] &= "407,251,1002," ; click identify $aArray_Mouse[$loopacc] &= "407,251,1003," ; click identify $aArray_Mouse[$loopacc] &= "400,300,18003," ; click identify > Navigate EndIf $action = 99 $sleep01[$loopacc] = $time_stop01+2000 EndIf ; end identify westmarch ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 2 ; sell charm craftsman westmarch ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 3 If $s_next01[$loopacc] = 3 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $Dis_Charm01 > -1 and $Dis_Charm01 < $Dis_Charm01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 3 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Charm01 > -1 and $Dis_Charm01 < $Dis_Charm01max+1 and $time_stop01 > $sleep01[$loopacc] Then $mxyf01 = _mouse45( 33,93,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) $player_step01x = $mxyf01[0] $player_step01y = $mxyf01[1] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$player_step01x, $player_step01y) ; Click charm craftsman $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 3 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and StringInStr($p_render_gui_text01[10], '#482c1eYou ') > 0 and $p_render_gui_text01[0] <> "Charm Craftsman" and $Dis_Charm01 > -1 and $Dis_Charm01 < $Dis_Charm01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",556,345) ; USE charm craftsman Services $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 3 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and StringInStr($p_render_gui_text01[10], '#482c1eYou ') < 0+1 and $p_render_gui_text01[0] = "Charm Craftsman" and $Dis_Charm01 > -1 and $Dis_Charm01 < $Dis_Charm01max+1 and $time_stop01 > $sleep01[$loopacc] Then ; mouse xy giong nhau thi sleep time phai khac nhau ;$aArray_Mouse[$loopacc] &= "288,405,4000," ; USE V xam item ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",358,401) ; USE click xy item vang $aArray_Mouse[$loopacc] &= "516,400,3029," ; USE V Salvage sell item $aArray_Mouse[$loopacc] &= "393,287,1030," ; USE OK sell item $aArray_Mouse[$loopacc] &= "687,64,3000," ; USE Exit X $s_next01[$loopacc] = 4 $sleep01[$loopacc] = $time_stop01+4000 ElseIf $s_next01[$loopacc] = 3 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Charm01 > $Dis_Charm01max and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"m") ; bat World Map $action = 99 $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 3 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 0 and $Dis_Charm01 > $Dis_Charm01max and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",23,246) ; bat World Map > kinh lup $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 3 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 1 and $Dis_Charm01 > $Dis_Charm01max and $time_stop01 > $sleep01[$loopacc] Then If $click_line_add = - 1 Then ControlDrag02($loopacc,"Diablo Immortal","down","1",110,150) ; click item 1x1y ElseIf $click_line_add > - 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",100,154+(32*$click_line_add) ) ; bat World Map > kinh lup > line1 $aArray_Mouse[$loopacc] &= "100,"&154+(32*$click_line_add)&",1001," ; click line1 $aArray_Mouse[$loopacc] &= "409,258,1002," ; click charm craftsman $aArray_Mouse[$loopacc] &= "409,258,1003," ; click charm craftsman $aArray_Mouse[$loopacc] &= "442,215,18003," ; click charm craftsman > Navigate EndIf $action = 99 $sleep01[$loopacc] = $time_stop01+2000 EndIf ; end charm craftsman westmarch ---------------------------------------------------------------------------------- $s_next01[$loopacc] = 3 ; UP POWER westmarch ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 4 If $s_next01[$loopacc] = 4 and $b_game3d01[0] = 0 and $b_inventory01[0] = 0 and $time_stop01 > $sleep01[$loopacc] Then ; 0 ESC ALL ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 4 and $b_game3d01[0] = 1 and $b_inventory01[0] = 0 and $time_stop01 > $sleep01[$loopacc] Then ; 1 bat inventory ControlSend02($loopacc,$path_fb_html_list01[$i][2],"i") ; bat inventory $sleep01[$loopacc] = $time_stop01+4000 ElseIf $s_next01[$loopacc] = 4 and $b_game3d01[0] = 0 and $b_inventory01[0] = 1 and $item_up01x <> -1 and $item_up01y <> -1 and $time_stop01 > $sleep01[$loopacc] Then ; 2 equip item UP POWER ; mouse xy giong nhau thi sleep time phai khac nhau ;$aArray_Mouse[$loopacc] &= 451+42*$item_up01x&","&109+42*$item_up01y&","&"1500," ; USE click xy item $a_lp_item01equip[$loopacc] += 1 If $lp_item00add > 0 Then $a_lp_item00num[$loopacc] = $lp_item00add+1 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",451+42*$item_up01x,109+42*$item_up01y) ; USE click xy item $aArray_Mouse[$loopacc] &= "361,312,101," ; USE EQUIP item $aArray_Mouse[$loopacc] &= "361,351,101," ; USE EQUIP item $aArray_Mouse[$loopacc] &= "361,379,101," ; USE EQUIP item $aArray_Mouse[$loopacc] &= "361,407,101," ; USE EQUIP item ;$aArray_Mouse[$loopacc] &= "412,283,1500," ; USE EQUIP item $sleep01[$loopacc] = $time_stop01+1000 ElseIf $s_next01[$loopacc] = 4 and $b_game3d01[0] = 0 and $b_inventory01[0] = 1 and $item_up01x = -1 and $item_up01y = -1 and $time_stop01 > $sleep01[$loopacc] Then ; 3 end item UP POWER > exit inventory ControlSend02($loopacc,$path_fb_html_list01[$i][2],"i") ; Close all menu $s_next01[$loopacc] = 5 $sleep01[$loopacc] = $time_stop01+1000 EndIf ; end UP POWER westmarch ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 4 ; sell blacksmith westmarch ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 5 If $s_next01[$loopacc] = 5 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $Dis_Black01 > -1 and $Dis_Black01 < $Dis_Black01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 5 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Black01 > -1 and $Dis_Black01 < $Dis_Black01max+1 and $time_stop01 > $sleep01[$loopacc] Then $mxyf01 = _mouse45( 59.5,54,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) $player_step01x = $mxyf01[0] $player_step01y = $mxyf01[1] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$player_step01x, $player_step01y) ; Click Blacksmith $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 5 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $b_quest_chat02[0] = 1 and $p_render_gui_text01[0] <> "Blacksmith" and $Dis_Black01 > -1 and $Dis_Black01 < $Dis_Black01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",556,345) ; USE blacksmith Services $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_next01[$loopacc] = 5 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $b_quest_chat02[0] = 0 and $p_render_gui_text01[0] = "Blacksmith" and $Dis_Black01 > -1 and $Dis_Black01 < $Dis_Black01max+1 and $time_stop01 > $sleep01[$loopacc] Then $Blacksmith_num01[$i] += 1 If $Blacksmith_num01[$i] = 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",210+44*0,170+86*0) ; USE click x1y1 If $Blacksmith_num01[$i] = 2 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",210+44*1,170+86*0) ; USE click x2y1 If $Blacksmith_num01[$i] = 3 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",210+44*2,170+86*0) ; USE click x3y1 If $Blacksmith_num01[$i] = 4 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",210+44*3,170+86*0) ; USE click x4y1 If $Blacksmith_num01[$i] = 5 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",210+44*0,170+86*1) ; USE click x1y2 If $Blacksmith_num01[$i] = 6 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",210+44*1,170+86*1) ; USE click x2y2 If $Blacksmith_num01[$i] = 7 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",210+44*2,170+86*1) ; USE click x3y2 If $Blacksmith_num01[$i] = 8 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",210+44*3,170+86*1) ; USE click x4y2 If $Blacksmith_num01[$i] = 9 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",210+44*0,170+86*2) ; USE click x1y3 If $Blacksmith_num01[$i] = 10 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",210+44*1,170+86*2) ; USE click x1y3 If $Blacksmith_num01[$i] = 11 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",210+44*2,170+86*2) ; USE click x1y3 If $Blacksmith_num01[$i] = 12 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",210+44*3,170+86*2) ; USE click x1y3 If $Blacksmith_num01[$i] > 12 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",516,400) ; USE V Salvage sell item $s_next01[$loopacc] = 6 EndIf $sleep01[$loopacc] = $time_stop01+1000 ElseIf $s_next01[$loopacc] = 5 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Black01 > $Dis_Black01max and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"m") ; bat World Map $action = 99 $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 5 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 0 and $Dis_Black01 > $Dis_Black01max and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",23,246) ; bat World Map > kinh lup $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 5 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 1 and $Dis_Black01 > $Dis_Black01max and $time_stop01 > $sleep01[$loopacc] Then If $click_line_add = - 1 Then ControlDrag02($loopacc,"Diablo Immortal","down","1",110,150) ; click item 1x1y ElseIf $click_line_add > - 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",100,154+(32*$click_line_add) ) ; bat World Map > kinh lup > line1 $aArray_Mouse[$loopacc] &= "100,"&154+(32*$click_line_add)&",1001," ; click line1 $aArray_Mouse[$loopacc] &= "387,130,1002," ; click blacksmith $aArray_Mouse[$loopacc] &= "387,130,1003," ; click blacksmith $aArray_Mouse[$loopacc] &= "395,174,18003," ; click blacksmith > Navigate EndIf $action = 99 $sleep01[$loopacc] = $time_stop01+2000 EndIf ; end sell blacksmith westmarch ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 5 ; UP POWER westmarch ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 6 If $s_next01[$loopacc] = 6 and $b_game3d01[0] = 0 and $b_inventory01[0] = 0 and $time_stop01 > $sleep01[$loopacc] Then ; 0 ESC ALL ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 6 and $b_game3d01[0] = 1 and $b_inventory01[0] = 0 and $time_stop01 > $sleep01[$loopacc] Then ; 1 bat inventory ControlSend02($loopacc,$path_fb_html_list01[$i][2],"i") ; bat inventory $sleep01[$loopacc] = $time_stop01+4000 ElseIf $s_next01[$loopacc] = 6 and $b_game3d01[0] = 0 and $b_inventory01[0] = 1 and $item_up01x <> -1 and $item_up01y <> -1 and $time_stop01 > $sleep01[$loopacc] Then ; 2 equip item UP POWER ; mouse xy giong nhau thi sleep time phai khac nhau ;$aArray_Mouse[$loopacc] &= 451+42*$item_up01x&","&109+42*$item_up01y&","&"1500," ; USE click xy item $a_lp_item01equip[$loopacc] += 1 If $lp_item00add > 0 Then $a_lp_item00num[$loopacc] = $lp_item00add+1 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",451+42*$item_up01x,109+42*$item_up01y) ; USE click xy item $aArray_Mouse[$loopacc] &= "361,312,101," ; USE EQUIP item $aArray_Mouse[$loopacc] &= "361,351,101," ; USE EQUIP item $aArray_Mouse[$loopacc] &= "361,379,101," ; USE EQUIP item $aArray_Mouse[$loopacc] &= "361,407,101," ; USE EQUIP item ;$aArray_Mouse[$loopacc] &= "412,283,1500," ; USE EQUIP item $sleep01[$loopacc] = $time_stop01+1000 ElseIf $s_next01[$loopacc] = 6 and $b_game3d01[0] = 0 and $b_inventory01[0] = 1 and $item_up01x = -1 and $item_up01y = -1 and $time_stop01 > $sleep01[$loopacc] Then ; 3 end item UP POWER > exit inventory ;ControlSend02($loopacc,$path_fb_html_list01[$i][2],"i") ; Close all menu $s_next01[$loopacc] = 7 $sleep01[$loopacc] = $time_stop01+1000 EndIf ; end UP POWER westmarch ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 6 EndIf ; Switch char = 0 ---------------------------------------------------------------------------- ;------------------------------------------------------------------------------------------------------ check_MARKET01 Case $action <> 99 and $s_check_trade01[$loopacc] > 0 and _IsChecked( ($button_auto05[2])[7-1] ) = True and $s_codex00on[$loopacc] = 1 ; check x $s_check_main_quest01[$loopacc] = 2 ;MsgBox($MB_SYSTEMMODAL, "", "$p_render_map_name03[2] " &$p_render_map_name03[2]& " $p_render_gui_text01[15] " &$p_render_gui_text01[15]& " $p_render_gui_text01[0] " &$p_render_gui_text01[0]) ; $s_check_trade01char[$loopacc] = 1 If $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 0 and $b_inventory01[0] = 0 and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 0 and $b_inventory01[0] = 1 and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 1 and $b_inventory01[0] = 0 and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 0 and $b_inventory01[0] = 0 and $b_all_menu01[0] = 1 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",632,69) ; click setting $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 0 and $b_inventory01[0] = 0 and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] = "Settings" and $b_char_enter01[0] = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",563,408) ; click Leave game $sleep01[$loopacc] = $time_stop01+3000 EndIf If $s_check_trade01char[$loopacc] <> 99 and $b_game3d01[0] = 0 and $p_render_gui_text01[15] <> "Familiar Contracts" and $p_render_gui_text01[15] <> "Summon Familiars" and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 1 Then ;If $s_check_trade01[$loopacc] > -1 and $s_check_trade01[$loopacc] < 2 Then ;$s_next01[$loopacc] = 99 ;$s_check_trade01char[$loopacc] = 1 ; EndIf If $s_check_trade01[$loopacc] > 0 Then $click_char_num01 = $name_server01char[$loopacc] If _IsChecked( ($button_auto04[5])[7-1] ) = True Then $click_char_num01 = 5 If _IsChecked( ($button_auto04[4])[7-1] ) = True Then $click_char_num01 = 4 If _IsChecked( ($button_auto04[3])[7-1] ) = True Then $click_char_num01 = 3 If _IsChecked( ($button_auto04[2])[7-1] ) = True Then $click_char_num01 = 2 If _IsChecked( ($button_auto04[1])[7-1] ) = True Then $click_char_num01 = 1 If $click_char_num01 > 0 Then For $lpc01 = 1 to 3 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",55,86+75*$click_char_num01-75) ; Click Char Sleep(50) Next $aArray_Mouse[$loopacc] &= "55,"& 86+75*$click_char_num01-75 &",3000," ; Enter World $aArray_Mouse[$loopacc] &= "616,402,3000," ; Enter World $aArray_Mouse[$loopacc] &= "616,402,3001," ; Enter World $s_check_trade01name[$loopacc] = 0 $s_check_trade01char[$loopacc] = 0 $sleep01[$loopacc] = $time_stop01+3000 $s_check_trade01[$loopacc] -= 1 EndIf EndIf EndIf ; RANDOM_GEM1 craftsman westmarch ---------------------------------------------------------------------------------------------------------- If $s_check_trade01char[$loopacc] = 0 Then ; Switch char = 0 ------------------------------------------------------------- $Dis_Black01 = Int( Distance($p_player_view01[0],$p_player_view01[1],59.5,54) ) $Dis_Identify01 = Int( Distance($p_player_view01[0],$p_player_view01[1],36,88) ) $Dis_Charm01 = Int( Distance($p_player_view01[0],$p_player_view01[1],33,93) ) $Dis_Apprentice01 = Int( Distance($p_player_view01[0],$p_player_view01[1],40,45) ) ; Apprentice Jeweler $Dis_Market01 = Int( Distance($p_player_view01[0],$p_player_view01[1],69,82) ) ; Apprentice Jeweler ; sell Apprentice Jeweler ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 0 If $s_next01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $time_stop01 > $sleep01[$loopacc] Then $s_next01[$loopacc] = 1 $action = 99 $sleep01[$loopacc] = $time_stop01+2000 EndIf ; end sell Apprentice Jeweler westmarch ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 0 ; Market westmarch ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 1 If $s_next01[$loopacc] = 1 and $p_render_gui_text01[10] = "#482c1eWe have the finest good" Then $b_quest_chat02[0] = 1 If $s_next01[$loopacc] = 1 and $p_render_gui_text01[6] = "Missing Materials" Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 1 and $p_render_gui_text01[15] = "Apprentice Jeweler" Then ;ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",686,76) ; click X $sleep01[$loopacc] = $time_stop01+3000 EndIf If $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $Dis_Market01 > -1 and $Dis_Market01 < $Dis_Identify01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $p_render_gui_text01[0] <> "Market" and $Dis_Market01 > -1 and $Dis_Market01 < $Dis_Identify01max+1 and $time_stop01 > $sleep01[$loopacc] Then ; If $p_drop01[2] = "E" Then ; ControlSend02($loopacc,$path_fb_html_list01[$i][2],"E") ; nhat do E ; ElseIf $p_drop01[2] <> "E" Then ; $mxyf01 = _mouse45( 69+2,82+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) ; $player_step01x = $mxyf01[0] ; $player_step01y = $mxyf01[1] ; ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$player_step01x, $player_step01y) ; Click Market ; EndIf If $s_check_trade01[$loopacc] > 1 Then $s_check_trade01char[$loopacc] = 1 If $s_check_trade01[$loopacc] = 1 Then $s_check_trade01[$loopacc] -= 1 ; fix stop som ;$s_next01[$loopacc] = 99 ; $s_check_trade01[$loopacc] -= 1 ; $s_next01[$loopacc] = 99 ; $s_check_trade01[$loopacc] = -1 $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ;ElseIf $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $b_quest_chat02[0] = 1 and $p_render_gui_text01[0] <> "Market" and $Dis_Market01 > -1 and $Dis_Market01 < $Dis_Identify01max+1 and $time_stop01 > $sleep01[$loopacc] Then ; ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",556,345) ; click Dya > Market Services ; $sleep01[$loopacc] = $time_stop01+2000 ;ElseIf $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Market" and $Dis_Market01 > -1 and $Dis_Market01 < $Dis_Identify01max+1 and $time_stop01 > $sleep01[$loopacc] Then ; ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",245,107) ; click Dya > Market Services > SELL ; $aArray_Mouse[$loopacc] &= "245,107,1002," ; click Market ; $s_next01[$loopacc] = 99 ; $s_check_trade01[$loopacc] = -1 ; $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Market01 > $Dis_Identify01max and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"m") ; bat World Map $action = 99 $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 0 and $Dis_Market01 > $Dis_Identify01max and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",23,246) ; bat World Map > kinh lup $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 1 and $Dis_Market01 > $Dis_Identify01max and $time_stop01 > $sleep01[$loopacc] Then If $click_line_add = - 1 Then ControlDrag02($loopacc,"Diablo Immortal","down","1",110,150) ; click item 1x1y ElseIf $click_line_add > - 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",100,154+(32*$click_line_add) ) ; bat World Map > kinh lup > line1 $aArray_Mouse[$loopacc] &= "100,"&154+(32*$click_line_add)&",1001," ; click line1 $aArray_Mouse[$loopacc] &= "460,174,1002," ; click Market $aArray_Mouse[$loopacc] &= "460,174,1003," ; click Market $aArray_Mouse[$loopacc] &= "458,213,18003," ; click Market > Navigate EndIf $action = 99 $sleep01[$loopacc] = $time_stop01+2000 EndIf ; end Market westmarch ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 1 EndIf ; Switch char = 0 ---------------------------------------------------------------------------- ;------------------------------------------------------------------------------------------------------ check_MARKET_TRADE1 THAO_GEM1 Case $action <> 99 and $s_check_trade01[$loopacc] > 0 and _IsChecked( ($button_auto05[4])[7-1] ) = True and $s_codex00on[$loopacc] = 1 ; check x $s_check_main_quest01[$loopacc] = 2 $s_check_trade01char[$loopacc] = 0 If $s_next01[$loopacc] = 0 Then $s_next01[$loopacc] = 1 ; fix bo random gem If $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 0 and $p_render_gui_text01[0] <> "Charm Craftsman" and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 0 and $p_render_gui_text01[0] = "Charm Craftsman" and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",687,64) ; USE Exit X ;ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 1 and $p_render_gui_text01[0] <> "Charm Craftsman" and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 0 and $p_render_gui_text01[0] <> "Charm Craftsman" and $b_all_menu01[0] = 1 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",632,69) ; click setting $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 0 and $p_render_gui_text01[0] <> "Charm Craftsman" and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] = "Settings" and $b_char_enter01[0] = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",563,408) ; click Leave game $sleep01[$loopacc] = $time_stop01+3000 EndIf If $s_check_trade01char[$loopacc] <> 99 and $b_game3d01[0] = 0 and $p_render_gui_text01[0] <> "Charm Craftsman" and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 1 Then $click_char_num01 = $name_server01char[$loopacc] ;If _IsChecked( ($button_auto04[1])[7-1] ) = True Then $click_char_num01 = 1 ; If _IsChecked( ($button_auto04[2])[7-1] ) = True Then $click_char_num01 = 2 ; If _IsChecked( ($button_auto04[3])[7-1] ) = True Then $click_char_num01 = 3 ; If _IsChecked( ($button_auto04[4])[7-1] ) = True Then $click_char_num01 = 4 ; If _IsChecked( ($button_auto04[5])[7-1] ) = True Then $click_char_num01 = 5 If $click_char_num01 > 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",55,86+75*$click_char_num01-75) ; Click Char $aArray_Mouse[$loopacc] &= "55,"& 86+75*$click_char_num01-75 &",3000," ; Enter World EndIf $aArray_Mouse[$loopacc] &= "616,402,3000," ; Enter World $aArray_Mouse[$loopacc] &= "616,402,3001," ; Enter World $s_check_trade01name[$loopacc] = 0 $s_check_trade01char[$loopacc] = 0 $sleep01[$loopacc] = $time_stop01+3000 EndIf ; RANDOM_GEM1 craftsman westmarch ---------------------------------------------------------------------------------------------------------- If $s_check_trade01char[$loopacc] = 0 Then ; Switch char = 0 ------------------------------------------------------------- $Dis_Black01 = Int( Distance($p_player_view01[0],$p_player_view01[1],59.5,54) ) $Dis_Identify01 = Int( Distance($p_player_view01[0],$p_player_view01[1],36,88) ) $Dis_Charm01 = Int( Distance($p_player_view01[0],$p_player_view01[1],33,93) ) $Dis_Apprentice01 = Int( Distance($p_player_view01[0],$p_player_view01[1],40,45) ) ; Apprentice Jeweler $Dis_Market01 = Int( Distance($p_player_view01[0],$p_player_view01[1],69,82) ) ; Apprentice Jeweler ; sell Apprentice Jeweler ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 0 If $s_next01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $Dis_Apprentice01 > -1 and $Dis_Apprentice01 < $Dis_Black01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Apprentice01 > -1 and $Dis_Apprentice01 < $Dis_Black01max+1 and $time_stop01 > $sleep01[$loopacc] Then $mxyf01 = _mouse45( 40,45,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) $player_step01x = $mxyf01[0] $player_step01y = $mxyf01[1] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$player_step01x, $player_step01y) ; Click Apprentice Jeweler $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $b_quest_chat02[0] = 1 and $p_render_gui_text01[15] <> "Apprentice Jeweler" and $Dis_Apprentice01 > -1 and $Dis_Apprentice01 < $Dis_Black01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",556,345) ; USE Apprentice Jeweler Services $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $b_quest_chat02[0] = 0 and $p_render_gui_text01[15] = "Apprentice Jeweler" and StringInStr($p_render_shop01[2], 'Craft') = 0 and $Dis_Apprentice01 > -1 and $Dis_Apprentice01 < $Dis_Black01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",69,292) ; USE Apprentice Jeweler Craft $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $b_quest_chat02[0] = 0 and $p_render_gui_text01[15] = "Apprentice Jeweler" and StringInStr($p_render_shop01[2], 'Craft') > 0 and $Dis_Apprentice01 > -1 and $Dis_Apprentice01 < $Dis_Black01max+1 and $time_stop01 > $sleep01[$loopacc] Then ; If $p_render_gui_text01[47] = "Random Legendary Gem" and $p_render_gui_text01[6] = "Missing Materials" Then ; 3 ; $s_next01[$loopacc] = 1 If $p_render_gui_text01[47] = "Random Legendary Gem" and StringInStr($p_render_gui_text01[54], '#f#f') < 0+1 Then ; 3 [18]=#fe9a39Random vang #525151Random xam $s_next01[$loopacc] = 1 ;ElseIf $p_render_gui_text01[47] = "Random Legendary Gem" and $p_render_gui_text01[6] <> "Would you like to craft this i" Then ; 1 ; ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",536,395) ; USE Apprentice Jeweler > Craft ElseIf $p_render_gui_text01[47] = "Random Legendary Gem" and $p_render_gui_text01[6] <> "Confirm crafting?" Then ; 1 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",565,395) ; USE Apprentice Jeweler > Craft ElseIf $p_render_gui_text01[47] <> "Random Legendary Gem" Then ; 0 If $p_render_gui_text01[43] = "Random Legendary Gem" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",230,165) ; Click Random gem x1y1 If $p_render_gui_text01[44] = "Random Legendary Gem" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",307,165) ; Click Random gem x2y1 If $p_render_gui_text01[45] = "Random Legendary Gem" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",228,265) ; Click Random gem x1y2 If $p_render_gui_text01[46] = "Random Legendary Gem" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",307,265) ; Click Random gem x2y2 If $p_render_gui_text01[48] = "Random Legendary Gem" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",230,365) ; Click Random gem x1y3 If $p_render_gui_text01[49] = "Random Legendary Gem" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",307,365) ; Click Random gem x2y3 EndIf $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Apprentice01 > $Dis_Black01max and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"m") ; bat World Map $action = 99 $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 0 and $Dis_Apprentice01 > $Dis_Black01max and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",23,246) ; bat World Map > kinh lup $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 0 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 1 and $Dis_Apprentice01 > $Dis_Black01max and $time_stop01 > $sleep01[$loopacc] Then If $click_line_add = - 1 Then ControlDrag02($loopacc,"Diablo Immortal","down","1",110,150) ; click item 1x1y ElseIf $click_line_add > - 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",100,154+(32*$click_line_add) ) ; bat World Map > kinh lup > line1 $aArray_Mouse[$loopacc] &= "100,"&154+(32*$click_line_add)&",1001," ; click line1 $aArray_Mouse[$loopacc] &= "333,146,1002," ; click Apprentice Jeweler $aArray_Mouse[$loopacc] &= "333,146,1003," ; click Apprentice Jeweler $aArray_Mouse[$loopacc] &= "333,186,18003," ; click Apprentice Jeweler > Navigate EndIf $action = 99 $sleep01[$loopacc] = $time_stop01+2000 EndIf ; end sell Apprentice Jeweler westmarch ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 0 ; Market westmarch ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 1 If $s_next01[$loopacc] = 1 and $p_render_gui_text01[10] = "#482c1eWe have the finest good" Then $b_quest_chat02[0] = 1 If $s_next01[$loopacc] = 1 and $p_render_gui_text01[6] = "Missing Materials" Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 1 and $p_render_gui_text01[15] = "Apprentice Jeweler" Then ;ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",686,76) ; click X $sleep01[$loopacc] = $time_stop01+3000 EndIf If $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $Dis_Market01 > -1 and $Dis_Market01 < $Dis_Identify01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $p_render_gui_text01[0] <> "Market" and $Dis_Market01 > -1 and $Dis_Market01 < $Dis_Identify01max+1 and $time_stop01 > $sleep01[$loopacc] Then If $p_drop01[2] = "E" Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"E") ; nhat do E ElseIf $p_drop01[2] <> "E" Then $mxyf01 = _mouse45( 69+2,82+1,$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) $player_step01x = $mxyf01[0] $player_step01y = $mxyf01[1] ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$player_step01x, $player_step01y) ; Click Market EndIf $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $b_quest_chat02[0] = 1 and $p_render_gui_text01[0] <> "Market" and $Dis_Market01 > -1 and $Dis_Market01 < $Dis_Identify01max+1 and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",556,345) ; click Dya > Market Services $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Market" and $time_stop01 > $sleep01[$loopacc] Then ;If $p_render_gui_text01[60] = "Pending Sales (0)" and $p_render_gui_text01[59] = "My Items (0/4)" Then If $p_render_gui_text01[59] = "My Items (0/4)" Then $s_next01[$loopacc] = 99 $s_check_trade01[$loopacc] = -1 EndIf $my_item01on = 0 If $p_render_gui_text01[59] = "My Items (1/4)" or $p_render_gui_text01[59] = "My Items (2/4)" or $p_render_gui_text01[59] = "My Items (3/4)" or $p_render_gui_text01[59] = "My Items (4/4)" Then $my_item01on = 1 If $p_render_gui_text01[61] = "List Item" and $p_render_gui_text01[62] = "#ffedc1Remove Item" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",446,356) ; click Dya > Market Services > SELL > "List Item" > Remove Item ElseIf $p_render_gui_text01[60] = "Sale successful!" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",330,305) ; click Dya > Market Services > SELL > Select item > Sale successful! ElseIf $my_item01on = 1 and $p_render_gui_text01[60] = "Pending Sales (0)" and $p_render_gui_text01[61] <> "List Item" and StringInStr($p_render_gui_text01[61], "Pending Sales") < 0+1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",130,254) ; click Dya > Market Services > SELL > Select item 1 2 3 4 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",327,254) ; click Dya > Market Services > SELL > Select item 1 2 3 4 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",130,348) ; click Dya > Market Services > SELL > Select item 1 2 3 4 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",327,348) ; click Dya > Market Services > SELL > Select item 1 2 3 4 EndIf If $p_render_gui_text01[61] = "Pending Sales (1)" or $p_render_gui_text01[61] = "Pending Sales (2)" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",527,197) ; click Dya > Market Services > SELL > "Pending Sales (1)" > CLAIM 1 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",527,260) ; click Dya > Market Services > SELL > "Pending Sales (1)" > CLAIM 2 ElseIf $p_render_gui_text01[61] = "Pending Sales (0)" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",652,109) ; click Dya > Market Services > SELL > "Pending Sales (0)" > X ElseIf StringInStr($p_render_gui_text01[60], "Pending Sales") < 0+1 or StringInStr($p_render_gui_text01[59], "My Items") < 0+1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",245,107) ; click Dya > Market Services > SELL ;$aArray_Mouse[$loopacc] &= "245,107,1002," ; click Market > SELL ElseIf $p_render_gui_text01[60] = "Pending Sales (1)" and StringInStr($p_render_gui_text01[61], "Pending Sales") < 0+1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",390,159) ; click Dya > Market Services > SELL > "Pending Sales (1)" ElseIf $p_render_gui_text01[60] = "Pending Sales (2)" and StringInStr($p_render_gui_text01[61], "Pending Sales") < 0+1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",390,159) ; click Dya > Market Services > SELL > "Pending Sales (2)" EndIf $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 1 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] <> "Westmarch" and $b_map_west01[0] = 0 and $Dis_Market01 > $Dis_Identify01max and $time_stop01 > $sleep01[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"m") ; bat World Map $action = 99 $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 0 and $Dis_Market01 > $Dis_Identify01max and $time_stop01 > $sleep01[$loopacc] Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",23,246) ; bat World Map > kinh lup $action = 99 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $s_next01[$loopacc] = 1 and $p_player_view01[3] = 0 and $b_game3d01[0] = 0 and $p_render_map_name03[2] = "Westmarc" and $p_render_gui_text01[0] = "Westmarch" and $b_map_west01[0] = 1 and $Dis_Market01 > $Dis_Identify01max and $time_stop01 > $sleep01[$loopacc] Then If $click_line_add = - 1 Then ControlDrag02($loopacc,"Diablo Immortal","down","1",110,150) ; click item 1x1y ElseIf $click_line_add > - 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",100,154+(32*$click_line_add) ) ; bat World Map > kinh lup > line1 $aArray_Mouse[$loopacc] &= "100,"&154+(32*$click_line_add)&",1001," ; click line1 $aArray_Mouse[$loopacc] &= "460,174,1002," ; click Market $aArray_Mouse[$loopacc] &= "460,174,1003," ; click Market $aArray_Mouse[$loopacc] &= "458,213,18003," ; click Market > Navigate EndIf $action = 99 $sleep01[$loopacc] = $time_stop01+2000 EndIf ; end Market westmarch ---------------------------------------------------------------------------------------------------------- $s_next01[$loopacc] = 1 EndIf ; Switch char = 0 ---------------------------------------------------------------------------- Case $action <> 99 and $s_check_trade01[$loopacc] > 0 and _IsChecked( ($button_auto05[3])[7-1] ) = True ; check x $s_check_main_quest01[$loopacc] = 2 @MON&"/"&@MDAY $data_trade[0][0] = "CHAR1 + "&@MON&"/"&@MDAY If $s_check_trade01char[$loopacc] = 0 and $b_game3d01[0] = 0 and $b_inventory01[0] = 0 and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_check_trade01char[$loopacc] = 0 and $b_game3d01[0] = 0 and $b_inventory01[0] = 0 and $b_all_menu01[0] = 1 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"i") ; Close all menu $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_check_trade01char[$loopacc] = 0 and $b_game3d01[0] = 1 and $b_inventory01[0] = 0 and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"i") ; bat inventory $sleep01[$loopacc] = $time_stop01+7000 ElseIf $s_check_trade01char[$loopacc] = 0 and $b_game3d01[0] = 0 and $b_inventory01[0] = 1 and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then $data_name01 = $p_render_gui_text01[1] $data_platinum01 = $p_render_gui_text01[2] $name_trade01 = 0 For $lp_col = 1 to 10 Step +2 If _IsChecked( ($button_auto07[1])[7-1] ) = True Then $find_name01 = StringInStr($data_name01, $data_trade[$loopacc+0][$lp_col+0] ) If _IsChecked( ($button_auto07[2])[7-1] ) = True Then $find_name01 = StringInStr($data_name01, $data_trade[$loopacc-12][$lp_col+0] ) ;MsgBox("","check","N"&$lp_col&" $data_name01 = "&$data_name01&" $data_trade[$loopacc+0][$lp_col+0] = "&$data_trade[$loopacc+0][$lp_col+0]&" $find_name01 = "&$find_name01,0) If StringLen($data_name01) > 3 and $find_name01 > 0 Then If _IsChecked( ($button_auto07[1])[7-1] ) = True Then $data_trade[$loopacc+0][$lp_col+1] = $data_platinum01 If _IsChecked( ($button_auto07[2])[7-1] ) = True Then $data_trade[$loopacc-12][$lp_col+1] = $data_platinum01 ExitLoop $name_trade01 = 1 EndIf Next ;If StringLen($data_name01) < 4 Then $name_trade01 = 0 If _IsChecked( ($button_auto07[1])[7-1] ) = True and $name_trade01 = 0 Then $data_trade[$loopacc+0][ ($s_check_trade01[$loopacc]*2+1)-2 ] = $data_name01 $data_trade[$loopacc+0][ ($s_check_trade01[$loopacc]*2+2)-2 ] = StringReplace($data_platinum01, ",", "") $data_trade[$loopacc+0][ ($s_check_trade01[$loopacc]*2+2)-2 ] = StringReplace($data_trade[$loopacc+0][ ($s_check_trade01[$loopacc]*2+2)-2 ], "K", "000") $data_trade[$loopacc+0][ ($s_check_trade01[$loopacc]*2+2)-2 ] = StringReplace($data_trade[$loopacc+0][ ($s_check_trade01[$loopacc]*2+2)-2 ], "M", "000000") ElseIf _IsChecked( ($button_auto07[2])[7-1] ) = True and $name_trade01 = 0 Then $data_trade[$loopacc-12][ ($s_check_trade01[$loopacc]*2+1)-2 ] = $data_name01 $data_trade[$loopacc-12][ ($s_check_trade01[$loopacc]*2+2)-2 ] = StringReplace($data_platinum01, ",", "") $data_trade[$loopacc-12][ ($s_check_trade01[$loopacc]*2+2)-2 ] = StringReplace($data_trade[$loopacc-12][ ($s_check_trade01[$loopacc]*2+2)-2 ], "K", "000") $data_trade[$loopacc-12][ ($s_check_trade01[$loopacc]*2+2)-2 ] = StringReplace($data_trade[$loopacc-12][ ($s_check_trade01[$loopacc]*2+2)-2 ], "M", "000000") EndIf ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $s_check_trade01[$loopacc] -= 1 $s_check_trade01char[$loopacc] = 1 $sleep01[$loopacc] = $time_stop01+3000 EndIf If $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 0 and $b_inventory01[0] = 0 and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 0 and $b_inventory01[0] = 1 and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 1 and $b_inventory01[0] = 0 and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Esc") ; Close all menu $sleep01[$loopacc] = $time_stop01+5000 ElseIf $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 0 and $b_inventory01[0] = 0 and $b_all_menu01[0] = 1 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",632,69) ; click setting $sleep01[$loopacc] = $time_stop01+3000 ElseIf $s_check_trade01char[$loopacc] = 1 and $b_game3d01[0] = 0 and $b_inventory01[0] = 0 and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] = "Settings" and $b_char_enter01[0] = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",563,408) ; click Leave game $sleep01[$loopacc] = $time_stop01+3000 EndIf If $s_check_trade01char[$loopacc] <> 99 and $b_game3d01[0] = 0 and $b_inventory01[0] = 0 and $b_all_menu01[0] = 0 and $p_render_gui_text01[0] <> "Settings" and $b_char_enter01[0] = 1 Then $click_char_num01 = $name_server01char[$loopacc] ;If _IsChecked( ($button_auto04[1])[7-1] ) = True Then $click_char_num01 = 1 ; If _IsChecked( ($button_auto04[2])[7-1] ) = True Then $click_char_num01 = 2 ; If _IsChecked( ($button_auto04[3])[7-1] ) = True Then $click_char_num01 = 3 ; If _IsChecked( ($button_auto04[4])[7-1] ) = True Then $click_char_num01 = 4 ; If _IsChecked( ($button_auto04[5])[7-1] ) = True Then $click_char_num01 = 5 If $click_char_num01 > 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",55,86+75*$click_char_num01-75) ; Click Char $aArray_Mouse[$loopacc] &= "55,"& 86+75*$click_char_num01-75 &",3000," ; Enter World EndIf $aArray_Mouse[$loopacc] &= "616,402,3000," ; Enter World $aArray_Mouse[$loopacc] &= "616,402,3001," ; Enter World $s_check_trade01name[$loopacc] = 0 $s_check_trade01char[$loopacc] = 0 $sleep01[$loopacc] = $time_stop01+3000 EndIf ;------------------------------------------------------------------------------------------------------ MAIN01 Case $action <> 99 and $s_check_main_quest01[$loopacc] = 1 ; check x $s_check_main_quest01[$loopacc] = 1 ; If $s_check_cap_nhat01[$loopacc] = 1 and $time_stop01 > $sleep02[$loopacc] and $b_game3d01[0] = 1 and $b_cap_nhat01[0] = 0 and $b_hoan_thanh01[0] = 0 and $b_dang_tien_hanh01[0] = 0 and $case_main01[1] = "" Then ; click [on, name, x1, y1, sleep, x2, y2 ] ; LDmouse01($loopacc,$path_fb_html_list01[$i][2],"left",1,204,192) ; click bat cap nhat ; $s_check_cap_nhat01[$loopacc] = 0 ; ElseIf $s_check_cap_nhat01[$loopacc] = 0 and $time_stop01 > $sleep03[$loopacc] and $b_game3d01[0] = 1 and $b_cap_nhat01[0] = 0 and $b_hoan_thanh01[0] = 0 and $b_dang_tien_hanh01[0] = 0 and $case_main01[1] = "" Then ; click [on, name, x1, y1, sleep, x2, y2 ] ; LDmouse01($loopacc,$path_fb_html_list01[$i][2],"left",1,70,187) ; click quest line01 ; $sleep03[$loopacc] = $time_stop01+60000 ; EndIf ; If $case_main01[1] <> "" Then ; click [on, name, x1, y1, sleep, x2, y2 ] ; check_fast_click01($case_main01,$loopacc,$path_fb_html_list01[$i][2],$time_stop01) ; $sleep03[$loopacc] = $time_stop01+60000 ; EndIf ;------------------------------------------------------------------------------------------------------ TRAIN02 bat auto train02 Case $action <> 99 and $s_check_train02[$loopacc] = 1 and $s_check_blacksmith01[$loopacc] = 2 and $s_sell01[$loopacc] <> 3 and $rift_item01 = 0 and $p_render_map_name03[2] = "Elder Ri" and $time_stop01 > $skill_sleep06[$loopacc] ; check x $s_check_main_quest01[$loopacc] = 2 If $b_game3d01[0] = 1 and $p_player_hp01[0] > 0 and $p_drop04[2] = "Return to Westmarch" and $time_stop01 > $skill_sleep10[$loopacc] Then For $lp = 1 to 4 $player_step01x = 350+Random(-150, 150, 30) $player_step01y = 247+Random(-150, 150, 30) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $player_step01x, $player_step01y ) ; ; SKILL 8 STEP_MOVE LEFT Next $skill_sleep10[$loopacc] = $time_stop01+$skill_sleep10wait $p_run01 = 99 $action = 99 $p_target_hp01[2] = 0 $local_case01 = _MemoryRead64($a_local02[$i]+0x0, $procHwnd_autoit02, 'byte[4]',"Dec") If $local_case01 = 0 and $p_render_rift_defeat01[2] = "Kill enemies quickly" Then _MemoryWrite64($a_local02[$i]+0x0, $procHwnd_autoit02, ptr(1),'byte[4]') ; reset value = 0 $s_map_large00on[$loopacc] = 0 EndIf EndIf If $p_run01 <> 99 and $b_game3d01[0] = 1 and $p_player_hp01[0] > 0 and $skill_player_hp01[$loopacc] = 1 Then ; auto move If $time_stop01 > $skill_sleep01[$loopacc] Then For $lp = 1 to 3 ControlSend02($loopacc,$path_fb_html_list01[$i][2],"1") ; SKILL 1 summon danh xa 120s Next $skill_sleep01[$loopacc] = $time_stop01+$skill_sleep01wait EndIf If $time_stop01 > $skill_sleep04[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"4") ; SKILL 4 danh tap the 30s $skill_sleep04[$loopacc] = $time_stop01+$skill_sleep04wait EndIf If $time_stop01 > $skill_sleep02[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"2") ; SKILL 2 summon can chien 180s $skill_sleep02[$loopacc] = $time_stop01+$skill_sleep02wait EndIf If $time_stop01 > $skill_sleep03[$loopacc] Then For $lp = 1 to 3 ControlSend02($loopacc,$path_fb_html_list01[$i][2],"3") ; SKILL 3 danh tap the 30s Next $skill_sleep03[$loopacc] = $time_stop01+$skill_sleep03wait EndIf $skill_player_hp01[$loopacc] = 0 EndIf If $find_map_large01on = 0 Then $random_move01 = 1 ; random move ElseIf $find_map_large01on = 1 Then $random_move01 = 0 ; random move EndIf If $random_move01 = 1 and $time_stop01 > $space_sleep02[$loopacc] and $p_run01 <> 99 and $b_game3d01[0] = 1 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and $p_drop01[3]<>"01000000" and $p_render_rift_defeat01[2] <> "Kill the Rift Guardian" Then ; auto move $distance_max01 = -1 $distance_row01 = -1 $max0 = UBound($a_map01[$loopacc], $UBOUND_ROWS)-1 $Distance_xy04 = -1 If $max0 > 0 Then $Distance_xy04 = Int( Distance($p_player_view01[0],$p_player_view01[1], ($a_map01[$loopacc])[$max0][1], ($a_map01[$loopacc])[$max0][2]) ) If $distance_max01 > 5 Then $Distance_xy04 = 0 EndIf If $s_reset_move01[$loopacc] > $reset_move01max Then $Distance_xy04 = 0 EndIf $xy_same01 = 0 If $max0 > 1 Then For $lp_map = 1 to $max0 If $p_player_view01[0]= ($a_map01[$loopacc])[$lp_map][1] and $p_player_view01[1]= ($a_map01[$loopacc])[$lp_map][2] Then $xy_same01 = 1 ExitLoop EndIf Next EndIf ;If $max0 = 0 and $xy_same01 = 0 Then _ArrayAdd($a_map01[$loopacc],"SPACE_AUTO"&"| "&$p_player_view01[0]&" | "&$p_player_view01[1]&" | "&"-1"&" | "&"-1"&" | "&"-1") If $xy_same01 = 0 Then If $max0 > 2 Then $p01x = $p_player_view01[0] - ($a_map01[$loopacc])[$max0-1][1] $p01y = $p_player_view01[1] - ($a_map01[$loopacc])[$max0-1][2] ElseIf $max0 > -1 and $max0 < 2+1 Then $p01x = $p_player_view01[0] - ($a_map01[$loopacc])[$max0][1] $p01y = $p_player_view01[1] - ($a_map01[$loopacc])[$max0][2] EndIf EndIf $recoder01 = 0 If $Distance_xy04 > $space_distance01-1 and $xy_same01 = 0 Then _ArrayAdd($a_map01[$loopacc],"SPACE_AUTO"&"| "&$p_player_view01[0]&" | "&$p_player_view01[1]&" | "&$p01x&" | "&$p01y&" | "&$Distance_xy04) $recoder01 = 1 EndIf If $max0 > 6 Then _ArrayDelete($a_map01[$loopacc], 2 ) ; xoa dem dong line txt [1] vi tri chay den EndIf If $max0 > 0 and $Distance_xy04<1 then $max1 = UBound($a_fog_map01[$loopacc], $UBOUND_ROWS)-1 For $lp = 1 to 2 $player_step01x = 350+Random(-20, 20, 1)*20 $player_step01y = 247+Random(-20, 20, 1)*20 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $player_step01x, $player_step01y ) ; ; SKILL 8 STEP_MOVE LEFT Next ;If $s_reset_move01[$loopacc] > $reset_move01max and $max1 > 0 Then If $max1 > 0 and $s_fog_map01[$loopacc] = 1 Then _ArraySort($a_fog_map01[$loopacc], 0, 1, 0, 5) ; row 1 col 5 ;_ArrayDisplay($a_fog_map01[$loopacc], "$avArray AFTER _ArraySort() ascending column 2") For $lp = 1 to $max1 $random01x = Random(-5, 5, 1)*20 $random01y = Random(-5, 5, 1)*20 $player_step01x = ($a_fog_map01[$loopacc])[$lp][3] + $random01x $player_step01y = ($a_fog_map01[$loopacc])[$lp][4] + $random01y ;msgBox($MB_SYSTEMMODAL, "$dis_portal01xy", "$mc01x = "& 350 & " $mc01y = "& 247 &@CRLF& _ ; "$player_step02x = "& $player_step02x & " $player_step02y = "& $player_step02y &@CRLF& _ ; "$player_step01x = "& ($a_fog_map01[$loopacc])[$lp][3] & " $player_step01y = "& ($a_fog_map01[$loopacc])[$lp][4], 0) ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $player_step01x, $player_step01y ) ; ; SKILL 8 STEP_MOVE LEFT Next $s_fog_map01[$loopacc] = 0 EndIf EndIf $action = 99 $skill_sleep12[$loopacc] = $time_stop01+1000 If $max0 = 0 Then ;If $Up_Right[1]<10 and $1Up_Left[1]<10 and $1Down_Right[1]<10 and $1Down_Left[1]<10 Then For $lp = 1 to 2 $player_step01x = 350+Random(-20, 20, 1)*20 $player_step01y = 247+Random(-20, 20, 1)*20 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $player_step01x, $player_step01y ) ; ; SKILL 8 STEP_MOVE LEFT Next _ArrayAdd($a_map01[$loopacc],"SPACE_AUTO"&"| "&$p_player_view01[0]&" | "&$p_player_view01[1]&" | "&"-1"&" | "&"-1"&" | "&"-1") ;EndIf EndIf $s_reset_move01[$loopacc] += 1 ;GUICtrlSetState( ($button_auto03[3])[7-1], $GUI_UNCHECKED) $space_sleep02[$loopacc] = $time_stop01+$space_sleep02wait EndIf ; end random move If $action <> 99 and $step_elder_rift01=0 and $p_run01 <> 99 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and UBound($a_base01[$loopacc], $UBOUND_COLUMNS)-1>1 and $time_stop01 > $skill_sleep12[$loopacc] Then $max03 = UBound($a_base01[$loopacc], $UBOUND_ROWS)-1 $find_enemy_at01 = 1 If $p_player_view01[3] = 0 and $find_enemy_at01 = 1 and $p_render_rift_defeat01[2] <> "Kill the Rift Guardian" Then ; $find_enemy_at01 For $lp = $max03 to 1 Step -1 $mxyf01 = _mouse45( ($a_base01[$loopacc])[$lp][1], ($a_base01[$loopacc])[$lp][2],$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) $player_step01x = $mxyf01[0] $player_step01y = $mxyf01[1] ; $m_player_step01 = rect_xy01($player_step01x, $player_step01y, 520,-30, 720, 90) ; mini map ; $m_player_step01 = rect_xy01($m_player_step01[0], $m_player_step01[1], 67, 0, 104, 43) ; party $click_no_time01 = 1 If $player_step01x > 520 and $player_step01x < 720 and $player_step01y > -30 and $player_step01y < 90 Then $click_no_time01 = 0 If $player_step01x > 67 and $player_step01x < 104 and $player_step01y > 0 and $player_step01y < 43 Then $click_no_time01 = 0 $p_e1 = ($a_base01[$loopacc])[$lp][1] $p_e2 = ($a_base01[$loopacc])[$lp][2] ;If ($a_base01[$loopacc])[$lp][5] > 6 and $p_s1[0]<>$p_e1 and $p_s1[1]<>$p_e2 and $p_s2[0]<>$p_e1 and $p_s2[1]<>$p_e2 and $p_s3[0]<>$p_e1 and $p_s3[1]<>$p_e2 and $p_s4[0]<>$p_e1 and $p_s4[1]<>$p_e2 and $p_s5[0]<>$p_e1 and $p_s5[1]<>$p_e2 Then If ($a_base01[$loopacc])[$lp][5] > 6 Then ;ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1", $m_player_step01[0], $m_player_step01[1] ) ; ; SKILL 8 STEP_MOVE $randomx = Random(-5, 5, 1) $randomy = Random(-5, 5, 1) ;ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1", $m_player_step01[0]+$randomx, $m_player_step01[1]+$randomy ) ; ; SKILL 8 STEP_MOVE 7/24 ;ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $m_player_step01[0]+$randomx, $m_player_step01[1]+$randomy ) ; ; SKILL 8 STEP_MOVE 7/24 If $click_no_time01 = 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",$player_step01x+5,$player_step01y-5) ; USE DROP If $click_no_time01 = 0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",$player_step01x+5,$player_step01y-5) ; USE DROP EndIf ;If ($a_base01[$loopacc])[$lp][5] < 6+1 and $p_s1[0]<>$p_e1 and $p_s1[1]<>$p_e2 and $p_s2[0]<>$p_e1 and $p_s2[1]<>$p_e2 and $p_s3[0]<>$p_e1 and $p_s3[1]<>$p_e2 and $p_s4[0]<>$p_e1 and $p_s4[1]<>$p_e2 and $p_s5[0]<>$p_e1 and $p_s5[1]<>$p_e2 and $lp = $max03 Then ;If ($a_base01[$loopacc])[$lp][5] < 6+1 and $lp = $max03 Then ;$randomx = Random(-5, 5, 1) ;$randomy = Random(-5, 5, 1) ;ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $m_player_step01[0]+$randomx, $m_player_step01[1]+$randomy ) ; ; SKILL 8 STEP_MOVE ;EndIf Next _MemoryWrite64($v_cmp_render_enemy_id_at02[1]+0x8*0, $procHwnd01, ptr(0),'byte[80]') ; reset _MemoryWrite64($v_cmp_render_enemy_id_at02[1]+0x8*17, $procHwnd01, ptr(0),'byte[16]') ; reset $skill_sleep06[$loopacc] = $time_stop01+$skill_sleep06wait ;_ArrayDisplay($a_base01[$loopacc], "$a_base01[$loopacc]") ;MsgBox($MB_SYSTEMMODAL, 'Max Index Numeric value is 0:8', $distance_row01 & " : " & $distance_max01&" ($a_base01[$loopacc])[$distance_row01][1] = "&($a_base01[$loopacc])[$distance_row01][1] ) ElseIf $find_enemy_at01 = 1 and $p_render_rift_defeat01[2] = "Kill the Rift Guardian" Then $a_max01 = UBound($a_base01[$loopacc], $UBOUND_ROWS)-1 $p_e1 = ($a_base01[$loopacc])[$a_max01][1] $p_e2 = ($a_base01[$loopacc])[$a_max01][2] If $p_s1[0]<>$p_e1 and $p_s1[1]<>$p_e2 and $p_s2[0]<>$p_e1 and $p_s2[1]<>$p_e2 and $p_s3[0]<>$p_e1 and $p_s3[1]<>$p_e2 and $p_s4[0]<>$p_e1 and $p_s4[1]<>$p_e2 and $p_s5[0]<>$p_e1 and $p_s5[1]<>$p_e2 Then $mxyf01 = _mouse45( ($a_base01[$loopacc])[$a_max01][1], ($a_base01[$loopacc])[$a_max01][2],$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) $player_step01x = $mxyf01[0] $player_step01y = $mxyf01[1] $Dis_attack01 = Int( (Distance(350, 247, $player_step01x, $player_step01y)/$title_x01) ) For $lp = 1 to 2 ;ControlMove02($loopacc,$path_fb_html_list01[$i][2],"left","1", $player_step01x, $player_step01y ) ; ; SKILL 8 STEP_MOVE ControlMove02($loopacc,$path_fb_html_list01[$i][2],"right","1", $player_step01x, $player_step01y ) ; ; SKILL 8 STEP_MOVE Next ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Space") ; SKILL 1 summon danh xa 120s 1/5/2023 ;If $Dis_attack01 < 10+1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$player_step01x, $player_step01y) ; ; SKILL 0 danh thuong 1s If $Dis_attack01 < 10+1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",$player_step01x, $player_step01y) ; ; SKILL 0 danh thuong 1s If $Dis_attack01 > 10 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",$player_step01x, $player_step01y) ; ; SKILL 0 danh thuong 1s ;_ArrayDisplay($a_base01[$loopacc], "$lp_xy="&$lp_xy) ;_ArrayDelete($a_base01[$loopacc], $lp_xy ) ; xoa dem dong line txt [2] vi tri chay den Local $aArray_Base[1][6] = [["ID MONSTER", "ENEMY X", "ENEMY Y", "PLAYER X", "PLAYER Y", "DISTANCE"]] $a_base01[$loopacc] = $aArray_Base ; _ArrayAdd($a_base01[$loopacc] > ($a_base01[$loopacc])[1][2] _MemoryWrite64($v_cmp_render_enemy_id_at02[1]+0x8*0, $procHwnd01, ptr(0),'byte[80]') ; reset _MemoryWrite64($v_cmp_render_enemy_id_at02[1]+0x8*17, $procHwnd01, ptr(0),'byte[16]') ; reset EndIf EndIf $skill_sleep12[$loopacc] = $time_stop01+$skill_sleep12wait EndIf ; end $find_enemy_at01 $Dis_attack01 = Int( (Distance(350, 247, $p_target_hp01[0], $p_target_hp01[1])/$title_x01) ) $Dis_attack02 = Int( (Distance(350, 247, $p_drop01[0], $p_drop01[1])/$title_x01) ) If $step_elder_rift01=0 and $p_run01 <> 99 and $p_target_hp01[2] <> 0 and $p_player_hp01[0] > 0 and $p_drop01[2] <> "E" and $p_drop02[2]<>"Altar" Then ; fix rise of clearsing $s_reset_move01[$loopacc] = 0 If $time_stop01 > $skill_sleep01[$loopacc] Then For $lp = 1 to 3 ControlSend02($loopacc,$path_fb_html_list01[$i][2],"1") ; SKILL 1 summon danh xa 120s Next ;$skill_sleep01[$loopacc] = $time_stop01+$skill_sleep01wait EndIf If $time_stop01 > $skill_sleep04[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"4") ; SKILL 4 danh tap the 30s $skill_sleep04[$loopacc] = $time_stop01+$skill_sleep04wait EndIf If $time_stop01 > $skill_sleep02[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"2") ; SKILL 2 summon can chien 180s $skill_sleep02[$loopacc] = $time_stop01+$skill_sleep02wait EndIf ;$m_target_hp01 = rect_xy01($p_target_hp01[0], $p_target_hp01[1], 520,-30, 720, 90) ; mini map ; $m_target_hp01 = rect_xy01($p_target_hp01[0],$p_target_hp01[1], 67, 0, 104, 43) ; party ; $m_target_hp01 = rect_xy01($p_target_hp01[0],$p_target_hp01[1], 126, 70, 144, 178) ; time elder rift If $p_target_hp01[2] = 1 and $time_stop01 > $skill_sleep00[$loopacc] and $time_stop01 < $skill_sleep01[$loopacc] Then ;If $Dis_attack01 < 10+1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_target_hp01[0]+5, $p_target_hp01[1]-5) ; ; SKILL 0 danh thuong 1s If $Dis_attack01 < 10+1 Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Space") ; SKILL 1 summon danh xa 120s 1/5/2023 If $Dis_attack01 > 10 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",$p_target_hp01[0]+5, $p_target_hp01[1]-5) ; ; SKILL 0 danh thuong 1s $skill_sleep00[$loopacc] = $time_stop01+$skill_sleep00wait ;ElseIf $p_target_hp01[2] = 2 and $p_drop01[2] <> "E" and $time_stop01 > $skill_sleep10[$loopacc] Then ElseIf $p_target_hp01[2] = 2 and $time_stop01 > $skill_sleep10[$loopacc] and $p_render_map_name03[2] <> "Precipice" Then ;ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$m_target_hp01[0],$m_target_hp01[1]) ; ; SKILL 0 danh thuong 1s If $Dis_attack01 < 10+1 and $s_check_train02[$loopacc] = 1 and $p_drop01[2] <> "E" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_target_hp01[0]+5, $p_target_hp01[1]-5) ; ; SKILL 0 danh thuong 1s ElseIf $Dis_attack01 < 10+1 and $s_check_train01[$loopacc] = 1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_target_hp01[0]+5, $p_target_hp01[1]-5) ; ; SKILL 0 danh thuong 1s ElseIf $Dis_attack01 > 10 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",$p_target_hp01[0]+5, $p_target_hp01[1]-5) ; ; SKILL 0 danh thuong 1s EndIf $skill_sleep10[$loopacc] = $time_stop01+$skill_sleep10wait ElseIf $p_target_hp01[2] = 3 and $time_stop01 > $skill_sleep10[$loopacc] Then ControlMove02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_target_hp01[0],$p_target_hp01[1]) ; ; SKILL 0 danh thuong 1s $p_target_hp01 = read_target_hp01($loopacc,$procHwnd01,$v_cmp_target_hp01[1]+0x0) ;_MemoryWrite64($v_cmp_target_hp01[1], $procHwnd01, ptr(0),'byte[32]') ; reset If $p_target_hp01[3]=0 Then If $Dis_attack01 < 10+1 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_target_hp01[0], $p_target_hp01[1]) ; ; SKILL 0 danh thuong 1s If $Dis_attack01 > 10 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",$p_target_hp01[0], $p_target_hp01[1]) ; ; SKILL 0 danh thuong 1s ;ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$m_target_hp01[0],$m_target_hp01[1]) ; ; SKILL 0 danh thuong 1s EndIf $skill_sleep10[$loopacc] = $time_stop01+$skill_sleep10wait EndIf If $time_stop01 > $skill_sleep01[$loopacc] Then For $lp = 1 to 3 ControlSend02($loopacc,$path_fb_html_list01[$i][2],"1") ; SKILL 1 summon danh xa 120s Next $skill_sleep01[$loopacc] = $time_stop01+$skill_sleep01wait EndIf If $time_stop01 > $skill_sleep03[$loopacc] Then For $lp = 1 to 3 ControlSend02($loopacc,$path_fb_html_list01[$i][2],"3") ; SKILL 3 danh tap the 30s Next $skill_sleep03[$loopacc] = $time_stop01+$skill_sleep03wait EndIf EndIf If $step_elder_rift01=0 and $p_run01 <> 99 and $time_stop01 > $skill_sleep06[$loopacc] and $b_game3d01[0] = 1 and $p_drop01[3]="01000000" and $p_drop01[2] <> "E" and $p_drop02[2]<>"Altar" Then ; fix rise of clearsing Then ;$m_drop01 = rect_xy01($p_drop01[0],$p_drop01[1]-5, 520,-30, 720, 90) ; mini map ;$m_drop01 = rect_xy01($m_drop01[0],$m_drop01[1], 67, 0, 104, 43) ; party ;$m_drop01 = rect_xy01($m_drop01[0],$m_drop01[1], 126, 70, 144, 178) ; time elder rift If $Dis_attack02 < 10+1 and $p_drop04[2] <> "Return to Westmarch" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_drop01[0]+5,$p_drop01[1]-5) ; ; SKILL 0 danh thuong 1s If $Dis_attack02 > 10 and $p_drop04[2] <> "Return to Westmarch" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1",$p_drop01[0]+5,$p_drop01[1]-5) ; ; SKILL 0 danh thuong 1s ;ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$m_drop01[0],$m_drop01[1]-5) ; USE DROP $skill_sleep06[$loopacc] = $time_stop01+$skill_sleep06wait EndIf Func rect_xy01($mx, $my, $x0, $y0, $x1, $y1) Local $return[9] If $mx > $x0 and $mx < $x1 and $my > $y0 and $my < $y1 Then If $mx > $x0 and $mx < $x1 and $mx > 355 Then $mx = $x0 If $mx > $x0 and $mx < $x1 and $mx < 355 Then $mx = $x1 If $my > $y0 and $my < $y1 Then $my = $y1 EndIf $return[0] = $mx $return[1] = $my Return $return EndFunc ;------------------------------------------------------------------------------------------------------ TRAIN01 bat auto train01 Case $action <> 99 and $s_check_train01[$loopacc] = 1 ; check x $s_check_main_quest01[$loopacc] = 1 $Distance_xy01west = Int( Distance($p_player_view01[0],$p_player_view01[1],48,54) ) If $p_render_map_name03[2]="Westmarc" and $b_game3d01[0] = 1 and $p_player_hp01[0] > 0 and $Distance_xy01west > -1 and $Distance_xy01west < 20 Then $p_drop01[3] = 0 $p_target_hp01[2] = 0 EndIf ;If $p_player_view01[3] = 0 and $p_run01 <> 99 and $b_game3d01[0] = 1 and $p_player_hp01[0] > 0 and $skill_player_hp01[$loopacc] = 1 Then ; auto move If $p_player_view01[3] = 0 and $p_run01 <> 99 and $b_game3d01[0] = 1 and $p_player_hp01[0] > 0 and $skill_player_hp01[$loopacc] = 1 and $p_render_map_name03[2] <> "Precipice" Then ; auto move If $time_stop01 > $skill_sleep01[$loopacc] Then For $lp = 1 to 3 ControlSend02($loopacc,$path_fb_html_list01[$i][2],"1") ; SKILL 1 summon danh xa 120s Next $skill_sleep01[$loopacc] = $time_stop01+$skill_sleep01wait EndIf If $time_stop01 > $skill_sleep04[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"4") ; SKILL 4 danh tap the 30s $skill_sleep04[$loopacc] = $time_stop01+$skill_sleep04wait EndIf If $time_stop01 > $skill_sleep02[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"2") ; SKILL 2 summon can chien 180s $skill_sleep02[$loopacc] = $time_stop01+$skill_sleep02wait EndIf If $time_stop01 > $skill_sleep03[$loopacc] Then For $lp = 1 to 3 ControlSend02($loopacc,$path_fb_html_list01[$i][2],"3") ; SKILL 3 danh tap the 30s Next $skill_sleep03[$loopacc] = $time_stop01+$skill_sleep03wait EndIf $skill_player_hp01[$loopacc] = 0 EndIf If $p_player_view01[3] = 0 and $p_run01 <> 99 and $p_target_hp01[2] = 1 and $b_game3d01[0] = 1 and $p_player_hp01[0] > 0 and $skill_player_hp01[$loopacc] = 1 and $p_render_map_name03[2] = "Precipice" and $p_drop01[2] <> "E" Then ; auto move fix Precipice If $time_stop01 > $skill_sleep01[$loopacc] Then For $lp = 1 to 3 ControlSend02($loopacc,$path_fb_html_list01[$i][2],"1") ; SKILL 1 summon danh xa 120s Next $skill_sleep01[$loopacc] = $time_stop01+$skill_sleep01wait EndIf If $time_stop01 > $skill_sleep04[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"4") ; SKILL 4 danh tap the 30s $skill_sleep04[$loopacc] = $time_stop01+$skill_sleep04wait EndIf If $time_stop01 > $skill_sleep02[$loopacc] Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"2") ; SKILL 2 summon can chien 180s $skill_sleep02[$loopacc] = $time_stop01+$skill_sleep02wait EndIf If $time_stop01 > $skill_sleep03[$loopacc] Then For $lp = 1 to 3 ControlSend02($loopacc,$path_fb_html_list01[$i][2],"3") ; SKILL 3 danh tap the 30s Next $skill_sleep03[$loopacc] = $time_stop01+$skill_sleep03wait EndIf $skill_player_hp01[$loopacc] = 0 EndIf If $p_player_view01[3] = 0 and $p_step_move01[2]=0 and $p_run01 = 0 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and UBound($a_base01[$loopacc], $UBOUND_COLUMNS)-1>1 and $time_stop01 > $skill_sleep12[$loopacc] Then ;If $p_run01 = 0 and $p_target_hp01[2] = 0 and $p_player_hp01[0] > 0 and UBound($a_base01[$loopacc], $UBOUND_COLUMNS)-1>1 and $time_stop01 > $skill_sleep12[$loopacc] Then ; bo step_move01 For $lp_xy = 1 to 1 $p_e1 = ($a_base01[$loopacc])[$lp_xy][1] $p_e2 = ($a_base01[$loopacc])[$lp_xy][2] ;If $p_render_enemy_id_at02[2]<>0 and ($a_base01[$loopacc])[$lp_xy][5] < 9 and $p_target_hp02[0]<>($a_base01[$loopacc])[$lp_xy][1] and $p_target_hp02[1]<>($a_base01[$loopacc])[$lp_xy][2] Then If $p_render_enemy_id_at02[2]<>0 and ($a_base01[$loopacc])[$lp_xy][5] < 7 and $p_s1[0]<>$p_e1 and $p_s1[1]<>$p_e2 and $p_s2[0]<>$p_e1 and $p_s2[1]<>$p_e2 and $p_s3[0]<>$p_e1 and $p_s3[1]<>$p_e2 and $p_s4[0]<>$p_e1 and $p_s4[1]<>$p_e2 and $p_s5[0]<>$p_e1 and $p_s5[1]<>$p_e2 Then $mxyf01 = _mouse45( ($a_base01[$loopacc])[$lp_xy][1], ($a_base01[$loopacc])[$lp_xy][2],$p_player_view01[0],$p_player_view01[1],$title_x01,$title_y01,350,247) $player_step01x = $mxyf01[0] $player_step01y = $mxyf01[1] For $lp = 1 to 2 ControlMove02($loopacc,$path_fb_html_list01[$i][2],"left","1", $player_step01x, $player_step01y ) ; ; SKILL 8 STEP_MOVE Next ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Space") ; SKILL 1 summon danh xa 120s 1/5/2023 _MemoryWrite64($v_cmp_render_enemy_id_at02[1]+0x8*17, $procHwnd01, ptr(0),'byte[16]') ; reset ;$p_render_target02 = write_render_target02($loopacc,$procHwnd01,$v_cmp_render_target02[1]+0x0,($a_base01[$loopacc])[$lp_xy][0],0) ;ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$player_step01x,$player_step01y) ; ; SKILL 0 danh thuong 1s ;ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Space") ; SKILL 1 summon danh xa 120s ExitLoop EndIf Next $skill_sleep12[$loopacc] = $time_stop01+$skill_sleep12wait EndIf If $p_player_view01[3] = 0 and $p_step_move01[2]=0 and $p_run01 <> 99 and $p_target_hp01[2] <> 0 and $p_player_hp01[0] > 0 and $p_render_map_name03[2] <> "Precipice" Then ; bo step_move Select Case $p_target_hp01[2] = 1 and $time_stop01 > $skill_sleep01[$loopacc] For $lp = 1 to 3 ControlSend02($loopacc,$path_fb_html_list01[$i][2],"1") ; SKILL 1 summon danh xa 120s Next ;$skill_sleep01[$loopacc] = $time_stop01+$skill_sleep01wait Case $p_target_hp01[2] = 1 and $time_stop01 > $skill_sleep04[$loopacc] ControlSend02($loopacc,$path_fb_html_list01[$i][2],"4") ; SKILL 4 danh tap the 30s $skill_sleep04[$loopacc] = $time_stop01+$skill_sleep04wait Case $p_target_hp01[2] = 1 and $time_stop01 > $skill_sleep02[$loopacc] ControlSend02($loopacc,$path_fb_html_list01[$i][2],"2") ; SKILL 2 summon can chien 180s $skill_sleep02[$loopacc] = $time_stop01+$skill_sleep02wait Case $p_target_hp01[2] = 1 and $time_stop01 > $skill_sleep03[$loopacc] For $lp = 1 to 3 ControlSend02($loopacc,$path_fb_html_list01[$i][2],"3") ; SKILL 3 danh tap the 30s Next $skill_sleep03[$loopacc] = $time_stop01+$skill_sleep03wait EndSelect If $p_target_hp01[2] = 1 and $time_stop01 > $skill_sleep00[$loopacc] and $time_stop01 < $skill_sleep01[$loopacc] Then ControlMove02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_target_hp01[0]+5,$p_target_hp01[1]-5) ; ; SKILL 0 danh thuong 1s ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Space") ; SKILL 1 summon danh xa 120s $skill_sleep00[$loopacc] = $time_stop01+$skill_sleep00wait ElseIf $p_target_hp01[2] = 2 and $s_check_train02[$loopacc] = 1 and $p_render_map_name03[2] <> "Precipice" and $p_drop01[2] <> "E" and $time_stop01 > $skill_sleep10[$loopacc] Then If $p_target_hp01[0] > 590 and $p_target_hp01[1] < 62 Then If $p_target_hp01[0] > 590 Then $p_target_hp01[0] = 587 If $p_target_hp01[1] < 62 Then $p_target_hp01[1] = 65 EndIf ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_target_hp01[0]+5,$p_target_hp01[1]-5) ; ; SKILL 0 danh thuong 1s $skill_sleep10[$loopacc] = $time_stop01+$skill_sleep10wait ElseIf $p_target_hp01[2] = 2 and $s_check_train01[$loopacc] = 1 and $p_render_map_name03[2] <> "Precipice" and $p_drop01[2] <> "E" and $time_stop01 > $skill_sleep10[$loopacc] Then If $p_target_hp01[0] > 590 and $p_target_hp01[1] < 62 Then If $p_target_hp01[0] > 590 Then $p_target_hp01[0] = 587 If $p_target_hp01[1] < 62 Then $p_target_hp01[1] = 65 EndIf ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_target_hp01[0]+5,$p_target_hp01[1]-5) ; ; SKILL 0 danh thuong 1s $skill_sleep10[$loopacc] = $time_stop01+$skill_sleep10wait ElseIf $p_target_hp01[2] = 3 and $time_stop01 > $skill_sleep10[$loopacc] Then ControlMove02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_target_hp01[0],$p_target_hp01[1]) ; ; SKILL 0 danh thuong 1s $p_target_hp01 = read_target_hp01($loopacc,$procHwnd01,$v_cmp_target_hp01[1]+0x0) ;_MemoryWrite64($v_cmp_target_hp01[1], $procHwnd01, ptr(0),'byte[32]') ; reset If $p_target_hp01[3]=0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_target_hp01[0],$p_target_hp01[1]) ; ; SKILL 0 danh thuong 1s EndIf $skill_sleep10[$loopacc] = $time_stop01+$skill_sleep10wait EndIf If _IsChecked( ($button_auto01[1])[7-1] ) = True and $p_target_hp01[2] = 2 and $s_check_train01[$loopacc] = 1 and $p_drop01[2] = "E" and $time_stop01 > $skill_sleep10[$loopacc] Then ; fix ? ControlSend02($loopacc,$path_fb_html_list01[$i][2],"e") ; SKILL 1 summon danh xa 120s $skill_sleep10[$loopacc] = $time_stop01+$skill_sleep10wait EndIf If $p_target_hp01[2] = 1 and $time_stop01 > $skill_sleep01[$loopacc] Then For $lp = 1 to 3 ControlSend02($loopacc,$path_fb_html_list01[$i][2],"1") ; SKILL 1 summon danh xa 120s Next $skill_sleep01[$loopacc] = $time_stop01+$skill_sleep01wait EndIf EndIf If $p_player_view01[3] = 0 and $p_step_move01[2]=0 and $p_run01 <> 99 and $p_target_hp01[2] = 1 and $p_player_hp01[0] > 0 and $p_render_map_name03[2] = "Precipice" Then ; bo step_move fix Precipice Select Case $p_target_hp01[2] = 1 and $time_stop01 > $skill_sleep01[$loopacc] For $lp = 1 to 3 ControlSend02($loopacc,$path_fb_html_list01[$i][2],"1") ; SKILL 1 summon danh xa 120s Next ;$skill_sleep01[$loopacc] = $time_stop01+$skill_sleep01wait Case $p_target_hp01[2] = 1 and $time_stop01 > $skill_sleep04[$loopacc] ControlSend02($loopacc,$path_fb_html_list01[$i][2],"4") ; SKILL 4 danh tap the 30s $skill_sleep04[$loopacc] = $time_stop01+$skill_sleep04wait Case $p_target_hp01[2] = 1 and $time_stop01 > $skill_sleep02[$loopacc] ControlSend02($loopacc,$path_fb_html_list01[$i][2],"2") ; SKILL 2 summon can chien 180s $skill_sleep02[$loopacc] = $time_stop01+$skill_sleep02wait Case $p_target_hp01[2] = 1 and $time_stop01 > $skill_sleep03[$loopacc] For $lp = 1 to 3 ControlSend02($loopacc,$path_fb_html_list01[$i][2],"3") ; SKILL 3 danh tap the 30s Next $skill_sleep03[$loopacc] = $time_stop01+$skill_sleep03wait EndSelect If $p_target_hp01[2] = 1 and $time_stop01 > $skill_sleep00[$loopacc] and $time_stop01 < $skill_sleep01[$loopacc] Then ControlMove02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_target_hp01[0]+5,$p_target_hp01[1]-5) ; ; SKILL 0 danh thuong 1s ControlSend02($loopacc,$path_fb_html_list01[$i][2],"Space") ; SKILL 1 summon danh xa 120s $skill_sleep00[$loopacc] = $time_stop01+$skill_sleep00wait ElseIf $p_target_hp01[2] = 2 and $s_check_train02[$loopacc] = 1 and $p_render_map_name03[2] <> "Precipice" and $p_drop01[2] <> "E" and $time_stop01 > $skill_sleep10[$loopacc] Then If $p_target_hp01[0] > 590 and $p_target_hp01[1] < 62 Then If $p_target_hp01[0] > 590 Then $p_target_hp01[0] = 587 If $p_target_hp01[1] < 62 Then $p_target_hp01[1] = 65 EndIf ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_target_hp01[0]+5,$p_target_hp01[1]-5) ; ; SKILL 0 danh thuong 1s $skill_sleep10[$loopacc] = $time_stop01+$skill_sleep10wait ElseIf $p_target_hp01[2] = 2 and $s_check_train01[$loopacc] = 1 and $p_render_map_name03[2] <> "Precipice" and $p_drop01[2] <> "E" and $time_stop01 > $skill_sleep10[$loopacc] Then If $p_target_hp01[0] > 590 and $p_target_hp01[1] < 62 Then If $p_target_hp01[0] > 590 Then $p_target_hp01[0] = 587 If $p_target_hp01[1] < 62 Then $p_target_hp01[1] = 65 EndIf ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_target_hp01[0]+5,$p_target_hp01[1]-5) ; ; SKILL 0 danh thuong 1s $skill_sleep10[$loopacc] = $time_stop01+$skill_sleep10wait ElseIf $p_target_hp01[2] = 3 and $time_stop01 > $skill_sleep10[$loopacc] Then ControlMove02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_target_hp01[0],$p_target_hp01[1]) ; ; SKILL 0 danh thuong 1s $p_target_hp01 = read_target_hp01($loopacc,$procHwnd01,$v_cmp_target_hp01[1]+0x0) ;_MemoryWrite64($v_cmp_target_hp01[1], $procHwnd01, ptr(0),'byte[32]') ; reset If $p_target_hp01[3]=0 Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_target_hp01[0],$p_target_hp01[1]) ; ; SKILL 0 danh thuong 1s EndIf $skill_sleep10[$loopacc] = $time_stop01+$skill_sleep10wait EndIf If $p_target_hp01[2] = 1 and $time_stop01 > $skill_sleep01[$loopacc] Then For $lp = 1 to 3 ControlSend02($loopacc,$path_fb_html_list01[$i][2],"1") ; SKILL 1 summon danh xa 120s Next $skill_sleep01[$loopacc] = $time_stop01+$skill_sleep01wait EndIf EndIf If $p_player_view01[3] = 0 and _IsChecked( ($button_auto01[5])[7-1] ) = False and $p_step_move01[2]=0 and $p_run01 = 0 and $time_stop01 > $skill_sleep06[$loopacc] and $b_game3d01[0] = 1 and $p_drop01[3]="01000000" Then ; bo step_move ;If $p_run01 = 0 and $time_stop01 > $skill_sleep06[$loopacc] and $b_game3d01[0] = 1 and $p_drop01[3]="01000000" Then If $p_drop01[0] > 520 and $p_drop01[1] < 90 Then If $p_drop01[0] > 520 Then $p_drop01[0] = 520 If $p_drop01[1] < 90 Then $p_drop01[1] = 90 EndIf If $p_drop04[2] <> "Return to Westmarch" and $s_check_train02[$loopacc] = 1 and $p_drop01[2] <> "E" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_drop01[0]+5,$p_drop01[1]-5) ; USE DROP ;ElseIf $p_drop04[2] <> "Return to Westmarch" and $s_check_train01[$loopacc] = 1 Then ElseIf $p_drop04[2] <> "Return to Westmarch" and $s_check_train01[$loopacc] = 1 and $p_render_map_name03[2] <> "Precipice" Then ControlClick02($loopacc,$path_fb_html_list01[$i][2],"left","1",$p_drop01[0]+5,$p_drop01[1]-5) ; USE DROP ;If $p_drop01[2] = "E" Then ControlSend02($loopacc,$path_fb_html_list01[$i][2],"E") ; nhat do E EndIf $skill_sleep06[$loopacc] = $time_stop01+$skill_sleep06wait EndIf Case $p_render_map_name03[2] = "Precipice" and $p_drop01[2] = "E" and $p_drop02[2]="Altar" EndSelect ; end all check x case EndIf ; end $time_stop01 > $sleep01[$loopacc] EndIf ; end $tile_diablo01 EndIf ; end check point = x Next ; end kiem tra list x ; END $button_auto01 Next ; end vong lap auto GUICtrlSetData_down01($idCheckbox35_tiled01_01,$loop_auto01&" "&$time_stop01&" "&($button_auto01[0])[0]&" DONE " ) ; end $button_auto01 > AUTO ALL ------------------------------------------------------------------------------- ; check_fast_click01($quest_name01,$loopacc,$path_fb_html_list01[$i][2],$time_stop01) Func check_fast_click01($gui_name0,$loopacc0,$path_fb_html_list0,$time_stop0) ; check_fast_click01($gui_name01,$loopacc,$path_fb_html_list01[$i][2],$time_stop01) If $gui_name0[1] <> "" Then ; click [on, name, x1, y1, sleep, x2, y2 ] For $lp = 1 to (UBound($gui_name0)-2)/3 ; /3 vi x1+y1+sleep1 = 3 If $gui_name0[2+3*($lp-1)] <> "back" and $gui_name0[3+3*($lp-1)] <> "back" Then LDmouse01($loopacc0,$path_fb_html_list0,"left",1,$gui_name0[2+3*($lp-1)],$gui_name0[3+3*($lp-1)]) ; x1 y1 ElseIf $gui_name0[2+3*($lp-1)] = "back" and $gui_name0[3+3*($lp-1)] = "back" Then ;LDkey01($loopacc,$path_fb_html_list01[$i][2],"back") ; tat back exit LDkey02($loopacc,$path_fb_html_list01[$i][2],"{esc}") ; tat back exit EndIf If $lp <> Int( (UBound($gui_name0)-2)/3 ) Then Sleep($gui_name0[4+3*($lp-1)]) ; s1 If $lp = Int( (UBound($gui_name0)-2)/3 ) Then $sleep01[$loopacc0] = $time_stop01+$gui_name0[4+3*($lp-1)] ; final loop Next EndIf ; end click [on, name, x1, y1, sleep, x2, y2 ] EndFunc ; check_fast_click02($case_main01,$loopacc,$control01,$time_stop01) Func check_fast_click02($gui_name0,$loopacc0,$path_fb_html_list0,$time_stop0) ; check_fast_click01($gui_name01,$loopacc,$path_fb_html_list01[$i][2],$time_stop01) If $gui_name0[1] <> "" Then ; click [on, name, x1, y1, sleep, x2, y2 ] For $lp = 1 to (UBound($gui_name0)-2)/3 ; /3 vi x1+y1+sleep1 = 3 If $gui_name0[2+3*($lp-1)] <> "back" and $gui_name0[3+3*($lp-1)] <> "back" Then Xmouse03($loopacc0,$path_fb_html_list0,"left",1,$gui_name0[2+3*($lp-1)],$gui_name0[3+3*($lp-1)]) ; click item 1x1y ElseIf $gui_name0[2+3*($lp-1)] = "back" and $gui_name0[3+3*($lp-1)] = "back" Then Xkey03($loopacc0,$path_fb_html_list0,"Esc") ; tat back exit EndIf If $lp <> Int( (UBound($gui_name0)-2)/3 ) Then Sleep($gui_name0[4+3*($lp-1)]) ; s1 If $lp = Int( (UBound($gui_name0)-2)/3 ) Then $sleep01[$loopacc0] = $time_stop01+$gui_name0[4+3*($lp-1)] ; final loop Next EndIf ; end click [on, name, x1, y1, sleep, x2, y2 ] EndFunc ;$quest_name01 = dim01('1, 2nd_Transfer01, 688, 410, 100, 682, 529, 500, 682, 529, 500, 555, 533, 500, 610, 533, 500, 688, 410, 500') Func dim01($return00) ; [on, name, x1, y1, sleep1 ] $return00 = StringReplace($return00, " ", "") $return00 = StringSplit($return00,',',3) If UBound($return00) > 2 Then If $return00[1] = '""' Then $return00[1] = '' EndIf ;_ArrayDisplay($return00, "1D - Item delimited") Return $return00 EndFunc ElseIf $xx > ($button_auto01[1])[1] And $yy > ($button_auto01[1])[2] And $xx < ($button_auto01[1])[1]+($button_auto01[1])[3] And $yy < ($button_auto01[1])[2]+($button_auto01[1])[4] Then ; click button "Select" GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto01[1])[0]&" DONE " ) ElseIf $xx > ($button_auto01[2])[1] And $yy > ($button_auto01[2])[2] And $xx < ($button_auto01[2])[1]+($button_auto01[2])[3] And $yy < ($button_auto01[2])[2]+($button_auto01[2])[4] Then ; click button "Select" GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto01[2])[0]&" DONE " ) ElseIf $xx > ($button_auto01[3])[1] And $yy > ($button_auto01[3])[2] And $xx < ($button_auto01[3])[1]+($button_auto01[3])[3] And $yy < ($button_auto01[3])[2]+($button_auto01[3])[4] Then ; click button "Select" GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto01[3])[0]&" DONE " ) ElseIf $xx > ($button_auto01[4])[1] And $yy > ($button_auto01[4])[2] And $xx < ($button_auto01[4])[1]+($button_auto01[4])[3] And $yy < ($button_auto01[4])[2]+($button_auto01[4])[4] Then ; click button "Select" GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto01[4])[0]&" DONE " ) ElseIf $xx > ($button_auto01[5])[1] And $yy > ($button_auto01[5])[2] And $xx < ($button_auto01[5])[1]+($button_auto01[5])[3] And $yy < ($button_auto01[5])[2]+($button_auto01[5])[4] Then ; click button "Select" Sleep(500) GUICtrlSetState( ($button_auto01[1])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto01[2])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto01[3])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto01[4])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto01[5])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto07[3])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto04[5])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto04[6])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto01[5])[0]&" DONE " ) ElseIf $xx > ($button_auto01[6])[1] And $yy > ($button_auto01[6])[2] And $xx < ($button_auto01[6])[1]+($button_auto01[6])[3] And $yy < ($button_auto01[6])[2]+($button_auto01[6])[4] Then ; click button "Select" GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto01[6])[0]&" DONE " ) ; END $button_auto01 ElseIf $xx > ($button_select02[6])[1] And $yy > ($button_select02[6])[2] And $xx < ($button_select02[6])[1]+($button_select02[6])[3] And $yy < ($button_select02[6])[2]+($button_select02[6])[4] Then ; click button "Select" Sleep(500) GUICtrlSetState( ($button_auto01[1])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto01[2])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto01[3])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto01[4])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_select02[6])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto07[3])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto04[5])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto04[6])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_select02[6])[0]&" DONE " ) ; $button_auto07 ElseIf $xx > ($button_auto07[1])[1] And $yy > ($button_auto07[1])[2] And $xx < ($button_auto07[1])[1]+($button_auto07[1])[3] And $yy < ($button_auto07[1])[2]+($button_auto07[1])[4] Then ; click button "Select" $desktop_screen01 = 0 _select_24(1,12,13,24,1) Func _select_24($acc_min0=1,$acc_max=12,$acc_min_false0=13,$acc_max_false0=24,$WinActivate0=0) For $i = $acc_min0 To $acc_max If $data_server[$i] <> $str_BAN Then _GUICtrlListView_SetItemChecked($idCheckbox35_tiled03_03, $i) If $WinActivate0=1 Then WinActivate( WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$i] & $i&"\] Diablo Immortal \[#\]]"), "") ElseIf $data_server[$i] = $str_BAN Then _GUICtrlListView_SetItemChecked($idCheckbox35_tiled03_03, $i,false) EndIf Next For $i = $acc_min_false0 To $acc_max_false0 _GUICtrlListView_SetItemChecked($idCheckbox35_tiled03_03, $i,false) Next EndFunc $acc_min = 1 $acc_max = 12 ; max 20 facebook WinActivate( WinGetHandle($version01), "" ) Sleep(500) GUICtrlSetState( ($button_auto07[1])[7-1], $GUI_CHECKED) GUICtrlSetState( ($button_auto07[2])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto07[1])[0]&" DONE " ) ElseIf $xx > ($button_auto07[2])[1] And $yy > ($button_auto07[2])[2] And $xx < ($button_auto07[2])[1]+($button_auto07[2])[3] And $yy < ($button_auto07[2])[2]+($button_auto07[2])[4] Then ; click button "Select" $desktop_screen01 = 1 _select_24(13,24,1,12,1) $acc_min = 13 $acc_max = 24 ; max 20 facebook WinActivate( WinGetHandle($version01), "" ) Sleep(500) GUICtrlSetState( ($button_auto07[1])[7-1], $GUI_UNCHECKED) GUICtrlSetState( ($button_auto07[2])[7-1], $GUI_CHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto07[2])[0]&" DONE " ) ElseIf $xx > ($button_auto07[3])[1] And $yy > ($button_auto07[3])[2] And $xx < ($button_auto07[3])[1]+($button_auto07[3])[3] And $yy < ($button_auto07[3])[2]+($button_auto07[3])[4] Then ; click button "Select" ;For $i = 1 To 24 ;WinActivate( WinGetHandle("[REGEXPTITLE:\[#\] \[a"&$i&"\] Diablo Immortal \[#\]]"), "") ;Next ;Send("#{TAB}") ;Sleep(500) ;GUICtrlSetState( ($button_auto07[3])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto07[3])[0]&" DONE " ) ElseIf $xx > ($button_auto07[4])[1] And $yy > ($button_auto07[4])[2] And $xx < ($button_auto07[4])[1]+($button_auto07[4])[3] And $yy < ($button_auto07[4])[2]+($button_auto07[4])[4] Then ; click button "Select" If _IsChecked( ($button_auto07[1])[7-1] ) = True or $acc_min = 1 Then For $i2 = 1 to 2 For $i1 = 1 to 12 ; $tile_sandboxie01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$i] & $i&"\]]") ; $tile_diablo01 $tile_sandboxie01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$i1] & $i1&"\]]") ; $tile_diablo01 WinClose($tile_sandboxie01) all_find_process_close01("DiabloImmortal.exe",$tile_sandboxie01) Sleep(50) ;$desktop_sandboxie01 = VD_GetWindowDesktopId01($tile_sandboxie01) Local $desktop_sandboxie01[6] = [0, 0, 0, 0, 0, 0] ;If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ) = True and $desktop00 = $desktop_sandboxie01[1] Then run_sandboxie01('C:\Program Files\Sandboxie\Start.exe /box:a'&$i&" /terminate") ;If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ) = True Then run_sandboxie01('C:\Program Files\Sandboxie\Start.exe /box:'& $a_sandbox[$i] & $i&" /terminate") Next Next ElseIf _IsChecked( ($button_auto07[2])[7-1] ) = True or $acc_min = 13 Then For $i2 = 1 to 2 For $i1 = 13 to 24 ; $tile_sandboxie01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$i] & $i&"\]]") ; $tile_diablo01 $tile_sandboxie01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$i1] & $i1&"\]]") ; $tile_diablo01 WinClose($tile_sandboxie01) all_find_process_close01("DiabloImmortal.exe",$tile_sandboxie01) Sleep(50) ;$desktop_sandboxie01 = VD_GetWindowDesktopId01($tile_sandboxie01) Local $desktop_sandboxie01[6] = [0, 0, 0, 0, 0, 0] ;If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ) = True and $desktop00 = $desktop_sandboxie01[1] Then run_sandboxie01('C:\Program Files\Sandboxie\Start.exe /box:a'&$i&" /terminate") ;If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ) = True Then run_sandboxie01('C:\Program Files\Sandboxie\Start.exe /box:'& $a_sandbox[$i] & $i&" /terminate") Next Next EndIf Sleep(100) GUICtrlSetState( ($button_auto07[4])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto07[4])[0]&" DONE " ) ;all_find_process_close01("DiabloImmortal.exe",$tile_sandboxie01) Func all_find_process_close01($file00="MSIAfterburner.exe",$name_title01="Diablo Immortal") ; $login_e00 Local $return[30][4] $file_list01 = ProcessList($file00) $file_check01 = "" $all_n01 = 0 $return[0][0] = "$file_name01" ; file name $return[0][1] = "PID_$file_check01" ; PID $return[0][2] = "$handle0" ; handle $return[0][3] = "$title0" ; title For $i = 1 To $file_list01 [0][0] ;MsgBox($MB_SYSTEMMODAL, "", $file_list01[$i][0] & @CRLF & "PID: " &$file_list01[$i][1]) If $file_list01[$i][0] = $file00 Then $file_name01 = $file_list01[$i][0] $file_check01 = $file_list01[$i][1] $aWinList = WinList() For $A = 1 To $aWinList[0][0] If WinGetProcess($aWinList[$A][1]) = $file_check01 And BitAND(WinGetState($aWinList[$A][1]), 2) Then $all_n01 += 1 $handle0 = $aWinList[$A][1] $title0 = $aWinList[$A][0] ;MsgBox($MB_SYSTEMMODAL, "", "file name= "&$file_name01 & @CRLF & "PID: " &$file_check01& @CRLF & "handle: "& $handle0 & @CRLF &"title: "& $title0 ) If $name_title01 = $handle0 Then ProcessClose($file_check01) $return[$all_n01][0] = $file_name01 ; file name $return[$all_n01][1] = $file_check01 ; PID $return[$all_n01][2] = $handle0 ; handle $return[$all_n01][3] = $title0 ; title Return $return EndIf EndIf Next EndIf Next ;ConsoleWrite("$file00 = "&$file00&" $file_check01 = "&$file_check01&@CRLF) ;Return $return EndFunc ElseIf $xx > ($button_auto07[5])[1] And $yy > ($button_auto07[5])[2] And $xx < ($button_auto07[5])[1]+($button_auto07[5])[3] And $yy < ($button_auto07[5])[2]+($button_auto07[5])[4] Then ; click button "Select" GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto07[5])[0]&" DONE " ) ElseIf $xx > ($button_auto07[6])[1] And $yy > ($button_auto07[6])[2] And $xx < ($button_auto07[6])[1]+($button_auto07[6])[3] And $yy < ($button_auto07[6])[2]+($button_auto07[6])[4] Then ; click button "Select" GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto07[6])[0]&" DONE " ) ; END $button_auto07 ; $button_auto02 ElseIf $xx > ($button_auto02[1])[1] And $yy > ($button_auto02[1])[2] And $xx < ($button_auto02[1])[1]+($button_auto02[1])[3] And $yy < ($button_auto02[1])[2]+($button_auto02[1])[4] Then ; click button "Select" GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto02[1])[0]&" DONE " ) ElseIf $xx > ($button_auto02[1])[1] And $yy > ($button_auto02[1])[2] And $xx < ($button_auto02[1])[1]+($button_auto02[1])[3] And $yy < ($button_auto02[1])[2]+($button_auto02[1])[4] Then ; click button "Select" GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto02[1])[0]&" DONE " ) ElseIf $xx > ($button_auto02[2])[1] And $yy > ($button_auto02[2])[2] And $xx < ($button_auto02[2])[1]+($button_auto02[2])[3] And $yy < ($button_auto02[2])[2]+($button_auto02[2])[4] Then ; click button "Select" For $i = 1 To _GUICtrlListView_GetItemCount($idCheckbox35_tiled03_03) - 1 ; kiem tra list x ;GUICtrlSetData($idCheckbox35_tiled01_01,"N"&$i&" "&$path_fb_html_list01[$i][1]&" "&$path_fb_html_list01[$i][2]&" = "&_GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ),"") ;GUICtrlSetData($idCheckbox35_tiled01_01,"N"&$i&" "&"1 = "&$path_fb_html_list01[$i][1]&" 2 = "&$path_fb_html_list01[$i][2]&" 3 = "&$path_fb_html_list01[$i][3],"") If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ) = True Then ; check point = x _asm_hook01($i) Func _asm_hook01($i0) $i = $i0 $i_shadow = $i ; save $i $time_stop01 = int(TimerDiff($time_start01)) Global $i = $i_shadow ; load $i Global $loopacc = $i Global $control01 = $cuaso[$loopacc] $process[$loopacc] = _ProcessGetName01($loopacc,$path_fb_html_list01[$i][2]) Global $procHwnd01 = _Process_Open($process[$loopacc]) $game_hookX[$loopacc] = dec(hex(_Module_GetBaseAddress($procHwnd01, "DiabloImmortal.exe"))) ;$vtmem_gameX = _MemVirtualAllocEx($procHwnd01[1],0x7FF7A9E90000,0x1000,$MEM_RESERVE ,$PAGE_EXECUTE_READWRITE) ; $procHwnd01[1], $iSize ko tao de 7FF ;$vtmem_gameX = _MemVirtualAllocEx($procHwnd01[1],0x7FF7A9E90000,0x1000,$MEM_COMMIT ,$PAGE_EXECUTE_READWRITE) ; $procHwnd01[1], $iSize ko tao de 7FF ;MsgBox("","check","$vtmem_gameX = "&Hex($vtmem_gameX),0) $check_vtmemX = _MemoryRead64($path_fb_html_list01[$i][3], $procHwnd01, 'byte[4]',"Dec") If $check_vtmemX<>3321 Then $vtmemX[$loopacc] = VirtualAllocEx($procHwnd01[1], 0x2B0000) ;????????? _MemoryWrite64($vtmemX[$loopacc]+0x0, $procHwnd01, ptr(3321),'byte[4]') ElseIf $check_vtmemX=3321 Then $vtmemX[$loopacc] = $path_fb_html_list01[$i][3] EndIf ConsoleWrite("$process[$loopacc]="&$process[$loopacc]&" $game_hookX[$loopacc]="&Hex($game_hookX[$loopacc])&" $vtmemX[$loopacc]="&$vtmemX[$loopacc]) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&"$process[$loopacc]="&$process[$loopacc]&" $game_hookX[$loopacc]="&Hex($game_hookX[$loopacc])&@CRLF&" $vtmemX[$loopacc]="&$vtmemX[$loopacc] ) GUICtrlSetData($button_submit01, "" & _ "N"&1&" $process[$loopacc]="&$process[$loopacc]&" $game_hookX[$loopacc]="&Hex($game_hookX[$loopacc])&@CRLF & _ "N"&1&" $vtmemX[$loopacc]="&$vtmemX[$loopacc]&@CRLF & _ "" ) edit_data02($loopacc,$vtmemX[$loopacc]) $vtmem_drop01 = $vtmemX[$loopacc]+0x0 ; 0x1000 $vtmem_drop01var = $vtmemX[$loopacc]+0x1000 ; 0x1000 $vtmem_target_hp01 = $vtmemX[$loopacc]+0x2000 ; 0x1000 $vtmem_target_hp01var = $vtmemX[$loopacc]+0x3000 ; 0x1000 $vtmem_player_view01 = $vtmemX[$loopacc]+0x4000 ; 0x500 $vtmem_player_view01var = $vtmemX[$loopacc]+0x4500 ; 0x500 $vtmem_step_move01 = $vtmemX[$loopacc]+0x5000 ; 0x500 $vtmem_step_move01var = $vtmemX[$loopacc]+0x5500 ; 0x500 $vtmem_SetWindowPos01 = $vtmemX[$loopacc]+0x6000 ; 0x500 $vtmem_SetWindowPos01var = $vtmemX[$loopacc]+0x6500 ; 0x500 $vtmem_player_hp01 = $vtmemX[$loopacc]+0x7000 ; 0x500 $vtmem_player_hp01var = $vtmemX[$loopacc]+0x7500 ; 0x500 $vtmem_render_enemy_id_at02 = $vtmemX[$loopacc]+0x8000 ; 0x1000 $vtmem_render_enemy_id_at02var = $vtmemX[$loopacc]+0x9000 ; 0x1000 $vtmem_render_mini_mapxy02 = $vtmemX[$loopacc]+0x10000 ; 0x500 $vtmem_render_mini_mapxy02var = $vtmemX[$loopacc]+0x10500 ; 0x500 $vtmem_render_map_name03 = $vtmemX[$loopacc]+0x11000 ; 0x500 $vtmem_render_map_name03var = $vtmemX[$loopacc]+0x11500 ; 0x500 $vtmem_render_rift_defeat01 = $vtmemX[$loopacc]+0x12000 ; 0x500 $vtmem_render_rift_defeat01var = $vtmemX[$loopacc]+0x12500 ; 0x500 $vtmem_render_draw01 = $vtmemX[$loopacc]+0x13000 ; 0x500 $vtmem_render_draw01var = $vtmemX[$loopacc]+0x13500 ; 0x500 $vtmem_render_gui_text01 = $vtmemX[$loopacc]+0x14000 ; 0x2000 $vtmem_render_gui_text01var = $vtmemX[$loopacc]+0x16000 ; 0x2000 $vtmem_mat_hinh03 = $vtmemX[$loopacc]+0x18000 ; 0x500 $vtmem_mat_hinh03var = $vtmemX[$loopacc]+0x18500 ; 0x500 $vtmem_render_mini_tiled03 = $vtmemX[$loopacc]+0x19000 ; 0x500 $vtmem_render_mini_tiled03var = $vtmemX[$loopacc]+0x19500 ; 0x500 $vtmem_render_map_shadow01 = $vtmemX[$loopacc]+0x20000 ; 0x500 $vtmem_render_map_shadow01var = $vtmemX[$loopacc]+0x20500 ; 0x500 $vtmem_render_map_fog06 = $vtmemX[$loopacc]+0x21000 ; 0x1000 $vtmem_render_map_fog06var = $vtmemX[$loopacc]+0x22000 ; 0x1000 $vtmem_render_text_arrow05_light = $vtmemX[$loopacc]+0x23000 ; 0x500 $vtmem_render_text_arrow05_lightvar = $vtmemX[$loopacc]+0x23500 ; 0x500 $vtmem_render_rift_defeat05ex = $vtmemX[$loopacc]+0x24000 ; 0x500 $vtmem_render_rift_defeat05exvar = $vtmemX[$loopacc]+0x24500 ; 0x500 _cmp_render_map_shadow01($loopacc, $procHwnd01, $vtmem_render_map_shadow01, $vtmem_render_map_shadow01var, "DiabloImmortal.exe") ; kiem tra player view $v_cmp_render_mini_tiled03X[$loopacc] = _cmp_render_mini_tiled03($loopacc, $procHwnd01, $vtmem_render_mini_tiled03, $vtmem_render_mini_tiled03var, "DiabloImmortal.exe") ; kiem tra player view $v_cmp_render_mini_tiled03 = $v_cmp_render_mini_tiled03X[$loopacc] $p_render_mini_tiled03 = read_render_mini_tiled03($loopacc,$procHwnd01,$v_cmp_render_mini_tiled03[1]+0x8) ; 610 450 $p_render_mini_tiled03player = read_render_mini_tiled03($loopacc,$procHwnd01,$v_cmp_render_mini_tiled03[1]+0x8*3) ; 610 450 $map_large01 = 0 If $p_render_mini_tiled03player[2]<>"0" and $p_render_mini_tiled03player[2]<>0 Then $map_large01 = 1 _MemoryWrite64($v_cmp_render_mini_tiled03[1]+0x8*3, $procHwnd01, ptr(0),'byte[16]') ; reset value = 0 ;MsgBox("","check","$p_render_mini_tiled03player[2] = "&$p_render_mini_tiled03player[2]&" $map_large01 = "&$map_large01,0) $dis_portal01[$loopacc] = Int( Distance($p_render_mini_tiled03[0],$p_render_mini_tiled03[1],$portal01x,$portal01y) ) $v_cmp_drop01X[$loopacc] = _cmp_drop02($loopacc, $procHwnd01, $vtmem_drop01, $vtmem_drop01var, "DiabloImmortal.exe") $v_cmp_drop01 = $v_cmp_drop01X[$loopacc] ;$p_drop01 = read_drop_item02($loopacc,$procHwnd01,$v_cmp_drop01[1]+0x8*0,0) ; name x y item xoa e $p_drop01 = read_drop_item02($loopacc,$procHwnd01,$v_cmp_drop01[1]+0x8*0) ; name x y item $p_drop02 = read_drop_item02($loopacc,$procHwnd01,$v_cmp_drop01[1]+0x8*16) ; name x y item $p_drop03 = read_drop_item04($loopacc,$procHwnd01,$v_cmp_drop01[1]+0x8*32) ; name x y item string len 16+1 Rift Progress Orb $p_drop04 = read_drop_item03($loopacc,$procHwnd01,$v_cmp_drop01[1]+0x8*18) ; name x y item $p_drop05 = read_drop_item02($loopacc,$procHwnd01,$v_cmp_drop01[1]+0x8*48) ; name x y item Charsi ;_MemoryWrite64($v_cmp_drop01[1]+0x8*66, $procHwnd01, ptr(0),'byte[32]') ; reset $v_cmp_target_hp01X[$loopacc] = _cmp_target_hp01($loopacc, $procHwnd01, $vtmem_target_hp01, $vtmem_target_hp01var, "DiabloImmortal.exe") ; kiem tra enemy $v_cmp_target_hp01 = $v_cmp_target_hp01X[$loopacc] $p_target_hp01 = read_target_hp01($loopacc,$procHwnd01,$v_cmp_target_hp01[1]+0x0) ; rbx $p_target_hp02 = read_target_hp02($loopacc,$procHwnd01,$v_cmp_target_hp01[1]+0x8*17) ; rbx $p_drop_item_quest01 = read_target_hp03($loopacc,$procHwnd01,$v_cmp_target_hp01[1]+0x8*97) ; rbx _MemoryWrite64($v_cmp_target_hp01[1], $procHwnd01, ptr(0),'byte[32]') ; reset _MemoryWrite64($v_cmp_target_hp01[1]+0x8*17, $procHwnd01, ptr(0),'byte[32]') ; reset _MemoryWrite64($v_cmp_target_hp01[1]+0x180, $procHwnd01, ptr(0),'byte[1]') ; npc ? > bat = 0 tat = 1 _MemoryWrite64($v_cmp_target_hp01[1]+0x8*97, $procHwnd01, ptr(0),'byte[32]') ; reset $v_cmp_player_view01X[$loopacc] = _cmp_player_view01($loopacc, $procHwnd01, $vtmem_player_view01, $vtmem_player_view01var, "DiabloImmortal.exe") ; kiem tra player view $v_cmp_player_view01 = $v_cmp_player_view01X[$loopacc] $p_player_view01 = read_player_view01($loopacc,$procHwnd01,$v_cmp_player_view01[1]+0x0) $v_cmp_step_move01X[$loopacc] = _cmp_step_move01($loopacc, $procHwnd01, $vtmem_step_move01, $vtmem_step_move01var, "DiabloImmortal.exe") ; kiem tras step move $v_cmp_step_move01 = $v_cmp_step_move01X[$loopacc] $p_step_move01 = read_step_move01($loopacc,$procHwnd01,$v_cmp_step_move01[1]+0x0) _MemoryWrite64($v_cmp_step_move01[1], $procHwnd01, ptr(0),'byte[16]') ; reset $player_step01x = 472+($p_step_move01[0]-$p_player_view01[0])*24 $player_step01y = 244+($p_step_move01[1]-$p_player_view01[1])*24 $v_cmp_SetWindowPos01 = _cmp_SetWindowPos01($loopacc, $procHwnd01, $vtmem_SetWindowPos01, $vtmem_step_move01var, "SbieDll.dll") ; kiem tras setwindows $v_cmp_player_hp01X[$loopacc] = _cmp_player_hp01($loopacc, $procHwnd01, $vtmem_player_hp01, $vtmem_player_hp01var, "DiabloImmortal.exe") ; kiem tra hp $v_cmp_player_hp01 = $v_cmp_player_hp01X[$loopacc] $p_player_hp01 = read_player_hp01($loopacc,$procHwnd01,$v_cmp_player_hp01[1]+0x0) ; rdi $p_item_time01 = read_player_hp01($loopacc,$procHwnd01,$v_cmp_player_hp01[1]+0x8*4) ; rdi _MemoryWrite64($v_cmp_player_hp01[1]+0x8*4, $procHwnd01, ptr(0),'byte[32]') ; reset $v_cmp_render_enemy_id_at02X[$loopacc] = _cmp_render_enemy_id_at02($loopacc, $procHwnd01, $vtmem_render_enemy_id_at02, $vtmem_render_enemy_id_at02var, "DiabloImmortal.exe") ; kiem tra render enemy id at $v_cmp_render_enemy_id_at02 = $v_cmp_render_enemy_id_at02X[$loopacc] ;GUICtrlSetData($idCheckbox35_tiled01_01, "") If $a_base01[$loopacc] = 0 Then Local $aArray_Base[1][6] = [["ID MONSTER", "ENEMY X", "ENEMY Y", "PLAYER X", "PLAYER Y", "DISTANCE"]] $a_base01[$loopacc] = $aArray_Base ; _ArrayAdd($a_base01[$loopacc] > ($a_base01[$loopacc])[1][2] EndIf ;_MemoryWrite64($v_cmp_render_enemy_id_at02[1]+0x0, $procHwnd01, ptr(0),'byte[80]') ; reset ;$p_render_enemy_id_at02 = read_render_enemy_id_at02($loopacc,$procHwnd01,$v_cmp_render_enemy_id_at02[1]+8*17) ; rbx $p_render_enemy_id_at02 = read_render_enemy_id_at02($loopacc,$procHwnd01,$v_cmp_render_enemy_id_at02[1]+0x8*1) ; rbx $Distance_xy01 = -1 If $p_render_enemy_id_at02[4] = "Monster" Then $Distance_xy01 = Int( Distance($p_player_view01[0],$p_player_view01[1],$p_render_enemy_id_at02[0],$p_render_enemy_id_at02[1]) ) _ArrayAdd($a_base01[$loopacc], $p_render_enemy_id_at02[3]&"|"&$p_render_enemy_id_at02[0]&"|"&$p_render_enemy_id_at02[1]&"|"&$p_player_view01[0]&"|"&$p_player_view01[1]&"|"&$Distance_xy01) If _IsChecked( ($button_auto07[6])[7-1] ) = True Then ; view _ArrayToString GUICtrlSetData($button_submit02, _ArrayToString($a_base01[$loopacc])) EndIf ; end view _ArrayToString ;_ArrayDisplay($a_base01[$loopacc], "($a_base01[$loopacc])") ;$v_cmp_render_mini_mapxy02X[$loopacc] = _cmp_render_mini_mapxy02($loopacc, $procHwnd01, $vtmem_render_mini_mapxy02, $vtmem_render_mini_mapxy02var, "DiabloImmortal.exe") ; kiem tra mini map elder rift ;$v_cmp_render_mini_mapxy02 = $v_cmp_render_mini_mapxy02X[$loopacc] If $no_fog_of_war01 = 1 and $mini_map_no_fog01 = 1 Then ;_je_jne_map_no_fog01($loopacc, $procHwnd01,"DiabloImmortal.exe",117) ; kiem tra enemy ;_je_jne_map_no_fog02($loopacc, $procHwnd01,"DiabloImmortal.exe",117) ; kiem tra enemy If $no_fog_fix01 = 0 Then $v_cmp_render_map_no_fog06X[$loopacc] = _cmp_render_map_no_fog06($loopacc, $procHwnd01, $vtmem_render_map_fog06, $vtmem_render_map_fog06var, "DiabloImmortal.exe") ; kiem tra enemy $v_cmp_render_map_no_fog06 = $v_cmp_render_map_no_fog06X[$loopacc] EndIf ;_MemoryWrite64($v_cmp_render_map_no_fog06[1]+0x0, $procHwnd01, ptr(0),'byte[104]') ; reset ;_jne_je_mat_hinh01($loopacc, $procHwnd01,"DiabloImmortal.exe",116) ; kiem tra enemy EndIf ;alloc(newmem,2048,"DiabloImmortal.exe"+748302) no fog jb > ja _MemoryWrite64($game_hookX[$loopacc]+0x748302+0x2C, $procHwnd01, ptr(119),'byte[1]') ; reset ;$p_render_mini_mapxy02 = read_render_mini_mapxy02($loopacc,$procHwnd01,$v_cmp_render_mini_mapxy02[1]+0x8*1) ; r8 ;If StringInStr($p_render_mini_mapxy02[2], "gui_img_") > 0 Then ; $p_render_mini_mapxy02[2] = StringRegExpReplace($p_render_mini_mapxy02[2], '(.*gui_img_|.png.*)', '') ; '(.*123|456 .*)' xoa '.*123' gui_img_ first + xoa '456 .*' _ last ; edit_data03($loopacc,$p_render_mini_mapxy02[2]) ;EndIf ;$v_cmp_render_map_name03fixX[$loopacc] = _cmp_render_map_name03fix($loopacc, $procHwnd01, $vtmem_render_map_name03, $vtmem_render_map_name03var, "DiabloImmortal.exe") ; kiem tra mini map elder rift ;$v_cmp_render_map_name03fix = $v_cmp_render_map_name03fixX[$loopacc] ;$p_render_map_name03 = read_render_map_name03($loopacc,$procHwnd01,$v_cmp_render_map_name03fix[1]+0x8*0) ; rdx $v_cmp_render_rift_defeat01X[$loopacc] = _cmp_render_rift_defeat01($loopacc, $procHwnd01, $vtmem_render_rift_defeat01, $vtmem_render_rift_defeat01var, "DiabloImmortal.exe") ; kiem tra mini map elder rift $v_cmp_render_rift_defeat01 = $v_cmp_render_rift_defeat01X[$loopacc] $p_render_rift_defeat01 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*0) ; rdx Kill the Rift Guardian $p_render_rift_defeat02 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*16) ; rdx Inventory Full $p_render_rift_defeat03 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*32) ; rdx mini map name $p_render_rift_defeat04 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*48) ; rdx mini map name $p_render_rift_defeat05 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*64) ; rdx mini map name $p_render_rift_defeat06 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*80) ; rdx mini map name $p_render_rift_defeat07 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*96) ; rdx mini map name $p_render_shop01 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*112,0x0) ; rdx Shop > server $p_render_rift_defeat14 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*128) ; rdx #00ff2aClosing in: 02:23 $p_render_rift_defeat15 = read_render_rift_defeat01($loopacc,$procHwnd01,$v_cmp_render_rift_defeat01[1]+0x8*112) ; rdx // #a79973Time expired "Time expired. Bonus rewa" ;If $p_render_rift_defeat15[2] = "Time expired. Bonus rewa" Then Exit ;_MemoryWrite64($v_cmp_render_rift_defeat01[1]+0x8*112, $procHwnd01, ptr(0),'byte[4]') ; reset // #a79973Time expired ;_MemoryWrite64($v_cmp_render_rift_defeat01[1]+0x8*113, $procHwnd01, ptr(0),'byte[8]') ; reset // #a79973Time expired ;$v_cmp_render_rift_defeat05upX[$loopacc] = _cmp_render_rift_defeat05up($loopacc, $procHwnd01, $vtmem_render_rift_defeat05ex, $vtmem_render_rift_defeat05exvar, "DiabloImmortal.exe") ; kiem tra mini map elder rift ;$v_cmp_render_rift_defeat05up = $v_cmp_render_rift_defeat05upX[$loopacc] $p_render_map_name03 = $p_render_rift_defeat03 $v_cmp_render_draw01X[$loopacc] = _cmp_render_draw01($loopacc, $procHwnd01, $vtmem_render_draw01, $vtmem_render_draw01var, "DiabloImmortal.exe") ; ve draw mini map elder rift $v_cmp_render_draw01 = $v_cmp_render_draw01X[$loopacc] _MemoryWrite64($v_cmp_render_draw01[1]+0x8*3, $procHwnd01, ptr(0),'byte[1]') ; bat = 1 tat = 0 > ARROW DRAW UI $v_cmp_render_text_arrow05_lightX[$loopacc] = _cmp_render_text_arrow05_light($loopacc, $procHwnd01, $vtmem_render_text_arrow05_light, $vtmem_render_text_arrow05_lightvar, "DiabloImmortal.exe") ; ve draw mini map elder rift $v_cmp_render_text_arrow05_light = $v_cmp_render_text_arrow05_lightX[$loopacc] _MemoryWrite64($v_cmp_render_text_arrow05_light[1]+0x8*3, $procHwnd01, ptr(0),'byte[1]') ; bat = 1 tat = 0 > ARROW MUI TEN _MemoryWrite64($v_cmp_render_text_arrow05_light[1]+0x8*4, $procHwnd01, ptr(0),'byte[1]') ; bat = 1 tat = 0 > ARROW LIGHT $v_cmp_render_gui_text01X[$loopacc] = _cmp_render_gui_text01($loopacc, $procHwnd01, $vtmem_render_gui_text01, $vtmem_render_gui_text01var, "DiabloImmortal.exe") ; kiem tra mini map elder rift $v_cmp_render_gui_text01 = $v_cmp_render_gui_text01X[$loopacc] $p_render_gui_text01 = read_render_gui_text01($loopacc,$procHwnd01,$v_cmp_render_gui_text01[1]+0x8*0) ; rdx _MemoryWrite64($v_cmp_render_gui_text01[1]+0x8*9, $procHwnd01, ptr(0),'byte[8]') ; reset _MemoryWrite64($v_cmp_render_gui_text01[1]+0x8*35, $procHwnd01, ptr(0),'byte[1]') ; bat = 1 tat = 0 > ARROW TEXT $v_cmp_mat_hinh03X[$loopacc] = _cmp_mat_hinh03($loopacc, $procHwnd01, $vtmem_mat_hinh03, $vtmem_mat_hinh03var, "DiabloImmortal.exe") ; ve draw mini map elder rift $v_cmp_mat_hinh03 = $v_cmp_mat_hinh03X[$loopacc] If _IsChecked( ($button_auto07[3])[7-1] ) = True Then _MemoryWrite64($v_cmp_mat_hinh03[0]+0x4C, $procHwnd01, ptr(0),'byte[1]') ; reset If _IsChecked( ($button_auto07[3])[7-1] ) = False Then _MemoryWrite64($v_cmp_mat_hinh03[0]+0x4C, $procHwnd01, ptr(4),'byte[1]') ; reset $Dis_Rift03 = Int( Distance($p_player_view01[0],$p_player_view01[1],29,-18) ) ; If _IsChecked( ($button_select02[2])[7-1] ) = True Then ; A_STAR ; $a_star01test = 1 ; EndIf If $p_render_gui_text01[43] = "Eternal LegendaryCrest" or $p_render_gui_text01[43] = "1-StarLegendary Gem" or $p_render_gui_text01[43] = "2-StarLegendary Gem" or $p_render_gui_text01[43] = "LightningCore" or $p_render_gui_text01[43] = "Power &Command SELECT" Then $p_render_shop01[2] = 'Craft' EndIf If $a_star01test = 99 Then ; a star test --------------------------------------------------------- $a_local02 = _find_a_star01() ;_ArrayDisplay($a_local02) ;msgBox($MB_SYSTEMMODAL, "Title", "N="&$i&" $procHwnd_autoit02="&$procHwnd_autoit02&" $a_local02[$loopacc]="&Hex($a_local02[$i]), 0) If $a_local02[0] > 0 Then $local_case01 = _MemoryRead64($a_local02[$i]+0x0, $procHwnd_autoit02, 'byte[4]',"Dec") $local_path01max = _MemoryRead64($a_local02[$i]+0x4, $procHwnd_autoit02, 'byte[4]',"Dec") _MemoryWrite64($a_local02[$i]+0x0, $procHwnd_autoit02, ptr(1),'byte[4]') ; reset value = 0 If $local_case01 = 2 and $local_path01max > 0 and $local_path01max < 99 and $local_path01max <> 4294967295 Then Local $aArray_Map_s[1][6] = [["ID NAME", " COL X ", " ROW Y ", "PLAYER X", "PLAYER Y", "DISTANCE"]] $a_map_s01[$loopacc] = $aArray_Map_s ; _ArrayAdd($a_map_s01[$loopacc] > ($a_map_s01[$loopacc])[1][2] ;_ArrayAdd($a_map_s01[$loopacc], "A_STAR " &" | "& $start_red_x01 &" | "& $start_red_y01 &" | "& $p_player_view01[0] &" | "& $p_player_view01[1] &" | "& "-1") _ArrayAdd($a_map_s01[$loopacc], "A_STAR " &" | "& $start_red_x01 &" | "& $start_red_y01 &" | "& 0 &" | "& 0 &" | "& "-1") For $lp_p = 0 to $local_path01max $x = _MemoryRead64($a_local02[$i]+0x8+0x8*$lp_p, $procHwnd_autoit02, 'byte[4]',"Dec") $y = _MemoryRead64($a_local02[$i]+0xC+0x8*$lp_p, $procHwnd_autoit02, 'byte[4]',"Dec") $x1 = $x-($a_map_s01[$loopacc])[$lp_p+1][1] $y1 = $y-($a_map_s01[$loopacc])[$lp_p+1][2] $Dis_star01 = Int( Distance($x ,$y , $start_red_x01, $start_red_y01) ) ;_ArrayAdd($a_map_s01[$loopacc], "A_STAR " &" | "& $x &" | "& $y &" | "& $p_player_view01[0] &" | "& $p_player_view01[1] &" | "&$Dis_star01 ) _ArrayAdd($a_map_s01[$loopacc], "A_STAR " &" | "& $x &" | "& $y &" | "& $x1 &" | "& $y1 &" | "&$Dis_star01 ) Next _MemoryWrite64($a_local02[$i]+0x4, $procHwnd_autoit02, ptr(0),'byte[4]') ; reset value = 0 GUICtrlSetData($idCheckbox35_tiled01_01, _ArrayToString($a_map_s01[$loopacc])) ;_ArrayDisplay($aArray_path02) ; will show the the full path $player_move01x = 60 $player_move01y = 60 $a_max01 = UBound($a_map_s01[$loopacc], $UBOUND_ROWS)-1 For $lp_r = 2 to $a_max01 ControlClick02($loopacc,$path_fb_html_list01[$i][2],"right","1", $player_center01x+( $player_move01x*($a_map_s01[$loopacc])[$lp_r][3] ), $player_center01y+( $player_move01y*($a_map_s01[$loopacc])[$lp_r][4] ) ) ; ; SKILL 8 STEP_MOVE LEFT Sleep(3000) Next EndIf ElseIf $a_local02[0] = 0 Then $local_case01 = 0 $local_path01max = 0 EndIf ElseIf $a_star01test = 0 or $a_star01test = 1 Then ; a star test ------------------------------------------------------- $local_case01 = 0 $local_path01max = 0 EndIf ; end a star test ;If $loopacc = 4 Then ; msgBox($MB_SYSTEMMODAL, "Title", "check hook asm", 10) ;Exit ;EndIf ;$v1 = $v_cmp_drop01 $v2 = $v_cmp_target_hp01 $v3 = $v_cmp_player_view01 $v1 = $v_cmp_step_move01 ;$v2 = $v_cmp_player_hp01 ;$v3 = $v_cmp_render_enemy_id_at02 $a_starxy00 = _map2d_3dxy01(10,14,$p_player_view01[0],$p_player_view01[1],175,120,1,1,2.7,2.7) ;_ArrayDisplay($v_cmp_render_map_no_fog06, "$v_cmp_render_map_no_fog06") GUICtrlSetData($button_submit01, "$a_local02[$i]"&Hex($a_local02[$i]+0x310,16)&" $Dis_Rift03="&$Dis_Rift03&" "&" [55]="&$p_render_gui_text01[55] & _ "$a_starxy00[0]="&$a_starxy00[0]&" $$a_starxy00[1]="&$a_starxy00[1]&"x="&$p_drop05[0]&" y="&$p_drop05[1]&" drop05[2]="&$p_drop05[2]&@CRLF & _ "$v1[0]="&$v1[0]&" $v1[1]="&$v1[1]&" $v1[2]="&$v1[02]&" $v1[3]="&$v1[3]&"x="&$p_drop04[0]&" y="&$p_drop04[1]&" drop04[2]="&$p_drop04[2]&@CRLF & _ "$p_render_rift_defeat14[2]="&$p_render_rift_defeat14[2]&" x="&$p_drop01[0]&" y="&$p_drop01[1]&" $p_drop01[2]="&$p_drop01[2]&" $p_drop01[3]="&$p_drop01[3]&" x="&$p_drop02[0]&" y="&$p_drop02[1]&" $p_drop02[2]="&$p_drop02[2]&@CRLF & _ "x="&$p_drop03[0]&" y="&$p_drop03[1]&" drop03[2]="&$p_drop03[2]&" gui_text01[0]="&$p_render_gui_text01[0]&" [1]="&$p_render_gui_text01[1]&" [2]="&$p_render_gui_text01[2]&" [3]="&$p_render_gui_text01[3]&" [4]="&$p_render_gui_text01[4]&@CRLF & _ "[5]="&$p_render_gui_text01[5]&" [6]="&$p_render_gui_text01[6]&" [7]="&$p_render_gui_text01[7]&" [8]="&$p_render_gui_text01[8]&" [9]="&$p_render_gui_text01[9]&" [10]="&$p_render_gui_text01[10]&" [11]="&$p_render_gui_text01[11]&" [20]="&$p_render_gui_text01[20]&@CRLF & _ "[12]="&$p_render_gui_text01[12]&" [13]="&$p_render_gui_text01[13]&" [14]="&$p_render_gui_text01[14]&" [15]="&$p_render_gui_text01[15]&" [16]="&$p_render_gui_text01[16]&" [17]="&$p_render_gui_text01[17]&" [18]="&$p_render_gui_text01[18]&" [19]="&$p_render_gui_text01[19]&@CRLF & _ "[25]SCORE="&$p_render_gui_text01[25]&" [34]="&$p_render_gui_text01[34]&" [29]="&$p_render_gui_text01[29]&" [28]="&$p_render_gui_text01[28]&" [24]="&$p_render_gui_text01[24]&" adress="&$p_drop_item_quest01[0]&" on="&$p_drop_item_quest01[3]&@CRLF & _ "[36]="&$p_render_gui_text01[36]&" [37]="&$p_render_gui_text01[37]&" [38]="&$p_render_gui_text01[38]&" [39]="&$p_render_gui_text01[39]&" [40]="&$p_render_gui_text01[40]&" [41]="&$p_render_gui_text01[41]&" [42]="&$p_render_gui_text01[42]&@CRLF & _ "[43]="&$p_render_gui_text01[43]&" [44]="&$p_render_gui_text01[44]&" [45]="&$p_render_gui_text01[45]&" [46]="&$p_render_gui_text01[46]&" [48]="&$p_render_gui_text01[48]&" [49]="&$p_render_gui_text01[49]&" SELECT [47]="&$p_render_gui_text01[47]&" [54]="&$p_render_gui_text01[54]&@CRLF & _ "[50]="&$p_render_gui_text01[50]&" [51]="&$p_render_gui_text01[51]&" [53]="&$p_render_gui_text01[53]&" [58]="&$p_render_gui_text01[58]&" x="&$p_target_hp01[0]&" y="&$p_target_hp01[1]&" $p_target_hp01[2]="&$p_target_hp01[2]&" x="&$p_target_hp02[0]&" y="&$p_target_hp02[1]&" $p_target_hp02[2]="&$p_target_hp02[2]&@CRLF & _ "px="&$p_player_view01[0]&" py="&$p_player_view01[1]&" $p_run[3]="&$p_player_view01[3]&" $p_player_view01[2]="&$p_player_view01[2]&" $map_c01x="&$map_c01x/$p_player_view01[0]&" $map_c01y="&$map_c01y/$p_player_view01[1]&@CRLF & _ "tx="&$p_render_mini_tiled03[0]&" ty="&$p_render_mini_tiled03[1]&" $dis_portal01[$loopacc]="&$dis_portal01[$loopacc]&" $p_render_mini_tiled03[2]="&$p_render_mini_tiled03[2]&" $map_large01="&$map_large01&@CRLF & _ "$p_item_time01[2]="&$p_item_time01[2]&" px="&$p_player_hp01[0]&" py="&$p_player_hp01[1]&" $p_player_hp01[2]="&$p_player_hp01[2]&" sx="&$p_step_move01[0]&" sy="&$p_step_move01[1]&" $p_step_move01[2]="&$p_step_move01[2]&$p_render_mini_tiled03[2]&@CRLF & _ "px="&$p_render_enemy_id_at02[0]&" py="&$p_render_enemy_id_at02[1]&" n="&$p_render_enemy_id_at02[4]&" "&$p_render_enemy_id_at02[5]&" text1="&$p_render_enemy_id_at02[2]&" address="&$p_render_enemy_id_at02[3]&@CRLF & _ "$local_case01="&$local_case01&" $local_path01max="&$local_path01max&" $p_render_map_name03[2]="&$p_render_map_name03[2]&" px="&$p_render_map_name03[0]&" py="&$p_render_map_name03[1]&@CRLF & _ "$p_render_rift_defeat01[2]="&$p_render_rift_defeat01[2]&" px="&$p_render_rift_defeat01[0]&" py="&$p_render_rift_defeat01[1]&" $p_render_rift_defeat02[2]="&$p_render_rift_defeat02[2]&" $p_render_rift_defeat03[2]="&$p_render_rift_defeat03[2]&" $p_render_rift_defeat04[2]="&$p_render_rift_defeat04[2]&@CRLF & _ "$p_render_rift_defeat14[2]="&$p_render_rift_defeat14[2]&" $p_render_rift_defeat05[2]="&$p_render_rift_defeat05[2]&" $p_render_rift_defeat06[2]="&$p_render_rift_defeat06[2]&" $p_render_rift_defeat07[2]="&$p_render_rift_defeat07[2]&" $p_render_shop01[2]="&$p_render_shop01[2]&@CRLF & _ "$p_render_rift_defeat15[2]="&$p_render_rift_defeat15[2]&" [57]="&$p_render_gui_text01[57]&" [59]="&$p_render_gui_text01[59]&" [60]="&$p_render_gui_text01[60]&" [61]="&$p_render_gui_text01[61]&" [62]="&$p_render_gui_text01[62]&" [63]="&$p_render_gui_text01[63] ) ;"$p_render_mini_mapxy02[2]="&$p_render_mini_mapxy02[2]&" px="&$p_render_mini_mapxy02[0]&" py="&$p_render_mini_mapxy02[1]&@CRLF & _ ;_ArrayDisplay($v_cmp_player_view01, "$v_cmp_player_view01") EndFunc EndIf ; end check point = x Next ; end kiem tra list x Sleep(500) GUICtrlSetState( ($button_auto02[2])[7-1], $GUI_UNCHECKED) Sleep(500) GUICtrlSetState( ($button_auto02[2])[7-1], $GUI_UNCHECKED) ; da update done Func _cmp_render_text_arrow05_light($loopacc0,$procHwnd0,$vtmem0, $vtmem0var,$module0,$address0=0x116FC9E) ; kiem tra enemy asm_render_text_arrow05_light_USE ; "DiabloImmortal.exe"+100497E: > "DiabloImmortal.exe"+1001ECE: > "DiabloImmortal.exe"+116FC9E: ;// arrow + light ;// [r15+14] = x float ;// [r15+18] = y float ;// [r15+24] = x size float ;// [r15+28] = y size float ;//movss xmm0,[r15+1C] ;//movss [rbp+00000110],xmm0 ;movss xmm0,[r15-34] ;//movss [rbp+00000128],xmm0 ;//movss xmm0,[r15-30] Local $return[9] $ws_send01_jmp = 0x4 ; $module0+$address0 jmp Next > 4byte de check co vtmem $ws_send01_back = 0x14 ; $module0+$address0 jmp back +1 $ws_send01_op01 = "F3 41 0F 10 47 CC F3 0F 11 85 28 01 00 00 F3 41 0F 10 47 D0" ; movss xmm0,[r15-34] $vtmem_cmp00 = $vtmem0+$ws_send01_jmp $vtmem_cmp00var = $vtmem0var $cmp_jmp00 = _Module_GetBaseAddress($procHwnd0, $module0)+$address0 ;$cmp_jmp00 = _WinAPI_GetModuleHandle($WS2_32_dll) ;$cmp_jmp00 = _WinAPI_GetProcAddress($cmp_jmp00, "send")+$ws_send01_jmp $cmp_op00 = StringReplace($ws_send01_op01, " ", "") ; fist jmp vtmem $cmp_op00last = StringReplace("", " ", "") ; last jmp vtmem Global $op_code00 = "" Global $op_code01 = "" $op_code00 &= $cmp_op00 ; push rax $op_code01 &= "50" ; mov rax,1DF0CFC0000 // address 0x0 value vtmem $op_code01 &= "48 B8 "&_ReadF($vtmem_cmp00var,0) ;// REMOVE ARROW Clans unlocked + Open Inventory + Click to view > mui ten ;cmp byte ptr [rax+8*3],1 // bat = 1 tat = 0 ;jne if03 ;cmp [r15+24],(float)0.8 // 0.91 ;jb if03 ;cmp [r15+24],(float)1 // 0.91 ;ja if03 ;cmp [r15+28],(float)0.7 // 0.84 ;jb if03 ;cmp [r15+28],(float)0.94 // 0.84 ;ja if03 ;cmp [r15+14],(float)600 // 167-10 ;jb if03 ;cmp [r15+14],(float)700 // 167+10 ;ja if03 ;cmp [r15+18],(float)420 // 169-10 ;jb if03 ;cmp [r15+18],(float)550 // 169+10 ;ja if03 ;mov [r15-34],(float)550 ;mov [r15-30],(float)550 ;mov [r15-2C],(float)550 ;mov [r15-1C],(float)550 ;mov [r15-10],(float)550 ;mov [r15-0C],(float)550 ;//movss xmm0,[r15-34] ;if03: $op_code01 &= "80 78 18 01 0F 85 A0 00 00 00 41 81 7F 24 CD CC 4C 3F 0F 82 92 00 00 00 41 81 7F 24 00 00 80 3F 0F 87 84 00 00 00 41 81 7F 28 33 33 33 3F 72 7A 90 90 90 90 41 81 7F 28 D7 A3 70 3F 77 6C 90 90 90 90 41 81 7F 14 00 00 16 44 72 5E 90 90 90 90 41 81 7F 14 00 00 2F 44 77 50 90 90 90 90 41 81 7F 18 00 00 D2 43 72 42 90 90 90 90 41 81 7F 18 00 80 09 44 77 34 90 90 90 90 41 C7 47 CC 00 80 09 44 41 C7 47 D0 00 80 09 44 41 C7 47 D4 00 80 09 44 41 C7 47 E4 00 80 09 44 41 C7 47 F0 00 80 09 44 41 C7 47 F4 00 80 09 44" ;// REMOVE ARROW Clans unlocked + Open Inventory + Click to view > nhap nhay ;cmp byte ptr [rax+8*4],1 // bat = 1 tat = 0 ;jne if04 ;cmp [r15+24],(float)0.0 // 0.015625 ;jb if04 ;cmp [r15+24],(float)0.03 // 0.015625 ;ja if04 ;cmp [r15+28],(float)0.025 // 0.125 ;jb if04 ;cmp [r15+28],(float)0.225 // 0.125 ;ja if04 ;cmp [r15+14],(float)600 // 167-10 ;jb if04 ;cmp [r15+14],(float)700 // 167+10 ;ja if04 ;cmp [r15+18],(float)420 // 169-10 ;jb if04 ;cmp [r15+18],(float)550 // 169+10 ;ja if04 ;mov [r15-34],(float)550 ;mov [r15-30],(float)550 ;mov [r15-2C],(float)550 ;mov [r15-1C],(float)550 ;mov [r15-10],(float)550 ;mov [r15-0C],(float)550 ;//movss xmm0,[r15-34] ;if04: $op_code01 &= "80 78 20 01 0F 85 A0 00 00 00 41 81 7F 24 00 00 00 00 0F 82 92 00 00 00 41 81 7F 24 8F C2 F5 3C 0F 87 84 00 00 00 41 81 7F 28 CD CC CC 3C 72 7A 90 90 90 90 41 81 7F 28 66 66 66 3E 77 6C 90 90 90 90 41 81 7F 14 00 00 16 44 72 5E 90 90 90 90 41 81 7F 14 00 00 2F 44 77 50 90 90 90 90 41 81 7F 18 00 00 D2 43 72 42 90 90 90 90 41 81 7F 18 00 80 09 44 77 34 90 90 90 90 41 C7 47 CC 00 80 09 44 41 C7 47 D0 00 80 09 44 41 C7 47 D4 00 80 09 44 41 C7 47 E4 00 80 09 44 41 C7 47 F0 00 80 09 44 41 C7 47 F4 00 80 09 44" ; exit01: ; pop rax $op_code01 &= "58" $op_code00 &= $op_code01 ;mov rcx,[rcx] ;mov rcx,[rcx+000001B8] $op_code00 &= $cmp_op00last ; jmp 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"90" ; > v64bit ;$op_code00 &= "68"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"C3 90" ; > 32bit $op_code00 = StringReplace($op_code00, " ", "") _MemoryWrite64($vtmem_cmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") $op_code00 = "" ;ClipPut(Hex($vtmem_cmp00)) ;MsgBox("","check","01 = "&hex($cmp_jmp00)&" 02 = "&hex($vtmem_cmp00)&" 03 = "&$op_code00,0) ; jmp to vtmem 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($vtmem_cmp00,0)&"90" $op_code00 = StringReplace($op_code00, " ", "") ; jmp op next _MemoryWrite64($cmp_jmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") ; > 64bit ; _Pause($process[$loopacc0],"pause") ; "pause" "return" $op_code00 = "" ;_MemoryWrite64($cmp_jmp00, $procHwnd0, $op_code00,"byte["&StringLen($op_code00)/2&"]") ;$op_code00 = "" _MemoryWrite64($cmp_jmp00+$ws_send01_back-0x1, $procHwnd01, 0x90,'byte[1]') ; fix > nop $return[0] = "0x"&Hex($vtmem_cmp00) ; jmp to vtmem vi tri allocate = $vtmem_cmp00 $return[1] = "0x"&Hex($vtmem_cmp00var) ; jmp to vtmem value vi tri allocate = $vtmem_cmp00var $return[2] = "0x"&Hex($cmp_jmp00) ; vi tri default asm game = $cmp_jmp00 $return[3] = "0x"&Hex($cmp_jmp00+$ws_send01_back) ; jmp op back vi tri default asm game = $cmp_jmp00+$ws_send01_back Return $return EndFunc ; da update done Func _cmp_render_draw01($loopacc0,$procHwnd0,$vtmem0, $vtmem0var,$module0,$address0=0x116EB92) ; kiem tra enemy sm_render_draw02USE ; "DiabloImmortal.exe"+FFFD73 > "DiabloImmortal.exe"+1000DF3: > "DiabloImmortal.exe"+116EB92: ;// arrow + light ;// [r15+14] = x float ;// [r15+18] = y float ;// [r15+24] = x size float ;// [r15+28] = y size float ;// [r15+6C] bat = 0 tat = 1, +2C x y hps ;//movss xmm10,[r15+18] ;//movss xmm11,[r15+1C] ;movss xmm13,[r15-34] ;//movss xmm14,[r15-30] ;//movss xmm15,[r15-2C] Local $return[9] $ws_send01_jmp = 0x4 ; $module0+$address0 jmp Next > 4byte de check co vtmem $ws_send01_back = 0x12 ; $module0+$address0 jmp back +1 $ws_send01_op01 = "F3 45 0F 10 6F CC F3 45 0F 10 77 D0 F3 45 0F 10 7F D4" ; movss xmm13,[r15-34] $vtmem_cmp00 = $vtmem0+$ws_send01_jmp $vtmem_cmp00var = $vtmem0var $cmp_jmp00 = _Module_GetBaseAddress($procHwnd0, $module0)+$address0 ;$cmp_jmp00 = _WinAPI_GetModuleHandle($WS2_32_dll) ;$cmp_jmp00 = _WinAPI_GetProcAddress($cmp_jmp00, "send")+$ws_send01_jmp $cmp_op00 = StringReplace($ws_send01_op01, " ", "") ; fist jmp vtmem $cmp_op00last = StringReplace("", " ", "") ; last jmp vtmem Global $op_code00 = "" Global $op_code01 = "" $op_code00 &= $cmp_op00 ; push rax $op_code01 &= "50" ; mov rax,1DF0CFC0000 // address 0x0 value vtmem $op_code01 &= "48 B8 "&_ReadF($vtmem_cmp00var,0) ;// REMOVE ARROW Clans unlocked + Open Inventory + Click to view ;cmp byte ptr [rax+8*3],1 // bat = 1 tat = 0 ;jne if03 ;cmp [r15+24],(float)0.2 // 0.6171875 ;jb if03 ;cmp [r15+24],(float)0.8 // 0.6171875 ;ja if03 ;cmp [r15+28],(float)0.0 // 0.53515625 ;jb if03 ;cmp [r15+28],(float)0.6 // 0.53515625 ;ja if03 ;cmp [r15-1C],(float)307 // 607-200 xmin > 407 > 307 ;jb if03 ;cmp [r15-4],(float)678 // 618+60 xmax ;ja if03 ;cmp [r15-18],(float)404 // 454-50 ymax ( flip - 500y ) ;jb if03 ;cmp [r15-0],(float)527 // 467+60 ymin ( flip - 500y ) ;ja if03 ;movss xmm13,[r15-28] ;if03: $op_code01 &= "80 78 18 01 75 79 90 90 90 90 41 81 7F 24 CD CC 4C 3E 72 6B 90 90 90 90 41 81 7F 24 CD CC 4C 3F 77 5D 90 90 90 90 41 81 7F 28 00 00 00 00 72 4F 90 90 90 90 41 81 7F 28 9A 99 19 3F 77 41 90 90 90 90 41 81 7F E4 00 80 99 43 72 33 90 90 90 90 41 81 7F FC 00 80 29 44 77 25 90 90 90 90 41 81 7F E8 00 00 CA 43 72 17 90 90 90 90 41 81 3F 00 C0 03 44 77 0A 90 90 90 90 F3 45 0F 10 6F D8" ; exit01: ; pop rax $op_code01 &= "58" $op_code00 &= $op_code01 ;mov rcx,[rcx] ;mov rcx,[rcx+000001B8] $op_code00 &= $cmp_op00last ; jmp 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"90" ; > v64bit ;$op_code00 &= "68"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"C3 90" ; > 32bit $op_code00 = StringReplace($op_code00, " ", "") _MemoryWrite64($vtmem_cmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") $op_code00 = "" ;ClipPut(Hex($vtmem_cmp00)) ;MsgBox("","check","01 = "&hex($cmp_jmp00)&" 02 = "&hex($vtmem_cmp00)&" 03 = "&$op_code00,0) ; jmp to vtmem 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($vtmem_cmp00,0)&"90" $op_code00 = StringReplace($op_code00, " ", "") ; jmp op next _MemoryWrite64($cmp_jmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") ; > 64bit ; _Pause($process[$loopacc0],"pause") ; "pause" "return" $op_code00 = "" ;_MemoryWrite64($cmp_jmp00, $procHwnd0, $op_code00,"byte["&StringLen($op_code00)/2&"]") ;$op_code00 = "" _MemoryWrite64($cmp_jmp00+$ws_send01_back-0x1, $procHwnd01, 0x90,'byte[1]') ; fix > nop $return[0] = "0x"&Hex($vtmem_cmp00) ; jmp to vtmem vi tri allocate = $vtmem_cmp00 $return[1] = "0x"&Hex($vtmem_cmp00var) ; jmp to vtmem value vi tri allocate = $vtmem_cmp00var $return[2] = "0x"&Hex($cmp_jmp00) ; vi tri default asm game = $cmp_jmp00 $return[3] = "0x"&Hex($cmp_jmp00+$ws_send01_back) ; jmp op back vi tri default asm game = $cmp_jmp00+$ws_send01_back Return $return EndFunc ;$a_starxy00 = _map2d_3dxy01(10,14,$p_player_view01[0],$p_player_view01[1],175,120,1,1,2.7,2.7) Func _map2d_3dxy01($x00=-18,$y00=19,$x01="$p_player_view01[0]",$y01="$p_player_view01[1]",$tx0=175,$ty0=120,$title_x00=1,$title_y00=1,$tsizex00=2.7,$tsizey00=2.7) Local $return[4] If $x00 <> 0 and $y00 <> 0 Then $tsizex01 = $tsizex00 $tsizey01 = $tsizey00 $t3dx1 = $x00 ; player x Default [0] a star $t3dy1 = $y00 ; player y Default [0] a star $t3dx2 = $x01 ; $p_player_view01[0] $t3dy2 = $y01 ; $p_player_view01[1] $tx1 = $tx0 ; x center a star array $ty1 = $ty0 ; y center a star array $title_x02 = $title_x00 $title_y02 = $title_y00 $mlxyf01 = _mouse45($t3dx1, $t3dy1,$t3dx2, $t3dy2,$title_x02,$title_y02, $t3dx1,$t3dy1) $t3dx3 = $mlxyf01[0]-$t3dx1 $t3dy3 = $mlxyf01[1]-$t3dy1 $tx3 = Int($tx1-$t3dx3/$tsizex01) $ty3 = Int($ty1-$t3dy3/$tsizey01) $return[0] = $tx3 $return[1] = $ty3 ElseIf $x00 = 0 and $y00 = 0 Then $return[0] = 0 $return[1] = 0 EndIf Return $return EndFunc ; da update ok chua thay Func _cmp_render_map_no_fog06($loopacc0,$procHwnd0,$vtmem0, $vtmem0var,$module0,$address0=0x2606985) ; kiem tra enemy asm_render_map_no_fog07USE ; "DiabloImmortal.exe"+2607965: > "DiabloImmortal.exe"+1E9E445: > "DiabloImmortal.exe"+2606985: ;//mov [rdi+000002F8],rbx //mov [rdi+000002C0],rbx ( cu ) ;mov r14,[rsp+00000188] ;//mov r15,[rsp+38] ;//mov bpl,01 ;//test byte ptr [rdi+00000208],20 //test byte ptr [rdi+000001D0],20 ( cu ) // ko du byte > mov r14,[rsp+00000188] ;// byte ptr [rdi+158],3F > 0F tat fog ;// byte ptr [rdi+208],20 = bat 00 = tat ;//[rdi+298] = float X LEFT+UP 511 ;//[rdi+29C] = float Y LEFT+UP 510 ;//[rdi+2E0] = float X RIGHT+DOWN 677 ;//[rdi+2E4] = float Y RIGHT+DOWN 383 Local $return[9] $ws_send01_jmp = 0x4 ; $module0+$address0 jmp Next > 4byte de check co vtmem $ws_send01_back = 0x10 ; $module0+$address0 jmp back +1 $ws_send01_op01 = "4C 8B B4 24 88 01 00 00 4C 8B 7C 24 38 40 B5 01" ; mov r14,[rsp+00000188] $vtmem_cmp00 = $vtmem0+$ws_send01_jmp $vtmem_cmp00var = $vtmem0var $cmp_jmp00 = _Module_GetBaseAddress($procHwnd0, $module0)+$address0 ;$cmp_jmp00 = _WinAPI_GetModuleHandle($WS2_32_dll) ;$cmp_jmp00 = _WinAPI_GetProcAddress($cmp_jmp00, "send")+$ws_send01_jmp $cmp_op00 = StringReplace("", " ", "") ; fist jmp vtmem $cmp_op00last = StringReplace($ws_send01_op01, " ", "") ; last jmp vtmem Global $op_code00 = "" Global $op_code01 = "" $op_code00 &= $cmp_op00 ; push rax $op_code01 &= "50" ; mov rax,1DF0CFC0000 // address 0x0 value vtmem $op_code01 &= "48 B8 "&_ReadF($vtmem_cmp00var,0) ;push rbx ;mov rbx,[rax] ;add rbx,08 $op_code01 &= "53 48 8B 18 48 83 C3 08" ;// xoa fog byte ptr [rdi+158] = 3F > 0F ;cmp rdi,0 // address check ;je if01 ;cmp byte ptr [rdi+158],3F // 425+20 ;jne if01 ;cmp [rdi+218],(float)572 // 425+20 ;jne if01 ;cmp byte ptr [rdi+00000208],20 ;jne if01 ;mov byte ptr [rdi+158],0F // number map ;if01: $op_code01 &= "48 83 FF 00 74 35 90 90 90 90 80 BF 58 01 00 00 3F 75 28 90 90 90 90 81 BF 18 02 00 00 00 00 0F 44 75 18 90 90 90 90 80 BF 08 02 00 00 20 75 0B 90 90 90 90 C6 87 58 01 00 00 0F" ;// tat map byte ptr [rdi+228] = 20 > 0 ;cmp rdi,0 // address check ;je if02 ;cmp [rdi+218],(float)572 // 425+20 ;jne if02 ;cmp [rdi+78],3ED70A3E // (float)0.42 ;jne if02 ;cmp byte ptr [rdi+00000208],20 ;jne if02 ;mov [rax+8*60],rdi ;if02: $op_code01 &= "48 83 FF 00 74 35 90 90 90 90 81 BF 18 02 00 00 00 00 0F 44 75 25 90 90 90 90 81 7F 78 3E 0A D7 3E 75 18 90 90 90 90 80 BF 08 02 00 00 20 75 0B 90 90 90 90 48 89 B8 00 03 00 00" ;// distance player center map ;cmp rdi,0 // address check ;je if03 ;cmp byte ptr [rdi+158],0F // 425+20 ;jne if03 ;cmp [rax+0],28 // for loop < 50 (190) 5 (28) 10 (48) 20 (90) ;ja if01 ;cmp [rdi+214],(float)572 // 425+20 ;jne if03 ;cmp [rdi+78],3ED70A3E // (float)0.42 ;jne if03 ;cmp byte ptr [rdi+00000208],20 // cmp byte ptr [rdi+000001D0],20 (cu) ;jne if03 ;cmp [rdi+238],(float)500 // > 510 ;jb if03 ;cmp [rdi+238],(float)687 // < 677 ;ja if03 ;cmp [rdi+280],(float)500 // > 510 ;jb if03 ;cmp [rdi+280],(float)687 // < 677 ;ja if03 ;cmp [rdi+23C],(float)373 // > 383 ;jb if03 ;cmp [rdi+23C],(float)520 // < 510 ;ja if03 ;cmp [rdi+284],(float)373 // > 383 ;jb if03 ;cmp [rdi+284],(float)520 // < 510 ;ja if03 ;cmp [rax+8*1],rdi // < 510 ;je if03 ;cmp [rax+8*2],rdi // < 510 ;je if03 ;cmp [rax+8*3],rdi // < 510 ;je if03 ;cmp [rax+8*4],rdi // < 510 ;je if03 ;cmp [rax+8*5],rdi // < 510 ;je if03 ;cmp [rax+8*6],rdi // < 510 ;je if03 ;cmp [rax+8*7],rdi // < 510 ;je if03 ;cmp [rax+8*8],rdi // < 510 ;je if03 ;cmp [rax+8*9],rdi // < 510 ;je if03 ;cmp [rax+8*10],rdi // < 510 ;je if03 ;cmp [rax+8*11],rdi // < 510 ;je if03 ;cmp [rax+8*12],rdi // < 510 ;je if03 ;cmp [rax+rbx],00 // [rax+8*1] *2 *3 *4 *5 ;jne if03 ;mov [rax+0],rbx ;mov [rax+rbx],rdi ;if03: $op_code01 &= "48 83 FF 00 0F 84 52 01 00 00 80 BF 58 01 00 00 0F 0F 85 45 01 00 00 83 38 50 0F 87 3C 01 00 00 81 BF 18 02 00 00 00 00 0F 44 0F 85 2C 01 00 00 81 7F 78 3E 0A D7 3E 0F 85 1F 01 00 00 80 BF 08 02 00 00 20 0F 85 12 01 00 00 81 BF 70 02 00 00 00 00 FA 43 0F 82 02 01 00 00 81 BF 70 02 00 00 00 40 2E 44 0F 87 F2 00 00 00 81 BF B8 02 00 00 00 00 40 42 0F 82 E2 00 00 00 81 BF B8 02 00 00 00 40 2E 44 0F 87 D2 00 00 00 81 BF 74 02 00 00 00 80 BA 43 0F 82 C2 00 00 00 81 BF 74 02 00 00 00 00 02 44 0F 87 B2 00 00 00 81 BF BC 02 00 00 00 80 BA 43 0F 82 A2 00 00 00 81 BF BC 02 00 00 00 00 02 44 0F 87 92 00 00 00 48 39 78 08 0F 84 88 00 00 00 48 39 78 10 0F 84 7E 00 00 00 48 39 78 18 74 78 90 90 90 90" $op_code01 &= "48 39 78 20 74 6E 90 90 90 90 48 39 78 28 74 64 90 90 90 90 48 39 78 30 74 5A 90 90 90 90 48 39 78 38 74 50 90 90 90 90 48 39 78 40 74 46 90 90 90 90 48 39 78 48 74 3C 90 90 90 90 48 39 B8 80 00 00 00 74 2F 90 90 90 90 48 39 B8 88 00 00 00 74 22 90 90 90 90 48 39 B8 90 00 00 00 74 15 90 90 90 90 83 3C 18 00 75 0B 90 90 90 90 48 89 18 48 89 3C 18" ;// check map 1 2 3 4 > 1 > [rdi+1D0] = 0 ;cmp rdi,0 // address check ;je if03_m ;cmp byte ptr [rdi+00000208],20 // cmp byte ptr [rdi+000001D0],20 ( cu ) ;jne if03_m ;cmp [rax+8*1],rdi // < 510 ;jne if03_m ;cmp [rax+8*2],0 // < 510 ;je if03_m ;cmp [rax+8*3],0 // < 510 ;je if03_m ;cmp [rax+8*4],0 // < 510 ;je if03_m ;mov byte ptr [rdi+00000208],0 // mov byte ptr [rdi+000001D0],0 (cu) ;if03_m: ;cmp [rax+08],rdi 08 cmp dword ptr [rax+10],00 cmp dword ptr [rax+18],00 ;$op_code01 &= "48 83 FF 00 74 40 90 90 90 90 80 BF 28 02 00 00 20 75 33 90 90 90 90 48 39 78 08 75 29 90 90 90 90 83 78 10 00 74 1F 90 90 90 90 83 78 18 00 74 15 90 90 90 90 83 78 20 00 74 0B 90 90 90 90 C6 87 28 02 00 00 00" For $lp = 1-1 to 9-1 $h01 = Hex(0x8*(1+$lp),2) $h02 = Hex(0x8*(2+$lp),2) $h03 = Hex(0x8*(2+$lp),2) $h04 = Hex(0x8*(2+$lp),2) $op_code01 &= "48 83 FF 00 74 40 90 90 90 90 80 BF 08 02 00 00 20 75 33 90 90 9090483978"& $h01 &"75 29909090908378"& $h02 &" 00 741F909090908378"& $h03 &" 00 74 15 90 90 90 90 83 78 "& $h04 &" 00 74 0B 90 90 90 90 C6 87 08 02 00 00 00" Next ;// distance player center map > fix remove map ;cmp rdi,0 // address check ;je if04 ;cmp byte ptr [rdi+158],0F // 425+20 ;jne if04 ;cmp [rdi+214],(float)572 // 425+20 ;jne if04 ;cmp [rdi+78],3ED70A3E // (float)0.42 ;jne if04 ;cmp byte ptr [rdi+00000208],0 // cmp byte ptr [rdi+000001D0],0 ( cu ) ;jne if04 ;cmp [rdi+238],(float)500 // > 510 ;jb if04 ;cmp [rdi+238],(float)697 // < 677 ;ja if04 ;cmp [rdi+280],(float)48 // > 510 ;jb if04 ;cmp [rdi+280],(float)697 // < 677 ;ja if04 ;cmp [rdi+23C],(float)373 // > 383 ;jb if04 ;cmp [rdi+23C],(float)520 // < 510 ;ja if04 ;cmp [rdi+284],(float)373 // > 383 ;jb if04 ;cmp [rdi+284],(float)520 // < 510 ;ja if04 ;cmp [rax+rbx-8],0 // < 510 ;je if04 ;cmp [rax+0],0 // < 510 ;je if04 ;mov [rax+rbx-8],0 // 8byte 0>4 ;mov [rax+rbx-4],0 // 8byte 5>8 ;sub [rax+0],8 ;if04: $op_code01 &= "48 83 FF 00 0F 84 DE 00 00 00 80 BF 58 01 00 00 0F 0F 85 D1 00 00 00 81 BF 18 02 00 00 00 00 0F 44 0F 85 C1 00 00 00 81 7F 78 3E 0A D7 3E 0F 85 B4 00 00 00 80 BF 08 02 00 00 00 0F 85 A7 00 00 00 81 BF 70 02 00 00 00 00 FA 43 0F 82 97 00 00 00 81 BF 70 02 00 00 00 40 2E 44 0F 87 87 00 00 00 81 BF B8 02 00 00 00 00 40 42 72 7B 90 90 90 90 81 BF B8 02 00 00 00 40 2E 44 77 6B 90 90 90 90 81 BF 74 02 00 00 00 80 BA 43 72 5B 90 90 90 90 81 BF 74 02 00 00 00 00 02 44 77 4B 90 90 90 90 81 BF BC 02 00 00 00 80 BA 43 72 3B 90 90 90 90 81 BF BC 02 00 00 00 00 02 44 77 2B 90 90 90 90 83 7C 18 F8 00 74 20 90 90 90 90 83 38 00 74 17 90 90 90 90 C7 44 18 F8 00 00 00 00 C7 44 18 FC 00 00 00 00 83 28 08" ; pop rbx $op_code01 &= "5B" ; exit01: ; pop rax $op_code01 &= "58" $op_code00 &= $op_code01 ;mov rcx,[rcx] ;mov rcx,[rcx+000001B8] $op_code00 &= $cmp_op00last ; jmp 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"90" ; > v64bit ;$op_code00 &= "68"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"C3 90" ; > 32bit $op_code00 = StringReplace($op_code00, " ", "") _MemoryWrite64($vtmem_cmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") $op_code00 = "" ;ClipPut(Hex($vtmem_cmp00)) ;MsgBox("","check","01 = "&hex($cmp_jmp00)&" 02 = "&hex($vtmem_cmp00)&" 03 = "&$op_code00,0) ; jmp to vtmem 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($vtmem_cmp00,0)&"90" $op_code00 = StringReplace($op_code00, " ", "") ; jmp op next _MemoryWrite64($cmp_jmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") ; > 64bit ; _Pause($process[$loopacc0],"pause") ; "pause" "return" $op_code00 = "" ;_MemoryWrite64($cmp_jmp00, $procHwnd0, $op_code00,"byte["&StringLen($op_code00)/2&"]") ;$op_code00 = "" _MemoryWrite64($cmp_jmp00+$ws_send01_back-0x1, $procHwnd01, 0x90,'byte[1]') ; fix > nop $return[0] = "0x"&Hex($vtmem_cmp00) ; jmp to vtmem vi tri allocate = $vtmem_cmp00 $return[1] = "0x"&Hex($vtmem_cmp00var) ; jmp to vtmem value vi tri allocate = $vtmem_cmp00var $return[2] = "0x"&Hex($cmp_jmp00) ; vi tri default asm game = $cmp_jmp00 $return[3] = "0x"&Hex($cmp_jmp00+$ws_send01_back) ; jmp op back vi tri default asm game = $cmp_jmp00+$ws_send01_back Return $return EndFunc ; da update done Func _cmp_render_map_shadow01($loopacc0,$procHwnd0,$vtmem0, $vtmem0var,$module0,$address0=0x11753D0) ; kiem tra enemy asm_render_map_shadow02USE ; "DiabloImmortal.exe"+10055DD: > "DiabloImmortal.exe"+100665D: > "DiabloImmortal.exe"+11753D0: ;// asm_render_mini_tiled03.CEA find shadow mini map ;//movss [rdi+14],xmm0 ;//mov [rdi+10],ecx ;movss xmm1,[rbx+50] ;// movss xmm0,[rbx+4C] ;// mov eax,[rbx+48] Local $return[9] $ws_send01_jmp = 0x4 ; $module0+$address0 jmp Next > 4byte de check co vtmem $ws_send01_back = 0x12 ; $module0+$address0 jmp back +1 $ws_send01_op01 = "F3 0F 10 4B 50 F3 0F 10 43 4C 8B 43 48 F3 0F 11 47 24" ; movss xmm1,[rbx+50] $vtmem_cmp00 = $vtmem0+$ws_send01_jmp $vtmem_cmp00var = $vtmem0var $cmp_jmp00 = _Module_GetBaseAddress($procHwnd0, $module0)+$address0 ;$cmp_jmp00 = _WinAPI_GetModuleHandle($WS2_32_dll) ;$cmp_jmp00 = _WinAPI_GetProcAddress($cmp_jmp00, "send")+$ws_send01_jmp $cmp_op00 = StringReplace($ws_send01_op01, " ", "") ; fist jmp vtmem $cmp_op00last = StringReplace("", " ", "") ; last jmp vtmem Global $op_code00 = "" Global $op_code01 = "" $op_code00 &= $cmp_op00 ; push rax $op_code01 &= "50" ; mov rax,1DF0CFC0000 // address 0x0 value vtmem $op_code01 &= "48 B8 "&_ReadF($vtmem_cmp00var,0) ;cmp [rbx+50],00000000 // Portal ;jne exit01 ;//cmp [rbx+C],7F000000 // shadow mini map ;//je exit01 ;cmp [rbx+C],BF000000 // shadow map ;jne exit01 ;mov [rax+8*1],rbx ;exit01: $op_code01 &= "81 7B 50 00 00 00 00 75 15 90 90 90 90 81 7B 0C 00 00 00 BF 75 08 90 90 90 90 48 89 58 08" ;// shadow mini map ;cmp [rbx+0],(float)529 // 549-20 ;jb exit03 ;cmp [rbx+0],(float)569 // 549+20 ;ja exit03 ;cmp [rbx+4],(float)468 // 488-20 ;jb exit03 ;cmp [rbx+4],(float)508 // 488+20 ;ja exit03 ;cmp [rbx+C],7F000000 // shadow map ;jne exit03 ;mov [rax+8*3],rbx ;mov [rbx+C],FFFFFFFF // default 7F000000 ;mov [rbx+24],FFFFFFFF // default 7F000000 ;mov [rbx+3C],FFFFFFFF // default 7F000000 ;mov [rbx+54],FFFFFFFF // default 7F000000 ;exit03: $op_code01 &= "81 3B 00 40 04 44 72 57 90 90 90 90 81 3B 00 40 0E 44 77 4B 90 90 90 90 81 7B 04 00 00 EA 43 72 3E 90 90 90 90 81 7B 04 00 00 FE 43 77 31 90 90 90 90 81 7B 0C 00 00 00 7F 75 24 90 90 90 90 48 89 58 18 C7 43 0C FF FF FF FF C7 43 24 FF FF FF FF C7 43 3C FF FF FF FF C7 43 54 FF FF FF FF" ;// shadow map ;cmp [rbx-C],(float)1314 // 1334-20 ;jb exit04 ;cmp [rbx-C],(float)1354 // 1334+20 ;ja exit04 ;cmp [rbx-8],(float)910 // 930-20 ;jb exit04 ;cmp [rbx-8],(float)950 // 930+20 ;ja exit04 ;cmp [rbx+C],BF000000 // shadow map ;jne exit04 ;mov [rax+8*4],rbx ;mov [rbx+C],FFFFFFFF // default BF000000 ;mov [rbx+24],FFFFFFFF // default BF000000 ;mov [rbx+3C],FFFFFFFF // default BF000000 ;mov [rbx+54],FFFFFFFF // default BF000000 ;exit04: $op_code01 &= "81 7B F4 00 40 A4 44 72 58 90 90 90 90 81 7B F4 00 40 A9 44 77 4B 90 90 90 90 81 7B F8 00 80 63 44 72 3E 90 90 90 90 81 7B F8 00 80 6D 44 77 31 90 90 90 90 81 7B 0C 00 00 00 BF 75 24 90 90 90 90 48 89 58 20 C7 43 0C FF FF FF FF C7 43 24 FF FF FF FF C7 43 3C FF FF FF FF C7 43 54 FF FF FF FF" ; exit01: ; pop rax $op_code01 &= "58" $op_code00 &= $op_code01 ;mov rcx,[rcx] ;mov rcx,[rcx+000001B8] $op_code00 &= $cmp_op00last ; jmp 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"90" ; > v64bit ;$op_code00 &= "68"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"C3 90" ; > 32bit $op_code00 = StringReplace($op_code00, " ", "") _MemoryWrite64($vtmem_cmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") $op_code00 = "" ;ClipPut(Hex($vtmem_cmp00)) ;MsgBox("","check","01 = "&hex($cmp_jmp00)&" 02 = "&hex($vtmem_cmp00)&" 03 = "&$op_code00,0) ; jmp to vtmem 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($vtmem_cmp00,0)&"90" $op_code00 = StringReplace($op_code00, " ", "") ; jmp op next _MemoryWrite64($cmp_jmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") ; > 64bit ; _Pause($process[$loopacc0],"pause") ; "pause" "return" $op_code00 = "" ;_MemoryWrite64($cmp_jmp00, $procHwnd0, $op_code00,"byte["&StringLen($op_code00)/2&"]") ;$op_code00 = "" $return[0] = "0x"&Hex($vtmem_cmp00) ; jmp to vtmem vi tri allocate = $vtmem_cmp00 $return[1] = "0x"&Hex($vtmem_cmp00var) ; jmp to vtmem value vi tri allocate = $vtmem_cmp00var $return[2] = "0x"&Hex($cmp_jmp00) ; vi tri default asm game = $cmp_jmp00 $return[3] = "0x"&Hex($cmp_jmp00+$ws_send01_back) ; jmp op back vi tri default asm game = $cmp_jmp00+$ws_send01_back Return $return EndFunc Func read_render_mini_tiled03($loopacc0,$procHwnd0,$address0,$view0=0) Local $return[9] $g_item_address01 = _MemoryRead64($address0, $procHwnd0, 'byte[8]',"hex") $g_item_address01x = Int(_MemoryRead6401( "0x"&Hex($g_item_address01+0x0) , $procHwnd0, 'float')) ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_item_address01y = Int(_MemoryRead6401( "0x"&Hex($g_item_address01+0x4) , $procHwnd0, 'float')) ; type = ( byte, float, dword, char[], byte[] ... etc ) If $g_item_address01<>"0" Then $return[0] = $g_item_address01x $return[1] = $g_item_address01y $return[2] = $g_item_address01 EndIf Return $return EndFunc ; da update done Func _cmp_render_mini_tiled03($loopacc0,$procHwnd0,$vtmem0, $vtmem0var,$module0,$address0=0x117540A) ; kiem tra rift defeat + inventory full asm_render_mini_tiled03USE ; "DiabloImmortal.exe"+1005617: > "DiabloImmortal.exe"+1006697: > "DiabloImmortal.exe"+117540A: ;//movss xmm1,[rbx+08] ;//movss xmm0,[rbx+04] ;mov eax,[rbx] ;movss [rdi+44],xmm0 ;//movss [rdi+48],xmm1 Local $return[9] $ws_send01_jmp = 0x4 ; $module0+$address0 jmp Next > 4byte de check co vtmem $ws_send01_back = 0xF ; $module0+$address0 jmp back $ws_send01_op01 = "8B 03 F3 0F 11 47 44 F3 0F 11 4F 48 89 47 40" ;mov eax,[rbx] $vtmem_cmp00 = $vtmem0+$ws_send01_jmp $vtmem_cmp00var = $vtmem0var $cmp_jmp00 = _Module_GetBaseAddress($procHwnd0, $module0)+$address0 ;$cmp_jmp00 = _WinAPI_GetModuleHandle($WS2_32_dll) ;$cmp_jmp00 = _WinAPI_GetProcAddress($cmp_jmp00, "send")+$ws_send01_jmp $cmp_op00 = StringReplace($ws_send01_op01, " ", "") ; fist jmp vtmem $cmp_op00last = StringReplace("", " ", "") ; last jmp vtmem Global $op_code00 = "" Global $op_code01 = "" $op_code00 &= $cmp_op00 ; push rax $op_code01 &= "50" ; mov rax,1DF0CFC0000 // address 0x0 value vtmem $op_code01 &= "48 B8 "&_ReadF($vtmem_cmp00var,0) ;cmp [rbx-18],(float)5 // Portal 610 450 ;jne exit01 ;cmp [rbx-14],(float)48 // Portal ;jne exit01 ;cmp [rbx-C],(float)43 // Portal ;jne exit01 ;cmp [rbx-8],(float)48 // Portal ;jne exit01 ;mov [rax+8*1],rbx ;exit01: ;// icon name map ;cmp [rbx+0],(float)601 // 621-20 ;jb exit02 ;cmp [rbx+0],(float)641 // 621+20 ;ja exit02 ;cmp [rbx+4],(float)390 // 410-20 ;jb exit02 ;cmp [rbx+4],(float)430 // 410+20 ;ja exit02 ;mov [rbx+C],000000FF // default 7F000000 ;mov [rbx+24],000000FF // default 7F000000 ;mov [rbx+3C],000000FF // default 7F000000 ;mov [rbx+54],000000FF // default 7F000000 ;mov [rax+8*2],rbx ;exit02: $op_code01 &= "81 7B E8 00 00 A0 40 75 2F 90 90 90 90 81 7B EC 00 00 40 42 75 22 90 90 90 90 81 7B F4 00 00 2C 42 75 15 90 90 90 90 81 7B F8 00 00 40 42 75 08 90 90 90 90 48 89 58 08 81 3B 00 40 16 44 72 4A 90 90 90 90 81 3B 00 40 20 44 77 3E 90 90 90 90 81 7B 04 00 00 C3 43 72 31 90 90 90 90 81 7B 04 00 00 D7 43 77 24 90 90 90 90 C7 43 0C FF 00 00 00 C7 43 24 FF 00 00 00 C7 43 3C FF 00 00 00 C7 43 54 FF 00 00 00 48 89 58 10" ;// icon player map ;cmp [rbx-18],(float)9 // Portal 610 450 ;jne exit03 ;cmp [rbx-14],(float)27 // Portal ;jne exit03 ;cmp [rbx-C],(float)27 // Portal ;jne exit03 ;cmp [rbx-8],(float)27 // Portal ;jne exit03 ;cmp [rbx+10],3F750000 ;jne exit03 ;mov [rax+8*3],rbx ;exit03: $op_code01 &= "81 7B E8 00 00 10 41 75 3C 90 90 90 90 81 7B EC 00 00 D8 41 75 2F 90 90 90 90 81 7B F4 00 00 D8 41 75 22 90 90 90 90 81 7B F8 00 00 D8 41 75 15 90 90 90 90 81 7B 10 00 00 75 3F 75 08 90 90 90 90 48 89 58 18" ; exit01: ; pop rax $op_code01 &= "58" $op_code00 &= $op_code01 ;mov rcx,[rcx] ;mov rcx,[rcx+000001B8] $op_code00 &= $cmp_op00last ; jmp 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"90" ; > v64bit ;$op_code00 &= "68"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"C3 90" ; > 32bit $op_code00 = StringReplace($op_code00, " ", "") _MemoryWrite64($vtmem_cmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") $op_code00 = "" ;ClipPut(Hex($vtmem_cmp00)) ;MsgBox("","check","01 = "&hex($cmp_jmp00)&" 02 = "&hex($vtmem_cmp00)&" 03 = "&$op_code00,0) ; jmp to vtmem 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($vtmem_cmp00,0)&"90" $op_code00 = StringReplace($op_code00, " ", "") ; jmp op next _MemoryWrite64($cmp_jmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") ; > 64bit ; _Pause($process[$loopacc0],"pause") ; "pause" "return" $op_code00 = "" ;_MemoryWrite64($cmp_jmp00, $procHwnd0, $op_code00,"byte["&StringLen($op_code00)/2&"]") ;$op_code00 = "" $return[0] = "0x"&Hex($vtmem_cmp00) ; jmp to vtmem vi tri allocate = $vtmem_cmp00 $return[1] = "0x"&Hex($vtmem_cmp00var) ; jmp to vtmem value vi tri allocate = $vtmem_cmp00var $return[2] = "0x"&Hex($cmp_jmp00) ; vi tri default asm game = $cmp_jmp00 $return[3] = "0x"&Hex($cmp_jmp00+$ws_send01_back) ; jmp op back vi tri default asm game = $cmp_jmp00+$ws_send01_back Return $return EndFunc ; da update ok chua thay Func _cmp_mat_hinh03($loopacc0,$procHwnd0,$vtmem0, $vtmem0var,$module0,$address0=0x436023) ; kiem tra enemy asm_je_mat_hinh05USE ; "DiabloImmortal.exe"+3C150A: > "DiabloImmortal.exe"+3C264A: > new func "DiabloImmortal.exe"+436023 ;cmp byte ptr [r13+33],04 ;//jne 7FF654D12E34 ;//test byte ptr [r12+00000121],40 // cu test byte ptr [r12+0000011D],40 // cu test byte ptr [r12+00000115],40 ;//je 7FF654D13435 ;//mov rax,[7FF657F1BFC0] ;cmp [rax+00000350],dil //cu cmp [rax+00000348],dil //cu cmp [rax+00000320],dil Local $return[9] $ws_send01_jmp = 0x4 ; $module0+$address0 jmp Next > 4byte de check co vtmem $ws_send01_back = 0x10 ; $module0+$address0 jmp back +1 $ws_send01_op01 = "41 80 7D 33 04" ; cmp byte ptr [r13+33],04 $ws_send01_op01 &= "75 09" ; jne 7FF752E16033 $ws_send01_op01 &= "38 5E 45" ; cmp [rsi+45],bl $ws_send01_op01 &= "0F 84 A2 05 00 00" ; je 7FF752E165D5 $vtmem_cmp00 = $vtmem0+$ws_send01_jmp $vtmem_cmp00var = $vtmem0var $cmp_jmp00 = _Module_GetBaseAddress($procHwnd0, $module0)+$address0 ;$cmp_jmp00 = _WinAPI_GetModuleHandle($WS2_32_dll) ;$cmp_jmp00 = _WinAPI_GetProcAddress($cmp_jmp00, "send")+$ws_send01_jmp $cmp_op00 = StringReplace("", " ", "") ; fist jmp vtmem $cmp_op00last = StringReplace("", " ", "") ; last jmp vtmem Global $op_code00 = "" Global $op_code01 = "" $op_code00 &= $cmp_op00 ; push rax ;$op_code01 &= "50" ; mov rax,1DF0CFC0000 // address 0x0 value vtmem ;$op_code01 &= "48 B8 "&_ReadF($vtmem_cmp00var,0) ;cmp [7FFE0338],00002114 // $active_process ;jne jne01 ; cmp byte ptr [r13+33],00 ; je fix01 ; //jne "DiabloImmortal.exe"+72EE2E+16 > fix01 ; jmp returnhere+5AD // > je 7FF752E165D5 mov r9,[rsi+000000B8] ; fix01: ;cmp [rsi+45],bl ;jne01: ;$process_fix01 = _MemoryRead64($active_process, $procHwnd0, 'byte[8]',"hex") ; rsi $process_fix01 = ""&$process[$loopacc0] $process_fix02 = _ReadF($process_fix01,0) ;MsgBox("","check","01 = "&$process_fix01&" 02 = "&$process_fix02&" 03 = "&Hex($process[$loopacc0]),0) ;Exit $back_fix01 = "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back-0x10+0x5B2,0)&"90" ; 0x5B2 la vi tri je 7FF752E165D5 nhay toi mov r9,[rsi+000000B8] ; "5C 16 00 00" "E9 B4 65 45 00" $op_code01 &= "81 3C 25 38 03 FE 7F "& $process_fix02 &" 75 20 90 90 90 90 41 80 7D 33 00 74 12 90 90 90 90 "&$back_fix01&" 90 90 90 90 90 90 90 90 90 38 5E 45 " ;cmp [7FFE0338],00002114 // $active_process ;je je01 ; cmp byte ptr [r13+33],04 ; je fix02 ; //jne "DiabloImmortal.exe"+72EE2E+16 > fix02 ; jmp returnhere+5AD // > je 7FF752E165D5 mov r9,[rsi+000000B8] ; fix02: ;cmp [rsi+45],bl ;je01: ; "5C 16 00 00" "E9 B4 65 45 00" $op_code01 &= "81 3C 25 38 03 FE 7F "& $process_fix02 &" 74 20 90 90 90 90 41 80 7D 33 04 74 12 90 90 90 90 "&$back_fix01&" 90 90 90 90 90 90 90 90 90 38 5E 45 " ; exit01: ; pop rax ; $op_code01 &= "58" $op_code00 &= $op_code01 ;mov rcx,[rcx] ;mov rcx,[rcx+000001B8] $op_code00 &= $cmp_op00last ;ClipPut($op_code00) ; jmp 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"90" ; > v64bit ;$op_code00 &= "68"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"C3 90" ; > 32bit $op_code00 = StringReplace($op_code00, " ", "") _MemoryWrite64($vtmem_cmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") $op_code00 = "" ;ClipPut(Hex($vtmem_cmp00)) ;MsgBox("","check","01 = "&hex($cmp_jmp00)&" 02 = "&hex($vtmem_cmp00)&" 03 = "&$op_code00,0) ; jmp to vtmem 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($vtmem_cmp00,0)&"90" $op_code00 = StringReplace($op_code00, " ", "") ; jmp op next _MemoryWrite64($cmp_jmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") ; > 64bit ; _Pause($process[$loopacc0],"pause") ; "pause" "return" $op_code00 = "" ;_MemoryWrite64($cmp_jmp00, $procHwnd0, $op_code00,"byte["&StringLen($op_code00)/2&"]") ;$op_code00 = "" $return[0] = "0x"&Hex($vtmem_cmp00) ; jmp to vtmem vi tri allocate = $vtmem_cmp00 $return[1] = "0x"&Hex($vtmem_cmp00var) ; jmp to vtmem value vi tri allocate = $vtmem_cmp00var $return[2] = "0x"&Hex($cmp_jmp00) ; vi tri default asm game = $cmp_jmp00 $return[3] = "0x"&Hex($cmp_jmp00+$ws_send01_back) ; jmp op back vi tri default asm game = $cmp_jmp00+$ws_send01_back Return $return EndFunc ; da update ok chua thay Func _cmp_mat_hinh03xxxx($loopacc0,$procHwnd0,$vtmem0, $vtmem0var,$module0,$address0=0x3C264A) ; kiem tra enemy asm_je_mat_hinh04USE ; "DiabloImmortal.exe"+3C6AFA: > "DiabloImmortal.exe"+3C150A: > "DiabloImmortal.exe"+3C264A: ;cmp byte ptr [r13+33],04 ;//jne 7FF654D12E34 ;//test byte ptr [r12+00000121],40 // cu test byte ptr [r12+0000011D],40 // cu test byte ptr [r12+00000115],40 ;//je 7FF654D13435 ;//mov rax,[7FF657F1BFC0] ;cmp [rax+00000350],dil //cu cmp [rax+00000348],dil //cu cmp [rax+00000320],dil Local $return[9] $ws_send01_jmp = 0x4 ; $module0+$address0 jmp Next > 4byte de check co vtmem $ws_send01_back = 0x10 ; $module0+$address0 jmp back +1 $ws_send01_op01 = "41 80 7D 33 04" ; cmp byte ptr [r13+33],04 $ws_send01_op01 &= "75 0F" ; jne 7FF76C33EE44 $ws_send01_op01 &= "41 F6 84 24 15 01 00 00 40" ; jne 7FF76C33EE44 $vtmem_cmp00 = $vtmem0+$ws_send01_jmp $vtmem_cmp00var = $vtmem0var $cmp_jmp00 = _Module_GetBaseAddress($procHwnd0, $module0)+$address0 ;$cmp_jmp00 = _WinAPI_GetModuleHandle($WS2_32_dll) ;$cmp_jmp00 = _WinAPI_GetProcAddress($cmp_jmp00, "send")+$ws_send01_jmp $cmp_op00 = StringReplace("", " ", "") ; fist jmp vtmem $cmp_op00last = StringReplace("", " ", "") ; last jmp vtmem Global $op_code00 = "" Global $op_code01 = "" $op_code00 &= $cmp_op00 ; push rax ;$op_code01 &= "50" ; mov rax,1DF0CFC0000 // address 0x0 value vtmem ;$op_code01 &= "48 B8 "&_ReadF($vtmem_cmp00var,0) ;cmp [7FFE0338],0000165C // $active_process ;jne jne01 ; cmp byte ptr [r13+33],04 ; je fix01 ; //jne "DiabloImmortal.exe"+72EE2E+16 > fix01 ; jmp 7FF76C33EE44 ; fix01: ;test byte ptr [r12+00000121],00 > cu test byte ptr [r12+0000011D],00 ; cu test byte ptr [r12+00000115],00 ;jne01: ;$process_fix01 = _MemoryRead64($active_process, $procHwnd0, 'byte[8]',"hex") ; rsi $process_fix01 = ""&$process[$loopacc0] $process_fix02 = _ReadF($process_fix01,0) ;MsgBox("","check","01 = "&$process_fix01&" 02 = "&$process_fix02&" 03 = "&Hex($process[$loopacc0]),0) ;Exit $back_fix01 = "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"90" ; "5C 16 00 00" "E9 23 EE 73 00" $op_code01 &= "81 3C 25 38 03 FE 7F "& $process_fix02 &" 75 1D 90 90 90 90 41 80 7D 33 04 74 13 90 90 90 90 "&$back_fix01&" 41 F6 84 24 1D 01 00 00 40" ; 41 F6 84 24 1D 01 00 00 40 ;cmp [7FFE0338],0000050C // $active_process ;je je01 ; cmp byte ptr [r13+33],00 ; je fix02 ; //jne "DiabloImmortal.exe"+72EE2E+16 > fix02 ; jmp 7FF76C33EE44 ; fix02: ; test byte ptr [r12+00000121],00 > cu test byte ptr [r12+0000011D],00 ; cu test byte ptr [r12+00000115],00 ;je01: ; "5C 16 00 00" "E9 23 EE 73 00" $op_code01 &= "81 3C 25 38 03 FE 7F "& $process_fix02 &" 74 1D 90 90 90 90 41 80 7D 33 00 74 13 90 90 90 90 "&$back_fix01&" 41 F6 84 24 21 01 00 00 00" ; 41 F6 84 24 1D 01 00 00 00 ; 41 F6 84 24 1D 01 00 00 40 ; exit01: ; pop rax ; $op_code01 &= "58" $op_code00 &= $op_code01 ;mov rcx,[rcx] ;mov rcx,[rcx+000001B8] $op_code00 &= $cmp_op00last ;ClipPut($op_code00) ; jmp 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"90" ; > v64bit ;$op_code00 &= "68"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"C3 90" ; > 32bit $op_code00 = StringReplace($op_code00, " ", "") _MemoryWrite64($vtmem_cmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") $op_code00 = "" ;ClipPut(Hex($vtmem_cmp00)) ;MsgBox("","check","01 = "&hex($cmp_jmp00)&" 02 = "&hex($vtmem_cmp00)&" 03 = "&$op_code00,0) ; jmp to vtmem 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($vtmem_cmp00,0)&"90" $op_code00 = StringReplace($op_code00, " ", "") ; jmp op next _MemoryWrite64($cmp_jmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") ; > 64bit ; _Pause($process[$loopacc0],"pause") ; "pause" "return" $op_code00 = "" ;_MemoryWrite64($cmp_jmp00, $procHwnd0, $op_code00,"byte["&StringLen($op_code00)/2&"]") ;$op_code00 = "" $return[0] = "0x"&Hex($vtmem_cmp00) ; jmp to vtmem vi tri allocate = $vtmem_cmp00 $return[1] = "0x"&Hex($vtmem_cmp00var) ; jmp to vtmem value vi tri allocate = $vtmem_cmp00var $return[2] = "0x"&Hex($cmp_jmp00) ; vi tri default asm game = $cmp_jmp00 $return[3] = "0x"&Hex($cmp_jmp00+$ws_send01_back) ; jmp op back vi tri default asm game = $cmp_jmp00+$ws_send01_back Return $return EndFunc Func read_render_gui_text01($loopacc0,$procHwnd0,$address0,$view0=0) Local $return[65] $g_address00 = _MemoryRead64($address0+0x8*0, $procHwnd0, 'byte[8]',"hex") ; rsi $g_address00offset = _MemoryRead64("0x"&Hex($g_address00+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address00text = _MemoryRead6401( "0x"&Hex($g_address00offset+0x50) , $procHwnd0, 'wchar[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 If $g_address00text <> "" Then $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_address00offset = _MemoryRead64("0x"&Hex($g_address00offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address00text = _MemoryRead6401( "0x"&Hex($g_address00offset+0x0) , $procHwnd0, 'wchar[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf $g_address01 = _MemoryRead64($address0+0x8*1, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address01offset = _MemoryRead64("0x"&Hex($g_address01+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address01text = _MemoryRead6401( "0x"&Hex($g_address01offset+0x50) , $procHwnd0, 'wchar[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 If $g_address01text <> "" Then $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_address01offset = _MemoryRead64("0x"&Hex($g_address01offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address01text = _MemoryRead6401( "0x"&Hex($g_address01offset+0x0) , $procHwnd0, 'wchar[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf $g_address02 = _MemoryRead64($address0+0x8*2, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address02offset = _MemoryRead64("0x"&Hex($g_address02+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address02text = _MemoryRead6401( "0x"&Hex($g_address02offset+0x50) , $procHwnd0, 'wchar[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 If $g_address02text <> "" Then $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_address02offset = _MemoryRead64("0x"&Hex($g_address02offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address02text = _MemoryRead6401( "0x"&Hex($g_address02offset+0x0) , $procHwnd0, 'wchar[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf $g_address03 = _MemoryRead64($address0+0x8*3, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address03offset = _MemoryRead64("0x"&Hex($g_address03+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address03offset = _MemoryRead64("0x"&Hex($g_address03offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address03text = _MemoryRead6401( "0x"&Hex($g_address03offset+0x0) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address04 = _MemoryRead64($address0+0x8*4, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address04offset = _MemoryRead64("0x"&Hex($g_address04+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address04text = _MemoryRead6401( "0x"&Hex($g_address04offset+0x50+0xE) , $procHwnd0, 'wchar[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 If $g_address04text <> "" Then $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_address04offset = _MemoryRead64("0x"&Hex($g_address04offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address04text = _MemoryRead6401( "0x"&Hex($g_address04offset+0x0+0xE) , $procHwnd0, 'wchar[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf $g_address05 = _MemoryRead64($address0+0x8*5, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address05offset = _MemoryRead64("0x"&Hex($g_address05+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address05text = _MemoryRead6401( "0x"&Hex($g_address05offset+0x50+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 If $g_address05text = "Viz-Jun" or $g_address05text = "Lysander" or $g_address05text = "Helliquary" or $g_address05text = "Darkening of Tristram" Then $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_address05offset = _MemoryRead64("0x"&Hex($g_address05offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address05text = _MemoryRead6401( "0x"&Hex($g_address05offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf $g_address06 = _MemoryRead64($address0+0x8*6, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address06offset = _MemoryRead64("0x"&Hex($g_address06+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address06text = _MemoryRead6401( "0x"&Hex($g_address06offset+0x50) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 If $g_address06text = "Exit Game?" or $g_address06text = "Recommendations" Then $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_address06offset = _MemoryRead64("0x"&Hex($g_address06offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address06text = _MemoryRead6401( "0x"&Hex($g_address06offset+0x0) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf $g_address07 = _MemoryRead64($address0+0x8*7, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address07offset = _MemoryRead64("0x"&Hex($g_address07+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address07text = _MemoryRead6401( "0x"&Hex($g_address07offset+0x50) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 If $g_address07text = "Decline" Then $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_address07text = _MemoryRead6401( "0x"&Hex($g_address07offset+0x50+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf $g_address08 = _MemoryRead64($address0+0x8*8, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address08offset = _MemoryRead64("0x"&Hex($g_address08+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address08text = _MemoryRead6401( "0x"&Hex($g_address08offset+0x50+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 If $g_address08text <> "" Then $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_address08offset = _MemoryRead64("0x"&Hex($g_address08offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address08text = _MemoryRead6401( "0x"&Hex($g_address08offset+0x0+0xE) , $procHwnd0, 'wchar[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf $g_address09 = _MemoryRead64($address0+0x8*9, $procHwnd0, 'byte[8]',"hex") ; rsi $g_address10 = _MemoryRead64($address0+0x8*10, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address10offset = _MemoryRead64("0x"&Hex($g_address10+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address10text = _MemoryRead6401( "0x"&Hex($g_address10offset+0x50) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 If $g_address10text = "Decline" Then $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_address10offset = _MemoryRead64("0x"&Hex($g_address10offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address10text = _MemoryRead6401( "0x"&Hex($g_address10offset+0x0) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf $g_address11 = _MemoryRead64($address0+0x8*11, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address11offset = _MemoryRead64("0x"&Hex($g_address11+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address11text = _MemoryRead6401( "0x"&Hex($g_address11offset+0x50+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 If $g_address11text = "Claim" Then $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_address11offset = _MemoryRead64("0x"&Hex($g_address11offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address11text = _MemoryRead6401( "0x"&Hex($g_address11offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf $g_address12 = _MemoryRead64($address0+0x8*12, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address12offset = _MemoryRead64("0x"&Hex($g_address12+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address12text = _MemoryRead6401( "0x"&Hex($g_address12offset+0x50) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 $g_address12text = StringReplace(StringReplace($g_address12text,@CR,""),@LF,"") If $g_address12text = "My Heroes" or $g_address12text = "North America" Then $g_address12text = "My Heroes" ; fix mat my heroes $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_address12offset = _MemoryRead64("0x"&Hex($g_address12offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address12text = _MemoryRead6401( "0x"&Hex($g_address12offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf $g_address13 = _MemoryRead64($address0+0x8*13, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address13offset = _MemoryRead64("0x"&Hex($g_address13+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address13text = _MemoryRead6401( "0x"&Hex($g_address13offset+0x50) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 If $g_address13text = "My Heroes" Then $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_address13offset = _MemoryRead64("0x"&Hex($g_address13offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address13text = _MemoryRead6401( "0x"&Hex($g_address13offset+0xE) , $procHwnd0, 'wchar[37]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf $g_address14 = _MemoryRead64($address0+0x8*14, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address14offset = _MemoryRead64("0x"&Hex($g_address14+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address14text = _MemoryRead6401( "0x"&Hex($g_address14offset+0x50) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 If $g_address14text = "You won't receive clan invitat" Then $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_address14offset = _MemoryRead64("0x"&Hex($g_address14offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address14text = _MemoryRead6401( "0x"&Hex($g_address14offset+0x0) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf $g_address15 = _MemoryRead64($address0+0x8*15, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address15offset = _MemoryRead64("0x"&Hex($g_address15+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address15text = _MemoryRead6401( "0x"&Hex($g_address15offset+0x50) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 If $g_address15text = "Recommended Builds" Then $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_address15offset = _MemoryRead64("0x"&Hex($g_address15offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address15text = _MemoryRead6401( "0x"&Hex($g_address15offset+0x0) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf $g_address16 = _MemoryRead64($address0+0x8*16, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address16offset = _MemoryRead64("0x"&Hex($g_address16+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address16text = _MemoryRead6401( "0x"&Hex($g_address16offset+0x50) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 If $g_address16text = "Version:" Then $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_address16offset = _MemoryRead64("0x"&Hex($g_address16offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address16text = _MemoryRead6401( "0x"&Hex($g_address16offset+0x0) , $procHwnd0, 'wchar[8]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf $g_address17 = _MemoryRead64($address0+0x8*17, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address17offset = _MemoryRead64("0x"&Hex($g_address17+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address17offset = _MemoryRead64("0x"&Hex($g_address17offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi ;$g_address17text = _MemoryRead6401( "0x"&Hex($g_address17offset+0x1D) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address17text = _MemoryRead6401( "0x"&Hex($g_address17offset+0x3A) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address18 = _MemoryRead64($address0+0x8*18, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address18offset = _MemoryRead64("0x"&Hex($g_address18+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address18text = _MemoryRead6401( "0x"&Hex($g_address18offset+0x50) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 If $g_address18text = "Announcement" Then $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_address18offset = _MemoryRead64("0x"&Hex($g_address18offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address18text = _MemoryRead6401( "0x"&Hex($g_address18offset+0x0) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf $g_address19 = _MemoryRead64($address0+0x8*19, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address19offset = _MemoryRead64("0x"&Hex($g_address19+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address19offset = _MemoryRead64("0x"&Hex($g_address19offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address19text = _MemoryRead6401( "0x"&Hex($g_address19offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address20 = _MemoryRead64($address0+0x8*20, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address20offset = _MemoryRead64("0x"&Hex($g_address20+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address20offset = _MemoryRead64("0x"&Hex($g_address20offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address20text = _MemoryRead6401( "0x"&Hex($g_address20offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address24 = _MemoryRead64($address0+0x8*36, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address24offset = _MemoryRead64("0x"&Hex($g_address24+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address24offset = _MemoryRead64("0x"&Hex($g_address24offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address24text = _MemoryRead6401( "0x"&Hex($g_address24offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address25 = _MemoryRead64($address0+0x8*37, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address25offset = _MemoryRead64("0x"&Hex($g_address25+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi ;$g_address25offset = _MemoryRead64("0x"&Hex($g_address25offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address25text = _MemoryRead6401( "0x"&Hex($g_address25offset+0x50) , $procHwnd0, 'wchar[15]') ; type = ( byte, float, dword, char[], byte[] ... etc ) If StringInStr($g_address25text, '#47b31a') > 0 Then $g_address25text = _MemoryRead6401( "0x"&Hex($g_address25offset+0x57) , $procHwnd0, 'wchar[15]') ; type = ( byte, float, dword, char[], byte[] ... etc ) If $g_address25text < 30 Then $g_address25text = 0 Else $g_address25text = 0 EndIf $g_address28line = "" For $lp_line01 = 2 to 4 If $lp_line01 = 1 Then $lp_number = 40 If $lp_line01 = 2 Then $lp_number = 41 If $lp_line01 = 3 Then $lp_number = 48 If $lp_line01 = 4 Then $lp_number = 49 If $lp_line01 = 5 Then $lp_number = 50 If $lp_line01 = 6 Then $lp_number = 51 $g_address28 = _MemoryRead64($address0+0x8*$lp_number, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address28offset = _MemoryRead64("0x"&Hex($g_address28+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address28offset = _MemoryRead64("0x"&Hex($g_address28offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address28text = _MemoryRead6401( "0x"&Hex($g_address28offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address28line &= $g_address28text Next $g_address29 = _MemoryRead64($address0+0x8*40, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address29offset = _MemoryRead64("0x"&Hex($g_address29+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address29offset = _MemoryRead64("0x"&Hex($g_address29offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address29text = _MemoryRead6401( "0x"&Hex($g_address29offset+0x0) , $procHwnd0, 'wchar[7]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address34 = _MemoryRead64($address0+0x8*52, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address34offset = _MemoryRead64("0x"&Hex($g_address34+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address34offset = _MemoryRead64("0x"&Hex($g_address34offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address34text = _MemoryRead6401( "0x"&Hex($g_address34offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address35 = _MemoryRead64($address0+0x8*53, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address35offset = _MemoryRead64("0x"&Hex($g_address35+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address35offset = _MemoryRead64("0x"&Hex($g_address35offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address35text = _MemoryRead6401( "0x"&Hex($g_address35offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address36 = _MemoryRead64($address0+0x8*54, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address36offset = _MemoryRead64("0x"&Hex($g_address36+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address36offset = _MemoryRead64("0x"&Hex($g_address36offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address36text = _MemoryRead6401( "0x"&Hex($g_address36offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address37 = _MemoryRead64($address0+0x8*55, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address37offset = _MemoryRead64("0x"&Hex($g_address37+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address37offset = _MemoryRead64("0x"&Hex($g_address37offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address37text = _MemoryRead6401( "0x"&Hex($g_address37offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address38 = _MemoryRead64($address0+0x8*56, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address38offset = _MemoryRead64("0x"&Hex($g_address38+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address38offset = _MemoryRead64("0x"&Hex($g_address38offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address38text = _MemoryRead6401( "0x"&Hex($g_address38offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address39 = _MemoryRead64($address0+0x8*57, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address39offset = _MemoryRead64("0x"&Hex($g_address39+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address39offset = _MemoryRead64("0x"&Hex($g_address39offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address39text = _MemoryRead6401( "0x"&Hex($g_address39offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address40 = _MemoryRead64($address0+0x8*64, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address40offset = _MemoryRead64("0x"&Hex($g_address40+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address40offset = _MemoryRead64("0x"&Hex($g_address40offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address40text = _MemoryRead6401( "0x"&Hex($g_address40offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address41 = _MemoryRead64($address0+0x8*65, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address41offset = _MemoryRead64("0x"&Hex($g_address41+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address41offset = _MemoryRead64("0x"&Hex($g_address41offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address41text = _MemoryRead6401( "0x"&Hex($g_address41offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address42 = _MemoryRead64($address0+0x8*66, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address42offset = _MemoryRead64("0x"&Hex($g_address42+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address42offset = _MemoryRead64("0x"&Hex($g_address42offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address42text = _MemoryRead6401( "0x"&Hex($g_address42offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address43 = _MemoryRead64($address0+0x8*67, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address43offset = _MemoryRead64("0x"&Hex($g_address43+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address43offset = _MemoryRead64("0x"&Hex($g_address43offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address43text = _MemoryRead6401( "0x"&Hex($g_address43offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address43text = StringReplace(StringReplace($g_address43text,@CR,""),@LF,"") $g_address44 = _MemoryRead64($address0+0x8*68, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address44offset = _MemoryRead64("0x"&Hex($g_address44+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address44offset = _MemoryRead64("0x"&Hex($g_address44offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address44text = _MemoryRead6401( "0x"&Hex($g_address44offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address44text = StringReplace(StringReplace($g_address44text,@CR,""),@LF,"") $g_address45 = _MemoryRead64($address0+0x8*69, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address45offset = _MemoryRead64("0x"&Hex($g_address45+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address45offset = _MemoryRead64("0x"&Hex($g_address45offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address45text = _MemoryRead6401( "0x"&Hex($g_address45offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address45text = StringReplace(StringReplace($g_address45text,@CR,""),@LF,"") $g_address46 = _MemoryRead64($address0+0x8*70, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address46offset = _MemoryRead64("0x"&Hex($g_address46+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address46offset = _MemoryRead64("0x"&Hex($g_address46offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address46text = _MemoryRead6401( "0x"&Hex($g_address46offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address46text = StringReplace(StringReplace($g_address46text,@CR,""),@LF,"") $g_address48 = _MemoryRead64($address0+0x8*72, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address48offset = _MemoryRead64("0x"&Hex($g_address48+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address48offset = _MemoryRead64("0x"&Hex($g_address48offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address48text = _MemoryRead6401( "0x"&Hex($g_address48offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address48text = StringReplace(StringReplace($g_address48text,@CR,""),@LF,"") $g_address49 = _MemoryRead64($address0+0x8*73, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address49offset = _MemoryRead64("0x"&Hex($g_address49+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address49offset = _MemoryRead64("0x"&Hex($g_address49offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address49text = _MemoryRead6401( "0x"&Hex($g_address49offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address49text = StringReplace(StringReplace($g_address49text,@CR,""),@LF,"") $g_address47 = _MemoryRead64($address0+0x8*71, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address47offset = _MemoryRead64("0x"&Hex($g_address47+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address47offset = _MemoryRead64("0x"&Hex($g_address47offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address47text = _MemoryRead6401( "0x"&Hex($g_address47offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address47text = StringReplace(StringReplace($g_address47text,@CR,""),@LF,"") $g_address43text_color = _MemoryRead6401( "0x"&Hex($g_address43offset+0x0) , $procHwnd0, 'wchar[2]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address44text_color = _MemoryRead6401( "0x"&Hex($g_address44offset+0x0) , $procHwnd0, 'wchar[2]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address45text_color = _MemoryRead6401( "0x"&Hex($g_address45offset+0x0) , $procHwnd0, 'wchar[2]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address46text_color = _MemoryRead6401( "0x"&Hex($g_address46offset+0x0) , $procHwnd0, 'wchar[2]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address48text_color = _MemoryRead6401( "0x"&Hex($g_address48offset+0x0) , $procHwnd0, 'wchar[2]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address49text_color = _MemoryRead6401( "0x"&Hex($g_address49offset+0x0) , $procHwnd0, 'wchar[2]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address54text_color = $g_address43text_color&$g_address44text_color&$g_address45text_color&$g_address46text_color&$g_address48text_color&$g_address49text_color $g_address50 = _MemoryRead64($address0+0x8*80, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address50offset = _MemoryRead64("0x"&Hex($g_address50+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi ;$g_address50offset = _MemoryRead64("0x"&Hex($g_address50offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address50text = _MemoryRead6401( "0x"&Hex($g_address50offset+0x57) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address50text = StringReplace(StringReplace($g_address50text,@CR,""),@LF,"") $g_address51 = _MemoryRead64($address0+0x8*81, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address51offset = _MemoryRead64("0x"&Hex($g_address51+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address51text = _MemoryRead6401( "0x"&Hex($g_address51offset+0x50) , $procHwnd0, 'wchar[15]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 If $g_address51text <> "" Then $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_address51offset = _MemoryRead64("0x"&Hex($g_address51offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address51text = _MemoryRead6401( "0x"&Hex($g_address51offset+0x0) , $procHwnd0, 'wchar[15]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf If $g_address51text <> "Exit Rift" Then $g_address52 = _MemoryRead64($address0+0x8*82, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address52offset = _MemoryRead64("0x"&Hex($g_address52+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address52text = _MemoryRead6401( "0x"&Hex($g_address52offset+0x50) , $procHwnd0, 'wchar[15]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 If $g_address52text <> "" Then $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_address52offset = _MemoryRead64("0x"&Hex($g_address52offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address52text = _MemoryRead6401( "0x"&Hex($g_address52offset+0x0) , $procHwnd0, 'wchar[15]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf $g_address51text = $g_address52text EndIf $g_address53 = _MemoryRead64($address0+0x8*83, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address53offset = _MemoryRead64("0x"&Hex($g_address53+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address53offset = _MemoryRead64("0x"&Hex($g_address53offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address53text = _MemoryRead6401( "0x"&Hex($g_address53offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address55 = _MemoryRead64($address0+0x8*85, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address55offset = _MemoryRead64("0x"&Hex($g_address55+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address55offset = _MemoryRead64("0x"&Hex($g_address55offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address55text = _MemoryRead6401( "0x"&Hex($g_address55offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address57 = _MemoryRead64($address0+0x8*87, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address57offset = _MemoryRead64("0x"&Hex($g_address57+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address57offset = _MemoryRead64("0x"&Hex($g_address57offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address57text = _MemoryRead6401( "0x"&Hex($g_address57offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address58 = _MemoryRead64($address0+0x8*88, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address58offset = _MemoryRead64("0x"&Hex($g_address58+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address58offset = _MemoryRead64("0x"&Hex($g_address58offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address58text = _MemoryRead6401( "0x"&Hex($g_address58offset+0xE) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address59 = _MemoryRead64($address0+0x8*89, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address59offset = _MemoryRead64("0x"&Hex($g_address59+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address59offset = _MemoryRead64("0x"&Hex($g_address59offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address59text = _MemoryRead6401( "0x"&Hex($g_address59offset+0x0) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address60 = _MemoryRead64($address0+0x8*96, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address60offset = _MemoryRead64("0x"&Hex($g_address60+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address60offset = _MemoryRead64("0x"&Hex($g_address60offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address60text = _MemoryRead6401( "0x"&Hex($g_address60offset+0x0) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address61 = _MemoryRead64($address0+0x8*97, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address61offset = _MemoryRead64("0x"&Hex($g_address61+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address61offset = _MemoryRead64("0x"&Hex($g_address61offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address61text = _MemoryRead6401( "0x"&Hex($g_address61offset+0x0) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address62 = _MemoryRead64($address0+0x8*98, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address62offset = _MemoryRead64("0x"&Hex($g_address62+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address62offset = _MemoryRead64("0x"&Hex($g_address62offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address62text = _MemoryRead6401( "0x"&Hex($g_address62offset+0x0) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_address63 = _MemoryRead64($address0+0x8*99, $procHwnd0, 'byte[8]',"dec") ; rsi $g_address63offset = _MemoryRead64("0x"&Hex($g_address63+0xB0), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address63offset = _MemoryRead64("0x"&Hex($g_address63offset+0x50), $procHwnd0, 'byte[8]',"hex") ; rsi $g_address63text = _MemoryRead6401( "0x"&Hex($g_address63offset+0x0) , $procHwnd0, 'wchar[30]') ; type = ( byte, float, dword, char[], byte[] ... etc ) ;ClipPut(Hex($g_address25)) ; char + 0x7 > wchar + 0xE If $view0=1 Then MsgBox("","check","$address0+0x8*90 = "&Hex($address0+0x8*96)&" $g_address60offset = "&Hex($g_address60offset)&" $g_address60text = "&$g_address60text,0) $return[0] = $g_address00text $return[1] = $g_address01text $return[2] = $g_address02text $return[3] = $g_address03text $return[4] = $g_address04text $return[5] = $g_address05text $return[6] = $g_address06text $return[7] = $g_address07text $return[8] = $g_address08text $return[9] = $g_address09 $return[10] = $g_address10text $return[11] = $g_address11text $return[12] = $g_address12text $return[13] = $g_address13text $return[14] = $g_address14text $return[15] = $g_address15text $return[16] = $g_address16text $return[17] = $g_address17text $return[18] = $g_address18text $return[19] = $g_address19text $return[20] = $g_address20text $return[24] = $g_address24text $return[25] = $g_address25text $return[28] = $g_address28line $return[29] = $g_address29text ; FIX COLOR MAIN QUEST LINE 0 $return[34] = $g_address34text $return[35] = $g_address35text $return[36] = $g_address36text $return[37] = $g_address37text $return[38] = $g_address38text $return[39] = $g_address39text $return[40] = $g_address40text $return[41] = $g_address41text $return[42] = $g_address42text $return[43] = $g_address43text $return[44] = $g_address44text $return[45] = $g_address45text $return[46] = $g_address46text $return[47] = $g_address47text $return[48] = $g_address48text $return[49] = $g_address49text $return[50] = $g_address50text $return[51] = $g_address51text $return[52] = $g_address51text $return[53] = $g_address53text $return[54] = $g_address54text_color $return[55] = $g_address55text $return[57] = $g_address57text $return[58] = $g_address58text $return[59] = $g_address59text $return[60] = $g_address60text $return[61] = $g_address61text $return[62] = $g_address62text $return[63] = $g_address63text Return $return EndFunc ; da update done ( phai chinh lai 15B thanh 133 ) asm_render_gui_text02USE Func _cmp_render_gui_text01($loopacc0,$procHwnd0,$vtmem0, $vtmem0var,$module0,$address0=0x7B44A0) ; kiem tra gui text name gold asm_render_gui_text02USE ; "DiabloImmortal.exe"+6830F0: > "DiabloImmortal.exe"+682B80: > "DiabloImmortal.exe"+7B44A0: ;80 B9 5B 01 00 00 01 cmp byte ptr [rcx+15B],01 ;80 B9 33 01 00 00 01 cmp byte ptr [rcx+00000133],01 ;// rcx+15B = 1 tat = 0 ;// [rcx+B0]+50 = text ;// rcx+C0 = text ;// rcx+70 = float x ;// rcx+74 = float y ;//sub rsp,20 ; cmp byte ptr [rcx+00000133],00 // cu cmp byte ptr [rcx+0000015B],00 // ko du byte > sub rsp,20 ;//mov rdi,r8 ; //mov rax,rdx // da remove ;//mov rbx,rcx Local $return[9] $ws_send01_jmp = 0x4 ; $module0+$address0 jmp Next > 4byte de check co vtmem $ws_send01_back = 0x11 ; $module0+$address0 jmp back ;$ws_send01_op01 = "80 B9 5B 01 00 00 00 49 8B F8 48 8B C2 48 8B D9" ;cmp byte ptr [rcx+0000015B],00 ;$ws_send01_op01 = "48 83 EC 20 80 B9 5B 01 00 00 00 49 8B F8 48 8B D9" ; sub rsp,20 > cmp byte ptr [rcx+0000015B],00 $ws_send01_op01 = "48 83 EC 20 80 B9 33 01 00 00 00 49 8B F8 48 8B D9" ; sub rsp,20 > cmp byte ptr [rcx+00000133],00 $vtmem_cmp00 = $vtmem0+$ws_send01_jmp $vtmem_cmp00var = $vtmem0var $cmp_jmp00 = _Module_GetBaseAddress($procHwnd0, $module0)+$address0 ;$cmp_jmp00 = _WinAPI_GetModuleHandle($WS2_32_dll) ;$cmp_jmp00 = _WinAPI_GetProcAddress($cmp_jmp00, "send")+$ws_send01_jmp $cmp_op00 = StringReplace("", " ", "") ; fist jmp vtmem $cmp_op00last = StringReplace($ws_send01_op01 , " ", "") ; last jmp vtmem Global $op_code00 = "" Global $op_code01 = "" $op_code00 &= $cmp_op00 ; push rax $op_code01 &= "50" ; mov rax,1DF0CFC0000 // address 0x0 value vtmem $op_code01 &= "48 B8 "&_ReadF($vtmem_cmp00var,0) ;cmp byte ptr [rcx+15B],01 // text LU CODEX + SKILL + SETTING + BLACKSMITH [rcx+B0]+50 ;jne if00 ;cmp [rcx+70],(float)47 // 67-20 ;jb if00 ;cmp [rcx+70],(float)87 // 67+20 ;ja if00 ;cmp [rcx+74],(float)405 // 425-20 ;jb if00 ;cmp [rcx+74],(float)445 // 425+20 ;ja if00 ;mov [rax+8*0],rcx ;if00: $op_code01 &= "80 B9 33 01 00 00 01 75 3B 90 90 90 90 81 79 70 00 00 3C 42 72 2E 90 90 90 90 81 79 70 00 00 AE 42 77 21 90 90 90 90 81 79 74 00 80 CA 43 72 14 90 90 90 90 81 79 74 00 80 DE 43 77 07 90 90 90 90 48 89 08" ;cmp byte ptr [rcx+15B],01 // inventory > text name [rcx+B0]+50 ;jne if01 ;cmp [rcx+70],(float)18 // 23-5 ;jb if01 ;cmp [rcx+70],(float)28 // 23+5 ;ja if01 ;cmp [rcx+74],(float)428 // 433-5 ;jb if01 ;cmp [rcx+74],(float)438 // 433+5 ;ja if01 ;mov [rax+8*1],rcx ;if01: ;cmp byte ptr [rcx+15B],01 // inventory > text Platinum [rcx+B0]+50 ;jne if02 ;cmp [rcx+70],(float)562 // 572-10 ;jb if02 ;cmp [rcx+70],(float)600 // 572+10 ;ja if02 ;cmp [rcx+74],(float)426 // 431-5 ;jb if02 ;cmp [rcx+74],(float)436 // 431+5 ;ja if02 ;mov [rax+8*2],rcx ;if02: $op_code01 &= "80 B9 33 01 00 00 01 75 3C 90 90 90 90 81 79 70 00 00 90 41 72 2F 90 90 90 90 81 79 70 00 00 E0 41 77 22 90 90 90 90 81 79 74 00 00 D6 43 72 15 90 90 90 90 81 79 74 00 00 DB 43 77 08 90 90 90 90 48 89 48 08 80 B9 33 01 00 00 01 75 3C 90 90 90 90 81 79 70 00 80 0C 44 72 2F 90 90 90 90 81 79 70 00 00 16 44 77 22 90 90 90 90 81 79 74 00 00 D5 43 72 15 90 90 90 90 81 79 74 00 00 DA 43 77 08 90 90 90 90 48 89 48 10" ;cmp byte ptr [rcx+15B],01 // CODEX > text Daily Activity Rewards [rcx+B0]+50+0 ;jne if03 ;cmp [rcx+70],(float)248 // 268-20 ;jb if03 ;cmp [rcx+70],(float)288 // 268+20 ;ja if03 ;cmp [rcx+74],(float)290 // 310-20 ;jb if03 ;cmp [rcx+74],(float)330 // 310+20 ;ja if03 ;mov [rax+8*3],rcx ;if03: ;cmp byte ptr [rcx+15B],01 // CODEX > text Rift Point [rcx+B0]+50 ;jne if04 ;cmp [rcx+70],(float)609 // 629-20 ;jb if04 ;cmp [rcx+70],(float)649 // 629+20 ;ja if04 ;cmp [rcx+74],(float)286 // 306-20 ;jb if04 ;cmp [rcx+74],(float)326 // 306+20 ;ja if04 ;mov [rax+8*4],rcx ;if04: $op_code01 &= "80 B9 33 01 00 00 01 75 3C 90 90 90 90 81 79 70 00 00 78 43 72 2F 90 90 90 90 81 79 70 00 00 90 43 77 22 90 90 90 90 81 79 74 00 00 91 43 72 15 90 90 90 90 81 79 74 00 00 A5 43 77 08 90 90 90 90 48 89 48 18 80 B9 33 01 00 00 01 75 3C 90 90 90 90 81 79 70 00 40 18 44 72 2F 90 90 90 90 81 79 70 00 40 22 44 77 22 90 90 90 90 81 79 74 00 00 8F 43 72 15 90 90 90 90 81 79 74 00 00 A3 43 77 08 90 90 90 90 48 89 48 20" ;cmp byte ptr [rcx+15B],01 // CODEX > text View More [rcx+B0]+50+0 > 7 ;jne if05 ;cmp [rcx+70],(float)257 // 277-20 ;jb if05 ;cmp [rcx+70],(float)350 // 277+70 ;ja if05 ;cmp [rcx+74],(float)121 // 141-20 ;jb if05 ;cmp [rcx+74],(float)161 // 141+20 ;ja if05 ;mov [rax+8*5],rcx ;if05: $op_code01 &= "80 B9 33 01 00 00 01 75 3C 90 90 90 90 81 79 70 00 80 80 43 72 2F 90 90 90 90 81 79 70 00 00 AF 43 77 22 90 90 90 90 81 79 74 00 00 F2 42 72 15 90 90 90 90 81 79 74 00 00 21 43 77 08 90 90 90 90 48 89 48 28" ; 81 79 70 00 80 80 43 72 2F 90 90 90 90 81 79 70 00 00 AF 43 77 22 90 90 90 90 81 79 74 00 00 F2 ;// You were disconnected due to inactivity [rcx+B0]+50+0 ( dis OK ) ;// Exit Game? [rcx+B0]+50 ;// Are you sure you want to leave? [rcx+B0]+50+0 ( Exit Rift ) ;// Recommendations [rcx+B0]+50 ( you died ) ;// Voice Over [rcx+B0]+50 Settings ;// You have been resurrected by [rcx+B0]+50+0>7 ;cmp byte ptr [rcx+15B],01 // text Thong bao OK Cancel [rcx+B0]+50+0 ;jne if06 ;cmp [rcx+70],(float)196 // 218-20 ;jb if06 ;cmp [rcx+70],(float)279 // 218+20 ;ja if06 ;cmp [rcx+74],(float)262 // 299-20 ;jb if06 ;cmp [rcx+74],(float)355 // 299+20 ;ja if06 ;mov [rax+8*6],rcx ;if06: $op_code01 &= "80 B9 33 01 00 00 01 75 3C 90 90 90 90 81 79 70 00 00 44 43 72 2F 90 90 90 90 81 79 70 00 80 8B 43 77 22 90 90 90 90 81 79 74 00 00 83 43 72 15 90 90 90 90 81 79 74 00 80 B1 43 77 08 90 90 90 90 48 89 48 30" ;// OK [rcx+B0]+50>7 ;// NO [rcx+B0]+50>7 ;// Cancel [rcx+B0]+50>7 ;// Revive at Checkpoint [rcx+B0]+50+0>7 ;// Master Volume [rcx+B0]+50 ;// Decline [rcx+B0]+50 ;// Reject [rcx+B0]+50+0>7 ;cmp byte ptr [rcx+15B],01 // text Thong bao OK Cancel [rcx+B0]+50>7 ;jne if07 ;cmp [rcx+70],(float)196 // 300-20 ;jb if07 ;cmp [rcx+70],(float)350 // 300+20 ;ja if07 ;cmp [rcx+74],(float)184 // 215-20 ;jb if07 ;cmp [rcx+74],(float)235 // 215+20 ;ja if07 ;mov [rax+8*7],rcx ;if07: $op_code01 &= "80 B9 33 01 00 00 01 75 3C 90 90 90 90 81 79 70 00 00 44 43 72 2F 90 90 90 90 81 79 70 00 00 AF 43 77 22 90 90 90 90 81 79 74 00 00 38 43 72 15 90 90 90 90 81 79 74 00 00 6B 43 77 08 90 90 90 90 48 89 48 38" ;// Tap to close [rcx+B0]+50 ;// Claim [rcx+B0]+50<7 ;// Version:1.5.4.969353.1007693.E.231.D.Windows [rcx+B0]+50+0 ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+50>7 ;jne if08 ;cmp [rcx+70],(float)0 // 300-20 ;jb if08 ;cmp [rcx+70],(float)700 // 300+20 ;ja if08 ;cmp [rcx+74],(float)0 // 215-20 ;jb if08 ;cmp [rcx+74],(float)500 // 215+20 ;ja if08 ;mov [rax+8*8],rcx ;if08: $op_code01 &= "80 B9 33 01 00 00 01 75 3C 90 90 90 90 81 79 70 00 00 00 00 72 2F 90 90 90 90 81 79 70 00 00 2F 44 77 22 90 90 90 90 81 79 74 00 00 00 00 72 15 90 90 90 90 81 79 74 00 00 FA 43 77 08 90 90 90 90 48 89 48 40" ;// #a79973Time expired. Bonus rewards will not be granted and Crests will be refunded. ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+50>7 ;jne if09 ;cmp byte ptr [rcx+D0],53 // len 83 > 53 hex ;jne if09 ;cmp [rcx+70],(float)123 // 146-20 ;jb if09 ;cmp [rcx+70],(float)166 // 146+20 ;ja if09 ;cmp [rcx+74],(float)233 // 253-20 ;jb if09 ;cmp [rcx+74],(float)273 // 253+20 ;ja if09 ;mov [rax+8*9],rcx ;if09: $op_code01 &= "80 B9 33 01 00 00 01 75 49 90 90 90 90 80 B9 D0 00 00 00 53 75 3C 90 90 90 90 81 79 70 00 00 F6 42 72 2F 90 90 90 90 81 79 70 00 00 26 43 77 22 90 90 90 90 81 79 74 00 00 69 43 72 15 90 90 90 90 81 79 74 00 80 88 43 77 08 90 90 90 90 48 89 48 48" ;// Swipe Left to View [rcx+B0]+50+0>0 ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+50>0 ;jne if10 ;cmp [rcx+70],(float)46 // 176-40 ;jb if10 ;cmp [rcx+70],(float)216 // 176+40 ;ja if10 ;cmp [rcx+74],(float)43 // 83-40 ;jb if10 ;cmp [rcx+74],(float)123 // 83+40 ;ja if10 ;mov [rax+8*A],rcx ;if10: $op_code01 &= "80 B9 33 01 00 00 01 75 3C 90 90 90 90 81 79 70 00 00 38 42 72 2F 90 90 90 90 81 79 70 00 00 58 43 77 22 90 90 90 90 81 79 74 00 00 2C 42 72 15 90 90 90 90 81 79 74 00 00 F6 42 77 08 90 90 90 90 48 89 48 50" ;// View More [rcx+B0]+50+0>7 ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+50>0 ;jne if11 ;cmp [rcx+70],(float)400 // 486-40 ;jb if11 ;cmp [rcx+70],(float)526 // 486+40 ;ja if11 ;cmp [rcx+74],(float)114 // 154-40 ;jb if11 ;cmp [rcx+74],(float)194 // 154+40 ;ja if11 ;mov [rax+8*B],rcx ;if11: $op_code01 &= "80 B9 33 01 00 00 01 75 3C 90 90 90 90 81 79 70 00 00 C8 43 72 2F 90 90 90 90 81 79 70 00 80 03 44 77 22 90 90 90 90 81 79 74 00 00 E4 42 72 15 90 90 90 90 81 79 74 00 00 42 43 77 08 90 90 90 90 48 89 48 58" ;// My Heroes [rcx+B0]+50+0>7 ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+50>0 ;jne if12 ;cmp [rcx+70],(float)64 // 84-20 ;jb if12 ;cmp [rcx+70],(float)104 // 84+20 ;ja if12 ;cmp [rcx+74],(float)341 // 361-20 ;jb if12 ;cmp [rcx+74],(float)381 // 361+20 ;ja if12 ;mov [rax+8*C],rcx ;if12: $op_code01 &= "80 B9 33 01 00 00 01 75 3C 90 90 90 90 81 79 70 00 00 80 42 72 2F 90 90 90 90 81 79 70 00 00 D0 42 77 22 90 90 90 90 81 79 74 00 80 AA 43 72 15 90 90 90 90 81 79 74 00 80 BE 43 77 08 90 90 90 90 48 89 48 60" ;// SETTING > Server: #6f614dHelliquary [rcx+B0]+50+0>7 ;// Server: #6f614dHelliquary ;// Server: #6f614dDarkening of Tristram ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+50>0 ;jne if13 ;cmp [rcx+70],(float)188 // 208-20 ;jb if13 ;cmp [rcx+70],(float)228 // 208+20 ;ja if13 ;cmp [rcx+74],(float)82 // 102-20 ;jb if13 ;cmp [rcx+74],(float)122 // 102+20 ;ja if13 ;mov [rax+8*D],rcx ;if13: $op_code01 &= "80 B9 33 01 00 00 01 75 3C 90 90 90 90 81 79 70 00 00 3C 43 72 2F 90 90 90 90 81 79 70 00 00 64 43 77 22 90 90 90 90 81 79 74 00 00 A4 42 72 15 90 90 90 90 81 79 74 00 00 F4 42 77 08 90 90 90 90 48 89 48 68" ;// CLANT You won't receive clan invitat [rcx+B0]+50 > 0 ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+50>0 ;jne if14 ;cmp [rcx+70],(float)224 // 244-20 ;jb if14 ;cmp [rcx+70],(float)264 // 244+20 ;ja if14 ;cmp [rcx+74],(float)220 // 240-20 ;jb if14 ;cmp [rcx+74],(float)260 // 240+20 ;ja if14 ;mov [rax+8*E],rcx ;if14: $op_code01 &= "80 B9 33 01 00 00 01 75 3C 90 90 90 90 81 79 70 00 00 60 43 72 2F 90 90 90 90 81 79 70 00 00 84 43 77 22 90 90 90 90 81 79 74 00 00 5C 43 72 15 90 90 90 90 81 79 74 00 00 82 43 77 08 90 90 90 90 48 89 48 70" ;// Recommended Builds [rcx+B0]+50 > 0 ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+50>0 ;jne if15 ;cmp [rcx+70],(float)31 // 51-20 ;jb if15 ;cmp [rcx+70],(float)71 // 51+20 ;ja if15 ;cmp [rcx+74],(float)413 // 433-20 ;jb if15 ;cmp [rcx+74],(float)453 // 433+20 ;ja if15 ;mov [rax+8*F],rcx ;if15: $op_code01 &= "80 B9 33 01 00 00 01 75 3C 90 90 90 90 81 79 70 00 00 F8 41 72 2F 90 90 90 90 81 79 70 00 00 8E 42 77 22 90 90 90 90 81 79 74 00 80 CE 43 72 15 90 90 90 90 81 79 74 00 80 E2 43 77 08 90 90 90 90 48 89 48 78" ;// Version: [rcx+B0]+50 > 0 ( char 8 ) ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+50>0 ;jne if16 ;cmp [rcx+70],(float)0 // 4-20 ;jb if16 ;cmp [rcx+70],(float)24 // 4+20 ;ja if16 ;cmp [rcx+74],(float)419 // 439-20 ;jb if16 ;cmp [rcx+74],(float)459 // 439+20 ;ja if16 ;mov [rax+8*10],rcx ;if16: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 00 00 72 32 90 90 90 90 81 79 70 00 00 C0 41 77 25 90 90 90 90 81 79 74 00 80 D1 43 72 18 90 90 90 90 81 79 74 00 80 E5 43 77 0B 90 90 90 90 48 89 88 80 00 00 00" ;// invited you to a party [rcx+B0]+50 > 29 ( char 8 ) ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+50>0 ;jne if17 ;cmp [rcx+70],(float)222 // 242-20 ;jb if17 ;cmp [rcx+70],(float)262 // 242+20 ;ja if17 ;cmp [rcx+74],(float)184 // 204-20 ;jb if17 ;cmp [rcx+74],(float)224 // 204+20 ;ja if17 ;mov [rax+8*11],rcx ;if17: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 5E 43 72 32 90 90 90 90 81 79 70 00 00 83 43 77 25 90 90 90 90 81 79 74 00 00 38 43 72 18 90 90 90 90 81 79 74 00 00 60 43 77 0B 90 90 90 90 48 89 88 88 00 00 00" ;// SEVER GAME > ANNOUNCEMENT [rcx+B0]+50+0 ( bi loi error if18 bytes gioi han ) ;// fix alloc(newmem,8048 + mov rax,newmem+1000 // vtmem ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+50>0 ;jne if18 ;cmp [rcx+70],(float)210 // 230-20 ;jb if18 ;cmp [rcx+70],(float)250 // 230+20 ;ja if18 ;cmp [rcx+74],(float)218 // 238-20 ;jb if18 ;cmp [rcx+74],(float)258 // 238+20 ;ja if18 ;mov [rax+8*12],rcx ;if18: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 52 43 72 32 90 90 90 90 81 79 70 00 00 91 43 77 25 90 90 90 90 81 79 74 00 00 5A 43 72 18 90 90 90 90 81 79 74 00 00 C3 43 77 0B 90 90 90 90 48 89 88 90 00 00 00" ;// Thong bao bao tri server [rcx+B0]+50+7 ( bi loi error if18 bytes gioi han ) ;// fix alloc(newmem,8048 + mov rax,newmem+1000 // vtmem ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+50>7 ;jne if19 ;cmp [rcx+70],(float)64 // 74-10 ;jb if19 ;cmp [rcx+70],(float)94 // 74+20 ;ja if19 ;cmp [rcx+74],(float)327 // 337-10 ;jb if19 ;cmp [rcx+74],(float)347 // 337+10 ;ja if19 ;mov [rax+8*13],rcx ;if19: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 80 42 72 32 90 90 90 90 81 79 70 00 00 BC 42 77 25 90 90 90 90 81 79 74 00 80 A3 43 72 18 90 90 90 90 81 79 74 00 80 AD 43 77 0B 90 90 90 90 48 89 88 98 00 00 00" ;// server #a79973Selection: #47b31a0/1 [rcx+B0]+[50]+0 ( bi loi error if18 bytes gioi han ) ;// fix alloc(newmem,8048 + mov rax,newmem+1000 // vtmem ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+50>7 ;jne if20 ;cmp [rcx+70],(float)157 // 167-10 ;jb if20 ;cmp [rcx+70],(float)177 // 167+10 ;ja if20 ;cmp [rcx+74],(float)159 // 169-10 ;jb if20 ;cmp [rcx+74],(float)179 // 169+10 ;ja if20 ;mov [rax+8*14],rcx ;if20: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 1D 43 72 32 90 90 90 90 81 79 70 00 00 31 43 77 25 90 90 90 90 81 79 74 00 00 1F 43 72 18 90 90 90 90 81 79 74 00 00 33 43 77 0B 90 90 90 90 48 89 88 A0 00 00 00" ;// REMOVE ARROW Clans unlocked + Open Inventory + Click to view ;cmp byte ptr [rax+8*23],1 // bat = 1 tat = 0 ;jne if23 ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+50>7 ;jne if23 ;cmp [rcx+70],(float)323 // xmin 433-20 > 323 ;jb if23 ;cmp [rcx+70],(float)563 // xmin 433+130 ;ja if23 ;cmp [rcx+50],(float)608 // xmax 638-30 ;jb if23 ;cmp [rcx+50],(float)658 // xmax 638+20 ;ja if23 ;cmp [rcx+54],(float)418 // ymax 458 - 40 ( dao ymin ymax > y flip - 500 ) ;jb if23 ;cmp [rcx+54],(float)498 // ymax 458 + 40 ( dao ymin ymax > y flip - 500 ) ;ja if23 ;cmp [rcx+74],(float)417 // ymin 477 - 60 ( dao ymin ymax > y flip - 500 ) ;jb if23 ;cmp [rcx+74],(float)527 // ymin 477 + 50 ( dao ymin ymax > y flip - 500 ) ;ja if23 ;mov byte ptr [rcx+15B],00 // text all [rcx+B0]+50>7 ;if23: $op_code01 &= "80 B8 18 01 00 00 01 0F 85 7C 00 00 00 80 B9 33 01 00 00 01 75 73 90 90 90 90 81 79 70 00 80 A1 43 72 66 90 90 90 90 81 79 70 00 C0 0C 44 77 59 90 90 90 90 81 79 50 00 00 18 44 72 4C 90 90 90 90 81 79 50 00 80 24 44 77 3F 90 90 90 90 81 79 54 00 00 D1 43 72 32 90 90 90 90 81 79 54 00 00 F9 43 77 25 90 90 90 90 81 79 74 00 80 D0 43 72 18 90 90 90 90 81 79 74 00 C0 03 44 77 0B 90 90 90 90 C6 81 33 01 00 00 00" ;// #ffedc1View Details > 678 101 X ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+50>7 ;jne if24 ;cmp [rcx+70],(float)237 // 277-40 ;jb if24 ;cmp [rcx+70],(float)417 // 277+40 ;ja if24 ;cmp [rcx+74],(float)47 // 87-40 ;jb if24 ;cmp [rcx+74],(float)127 // 87+40 ;ja if24 ;mov [rax+8*24],rcx ;if24: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 6D 43 72 32 90 90 90 90 81 79 70 00 80 D0 43 77 25 90 90 90 90 81 79 74 00 00 3C 42 72 18 90 90 90 90 81 79 74 00 00 FE 42 77 0B 90 90 90 90 48 89 88 20 01 00 00" ;// #47b31a 8714 > SCORE NUMBER ITEM UP 278 315 ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+50>7 ;jne if25 ;cmp [rcx+70],(float)248 // 278-30 ;jb if25 ;cmp [rcx+70],(float)308 // 278+30 ;ja if25 ;cmp [rcx+74],(float)260 // 315-35 ;jb if25 ;cmp [rcx+74],(float)330 // 315+40 ;ja if25 ;mov [rax+8*25],rcx ;if25: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 78 43 72 32 90 90 90 90 81 79 70 00 00 9A 43 77 25 90 90 90 90 81 79 74 00 00 82 43 72 18 90 90 90 90 81 79 74 00 00 A5 43 77 0B 90 90 90 90 48 89 88 28 01 00 00" ;// #47b31a 8714 > #d56818 Shassar Sea > #bb967aKulle's Library is ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 LINE 0 ;jne if28 ;cmp [rcx+70],(float)20 // 22-30 ;jb if28 ;cmp [rcx+70],(float)24 // 22+30 ;ja if28 ;cmp [rcx+74],(float)380 // 390-80 ;jb if28 ;cmp [rcx+74],(float)420 // 390+5 ;ja if28 ;mov [rax+8*28],rcx ;if28: ;// #47b31a 8714 > #d56818 Shassar Sea > #bb967aKulle's Library is ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 LINE 1 ;jne if29 ;cmp [rcx+70],(float)20 // 22-30 ;jb if29 ;cmp [rcx+70],(float)24 // 22+30 ;ja if29 ;cmp [rcx+74],(float)370 // 390-80 ;jb if29 ;cmp [rcx+74],(float)420 // 390+5 ;ja if29 ;mov [rax+8*29],rcx ;if29: ;// #47b31a 8714 > #d56818 Shassar Sea > #bb967aKulle's Library is ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 LINE 2 ;jne if30 ;cmp [rcx+70],(float)20 // 22-30 ;jb if30 ;cmp [rcx+70],(float)24 // 22+30 ;ja if30 ;cmp [rcx+74],(float)360 // 390-80 ;jb if30 ;cmp [rcx+74],(float)420 // 390+5 ;ja if30 ;mov [rax+8*30],rcx ;if30: ;// #47b31a 8714 > #d56818 Shassar Sea > #bb967aKulle's Library is ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 LINE 3 ;jne if31 ;cmp [rcx+70],(float)20 // 22-30 ;jb if31 ;cmp [rcx+70],(float)24 // 22+30 ;ja if31s ;cmp [rcx+74],(float)350 // 390-80 ;jb if31 ;cmp [rcx+74],(float)420 // 390+5 ;ja if31 ;mov [rax+8*31],rcx ;if31: ;// #47b31a 8714 > #d56818 Shassar Sea > #bb967aKulle's Library is ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 LINE 4 ;jne if32 ;cmp [rcx+70],(float)20 // 22-30 ;jb if32 ;cmp [rcx+70],(float)24 // 22+30 ;ja if32 ;cmp [rcx+74],(float)340 // 390-80 ;jb if32 ;cmp [rcx+74],(float)420 // 390+5 ;ja if32 ;mov [rax+8*32],rcx ;if32: ;// #47b31a 8714 > #d56818 Shassar Sea > #bb967aKulle's Library is ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 LINE 5 ;jne if33 ;cmp [rcx+70],(float)20 // 22-30 ;jb if33 ;cmp [rcx+70],(float)24 // 22+30 ;ja if33 ;cmp [rcx+74],(float)330 // 390-80 ;jb if33 ;cmp [rcx+74],(float)420 // 390+5 ;ja if33 ;mov [rax+8*33],rcx ;if33: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 A0 41 72 32 90 90 90 90 81 79 70 00 00 C0 41 77 25 90 90 90 90 81 79 74 00 00 BE 43 72 18 90 90 90 90 81 79 74 00 00 D2 43 77 0B 90 90 90 90 48 89 88 40 01 00 00 80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 A0 41 72 32 90 90 90 90 81 79 70 00 00 C0 41 77 25 90 90 90 90 81 79 74 00 00 B9 43 72 18 90 90 90 90 81 79 74 00 00 D2 43 77 0B 90 90 90 90 48 89 88 48 01 00 00 80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 A0 41 72 32 90 90 90 90 81 79 70 00 00 C0 41 77 25 90 90 90 90 81 79 74 00 00 B4 43 72 18 90 90 90 90 81 79 74 00 00 D2 43 77 0B 90 90 90 90 48 89 88 80 01 00 00" $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 A0 41 72 32 90 90 90 90 81 79 70 00 00 C0 41 77 25 90 90 90 90 81 79 74 00 00 AF 43 72 18 90 90 90 90 81 79 74 00 00 D2 43 77 0B 90 90 90 90 48 89 88 88 01 00 00 80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 A0 41 72 32 90 90 90 90 81 79 70 00 00 C0 41 77 25 90 90 90 90 81 79 74 00 00 AA 43 72 18 90 90 90 90 81 79 74 00 00 D2 43 77 0B 90 90 90 90 48 89 88 90 01 00 00 80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 A0 41 72 32 90 90 90 90 81 79 70 00 00 C0 41 77 25 90 90 90 90 81 79 74 00 00 A5 43 72 18 90 90 90 90 81 79 74 00 00 D2 43 77 0B 90 90 90 90 48 89 88 98 01 00 00" ;// #47b31a 8714 > #ffedc1Revive at corpse ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 ;jne if34 ;cmp [rcx+70],(float)267 // 277.0614624-30 ;jb if34 ;cmp [rcx+70],(float)287 // 277.0614624+30 ;ja if34 ;cmp [rcx+74],(float)153 // 163.0704651-80 ;jb if34 ;cmp [rcx+74],(float)173 // 163.0704651+5 ;ja if34 ;mov [rax+8*34],rcx ;if34: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 80 85 43 72 32 90 90 90 90 81 79 70 00 80 8F 43 77 25 90 90 90 90 81 79 74 00 00 19 43 72 18 90 90 90 90 81 79 74 00 00 2D 43 77 0B 90 90 90 90 48 89 88 A0 01 00 00" ;// #af7546Free the Shackled > quest in dungeon ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 LINE -1 ;jne if35 ;cmp [rcx+70],(float)12 // 32-20 ;jb if35 ;cmp [rcx+70],(float)52 // 32+20 ;ja if35 ;cmp [rcx+74],(float)389 // 409-20 ;jb if35 ;cmp [rcx+74],(float)420 // 409+21 ;ja if35 ;mov [rax+8*35],rcx ;if35: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 40 41 72 32 90 90 90 90 81 79 70 00 00 50 42 77 25 90 90 90 90 81 79 74 00 80 C2 43 72 18 90 90 90 90 81 79 74 00 00 D2 43 77 0B 90 90 90 90 48 89 88 A8 01 00 00" ;// 51 255 > 12 70 230 400 ;// line 5 223 line 4 255 line 3 286 line 2 318 line 1 350 ;// line 6 191 line 7 160 ;// #faefbaRakkis Plaza Waypoint > MAP LARGE > ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 LINE 1 ;jne if36 ;cmp [rcx+70],(float)41 // 51-10 ;jb if36 ;cmp [rcx+70],(float)61 // 51+10 ;ja if36 ;cmp [rcx+74],(float)345 // 350-5 ;jb if36 ;cmp [rcx+74],(float)355 // 350+5 ;ja if36 ;mov [rax+8*36],rcx ;if36: ;// #faefbaRakkis Plaza Waypoint > MAP LARGE > ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 LINE 2 ;jne if37 ;cmp [rcx+70],(float)41 // 51-10 ;jb if37 ;cmp [rcx+70],(float)61 // 51+10 ;ja if37 ;cmp [rcx+74],(float)313 // 318-5 ;jb if37 ;cmp [rcx+74],(float)323 // 318+5 ;ja if37 ;mov [rax+8*37],rcx ;if37: ;// #faefbaRakkis Plaza Waypoint > MAP LARGE > ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 LINE 3 ;jne if38 ;cmp [rcx+70],(float)41 // 51-10 ;jb if38 ;cmp [rcx+70],(float)61 // 51+10 ;ja if38 ;cmp [rcx+74],(float)281 // 286-5 ;jb if38 ;cmp [rcx+74],(float)291 // 286+5 ;ja if38 ;mov [rax+8*38],rcx ;if38: ;// #faefbaRakkis Plaza Waypoint > MAP LARGE > ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 LINE 4 ;jne if39 ;cmp [rcx+70],(float)41 // 51-10 ;jb if39 ;cmp [rcx+70],(float)61 // 51+10 ;ja if39 ;cmp [rcx+74],(float)250 // 255-5 ;jb if39 ;cmp [rcx+74],(float)260 // 255+5 ;ja if39 ;mov [rax+8*39],rcx ;if39: ;// #faefbaRakkis Plaza Waypoint > MAP LARGE > ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 LINE 5 ;jne if40 ;cmp [rcx+70],(float)41 // 51-10 ;jb if40 ;cmp [rcx+70],(float)61 // 51+10 ;ja if40 ;cmp [rcx+74],(float)218 // 223-5 ;jb if40 ;cmp [rcx+74],(float)228 // 223+5 ;ja if40 ;mov [rax+8*40],rcx ;if40: ;// #faefbaRakkis Plaza Waypoint > MAP LARGE > ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 LINE 6 ;jne if41 ;cmp [rcx+70],(float)41 // 51-10 ;jb if41 ;cmp [rcx+70],(float)61 // 51+10 ;ja if41 ;cmp [rcx+74],(float)186 // 191-5 ;jb if41 ;cmp [rcx+74],(float)196 // 191+5 ;ja if41 ;mov [rax+8*41],rcx ;if41: ;// #faefbaRakkis Plaza Waypoint > MAP LARGE > ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 LINE 7 ;jne if42 ;cmp [rcx+70],(float)41 // 51-10 ;jb if42 ;cmp [rcx+70],(float)61 // 51+10 ;ja if42 ;cmp [rcx+74],(float)155 // 160-5 ;jb if42 ;cmp [rcx+74],(float)165 // 160+5 ;ja if42 ;mov [rax+8*42],rcx ;if42: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 24 42 72 32 90 90 90 90 81 79 70 00 00 74 42 77 25 90 90 90 90 81 79 74 00 80 AC 43 72 18 90 90 90 90 81 79 74 00 80 B1 43 77 0B 90 90 90 90 48 89 88 B0 01 00 00 80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 24 42 72 32 90 90 90 90 81 79 70 00 00 74 42 77 25 90 90 90 90 81 79 74 00 80 9C 43 72 18 90 90 90 90 81 79 74 00 80 A1 43 77 0B 90 90 90 90 48 89 88 B8 01 00 00 80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 24 42 72 32 90 90 90 90 81 79 70 00 00 74 42 77 25 90 90 90 90 81 79 74 00 80 8C 43 72 18 90 90 90 90 81 79 74 00 80 91 43 77 0B 90 90 90 90 48 89 88 C0 01 00 00" $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 24 42 72 32 90 90 90 90 81 79 70 00 00 74 42 77 25 90 90 90 90 81 79 74 00 00 7A 43 72 18 90 90 90 90 81 79 74 00 00 82 43 77 0B 90 90 90 90 48 89 88 C8 01 00 00 80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 24 42 72 32 90 90 90 90 81 79 70 00 00 74 42 77 25 90 90 90 90 81 79 74 00 00 5A 43 72 18 90 90 90 90 81 79 74 00 00 64 43 77 0B 90 90 90 90 48 89 88 00 02 00 00 80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 24 42 72 32 90 90 90 90 81 79 70 00 00 74 42 77 25 90 90 90 90 81 79 74 00 00 3A 43 72 18 90 90 90 90 81 79 74 00 00 44 43 77 0B 90 90 90 90 48 89 88 08 02 00 00" $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 24 42 72 32 90 90 90 90 81 79 70 00 00 74 42 77 25 90 90 90 90 81 79 74 00 00 1B 43 72 18 90 90 90 90 81 79 74 00 00 25 43 77 0B 90 90 90 90 48 89 88 10 02 00 00" ;// #fe9a39Eternal Legendary 188 328 x1y1 ;// #fe9a391-Star Legendary Gem 286 328 x2y1 ;// #fe9a392-Star Legendary Gem 188 233 x1y2 ;// #fe9a39Random Legendary Gem 286 233 x2y2 ;// Select #fe9a39Random Legendary Gem 501 388 ;// Apprentice Jeweler > Craft ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 #fe9a39Eternal Legendary 188 328 x1y1 ;jne if43 ;cmp [rcx+70],(float)178 // 188-10 ;jb if43 ;cmp [rcx+70],(float)198 // 188+10 ;ja if43 ;cmp [rcx+74],(float)323 // 328-5 ;jb if43 ;cmp [rcx+74],(float)333 // 328+5 ;ja if43 ;mov [rax+8*43],rcx ;if43: ;// Apprentice Jeweler > Craft ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 #fe9a391-Star Legendary Gem 286 328 x2y1 ;jne if44 ;cmp [rcx+70],(float)276 // 286-10 ;jb if44 ;cmp [rcx+70],(float)296 // 286+10 ;ja if44 ;cmp [rcx+74],(float)323 // 328-5 ;jb if44 ;cmp [rcx+74],(float)333 // 328+5 ;ja if44 ;mov [rax+8*44],rcx ;if44: ;// Apprentice Jeweler > Craft ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 #fe9a392-Star Legendary Gem 188 233 x1y2 ;jne if45 ;cmp [rcx+70],(float)178 // 188-10 ;jb if45 ;cmp [rcx+70],(float)198 // 188+10 ;ja if45 ;cmp [rcx+74],(float)228 // 233-5 ;jb if45 ;cmp [rcx+74],(float)238 // 233+5 ;ja if45 ;mov [rax+8*45],rcx ;if45: ;// Apprentice Jeweler > Craft ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 #fe9a39Random Legendary Gem 286 233 x2y2 ;jne if46 ;cmp [rcx+70],(float)276 // 286-10 ;jb if46 ;cmp [rcx+70],(float)296 // 286+10 ;ja if46 ;cmp [rcx+74],(float)228 // 233-5 ;jb if46 ;cmp [rcx+74],(float)238 // 233+5 ;ja if46 ;mov [rax+8*46],rcx ;if46: ;// Apprentice Jeweler > Craft ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 Select #fe9a39Random Legendary Gem 501 388 ;jne if47 ;cmp [rcx+70],(float)491 // 501-10 ;jb if47 ;cmp [rcx+70],(float)511 // 501+10 ;ja if47 ;cmp [rcx+74],(float)383 // 388-5 ;jb if47 ;cmp [rcx+74],(float)393 // 388+5 ;ja if47 ;mov [rax+8*47],rcx ;if47: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 32 43 72 32 90 90 90 90 81 79 70 00 00 46 43 77 25 90 90 90 90 81 79 74 00 80 A1 43 72 18 90 90 90 90 81 79 74 00 80 A6 43 77 0B 90 90 90 90 48 89 88 18 02 00 00 80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 8A 43 72 32 90 90 90 90 81 79 70 00 00 94 43 77 25 90 90 90 90 81 79 74 00 80 A1 43 72 18 90 90 90 90 81 79 74 00 80 A6 43 77 0B 90 90 90 90 48 89 88 20 02 00 00 80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 32 43 72 32 90 90 90 90 81 79 70 00 00 46 43 77 25 90 90 90 90 81 79 74 00 00 64 43 72 18 90 90 90 90 81 79 74 00 00 6E 43 77 0B 90 90 90 90 48 89 88 28 02 00 00" $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 8A 43 72 32 90 90 90 90 81 79 70 00 00 94 43 77 25 90 90 90 90 81 79 74 00 00 64 43 72 18 90 90 90 90 81 79 74 00 00 6E 43 77 0B 90 90 90 90 48 89 88 30 02 00 00 80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 80 F5 43 72 32 90 90 90 90 81 79 70 00 80 FF 43 77 25 90 90 90 90 81 79 74 00 80 BF 43 72 18 90 90 90 90 81 79 74 00 80 C4 43 77 0B 90 90 90 90 48 89 88 38 02 00 00" ;// Apprentice Jeweler > Craft ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 #525151Random Legendary Gem 189 137 x1y3 ;jne if48 ;cmp [rcx+70],(float)178 // 188-10 ;jb if48 ;cmp [rcx+70],(float)198 // 188+10 ;ja if48 ;cmp [rcx+74],(float)132 // 137-5 ;jb if48 ;cmp [rcx+74],(float)142 // 137+5 ;ja if48 ;mov [rax+8*48],rcx ;if48: ;// Apprentice Jeweler > Craft ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]>7 #525151Power & Command 287 137 x2y3 ;jne if49 ;cmp [rcx+70],(float)277 // 287-10 ;jb if49 ;cmp [rcx+70],(float)297 // 287+10 ;ja if49 ;cmp [rcx+74],(float)132 // 137-5 ;jb if49 ;cmp [rcx+74],(float)142 // 137+5 ;ja if49 ;mov [rax+8*49],rcx ;if49: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 32 43 72 32 90 90 90 90 81 79 70 00 00 46 43 77 25 90 90 90 90 81 79 74 00 00 04 43 72 18 90 90 90 90 81 79 74 00 00 0E 43 77 0B 90 90 90 90 48 89 88 40 02 00 00 80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 80 8A 43 72 32 90 90 90 90 81 79 70 00 80 94 43 77 25 90 90 90 90 81 79 74 00 00 04 43 72 18 90 90 90 90 81 79 74 00 00 0E 43 77 0B 90 90 90 90 48 89 88 48 02 00 00" ;// #ffedc1Go Now 681 107 > 530 128 ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50] ;jne if50 ;cmp [rcx+70],(float)510 // 530-20 ;jb if50 ;cmp [rcx+70],(float)550 // 530+20 ;ja if50 ;cmp [rcx+74],(float)112 // 128-10 ;jb if50 ;cmp [rcx+74],(float)142 // 128+10 ;ja if50 ;mov [rax+8*50],rcx ;if50: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 FF 43 72 32 90 90 90 90 81 79 70 00 80 09 44 77 25 90 90 90 90 81 79 74 00 00 E0 42 72 18 90 90 90 90 81 79 74 00 00 0E 43 77 0B 90 90 90 90 48 89 88 80 02 00 00" ;// Elder Rift > Exit Rift 374 222 > 2 SELECT ;cmp byte ptr [rcx+133],01 // text all [rcx+B0]+[50] ;jne if51 ;cmp [rcx+70],(float)429 // 459-30 ;jb if51 ;cmp [rcx+70],(float)489 // 459+30 ;ja if51 ;cmp [rcx+74],(float)185 // 205-30 ;jb if51 ;cmp [rcx+74],(float)235 // 205+30 ;ja if51 ;mov [rax+8*51],rcx ;if51: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 80 D6 43 72 32 90 90 90 90 81 79 70 00 80 F4 43 77 25 90 90 90 90 81 79 74 00 00 39 43 72 18 90 90 90 90 81 79 74 00 00 6B 43 77 0B 90 90 90 90 48 89 88 88 02 00 00" ;// Elder Rift > Exit Rift 459 205 > 3 SELECT ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50] ;jne if52 ;cmp [rcx+70],(float)439 // 459-20 ;jb if52 ;cmp [rcx+70],(float)479 // 459+20 ;ja if52 ;cmp [rcx+74],(float)185 // 205-20 ;jb if52 ;cmp [rcx+74],(float)225 // 205+20 ;ja if52 ;mov [rax+8*52],rcx ;if52: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 80 DB 43 72 32 90 90 90 90 81 79 70 00 80 EF 43 77 25 90 90 90 90 81 79 74 00 00 39 43 72 18 90 90 90 90 81 79 74 00 00 61 43 77 0B 90 90 90 90 48 89 88 90 02 00 00" ;// Elder Rift > Exit Rift 70 141 > Go to Event ;cmp byte ptr [rcx+15B],01 // text all [rcx+B0]+[50]+[7] ;jne if53 ;cmp [rcx+70],(float)20 // 70-50 ;jb if53 ;cmp [rcx+70],(float)120 // 70+50 ;ja if53 ;cmp [rcx+74],(float)91 // 141-50 ;jb if53 ;cmp [rcx+74],(float)191 // 141+50 ;ja if53 ;mov [rax+8*53],rcx ;if53: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 A0 41 72 32 90 90 90 90 81 79 70 00 00 F0 42 77 25 90 90 90 90 81 79 74 00 00 B6 42 72 18 90 90 90 90 81 79 74 00 00 3F 43 77 0B 90 90 90 90 48 89 88 98 02 00 00" ;// Elder Rift > BAT VIEW EVENT #ffedc1Go Now 680 108 X ;cmp byte ptr [rcx+133],01 // text all [rcx+B0]+[50] ;jne if55 ;cmp [rcx+70],(float)500 // 530-30 ;jb if55 ;cmp [rcx+70],(float)560 // 530+30 ;ja if55 ;cmp [rcx+74],(float)98 // 128-30 ;jb if55 ;cmp [rcx+74],(float)158 // 128+30 ;ja if55 ;mov [rax+8*55],rcx ;if55: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 FA 43 72 32 90 90 90 90 81 79 70 00 00 0C 44 77 25 90 90 90 90 81 79 74 00 00 C4 42 72 18 90 90 90 90 81 79 74 00 00 1E 43 77 0B 90 90 90 90 48 89 88 A8 02 00 00" ;// Elder Rift > Exit Rift 374 222 > 2 Go to Rakkis Plaza > akkis Plaza ;cmp byte ptr [rcx+133],01 // text all [rcx+B0]+[50] ;jne if57 ;cmp [rcx+70],(float)66 // 96-30 ;jb if57 ;cmp [rcx+70],(float)126 // 96+30 ;ja if57 ;cmp [rcx+74],(float)192 // 222-30 ;jb if57 ;cmp [rcx+74],(float)252 // 222+30 ;ja if57 ;mov [rax+8*57],rcx ;if57: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 84 42 72 32 90 90 90 90 81 79 70 00 00 FC 42 77 25 90 90 90 90 81 79 74 00 00 40 43 72 18 90 90 90 90 81 79 74 00 00 7C 43 77 0B 90 90 90 90 48 89 88 B8 02 00 00" ;// Elder Rift > Besieged 374 222 > 2 #af7546Talk to Rayek ;cmp byte ptr [rcx+133],01 // text all [rcx+B0]+[50]+[7] ;jne if58 ;cmp [rcx+70],(float)30 // 32-5 ;jb if58 ;cmp [rcx+70],(float)90 // 32+60 ;ja if58 ;cmp [rcx+74],(float)375 // 405-30 ;jb if58 ;cmp [rcx+74],(float)415 // 405+30 ;ja if58 ;mov [rax+8*58],rcx ;if58: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 F0 41 72 32 90 90 90 90 81 79 70 00 00 B4 42 77 25 90 90 90 90 81 79 74 00 80 BB 43 72 18 90 90 90 90 81 79 74 00 80 CF 43 77 0B 90 90 90 90 48 89 88 C0 02 00 00" ;// MARKET > SELL 119 297 > 40 302 My Items (0/4) ;cmp byte ptr [rcx+133],01 // text all [rcx+B0]+[50]+[0] ;jne if59 ;cmp [rcx+70],(float)30 // 40-10 ;jb if59 ;cmp [rcx+70],(float)150 // 40+110 ;ja if59 ;cmp [rcx+74],(float)287 // 297-30 ;jb if59 ;cmp [rcx+74],(float)327 // 297+30 ;ja if59 ;mov [rax+8*59],rcx ;if59: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 F0 41 72 32 90 90 90 90 81 79 70 00 00 16 43 77 25 90 90 90 90 81 79 74 00 80 8F 43 72 18 90 90 90 90 81 79 74 00 80 A3 43 77 0B 90 90 90 90 48 89 88 C8 02 00 00" ;// MARKET > SELL 229 341 > Pending Sales (0) ;cmp byte ptr [rcx+133],01 // text all [rcx+B0]+[50]+[0] ;jne if60 ;cmp [rcx+70],(float)219 // 229-10 ;jb if60 ;cmp [rcx+70],(float)259 // 229+30 ;ja if60 ;cmp [rcx+74],(float)311 // 341-30 ;jb if60 ;cmp [rcx+74],(float)371 // 341+30 ;ja if60 ;mov [rax+8*60],rcx ;if60: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 5B 43 72 32 90 90 90 90 81 79 70 00 80 81 43 77 25 90 90 90 90 81 79 74 00 80 9B 43 72 18 90 90 90 90 81 79 74 00 80 B9 43 77 0B 90 90 90 90 48 89 88 00 03 00 00" ;// MARKET > SELL 256 376 > GUI Pending Sales (0) 300 375 GUI List Item ;cmp byte ptr [rcx+133],01 // text all [rcx+B0]+[50]+[0] ;jne if61 ;cmp [rcx+70],(float)246 // 256-10 ;jb if61 ;cmp [rcx+70],(float)330 // 300+30 ;ja if61 ;cmp [rcx+74],(float)346 // 376-30 ;jb if61 ;cmp [rcx+74],(float)406 // 376+30 ;ja if61 ;mov [rax+8*61],rcx ;if61: ;// MARKET > SELL 402 145 > #ffedc1 Remove Item 403 145 #ffedc1Remove Item ;cmp byte ptr [rcx+133],01 // text all [rcx+B0]+[50]+[0] ;jne if62 ;cmp [rcx+70],(float)392 // 402-10 ;jb if62 ;cmp [rcx+70],(float)432 // 402+30 ;ja if62 ;cmp [rcx+74],(float)115 // 145-30 ;jb if62 ;cmp [rcx+74],(float)175 // 145+30 ;ja if62 ;mov [rax+8*62],rcx ;if62: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 76 43 72 32 90 90 90 90 81 79 70 00 00 A5 43 77 25 90 90 90 90 81 79 74 00 00 AD 43 72 18 90 90 90 90 81 79 74 00 00 CB 43 77 0B 90 90 90 90 48 89 88 08 03 00 00 80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 C4 43 72 32 90 90 90 90 81 79 70 00 00 D8 43 77 25 90 90 90 90 81 79 74 00 00 E6 42 72 18 90 90 90 90 81 79 74 00 00 2F 43 77 0B 90 90 90 90 48 89 88 10 03 00 00" ;// Elder Rift Enter > 180 375 Standard Drop Pool Updated ;cmp byte ptr [rcx+133],01 // text all [rcx+B0]+[50]+[0] ;jne if63 ;cmp [rcx+70],(float)150 // 180-30 ;jb if63 ;cmp [rcx+70],(float)210 // 180+30 ;ja if63 ;cmp [rcx+74],(float)350 // 375-25 ;jb if63 ;cmp [rcx+74],(float)400 // 375+25 ;ja if63 ;mov [rax+8*63],rcx ;if63: $op_code01 &= "80 B9 33 01 00 00 01 75 3F 90 90 90 90 81 79 70 00 00 16 43 72 32 90 90 90 90 81 79 70 00 00 52 43 77 25 90 90 90 90 81 79 74 00 00 AF 43 72 18 90 90 90 90 81 79 74 00 00 C8 43 77 0B 90 90 90 90 48 89 88 18 03 00 00" ; exit01: ; pop rax $op_code01 &= "58" $op_code00 &= $op_code01 ;cmp byte ptr [rcx+0000015B],00 ;//mov rdi,r8 ;//mov rax,rdx ;//mov rbx,rcx $op_code00 &= $cmp_op00last ; jmp 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"90" ; > v64bit ;$op_code00 &= "68"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"C3 90" ; > 32bit $op_code00 = StringReplace($op_code00, " ", "") _MemoryWrite64($vtmem_cmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") $op_code00 = "" ;ClipPut(Hex($vtmem_cmp00)) ;MsgBox("","check","01 = "&hex($cmp_jmp00)&" 02 = "&hex($vtmem_cmp00)&" 03 = "&$op_code00,0) ; jmp to vtmem 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($vtmem_cmp00,0)&"90" $op_code00 = StringReplace($op_code00, " ", "") ; jmp op next _MemoryWrite64($cmp_jmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") ; > 64bit ; _Pause($process[$loopacc0],"pause") ; "pause" "return" $op_code00 = "" ;_MemoryWrite64($cmp_jmp00, $procHwnd0, $op_code00,"byte["&StringLen($op_code00)/2&"]") ;$op_code00 = "" $return[0] = "0x"&Hex($vtmem_cmp00) ; jmp to vtmem vi tri allocate = $vtmem_cmp00 $return[1] = "0x"&Hex($vtmem_cmp00var) ; jmp to vtmem value vi tri allocate = $vtmem_cmp00var $return[2] = "0x"&Hex($cmp_jmp00) ; vi tri default asm game = $cmp_jmp00 $return[3] = "0x"&Hex($cmp_jmp00+$ws_send01_back) ; jmp op back vi tri default asm game = $cmp_jmp00+$ws_send01_back Return $return EndFunc Func read_render_rift_defeat01xx($loopacc0,$procHwnd0,$address0,$add_text0=0x0,$view0=0) ; $add_text0=0x7 > 0x0 vi d01 bo colorhex Local $return[9] $g_item_address01 = _MemoryRead64($address0+0x8*1, $procHwnd0, 'byte[8]',"hex") ; rsi $g_item_address02 = _MemoryRead64($address0+0x0, $procHwnd0, 'byte[8]',"dec") ; rsi $g_id_address01text = _MemoryRead6401( "0x"&Hex($g_item_address01+$add_text0) , $procHwnd0, 'char[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_id_address01text_fix = _MemoryRead6401( "0x"&Hex($g_item_address01+0x8) , $procHwnd0, 'char[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) If $g_id_address01text_fix = "lder Rift" Then $g_id_address01text = "Elder Rift" If $view0=1 Then MsgBox("","check","$g_item_address01 = "&"0x"&$g_item_address01&" address0 = "&"0x"&Hex($address0+0x0)&" 03 = "&"0x"&Hex($g_item_address01+0xA8)&" 04 = "&$g_id_address01text,0) If $g_item_address01<>"0" Then $return[0] = Hex($g_item_address01) $return[1] = $g_item_address02 $return[2] = $g_id_address01text EndIf Return $return EndFunc ; REMOVE da update OK _cmp_render_rift_defeat01XX thu _cmp_render_rift_defeat02 ( co 2 cai trung ) asm_render_rift_defeat02fixUSE Func _cmp_render_rift_defeat01xx($loopacc0,$procHwnd0,$vtmem0, $vtmem0var,$module0,$address0=0x96650) ; kiem tra rift defeat + inventory full ; "DiabloImmortal.exe"+944A0: > "DiabloImmortal.exe"+94880: > "DiabloImmortal.exe"+96650: ;//mov rax,[rax] > ko du byte > call > mov [rsp+10],rbx ;//mov rdx,rax ;////lea rcx,[rbp+30] ;////call 7FF68B6679D0 ;// rdx+0 = color hex ;// rdx+7 = text ;mov [rsp+10],rbx ;//mov [rsp+18],rbp ;//push rsi ;//push rdi ;//push r15 ;//sub rsp,20 Local $return[9] $ws_send01_jmp = 0x4 ; $module0+$address0 jmp Next > 4byte de check co vtmem $ws_send01_back = 0x12 ; $module0+$address0 jmp back $ws_send01_op01 = "48 89 5C 24 10 48 89 6C 24 18 56 57 41 57 48 83 EC 20" ;mov [rsp+10],rbx $vtmem_cmp00 = $vtmem0+$ws_send01_jmp $vtmem_cmp00var = $vtmem0var $cmp_jmp00 = _Module_GetBaseAddress($procHwnd0, $module0)+$address0 ;$cmp_jmp00 = _WinAPI_GetModuleHandle($WS2_32_dll) ;$cmp_jmp00 = _WinAPI_GetProcAddress($cmp_jmp00, "send")+$ws_send01_jmp $cmp_op00 = StringReplace($ws_send01_op01, " ", "") ; fist jmp vtmem $cmp_op00last = StringReplace("", " ", "") ; last jmp vtmem Global $op_code00 = "" Global $op_code01 = "" $op_code00 &= $cmp_op00 ; push rax $op_code01 &= "50" ; mov rax,1DF0CFC0000 // address 0x0 value vtmem $op_code01 &= "48 B8 "&_ReadF($vtmem_cmp00var,0) ;// #8c774a ;cmp [rdx+0],37633823 // Elder Rift + Westmarch + Challenge Rift ;jne exit01 ;cmp [rdx+3],61343737 // Elder Rift + Westmarch + Challenge Rift ;jne exit01 ;mov [rax+8*20],1 ;mov [rax+8*21],rdx ;exit01: ;cmp [rdx+7],6C6C694B // Kill the Rift Guardian ;jne exit02 ;cmp [rdx+15],72617547 // Kill the Rift Guardian ;jne exit02 ;mov [rax+8*0],2 ;mov [rax+8*1],rdx ;exit02: ;cmp [rdx+7],65766E49 // Inventory Full ;jne exit03 ;cmp [rdx+11],6C6C7546 // Inventory Full ;jne exit03 ;mov [rax+8*10],3 ;mov [rax+8*11],rdx ;exit03: $op_code01 &= "81 3A 23 38 63 37 75 22 90 90 90 90 81 7A 03 37 37 34 61 75 15 90 90 90 90 C7 80 00 01 00 00 01 00 00 00 48 89 90 08 01 00 00 81 7A 07 4B 69 6C 6C 75 1B 90 90 90 90 81 7A 15 47 75 61 72 75 0E 90 90 90 90 C7 00 02 00 00 00 48 89 50 08 81 7A 07 49 6E 76 65 75 22 90 90 90 90 81 7A 11 46 75 6C 6C 75 15 90 90 90 90 C7 80 80 00 00 00 03 00 00 00 48 89 90 88 00 00 00" ;cmp [rdx+0],61306223 // Opening the Helliquary ;jne exit04 ;cmp [rdx+3],39323261 // Opening the Helliquary ;jne exit04 ;mov [rax+8*30],4 ;mov [rax+8*31],rdx ;exit04: $op_code01 &= "81 3A 23 62 30 61 75 22 90 90 90 90 81 7A 03 61 32 32 39 75 15 90 90 90 90 C7 80 80 01 00 00 04 00 00 00 48 89 90 88 01 00 00" ;cmp [rdx+0],37666123 // Quest BESIEGED ;jne exit05 ;cmp [rdx+3],36343537 // Quest BESIEGED ;jne exit05 ;mov [rax+8*40],5 ;mov [rax+8*41],rdx ;exit05: ;cmp [rdx+0],6976614E // Navigation Paused ;jne exit06 ;cmp [rdx+B],73756150 // Navigation Paused ;jne exit06 ;mov [rax+8*50],6 ;mov [rax+8*51],rdx ;exit06: $op_code01 &= "81 3A 23 61 66 37 75 22 90 90 90 90 81 7A 03 37 35 34 36 75 15 90 90 90 90 C7 80 00 02 00 00 05 00 00 00 48 89 90 08 02 00 00 81 3A 4E 61 76 69 75 22 90 90 90 90 81 7A 0B 50 61 75 73 75 15 90 90 90 90 C7 80 80 02 00 00 06 00 00 00 48 89 90 88 02 00 00" ;cmp [rdx+0],63696C43 // Click to view the Helliquary ( Click ;jne exit07 ;cmp [rdx+12],6C6C6548 // Click to view the Helliquary ( View ;jne exit07 ;mov [rax+8*60],7 ;mov [rax+8*61],rdx ;exit07: $op_code01 &= "81 3A 43 6C 69 63 75 22 90 90 90 90 81 7A 12 48 65 6C 6C 75 15 90 90 90 90 C7 80 00 03 00 00 07 00 00 00 48 89 90 08 03 00 00" ;// #8c774a > _8c774aElder Riftt xoa name map ;cmp [rdx+0],37633823 // Elder Rift ;jne exit08 ;cmp [rdx+D],74666952 // Elder Rift ;jne exit08 ;mov byte ptr[rdx+7],00 ;mov [rax+8*20],1 ;mov [rax+8*21],rdx ;exit08: ;// #8c774a > _8c774 get xoa name map ;cmp [rdx+0],37633823 // Elder Rift ;jne exit09 ;cmp [rdx+8],7265646C // Elder Rift ;jne exit09 ;mov [rax+8*20],1 ;mov [rax+8*21],rdx ;exit09: $op_code01 &= "81 3A 23 38 63 37 75 26 90 90 90 90 81 7A 0D 52 69 66 74 75 19 90 90 90 90 C6 42 07 00 C7 80 00 01 00 00 01 00 00 00 48 89 90 08 01 00 00 81 3A 23 38 63 37 75 22 90 90 90 90 81 7A 08 6C 64 65 72 75 15 90 90 90 90 C7 80 00 01 00 00 01 00 00 00 48 89 90 08 01 00 00" ;cmp [rdx+7],6C6C694B // Kill enemies quickly ;jne exit10 ;cmp [rdx+14],63697571 // Kill enemies quickly ;jne exit10 ;mov [rax+8*0],2 ;mov [rax+8*1],rdx ;exit10: $op_code01 &= "81 7A 07 4B 69 6C 6C 75 1B 90 90 90 90 81 7A 14 71 75 69 63 75 0E 90 90 90 90 C7 00 02 00 00 00 48 89 50 08" ;cmp [rdx+B],6562614C // shop > Featured Label ;jne exit11 ;mov [rax+8*71],rdx ;exit11: ;cmp [rdx+A],6562614C // shop > Featured Label ;jne exit12 ;mov [rax+8*71],rdx ;exit12: ;cmp [rdx+9],6562614C // shop > Featured Label ;jne exit13 ;mov [rax+8*71],rdx ;exit13: $op_code01 &= "81 7A 0B 4C 61 62 65 75 0B 90 90 90 90 48 89 90 88 03 00 00 81 7A 0A 4C 61 62 65 75 0B 90 90 90 90 48 89 90 88 03 00 00 81 7A 09 4C 61 62 65 75 0B 90 90 90 90 48 89 90 88 03 00 00" ;cmp [rdx+0],66303023 // #00ff2aClosing in: 02:23 ;jne exit14 ;cmp [rdx+8],69736F6C // losi ;jne exit14 ;cmp [rdx+10],30203A6E // n: 0 ;jne exit14 ;mov [rax+8*81],rdx ;exit14: $op_code01 &= "81 3A 23 30 30 66 75 25 90 90 90 90 81 7A 08 6C 6F 73 69 75 18 90 90 90 90 81 7A 10 6E 3A 20 30 75 0B 90 90 90 90 48 89 90 08 04 00 00" ;cmp [rdx+0],6E616C43 // Clans unlocked ( Clan ;jne exit15 ;cmp [rdx+6],6F6C6E75 // Clans unlocked ( unlo ;jne exit15 ;mov [rax+8*60],7 ;mov [rax+8*61],rdx ;exit15: ;cmp [rdx+0],6E65704F // Open Inventory to view ( Open ;jne exit16 ;cmp [rdx+5],65766E49 // Open Inventory to view ( Inve ;jne exit16 ;mov [rax+8*60],7 ;mov [rax+8*61],rdx ;exit16: $op_code01 &= "81 3A 43 6C 61 6E 75 22 90 90 90 90 81 7A 06 75 6E 6C 6F 75 15 90 90 90 90 C7 80 00 03 00 00 07 00 00 00 48 89 90 08 03 00 00 81 3A 4F 70 65 6E 75 22 90 90 90 90 81 7A 05 49 6E 76 65 75 15 90 90 90 90 C7 80 00 03 00 00 07 00 00 00 48 89 90 08 03 00 00" ; exit01: ; pop rax $op_code01 &= "58" $op_code00 &= $op_code01 ;mov rcx,[rcx] ;mov rcx,[rcx+000001B8] $op_code00 &= $cmp_op00last ; jmp 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"90" ; > v64bit ;$op_code00 &= "68"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"C3 90" ; > 32bit $op_code00 = StringReplace($op_code00, " ", "") _MemoryWrite64($vtmem_cmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") $op_code00 = "" ;ClipPut(Hex($vtmem_cmp00)) ;MsgBox("","check","01 = "&hex($cmp_jmp00)&" 02 = "&hex($vtmem_cmp00)&" 03 = "&$op_code00,0) ; jmp to vtmem 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($vtmem_cmp00,0)&"90" $op_code00 = StringReplace($op_code00, " ", "") ; jmp op next _MemoryWrite64($cmp_jmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") ; > 64bit ; _Pause($process[$loopacc0],"pause") ; "pause" "return" $op_code00 = "" ;_MemoryWrite64($cmp_jmp00, $procHwnd0, $op_code00,"byte["&StringLen($op_code00)/2&"]") ;$op_code00 = "" $return[0] = "0x"&Hex($vtmem_cmp00) ; jmp to vtmem vi tri allocate = $vtmem_cmp00 $return[1] = "0x"&Hex($vtmem_cmp00var) ; jmp to vtmem value vi tri allocate = $vtmem_cmp00var $return[2] = "0x"&Hex($cmp_jmp00) ; vi tri default asm game = $cmp_jmp00 $return[3] = "0x"&Hex($cmp_jmp00+$ws_send01_back) ; jmp op back vi tri default asm game = $cmp_jmp00+$ws_send01_back Return $return EndFunc ; doi _cmp_render_rift_defeat05up thanh _cmp_render_rift_defeat01 Func read_render_rift_defeat01($loopacc0,$procHwnd0,$address0,$add_text0=0xE,$view0=0) ; $add_text0=0x7 > 0xE vi char > wchar Local $return[9] $g_item_address01 = _MemoryRead64($address0+0x8*1, $procHwnd0, 'byte[8]',"hex") ; rsi $g_item_address02 = _MemoryRead64($address0+0x0, $procHwnd0, 'byte[8]',"dec") ; rsi $g_id_address01text = _MemoryRead6401( "0x"&Hex($g_item_address01+$add_text0) , $procHwnd0, 'wchar[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_id_address01text_fix = _MemoryRead6401( "0x"&Hex($g_item_address01+0x10) , $procHwnd0, 'wchar[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) If $g_id_address01text_fix = "lder Rift" Then $g_id_address01text = "Elder Rift" If $g_id_address01text = "Kill the Rift" Then $g_id_address01text = "Kill the Rift Guardian" If $view0=1 Then MsgBox("","check","$g_item_address01 = "&"0x"&$g_item_address01&" address0 = "&"0x"&Hex($address0+0x0)&" 03 = "&"0x"&Hex($g_item_address01+0xA8)&" 04 = "&$g_id_address01text,0) If $g_item_address01<>"0" Then $return[0] = Hex($g_item_address01) $return[1] = $g_item_address02 $return[2] = $g_id_address01text EndIf Return $return EndFunc ; da update done asm_render_rift_defeat05USE Func _cmp_render_rift_defeat01($loopacc0,$procHwnd0,$vtmem0, $vtmem0var,$module0,$address0=0x75CFAB) ; kiem tra rift defeat + inventory full asm_render_rift_defeat05USE ; "DiabloImmortal.exe"+63A42B: > "DiabloImmortal.exe"+639AFB: > "DiabloImmortal.exe"+75CFAB: ;// [rcx]>0 = #8c774a Elder Rift ;cmp r11,08 ;//jb DiabloImmortal.AK::ReadBytesSkip::Count+74BB4 ;jb diablo_jb ;mov rcx,[r10] // ko du byte chuyen sang cmp r11,08 ;diablo_jb: ;mov rdx,[r14+10] ;mov r8,r14 ;//cmp qword ptr [r14+18],08 Local $return[9] $ws_send01_jmp = 0x4 ; $module0+$address0 jmp Next > 4byte de check co vtmem $ws_send01_back = 0x14 ; $module0+$address0 jmp back $ws_send01_op01 = "49 83 FB 08 72 07 90 90 90 90 49 8B 0A 49 8B 56 10 4D 8B C6 " ;mov [rsp+10],rbx $vtmem_cmp00 = $vtmem0+$ws_send01_jmp $vtmem_cmp00var = $vtmem0var $cmp_jmp00 = _Module_GetBaseAddress($procHwnd0, $module0)+$address0 ;$cmp_jmp00 = _WinAPI_GetModuleHandle($WS2_32_dll) ;$cmp_jmp00 = _WinAPI_GetProcAddress($cmp_jmp00, "send")+$ws_send01_jmp $cmp_op00 = StringReplace($ws_send01_op01, " ", "") ; fist jmp vtmem $cmp_op00last = StringReplace("", " ", "") ; last jmp vtmem Global $op_code00 = "" Global $op_code01 = "" $op_code00 &= $cmp_op00 ; push rax $op_code01 &= "50" ; mov rax,1DF0CFC0000 // address 0x0 value vtmem $op_code01 &= "48 B8 "&_ReadF($vtmem_cmp00var,0) ;cmp [rcx+0],00380023 // ok #8c774a Elder Rift + Westmarch + Challenge Rift ;jne exit01 ;cmp [rcx+4],00370063 // #8c774a Elder Rift + Westmarch + Challenge Rift ;jne exit01 ;mov [rax+8*20],1 ;mov [rax+8*21],rcx ;exit01: ;cmp [rcx+E],0069004B // ok Kill the Rift Guardian ;jne exit02 ;cmp [rcx+20],00690052 // Rift ;jne exit02 ;mov [rax+8*0],2 ;mov [rax+8*1],rcx ;exit02: ;cmp [rcx+E],006E0049 // ok Inventory Full ;jne exit03 ;cmp [rcx+22],00750046 // Full ;jne exit03 ;mov [rax+8*10],3 ;mov [rax+8*11],rcx ;exit03: ;cmp [rcx+0],0061004E // ok Navigation Paused ;jne exit06 ;cmp [rcx+16],00610050 // Paused ;jne exit06 ;mov [rax+8*50],6 ;mov [rax+8*51],rcx ;exit06: ;cmp [rcx+E],0069004B // ok Kill enemies quickly ;jne exit10 ;cmp [rcx+28],00750071 // quickly ;jne exit10 ;mov [rax+8*0],2 ;mov [rax+8*1],rcx ;exit10: $op_code01 &= "81 39 23 00 38 00 75 22 90 90 90 90 81 79 04 63 00 37 00 75 15 90 90 90 90 C7 80 00 01 00 00 01 00 00 00 48 89 88 08 01 00 00 81 79 0E 4B 00 69 00 75 1B 90 90 90 90 81 79 20 52 00 69 00 75 0E 90 90 90 90 C7 00 02 00 00 00 48 89 48 08 81 79 0E 49 00 6E 00 75 22 90 90 90 90 81 79 22 46 00 75 00 75 15 90 90 90 90 C7 80 80 00 00 00 03 00 00 00 48 89 88 88 00 00 00 81 39 4E 00 61 00 75 22 90 90 90 90 81 79 16 50 00 61 00 75 15 90 90 90 90 C7 80 80 02 00 00 06 00 00 00 48 89 88 88 02 00 00 81 79 0E 4B 00 69 00 75 1B 90 90 90 90 81 79 28 71 00 75 00 75 0E 90 90 90 90 C7 00 02 00 00 00 48 89 48 08" ;cmp [rcx+0],00300023 // ok #00ff2aClosing in: 02:23 ;jne exit14 ;cmp [rcx+10],006F006C // losi ;jne exit14 ;cmp [rcx+20],003A006E // n: 0 ;jne exit14 ;mov [rax+8*81],rcx ;exit14: ;cmp [rcx+0],006C0043 // ok Clans unlocked ;jne exit15 ;cmp [rcx+C],006E0075 // unlo ;jne exit15 ;mov [rax+8*60],7 ;mov [rax+8*61],rcx ;exit15: $op_code01 &= "81 39 23 00 30 00 75 25 90 90 90 90 81 79 10 6C 00 6F 00 75 18 90 90 90 90 81 79 20 6E 00 3A 00 75 0B 90 90 90 90 48 89 88 08 04 00 00 81 39 43 00 6C 00 75 22 90 90 90 90 81 79 0C 75 00 6E 00 75 15 90 90 90 90 C7 80 00 03 00 00 07 00 00 00 48 89 88 08 03 00 00" ;// #8c774a > _8c774aElder Riftt xoa name map ;cmp [rcx+0],00380023 // Elder Rift ;jne exit08 ;cmp [rcx+1A],00690052 // Rift ;jne exit08 ;mov byte ptr[rcx+E],00 ;mov [rax+8*20],1 ;mov [rax+8*21],rcx ;exit08: ;// #8c774a > _8c774 get xoa name map ;cmp [rcx+0],00380023 // Elder Rift ;jne exit09 ;cmp [rcx+10],0064006C // Elder Rift ;jne exit09 ;mov [rax+8*20],1 ;mov [rax+8*21],rcx ;exit09: $op_code01 &= "81 39 23 00 38 00 75 26 90 90 90 90 81 79 1A 52 00 69 00 75 19 90 90 90 90 C6 41 0E 00 C7 80 00 01 00 00 01 00 00 00 48 89 88 08 01 00 00 81 39 23 00 38 00 75 22 90 90 90 90 81 79 10 6C 00 64 00 75 15 90 90 90 90 C7 80 00 01 00 00 01 00 00 00 48 89 88 08 01 00 00" ;// #a79973Time expired ;cmp [rcx+E],00690054 // Time expired ;jne exit17 ;cmp [rcx+18],00780065 // expired ;jne exit17 ;mov [rax+8*70],3 ;mov [rax+8*71],rcx ;exit17: $op_code01 &= "81 79 0E 54 00 69 00 75 22 90 90 90 90 81 79 18 65 00 78 00 75 15 90 90 90 90 C7 80 80 03 00 00 03 00 00 00 48 89 88 88 03 00 00" ; exit01: ; pop rax $op_code01 &= "58" $op_code00 &= $op_code01 ;mov rcx,[rcx] ;mov rcx,[rcx+000001B8] $op_code00 &= $cmp_op00last ; jmp 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back-0x5,0)&"90" ; > v64bit ;$op_code00 &= "68"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"C3 90" ; > 32bit $op_code00 = StringReplace($op_code00, " ", "") _MemoryWrite64($vtmem_cmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") $op_code00 = "" ;ClipPut(Hex($vtmem_cmp00)) ;MsgBox("","check","01 = "&hex($cmp_jmp00)&" 02 = "&hex($vtmem_cmp00)&" 03 = "&$op_code00,0) ; jmp to vtmem 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($vtmem_cmp00,0)&"90" &"90" ; them 1 cai 90 vi thua $op_code00 = StringReplace($op_code00, " ", "") ; jmp op next _MemoryWrite64($cmp_jmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") ; > 64bit ;_Pause($process[$loopacc0],"pause") ; "pause" "return" $op_code00 = "" ;_MemoryWrite64($cmp_jmp00, $procHwnd0, $op_code00,"byte["&StringLen($op_code00)/2&"]") ;$op_code00 = "" $return[0] = "0x"&Hex($vtmem_cmp00) ; jmp to vtmem vi tri allocate = $vtmem_cmp00 $return[1] = "0x"&Hex($vtmem_cmp00var) ; jmp to vtmem value vi tri allocate = $vtmem_cmp00var $return[2] = "0x"&Hex($cmp_jmp00) ; vi tri default asm game = $cmp_jmp00 $return[3] = "0x"&Hex($cmp_jmp00+$ws_send01_back) ; jmp op back vi tri default asm game = $cmp_jmp00+$ws_send01_back Return $return EndFunc Func read_render_mini_mapxy02($loopacc0,$procHwnd0,$address0,$view0=0) Local $return[9] $g_item_address01 = _MemoryRead64($address0+0x0, $procHwnd0, 'byte[8]',"hex") ; rsi $g_item_address02 = _MemoryRead64( "0x"&Hex($g_item_address01+0x0) , $procHwnd0, 'byte[8]',"hex") ; rsi $g_id_address01text = _MemoryRead6401( "0x"&Hex($g_item_address02+0x0) , $procHwnd0, 'char[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) If $view0=1 Then MsgBox("","check","$g_item_address01 = "&"0x"&$g_item_address01&" address0 = "&"0x"&Hex($address0+0x0)&" 03 = "&"0x"&Hex($g_item_address01+0xA8)&" 04 = "&$g_id_address01text,0) $g_item_address01x = Int( _MemoryRead6401( "0x"&Hex($g_item_address01-0x9C) , $procHwnd0, 'float') ) ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_item_address01y = Int( _MemoryRead6401( "0x"&Hex($g_item_address01-0x98) , $procHwnd0, 'float') ) ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_item_address02x = Int( _MemoryRead6401( "0x"&Hex($g_item_address01+0x120) , $procHwnd0, 'float') ) ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_item_address02y = Int( _MemoryRead6401( "0x"&Hex($g_item_address01+0x124) , $procHwnd0, 'float') ) ; type = ( byte, float, dword, char[], byte[] ... etc ) If $g_item_address01<>"0" Then $return[0] = $g_item_address01x $return[1] = $g_item_address01y $return[2] = $g_id_address01text $return[3] = $g_item_address02x $return[4] = $g_item_address02y EndIf Return $return EndFunc ; da update tam REMOVE ( chua tim thay kha nang doi ma asm ) Func _cmp_render_mini_mapxy02($loopacc0,$procHwnd0,$vtmem0, $vtmem0var,$module0,$address0=0xFA3395) ; kiem tra gui mini map ; "DiabloImmortal.exe"+F72465: > "DiabloImmortal.exe"+FA09D5: > "DiabloImmortal.exe"+FA3395: ;lea r9,[rbp-20] > lea r9,[rbp-18] ;mov r8,[r15+78] // goc ko du byte > lui ve lea r9,[rbp-20] > lea r9,[rbp-18] ( moi ) ;//mov rdx,[rbp-78] ;//mov rcx,r14 ;// [r15+70] > 0 > 0 = gui_img_map34_standard ;// [r8+8] > 0 = gui_img_map34_standard ;// r8+C4 = zoom ;// r8+C8 = float x Local $return[9] $ws_send01_jmp = 0x4 ; $module0+$address0 jmp Next > 4byte de check co vtmem $ws_send01_back = 0xF ; $module0+$address0 jmp back $ws_send01_op01 = "4C 8D 4D E8 4D 8B 47 78 48 8B 55 88 49 8B CE" ; lea r9,[rbp-20] > lea r9,[rbp-18] $vtmem_cmp00 = $vtmem0+$ws_send01_jmp $vtmem_cmp00var = $vtmem0var $cmp_jmp00 = _Module_GetBaseAddress($procHwnd0, $module0)+$address0 ;$cmp_jmp00 = _WinAPI_GetModuleHandle($WS2_32_dll) ;$cmp_jmp00 = _WinAPI_GetProcAddress($cmp_jmp00, "send")+$ws_send01_jmp $cmp_op00 = StringReplace($ws_send01_op01, " ", "") ; fist jmp vtmem $cmp_op00last = StringReplace(" ", " ", "") ; last jmp vtmem Global $op_code00 = "" Global $op_code01 = "" ;mov rax,[rax+10] ;mov rcx,[rax+20] $op_code00 &= $cmp_op00 ; push rax $op_code01 &= "50" ; mov rax,1DF0CFC0000 // address 0x0 value vtmem $op_code01 &= "48 B8 "&_ReadF($vtmem_cmp00var,0) ;cmp [r8+FC],3F800000 // zoom ;jne exit01 ;cmp [r8+100],440F0000 // floay x ;jne exit01 ;mov [rax+8*0],r15 ;mov [rax+8*1],r8 ;mov [rax+8*2],r8 $op_code01 &= "41 81 B8 FC 00 00 00 00 00 80 3F 75 20 90 90 90 90 41 81 B8 00 01 00 00 00 00 0F 44 75 0F 90 90 90 90 4C 89 38 4C 89 40 08 4C 89 40 10" ; exit01: ; pop rax $op_code01 &= "58" $op_code00 &= $op_code01 ;mov rcx,[rcx] ;mov rcx,[rcx+000001B8] $op_code00 &= $cmp_op00last ; jmp 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"90" ; > v64bit ;$op_code00 &= "68"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"C3 90" ; > 32bit $op_code00 = StringReplace($op_code00, " ", "") _MemoryWrite64($vtmem_cmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") $op_code00 = "" ;ClipPut(Hex($vtmem_cmp00)) ;MsgBox("","check","01 = "&hex($cmp_jmp00)&" 02 = "&hex($vtmem_cmp00)&" 03 = "&$op_code00,0) ; jmp to vtmem 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($vtmem_cmp00,0)&"90" $op_code00 = StringReplace($op_code00, " ", "") ; jmp op next _MemoryWrite64($cmp_jmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") ; > 64bit ; _Pause($process[$loopacc0],"pause") ; "pause" "return" $op_code00 = "" ;_MemoryWrite64($cmp_jmp00, $procHwnd0, $op_code00,"byte["&StringLen($op_code00)/2&"]") ;$op_code00 = "" $return[0] = "0x"&Hex($vtmem_cmp00) ; jmp to vtmem vi tri allocate = $vtmem_cmp00 $return[1] = "0x"&Hex($vtmem_cmp00var) ; jmp to vtmem value vi tri allocate = $vtmem_cmp00var $return[2] = "0x"&Hex($cmp_jmp00) ; vi tri default asm game = $cmp_jmp00 $return[3] = "0x"&Hex($cmp_jmp00+$ws_send01_back) ; jmp op back vi tri default asm game = $cmp_jmp00+$ws_send01_back Return $return EndFunc Func read_render_enemy_id_at02($loopacc0,$procHwnd0,$address0,$view0=0) Local $return[9] $g_item_address01 = _MemoryRead64($address0+0x0, $procHwnd0, 'byte[8]',"hex") ; rsi ;$g_item_address01x = Int( _MemoryRead6401( "0x"&Hex($g_item_address01+0xC8) , $procHwnd0, 'float') ) ; type = ( byte, float, dword, char[], byte[] ... etc ) ;$g_item_address01y = Int( _MemoryRead6401( "0x"&Hex($g_item_address01+0xD0) , $procHwnd0, 'float') ) ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_item_address01x = Int( _MemoryRead6401( "0x"&Hex($g_item_address01+0xE8) , $procHwnd0, 'float') ) ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_item_address01y = Int( _MemoryRead6401( "0x"&Hex($g_item_address01+0xF0) , $procHwnd0, 'float') ) ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_item_address01_id = _MemoryRead64( "0x"&Hex($g_item_address01+0x38) , $procHwnd0, 'byte[8]',"hex") ; rsi ;$g_id_address01text = _MemoryRead6401( "0x"&Hex($g_item_address01+0xA8) , $procHwnd0, 'char[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_id_address01text = _MemoryRead6401( "0x"&Hex($g_item_address01+0xC8) , $procHwnd0, 'char[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_item_address05 = _MemoryRead64("0x"&Hex($g_item_address01_id+0x0) , $procHwnd0, 'byte[8]',"hex") ; rsi $g_item_address05 = _MemoryRead64("0x"&Hex($g_item_address05+0x0) , $procHwnd0, 'byte[4]',"dec") ; rsi If $view0=1 Then MsgBox("","check","$g_item_address01 = "&"0x"&$g_item_address01&" address0 = "&"0x"&Hex($address0+0x0)&" 03 = "&"0x"&Hex($g_item_address01+0xA8)&" 04 = "&$g_id_address01text&" 05 = "&"0x"&Hex($g_item_address01_id+0x0),0) If $g_item_address01<>"0" Then $return[0] = $g_item_address01x $return[1] = $g_item_address01y $return[2] = $g_item_address01 $return[3] = Hex($g_item_address01_id) $return[4] = $g_id_address01text $return[5] = $g_item_address05 EndIf Return $return EndFunc ; da update done ( co 2 gia tri nua giong ) new function Func _cmp_render_enemy_id_at02($loopacc0,$procHwnd0,$vtmem0, $vtmem0var,$module0,$address0=0xCAA092) ; kiem tra enemy id _cmp_render_enemy_id_at09use ; "DiabloImmortal.exe"+B50B22: new function > "DiabloImmortal.exe"+B56FB2: > "DiabloImmortal.exe"+B57C12: > "DiabloImmortal.exe"+CAA092: ;// xor r8d,r8d ;mov rcx,[rax+20] ;mov rax,[rcx] ;//mov rsi,[rax+000001D8] // cu mov rsi,[rax+000001B8] ; // them mov rcx,[rcx] // > tach ra de lay rcx = rbx > text monster ;// vi thieu bytes jmp > mov rcx,[rax+20] ;// mov rcx,rsi ;// mov rbx,[rcx] //> chuyen rcx sang rbx ;// 000000 4D 6F 6E 73 74 65 72 000000 Monster ;// new rcx+C8 = 00726574 // Monster PlayerAvatar ;// new rcx+E8 = float x ;// new rcx+F0 = float y ;// new rcx + 38 = r14 = id enemy ;// new rdx+70 = 696C635F _realFightState ;// new rdx+470 = _teamId text ;// new rdx+30 = _teamId text ;// rcx + 38 = r14 = id enemy ;// [rcx + 38] > 0 = 66 68 npc summon ;// rcx+A8 = 736E6F4D // Monster ;// rcx+AC = 00726574 // Monster ;// rcx+C8 = float x ;// rcx+D0 = float y ;// rdx = text target or client combat ;// rdx+28 = 696C635F _clientCombatSwitch ;// rdx+2F = 626D6F43 _clientCombatSwitch ;// rdx+28 = 67726174 targetid ;// rdx+28 = 69417369 isAiInMaster ;// rdx = text target or client combat ;// rdx+28 = 696C635F _clientCombatSwitch ;// rdx+2F = 626D6F43 _clientCombatSwitch ;// rdx+28 = 67726174 targetid ;// rdx+28 = 69417369 isAiInMaster ;// rdx+28 = 656E776F // ownerid > bi tan cong bat id ;// rdx+28 = trang thai text ;// rdx+370 = _teamId text Local $return[9] $ws_send01_jmp = 0x4 ; $module0+$address0 jmp Next > 4byte de check co vtmem $ws_send01_back = 0x11 ; $module0+$address0 jmp back $ws_send01_op01 = "48 8B 48 20" ; mov rcx,[rax+20] $ws_send01_op02 = "48 8B 01" ; mov rax,[rcx] $ws_send01_op03 = "48 8B B0 D8 01 00 00" ; mov rsi,[rax+000001D8] cu mov rsi,[rax+000001B8] $ws_send01_op04 = "48 8B CE" ; mov rcx,rsi $vtmem_cmp00 = $vtmem0+$ws_send01_jmp $vtmem_cmp00var = $vtmem0var $cmp_jmp00 = _Module_GetBaseAddress($procHwnd0, $module0)+$address0 ;$cmp_jmp00 = _WinAPI_GetModuleHandle($WS2_32_dll) ;$cmp_jmp00 = _WinAPI_GetProcAddress($cmp_jmp00, "send")+$ws_send01_jmp $cmp_op00 = StringReplace($ws_send01_op01&$ws_send01_op02, " ", "") ; fist jmp vtmem $cmp_op00last = StringReplace($ws_send01_op03&$ws_send01_op04, " ", "") ; last jmp vtmem Global $op_code00 = "" Global $op_code01 = "" ;mov rax,[rax+10] ;mov rcx,[rax+20] $op_code00 &= $cmp_op00 ; push rax $op_code01 &= "50" ; push rcx $op_code01 &= "51" ; push rbx $op_code01 &= "53" ; mov rax,1DF0CFC0000 // address 0x0 value vtmem $op_code01 &= "48 B8 "&_ReadF($vtmem_cmp00var,0) ;mov rcx,[rcx] //> chuyen rcx = rbx = [rax+20] ;mov rbx,[rax+0] //> chuyen rcx = rbx = [rax+20] ;cmp [rcx+C8],736E6F4D // Monster ;jne exit01 ;cmp [rax+0],48 // for loop < 10 ;ja exit01 ;cmp [rax+rbx+0],rcx // for loop < 10 <> rcx ;je exit01 ;mov [rax+rbx+8],rcx // rcx > chuyen thanh rbx+38 = id enemy //mov [rax+8],rsi ;add rbx,8 ;mov [rax+0],rbx ;exit01: ;cmp [rax+0],40 // for loop > 10 > = 0 ;jb exit04 ;mov [rax+0],0 ;exit04: ;cmp byte ptr[r14+0],09 // id enemy > 9 ;jb exit02 ;cmp [r14+1],00000000 // id enemy ;jne exit02 ;cmp [rcx+C8],736E6F4D // Monster ;jne exit02 ; //cmp [rdx+28],6165725F // _realFight enemy attack not damage ; //jne exit02 ;//cmp [rdx+28],4973695F // _isInCharmState ;//jne exit02 ;cmp [rdx+470],6165745F // _teamId ;je exit02 ;cmp [rdx+470+4],0064496D // _teamId ;je exit02 ;// 11 HEX AUTO ASSEMBLY = 17 DEC AUTOIT ;mov [rax+8*11],rcx // rcx > chuyen thanh rbx+38 = id enemy //mov [rax+8],rsi ;//mov [rax+8*12],rdx // target id ;exit02: ;cmp [rcx+C8],63617053 // SpaceBox ;jne exit03 ;cmp [rcx+C8+4],786F4265 // SpaceBox ;jne exit03 ;// 21 HEX AUTO ASSEMBLY = 33 DEC AUTOIT ;mov [rax+8*21],rcx // rcx > chuyen thanh rbx+38 = id enemy //mov [rax+8],rsi ;//mov [rax+8*22],rdx // target id ;exit03: $op_code01 &= "48 8B 09 48 8B 18 81 B9 C8 00 00 00 4D 6F 6E 73 75 23 90 90 90 90 83 38 48 77 1A 90 90 90 90 48 39 0C 18 74 10 90 90 90 90 48 89 4C 18 08 48 83 C3 08 48 89 18 83 38 40 72 0A 90 90 90 90 C7 00 00 00 00 00 41 80 3E 09 72 49 90 90 90 90 41 81 7E 01 00 00 00 00 75 3B 90 90 90 90 81 B9 C8 00 00 00 4D 6F 6E 73 75 2B 90 90 90 90 81 BA 70 04 00 00 5F 74 65 61 74 1B 90 90 90 90 81 BA 74 04 00 00 6D 49 64 00 74 0B 90 90 90 90 48 89 88 88 00 00 00 81 B9 C8 00 00 00 53 70 61 63 75 1B 90 90 90 90 81 B9 CC 00 00 00 65 42 6F 78 75 0B 90 90 90 90 48 89 88 08 01 00 0048 8B 09 48 8B 18 81 B9 C8 00 00 00 4D 6F 6E 73 75 23 90 90 90 90 83 38 48 77 1A 90 90 90 90 48 39 0C 18 74 10 90 90 90 90 48 89 4C 18 08 48 83 C3 08 48 89 18 83 38 40 72 0A 90 90 90 90 C7 00 00 00 00 00 41 80 3E 09 72 49 90 90 90 90 41 81 7E 01 00 00 00 00 75 3B 90 90 90 90 81 B9 C8 00 00 00 4D 6F 6E 73 75 2B 90 90 90 90 81 BA 70 04 00 00 5F 74 65 61 74 1B 90 90 90 90 81 BA 74 04 00 00 6D 49 64 00 74 0B 90 90 90 90 48 89 88 88 00 00 00 81 B9 C8 00 00 00 53 70 61 63 75 1B 90 90 90 90 81 B9 CC 00 00 00 65 42 6F 78 75 0B 90 90 90 90 48 89 88 08 01 00 00" ; exit01: ; pop rbx $op_code01 &= "5B" ; pop rcx $op_code01 &= "59" ; pop rax $op_code01 &= "58" ;exit: $op_code00 &= $op_code01 ;mov rcx,[rcx] ;mov rcx,[rcx+000001B8] $op_code00 &= $cmp_op00last ; jmp 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"90" ; > v64bit ;$op_code00 &= "68"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"C3 90" ; > 32bit $op_code00 = StringReplace($op_code00, " ", "") _MemoryWrite64($vtmem_cmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") $op_code00 = "" ;ClipPut(Hex($vtmem_cmp00)) ;MsgBox("","check","01 = "&hex($cmp_jmp00)&" 02 = "&hex($vtmem_cmp00)&" 03 = "&$op_code00,0) ; jmp to vtmem 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($vtmem_cmp00,0)&"90"&"90"&"90" ; &"90"&"90" = fix ecx,esi $op_code00 = StringReplace($op_code00, " ", "") ; jmp op next _MemoryWrite64($cmp_jmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") ; > 64bit ; _Pause($process[$loopacc0],"pause") ; "pause" "return" $op_code00 = "" ;_MemoryWrite64($cmp_jmp00, $procHwnd0, $op_code00,"byte["&StringLen($op_code00)/2&"]") ;$op_code00 = "" $return[0] = "0x"&Hex($vtmem_cmp00) ; jmp to vtmem vi tri allocate = $vtmem_cmp00 $return[1] = "0x"&Hex($vtmem_cmp00var) ; jmp to vtmem value vi tri allocate = $vtmem_cmp00var $return[2] = "0x"&Hex($cmp_jmp00) ; vi tri default asm game = $cmp_jmp00 $return[3] = "0x"&Hex($cmp_jmp00+$ws_send01_back) ; jmp op back vi tri default asm game = $cmp_jmp00+$ws_send01_back Return $return EndFunc Func read_player_hp01($loopacc0,$procHwnd0,$address0) Local $return[9] $g_item_address01 = _MemoryRead64($address0, $procHwnd0, 'byte[8]',"hex") $g_item_address01x = _MemoryRead6401( "0x"&Hex($g_item_address01+0x3D8) , $procHwnd0, 'float') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_item_address01y = Int( _MemoryRead6401( "0x"&Hex($g_item_address01+0x3D8) , $procHwnd0, 'float') ) ; type = ( byte, float, dword, char[], byte[] ... etc ) If $g_item_address01<>"0" Then $return[0] = $g_item_address01x $return[1] = $g_item_address01y $return[2] = $g_item_address01 EndIf Return $return EndFunc ; da update done new func ( co 1 gia tri nua giong ) Func _cmp_player_hp01($loopacc0,$procHwnd0,$vtmem0, $vtmem0var,$module0,$address0=0x2326D4D) ; kiem tra player hp01 asm_player_hp02USE ; "DiabloImmortal.exe"+1EC13D6: > "DiabloImmortal.exe"+2629886: > new Func "DiabloImmortal.exe"+2326D4D: ;movss xmm0,[rax+08] ;//movss [rsp+28],xmm0 ;//movss xmm1,[rax+0C] ;//movss [rsp+2C],xmm1 ;// mov rax,[rsi+000002F0] cu mov rax,[rsi+00000370] ( cu mov rax,[rsi+00000330] ) ;// rax+8 = rdi+460+8 = float hp120 ;// rax+0 = rbx+418+0 = y1 41100000 ;// rax+4 = rdi+418+4 = x 4421D99A ;// rax+B8 = rdi+418+B8 = x 42860000 ;// rax+C = rbx+460+C = y2 ;// new function ;movss xmm0,[rax+08] ;//movss [rsp+48],xmm0 ;//movss xmm1,[rax+0C] ;//movss [rsp+4C],xmm1 ;//mov rbp,[7FF757C1FF70] ;//mov rax,[rbp+000002F8] ;// new 2 ;// rbx+3D0 = auto size hp hex 41100000 ;// rbx+3DC = auto size hp hex 41819999 ;// rbx+3D8 = auto x hp float max 120 Local $return[9] $ws_send01_jmp = 0x4 ; $module0+$address0 jmp Next > 4byte de check co vtmem $ws_send01_back = 0x10 ; $module0+$address0 jmp back $ws_send01_op01 = "F3 0F 10 40 08" ; movss xmm0,[rax+08] $ws_send01_op02 = "F3 0F 11 44 24 48" ; movss [rsp+28],xmm0 = F3 0F 11 44 24 28 new //movss [rsp+48],xmm0 $ws_send01_op03 = "F3 0F 10 48 0C" ; movss xmm1,[rax+0C] $ws_send01_op04 = "" ; nop $vtmem_cmp00 = $vtmem0+$ws_send01_jmp $vtmem_cmp00var = $vtmem0var $cmp_jmp00 = _Module_GetBaseAddress($procHwnd0, $module0)+$address0 ;$cmp_jmp00 = _WinAPI_GetModuleHandle($WS2_32_dll) ;$cmp_jmp00 = _WinAPI_GetProcAddress($cmp_jmp00, "send")+$ws_send01_jmp $cmp_op00 = StringReplace($ws_send01_op01&$ws_send01_op02&$ws_send01_op03&$ws_send01_op04, " ", "") Global $op_code00 = "" Global $op_code01 = "" ; push rax $op_code01 &= "50" ; mov rax,1DF0CFC0000 // address 0x0 value vtmem $op_code01 &= "48 B8 "&_ReadF($vtmem_cmp00var,0) ; REMOVE FUNC ;cmp [rbx+000003C8],41100000 ;jne if01 ;cmp [rbx+000003D4],41819999 ;jne if01 ;mov [rax],rbx ;if01: ;$op_code01 &= "81 BB C8 03 00 00 00 00 10 41 75 17 90 90 90 90 81 BB D4 03 00 00 99 99 81 41 75 07 90 90 90 90 48 89 18" ; new FUNC ;cmp [rbx+3D0],41100000 ;jne if01 ;cmp [rbx+3DC],41819999 ;jne if01 ;mov [rax],rbx ;if01: $op_code01 &= "81 BB D0 03 00 00 00 00 10 41 75 17 90 90 90 90 81 BB DC 03 00 00 99 99 81 41 75 07 90 90 90 90 48 89 18" ;// drop item quest time ;cmp [rbx+74],(float)27 // 30-3 ;jb if04 ;cmp [rbx+74],(float)33 // 30+3 ;ja if04 ;cmp [rbx+A8],(float)505 // 511-6 ;jb if04 ;cmp [rbx+A8],(float)517 // 511+6 ;ja if04 ;cmp [rbx+AC],(float)254 // 274-20 ;jb if04 ;cmp [rbx+AC],(float)284 // 274+10 ;ja if04 ;cmp [rbx+40],(float)23 // 26-3 ;jb if04 ;cmp [rbx+40],(float)29 // 26+3 ;ja if04 ;cmp [rbx+44],(float)3 // 5-2 ;jb if04 ;cmp [rbx+44],(float)7 // 5+2 ;ja if04 ;mov [rax+8*4],rbx ;if04: $op_code01 &= "81 7B 74 00 00 D8 41 0F 82 85 00 00 00 81 7B 74 00 00 04 42 77 7C 90 90 90 90 81 BB A8 00 00 00 00 80 FC 43 72 6C 90 90 90 90 81 BB A8 00 00 00 00 40 01 44 77 5C 90 90 90 90 81 BB AC 00 00 00 00 00 7E 43 72 4C 90 90 90 90 81 BB AC 00 00 00 00 00 8E 43 77 3C 90 90 90 90 81 7B 40 00 00 B8 41 72 2F 90 90 90 90 81 7B 40 00 00 E8 41 77 22 90 90 90 90 81 7B 44 00 00 40 40 72 15 90 90 90 90 81 7B 44 00 00 E0 40 77 08 90 90 90 90 48 89 58 20" ; exit01: ; pop rax $op_code01 &= "58" ;exit: ; $op_code01 = StringReplace($op_code01, " ", "") ; $op_code01len = _ReadF( Ptr( 4+(StringLen($op_code01)/2) ) ,0) ; $op_code01len = StringMid($op_code01len, 1, 8) ; $op_code00 &= $op_code01len&"90 90 90 90" ; $op_code00 &= "0F 85 8B 00 00 00 90 90 90 90"& exit > $op_code00 &= $op_code01 ;cmp byte ptr [r9+2C],00 ;// movzx eax,cx ;// movss xmm1,[r8+rax*4] ;// lea rcx,[rax+r11] $op_code00 &= $cmp_op00 ; jmp 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"90" ; > v64bit ;$op_code00 &= "68"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"C3 90" ; > 32bit ; jmp op back ;GUICtrlSetData($button_submit01, "" & _ ;"jmp op back = "&Hex($cmp_jmp00+$ws_send01_back)&@CRLF & _ ;$op_code00&@CRLF & _ ;"" ) $op_code00 = StringReplace($op_code00, " ", "") _MemoryWrite64($vtmem_cmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") $op_code00 = "" ;ClipPut(Hex($vtmem_cmp00)) ;MsgBox("","check","01 = "&hex($cmp_jmp00)&" 02 = "&hex($vtmem_cmp00)&" 03 = "&$op_code00,0) ; jmp to vtmem 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($vtmem_cmp00,0)&"90" ;GUICtrlSetData($button_submit02, "" & _ ;"jmp to vtmem = "&Hex($vtmem_cmp00)&@CRLF & _ ;$op_code00&@CRLF & _ ;"" ) $op_code00 = StringReplace($op_code00, " ", "") ; jmp op next ; _Pause($process[$loopacc0],"pause") ; "pause" "return" _MemoryWrite64($cmp_jmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") ; > 64bit $op_code00 = "" ;_MemoryWrite64($cmp_jmp00, $procHwnd0, $op_code00,"byte["&StringLen($op_code00)/2&"]") ;$op_code00 = "" $return[0] = "0x"&Hex($vtmem_cmp00) ; jmp to vtmem vi tri allocate = $vtmem_cmp00 $return[1] = "0x"&Hex($vtmem_cmp00var) ; jmp to vtmem value vi tri allocate = $vtmem_cmp00var $return[2] = "0x"&Hex($cmp_jmp00) ; vi tri default asm game = $cmp_jmp00 $return[3] = "0x"&Hex($cmp_jmp00+$ws_send01_back) ; jmp op back vi tri default asm game = $cmp_jmp00+$ws_send01_back Return $return EndFunc ; ko can update Func _cmp_SetWindowPos01($loopacc0,$procHwnd0,$vtmem0, $vtmem0var,$module0,$address0=0x2BB40) ; kiem fix size winmove ; "SbieDll.dll"+2BB40 ;mov [rsp+10],rbx ;//mov [rsp+18],rbp ;//push rdi ;//push r14 ;//push r15 Local $return[9] $ws_send01_jmp = 0x4 ; $module0+$address0 jmp Next > 4byte de check co vtmem $ws_send01_back = 0xF ; $module0+$address0 jmp back $ws_send01_op01 = "48 89 5C 24 10" ; mov [rsp+10],rbx $ws_send01_op02 = "48 89 6C 24 18" ; mov [rsp+18],rbp $ws_send01_op03 = "57" ; push rdi $ws_send01_op04 = "41 56" ; push r14 $ws_send01_op05 = "41 57" ; push r15 $vtmem_cmp00 = $vtmem0+$ws_send01_jmp $vtmem_cmp00var = $vtmem0var $cmp_jmp00 = _Module_GetBaseAddress($procHwnd0, $module0)+$address0 ;$cmp_jmp00 = _WinAPI_GetModuleHandle($WS2_32_dll) ;$cmp_jmp00 = _WinAPI_GetProcAddress($cmp_jmp00, "send")+$ws_send01_jmp $cmp_op00 = StringReplace($ws_send01_op01&$ws_send01_op02&$ws_send01_op03&$ws_send01_op04&$ws_send01_op05, " ", "") Global $op_code00 = "" Global $op_code01 = "" ; push rax $op_code01 &= "50" ; mov rax,1DF0CFC0000 // address 0x0 value vtmem $op_code01 &= "48 B8 "&_ReadF($vtmem_cmp00var,0) ; cmp [rbx],00000780 $op_code01 &= "81 3B 80 07 00 00" ; jne 57DD001D > if01 $op_code01 &= "75 0A 90 90 90 90" ; mov [rbx],000002C0 $op_code01 &= "C7 03 C0 02 00 00" ; cmp [rbx+04],00000438 $op_code01 &= "81 7B 04 38 04 00 00" ; jne 57DD0031 > if01 $op_code01 &= "75 0B 90 90 90 90" ; mov [rbx+04],000001EB $op_code01 &= "C7 43 04 EB 01 00 00" ; exit01: ; pop rax $op_code01 &= "58" ; mov [rsp+148],000002C0 // x ; mov [rsp+14C],000001EB // y $op_code01 &= "C7 84 24 48 01 00 00 C0 02 00 00 C7 84 24 4C 01 00 00 EB 01 00 00" ;exit: ; $op_code01 = StringReplace($op_code01, " ", "") ; $op_code01len = _ReadF( Ptr( 4+(StringLen($op_code01)/2) ) ,0) ; $op_code01len = StringMid($op_code01len, 1, 8) ; $op_code00 &= $op_code01len&"90 90 90 90" ; $op_code00 &= "0F 85 8B 00 00 00 90 90 90 90"& exit > $op_code00 &= $op_code01 ;cmp byte ptr [r9+2C],00 ;// movzx eax,cx ;// movss xmm1,[r8+rax*4] ;// lea rcx,[rax+r11] $op_code00 &= $cmp_op00 ; jmp 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"90" ; > v64bit ;$op_code00 &= "68"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"C3 90" ; > 32bit ; jmp op back ;GUICtrlSetData($button_submit01, "" & _ ;"jmp op back = "&Hex($cmp_jmp00+$ws_send01_back)&@CRLF & _ ;$op_code00&@CRLF & _ ;"" ) $op_code00 = StringReplace($op_code00, " ", "") _MemoryWrite64($vtmem_cmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") $op_code00 = "" ;ClipPut(Hex($vtmem_cmp00)) ;MsgBox("","check","01 = "&hex($cmp_jmp00)&" 02 = "&hex($vtmem_cmp00)&" 03 = "&$op_code00,0) ; jmp to vtmem 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($vtmem_cmp00,0)&"90" ;GUICtrlSetData($button_submit02, "" & _ ;"jmp to vtmem = "&Hex($vtmem_cmp00)&@CRLF & _ ;$op_code00&@CRLF & _ ;"" ) $op_code00 = StringReplace($op_code00, " ", "") ; jmp op next ; _Pause($process[$loopacc0],"pause") ; "pause" "return" _MemoryWrite64($cmp_jmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") ; > 64bit $op_code00 = "" ;_MemoryWrite64($cmp_jmp00, $procHwnd0, $op_code00,"byte["&StringLen($op_code00)/2&"]") ;$op_code00 = "" $return[0] = "0x"&Hex($vtmem_cmp00) ; jmp to vtmem vi tri allocate = $vtmem_cmp00 $return[1] = "0x"&Hex($vtmem_cmp00var) ; jmp to vtmem value vi tri allocate = $vtmem_cmp00var $return[2] = "0x"&Hex($cmp_jmp00) ; vi tri default asm game = $cmp_jmp00 $return[3] = "0x"&Hex($cmp_jmp00+$ws_send01_back) ; jmp op back vi tri default asm game = $cmp_jmp00+$ws_send01_back Return $return EndFunc Func read_step_move01($loopacc0,$procHwnd0,$address0) Local $return[9] $g_item_address01 = _MemoryRead64($address0, $procHwnd0, 'byte[8]',"hex") $g_item_address01x = Int( _MemoryRead6401( "0x"&Hex($g_item_address01+0x84) , $procHwnd0, 'float') ) ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_item_address01y = Int( _MemoryRead6401( "0x"&Hex($g_item_address01+0x8C) , $procHwnd0, 'float') ) ; type = ( byte, float, dword, char[], byte[] ... etc ) If $g_item_address01<>"0" Then $return[0] = $g_item_address01x $return[1] = $g_item_address01y $return[2] = $g_item_address01 EndIf Return $return EndFunc ; da update done ( co 3 gia tri nua giong ) Func _cmp_step_move01($loopacc0,$procHwnd0,$vtmem0, $vtmem0var,$module0,$address0=0x6AFDC0) ; kiem tra step move asm_render_step_move01USE ; "DiabloImmortal.exe"+5B3A80: > "DiabloImmortal.exe"+5B2F90 > "DiabloImmortal.exe"+6AFDC0: ;cmp byte ptr [r9+2C],00 ;// movzx eax,cx ;// movss xmm1,[r8+rax*4] ;// lea rcx,[rax+r11] ;// r9+2C = bat = 0 tat = 1 ;// r9+84 = float x ;// r9+8C = float y ;// r9+70 = id object Local $return[9] $ws_send01_jmp = 0x4 ; $module0+$address0 jmp Next > 4byte de check co vtmem $ws_send01_back = 0x12 ; $module0+$address0 jmp back $ws_send01_op01 = "41 80 79 2C 00" ; cmp byte ptr [r9+2C],00 $ws_send01_op02 = "0F B7 C1" ; movzx eax,cx $ws_send01_op03 = "F3 41 0F 10 0C 80" ; movss xmm1,[r8+rax*4] $ws_send01_op04 = "4A 8D 0C 18" ; lea rcx,[rax+r11] $vtmem_cmp00 = $vtmem0+$ws_send01_jmp $vtmem_cmp00var = $vtmem0var $cmp_jmp00 = _Module_GetBaseAddress($procHwnd0, $module0)+$address0 ;$cmp_jmp00 = _WinAPI_GetModuleHandle($WS2_32_dll) ;$cmp_jmp00 = _WinAPI_GetProcAddress($cmp_jmp00, "send")+$ws_send01_jmp $cmp_op00 = StringReplace($ws_send01_op01&$ws_send01_op02&$ws_send01_op03&$ws_send01_op04, " ", "") Global $op_code00 = "" Global $op_code01 = "" ; push rax $op_code01 &= "50" ; mov rax,1DF0CFC0000 // address 0x0 value vtmem $op_code01 &= "48 B8 "&_ReadF($vtmem_cmp00var,0) ; cmp byte ptr [r9+2C],00 $op_code01 &= "41 80 79 2C 00" ; jne 7FF65F4B0027 > exit01 $op_code01 &= "75 15 90 90 90 90" ; cmp [r10+48],3E6147AE $op_code01 &= "41 81 7A 48 AE 47 61 3E" ; jne 7FF65F4B0027 > exit01 $op_code01 &= "75 07 90 90 90 90" ; mov [rax],r9 $op_code01 &= "4C 89 08" ; exit01: ; pop rax $op_code01 &= "58" ;exit: ; $op_code01 = StringReplace($op_code01, " ", "") ; $op_code01len = _ReadF( Ptr( 4+(StringLen($op_code01)/2) ) ,0) ; $op_code01len = StringMid($op_code01len, 1, 8) ; $op_code00 &= $op_code01len&"90 90 90 90" ; $op_code00 &= "0F 85 8B 00 00 00 90 90 90 90"& exit > $op_code00 &= $op_code01 ;cmp byte ptr [r9+2C],00 ;// movzx eax,cx ;// movss xmm1,[r8+rax*4] ;// lea rcx,[rax+r11] $op_code00 &= $cmp_op00 ; jmp 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"90" ; > v64bit ;$op_code00 &= "68"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"C3 90" ; > 32bit ; jmp op back ;GUICtrlSetData($button_submit01, "" & _ ;"jmp op back = "&Hex($cmp_jmp00+$ws_send01_back)&@CRLF & _ ;$op_code00&@CRLF & _ ;"" ) $op_code00 = StringReplace($op_code00, " ", "") _MemoryWrite64($vtmem_cmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") $op_code00 = "" ;ClipPut(Hex($vtmem_cmp00)) ;MsgBox("","check","01 = "&hex($cmp_jmp00)&" 02 = "&hex($vtmem_cmp00)&" 03 = "&$op_code00,0) ; jmp to vtmem 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($vtmem_cmp00,0)&"90" ;GUICtrlSetData($button_submit02, "" & _ ;"jmp to vtmem = "&Hex($vtmem_cmp00)&@CRLF & _ ;$op_code00&@CRLF & _ ;"" ) $op_code00 = StringReplace($op_code00, " ", "") ; jmp op next ; _Pause($process[$loopacc0],"pause") ; "pause" "return" _MemoryWrite64($cmp_jmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") ; > 64bit $op_code00 = "" ;_MemoryWrite64($cmp_jmp00, $procHwnd0, $op_code00,"byte["&StringLen($op_code00)/2&"]") ;$op_code00 = "" $return[0] = "0x"&Hex($vtmem_cmp00) ; jmp to vtmem vi tri allocate = $vtmem_cmp00 $return[1] = "0x"&Hex($vtmem_cmp00var) ; jmp to vtmem value vi tri allocate = $vtmem_cmp00var $return[2] = "0x"&Hex($cmp_jmp00) ; vi tri default asm game = $cmp_jmp00 $return[3] = "0x"&Hex($cmp_jmp00+$ws_send01_back) ; jmp op back vi tri default asm game = $cmp_jmp00+$ws_send01_back Return $return EndFunc Func read_player_view01($loopacc0,$procHwnd0,$address0) Local $return[9] $g_item_address01 = _MemoryRead64($address0, $procHwnd0, 'byte[8]',"hex") $g_item_address01x = Int( _MemoryRead6401( "0x"&Hex($g_item_address01+0x100) , $procHwnd0, 'float') ) ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_item_address01y = Int( _MemoryRead6401( "0x"&Hex($g_item_address01+0x108) , $procHwnd0, 'float') ) ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_item_address03 = _MemoryRead64($address0+0x8*3, $procHwnd0, 'byte[4]',"dec") If $g_item_address01<>"0" Then $return[0] = $g_item_address01x $return[1] = $g_item_address01y $return[2] = $g_item_address01 $return[3] = $g_item_address03 EndIf Return $return EndFunc ; da update done Func _cmp_player_view01($loopacc0,$procHwnd0,$vtmem0, $vtmem0var,$module0,$address0=0x1610646) ; kiem tra player view asm_xy_player_view01USE ; "DiabloImmortal.exe"+1497646: > "DiabloImmortal.exe"+1498D96: > "DiabloImmortal.exe"+1610646: ; // movsd xmm0,[rbx+00000100] ; mov eax,[rbx+00000108] ; // movsd [rbx+000000F4],xmm0 ; // movsd xmm0,[rdi] ;// player view x y ;// rbx+100 = x ;// rbx+108 = y ;// rbx+10C = zoom ;// rbx+118 = zoom x ;// rbx+11C = zoom y If _IsChecked( ($button_auto01[1])[7-1] ) = True Then $view_zoom01 = $view_zoom01train01 If _IsChecked( ($button_auto01[1])[7-1] ) = False Then $view_zoom01 = $view_zoom01train02 Local $return[9] $ws_send01_jmp = 0x4 ; $module0+$address0 jmp Next > 4byte de check co vtmem $ws_send01_back = 0x12 ; $module0+$address0 jmp back $ws_send01_op01 = "8B 83 08 01 00 00" ; mov eax,[rbx+00000108] $ws_send01_op02 = "F2 0F 11 83 F4 00 00 00" ; movsd [rbx+000000F4],xmm0 $ws_send01_op03 = "F2 0F 10 07" ; movsd xmm0,[rdi] $ws_send01_op04 = "" ; nop $vtmem_cmp00 = $vtmem0+$ws_send01_jmp $vtmem_cmp00var = $vtmem0var $cmp_jmp00 = _Module_GetBaseAddress($procHwnd0, $module0)+$address0 ;$cmp_jmp00 = _WinAPI_GetModuleHandle($WS2_32_dll) ;$cmp_jmp00 = _WinAPI_GetProcAddress($cmp_jmp00, "send")+$ws_send01_jmp $cmp_op00 = StringReplace($ws_send01_op01&$ws_send01_op02&$ws_send01_op03&$ws_send01_op04, " ", "") Global $op_code00 = "" Global $op_code01 = "" ; mov eax,[rbx+00000108] ; // movsd [rbx+000000F4],xmm0 ; // movsd xmm0,[rdi] $op_code00 &= $cmp_op00 ; push rax $op_code01 &= "50" ; mov rax,1DF0CFC0000 // address 0x0 value vtmem $op_code01 &= "48 B8 "&_ReadF($vtmem_cmp00var,0) ; mov [rax],rbx $op_code01 &= "48 89 18" ; cmp rbx,00000000 $op_code01 &= "48 81 FB 00 00 00 00" ; je 7FF75907003F > exit01 $op_code01 &= "74 22 90 90 90 90" ; mov [rbx+0000010C],42700000 ;If $view_zoom01 = 60 Then $op_code01 &= "C7 83 0C 01 00 00 00 00 70 42" ; 60% ;If $view_zoom01 = 55 Then $op_code01 &= "C7 83 0C 01 00 00 00 00 5C 42" ; 55% If $view_zoom01 <> 0 Then $op_code01 &= "C7 83 0C 01 00 00"&StringMid(_ReadF(_FloatToHex($view_zoom01),0) ,1,8) ; 60% ; mov [rbx+00000120],00000000 If $view_zoom02 <> 0 Then $op_code01 &= "C7 83 20 01 00 00"&StringMid(_ReadF(_FloatToHex($view_zoom02),0) ,1,8) ; 3 ; mov [rbx+00000128],C1700000 If $view_zoom05 <> 0 Then $op_code01 &= "C7 83 24 01 00 00"&StringMid(_ReadF(_FloatToHex($view_zoom05),0) ,1,8) ; -15 ; mov [rbx+00000128],00000000 If $view_zoom03 <> 0 Then $op_code01 &= "C7 83 28 01 00 00"&StringMid(_ReadF(_FloatToHex($view_zoom03),0) ,1,8) ; -3 ; mov [rbx+118],(float)0.6000000238 // 0.6000000238 rotation z If $view_zoom04 <> 0 Then $op_code01 &= "C7 83 18 01 00 00"&StringMid(_ReadF(_FloatToHex($view_zoom04),0) ,1,8) ; 2 ; exit01: ;// check 0 = stop 1 = run ;mov r12,[rbx+00000108] ;cmp [rax+8*1],r12 // 425+20 ;jne exit02 ;mov [rax+8*3],0 ;exit02: ;cmp [rax+8*1],r12 // 425+20 ;je exit03 ;mov [rax+8*3],1 ;exit03: ;mov [rax+8*1],r12 ;mov r12,[rbx+00000100] ;cmp [rax+8*2],r12 // 425+20 ;je exit04 ;mov [rax+8*3],1 ;exit04: ;mov [rax+8*2],r12 ;// end check 0 = stop 1 = run $op_code01 &= "4C 8B A3 08 01 00 00 4C 39 60 08 75 0B 90 90 90 90 C7 40 18 00 00 00 00 4C 39 60 08 74 0B 90 90 90 90 C7 40 18 01 00 00 00 4C 89 60 08 4C 8B A3 00 01 00 00 4C 39 60 10 74 0B 90 90 90 90 C7 40 18 01 00 00 00 4C 89 60 10" ; pop rax $op_code01 &= "58" ;exit: ; $op_code01 = StringReplace($op_code01, " ", "") ; $op_code01len = _ReadF( Ptr( 4+(StringLen($op_code01)/2) ) ,0) ; $op_code01len = StringMid($op_code01len, 1, 8) ; $op_code00 &= $op_code01len&"90 90 90 90" ; $op_code00 &= "0F 85 8B 00 00 00 90 90 90 90"& exit > $op_code00 &= $op_code01 ; jmp 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"90" ; > v64bit ;$op_code00 &= "68"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"C3 90" ; > 32bit ; jmp op back ;GUICtrlSetData($button_submit01, "" & _ ;"jmp op back = "&Hex($cmp_jmp00+$ws_send01_back)&@CRLF & _ ;$op_code00&@CRLF & _ ;"" ) $op_code00 = StringReplace($op_code00, " ", "") _MemoryWrite64($vtmem_cmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") $op_code00 = "" ;ClipPut(Hex($vtmem_cmp00)) ;MsgBox("","check","01 = "&hex($cmp_jmp00)&" 02 = "&hex($vtmem_cmp00)&" 03 = "&$op_code00,0) ; jmp to vtmem 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($vtmem_cmp00,0)&"90" ;GUICtrlSetData($button_submit02, "" & _ ;"jmp to vtmem = "&Hex($vtmem_cmp00)&@CRLF & _ ;$op_code00&@CRLF & _ ;"" ) $op_code00 = StringReplace($op_code00, " ", "") ; jmp op next ; _Pause($process[$loopacc0],"pause") ; "pause" "return" _MemoryWrite64($cmp_jmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") ; > 64bit $op_code00 = "" ;_MemoryWrite64($cmp_jmp00, $procHwnd0, $op_code00,"byte["&StringLen($op_code00)/2&"]") ;$op_code00 = "" $return[0] = "0x"&Hex($vtmem_cmp00) ; jmp to vtmem vi tri allocate = $vtmem_cmp00 $return[1] = "0x"&Hex($vtmem_cmp00var) ; jmp to vtmem value vi tri allocate = $vtmem_cmp00var $return[2] = "0x"&Hex($cmp_jmp00) ; vi tri default asm game = $cmp_jmp00 $return[3] = "0x"&Hex($cmp_jmp00+$ws_send01_back) ; jmp op back vi tri default asm game = $cmp_jmp00+$ws_send01_back Return $return EndFunc Func read_target_hp01($loopacc0,$procHwnd0,$address0) Local $return[9] $g_item_address01 = _MemoryRead64($address0+0x8, $procHwnd0, 'byte[8]',"hex") ; rbx $g_item_address02 = _MemoryRead64($address0+0x10, $procHwnd0, 'byte[4]',"dec") $g_item_address03 = _MemoryRead64($address0+0x0, $procHwnd0, 'byte[8]',"hex") ; rcx $g_item_address03on = _MemoryRead64("0x"&Hex($g_item_address03+0x6C) , $procHwnd0, 'byte[1]',"dec") ; rcx $g_item_address01x = Int( _MemoryRead6401( "0x"&Hex($g_item_address01+0x0) , $procHwnd0, 'float') ) ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_item_address01y = Int( _MemoryRead6401( "0x"&Hex($g_item_address01+0x4) , $procHwnd0, 'float') ) ; type = ( byte, float, dword, char[], byte[] ... etc ) If $g_item_address01<>"0" Then $return[0] = $g_item_address01x $return[1] = $gamey01-$g_item_address01y-8 $return[2] = $g_item_address02 $return[3] = $g_item_address03on EndIf Return $return EndFunc Func read_target_hp02($loopacc0,$procHwnd0,$address0) Local $return[9] $g_item_address01 = _MemoryRead64($address0+0x0, $procHwnd0, 'byte[8]',"hex") ; rbx $g_item_address02 = _MemoryRead64($address0+0x10, $procHwnd0, 'byte[4]',"dec") $g_item_address03 = _MemoryRead64($address0+0x0, $procHwnd0, 'byte[8]',"hex") ; rcx $g_item_address03on = _MemoryRead64("0x"&Hex($g_item_address03+0x6C) , $procHwnd0, 'byte[1]',"dec") ; rcx $g_item_address01x = Int( _MemoryRead6401( "0x"&Hex($g_item_address01+0x10) , $procHwnd0, 'float') ) ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_item_address01y = Int( _MemoryRead6401( "0x"&Hex($g_item_address01+0x18) , $procHwnd0, 'float') ) ; type = ( byte, float, dword, char[], byte[] ... etc ) If $g_item_address01<>"0" Then $return[0] = $g_item_address01x $return[1] = $g_item_address01y $return[2] = $g_item_address02 $return[3] = $g_item_address03on EndIf Return $return EndFunc Func read_target_hp03($loopacc0,$procHwnd0,$address0) Local $return[9] $g_item_address01 = _MemoryRead64($address0+0x8, $procHwnd0, 'byte[8]',"hex") ; rbx $g_item_address02 = _MemoryRead64($address0+0x10, $procHwnd0, 'byte[4]',"dec") $g_item_address03 = _MemoryRead64($address0+0x0, $procHwnd0, 'byte[8]',"hex") ; rcx $g_item_address03on = _MemoryRead64("0x"&Hex($g_item_address03+0x6C) , $procHwnd0, 'byte[1]',"dec") ; rcx If $g_item_address01<>"0" Then $return[0] = $g_item_address03 $return[1] = 0 $return[2] = 0 $return[3] = $g_item_address03on EndIf Return $return EndFunc ; da update done Func _cmp_target_hp01($loopacc0,$procHwnd0,$vtmem0, $vtmem0var,$module0,$address0=0x435B1E) ; kiem tra target hp01 asm_target_hp02USE ; "DiabloImmortal.exe"+3C0FBE > "DiabloImmortal.exe"+3C20FE: > "DiabloImmortal.exe"+435B1E: ;// movaps [rax-68],xmm11 ;movaps xmm11,xmm3 // ko du byte > movaps [rax-68],xmm11 ;movaps xmm10,xmm2 ;// mov rbx,rcx ;// cmp byte ptr [rcx+6C],00 ; cmp byte ptr [rax+00000180],00 > bat = 0 tat = 1 npc ? Local $return[9] $ws_send01_jmp = 0x4 ; $module0+$address0 jmp Next > 4byte de check co vtmem $ws_send01_back = 0x10 ; $module0+$address0 jmp back $ws_send01_op01 = "44 0F 29 58 98" ; movaps [rax-68],xmm11 $ws_send01_op02 = "44 0F 28 DB" ; movaps xmm11,xmm3 $ws_send01_op03 = "44 0F 28 D2" ; movaps xmm10,xmm2 $ws_send01_op04 = "48 8B D9" ; mov rbx,rcx $vtmem_cmp00 = $vtmem0+$ws_send01_jmp $vtmem_cmp00var = $vtmem0var $cmp_jmp00 = _Module_GetBaseAddress($procHwnd0, $module0)+$address0 ;$cmp_jmp00 = _WinAPI_GetModuleHandle($WS2_32_dll) ;$cmp_jmp00 = _WinAPI_GetProcAddress($cmp_jmp00, "send")+$ws_send01_jmp $cmp_op00 = StringReplace($ws_send01_op01&$ws_send01_op02&$ws_send01_op03&$ws_send01_op04, " ", "") Global $op_code00 = "" Global $op_code01 = "" ; push rax $op_code01 &= "50" ; push r9 $op_code01 &= "41 51" ; mov rax,1DF0CFC0000 // address 0x0 value vtmem $op_code01 &= "48 B8 "&_ReadF($vtmem_cmp00var,0) ;mov r9,[rax+8*50] //> chuyen rcx = rbx = [rax+20] ;//mov byte ptr [rcx+6C],01 // test ;cmp byte ptr [rcx+6C],00 ;jne exit01 ;cmp [rcx+34],42480000 // y hp do ;jne exit01 ;cmp [rcx+28],42500000 // x hp do ;jne exit01 ;cmp [rcx+2C],41BB3333 // hp do ;jne exit01 ;mov [rax],rcx // 6C bat = 0 tat = 1, +2C x y hp ;mov [rax+8],rdi // float x float y ;mov byte ptr [rax+10],1 // hp enemy ;mov [rax+18],rdi // rdi png ;exit01: $op_code01 &= "80 79 6C 00 75 3A 90 90 90 90 81 79 34 00 00 48 42 75 2D 90 90 90 90 81 79 28 00 00 50 42 75 20 90 90 90 90 81 79 2C 33 33 BB 41 75 13 90 90 90 90 48 89 08 48 89 78 08 C6 40 10 01 48 89 78 18" ; pop r9 $op_code01 &= "41 59" ;cmp byte ptr [rcx+6C],00 // time drop item quest ;jne exit10 ;cmp [rcx+2C],42680000 // y hp do 58 ;jne exit10 ;cmp [rcx+30],4334B333 // sx hp do 180.6999969 ;jne exit10 ;cmp [rcx+34],41266666 // sy hp do 10.39999962 ;jne exit10 ;mov [rax+8*61],rcx // 6C bat = 0 tat = 1, +2C x y hp ;exit10: $op_code01 &= "80 79 6C 00 75 32 90 90 90 90 81 79 2C 00 00 68 42 75 25 90 90 90 90 81 79 30 33 B3 34 43 75 18 90 90 90 90 81 79 34 66 66 26 41 75 0B 90 90 90 90 48 89 88 08 03 00 00" ; pop rax $op_code01 &= "58" ;exit: ; $op_code01 = StringReplace($op_code01, " ", "") ; $op_code01len = _ReadF( Ptr( 4+(StringLen($op_code01)/2) ) ,0) ; $op_code01len = StringMid($op_code01len, 1, 8) ; $op_code00 &= $op_code01len&"90 90 90 90" ; $op_code00 &= "0F 85 8B 00 00 00 90 90 90 90"& exit > $op_code00 &= $op_code01 ;// movaps [rax-68],xmm11 ;movaps xmm11,xmm3 ;movaps xmm10,xmm2 ;// mov rbx,rcx $op_code00 &= $cmp_op00 ; jmp 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"90" ; > v64bit ;$op_code00 &= "68"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"C3 90" ; > 32bit ; jmp op back ;GUICtrlSetData($button_submit01, "" & _ ;"jmp op back = "&Hex($cmp_jmp00+$ws_send01_back)&@CRLF & _ ;$op_code00&@CRLF & _ ;"" ) $op_code00 = StringReplace($op_code00, " ", "") _MemoryWrite64($vtmem_cmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") $op_code00 = "" ;ClipPut(Hex($vtmem_cmp00)) ;MsgBox("","check","01 = "&hex($cmp_jmp00)&" 02 = "&hex($vtmem_cmp00)&" 03 = "&$op_code00,0) ; jmp to vtmem 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($vtmem_cmp00,0)&"90" ;GUICtrlSetData($button_submit02, "" & _ ;"jmp to vtmem = "&Hex($vtmem_cmp00)&@CRLF & _ ;$op_code00&@CRLF & _ ;"" ) $op_code00 = StringReplace($op_code00, " ", "") ; jmp op next ; _Pause($process[$loopacc0],"pause") ; "pause" "return" _MemoryWrite64($cmp_jmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") ; > 64bit $op_code00 = "" ;_MemoryWrite64($cmp_jmp00, $procHwnd0, $op_code00,"byte["&StringLen($op_code00)/2&"]") ;$op_code00 = "" $return[0] = "0x"&Hex($vtmem_cmp00) ; jmp to vtmem vi tri allocate = $vtmem_cmp00 $return[1] = "0x"&Hex($vtmem_cmp00var) ; jmp to vtmem value vi tri allocate = $vtmem_cmp00var $return[2] = "0x"&Hex($cmp_jmp00) ; vi tri default asm game = $cmp_jmp00 $return[3] = "0x"&Hex($cmp_jmp00+$ws_send01_back) ; jmp op back vi tri default asm game = $cmp_jmp00+$ws_send01_back Return $return EndFunc Func read_drop_item02($loopacc0,$procHwnd0,$address0,$item_E=1) Local $return[9] $g_item_address01 = _MemoryRead64($address0, $procHwnd0, 'byte[8]',"hex") ; rdx $g_item_address02 = _MemoryRead64( "0x"&Hex($g_item_address01+0x8) , $procHwnd0, 'byte[8]',"hex") $g_item_address01text = _MemoryRead6401( "0x"&Hex($g_item_address02+0x0) , $procHwnd0, 'wchar[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 If $g_item_address01text = "E" Then $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_item_address02 = _MemoryRead64( "0x"&Hex($g_item_address02+0x0) , $procHwnd0, 'byte[8]',"hex") ; fix char > wchar $g_item_address01text = _MemoryRead6401( "0x"&Hex($g_item_address02+0x0) , $procHwnd0, 'wchar[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf $g_item_address01x = int( IntToFlt( _MemoryRead64( "0x"&Hex($g_item_address01+0x10) , $procHwnd0, 'byte[4]',"dec") ) ) $g_item_address01y = int( IntToFlt( _MemoryRead64( "0x"&Hex($g_item_address01+0x14) , $procHwnd0, 'byte[4]',"dec") ) ) $g_item_address03 = _MemoryRead64($address0+0x8, $procHwnd0, 'byte[8]',"hex") ; rbx $g_item_address03bat = _MemoryRead64( "0x"&Hex($g_item_address03+0xB8) , $procHwnd0, 'byte[4]',"Hex") If $item_E=0 and $g_item_address01text ="E" Then _MemoryWrite64("0x"&Hex($g_item_address03+0xB8), $procHwnd01, 0x00000101,'byte[4]') ; reset If StringInStr($g_item_address01text, 'Gold') > 0 Then _MemoryWrite64("0x"&Hex($g_item_address03+0xB8), $procHwnd01, 0x00000101,'byte[4]') ; reset If $g_item_address01text<>"" Then $return[0] = $g_item_address01x $return[1] = $gamey01-$g_item_address01y $return[2] = $g_item_address01text $return[3] = Hex($g_item_address03bat,8) EndIf Return $return EndFunc Func read_drop_item03($loopacc0,$procHwnd0,$address0) Local $return[9] $g_item_address01 = _MemoryRead64($address0, $procHwnd0, 'byte[8]',"hex") ; rdx $g_item_address02 = _MemoryRead64( "0x"&Hex($g_item_address01+0x8) , $procHwnd0, 'byte[8]',"hex") $g_item_address02 = _MemoryRead64( "0x"&Hex($g_item_address02+0x0) , $procHwnd0, 'byte[8]',"hex") $g_item_address01text = _MemoryRead6401( "0x"&Hex($g_item_address02+0x0) , $procHwnd0, 'wchar[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $g_item_address01x = int( IntToFlt( _MemoryRead64( "0x"&Hex($g_item_address01+0x10) , $procHwnd0, 'byte[4]',"dec") ) ) $g_item_address01y = int( IntToFlt( _MemoryRead64( "0x"&Hex($g_item_address01+0x14) , $procHwnd0, 'byte[4]',"dec") ) ) $g_item_address03 = _MemoryRead64($address0+0x8, $procHwnd0, 'byte[8]',"hex") ; rbx $g_item_address03bat = _MemoryRead64( "0x"&Hex($g_item_address03+0xB8) , $procHwnd0, 'byte[4]',"Hex") If $g_item_address01text<>"" Then $return[0] = $g_item_address01x $return[1] = $gamey01-$g_item_address01y $return[2] = $g_item_address01text $return[3] = Hex($g_item_address03bat,8) EndIf Return $return EndFunc Func read_drop_item04($loopacc0,$procHwnd0,$address0,$item_E=1) Local $return[9] $g_item_address01 = _MemoryRead64($address0, $procHwnd0, 'byte[8]',"hex") ; rdx $g_item_address02 = _MemoryRead64( "0x"&Hex($g_item_address01+0x8) , $procHwnd0, 'byte[8]',"hex") $g_item_address01text = _MemoryRead6401( "0x"&Hex($g_item_address02+0x0) , $procHwnd0, 'wchar[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $reset_on00 = 1 If $g_item_address01text = "E" Then $reset_on00 = 0 EndIf If $reset_on00 = 1 Then $g_item_address02 = _MemoryRead64( "0x"&Hex($g_item_address02+0x0) , $procHwnd0, 'byte[8]',"hex") ; fix char > wchar $g_item_address01text = _MemoryRead6401( "0x"&Hex($g_item_address02+0x0) , $procHwnd0, 'wchar[24]') ; type = ( byte, float, dword, char[], byte[] ... etc ) EndIf $g_item_address01x = int( IntToFlt( _MemoryRead64( "0x"&Hex($g_item_address01+0x10) , $procHwnd0, 'byte[4]',"dec") ) ) $g_item_address01y = int( IntToFlt( _MemoryRead64( "0x"&Hex($g_item_address01+0x14) , $procHwnd0, 'byte[4]',"dec") ) ) $g_item_address03 = _MemoryRead64($address0+0x8, $procHwnd0, 'byte[8]',"hex") ; rbx $g_item_address03bat = _MemoryRead64( "0x"&Hex($g_item_address03+0xB8) , $procHwnd0, 'byte[4]',"Hex") If $item_E=0 and $g_item_address01text="E" Then _MemoryWrite64("0x"&Hex($g_item_address03+0xB8), $procHwnd01, 0x00000101,'byte[4]') ; reset If $g_item_address01text<>"" Then $return[0] = $g_item_address01x $return[1] = $gamey01-$g_item_address01y $return[2] = $g_item_address01text $return[3] = Hex($g_item_address03bat,8) EndIf Return $return EndFunc ; da update done Func _cmp_drop02($loopacc0,$procHwnd0,$vtmem0, $vtmem0var,$module0,$address0=0x438E5E) ; kiem tra drop02 asm_render_drop_item05USE ; "DiabloImmortal.exe"+3C5BCE: > "DiabloImmortal.exe"+3C6D0E: > "DiabloImmortal.exe"+438E5E: ;// movups xmm0,[rsp+30] ;movups [rdx+08],xmm0 ;movups xmm1,[rsp+40] ;// movups [rdx+18],xmm1 ;//add qword ptr [rcx+08],40 ;// rbx = xmm0 = rdx+8 ;// rdx+8 > 0 = text name ;// rdx+8 > 90 = text fontC ;// rdx+8 > 10C = text font size ;// rdx+8 > 108 = tat = 00000101 bat = 01000000 ;// rdx+8 > 130 = color hex ;// 756F6853 // color text vang npc nguoi choi ;// 3F6DEDEE // color text trang nguoi choi ;// 3F6FEFF0 color text vang item ;// 3EC2C2C3 do xanh ;// 3F2DADAE // color xanh name Guild ;// rdx+10 = float x ;// rdx+14 = float y Local $return[9] $ws_send01_jmp = 0x4 ; $module0+$address0 jmp Next > 4byte de check co vtmem $ws_send01_back = 0x11 ; $module0+$address0 jmp back $ws_send01_op01 = "0F 11 42 08" ; movups [rdx+08],xmm0 $ws_send01_op02 = "0F 10 4C 24 40" ; movups xmm1,[rsp+40] $ws_send01_op03 = "0F 11 4A 18" ; movups [rdx+18],xmm1 $ws_send01_op04 = "48 89 52 38" ; mov [rdx+38],rdx $vtmem_cmp00 = $vtmem0+$ws_send01_jmp $vtmem_cmp00var = $vtmem0var $cmp_jmp00 = _Module_GetBaseAddress($procHwnd0, $module0)+$address0 ;$cmp_jmp00 = _WinAPI_GetModuleHandle($WS2_32_dll) ;$cmp_jmp00 = _WinAPI_GetProcAddress($cmp_jmp00, "send")+$ws_send01_jmp $cmp_op00 = StringReplace($ws_send01_op01&$ws_send01_op02&$ws_send01_op03&$ws_send01_op04, " ", "") Global $op_code00 = "" Global $op_code01 = "" ; movups [rdx+08],xmm0 ; movups xmm1,[rsp+40] ; movups [rdx+18],xmm1 ; mov [rdx+38],rdx $op_code00 &= $cmp_op00 ; push rax $op_code01 &= "50" ;push rcx $op_code01 &= "51" ; mov rax,1DF0CFC0000 // address 0x0 value vtmem $op_code01 &= "48 B8 "&_ReadF($vtmem_cmp00var,0) ;//mov [rax+0],0 // reset = 0 ;cmp [rbx+B8],01000000 // color text name = 1 ;jne exit01 ;cmp [rbx+E0],3F2DADAE // color xanh name Guild ;je exit01 ;cmp [rbx+E0],3F70F0F1 // color trang player + item ;je exit01 ;cmp [rbx+E0],3F48C8C9 // color vang npc01 ;je exit01 ;cmp [rbx+E0],3F3EBEBF // color vang npc02 ;je exit01 ;cmp [rbx+E0],3F5ADADB // color xanh npc01 ;je exit01 ;cmp [rbx+E0],3F3EBEBF // color ko ro ;je exit01 ;cmp [rbx+E0],3EFAFAFB // color ko ro ;je exit01 ;cmp [rbx+E0],540993C0 // color ko ro ;je exit01 ;cmp [rbx+0],006F0047 // Gold ;je exit01 ;cmp [rbx+6],006F0047 // Gold ;je exit01 ;cmp [rbx+8],006F0047 // Gold ;je exit01 ;cmp [rbx+A],006F0047 // Gold ;je exit01 ;cmp [rbx+C],006F0047 // Gold ;je exit01 ;mov [rax+8*0],rdx ;mov [rax+8*1],rbx ;cmp [rbx+10],00000011 // string len 16+1 Rift Progress Orb ;jne exit01 ;mov [rax+8*20],rdx ;mov [rax+8*21],rbx ;exit01: $op_code01 &= "81 BB B8 00 00 00 00 00 00 01 0F 85 E2 00 00 00 81 BB E0 00 00 00 AE AD 2D 3F 0F 84 D2 00 00 00 81 BB E0 00 00 00 F1 F0 70 3F 0F 84 C2 00 00 00 81 BB E0 00 00 00 C9 C8 48 3F 0F 84 B2 00 00 00 81 BB E0 00 00 00 BF BE 3E 3F 0F 84 A2 00 00 00 81 BB E0 00 00 00 DB DA 5A 3F 0F 84 92 00 00 00 81 BB E0 00 00 00 BF BE 3E 3F 0F 84 82 00 00 00 81 BB E0 00 00 00 FB FA FA 3E 74 76 90 90 90 90 81 BB E0 00 00 00 C0 93 09 54 74 66 90 90 90 90 81 3B 47 00 6F 00 74 5A 90 90 90 90 81 7B 06 47 00 6F 00 74 4D 90 90 90 90 81 7B 08 47 00 6F 00 74 40 90 90 90 90 81 7B 0A 47 00 6F 00 74 33 90 90 90 90 81 7B 0C 47 00 6F 00 74 26 90 90 90 90 48 89 10 48 89 58 08 81 7B 10 11 00 00 00 75 12 90 90 90 90 48 89 90 00 01 00 00 48 89 98 08 01 00 00" ;cmp [rbx+B8],01000000 // color text name = 1 ;jne exit02 ;cmp [rbx+E0],3F48C8C9 // color text name [Blacksmith] ;jne exit02 ;cmp [rbx+10],0000000C // [Blacksmith] stringlen ;jne exit02 ;mov [rax+8*10],rdx ;mov [rax+8*11],rbx ;exit02: ;cmp [rbx+B8],01000000 // color text name = 1 ;jne exit03 ;cmp [rbx+E0],3EECECED // color text name tim boss ;jne exit03 ;mov [rax+8*10],rdx ;mov [rax+8*11],rbx ;exit03: ;cmp [rbx+0],00000045 // #E Return to Westmarch ;je exit04 ;cmp [rbx+10],00000013 // 19 len Return to Westmarch ;jne exit04 ;cmp [rbx+B8],01000000 // color text name = 1 ;jne exit04 ;cmp [rbx+E0],3F70F0F1 // color xanh name Guild ;jne exit04 ;mov [rax+8*12],rdx ;mov [rax+8*13],rbx ;exit04: $op_code01 &= "81 BB B8 00 00 00 00 00 00 01 75 2F 90 90 90 90 81 BB E0 00 00 00 C9 C8 48 3F 75 1F 90 90 90 90 81 7B 10 0C 00 00 00 75 12 90 90 90 90 48 89 90 80 00 00 00 48 89 98 88 00 00 00 81 BB B8 00 00 00 00 00 00 01 75 22 90 90 90 90 81 BB E0 00 00 00 ED EC EC 3E 75 12 90 90 90 90 48 89 90 80 00 00 00 48 89 98 88 00 00 00 81 3B 45 00 00 00 74 3F 90 90 90 90 81 7B 10 13 00 00 00 75 32 90 90 90 90 81 BB B8 00 00 00 00 00 00 01 75 22 90 90 90 90 81 BB E0 00 00 00 F1 F0 70 3F 75 12 90 90 90 90 48 89 90 90 00 00 00 48 89 98 98 00 00 00" ;cmp byte ptr[rax+8*42],01 // color text name = 1 ;jne exit07 ;cmp [rbx+B8],01000000 // color text name = 1 ;jne exit07 ;cmp [rbx+0],00000045 // color text name tim boss ;jne exit07 ;cmp [rbx+E0],3F6FEFF0 // color text name tim boss ;jne exit07 ;mov [rax+8*40],rdx ;mov [rax+8*41],rbx ;mov [rbx+B8],00000101 // color text name = 1 ;exit07: $op_code01 &= "80 B8 10 02 00 00 01 75 48 90 90 90 90 81 BB B8 00 00 00 00 00 00 01 75 38 90 90 90 90 81 3B 45 00 00 00 75 2C 90 90 90 90 81 BB E0 00 00 00 F0 EF 6F 3F 75 1C 90 90 90 90 48 89 90 00 02 00 00 48 89 98 08 02 00 00 C7 83 B8 00 00 00 01 01 00 00" ; exit01: ;pop rcx $op_code01 &= "59" ; pop rax $op_code01 &= "58" ;exit: ; $op_code01 = StringReplace($op_code01, " ", "") ; $op_code01len = _ReadF( Ptr( 4+(StringLen($op_code01)/2) ) ,0) ; $op_code01len = StringMid($op_code01len, 1, 8) ; $op_code00 &= $op_code01len&"90 90 90 90" ; $op_code00 &= "0F 85 8B 00 00 00 90 90 90 90"& exit > $op_code00 &= $op_code01 ; jmp 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"90" ; > v64bit ;$op_code00 &= "68"&_ReadF($cmp_jmp00+$ws_send01_back,0)&"C3 90" ; > 32bit ; jmp op back ;GUICtrlSetData($button_submit01, "" & _ ;"jmp op back = "&Hex($cmp_jmp00+$ws_send01_back)&@CRLF & _ ;$op_code00&@CRLF & _ ;"" ) $op_code00 = StringReplace($op_code00, " ", "") _MemoryWrite64($vtmem_cmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") $op_code00 = "" ;ClipPut(Hex($vtmem_cmp00)) ;MsgBox("","check","01 = "&hex($cmp_jmp00)&" 02 = "&hex($vtmem_cmp00)&" 03 = "&$op_code00,0) ; jmp to vtmem 7FFD9677B0CF $op_code00 &= "FF 25 00 00 00 00"&_ReadF($vtmem_cmp00,0)&"90" ;GUICtrlSetData($button_submit02, "" & _ ;"jmp to vtmem = "&Hex($vtmem_cmp00)&@CRLF & _ ;$op_code00&@CRLF & _ ;"" ) $op_code00 = StringReplace($op_code00, " ", "") ; jmp op next ;_Pause($process[$loopacc0],"pause") ; "pause" "return" _MemoryWrite64($cmp_jmp00, $procHwnd0, "0x"&$op_code00,"byte["&StringLen($op_code00)/2&"]") ; > 64bit $op_code00 = "" ;_MemoryWrite64($cmp_jmp00, $procHwnd0, $op_code00,"byte["&StringLen($op_code00)/2&"]") ;$op_code00 = "" $return[0] = "0x"&Hex($vtmem_cmp00) ; jmp to vtmem vi tri allocate = $vtmem_cmp00 $return[1] = "0x"&Hex($vtmem_cmp00var) ; jmp to vtmem value vi tri allocate = $vtmem_cmp00var $return[2] = "0x"&Hex($cmp_jmp00) ; vi tri default asm game = $cmp_jmp00 $return[3] = "0x"&Hex($cmp_jmp00+$ws_send01_back) ; jmp op back vi tri default asm game = $cmp_jmp00+$ws_send01_back Return $return EndFunc Func _MemoryRead6401($ivAddress, $ahHandle, $sType = "dword", $value_type00="not_hex") ; type = ( byte, float, dword, char[], byte[] ... etc ) If Not IsArray($ahHandle) Then SetError(1, 0, False) Return 0 EndIf Local $vReadData = DllStructCreate("dword_ptr") ; hex > dec Local $vReadData01 = DllStructCreate($sType) ; hex array bytes Local $vNumberOfBytesRead = DllStructCreate("ulong_ptr lpNumberOfBytesRead") If @Error Then SetError(@Error + 1) Return 0 EndIf If Not @Error Then Local $ahCall = DllCall($ahHandle[0], "bool", "ReadProcessMemory", _ "handle", $ahHandle[1], _ "dword_ptr", $ivAddress, _ "ptr", DllStructGetPtr($vReadData01), _ "ulong_ptr", DllStructGetSize($vReadData01), _ "ptr", DllStructGetPtr($vNumberOfBytesRead)) ;ConsoleWrite(DllStructGetData($vNumberOfBytesRead, "lpNumberOfBytesRead") & @CRLF & DllStructGetSize($vReadData01) & @CRLF) If (Not $ahCall[0]) Or (DllStructGetData($vNumberOfBytesRead, "lpNumberOfBytesRead") <> DllStructGetSize($vReadData01)) Then SetError(2, 0, False) ;Return False EndIf If $value_type00 <> "Hex" Then Local $DllStructGetData_fix01 = DllStructGetData($vReadData01, 1) If StringInStr($sType, 'wchar') > 0 Then $DllStructGetData_fix01 = StringRegExpReplace($DllStructGetData_fix01, "[^\x20-\x7E]", "") ; giữ lại ký tự ASCII printable Return $DllStructGetData_fix01 EndIf If $value_type00 = "Hex" Then Return Hex("0x"&(DllStructGetData($vReadData01, 1))) EndIf EndFunc ;==>_Process_ReadMemory Func _FloatToHex($floatval) $sF = DllStructCreate("float") $sB = DllStructCreate("ptr", DllStructGetPtr($sF)) If $floatval = "" Then Exit DllStructSetData($sF, 1, $floatval) $return=DllStructGetData($sB, 1) Return $return EndFunc Func IntToFlt($iVal) Local $result $fs = DllStructCreate("float") $is = DllStructCreate("int64",DllStructGetPtr($fs)) DllStructSetData($is,1,$iVal) $result = DllStructGetData($fs,1) $fs = 0 $is = 0 return $result endfunc Func edit_data03($loopacc0=4,$address0=0x0) ; Check the checkboxes to match the data For $i = $loopacc0 To _GUICtrlListView_GetItemCount($idCheckbox35_tiled03_03) - 1 GUICtrlSetData($idCheckbox35_tiled01_01,$path_fb_html_list01[$i][1]&" "&$path_fb_html_list01[$i][2]&" = "&_GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ),"") If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ) Then ; check point = x $data_edit = "" $path_fb_html_list01_max = UBound($path_fb_html_list01, $UBOUND_COLUMNS)-1 For $lp_data = 0 to $path_fb_html_list01_max If $lp_data<>6 then $data_edit &= $path_fb_html_list01[$i-0][$lp_data] If $lp_data=6 then $data_edit = StringReplace($data_edit, "CHU DE", "") $data_edit &= $address0 EndIf If $lp_data < $path_fb_html_list01_max Then $data_edit &="|" Next ;$path_fb_html_list01[$i-0][4] = "IP" Local $data01 = $data_edit ;MsgBox($MB_SYSTEMMODAL, "Notepad - ", "$data01 = "&$data01) If $data01 <> "" Then For $lp_data = 0 to $path_fb_html_list01_max $data02 = StringSplit($data01, "|", BitOr($STR_NOCOUNT, $STR_ENTIRESPLIT)) $path_fb_html_list01[$i-0][$lp_data] = $data02[$lp_data] Next ;_ArrayDisplay($path_fb_html_list01, "1D display") ;_FileWriteFromArray($path_fb_html01, $path_fb_html_list01, 0) EndIf For $lp_data = 0 to $path_fb_html_list01_max _GUICtrlListView_SetItem($idCheckbox35_tiled03_03, $path_fb_html_list01[$i][$lp_data], $i,$lp_data) Next ;_GUICtrlListView_SetItemChecked($idCheckbox35_tiled03_03, $i, False) ; bo check Select facebook ExitLoop EndIf ; end check point = x Next EndFunc Func edit_data02($loopacc0=4,$address0=0x0) ; Check the checkboxes to match the data For $i = $loopacc0 To _GUICtrlListView_GetItemCount($idCheckbox35_tiled03_03) - 1 GUICtrlSetData($idCheckbox35_tiled01_01,$path_fb_html_list01[$i][1]&" "&$path_fb_html_list01[$i][2]&" = "&_GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ),"") If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ) Then ; check point = x $data_edit = "" $path_fb_html_list01_max = UBound($path_fb_html_list01, $UBOUND_COLUMNS)-1 For $lp_data = 0 to $path_fb_html_list01_max If $lp_data<>3 then $data_edit &= $path_fb_html_list01[$i-0][$lp_data] If $lp_data=3 then $data_edit &= $address0 If $lp_data < $path_fb_html_list01_max Then $data_edit &="|" Next ;$path_fb_html_list01[$i-0][4] = "IP" Local $data01 = $data_edit ;MsgBox($MB_SYSTEMMODAL, "Notepad - ", "$data01 = "&$data01) If $data01 <> "" Then For $lp_data = 0 to $path_fb_html_list01_max $data02 = StringSplit($data01, "|", BitOr($STR_NOCOUNT, $STR_ENTIRESPLIT)) $path_fb_html_list01[$i-0][$lp_data] = $data02[$lp_data] Next ;_ArrayDisplay($path_fb_html_list01, "1D display") _FileWriteFromArray($path_fb_html01, $path_fb_html_list01, 0) EndIf For $lp_data = 0 to $path_fb_html_list01_max _GUICtrlListView_SetItem($idCheckbox35_tiled03_03, $path_fb_html_list01[$i][$lp_data], $i,$lp_data) Next ;_GUICtrlListView_SetItemChecked($idCheckbox35_tiled03_03, $i, False) ; bo check Select facebook ExitLoop EndIf ; end check point = x Next EndFunc Func _ProcessGetName01($loopacc0,$title0) $aWinGetHandle = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$loopacc0] & $loopacc0&"\] Diablo Immortal \[#\]]") ;$tile_diablo01 = WinGetHandle("[REGEXPTITLE:\[#\] \[a1\] Diablo Immortal \[#\]]") Local $iPid = WinGetProcess($aWinGetHandle) Local $sName = _ProcessGetName($iPid) ;MsgBox($MB_SYSTEMMODAL, "Notepad - " & $iPid, $sName) Return $iPid EndFunc GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto02[2])[0]&" DONE " ) ElseIf $xx > ($button_auto02[3])[1] And $yy > ($button_auto02[3])[2] And $xx < ($button_auto02[3])[1]+($button_auto02[3])[3] And $yy < ($button_auto02[3])[2]+($button_auto02[3])[4] Then ; click button "Select" $inputbox01 = InputBox("PASS " , "PASS = 1 > 24 "&@CRLF&" ALL BATLE.NET.EXE" , "PASS " , " M99") If $inputbox01 > 0 and $inputbox01 < 24 Then ; battle.exe pass $i01 = $inputbox01 GUICtrlSetData($idCheckbox35_tiled02_02,"") GUICtrlSetData_down01($idCheckbox35_tiled02_02,$time_stop01&" "&"START AOB SCAN" ) ; we need to load the demem.dll library in order to use scan functions $readString = "END AOB SCAN NOT FIND TEXT" ClipPut("END AOB SCAN NOT FIND TEXT") If @AutoItX64 Then demem_dllOpen("demem64.dll") Else demem_dllOpen("demem.dll") EndIf If Not demem_isDllLoaded() Then ConsoleWrite(StringFormat("!> Failed to load demem library\n")) Exit EndIf ;$pid = ProcessWait("notepad.exe") ;$pid = ProcessWait("Battle.net.exe",3) $pid = ProcessWait($battle01exeX[$i01],3) ; open handle to the process by demem_open() Local $hProcess = demem_open($pid) If $hProcess = False Then GUICtrlSetData_down01($idCheckbox35_tiled02_02,$time_stop01&" "&"!> Failed to open the process\n" ) ;ConsoleWrite(StringFormat("!> Failed to open the process\n")) ;Exit EndIf ; scan to find "test" string ;Local $results = demem_scanString($hProcess, "firoma", 1000,0x396B108D, 0x10F76D08D) ;For $i = 0 To UBound($results) -1 ; Local $readString = demem_readString($hProcess, $results[$i]) ; ConsoleWrite(StringFormat("[0x%s] ascii: %s\n", $results[$i], $readString)) ; ExitLoop ;Next ; scan for unicode strings ; account.battle.net/login/sso?token=US-07e58358040e3323ccf85d54c8b41593-1401986847&ref=https%3A%2F%2Faccount.battle.net%3Futm_source%3Dapp-battlenetdesktop%26utm_medium%3Dinternal&blzcmp=app ;$battle_token1 = "https://us.battle.net/login/flow/start?ref=http" $battle_token1 = "account.battle.net/login/sso?token=" If $hProcess = True Then Local $results_unicode = demem_scanStringUnicode($hProcess, $battle_token1, 1) For $i = 0 To UBound($results_unicode) -1 Local $readString = demem_readStringUnicode($hProcess, $results_unicode[$i]) ;ConsoleWrite(StringFormat("[0x%s] unicode: %s\n", $results_unicode[$i], $readString)) ;GUICtrlSetData_down01($idCheckbox35_tiled02_02,$time_stop01&" "&StringFormat("[0x%s] unicode: %s\n", $results_unicode[$i], $readString) ) ClipPut($readString) Next ; close the handle and the process ; upon termination, it will automatically closes any handles it opened but calling demem_close() is still a good idea. demem_close($hProcess) EndIf demem_dllClose() $text_x = 30 $split_text01 = StringRegExpReplace($readString, ".{1," & $text_x - 1 & "}\K(\s{1,2}|$)", @CRLF) ; chia string thanh nhieu doan ngan ;Msgbox(0,"", $split_text01) $split_text01 = StringSplit($split_text01,"@CRLF") For $loop_x = 1 to UBound($split_text01)-1 GUICtrlSetData_down01($idCheckbox35_tiled02_02,$time_stop01&" "&$split_text01[$loop_x] ) Next EndIf ; end battle.exe pass GUICtrlSetData_down01($idCheckbox35_tiled02_02,$time_stop01&" "&($button_auto02[3])[0]&" DONE " ) GUICtrlSetData_down01($idCheckbox35_tiled02_02,$time_stop01&" "&$readString ) ElseIf $xx > ($button_auto02[4])[1] And $yy > ($button_auto02[4])[2] And $xx < ($button_auto02[4])[1]+($button_auto02[4])[3] And $yy < ($button_auto02[4])[2]+($button_auto02[4])[4] Then ; click button "Select" ClipPut($wemix_pass01) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto02[4])[0]&" DONE " ) ElseIf $xx > ($button_auto02[5])[1] And $yy > ($button_auto02[5])[2] And $xx < ($button_auto02[5])[1]+($button_auto02[5])[3] And $yy < ($button_auto02[5])[2]+($button_auto02[5])[4] Then ; click button "Select" GUICtrlSetData($idCheckbox35_tiled02_02, "") $A_inputbox00 = _inputbox01SB() ;_ArrayDisplay($A_inputbox00, "$A_inputbox00") Func _inputbox01SB() Local $return[3] = [0, 0, 0] Local $mode, $from, $to ; Tạo GUI Local $hGUI_inputbox01 = GUICreate("Chọn chế độ và phạm vi", 300, 270) ; Label và Input cho chế độ (S, E, A, T) GUICtrlCreateLabel("S,1,24 1 ĐẾN 24 LẤY UnifiedAuth SANDBOXIE "&@CRLF&@CRLF&"E,1,24 1 ĐẾN 24 LẤY ALL BATTLE SANDBOXIE "&@CRLF&@CRLF&"A,1,24 1 ĐẾN 24 LẤY UnifiedAuth REGEDIT " &@CRLF&@CRLF&"T,1,24 1 ĐẾN 24 CHECK LỖI UnifiedAuth REGEDIT ", 20, 10,400,100) GUICtrlCreateLabel("Chế độ (S/E/A/T):", 20, 120) Local $inputMode = GUICtrlCreateInput("S", 150, 120, 50, 20) ; Label và Input cho số bắt đầu GUICtrlCreateLabel("Từ số:", 20, 160) Local $inputFrom = GUICtrlCreateInput("0", 150, 160, 50, 20) ; Label và Input cho số kết thúc GUICtrlCreateLabel("Đến số:", 20, 200) Local $inputTo = GUICtrlCreateInput("0", 150, 200, 50, 20) ; Nút OK Local $btnOK = GUICtrlCreateButton("OK", 150, 240, 80) GUISetState(@SW_SHOW, $hGUI_inputbox01) GUICtrlSetState($inputFrom, $GUI_FOCUS) ; Vòng lặp sự kiện While 1 Local $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE GUIDelete($hGUI_inputbox01) Return $return Case $btnOK ; Lấy dữ liệu từ các ô input $mode = GUICtrlRead($inputMode) $from = Number(GUICtrlRead($inputFrom)) $to = Number(GUICtrlRead($inputTo)) ; Gán vào mảng $return[0] = $mode $return[1] = $from $return[2] = $to ; Đóng GUI và thoát vòng lặp GUIDelete($hGUI_inputbox01) ExitLoop EndSwitch WEnd ; Kiểm tra kết quả ; MsgBox(64, "Đối chiếu hex", "Kết quả kiểm tra các khóa hex từ file .reg:" & $return[0] & " " & $return[1] & " " & $return[2]) Return $return EndFunc If $A_inputbox00[1] > $A_inputbox00[2] Then $A_inputbox00[2] = $A_inputbox00[1] ; fix nếu min = 1 max = 0 thì max = 1 If $A_inputbox00[0] = "S" Then ; pass for $lp = $A_inputbox00[1] to $A_inputbox00[2] _reghive01EX($lp) _reghive01EXfix($lp) $file_check01 = _reghive01EX_check($lp) GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$lp&" LẤY UnifiedAuth SANDBOXIE"&" "&$file_check01 ) Next Func _reghive01EX_check($loop0) Local $path = "D:\sb_reghive\Battle_RegHive_reg" & $loop0 & ".reg" Local $file = FileOpen($path, 0) If $file = -1 Then Return "❌ [MISSING] File A" & $loop0 & " " EndIf While True Local $line = FileReadLine($file) If @error Then ExitLoop If StringRegExp($line, '^"\w+"=hex:') Then ; Tách tên khóa hex Local $matches = StringRegExp($line, '^"(\w+)"=hex:', 1) Local $keyName = (UBound($matches) > 0) ? $matches[0] : "UNKNOWN" ; Tách phần hex Local $hexPart = StringRegExpReplace($line, '^"\w+"=hex:', '') $hexPart = StringReplace($hexPart, ",", "") $hexPart = StringStripWS($hexPart, 8) Local $byteLength = StringLen($hexPart) / 2 FileClose($file) If $byteLength > 16 Then Return "✅ [OK] File A" & $loop0 & ": " & $keyName Else Return "⚠️ [LỖI: Dưới 16 byte] File A" & $loop0 & ": " & $keyName EndIf EndIf WEnd FileClose($file) Return "❌ File A" & $loop0 & " không chứa dòng hex" EndFunc Func _reghive01EXfix($loop0) Local $file_in = FileOpen("D:\sb_reghive\RegHive_reg" & $loop0 & ".reg", 0) If $file_in = -1 Then Return Local $file_out = FileOpen("D:\sb_reghive\Battle_RegHive_reg" & $loop0 & ".reg", 2) If $file_out = -1 Then FileClose($file_in) Return EndIf ; Ghi tiêu đề chuẩn vào đầu file .reg FileWriteLine($file_out, "Windows Registry Editor Version 5.00") FileWriteLine($file_out, "") ; Dòng trống sau tiêu đề Local $save_line = False While True Local $line = FileReadLine($file_in) If @error Then ExitLoop If StringInStr($line, "[HKEY_CURRENT_USER\Software\Blizzard Entertainment\Battle.net\UnifiedAuth]") Then $save_line = True EndIf If $save_line And Not StringInStr($line, "hex(") Then FileWrite($file_out, $line & @CRLF) If $save_line And $line = "" Then $save_line = False WEnd FileClose($file_in) FileClose($file_out) EndFunc Func _reghive01EX($loop0=1) Local $aRetArray run_sandboxie01('C:\Program Files\Sandboxie\Start.exe /box:'& $a_sandbox[$loop0] & $loop0&" /terminate") ; sandbox bi chan Sleep(500) $user_name01 = @UserName $reghive_size01 = FileGetSize("D:\Sandbox\"&$user_name01&"\a"&$loop0&"\RegHive") If $reghive_size01 > 0 Then ; Re-read it - with count _FileReadToArray("D:\sb_reghive\RegHive99.bat", $aRetArray) ; _ArrayDisplay($aRetArray, "1D array - count", Default, 8) $aRetArray[44] = '"%~dp0binmay mingw v110615\binmay.exe" -s "5B 00 48 00 4B 00 45 00 59 00 5F 00 4C 00 4F 00 43 00 41 00 4C 00 5F 00 4D 00 41 00 43 00 48 00 49 00 4E 00 45 00 5C 00 54 00 65 00 6D 00 70 00 48 00 69 00 76 00 65 00 5D 00 0D 00 0A 00" -r "" -i "%~dp0RegHive_reg.tmp2" -o "%~dp0RegHive_reg'&$loop0&'.reg"' _FileWriteFromArray("D:\sb_reghive\RegHive99.bat", $aRetArray, 1) FileCopy("D:\Sandbox\"&$user_name01&"\a"&$loop0&"\RegHive", "D:\sb_reghive\", $FC_OVERWRITE) Sleep(500) Local $iPID = Run("D:\sb_reghive\RegHive99.bat", "", @SW_MINIMIZE) Sleep(1500) ProcessClose($iPID) FileDelete("D:\sb_reghive\RegHive") ;GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$loop0&" "&"_reghive01EX"&" DONE " ) EndIf EndFunc ElseIf $A_inputbox00[0] = "E" Then ; pass for $lp = $A_inputbox00[1] to $A_inputbox00[2] _reghive02EX($lp) _reghive02EXfix($lp) Next Func _reghive02EXfix($loop0) Local $file_in = FileOpen("D:\sb_reghive\RegHive_reg" & $loop0 & ".reg", 0) If $file_in = -1 Then Return Local $file_out = FileOpen("D:\sb_reghive\Battle_RegHive_reg" & $loop0 & ".reg", 2) If $file_out = -1 Then FileClose($file_in) Return EndIf ; Ghi tiêu đề chuẩn vào đầu file .reg FileWriteLine($file_out, "Windows Registry Editor Version 5.00") FileWriteLine($file_out, "") ; Dòng trống sau tiêu đề ; Khởi tạo mảng lưu khối Local $block_lines[1] $block_lines[0] = "" Local $in_block = False Local $should_save = False While True Local $line = FileReadLine($file_in) If @error Then ExitLoop ; Nếu là dòng bắt đầu khối registry If StringLeft($line, 1) = "[" Then ; Nếu đang lưu khối trước đó → ghi ra nếu cần If $in_block And $should_save Then For $i = 1 To UBound($block_lines) - 1 FileWriteLine($file_out, $block_lines[$i]) Next FileWriteLine($file_out, "") EndIf ; Bắt đầu khối mới ReDim $block_lines[1] $block_lines[0] = "" _ArrayAdd($block_lines, $line) $in_block = True $should_save = StringInStr($line, "Battle") Or StringInStr($line, "Blizzard") ContinueLoop EndIf ; Nếu đang trong khối If $in_block Then _ArrayAdd($block_lines, $line) If StringInStr($line, "Battle") Or StringInStr($line, "Blizzard") Then $should_save = True EndIf ; Nếu dòng trống → kết thúc khối If $line = "" Then If $should_save Then For $i = 1 To UBound($block_lines) - 1 FileWriteLine($file_out, $block_lines[$i]) Next FileWriteLine($file_out, "") EndIf $in_block = False $should_save = False EndIf EndIf WEnd ; Ghi khối cuối nếu chưa kết thúc If $in_block And $should_save Then For $i = 1 To UBound($block_lines) - 1 FileWriteLine($file_out, $block_lines[$i]) Next FileWriteLine($file_out, "") EndIf FileClose($file_in) FileClose($file_out) EndFunc Func _reghive02EX($loop0=1) Local $aRetArray $user_name01 = @UserName $reghive_size01 = FileGetSize("D:\Sandbox\"&$user_name01&"\a"&$loop0&"\RegHive") If $reghive_size01 > 0 Then ; Re-read it - with count _FileReadToArray("D:\sb_reghive\RegHive99.bat", $aRetArray) ; _ArrayDisplay($aRetArray, "1D array - count", Default, 8) $aRetArray[44] = '"%~dp0binmay mingw v110615\binmay.exe" -s "5B 00 48 00 4B 00 45 00 59 00 5F 00 4C 00 4F 00 43 00 41 00 4C 00 5F 00 4D 00 41 00 43 00 48 00 49 00 4E 00 45 00 5C 00 54 00 65 00 6D 00 70 00 48 00 69 00 76 00 65 00 5D 00 0D 00 0A 00" -r "" -i "%~dp0RegHive_reg.tmp2" -o "%~dp0RegHive_reg'&$loop0&'.reg"' _FileWriteFromArray("D:\sb_reghive\RegHive99.bat", $aRetArray, 1) FileCopy("D:\Sandbox\"&$user_name01&"\a"&$loop0&"\RegHive", "D:\sb_reghive\", $FC_OVERWRITE) Sleep(1000) Local $iPID = Run("D:\sb_reghive\RegHive99.bat", "", @SW_MINIMIZE) Sleep(2000) ProcessClose($iPID) FileDelete("D:\sb_reghive\RegHive") ;GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$loop0&" "&"_reghive02EX"&" DONE " ) EndIf EndFunc ElseIf $A_inputbox00[0] = "A" Then ; pass _reghive03EX() Func _reghive03EX() Local $releaseId = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "ReleaseId") Local $buildNum = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CurrentBuildNumber") ;MsgBox(64, "Thông tin Windows", "Release ID: " & $releaseId & @CRLF & "Build Number: " & $buildNum) $hToolTip_reg = RegRead("HKEY_CURRENT_USER\Software\d01_screen", "kvm" ) ; Đường dẫn khóa registry cần xuất Local $regKey = "HKEY_CURRENT_USER\Software\Blizzard Entertainment\Battle.net\UnifiedAuth" ; Đường dẫn file .reg sẽ lưu Local $outputFile = "D:\sb_reghive\"&@MON&"_"&@MDAY&"_"&@YEAR&"_"&$releaseId&"_"&$buildNum&"_"&$hToolTip_reg&".reg" ; Tạo thư mục nếu chưa tồn tại If Not FileExists("D:\sb_reghive") Then DirCreate("D:\sb_reghive") ; Lệnh xuất registry Local $cmd = 'reg export "' & $regKey & '" "' & $outputFile & '" /y' ; Thực thi lệnh xuất registry RunWait(@ComSpec & " /c " & $cmd, "", @SW_HIDE) ; Kiểm tra và chỉ thêm dòng tiêu đề nếu thiếu If FileExists($outputFile) Then Local $file = FileOpen($outputFile, 0) If $file <> -1 Then Local $firstLine = FileReadLine($file, 1) FileClose($file) If StringStripWS($firstLine, 3) <> "Windows Registry Editor Version 5.00" Then Local $content = FileRead($outputFile) $content = "Windows Registry Editor Version 5.00" & @CRLF & @CRLF & $content FileDelete($outputFile) FileWrite($outputFile, $content) EndIf EndIf EndIf ; Đường dẫn file .reg đã xuất Local $outputFile = "D:\sb_reghive\"&@MON&"_"&@MDAY&"_"&@YEAR&"_"&$releaseId&"_"&$buildNum&"_"&$hToolTip_reg&".reg" ; Biến đếm và danh sách Local $hexCount = 0 Local $hexList = "" ; Kiểm tra file tồn tại If FileExists($outputFile) Then Local $file = FileOpen($outputFile, 0) If $file <> -1 Then While True Local $line = FileReadLine($file) If @error = -1 Then ExitLoop ; Kiểm tra dòng có định dạng "XXXXXX"=hex: If StringRegExp($line, '^"\w+"=hex:') Then $hexCount += 1 ; Trích mã hex và thêm vào danh sách Local $match = StringRegExpReplace($line, '^"(\w+)"=hex:.*', '$1') $hexList &= '"' & $match & '"=hex:' & @CRLF EndIf WEnd FileClose($file) ; Hiển thị danh sách và số lượng MsgBox(64, "Danh sách hex", "Tìm thấy " & $hexCount & " dòng hex:" & @CRLF & @CRLF & $hexList) Else MsgBox(48, "Lỗi", "Không thể mở file: " & $outputFile) EndIf Else MsgBox(48, "Lỗi", "Không tìm thấy file: " & $outputFile) EndIf Local $folder = "D:\sb_reghive\" Local $username = @UserName Local $filePath = $folder & $username&"_"&$releaseId&"_"&$buildNum&"_"&$hToolTip_reg & ".txt" ; Tạo file và ghi nội dung mẫu FileWrite($filePath, "Đây là file của người dùng: " & $username&" "&@MON&"_"&@MDAY&"_"&@YEAR&"_"&$releaseId&"_"&$buildNum&"_"&$hToolTip_reg) EndFunc ElseIf $A_inputbox00[0] = "T" Then ; pass _reghive04EX() Func _reghive04EX($missing00=0) ; --- Đọc từ registry --- Local $regPath = "HKCU\Software\Blizzard Entertainment\Battle.net\UnifiedAuth" Local $validKeys = "" Local $invalidKeys = "" $missing_number01 = 0 Local $missing_all01 = "" Local $i = 1 While 1 Local $valueName = RegEnumVal($regPath, $i) If @error Then ExitLoop Local $value = RegRead($regPath, $valueName) If IsBinary($value) Then If BinaryLen($value) >= 16 Then $validKeys &= $valueName & "|" Else $invalidKeys &= $valueName & "|" EndIf EndIf $i += 1 WEnd ; --- Đọc từ các file .reg --- Local $folder = "D:\sb_reghive\" Local $resultList = "" $missing00_exit = 0 For $i = 1 To 24 If $data_server[$i] <> $str_BAN Then ; $data_server[$lp_math01] <> $str_BAN Local $filePath = $folder & "Battle_RegHive_reg" & $i & ".reg" If FileExists($filePath) Then Local $content = FileRead($filePath) Local $lines = StringSplit($content, @CRLF, 1) For $j = 1 To $lines[0] Local $line = $lines[$j] If StringRegExp($line, '^"\w+"=hex:') Then Local $match = StringRegExpReplace($line, '^"(\w+)"=hex:.*', '$1') If StringInStr($validKeys, $match & "|") Then $resultList &= "[OK] File A" & $i & ": " & $match & @CRLF ElseIf StringInStr($invalidKeys, $match & "|") Then $resultList &= "[LỖI: Dưới 16 byte] File A" & $i & ": " & $match & @CRLF Else $resultList &= "[MISSING] File A" & $i & ": " & $match & @CRLF If $missing_number01 = 0 and $missing00=0 Then $missing_number01 = $i ElseIf $missing_number01 = 0 and $missing00=1 Then $missing_number01 = $i $missing00_exit = 1 ElseIf $missing00=2 Then If $missing_number01 = 0 Then $missing_number01 = $i $missing_all01 &= " M"&$i ElseIf $missing00=3 Then $missing_all01 &= " M"&$i EndIf EndIf EndIf If $missing00_exit = 1 Then ExitLoop Next EndIf EndIf ; end $data_server[$lp_math01] <> $str_BAN If $missing00_exit = 1 Then ExitLoop Next ; --- Hiển thị kết quả --- ;MsgBox(64, "Đối chiếu hex", "Kết quả kiểm tra các khóa hex từ file .reg:" & @CRLF & @CRLF & $resultList) ;MsgBox(64, "Đối chiếu hex", "Kết quả kiểm tra các khóa hex từ file .reg:" & @CRLF & @CRLF & $missing_number01) Local $arrMatchList = StringSplit($resultList, @CRLF, 1) If $missing00 <> 3 Then For $lp_math01 = 1 To $arrMatchList[0] GUICtrlSetData_down01($idCheckbox35_tiled02_02, $arrMatchList[$lp_math01] & @CRLF) Next EndIf If $missing00 = 0 Then Return $missing_number01 ElseIf $missing00 = 1 Then If $missing_number01 = 0 Then $missing_number01 = 1 Return $missing_number01 ElseIf $missing00 = 2 Then GUICtrlSetData_down01($idCheckbox35_tiled02_02, $missing_all01 & @CRLF) If $missing_number01 = 0 Then $missing_number01 = 1 Return $missing_number01 ElseIf $missing00 = 3 Then Return $missing_all01 EndIf EndFunc EndIf GUICtrlSetState( ($button_auto02[5])[7-1], $GUI_UNCHECKED) GUICtrlSetData_down01($idCheckbox35_tiled02_02,$time_stop01&" "&($button_auto02[5])[0]&" DONE " ) ElseIf $xx > ($button_auto02[6])[1] And $yy > ($button_auto02[6])[2] And $xx < ($button_auto02[6])[1]+($button_auto02[6])[3] And $yy < ($button_auto02[6])[2]+($button_auto02[6])[4] Then ; click button "Select" #cs For $loop_auto01 = 1 to 999999 ; vong lap auto For $i = 1 To _GUICtrlListView_GetItemCount($idCheckbox35_tiled03_03) - 1 ; kiem tra list x ;GUICtrlSetData($idCheckbox35_tiled01_01,"N"&$i&" "&$path_fb_html_list01[$i][1]&" "&$path_fb_html_list01[$i][2]&" = "&_GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ),"") ;GUICtrlSetData($idCheckbox35_tiled01_01,"N"&$i&" "&"1 = "&$path_fb_html_list01[$i][1]&" 2 = "&$path_fb_html_list01[$i][2]&" 3 = "&$path_fb_html_list01[$i][3],"") If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ) = True Then ; check point = x Global $i_shadow = $i ; save $i Global $time_stop01 = int(TimerDiff($time_start01)) Global $i = $i_shadow ; load $i Global $loopacc = $i Global $control01 = $cuaso[$loopacc] If $time_stop01 > $sleep05[$loopacc] Then ; time reset captcha $s_check_captcha01[$loopacc] = 1 $s_num_captcha01[$loopacc] = 0 $s_post_captcha01[$loopacc] = "" $s_get_captcha01[$loopacc] = "" $s_text_captcha01[$loopacc] = "" $s_wait_captcha01[$loopacc] = 1 $s_reset_captcha01[$loopacc] = 1 $sleep05[$loopacc] = $time_stop01+$sleep_captcha01 EndIf ; end time reset captcha ;$control01 = WinGetHandle(WinGetTitle("LDPlayer-4", "")) Local $stream = WinCapture_cs01($control01,3,$game_cap_x02,$game_cap_y02,$view_screen01,$game_cap_x01,$game_cap_y01,$g_x,$g_y) ; chay only show gui image $b_captcha01on = 1 If $s_check_captcha01[$loopacc] = 0 Then $b_captcha01on = 0 $b_captcha01 = _GetColorEX05check($b_captcha01on, $stream[2], $stream[10], $stream[11], 1, 26, 3,3, 2, 2, 2, 2 &@CRLF& _ ; $on0, $iWidth, $iHeight, $tPixel, $check0=0, $r0=10, $xs=3, $ys=3 "", 772, 307, "000200", 801, 332, "75DB20", 684, 479, "74D9AA", 675, 480, "162E2E","" &@CRLF& _ ; 1 den recaptcha, 2 xanh recaptcha, 3 xanh ok, 4 xanh den ok "", 716, 224, "111F2E", 716, 435, "0E2442" ) ; 5 xanh chua hien anh captcha, 6 xanh chua hien anh captcha If $b_captcha01[1] = 1 and $b_captcha01[2] = 1 and $b_captcha01[3] = 1 and $b_captcha01[4] = 1 and $b_captcha01[5] = 0 and $b_captcha01[6] = 0 Then $b_captcha01[0] = 1 $b_key_captcha01on = 1 If $b_captcha01[0] = 0 Then $b_key_captcha01on = 0 $b_key_captcha01 = _GetColorEX05check($b_key_captcha01on, $stream[2], $stream[10], $stream[11], 1, 26, 3,3, 2, 2, 2, 2 &@CRLF& _ ; $on0, $iWidth, $iHeight, $tPixel, $check0=0, $r0=10, $xs=3, $ys=3 "", 32, 504, "FFFFFF", 947, 505, "FFFFFF", 952, 562, "FFFFFF", 26, 558, "FFFFFF") ; 1 trang LU, 2 trang RU, 3 trang RD, 4 trang LD If $s_wait_captcha01[$loopacc] = 0 and $b_captcha01[0] = 1 and $s_text_captcha01[$loopacc] = "" and $s_post_captcha01[$loopacc] = "" and $s_num_captcha01[$loopacc] < 8 Then ; $b_captcha01[0] = 1 $img_ocr01 = img_text01(3,$stream[3],0,1 ,"0",523,220,$gamex01f,$gamey01f,'200,210,523,220,', StringReplace($path_fb_html_list01[$i][2], " ", "") &".jpg") ; bang guix02 > wemix EndIf ; end $b_captcha01[0] = 1 WinCapture_ce01($stream[3], $stream[4], $stream[5], $stream[6], $stream[7], $stream[0]) ; remove print image -------------------------- If $s_check_captcha01[$loopacc] = 1 Then bypass_captcha01() EndIf ; end check point = x Next ; end kiem tra list x Next ; vong lap auto #ce Func bypass_captcha01() GUICtrlSetData($button_submit01, "" & _ "N"&1&" $time_stop01="&$time_stop01&" $sleep01[]="&$sleep01[1]&" $sleep05[]="&$sleep05[1]&@CRLF & _ "N"&2&" $time_stop01="&$time_stop01&" $sleep01[]="&$sleep01[2]&" $sleep05[]="&$sleep05[2]&@CRLF & _ "N"&3&" $time_stop01="&$time_stop01&" $sleep01[]="&$sleep01[3]&" $sleep05[]="&$sleep05[3]&@CRLF & _ "N"&4&" $time_stop01="&$time_stop01&" $sleep01[]="&$sleep01[4]&" $sleep05[]="&$sleep05[4]&@CRLF & _ "N"&5&" $time_stop01="&$time_stop01&" $sleep01[]="&$sleep01[5]&" $sleep05[]="&$sleep05[5]&@CRLF & _ "N"&6&" $time_stop01="&$time_stop01&" $sleep01[]="&$sleep01[6]&" $sleep05[]="&$sleep05[6]&@CRLF & _ "" ) GUICtrlSetData($button_submit02, "" & _ "post= "&$s_post_captcha01[1]&" get= "&$s_get_captcha01[1]&" text= "&$s_text_captcha01[1]&" check= "&$s_check_captcha01[1]&" num= "&$s_num_captcha01[1]&@CRLF & _ "post= "&$s_post_captcha01[2]&" get= "&$s_get_captcha01[2]&" text= "&$s_text_captcha01[2]&" check= "&$s_check_captcha01[2]&" num= "&$s_num_captcha01[2]&@CRLF & _ "post= "&$s_post_captcha01[3]&" get= "&$s_get_captcha01[3]&" text= "&$s_text_captcha01[3]&" check= "&$s_check_captcha01[3]&" num= "&$s_num_captcha01[3]&@CRLF & _ "post= "&$s_post_captcha01[4]&" get= "&$s_get_captcha01[4]&" text= "&$s_text_captcha01[4]&" check= "&$s_check_captcha01[4]&" num= "&$s_num_captcha01[4]&@CRLF & _ "post= "&$s_post_captcha01[5]&" get= "&$s_get_captcha01[5]&" text= "&$s_text_captcha01[5]&" check= "&$s_check_captcha01[5]&" num= "&$s_num_captcha01[5]&@CRLF & _ "post= "&$s_post_captcha01[6]&" get= "&$s_get_captcha01[6]&" text= "&$s_text_captcha01[6]&" check= "&$s_check_captcha01[6]&" num= "&$s_num_captcha01[6]&@CRLF & _ "" ) If $s_wait_captcha01[$loopacc] = 1 Then $sleep01[$loopacc] = $time_stop01+6000 $s_wait_captcha01[$loopacc] = 0 EndIf If $time_stop01 > $sleep01[$loopacc] and $b_captcha01[0] = 1 and $b_key_captcha01[0] = 0 and $s_text_captcha01[$loopacc] <> "" Then ; $time_stop01 > $sleep01[$loopacc] + captcha login LDmouse01($loopacc,$path_fb_html_list01[$i][2],"left",1,472,482) ; $path_fb_html_list01[$i][2] $sleep01[$loopacc] = $time_stop01+2000 ElseIf $time_stop01 > $sleep01[$loopacc] and $b_captcha01[0] = 0 and $b_key_captcha01[0] = 0 and $s_text_captcha01[$loopacc] <> "" Then ; $time_stop01 > $sleep01[$loopacc] + captcha login > bi thoat $s_text_captcha01[$loopacc] = 0 $s_check_captcha01[$loopacc] = 0 $sleep01[$loopacc] = $time_stop01+2000 ElseIf $time_stop01 > $sleep01[$loopacc] and $b_captcha01[0] = 1 and $b_key_captcha01[0] = 1 and $s_text_captcha01[$loopacc] <> "" Then ; $time_stop01 > $sleep01[$loopacc] + captcha login LDkey02($loopacc,$path_fb_html_list01[$i][2],$s_text_captcha01[$loopacc]) ; tat back exit For $lp = 1 to 3 Sleep(500) LDmouse01($loopacc,$path_fb_html_list01[$i][2],"left",1,642,440) ; $path_fb_html_list01[$i][2] Next LDmouse01($loopacc,$path_fb_html_list01[$i][2],"left",1,642,480) ; $path_fb_html_list01[$i][2] $s_text_captcha01[$loopacc] = 0 $s_check_captcha01[$loopacc] = 0 $sleep01[$loopacc] = $time_stop01+2000 $sleep05[$loopacc] = $time_stop01+$sleep_captcha01 EndIf If $time_stop01 > $sleep01[$loopacc] and $b_captcha01[0] = 1 and $s_text_captcha01[$loopacc] = "" and $s_num_captcha01[$loopacc] < 30 Then ; $time_stop01 > $sleep01[$loopacc] If $s_post_captcha01[$loopacc] = "" Then ; send img > 2captcha $s_post_captcha01[$loopacc] = captcha_post01( StringReplace($path_fb_html_list01[$i][2], " ", "") &".jpg") ;$s_post_captcha01[$loopacc] = "OK|70539939574" EndIf ConsoleWrite("$s_post_captcha01[$loopacc] = " & $s_post_captcha01[$loopacc] & @CRLF) GUICtrlSetData_down01($idCheckbox35_tiled02_02,"$s_post_captcha01[$loopacc] = " & $s_post_captcha01[$loopacc] & @CRLF ) If $s_reset_captcha01[$loopacc] > 0 Then ; kiem tra loi CAPTCHA If $s_get_captcha01[$loopacc]="ERROR_CAPTCHA_UNSOLVABLE" or $s_get_captcha01[$loopacc]="ERROR_TOO_BIG_CAPTCHA_FILESIZE" or $s_get_captcha01[$loopacc]="ERROR_UPLOAD" Then $s_reset_captcha01[$loopacc] -= 1 $sleep05[$loopacc] = 0 ; reset CAPTCHA $sleep01[$loopacc] = $time_stop01+5000 ExitLoop ; khong co nguoi giai + image > 100kb + loi upload CAPTCHA EndIf EndIf ; end kiem tra loi CAPTCHA $find_php01 = StringInStr($s_post_captcha01[$loopacc], "OK|") If $find_php01 > 0 then ; find id post img captcha $s_num_captcha01[$loopacc] += 1 ;GUICtrlSetData_down01($idCheckbox35_tiled02_02,"$s_post_captcha01[$loopacc] = " & $s_post_captcha01[$loopacc] & @CRLF ) $s_get_captcha01[$loopacc] = captcha_get01( StringReplace($s_post_captcha01[$loopacc], "OK|", "") ) GUICtrlSetData_down01($idCheckbox35_tiled02_02,"W"&$s_num_captcha01[$loopacc]&" $s_get_captcha01[$loopacc] = " & $s_get_captcha01[$loopacc] & @CRLF ) $find_php02 = StringInStr($s_get_captcha01[$loopacc], "OK|") If $find_php02 > 0 then ; find text get captcha $s_text_captcha01[$loopacc] = StringReplace($s_get_captcha01[$loopacc], "OK|", "") ;$loop_auto01 = 999999999 ;ExitLoop EndIf GUICtrlSetData_down01($idCheckbox35_tiled02_02,"$loop_auto01 = "&$loop_auto01&" $s_text_captcha01[$loopacc] = " & $s_text_captcha01[$loopacc] & @CRLF ) $sleep01[$loopacc] = $time_stop01+5000 EndIf ; end find id post img captcha EndIf ; end $time_stop01 > $sleep01[$loopacc] EndFunc ;$2captcha_get01 = captcha_get01($2captcha_post01) Func captcha_get01($id_captcha0="70532418173") $return0 = "" Global $sGet = HttpGet("https://2captcha.com/res.php?key=b3e8672857bd249ab1b294f56a566f7a&action=get&id="&$id_captcha0) ; See what's returned (in default browser or whatever) If $sGet Then ;ConsoleWrite($sGet & @CRLF) $return0 = $sGet EndIf Return $return0 EndFunc ;$sFile_base64 = base64_pic($sFile) Func base64_pic($file0="c:\acc\0_MEO_D01.jpg") ;Xroot 2011 ;ClipPut("") $dat=FileRead(FileOpen($file0,16)) $objXML=ObjCreate("MSXML2.DOMDocument") $objNode=$objXML.createElement("b64") $objNode.dataType="bin.base64" $objNode.nodeTypedValue=$dat ;ClipPut($objNode.Text) $return0 = $objNode.Text Return $return0 EndFunc Func captcha_post01($file0="C:\acc\0_MEO_D01.jpg",$base64on=1) ; file png < 100kb + base64 jpg If $base64on=1 Then $sFile_base64 = base64_pic($file0) $return0 = "" $sFile = $file0 $sForm = _ '
    ' & _ ' ' & _ ' Your key: ' & _ ' ' & _ ' The CAPTCHA file body in base64 format: ' & _ ' ' & _ ' ' & _ '
    ' ; Initialize and get session handle $hOpen = _WinHttpOpen() $hForm = $sForm ; Fill form on this page $sRead = _WinHttpSimpleFormFill($hForm, $hOpen, Default, "name:body", $sFile_base64 ) ; Close connection handle _WinHttpCloseHandle($hForm) ; Close session handle _WinHttpCloseHandle($hOpen) ; See what's returned (in default browser or whatever) If $sRead Then ;ConsoleWrite($sRead & @CRLF) $return0 = $sRead EndIf Return $return0 #cs POST
    Your key: The CAPTCHA file:
    $sForm = _ '
    ' & _ ' ' & _ ' Your key: ' & _ ' ' & _ ' The CAPTCHA file: ' & _ ' ' & _ ' ' & _ '
    ' POST
    Your key: The CAPTCHA file body in base64 format:
    $sForm = _ '
    ' & _ ' ' & _ ' Your key: ' & _ ' ' & _ ' The CAPTCHA file body in base64 format: ' & _ ' ' & _ ' ' & _ '
    ' 70529936416 70529940474 GET https://2captcha.com/res.php?key=b3e8672857bd249ab1b294f56a566f7a&action=get&id=70530096968 https://2captcha.com/res.php?key=b3e8672857bd249ab1b294f56a566f7a&action=get&id=70531630450 #ce EndFunc Func HttpPost($sURL, $sData = "") Local $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1") $oHTTP.Open("POST", $sURL, False) If (@error) Then Return SetError(1, 0, 0) $oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded") $oHTTP.Send($sData) If (@error) Then Return SetError(2, 0, 0) If ($oHTTP.Status <> $HTTP_STATUS_OK) Then Return SetError(3, 0, 0) Return SetError(0, 0, $oHTTP.ResponseText) EndFunc Func HttpGet($sURL, $sData = "") Local $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1") $oHTTP.Open("GET", $sURL & "?" & $sData, False) If (@error) Then Return SetError(1, 0, 0) $oHTTP.Send() If (@error) Then Return SetError(2, 0, 0) If ($oHTTP.Status <> $HTTP_STATUS_OK) Then Return SetError(3, 0, 0) Return SetError(0, 0, $oHTTP.ResponseText) EndFunc ; Local $stream = WinCapture_cs01($control01,3,$game_cap_x02,$game_cap_y02,$view_screen01,$game_cap_x01,$game_cap_y01,$g_x,$g_y) ; chay only show gui image Func WinCapture_cs01($hWnd,$nFlags, $iWidth = -1, $iHeight = -1, $del_hBMP=0, $x0=0, $y0=0, $g_x0=0, $g_y0=0,$copy_view01 = 0 ) ; chay only show gui image ;Local $hTimer = TimerInit() ;$copy_view01 = 0 If $del_hBMP = 2 Then $del_hBMP = 1 $copy_view01 = 1 EndIf _GDIPlus_Startup() ; Lay image game vao memory Local $iH, $iW, $hDDC, $hCDC, $hBMP If $iWidth = -1 Then $iWidth = _WinAPI_GetWindowWidth($hWnd) If $iHeight = -1 Then $iHeight = _WinAPI_GetWindowHeight($hWnd) $hDDC = _WinAPI_GetDC($hWnd) $hCDC = _WinAPI_CreateCompatibleDC($hDDC) $hBMP = _WinAPI_CreateCompatibleBitmap($hDDC, $iWidth, $iHeight) _WinAPI_SelectObject($hCDC, $hBMP) If $del_hBMP = 1 Then _WinAPI_DeleteObject($hBMP) DllCall("User32.dll", "int", "PrintWindow", "hwnd", $hWnd, "hwnd", $hCDC, "int", $nFlags) ; bit map lockbits nhanh hon Local $BMP = _GDIPlus_BitmapCreateFromHBITMAP($hBMP) ;Local $sOCRTextResult = _UWPOCR_GetText($BMP, Default, True) ;MsgBox(0, "Time Elapsed: " & TimerDiff($hTimer), $sOCRTextResult) ; Draw bitmap to GUI ; $hClone01 = _GDIPlus_BitmapCloneArea($BMP, 147, 272, 300, 200) ; $hClone01 = _GDIPlus_BitmapCloneArea($stream[3], 147, 272, 300, 200) ; Local $hTimer = TimerInit() ; $hGUI = GUICreate("GDI+", $gamex01, $gamey01) ; GUISetState(@SW_SHOW) ; $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI) ; _GDIPlus_GraphicsDrawImage($hGraphic, $hClone01, 0, 0) ;------------------------------------------------------------------------------------------- If $copy_view01 = 1 Then ; clone handle hinh anh $g_hGraphics = _GDIPlus_GraphicsCreateFromHWND($g_hGUI) ;create a graphics object from a window handle $g_hBitmap = _GDIPlus_BitmapCreateFromGraphics($iWidth, $iHeight, $g_hGraphics) $g_hGfxCtxt = _GDIPlus_ImageGetGraphicsContext($g_hBitmap) _GDIPlus_GraphicsDrawImage($g_hGfxCtxt, $BMP, 0, 0) ;draw bitmap to backbuffer _GDIPlus_GraphicsDrawImageRect($g_hGraphics, $g_hBitmap, 0, 0, $iWidth, $iHeight) ;copy drawn bitmap to graphics handle (GUI) _GDIPlus_GraphicsDispose($g_hGfxCtxt) _GDIPlus_GraphicsDispose($g_hGraphics) _GDIPlus_BitmapDispose($g_hBitmap) EndIf Local $tBitmapData = _GDIPlus_BitmapLockBits($BMP, $x0, $y0, $iWidth, $iHeight, BitOR($GDIP_ILMWRITE, $GDIP_ILMREAD), $GDIP_PXF32ARGB) ;locks a portion of a bitmap for reading and writing. More infor at http://msdn.microsoft.com/en-us/library/windows/desktop/ms536298(v=vs.85).aspx Local $iScan0 = DllStructGetData($tBitmapData, "Scan0") ;get scan0 (pixel data) from locked bitmap Local $iSearchPixel = Int(0xFF000080), $iReplaceColor = 0x00000000 ;color format 0xAARRGGBB Local $tPixel = DllStructCreate("int[" & $iWidth * $iHeight & "];", $iScan0) Local $iPixel, $iRowOffset ; end Lay image game vao memory ;_WinAPI_DeleteDC($hCDC) ;$vtmem_autoitX = _MemVirtualAlloc(0x0, 0x2B0000, $MEM_COMMIT, $PAGE_EXECUTE_READWRITE) ; khoi tao 1 lan duy nhat khong se bi error memory ;$tCodeBuffer = ASM64_opcode01vtmem() ; khoi tao 1 lan duy nhat khong se bi error memory ;$vtmem_autoit_screenX = $vtmem_autoitX+0x100000 ; 0x1000 _WinAPI_MoveMemory($vtmem_autoit_screenX, $tPixel, $iWidth * $iHeight * 4) ;ClipPut($vtmem_autoit_screenX&@CRLF&$iScan0) ;MsgBox("","check","$iScan0 = "&$iScan0&" $tBitmapData = "&$tBitmapData,0) Local $stream_var[13] = [$hBMP, $iScan0, $tPixel, $BMP, $tBitmapData, $hWnd, $hDDC, $hCDC, $iWidth, $iHeight, $g_x0, $g_y0 &@CRLF& _ ""] ;$x01 = 555 ;$y01 = 394 ;$iRowOffset = $y01 * $iWidth+1 ; $iRowOffset = $iY * $iWidth + 1 ;$acolor01 = Hex(DllStructGetData($stream_var[2], 1, $iRowOffset + $x01),6) ;get pixel color ;MsgBox("","check","01 = "&$acolor01&" 02 = "&$acolor01,0) ; Local $stream_var[0] = $hBMP ; Local $stream_var[1] = $iScan0 ; Local $stream_var[2] = $tPixel ; Local $stream_var[3] = $BMP ; Local $stream_var[4] = $tBitmapData ; Local $stream_var[5] = $WinHandle ; Local $stream_var[6] = $hDDC ; Local $stream_var[7] = $hCDC ; Local $stream_var[8] = $iWidth ; Local $stream_var[9] = $iHeight ; Local $stream_var[10] = $g_x0 ; Local $stream_var[11] = $g_y0 Return $stream_var EndFunc ;==>_WinCapture01 ; WinCapture_ce01($stream[3], $stream[4], $stream[5], $stream[6], $stream[7], $stream[0]) ; remove print image -------------------------- Func WinCapture_ce01($BMP, $tBitmapData, $WinHandle,$hDDC, $hCDC, $hBMP) _GDIPlus_BitmapUnlockBits($BMP, $tBitmapData) ;unlocks a portion of a bitmap that was locked by _GDIPlus_BitmapLockBits all dell image _WinAPI_ReleaseDC($WinHandle, $hDDC) _WinAPI_DeleteDC($hCDC) _WinAPI_DeleteObject($hBMP) _GDIPlus_ImageDispose($BMP) ;cleanup resources ; _GDIPlus_ImageDispose($hImage) ;_GDIPlus_GraphicsDispose($hContext) ;_GDIPlus_BitmapDispose($hBitmap) ; _GDIPlus_GraphicsDispose($hGraphic) _GDIPlus_Shutdown() EndFunc ;==>_GetColor GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_auto02[6])[0]&" DONE " ) ; END $button_auto02 ElseIf $xx > ($button_update01[0])[1] And $yy > ($button_update01[0])[2] And $xx < ($button_update01[0])[1]+($button_update01[0])[3] And $yy < ($button_update01[0])[2]+($button_update01[0])[4] Then ; click button "Select" GUICtrlSetData($idCheckbox35_tiled01_01, "") GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&$button_update01[0]) _file_update01() Exit GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_update01[0])[0]&" DONE " ) ElseIf $xx > ($button_update01[1])[1] And $yy > ($button_update01[1])[2] And $xx < ($button_update01[1])[1]+($button_update01[1])[3] And $yy < ($button_update01[1])[2]+($button_update01[1])[4] Then ; click button "Select" GUICtrlSetData($idCheckbox35_tiled01_01, "") GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&$button_update01[0]) ; -------------------------------------- $up_file01 = InputBox("Testing", "file name to download", $default_download01, " M50") If $up_file01 <> "" Then Local $sFilePath01 = 'c:\acc\'&$up_file01 MsgBox($MB_SYSTEMMODAL, "UPDATE NEW", $sFilePath01&" = "&InetGet("http://23.239.25.77/acc/"&$up_file01, $sFilePath01, $INET_FORCERELOAD)&@CRLF& _ "update = "&"Done",0) ; end -------------------------------------- EndIf Exit GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_update01[1])[0]&" DONE " ) ElseIf $xx > ($button_update01[2])[1] And $yy > ($button_update01[2])[2] And $xx < ($button_update01[2])[1]+($button_update01[2])[3] And $yy < ($button_update01[2])[2]+($button_update01[2])[4] Then ; click button "Select" GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_update01[2])[0]&" DONE " ) ElseIf $xx > ($button_update01[3])[1] And $yy > ($button_update01[3])[2] And $xx < ($button_update01[3])[1]+($button_update01[3])[3] And $yy < ($button_update01[3])[2]+($button_update01[3])[4] Then ; click button "Select" GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_update01[3])[0]&" DONE " ) ElseIf $xx > ($button_update01[4])[1] And $yy > ($button_update01[4])[2] And $xx < ($button_update01[4])[1]+($button_update01[4])[3] And $yy < ($button_update01[4])[2]+($button_update01[4])[4] Then ; click button "Select" GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_update01[4])[0]&" DONE " ) ElseIf $xx > ($button_update01[5])[1] And $yy > ($button_update01[5])[2] And $xx < ($button_update01[5])[1]+($button_update01[5])[3] And $yy < ($button_update01[5])[2]+($button_update01[5])[4] Then ; click button "Select" $inputbox01 = InputBox("@HOUR:@MIN:@SEC", "@HOUR:@MIN:@SEC", GUICtrlRead( ($button_update01[6])[7-1] ), " M16") GUICtrlSetData( ($button_update01[5])[7-1] ,$inputbox01) ; date $auto_wait01 = $inputbox01 ; $auto_wait01 > auto01 $auto_wait01 = StringSplit($auto_wait01, ':') ; [1]=@HOUR, [2]=@MIN, [3]=@SEC GUICtrlSetState( ($button_update01[5])[7-1], $GUI_CHECKED) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_update01[5])[0]&" DONE " ) ElseIf $xx > ($button_update01[6])[1] And $yy > ($button_update01[6])[2] And $xx < ($button_update01[6])[1]+($button_update01[6])[3] And $yy < ($button_update01[6])[2]+($button_update01[6])[4] Then ; click button "Select" GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($button_update01[6])[0]&" DONE " ) EndIf ; click button "X EXIT" > button gui x y width height ------------------------------------ EndIf ; end press key Case Else $sMsg = "What are you still doing up?" EndSwitch EndIf ; ---------------------------------- WEnd ; Delete the previous GUI and all controls. GUIDelete($hGUI01) ; function for gui------------------------------------------- ;ControlSend02($loopacc,"[#] [a1] Diablo Immortal [#]","Esc") Func ControlSend03($loopacc0,$title0,$button="Esc") $control0="" ;ControlSend($control01,"","[CLASS:RenderWindow; INSTANCE:1]","Esc") ; > ldplayer handler blind ;$title0 = StringReplace($title0, ' ', '') ; fix " " "" ;$control0 = ControlGetHandle($title0, $text0, $string0) ; control id handle blind ; Retrieve a list of window handles. ;Local $aWinList = WinList("[REGEXPTITLE:(?i)(.*Diablo Immortal.*|.*"&$title0&".*)]") $aWinGetHandle = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$loopacc0] & $loopacc0&"\] Diablo Immortal \[#\]]") ;If $title0 = '[#] [a1] Diablo Immortal [#]' Then $aWinGetHandle = WinGetHandle("[REGEXPTITLE:(?i)(.*a1.*|.*"&$title0&".*)]") If $aWinGetHandle<>"" Then ;$control0 = $aWinList[1][1] $control0 = $aWinGetHandle EndIf If $control0<>""Then ControlSend($control0, "", "", $button) EndIf EndFunc ;ControlSend02($loopacc,"[#] [a1] Diablo Immortal [#]","Esc") Func ControlSend02($loopacc0,$title0,$button="Esc") $control0="" ;ControlSend($control01,"","[CLASS:RenderWindow; INSTANCE:1]","Esc") ; > ldplayer handler blind ;$title0 = StringReplace($title0, ' ', '') ; fix " " "" ;$control0 = ControlGetHandle($title0, $text0, $string0) ; control id handle blind ; Retrieve a list of window handles. ;Local $aWinList = WinList("[REGEXPTITLE:(?i)(.*Diablo Immortal.*|.*"&$title0&".*)]") $aWinGetHandle = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$loopacc0] & $loopacc0&"\] Diablo Immortal \[#\]]") ;If $title0 = '[#] [a1] Diablo Immortal [#]' Then $aWinGetHandle = WinGetHandle("[REGEXPTITLE:(?i)(.*a1.*|.*"&$title0&".*)]") If $aWinGetHandle<>"" Then ;$control0 = $aWinList[1][1] $control0 = $aWinGetHandle EndIf If $control0<>""Then $button_key01 = _KeyCodes($button) $user32 = DllOpen("user32.dll") $ret = DllCall($user32, "int", "MapVirtualKey", "int", $button_key01, "int", 0) $lParam = BitOR($ret[0] * 0x10000, BitAND(1, 0xFFFF)) If IsArray($ret) Then DllCall($user32, "int", "PostMessage", "hwnd", $control0, "int", 0x100, "int", $button_key01, "long", $lParam) Sleep(1) DllCall($user32, "int", "PostMessage", "hwnd", $control0, "int", 0x101, "int", $button_key01, "long", BitOR($lParam, 0xC0000000)) EndIf DllClose($user32) If _IsChecked( ($button_auto07[6])[7-1] ) = True Then If $save_action_on01 = 1 Then $save_action[0] = $button&" "&$save_action[3]&" ControlSend02 " $save_action[1] = $button $save_action[2] = $button $save_action[3] += 1 EndIf If $debug_mouse01 = 1 Then GUICtrlSetData_down01($idCheckbox35_tiled02_02,"DEBUG"&" $control0 =_"&$control0&"_" ) If $debug_mouse01 = 1 Then GUICtrlSetData_down01($idCheckbox35_tiled02_02,"DEBUG"&" $action[0] = "&$save_action[0]&" $action[1]x = "&$save_action[1]&" $save_action[2]y = "&$save_action[2] ) EndIf EndIf EndFunc ;ControlDrag02($loopacc,"[#] [a1] Diablo Immortal [#]","down","1",491,251) ; click item 1x1y Func ControlDrag02($loopacc0,$title0,$direction="down",$c0=1,$x0=491,$y0=251) $control0="" $aWinGetHandle = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$loopacc0] & $loopacc0&"\] Diablo Immortal \[#\]]") If $aWinGetHandle<>"" Then $control0 = $aWinGetHandle EndIf Local $WM_MOUSEWHEEL = 0x020A $WheelDelta = $direction If $direction = "up" then $WheelDelta = 120 ElseIf $direction = "down" then $WheelDelta = -120 Endif Local $MK_LBUTTON = 0x0004 ; middle mouse Local $WM_LBUTTONDOWN = 0x0201 Local $WM_LBUTTONUP = 0x0202 Local $WM_MOUSEMOVE = 0x0200 $Button = $MK_LBUTTON $ButtonDown = $WM_LBUTTONDOWN $ButtonUp = $WM_LBUTTONUP ;DllCall("user32.dll", "int", "SendMessage", "hwnd", $control0, "int", $ButtonDown, "int", $Button, "long", _WinAPI_MakeLong($x0, $y0)) ;Sleep(2) DllCall("user32.dll", "int", "SendMessage", "hwnd", $control0, "int", $WM_MOUSEMOVE, "int", 0, "long", _WinAPI_MakeLong($x0, $y0)) ;Sleep(2) ;DllCall("user32.dll", "int", "SendMessage", "hwnd", $control0, "int", $ButtonUp, "int", $Button, "long", _WinAPI_MakeLong($x0, $y0)) For $i = 0 to $c0 DllCall("user32.dll", "int", "SendMessage", _ "hwnd", $control0, _ "int", $WM_MOUSEWHEEL, _ "long", _WinAPI_MakeLong(0,$WheelDelta), _ "long", _WinAPI_MakeLong($x0, $y0)) Next EndFunc ;ControlDrag01($control01, "down", 1,491,251) Func ControlDrag01($control0, $direction, $clicks,$x0=491,$y0=251) Local $WM_MOUSEWHEEL = 0x020A $WheelDelta = $direction If $direction = "up" then $WheelDelta = 120 ElseIf $direction = "down" then $WheelDelta = -120 Endif Local $MK_LBUTTON = 0x0001 Local $WM_LBUTTONDOWN = 0x0201 Local $WM_LBUTTONUP = 0x0202 Local $WM_MOUSEMOVE = 0x0200 $Button = $MK_LBUTTON $ButtonDown = $WM_LBUTTONDOWN $ButtonUp = $WM_LBUTTONUP DllCall("user32.dll", "int", "SendMessage", "hwnd", $control0, "int", $ButtonDown, "int", $Button, "long", _WinAPI_MakeLong($x0, $y0)) Sleep(2) DllCall("user32.dll", "int", "SendMessage", "hwnd", $control0, "int", $WM_MOUSEMOVE, "int", 0, "long", _WinAPI_MakeLong($x0, $y0)) Sleep(2) DllCall("user32.dll", "int", "SendMessage", "hwnd", $control0, "int", $ButtonUp, "int", $Button, "long", _WinAPI_MakeLong($x0, $y0)) For $i = 0 to $clicks DllCall("user32.dll", "int", "SendMessage", _ "hwnd", $control0, _ "int", $WM_MOUSEWHEEL, _ "long", _WinAPI_MakeLong(0,$WheelDelta), _ "long", _WinAPI_MakeLong($x0, $y0)) Next EndFunc ;ControlClick02($loopacc,"[#] [a1] Diablo Immortal [#]","left","1",926,56) ; click item 1x1y Func ControlClick02($loopacc0,$title0,$button,$c0,$x0,$y0,$x0_fix=0,$y0_fix=0) $control0="" ;ControlClick("LDPlayer-4", "", "[CLASS:RenderWindow; INSTANCE:1]","left","1",754,111) ; click item 1x1y ;$title0 = StringReplace($title0, ' ', '') ; fix " " "" ;$control0 = ControlGetHandle($title0, $text0, $string0) ; control id handle blind ; Retrieve a list of window handles. ;Local $aWinList = WinList("[REGEXPTITLE:(?i)(.*Diablo Immortal.*|.*"&$title0&".*)]") $aWinGetHandle = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$loopacc0] & $loopacc0&"\] Diablo Immortal \[#\]]") ;If $title0 = '[#] [a1] Diablo Immortal [#]' Then $aWinGetHandle = WinGetHandle("[REGEXPTITLE:(?i)(.*a1.*|.*"&$title0&".*)]") If $aWinGetHandle<>"" Then ;$control0 = $aWinList[1][1] $control0 = $aWinGetHandle EndIf If $control0<>""Then $randomx = Random(-1, 1, 1) $randomy = Random(-1, 1, 1) $x0 = $x0-$x0_fix $y0 = $y0-$y0_fix ; $y0 = $y0-33 Local $MK_LBUTTON = 0x0001 Local $WM_LBUTTONDOWN = 0x0201 Local $WM_LBUTTONUP = 0x0202 Local $MK_RBUTTON = 0x0002 Local $WM_RBUTTONDOWN = 0x0204 Local $WM_RBUTTONUP = 0x0205 Local $WM_MOUSEMOVE = 0x0200 Local $i = 0 Select Case $Button = "left" $Button = $MK_LBUTTON $ButtonDown = $WM_LBUTTONDOWN $ButtonUp = $WM_LBUTTONUP Case $Button = "right" $Button = $MK_RBUTTON $ButtonDown = $WM_RBUTTONDOWN $ButtonUp = $WM_RBUTTONUP EndSelect DllCall("user32.dll", "int", "PostMessage", "hwnd", $control0, "int", $ButtonDown, "int", $Button, "long", _WinAPI_MakeLong($x0+$randomx, $y0+$randomy)) Sleep(2) DllCall("user32.dll", "int", "PostMessage", "hwnd", $control0, "int", $WM_MOUSEMOVE, "int", 0, "long", _WinAPI_MakeLong($x0+$randomx, $y0+$randomy)) Sleep(2) DllCall("user32.dll", "int", "PostMessage", "hwnd", $control0, "int", $ButtonUp, "int", $Button, "long", _WinAPI_MakeLong($x0+$randomx, $y0+$randomy)) If _IsChecked( ($button_auto07[6])[7-1] ) = True Then If $save_action_on01 = 1 Then $save_action[0] = $button&" "&$save_action[3]&" ControlClick02 " $save_action[1] = $x0 $save_action[2] = $y0 $save_action[3] += 1 EndIf If $debug_mouse01 = 1 Then GUICtrlSetData_down01($idCheckbox35_tiled02_02,"DEBUG"&" $control0 =_"&$control0&"_" ) If $debug_mouse01 = 1 Then GUICtrlSetData_down01($idCheckbox35_tiled02_02,"DEBUG"&" $action[0] = "&$save_action[0]&" $action[1]x = "&$save_action[1]&" $save_action[2]y = "&$save_action[2] ) If $debug_mouse01 = 1 and IsInt($save_action[1]) = True and IsInt($save_action[2]) = True and $save_action[1] > 307 and $save_action[1] < 412 and $save_action[2] > 69 and $save_action[2] < 406 Then GUICtrlSetData($idCheckbox35_tiled01_01,"$act[0] = "&$save_action[0]&" $act[1]x = "&$save_action[1]&" $save_act[2]y = "&$save_action[2] ) ;ToolTip("DEBUG"&" $action[0] = "&$save_action[0]&" $action[1]x = "&$save_action[1]&" $save_action[2]y = "&$save_action[2], 0, 0) EndIf EndIf EndFunc ;ControlMove02($loopacc,"[#] [a1] Diablo Immortal [#]","left","1",926,56) ; click item 1x1y Func ControlMove02($loopacc0,$title0,$button,$c0,$x0,$y0,$x0_fix=0,$y0_fix=0) $control0="" ;ControlClick("LDPlayer-4", "", "[CLASS:RenderWindow; INSTANCE:1]","left","1",754,111) ; click item 1x1y ;$title0 = StringReplace($title0, ' ', '') ; fix " " "" ;$control0 = ControlGetHandle($title0, $text0, $string0) ; control id handle blind ; Retrieve a list of window handles. ;Local $aWinList = WinList("[REGEXPTITLE:(?i)(.*Diablo Immortal.*|.*"&$title0&".*)]") $aWinGetHandle = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$loopacc0] & $loopacc0&"\] Diablo Immortal \[#\]]") ;If $title0 = '[#] [a1] Diablo Immortal [#]' Then $aWinGetHandle = WinGetHandle("[REGEXPTITLE:(?i)(.*a1.*|.*"&$title0&".*)]") If $aWinGetHandle<>"" Then ;$control0 = $aWinList[1][1] $control0 = $aWinGetHandle EndIf If $control0<>""Then $randomx = Random(0, 0, 1) $randomy = Random(0, 0, 1) $x0 = $x0-$x0_fix $y0 = $y0-$y0_fix ;$y0 = $y0-33 Local $MK_LBUTTON = 0x0001 Local $WM_LBUTTONDOWN = 0x0201 Local $WM_LBUTTONUP = 0x0202 Local $MK_RBUTTON = 0x0002 Local $WM_RBUTTONDOWN = 0x0204 Local $WM_RBUTTONUP = 0x0205 Local $WM_MOUSEMOVE = 0x0200 Local $i = 0 Select Case $Button = "left" $Button = $MK_LBUTTON $ButtonDown = $WM_LBUTTONDOWN $ButtonUp = $WM_LBUTTONUP Case $Button = "right" $Button = $MK_RBUTTON $ButtonDown = $WM_RBUTTONDOWN $ButtonUp = $WM_RBUTTONUP EndSelect DllCall("user32.dll", "int", "PostMessage", "hwnd", $control0, "int", $WM_MOUSEMOVE, "int", 0, "long", _WinAPI_MakeLong($x0+$randomx, $y0+$randomy)) If _IsChecked( ($button_auto07[6])[7-1] ) = True Then If $save_action_on01 = 1 Then $save_action[0] = $button&" "&$save_action[3]&" ControlMove02 " $save_action[1] = $x0 $save_action[2] = $y0 $save_action[3] += 1 EndIf If $debug_mouse01 = 1 Then GUICtrlSetData_down01($idCheckbox35_tiled02_02,"DEBUG"&" $control0 =_"&$control0&"_" ) If $debug_mouse01 = 1 Then GUICtrlSetData_down01($idCheckbox35_tiled02_02,"DEBUG"&" $action[0] = "&$save_action[0]&" $action[1]x = "&$save_action[1]&" $save_action[2]y = "&$save_action[2] ) EndIf EndIf EndFunc ;ControlClickDrag01($loopacc0,"LDPlayer-5", "", "[CLASS:RenderWindow; INSTANCE:1]","left","1",339,515,713,852,30) ; click item 1x1y Func ControlClickDrag01($loopacc0,$title0,$text0,$string0,$button,$c0,$x0,$y0,$x1,$y1,$speed0=30) ;ControlClick("LDPlayer-4", "", "[CLASS:RenderWindow; INSTANCE:1]","left","1",754,111) ; click item 1x1y $title0 = StringReplace($title0, ' ', '') ; fix " " "" $control0 = ControlGetHandle($title0, $text0, $string0) ; control id handle blind $randomx = Random(-3, 3, 1) $randomy = Random(-3, 3, 1) $y0 = $y0-33 Local $MK_LBUTTON = 0x0001 Local $WM_LBUTTONDOWN = 0x0201 Local $WM_LBUTTONUP = 0x0202 Local $MK_RBUTTON = 0x0002 Local $WM_RBUTTONDOWN = 0x0204 Local $WM_RBUTTONUP = 0x0205 Local $WM_MOUSEMOVE = 0x0200 Local $i = 0 Select Case $Button = "left" $Button = $MK_LBUTTON $ButtonDown = $WM_LBUTTONDOWN $ButtonUp = $WM_LBUTTONUP Case $Button = "right" $Button = $MK_RBUTTON $ButtonDown = $WM_RBUTTONDOWN $ButtonUp = $WM_RBUTTONUP EndSelect For $lp = 1 to 3 DllCall("user32.dll", "int", "PostMessage", "hwnd", $control0, "int", $ButtonDown, "int", $Button, "long", _WinAPI_MakeLong($x0+$randomx, $y0+$randomy)) Sleep(20) Next For $lp = 1 to $speed0 DllCall("user32.dll", "int", "PostMessage", "hwnd", $control0, "int", $WM_MOUSEMOVE, "int", 0, "long", _WinAPI_MakeLong($x0+$randomx+(($x1-$x0)/$speed0)*$lp, $y0+$randomy+(($y1-$y0)/$speed0)*$lp)) Sleep(5) Next DllCall("user32.dll", "int", "PostMessage", "hwnd", $control0, "int", $ButtonUp, "int", $Button, "long", _WinAPI_MakeLong($x1+$randomx, $y1+$randomy)) EndFunc ;ControlClick01($loopacc0,"LDPlayer-5", "", "[CLASS:RenderWindow; INSTANCE:1]","left","1",93,202) ; click item 1x1y Func ControlClick01($loopacc0,$title0,$text0,$string0,$button,$c0,$x0,$y0,$x0_fix=0,$y0_fix=0) ;ControlClick("LDPlayer-4", "", "[CLASS:RenderWindow; INSTANCE:1]","left","1",754,111) ; click item 1x1y $title0 = StringReplace($title0, ' ', '') ; fix " " "" $control0 = ControlGetHandle($title0, $text0, $string0) ; control id handle blind $randomx = Random(-3, 3, 1) $randomy = Random(-3, 3, 1) $x0 = $x0-$x0_fix $y0 = $y0-$y0_fix ; $y0 = $y0-33 Local $MK_LBUTTON = 0x0001 Local $WM_LBUTTONDOWN = 0x0201 Local $WM_LBUTTONUP = 0x0202 Local $MK_RBUTTON = 0x0002 Local $WM_RBUTTONDOWN = 0x0204 Local $WM_RBUTTONUP = 0x0205 Local $WM_MOUSEMOVE = 0x0200 Local $i = 0 Select Case $Button = "left" $Button = $MK_LBUTTON $ButtonDown = $WM_LBUTTONDOWN $ButtonUp = $WM_LBUTTONUP Case $Button = "right" $Button = $MK_RBUTTON $ButtonDown = $WM_RBUTTONDOWN $ButtonUp = $WM_RBUTTONUP EndSelect DllCall("user32.dll", "int", "PostMessage", "hwnd", $control0, "int", $ButtonDown, "int", $Button, "long", _WinAPI_MakeLong($x0+$randomx, $y0+$randomy)) Sleep(5) DllCall("user32.dll", "int", "PostMessage", "hwnd", $control0, "int", $WM_MOUSEMOVE, "int", 0, "long", _WinAPI_MakeLong($x0+$randomx, $y0+$randomy)) Sleep(5) DllCall("user32.dll", "int", "PostMessage", "hwnd", $control0, "int", $ButtonUp, "int", $Button, "long", _WinAPI_MakeLong($x0+$randomx, $y0+$randomy)) If $save_action_on01 = 1 Then $save_action[0] = $button&" "&$save_action[3] $save_action[1] = $x0 $save_action[2] = $y0 $save_action[3] += 1 EndIf If $debug_mouse01 = 1 Then GUICtrlSetData_down01($idCheckbox35_tiled01_01,"DEBUG"&" $control0 =_"&$control0&"_" ) If $debug_mouse01 = 1 Then GUICtrlSetData_down01($idCheckbox35_tiled01_01,"DEBUG"&" $action[0] = "&$save_action[0]&" $action[1]x = "&$save_action[1]&" $save_action[2]y = "&$save_action[2] ) EndFunc ;ControlSend01($loopacc0,"LDPlayer-4", "", "[CLASS:RenderWindow; INSTANCE:1]","Esc") Func ControlSend01($loopacc0,$title0="LDPlayer-4",$text0="",$string0="[CLASS:RenderWindow; INSTANCE:1]",$button="Esc") ;ControlSend($control01,"","[CLASS:RenderWindow; INSTANCE:1]","Esc") ; > ldplayer handler blind $title0 = StringReplace($title0, ' ', '') ; fix " " "" $control0 = ControlGetHandle($title0, $text0, $string0) ; control id handle blind $button_key01 = _KeyCodes($button) $user32 = DllOpen("user32.dll") $ret = DllCall($user32, "int", "MapVirtualKey", "int", $button_key01, "int", 0) $lParam = BitOR($ret[0] * 0x10000, BitAND(1, 0xFFFF)) If IsArray($ret) Then DllCall($user32, "int", "PostMessage", "hwnd", $control0, "int", 0x100, "int", $button_key01, "long", $lParam) Sleep(1) DllCall($user32, "int", "PostMessage", "hwnd", $control0, "int", 0x101, "int", $button_key01, "long", BitOR($lParam, 0xC0000000)) EndIf DllClose($user32) If $save_action_on01 = 1 Then $save_action[0] = $button&" "&$save_action[3] $save_action[1] = $x0 $save_action[2] = $y0 $save_action[3] += 1 EndIf If $debug_mouse01 = 1 Then GUICtrlSetData_down01($idCheckbox35_tiled01_01,"DEBUG"&" $control0 =_"&$control0&"_" ) If $debug_mouse01 = 1 Then GUICtrlSetData_down01($idCheckbox35_tiled01_01,"DEBUG"&" $action[0] = "&$save_action[0]&" $action[1]x = "&$save_action[1]&" $save_action[2]y = "&$save_action[2] ) EndFunc Func LDmouse01($loopacc0,$control0,$button="left",$c0=1,$x0=172,$y0=279,$sleep0=40000,$view0=1) ; $path_fb_html_list01[$i][2] $randomx = Random(-2, 2, 1) $randomy = Random(-2, 2, 1) $y0 = $y0-33 ;Local $iPID = Run($patch01&"LDPlayer\"&$ldplayer_version01&'\dnconsole.exe adb --name '&$path_fb_html_list01[$i][2]&' --command "shell input tap '&$x0+$randomx&" "&$y0+$randomy, "", @SW_HIDE) $control0 = StringReplace($control0, ' ', '') ControlClick($control0,"","[CLASS:RenderWindow; INSTANCE:1]","left",1, $x0+$randomx, $y0+$randomy) ; > ldplayer handler blind ;ControlClick("LDPlayer-2","","[CLASS:RenderWindow; INSTANCE:1]","left",1, 753,113-33) ;Sleep(1000) ;ProcessClose($iPID) If $save_action_on01 = 1 Then $save_action[0] = $button&" "&$save_action[3] $save_action[1] = $x0 $save_action[2] = $y0 $save_action[3] += 1 EndIf If $debug_mouse01 = 1 Then GUICtrlSetData_down01($idCheckbox35_tiled01_01,"DEBUG"&" $control0 =_"&$control0&"_" ) If $debug_mouse01 = 1 Then GUICtrlSetData_down01($idCheckbox35_tiled01_01,"DEBUG"&" $action[0] = "&$save_action[0]&" $action[1]x = "&$save_action[1]&" $save_action[2]y = "&$save_action[2] ) ; dnconsole.exe adb --name "LDPlayer-2" --command "shell input tap 106 170" ; $sleep02[$loopacc0] = $time_stop01+$sleep0 EndFunc Func LDkey01($loopacc0,$control0,$button="back",$view0=1) ; $path_fb_html_list01[$i][2] If $button="back" Then $key0 = 4 If $button="up" Then $key0 = 19 If $button="down" Then $key0 = 20 If $button="left" Then $key0 = 21 If $button="right" Then $key0 = 22 If $button="center" Then $key0 = 23 Local $iPID = Run($patch01&"LDPlayer\"&$ldplayer_version01&'\dnconsole.exe adb --name '&$path_fb_html_list01[$i][2]&' --command "shell input keyevent "'&$key0, "", @SW_HIDE) ;Sleep(500) ;ProcessClose($iPID) If $save_action_on01 = 1 Then $save_action[0] = $button&" "&$save_action[3] $save_action[1] = 0 $save_action[2] = 0 $save_action[3] += 1 EndIf ; dnconsole.exe adb --name "LDPlayer-2" --command "shell input keyevent 20" If $button<>"center" Then $sleep02[$loopacc0] = $time_stop01+60000 EndFunc Func LDkey02($loopacc0,$control0,$button="back",$view0=1) ; $path_fb_html_list01[$i][2] $control0 = StringReplace($control0, ' ', '') ControlSend($control0,"","[CLASS:RenderWindow; INSTANCE:1]",$button) ; > ldplayer handler blind ;Sleep(500) ;ProcessClose($iPID) If $save_action_on01 = 1 Then $save_action[0] = $button&" "&$save_action[3] $save_action[1] = 0 $save_action[2] = 0 $save_action[3] += 1 EndIf If $debug_mouse01 = 1 Then GUICtrlSetData_down01($idCheckbox35_tiled01_01,"DEBUG"&" $control0 =_"&$control0&"_" ) If $debug_mouse01 = 1 Then GUICtrlSetData_down01($idCheckbox35_tiled01_01,"DEBUG"&" $action[0] = "&$save_action[0]&" $action[1]x = "&$save_action[1]&" $save_action[2]y = "&$save_action[2] ) ; dnconsole.exe adb --name "LDPlayer-2" --command "shell input keyevent 20" If $button<>"center" Then $sleep02[$loopacc0] = $time_stop01+60000 EndFunc Func LDdrag01($loopacc0,$control0,$button="left",$c0=1,$x0=172,$y0=279,$x1=172,$y1=379,$view0=1) ; $path_fb_html_list01[$i][2] $randomx = Random(-2, 2, 1) $randomy = Random(-2, 2, 1) $y0 = $y0-33 $y1 = $y1-33 $control0 = StringReplace($control0, ' ', '') Local $iPID = Run($patch01&"LDPlayer\"&$ldplayer_version01&'\dnconsole.exe adb --name '&$control0&' --command "shell input draganddrop '&$x0+$randomx&" "&$y0+$randomy&" "&$x1+$randomy&" "&$y1+$randomy, "", @SW_HIDE) ;Sleep(500) ;ProcessClose($iPID) ; dnconsole.exe adb --name "LDPlayer-2" --command "shell input draganddrop 50 50 200 200" ;$sleep02[$loopacc0] = $time_stop01+60000 EndFunc Func Xkey01($key0,$c0=1) ControlSend($control01,"","",$key0) Sleep(250) EndFunc Func Xkey02($loopacc0,$control0,$key0="Esc") $button_key01 = _KeyCodes($key0) $user32 = DllOpen("user32.dll") $ret = DllCall($user32, "int", "MapVirtualKey", "int", $button_key01, "int", 0) $lParam = BitOR($ret[0] * 0x10000, BitAND(1, 0xFFFF)) If IsArray($ret) Then DllCall($user32, "int", "PostMessage", "hwnd", $control01, "int", 0x100, "int", $button_key01, "long", $lParam) Sleep(1) DllCall($user32, "int", "PostMessage", "hwnd", $control01, "int", 0x101, "int", $button_key01, "long", BitOR($lParam, 0xC0000000)) EndIf DllClose($user32) EndFunc Func _KeyCodes($sInputKey) Local $iRetCode = 0 If Not IsString($sInputKey) Then Return SetError(1, 0, $iRetCode) Switch $sInputKey Case "a" $iRetCode = 0x41 ; ==> A Case "b" $iRetCode = 0x42 ; ==> B Case "c" $iRetCode = 0x43 ; ==> C Case "d" $iRetCode = 0x44 ; ==> D Case "e" $iRetCode = 0x45 ; ==> E Case "f" $iRetCode = 0x46 ; ==> F Case "g" $iRetCode = 0x47 ; ==> G Case "h" $iRetCode = 0x48 ; ==> H Case "i" $iRetCode = 0x49 ; ==> I Case "j" $iRetCode = 0x4A ; ==> J Case "k" $iRetCode = 0x4B ; ==> K Case "l" $iRetCode = 0x4C ; ==> L Case "m" $iRetCode = 0x4D ; ==> M Case "n" $iRetCode = 0x4E ; ==> N Case "o" $iRetCode = 0x4F ; ==> O Case "p" $iRetCode = 0x50 ; ==> P Case "q" $iRetCode = 0x51 ; ==> Q Case "r" $iRetCode = 0x52 ; ==> R Case "s" $iRetCode = 0x53 ; ==> S Case "t" $iRetCode = 0x54 ; ==> T Case "u" $iRetCode = 0x55 ; ==> U Case "v" $iRetCode = 0x56 ; ==> V Case "w" $iRetCode = 0x57 ; ==> W Case "x" $iRetCode = 0x58 ; ==> X Case "y" $iRetCode = 0x59 ; ==> Y Case "z" $iRetCode = 0x5A ; ==> Z Case "0" $iRetCode = 0x30 ; ==> 0 Case "1" $iRetCode = 0x31 ; ==> 1 Case "2" $iRetCode = 0x32 ; ==> 2 Case "3" $iRetCode = 0x33 ; ==> 3 Case "4" $iRetCode = 0x34 ; ==> 4 Case "5" $iRetCode = 0x35 ; ==> 5 Case "6" $iRetCode = 0x36 ; ==> 6 Case "7" $iRetCode = 0x37 ; ==> 7 Case "8" $iRetCode = 0x38 ; ==> 8 Case "9" $iRetCode = 0x39 ; ==> 9 Case "Num *" $iRetCode = 0x6A ; ==> Num * Case "Num 0" $iRetCode = 0x60 ; ==> Num 0 Case "Num 1" $iRetCode = 0x61 ; ==> Num 1 Case "Num 2" $iRetCode = 0x62 ; ==> Num 2 Case "Num 3" $iRetCode = 0x63 ; ==> Num 3 Case "Num 4" $iRetCode = 0x64 ; ==> Num 4 Case "Num 5" $iRetCode = 0x65 ; ==> Num 5 Case "Num 6" $iRetCode = 0x66 ; ==> Num 6 Case "Num 7" $iRetCode = 0x67 ; ==> Num 7 Case "Num 8" $iRetCode = 0x68 ; ==> Num 8 Case "Num 9" $iRetCode = 0x69 ; ==> Num 9 Case "Num ." $iRetCode = 0x6E ; ==> Num . Case "Num /" $iRetCode = 0x6F ; ==> Num / Case "Num +" $iRetCode = 0x6B ; ==> Num + Case "Num -" $iRetCode = 0x6D ; ==> Num - Case "F1" $iRetCode = 0x70 ; ==> F1 Case "F2" $iRetCode = 0x71 ; ==> F2 Case "F3" $iRetCode = 0x72 ; ==> F3 Case "F4" $iRetCode = 0x73 ; ==> F4 Case "F5" $iRetCode = 0x74 ; ==> F5 Case "F6" $iRetCode = 0x75 ; ==> F6 Case "F7" $iRetCode = 0x76 ; ==> F7 Case "F8" $iRetCode = 0x77 ; ==> F8 Case "F9" $iRetCode = 0x78 ; ==> F9 Case "F10" $iRetCode = 0x79 ; ==> F10 Case "F11" $iRetCode = 0x7A ; ==> F11 Case "F12" $iRetCode = 0x7B ; ==> F12 Case "Middle mouse" $iRetCode = 0x04 ; ==> Middle mouse Case "Right mouse" $iRetCode = 0x02 ; ==> Right mouse Case "Left mouse" $iRetCode = 0x01 ; ==> Left mouse Case "Mail" $iRetCode = 0xB4 ; ==> Mail Case "Pause" $iRetCode = 0x13 ; ==> Pause Case "Media" $iRetCode = 0xB5 ; ==> Media Case "Next Track" $iRetCode = 0xB0 ; ==> Next Track Case "Previous Track" $iRetCode = 0xB1 ; ==> Previous Track Case "Right Ctrl" $iRetCode = 0xA3 ; ==> Right Ctrl Case "Right Alt" $iRetCode = 0xA5 ; ==> Right Alt Case "Scrol Lock" $iRetCode = 0x91 ; ==> Scrol Lock Case "Print Screen" $iRetCode = 0x2C ; ==> Print Screen Case "Right Shift" $iRetCode = 0xA1 ; ==> Right Shift Case "Left Win" $iRetCode = 0x5B ; ==> Left Win Case "Right Win" $iRetCode = 0x5C ; ==> Right Win Case "Sleep" $iRetCode = 0x5F ; ==> Sleep Case "Context Menu" $iRetCode = 0x5D ; ==> Context Menu Case "ctrl alt Break" $iRetCode = 0x03 ; ==> ctrl alt Break Case "Browser Favorites" $iRetCode = 0xAB ; ==> Browser Favorites Case "Browser Home" $iRetCode = 0xAC ; ==> Browser Home Case "Browser Refresh" $iRetCode = 0xA8 ; ==> Browser Refresh Case "Browser Stop" $iRetCode = 0xA9 ; ==> Browser Stop Case "Browser Forward" $iRetCode = 0xA7 ; ==> Browser Forward Case "Browser Back" $iRetCode = 0xA6 ; ==> Browser Back Case "Browser Search" $iRetCode = 0xAA ; ==> Browser Search Case "Play" $iRetCode = 0xB3 ; ==> Play Case "Stop" $iRetCode = 0xB2 ; ==> Stop Case "Volume Up" $iRetCode = 0xAF ; ==> Volume Up Case "Volume Down" $iRetCode = 0xAE ; ==> Volume Down Case "Mute" $iRetCode = 0xAD ; ==> Mute Case "Page Up" $iRetCode = 0x21 ; ==> Page Up Case "Page Down" $iRetCode = 0x22 ; ==> Page Down Case "Num Lock" $iRetCode = 0x90 ; ==> Num Lock Case "Caps Lock" $iRetCode = 0x14 ; ==> Caps Lock Case "Left Ctrl" $iRetCode = 0xA2 ; ==> Left Ctrl Case "Left Alt" $iRetCode = 0xA4 ; ==> Left Alt Case "Left Shift" $iRetCode = 0xA0 ; ==> Left Shift Case "Space" $iRetCode = 0x20 ; ==> Space Case "Backspace" $iRetCode = 0x08 ; ==> Backspace Case "Delete" $iRetCode = 0x2E ; ==> Delete Case "Insert" $iRetCode = 0x2D ; ==> Insert Case "Up" $iRetCode = 0x26 ; ==> Up Case "Down" $iRetCode = 0x28 ; ==> Down Case "Left" $iRetCode = 0x25 ; ==> Left Case "Right" $iRetCode = 0x27 ; ==> Right Case "Tab" $iRetCode = 0x09 ; ==> Tab Case "Esc" $iRetCode = 0x1B ; ==> Esc Case "End" $iRetCode = 0x23 ; ==> End Case "Home" $iRetCode = 0x24 ; ==> Home Case "Enter" $iRetCode = 0x0D ; ==> Enter Case "[" $iRetCode = 0xDD ; ==> [ Case "]" $iRetCode = 0xDC ; ==> ] Case "" $iRetCode = 0xE2 ; ==> Case ";" $iRetCode = 0xBF ; ==> ; Case "=" $iRetCode = 0xBB ; ==> = Case "~" $iRetCode = 0xDE ; ==> ~ Case "′" $iRetCode = 0xDB ; ==> ′ Case "'" $iRetCode = 0xC0 ; ==> ' Case Else Return SetError(1, 0, $iRetCode) EndSwitch If $iRetCode = 0 Then Return SetError(1, 0, $iRetCode) Return $iRetCode EndFunc ;==>_KeyCodes Func LDtext01($loopacc0,$control0,$button="String",$view0=1) ; $path_fb_html_list01[$i][2] $key0 = $button Local $iPID = Run($patch01&"LDPlayer\"&$ldplayer_version01&'\dnconsole.exe adb --name '&$path_fb_html_list01[$i][2]&' --command "shell input text "'&$key0, "", @SW_HIDE) ;Sleep(500) ;ProcessClose($iPID) ; dnconsole.exe adb --name "LDPlayer-2" --command "shell input keyevent 20" If $button<>"center" Then $sleep02[$loopacc0] = $time_stop01+60000 EndFunc ; LDmove01($loopacc,$path_fb_html_list01[$i][2],"left","1",713,515,339,852,1000) ; click item 1x1y Func LDmove01($loopacc0,$control0,$button,$c0,$x0,$y0,$x1,$y1,$speed0) ; $path_fb_html_list01[$i][2] $randomx = Random(-2, 2, 1) $randomy = Random(-2, 2, 1) $y0 = $y0-33 $y1 = $y1-33 $control0 = StringReplace($control0, ' ', '') Local $iPID = Run($patch01&"LDPlayer\"&$ldplayer_version01&'\dnconsole.exe adb --name '&$control0&' --command "shell input swipe '&$x0+$randomx&" "&$y0+$randomy&" "&$x1+$randomy&" "&$y1+$randomy&" "&$speed0, "", @SW_HIDE) ;Sleep(500) ;ProcessClose($iPID) ; dnconsole.exe adb --name "LDPlayer-3" --command "shell input swipe 380 300 380 650 1000" ; $sleep02[$loopacc0] = $time_stop01+60000 EndFunc Func auto_exe01($path00="C:\Program Files (x86)\MSI Afterburner\", $file_exe00="MSIAfterburner.exe") ; $login_e00 $MSI_Afterburner01 = ProcessList($file_exe00) $msi_run01 = 0 For $i = 1 To $MSI_Afterburner01[0][0] ; MsgBox($MB_SYSTEMMODAL, "", $MSI_Afterburner01[$i][0] & @CRLF & "PID: " &$MSI_Afterburner01[$i][1]) If $MSI_Afterburner01[$i][0] = $file_exe00 Then $msi_run01 = 1 ExitLoop EndIf Next If $msi_run01 = 0 Then Run($path00&$file_exe00, "", @SW_SHOWNORMAL) ConsoleWrite("$file_exe00 = "&$MSI_Afterburner01&" $msi_run01 = "&$msi_run01&@CRLF) EndFunc Func select_chrome_open04($https0="https://www.facebook.com/",$find_title0="facebook",$select0=1, $view0=0) For $i = 1 To _GUICtrlListView_GetItemCount($idCheckbox35_tiled03_03) - 1 If $view0=2 Then GUICtrlSetData($idCheckbox35_tiled01_01,$path_fb_html_list01[$i][1]&" "&$path_fb_html_list01[$i][2]&" = "&_GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ),"") If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ) and $i = $select0 Then ; check point = x If $view0=1 Then GUICtrlSetData($idCheckbox35_tiled01_01,"Select = "&$i&" $path_fb_html_list01[$i-0][0] = "&_GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ),"") GUICtrlSetData($idCheckbox35_tiled01_01,"Select = "&$i&" $path_fb_html_list01[$i-0][1] = "&$path_fb_html_list01[$i-0][1]& @CRLF,"") GUICtrlSetData($idCheckbox35_tiled01_01,"Select = "&$i&" $path_fb_html_list01[$i-0][2] = "&$path_fb_html_list01[$i-0][2]& @CRLF,"") GUICtrlSetData($idCheckbox35_tiled01_01,"Select = "&$i&" $path_fb_html_list01[$i-0][3] = "&$path_fb_html_list01[$i-0][3]& @CRLF,"") GUICtrlSetData($idCheckbox35_tiled01_01,"Select = "&$i&" $path_fb_html_list01[$i-0][4] = "&$path_fb_html_list01[$i-0][4]& @CRLF,"") GUICtrlSetData($idCheckbox35_tiled01_01,"Select = "&$i&" $path_fb_html_list01[$i-0][5] = "&$path_fb_html_list01[$i-0][5]& @CRLF,"") GUICtrlSetData($idCheckbox35_tiled01_01,"Select = "&$i&" $path_fb_html_list01[$i-0][6] = "&$path_fb_html_list01[$i-0][6]& @CRLF,"") GUICtrlSetData($idCheckbox35_tiled01_01,"Select = "&$i&" $path_fb_html_list01[$i-0][7] = "&$path_fb_html_list01[$i-0][7]& @CRLF,"") GUICtrlSetData($idCheckbox35_tiled01_01,"Select = "&$i&" $path_fb_html_list01[$i-0][8] = "&$path_fb_html_list01[$i-0][8]& @CRLF,"") EndIf ; ConsoleWrite("Select = "&$i&" $path_fb_html_list01[$i-0][0] = "&_GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i )& @CRLF) ; If StringInStr($path_fb_html_list01[$i-0][2], '@') > 0 Then ; Fb on = 1 find @ gmail select_chrome_open01($i, $https0) Sleep(5000) $g_tile01 = WinGetTitle("","") ConsoleWrite("Select = "&$i&" $path_fb_html_list01[$i-0][0] = "&_GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i )& @CRLF) ConsoleWrite("Select = "&$i&" $g_tile01 = "& $g_tile01 & @CRLF) If StringInStr($g_tile01, $find_title0 ) > 0 Then ; find title check WinSetState($g_tile01, "", @SW_SHOWNORMAL) WinMove($g_tile01, "", 0, 0, $gamex01, $gamey01) $cuasoX[$i] = WinGetHandle("", "") $control01 = $cuasoX[$i] EndIf ; end find title check ;ToolTip("$i="&$i&" > "&$cuasoX[$i], 0, 0) ; EndIf ; end Fb on = 1 find @ gmail EndIf ; end check point = x Next EndFunc Func select_chrome_open03($https0="https://www.facebook.com/",$find_title0="facebook",$view0=0) For $i = 1 To _GUICtrlListView_GetItemCount($idCheckbox35_tiled03_03) - 1 If $view0=2 Then GUICtrlSetData($idCheckbox35_tiled01_01,$path_fb_html_list01[$i][1]&" "&$path_fb_html_list01[$i][2]&" = "&_GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ),"") If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ) Then ; check point = x If $view0=1 Then GUICtrlSetData($idCheckbox35_tiled01_01,"Select = "&$i&" $path_fb_html_list01[$i-0][0] = "&_GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ),"") GUICtrlSetData($idCheckbox35_tiled01_01,"Select = "&$i&" $path_fb_html_list01[$i-0][1] = "&$path_fb_html_list01[$i-0][1]& @CRLF,"") GUICtrlSetData($idCheckbox35_tiled01_01,"Select = "&$i&" $path_fb_html_list01[$i-0][2] = "&$path_fb_html_list01[$i-0][2]& @CRLF,"") GUICtrlSetData($idCheckbox35_tiled01_01,"Select = "&$i&" $path_fb_html_list01[$i-0][3] = "&$path_fb_html_list01[$i-0][3]& @CRLF,"") GUICtrlSetData($idCheckbox35_tiled01_01,"Select = "&$i&" $path_fb_html_list01[$i-0][4] = "&$path_fb_html_list01[$i-0][4]& @CRLF,"") GUICtrlSetData($idCheckbox35_tiled01_01,"Select = "&$i&" $path_fb_html_list01[$i-0][5] = "&$path_fb_html_list01[$i-0][5]& @CRLF,"") GUICtrlSetData($idCheckbox35_tiled01_01,"Select = "&$i&" $path_fb_html_list01[$i-0][6] = "&$path_fb_html_list01[$i-0][6]& @CRLF,"") GUICtrlSetData($idCheckbox35_tiled01_01,"Select = "&$i&" $path_fb_html_list01[$i-0][7] = "&$path_fb_html_list01[$i-0][7]& @CRLF,"") GUICtrlSetData($idCheckbox35_tiled01_01,"Select = "&$i&" $path_fb_html_list01[$i-0][8] = "&$path_fb_html_list01[$i-0][8]& @CRLF,"") EndIf ; ConsoleWrite("Select = "&$i&" $path_fb_html_list01[$i-0][0] = "&_GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i )& @CRLF) ; If StringInStr($path_fb_html_list01[$i-0][2], '@') > 0 Then ; Fb on = 1 find @ gmail select_chrome_open01($i, $https0) Sleep(5000) $g_tile01 = WinGetTitle("","") ConsoleWrite("Select = "&$i&" $path_fb_html_list01[$i-0][0] = "&_GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i )& @CRLF) ConsoleWrite("Select = "&$i&" $g_tile01 = "& $g_tile01 & @CRLF) If StringInStr($g_tile01, $find_title0 ) > 0 Then ; find title check WinSetState($g_tile01, "", @SW_SHOWNORMAL) WinMove($g_tile01, "", 0, 0, $gamex01, $gamey01) $cuasoX[$i] = WinGetHandle("", "") $control01 = $cuasoX[$i] EndIf ; end find title check ;ToolTip("$i="&$i&" > "&$cuasoX[$i], 0, 0) ; EndIf ; end Fb on = 1 find @ gmail EndIf ; end check point = x Next EndFunc Func select_chrome_open02($num00=1,$web00="https://www.facebook.com/") ShellExecute("chrome.exe", $path_fb_html_list01[$num00-0][3]&' '&'"'&$web00&'"'&' '&"/force-device-scale-factor="&$chrome_zoom01&' '&'--window-size='&$gamex01&','&$gamey01&' '&' '&'--window-position=0,0'&'"') EndFunc Func select_chrome_open01($num00=1,$web00="https://www.facebook.com/",$zoom_mini0=0) If $zoom_mini0=0 Then ShellExecute("chrome.exe", $path_fb_html_list01[$num00-0][3]&' '&'"'&$web00&'"'&' '&"/force-device-scale-factor="&$chrome_zoom01&' '&'--window-size='&$gamex01&','&$gamey01&' '&' '&'--window-position=0,0'&'"') If $zoom_mini0=1 Then ShellExecute("chrome.exe", $path_fb_html_list01[$num00-0][3]&' '&'"'&$web00&'"'&' '&"/force-device-scale-factor="&$chrome_zoom02&' '&'--window-size='&$game_mx&','&$game_my&'"') EndFunc Func active_memory01($read_write00=$read_write01,$write00=0) $byte0 = GUICtrlRead(($read_write00[3])[7-1]) If $byte0 = "TYPE" Then $byte0 = 4 GUICtrlSetData($idCheckbox35_tiled01_01, "") GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($read_write00[0])[0]) ;_ArrayDisplay(($read_write00[2]), "$read_write00") $input_address00 = GUICtrlRead(($read_write00[2])[7-1]) ; 0 lay address input GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&"ADDRESS = "&$input_address00) If $write00=1 Then $input_value00 = InputBox("VALUE WRITE", "VALUE WRITE MEMORY", "", " M50") If $input_value00 <> "" Then Xwrite01("0x"&$input_address00, Ptr($input_value00),1,$byte0) ElseIf $write00=2 Then $input_value00 = InputBox("VALUE WRITE", "VALUE WRITE MEMORY", "", " M50") $input_value00 = HexReverse02($input_value00,0) ; dao nguoc hex If $input_value00 <> "" Then Xwrite01("0x"&$input_address00, "0x"&$input_value00,1,$byte0) EndIf $g_read_memory00 = Xread01("0x"&$input_address00,$byte0) ; 1 read memory address ConsoleWrite("$g_read_memory00 = "&$g_read_memory00&@CRLF) GUICtrlSetData(($read_write00[4])[7-1],$g_read_memory00) ; VALUE GUICtrlSetData(($read_write00[5])[7-1],Hex($g_read_memory00,$byte0*2)) ; HEX GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&"VALUE = "&$g_read_memory00) GUICtrlSetData_down01($idCheckbox35_tiled01_01,$time_stop01&" "&($read_write00[0])[0]&" DONE--------") Sleep(500) GUICtrlSetState(($read_write00[0])[7-1], $GUI_UNCHECKED) EndFunc ;Local $string = "1 2 3 4" ;ConsoleWrite(HexReverse01($string) & @LF) ;ConsoleWrite(HexReverse02($string,0) & @LF) Func HexReverse01($HexString) If Not String($HexString) Then Return SetError(1, 0, 0) Local $aResult = StringSplit(StringStripWS(StringRegExpReplace(StringUpper($HexString), "\b([[:xdigit:]])\b", "0\1"), 7), " ", 2) _ArrayReverse($aResult) Return _ArrayToString($aResult, " ") EndFunc ;==>HexReverse ; No includes needed Func HexReverse02($HexString,$space0=1) If Not String($HexString) Then Return SetError(1, 0, 0) Local $aResult $HexString = StringStripWS(StringRegExpReplace($HexString, "\b([[:xdigit:]])\b", "0\1"), 8) For $i = 1 To StringLen($HexString) Step 2 If $space0=1 Then $aResult = StringMid($HexString, $i, 2) & " " & $aResult ; co dau cach If $space0=0 Then $aResult = StringMid($HexString, $i, 2) & "" & $aResult Next Return StringUpper($aResult) EndFunc ;==>HexReverse1 ;Xmouse03($loopacc0,$control01,"left",1, 1046,40) ; click item 1x1y Func Xmouse03($loopacc0,$control0,$button,$c0,$x0,$y0,$sleep0=40000,$view0=1) $randomx = Random(-3, 3, 1) $randomy = Random(-3, 3, 1) If $save_action_on01 = 1 Then $save_action[0] = $button&" "&$save_action[3] $save_action[1] = $x0 $save_action[2] = $y0 $save_action[3] += 1 EndIf If $control0<>"" Then _SendMessageA(WinGetHandle($control0), $WM_MOUSEMOVE, 0, _WinAPI_MakeLong($x0+$randomx,$y0+$randomy)) Sleep(50) _SendMessageA(WinGetHandle($control0), $WM_LBUTTONDOWN, 1, _WinAPI_MakeLong($x0+$randomx,$y0+$randomy)) Sleep(0) _SendMessageA(WinGetHandle($control0), $WM_LBUTTONUP, 0, _WinAPI_MakeLong($x0+$randomx,$y0+$randomy)) Sleep(0) EndIf If $debug_mouse01 = 1 Then GUICtrlSetData_down01($idCheckbox35_tiled01_01,"DEBUG"&" $action[0] = "&$save_action[0]&" $action[1]x = "&$save_action[1]&" $save_action[2]y = "&$save_action[2] ) $sleep02[$loopacc0] = $time_stop01+$sleep0 EndFunc Func Xkey03($loopacc0,$control0,$key0="Esc",$sleep0=40000,$view0=1) If $save_action_on01 = 1 Then $save_action[0] = $key0&" "&$save_action[3] $save_action[1] = 0 $save_action[2] = 0 $save_action[3] += 1 EndIf $button_key01 = _KeyCodes($key0) If $control0<>"" Then $user32 = DllOpen("user32.dll") $ret = DllCall($user32, "int", "MapVirtualKey", "int", $button_key01, "int", 0) $lParam = BitOR($ret[0] * 0x10000, BitAND(1, 0xFFFF)) If IsArray($ret) Then DllCall($user32, "int", "PostMessage", "hwnd", $control0, "int", 0x100, "int", $button_key01, "long", $lParam) Sleep(1) DllCall($user32, "int", "PostMessage", "hwnd", $control0, "int", 0x101, "int", $button_key01, "long", BitOR($lParam, 0xC0000000)) EndIf DllClose($user32) EndIf If $debug_mouse01 = 1 Then GUICtrlSetData_down01($idCheckbox35_tiled01_01,"DEBUG"&" $action[0] = "&$save_action[0]&" $action[1]x = "&$save_action[1]&" $save_action[2]y = "&$save_action[2] ) $sleep02[$loopacc0] = $time_stop01+$sleep0 EndFunc ;$aWinInTaskBar = all_task_bar01() Func all_task_bar01() ; list task bar pin run process Local $aWinInTaskBar[1][2] $iCount = 0 $aList = WinList() For $i = 1 To $aList[0][0] $iExStyle = _WinAPI_GetWindowLong($aList[$i][1], $GWL_EXSTYLE) ; get the extended style of each Window If NOT BitAND($iExStyle, $WS_EX_TOOLWINDOW) AND _ ; Search for windows without $WS_EX_TOOLWINDOW extended style BitAND(WinGetState($aList[$i][1]), 2 ) Then ; And only visible windows $iCount += 1 Redim $aWinInTaskBar[ $iCount + 1][2] $aWinInTaskBar[ $iCount][0] = $aList[$i][0] $aWinInTaskBar[ $iCount][1] = $aList[$i][1] EndIf Next $aWinInTaskBar[0][0] = UBound($aWinInTaskBar) - 1 ;_ArrayDisplay($aWinInTaskBar) Return $aWinInTaskBar EndFunc ;all_set_title01($aWinInTaskBar,"LDP") Func all_set_title01($aWinInTaskBar="all_task_bar01()",$name_title0="LDP",$control0max=20) ; set tile + winmove $control0num = 0 For $i = UBound($aWinInTaskBar, $UBOUND_ROWS)-1 to 1 Step -1 $find_title01 = StringInStr($aWinInTaskBar[$i][0], $name_title0) If $find_title01 > 0 then $control0num += 1 ; find title chrome If $aWinInTaskBar[$i][0]=$name_title0 Then ; set title chrome $name_title_fix01 = WinGetTitle($name_title0&$control0num) If $name_title_fix01<>"" Then ; fix exit game bat lai For $lp_title = 1 to $control0max If WinGetTitle($name_title0&$lp_title)="" Then WinSetTitle($aWinInTaskBar[$i][1], "", $name_title0&$lp_title) ExitLoop EndIf Next ElseIf $name_title_fix01="" Then ; vao khong bi exit con nao WinSetTitle($aWinInTaskBar[$i][1], "", $name_title0&$control0num) EndIf EndIf Next EndFunc Func all_find_title01($name_title0="WEMADE",$control0max=20) Local $aList = WinList() Local $control0[$control0max] $control0[0] = $name_title0 $control0num = 0 For $i = 1 To $aList[0][0] If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 2) Then If $aList[$i][0] = $name_title0 Then ;MsgBox($MB_SYSTEMMODAL, "", "Title: " & $aList[$i][0] & @CRLF & "Handle: " & $aList[$i][1]) $control0num += 1 $control0[$control0num] = $aList[$i][1] If $control0num > $control0max-1 Then Return $control0 ExitLoop EndIf EndIf ;MsgBox($MB_SYSTEMMODAL, "", "Title: " & $aList[$i][0] & @CRLF & "Handle: " & $aList[$i][1]) EndIf Next Return $control0 EndFunc Func all_cuaso01() $ldplayer_num01 = 0 For $i = 1 to 10 $check_title01 = find_title01($tile_cuaso01[$i]) If $check_title01 <> "" Then $ldplayer_num01 += 1 $cuaso[$ldplayer_num01] = $check_title01 EndIf Next $cuaso[0] = $ldplayer_num01 EndFunc Func all_cuaso02() $ldplayer_num01 = 0 For $i = 1 to 10 $cuaso[$i] = "" ; reset $check_title01 = find_title01($tile_cuaso01[$i]) If $check_title01 <> "" Then $ldplayer_num01 += 1 $cuaso[$i] = $check_title01 EndIf Next $cuaso[0] = $ldplayer_num01 EndFunc ;$chrome_website01 = all_cuaso03("Google Chrome") ;MsgBox($MB_SYSTEMMODAL, "", "Title: " & $chrome_website01[0] & @CRLF & "Handle: " & $chrome_website01[1]) Func all_cuaso03($title1="Google Chrome", $title2="not title") ; Retrieve a list of window handles. Local $aList = WinList() Local $title[2] = ["",""] For $i = 1 To $aList[0][0] If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 2) Then $find_title01 = StringInStr($aList[$i][0], $title1) $find_title02 = StringInStr($aList[$i][0], $title2) If $find_title01 > 0 and $find_title02 < 0+1 then ; find title chrome ; If $aList[$i][0] = $m4_cuaso01[1] Then ; $win_count01 += 1 ; $cuaso[$win_count01] = $aList[$i][1] ; EndIf ; MsgBox($MB_SYSTEMMODAL, "", "Title: " & $aList[$i][0] & @CRLF & "Handle: " & $aList[$i][1]) $title[0] = $aList[$i][0] $title[1] = $aList[$i][1] EndIf ; end find title chrome EndIf Next Return $title EndFunc Func list_html01() GUICtrlSetData($idCheckbox35_tiled02_02, "") GUICtrlSetData_down01($idCheckbox35_tiled02_02,"ALL = "&"LIST HTML NUMBER + LDPLAYER + MAIL") For $i = 1 to _GUICtrlListView_GetItemCount($idCheckbox35_tiled03_03) - 1- 10 ; $lp facebook lay data 10 acc ;If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ) Then ; check point = x GUICtrlSetData_down01($idCheckbox35_tiled02_02,$i&" > "&$path_fb_html_list01[$i-0][2]&" > "&$path_fb_html_list01[$i-0][3]) ;EndIf ; end check point = x Next ; end $lp facebook EndFunc Func Xmouse04($control0,$button0,$c0,$x0,$y0,$random0=1,$view0=0) $aPos = WinGetPos($control0) WinActivate($control0, "") Sleep(1100) If $random0=0 Then $rx01 = $aPos[0] $ry01 = $aPos[1] ElseIf $random0=1 Then $rx01 = Random(-5, 5, 1)+$aPos[0] $ry01 = Random(-3, 3, 1)+$aPos[1] EndIf ; MsgBox($MB_SYSTEMMODAL, "", "X-Pos: " & $aPos[0] & @CRLF & _ ; "Y-Pos: " & $aPos[1] & @CRLF & _ ; "$rx01: " & $x0+$rx01 & @CRLF & _ ; "$ry01: " & $y0+$ry01) MouseMove($x0+$rx01,$y0+$ry01, 10) MouseClick($MOUSE_CLICK_LEFT) If $view0=1 Then ConsoleWrite("xmouse01("&$button0&","&$c0&","&$x0&","&$y0&")"&@CRLF) ;Sleep(10) ;If $time_stop01+6000 > $g_time_skill3 Then _MemoryWrite($vtmemX[$loopacc]+$new_time_skill3, $procHwnd01, ptr($time_stop01+5000),'byte[4]') EndFunc Func run_sandboxie01($cmd0) Run($cmd0, "", @SW_SHOWMAXIMIZED) EndFunc Func copy_folder01($copy0,$parste0,$swich0=0) If $swich0=0 Then $copy01 = $copy0 $parste01 = $parste0 ElseIf $swich0=1 Then $copy01 = $parste0 $parste01 = $copy0 EndIf DirRemove($parste01, $DIR_REMOVE) For $lp = 1 to 1 Sleep(200) GUICtrlSetData_down01($idCheckbox35_tiled01_01,"TIME = "&$lp&"S"&" "&"DELETE") Next DirCopy($copy01, $parste01, $FC_OVERWRITE) For $lp = 1 to 1 Sleep(200) GUICtrlSetData_down01($idCheckbox35_tiled01_01,"TIME = "&$lp&"S"&" "&"COPY PARSTE FOLDER") Next EndFunc Func copy_file01($copy0,$parste0,$swich0=0) If $swich0=0 Then $copy01 = $copy0 $parste01 = $parste0 ElseIf $swich0=1 Then $copy01 = $parste0 $parste01 = $copy0 EndIf DirRemove($parste0, $DIR_REMOVE) For $lp = 1 to 1 Sleep(200) GUICtrlSetData_down01($idCheckbox35_tiled01_01,"TIME = "&$lp&"S"&" "&"DELETE") Next FileCopy($copy0, $parste0, $FC_OVERWRITE) For $lp = 1 to 1 Sleep(200) GUICtrlSetData_down01($idCheckbox35_tiled01_01,"TIME = "&$lp&"S"&" "&"COPY PARSTE FILE") Next EndFunc Func nox_move01() For $lp = 1 to 1 WinMove("NoxPlayer(1)", "", -0+(600*1)-600, -0+(470*1)-470, $gamex01, $gamey01) WinMove("NoxPlayer(2)", "", -0+(600*2)-600, -0+(470*1)-470, $gamex01, $gamey01) WinMove("NoxPlayer(3)", "", -0+(600*3)-600, -0+(470*1)-470, $gamex01, $gamey01) WinMove("NoxPlayer(4)", "", -0+(600*1)-600, -0+(470*2)-470, $gamex01, $gamey01) WinMove("NoxPlayer(5)", "", -0+(600*2)-600, -0+(470*2)-470, $gamex01, $gamey01) Sleep(1000) Next Sleep(10000) EndFunc Func nox_move03($loopacc0=1, $control0="WinGetHandle") $cuaso[$loopacc0] = $control0 $control01 = $cuaso[$loopacc0] $x = $loopacc0 If $x = 1 Then WinMove($control01, "", 0, 0, $gamex01, $gamey01) If $x = 2 Then WinMove($control01, "", 614, 0, $gamex01, $gamey01) If $x = 3 Then WinMove($control01, "", 1235, 0, $gamex01, $gamey01) If $x = 4 Then WinMove($control01, "", 1796, 0, $gamex01, $gamey01) If $x = 5 Then WinMove($control01, "", 0, 488, $gamex01, $gamey01) If $x = 6 Then WinMove($control01, "", 614, 488, $gamex01, $gamey01) If $x = 7 Then WinMove($control01, "", 1235, 488, $gamex01, $gamey01) If $x = 8 Then WinMove($control01, "", 1796, 488, $gamex01, $gamey01) If $x = 9 Then WinMove($control01, "", 0, 906, $gamex01, $gamey01) If $x = 10 Then WinMove($control01, "", 614, 906, $gamex01, $gamey01) If $x = 11 Then WinMove($control01, "", 1235, 906, $gamex01, $gamey01) If $x = 12 Then WinMove($control01, "", 1796, 906, $gamex01, $gamey01) If $x = 13 Then WinMove($control01, "", 0, 0, $gamex01, $gamey01) If $x = 14 Then WinMove($control01, "", 614, 0, $gamex01, $gamey01) If $x = 15 Then WinMove($control01, "", 1235, 0, $gamex01, $gamey01) If $x = 16 Then WinMove($control01, "", 1796, 0, $gamex01, $gamey01) If $x = 17 Then WinMove($control01, "", 0, 488, $gamex01, $gamey01) If $x = 18 Then WinMove($control01, "", 614, 488, $gamex01, $gamey01) If $x = 19 Then WinMove($control01, "", 1235, 488, $gamex01, $gamey01) If $x = 20 Then WinMove($control01, "", 1796, 488, $gamex01, $gamey01) If $x = 21 Then WinMove($control01, "", 0, 906, $gamex01, $gamey01) If $x = 22 Then WinMove($control01, "", 614, 906, $gamex01, $gamey01) If $x = 23 Then WinMove($control01, "", 1235, 906, $gamex01, $gamey01) If $x = 24 Then WinMove($control01, "", 1796, 906, $gamex01, $gamey01) EndFunc Func nox_move02($acc_min0=$acc_min, $acc_max0=$acc_max) ; Retrieve a list of window handles. Local $aList = WinList() $win_count01 = 0 For $i = 1 To $aList[0][0] If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 2) Then For $x = $acc_min0 To $acc_max0 If $aList[$i][0] = $m4_cuaso01[$x] Then $win_count01 += 1 ;$cuaso[$win_count01] = $aList[$i][1] $cuaso[$x] = $aList[$i][1] $control01 = $cuaso[$x] ;$not01on = _NotResponding($x, $cuaso[$x]) $not01on = 0 ;MsgBox(0,"Error","Could not find window="&$not01on) If $not01on = 1 Then ; $not01on = 0 $cuaso[$x] = "" $control01 = "" ElseIf $not01on = 0 Then ; $not01on = 0 If $x = 1 Then WinMove($control01, "", 0, 0, $gamex01, $gamey01) If $x = 2 Then WinMove($control01, "", 614, 0, $gamex01, $gamey01) If $x = 3 Then WinMove($control01, "", 1235, 0, $gamex01, $gamey01) If $x = 4 Then WinMove($control01, "", 1796, 0, $gamex01, $gamey01) If $x = 5 Then WinMove($control01, "", 0, 488, $gamex01, $gamey01) If $x = 6 Then WinMove($control01, "", 614, 488, $gamex01, $gamey01) If $x = 7 Then WinMove($control01, "", 1235, 488, $gamex01, $gamey01) If $x = 8 Then WinMove($control01, "", 1796, 488, $gamex01, $gamey01) If $x = 9 Then WinMove($control01, "", 0, 906, $gamex01, $gamey01) If $x = 10 Then WinMove($control01, "", 614, 906, $gamex01, $gamey01) If $x = 11 Then WinMove($control01, "", 1235, 906, $gamex01, $gamey01) If $x = 12 Then WinMove($control01, "", 1796, 906, $gamex01, $gamey01) If $x = 13 Then WinMove($control01, "", 0, 0, $gamex01, $gamey01) If $x = 14 Then WinMove($control01, "", 614, 0, $gamex01, $gamey01) If $x = 15 Then WinMove($control01, "", 1235, 0, $gamex01, $gamey01) If $x = 16 Then WinMove($control01, "", 1796, 0, $gamex01, $gamey01) If $x = 17 Then WinMove($control01, "", 0, 488, $gamex01, $gamey01) If $x = 18 Then WinMove($control01, "", 614, 488, $gamex01, $gamey01) If $x = 19 Then WinMove($control01, "", 1235, 488, $gamex01, $gamey01) If $x = 20 Then WinMove($control01, "", 1796, 488, $gamex01, $gamey01) If $x = 21 Then WinMove($control01, "", 0, 906, $gamex01, $gamey01) If $x = 22 Then WinMove($control01, "", 614, 906, $gamex01, $gamey01) If $x = 23 Then WinMove($control01, "", 1235, 906, $gamex01, $gamey01) If $x = 24 Then WinMove($control01, "", 1796, 906, $gamex01, $gamey01) EndIf ; end $not01on = 0 ExitLoop EndIf Next ;MsgBox($MB_SYSTEMMODAL, "", "Title: " & $aList[$i][0] & @CRLF & "Handle: " & $aList[$i][1]) EndIf Next ;$ld_list2 = ldplayer_list2(0) ;$ld_list2 = nox_list(0) ;GUICtrlSetData($idCheckbox35_tiled02_02, "") ;For $lp = 0 to UBound($ld_list2, $UBOUND_ROWS)-1 ;GUICtrlSetData_down01($idCheckbox35_tiled02_02,"N"&$lp&" "&$ld_list2[$lp][1]&" "&$ld_list2[$lp][2]&" "&$ld_list2[$lp][3]&" "&$ld_list2[$lp][4]&" "&$ld_list2[$lp][5]&" "&$ld_list2[$lp][6] ) ;Next EndFunc ;$Not_Responding01 = WinGetHandle("[REGEXPTITLE:\[#\] \[a"&$loopacc&"\] Diablo Immortal \[#\]]") ;_NotResponding($loopacc, $Not_Responding01) Func _NotResponding($loopacc0, $hWnd, $closeIfHung = 1) If $hWnd == "" Then ;MsgBox(0,"Error","Could not find window") EndIf $retArr = DllCall("user32.dll", "int", "IsHungAppWindow", "hwnd", $hWnd) If @error == 0 Then If $retArr[0] == 1 Then If $closeIfHung Then ;ProcessClose(WinGetProcess($title, $text)) ;"C:\Program Files\Sandboxie\Start.exe" /box:a1 /terminate ;run_sandboxie01('C:\Program Files\Sandboxie\Start.exe /box:'& $a_sandbox[$loopacc0] & $loopacc0&" /terminate") ; sandbox bi chan For $i2 = 1 to 2 $tile_sandboxie01 = WinGetHandle("[REGEXPTITLE:\[#\] \["& $a_sandbox[$loopacc0] & $loopacc0&"\]]") ; $tile_diablo01 WinClose($tile_sandboxie01) all_find_process_close01("DiabloImmortal.exe",$tile_sandboxie01) Sleep(50) Next EndIf Return 1 EndIf Else Return 0 EndIf EndFunc Func auto_acc01($path_auto00,$loop_start0 = 1) ; Retrieve a list of window handles. Local $aList = WinList() $win_count01 = 0 ; Loop through the array displaying only visable windows with a title. $path_auto00 = "start "&$path_auto00 For $i = 1 To $aList[0][0] If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 2) Then If $aList[$i][0] = $m4_cuaso01[1] Then $cuaso[1] = $aList[$i][1] $win_count01 += 1 ElseIf $aList[$i][0] = $m4_cuaso01[2] Then $cuaso[2] = $aList[$i][1] $win_count01 += 1 ElseIf $aList[$i][0] = $m4_cuaso01[3] Then $cuaso[3] = $aList[$i][1] $win_count01 += 1 ElseIf $aList[$i][0] = $m4_cuaso01[4] Then $cuaso[4] = $aList[$i][1] $win_count01 += 1 ElseIf $aList[$i][0] = $m4_cuaso01[5] Then $cuaso[5] = $aList[$i][1] $win_count01 += 1 ElseIf $aList[$i][0] = $m4_cuaso01[6] Then $cuaso[6] = $aList[$i][1] $win_count01 += 1 ElseIf $aList[$i][0] = $m4_cuaso01[7] Then $cuaso[7] = $aList[$i][1] $win_count01 += 1 ElseIf $aList[$i][0] = $m4_cuaso01[8] Then $cuaso[8] = $aList[$i][1] $win_count01 += 1 ElseIf $aList[$i][0] = $m4_cuaso01[9] Then $cuaso[9] = $aList[$i][1] $win_count01 += 1 ElseIf $aList[$i][0] = $m4_cuaso01[10] Then $cuaso[10] = $aList[$i][1] $win_count01 += 1 EndIf ;MsgBox($MB_SYSTEMMODAL, "", "Title: " & $aList[$i][0] & @CRLF & "Handle: " & $aList[$i][1]) EndIf Next $delay_f8 = 4000 _RunDos($path_auto00) For $loopacc = $loop_start0 to $select_max Sleep($delay_f8) WinActivate($cuaso[$loopacc], "") Sleep($delay_f8) ; chay auto va so tt Opt("SendKeyDownDelay", 100) For $lp = 1 to 3 Send("{F8}") Sleep(10) Next Opt("SendKeyDownDelay", 1) Sleep($delay_f8) Next Exit EndFunc Func auto_acc02($path_auto00) $path_auto00 = "start "&$path_auto00 _RunDos($path_auto00) Exit EndFunc Func open_chrome_persion($num00=1,$web00="https://www.facebook.com/") If $path_fb_html_list01[$num00-0][5] = 1 Then ShellExecute("chrome.exe", $path_fb_html_list01[$num00-0][3]&' '&'"'&$web00&'"'&' '&"/force-device-scale-factor=1"&' '&'--window-size='&$gamex01&','&$gamey01&' '&' '&'--window-position=0,0'&'"') EndIf EndFunc Func gui_read_save01($Button1_00) $button_html00 = GUICtrlRead($Button1_00) GUICtrlSetData($idCheckbox35_tiled02_02,$button_html00,"") save_backup01($button_html00) GUIDelete($hGUI02) GUISetState(@SW_ENABLE, $hGUI01) EndFunc Func save_backup01($file00="bk_meo01.html",$check_backup01=1) $file00 = $path_chrome_fb01&$file00 Local $new_img_friend_list01, $file_list01 ; Local reset value If $select_name00 <> "" Then $path_txt01 = StringReplace($path_fb_img_friend01, ".txt", "_")&StringReplace($select_name00, ".html", ".txt") If $select_name00 = "" Then $path_txt01 = $path_fb_img_friend01 If UBound($friend_list01) - 1 > 0 Then $name_user00 = $friend_list01[0] Else _FileReadToArray($path_fb_url_friend01, $friend_list01 ) _ArrayDelete($friend_list01, 0) ; xoa dem dong line txt [0] $name_user00 = $friend_list01[0] EndIf If $button_select[0] = "save backup" Then GUICtrlSetData($idCheckbox35_tiled02_02, "") _FileReadToArray($path_txt01, $new_img_friend_list01 ) _ArrayDelete($new_img_friend_list01, 0) ; xoa dem dong line txt [0] EndIf $check_name_html = StringInStr($file00, $name_user00) If $check_name_html > 0 then ; name fb va html trung nhau ;_ArrayDisplay($new_img_friend_list01) ;GUICtrlSetData($idCheckbox35_tiled02_02, "") _FileReadToArray($file00, $file_list01) _ArrayDelete($file_list01, 0) ; xoa dem dong line txt [0 If $button_select[0] = "save backup" Then ; $button_select[0] = "save backup" For $i = 0 To UBound($new_img_friend_list01) - 1 GUICtrlSetData($idCheckbox35_tiled02_02,$i&" "&StringMid($new_img_friend_list01[$i], 1, 4000),"") ;MsgBox($MB_SYSTEMMODAL, "", "$i="&$i&"list="&$friend_list01[$i]) Next $new_var_friend01 = _ArrayToString($new_img_friend_list01, "", 1) ;ClipPut($new_var_friend01) Local $aiResult = _ArrayFindAll($file_list01, "var friends", Default, Default, Default, 1) ;_ArrayDisplay($aiResult, "Found") If UBound($aiResult) > 0 Then $file_list01[$aiResult[0]] = $new_var_friend01 EndIf EndIf ; end $button_select[0] = "save backup" Local $aiResult = _ArrayFindAll($file_list01, "var name", Default, Default, Default, 1) ;_ArrayDisplay($aiResult, "Found") If UBound($aiResult) > 0 Then $file_list01[$aiResult[0]] = 'var name = "'&$name_user00&'";' EndIf Local $aiResult = _ArrayFindAll($file_list01, "var comments", Default, Default, Default, 1) ;_ArrayDisplay($aiResult, "Found") If UBound($aiResult) > 0 Then If $button_select[0] = "save comment" Then $file_list01[$aiResult[0]] = $new_var_comments01 EndIf Local $aiResult = _ArrayFindAll($file_list01, "var cookie", Default, Default, Default, 1) ;_ArrayDisplay($aiResult, "Found") If UBound($aiResult) > 0 Then If $button_select[0] = "save cookie" Then $file_list01[$aiResult[0]] = $new_var_cookie01 $di_dong01 = 0 $di_dong02 = "" $email01 = 0 $email02 = "" $gioi_tinh01 = 0 $gioi_tinh02 = "" $ngay_sinh01 = 0 $ngay_sinh02 = "" $nam_sinh01 = 0 $nam_sinh02 = "" $sinh_nhat01 = "" For $i = 1 To UBound($cookie_list01) - 1 If $di_dong01 = 0 Then $di_dong01 = StringInStr($cookie_list01[$i], "Di d?ng ") If $di_dong01 <> 0 and $di_dong02 = "" Then $di_dong02 = StringRegExpReplace($cookie_list01[$i], "Di d?ng ", "") If $email01 = 0 Then $email01 = StringInStr($cookie_list01[$i], "Email ") If $email01 <> 0 and $email02 = "" Then $email02 = StringRegExpReplace($cookie_list01[$i], "Email ", "") If $gioi_tinh01 = 0 Then $gioi_tinh01 = StringInStr($cookie_list01[$i], "Gi?i t? ") If $gioi_tinh01 <> 0 and $gioi_tinh02 = "" Then $gioi_tinh02 = StringRegExpReplace($cookie_list01[$i], "Gi?i t? ", "") If $ngay_sinh01 = 0 Then $ngay_sinh01 = StringInStr($cookie_list01[$i], "Ng?sinh ") If $ngay_sinh01 <> 0 and $ngay_sinh02 = "" Then $ngay_sinh02 = StringRegExpReplace($cookie_list01[$i], "Ng?sinh ", "") $ngay_sinh02 = StringRegExpReplace($ngay_sinh02, "th? ", "") EndIf If $nam_sinh01 = 0 Then $nam_sinh01 = StringInStr($cookie_list01[$i], "Nam sinh ") If $nam_sinh01 <> 0 and $nam_sinh02 = "" Then $nam_sinh02 = StringRegExpReplace($cookie_list01[$i], "Nam sinh ", " ") Next If $ngay_sinh01 <> 0 and $nam_sinh01 <> 0 Then $sinh_nhat01 = StringRegExpReplace($ngay_sinh02&$nam_sinh02, " ", "/") ;MsgBox($MB_SYSTEMMODAL, "Error", "$di_dong02 = "&$di_dong02&" $email02 = "&$email02&" $sinh_nhat01 = "&$sinh_nhat01) Local $aiResult = _ArrayFindAll($file_list01, "var dob", Default, Default, Default, 1) ;_ArrayDisplay($aiResult, "Found") If UBound($aiResult) > 0 Then $file_list01[$aiResult[0]] = 'var dob = "'&$sinh_nhat01&'";'; EndIf Local $aiResult = _ArrayFindAll($file_list01, "var email", Default, Default, Default, 1) ;_ArrayDisplay($aiResult, "Found") If UBound($aiResult) > 0 Then $file_list01[$aiResult[0]] = 'var email = "'&$email02&'";'; EndIf EndIf ; end "save cookie" EndIf ;_ArrayDisplay($file_list01) _FileWriteFromArray($file00, $file_list01, 0) If $check_backup01 = 1 Then ShellExecute($file00) ElseIf $check_name_html = 0 Then MsgBox($MB_SYSTEMMODAL, "", "t?facebook="&$name_user00&" kh?"&"file="&$file00) Exit EndIf ; end name fb va html trung nhau EndFunc Func Xmousedrag01($Window, $Button,$Clicks, $mousex00,$mousey00) Local $MK_LBUTTON = 0x0001 Local $WM_LBUTTONDOWN = 0x0201 Local $WM_LBUTTONUP = 0x0202 Local $MK_RBUTTON = 0x0002 Local $WM_RBUTTONDOWN = 0x0204 Local $WM_RBUTTONUP = 0x0205 Local $WM_MOUSEMOVE = 0x0200 Local $i = 0 Select Case $Button = "left" $Button = $MK_LBUTTON $ButtonDown = $WM_LBUTTONDOWN $ButtonUp = $WM_LBUTTONUP Case $Button = "right" $Button = $MK_RBUTTON $ButtonDown = $WM_RBUTTONDOWN $ButtonUp = $WM_RBUTTONUP EndSelect If $mousex00 = "" OR $mousey00 = "" Then $MouseCoord = MouseGetPos() $mousex00 = $MouseCoord[0] $mousey00 = $MouseCoord[1] EndIf For $i = 1 to $Clicks DllCall("user32.dll", "int", "SendMessage", "hwnd", WinGetHandle($Window), "int", $ButtonDown, "int", $Button, "long", _MakeLong($mousex00,$mousey00)) Sleep(100) DllCall("user32.dll", "int", "SendMessage", "hwnd", WinGetHandle($Window), "int", $WM_MOUSEMOVE, "int", 0, "long", _MakeLong($mousex00, $mousey00+200)) Sleep(100) DllCall("user32.dll", "int", "SendMessage", "hwnd", WinGetHandle($Window), "int", $ButtonUp, "int", $Button, "long", _MakeLong($mousex00,$mousey00+200)) Sleep(100) Next EndFunc Func Xmouse01($button0,$c0,$x0,$y0) ;WinActivate($control01, "") Sleep(1000) ControlClick($control01,"","",$button0,$c0,$x0,$y0) EndFunc Func Xmouse02($Button0,$Clicks,$x0,$y0,$s=250) Local $MK_LBUTTON = 0x0001 Local $WM_LBUTTONDOWN = 0x0201 Local $WM_LBUTTONUP = 0x0202 Local $MK_RBUTTON = 0x0002 Local $WM_RBUTTONDOWN = 0x0204 Local $WM_RBUTTONUP = 0x0205 Local $WM_MOUSEMOVE = 0x0200 Local $i = 0 Select Case $Button0 = "left" $Button = $MK_LBUTTON $ButtonDown = $WM_LBUTTONDOWN $ButtonUp = $WM_LBUTTONUP Case $Button0 = "right" $Button = $MK_RBUTTON $ButtonDown = $WM_RBUTTONDOWN $ButtonUp = $WM_RBUTTONUP EndSelect If $x0 = "" OR $y0 = "" Then $MouseCoord = MouseGetPos() $x0 = $MouseCoord[0] $y0 = $MouseCoord[1] EndIf For $i = 1 to $Clicks Xwrite01($vtmemX[$loopacc]+$new_mousexy01+0x11, $x0) Xwrite01($vtmemX[$loopacc]+$new_mousexy01+0x19, $y0) Xwrite01($vtmemX[$loopacc]+$new_mousexy01_eax_ecx, 1) DllCall("user32.dll", "int", "SendMessage", "hwnd", $control01, "int", $WM_MOUSEMOVE, "int", 0, "long", _MakeLong($x0, $y0)) DllCall("user32.dll", "int", "SendMessage", "hwnd", $control01, "int", $ButtonDown, "int", $Button, "long", _MakeLong($x0,$y0)) ;DllCall("user32.dll", "int", "SendMessage", "hwnd", $control01, "int", $WM_MOUSEMOVE, "int", 0, "long", _MakeLong($x0, $y0)) DllCall("user32.dll", "int", "SendMessage", "hwnd", $control01, "int", $ButtonUp, "int", $Button, "long", _MakeLong($x0,$y0)) Xwrite01($vtmemX[$loopacc]+$new_mousexy01_eax_ecx, 0) Sleep(250) $g_press_save[0] = $x0 $g_press_save[1] = $y0 $g_press_save[4] += 1 If $time_stop01 > $g_time_skill0 Then $g_press_save[6] = $button0&" "&$g_press_save[0]&","&$g_press_save[1]&" N"&$g_press_save[4] Xwrite01($vtmemX[$loopacc]+$new_time_skill0, $time_stop01+1000) EndIf Next EndFunc Func file_blank01($save_file0="c:\acc\txt_sign01.txt") $sText = FileRead($save_file0) $sText = StringRegExpReplace(StringRegExpReplace($sText, "(\v)+", @CRLF), "\A\v|\v\Z", "") $hFile = FileOpen($save_file0, 2) FileWrite($hFile, $sText) EndFunc Func array_remove_blank01(ByRef $arr) $idx = 0 For $i = 0 To UBound($arr) - 1 If $arr[$i] <> "" Then $arr[$idx] = $arr[$i] $idx += 1 EndIf Next ReDim $arr[$idx] EndFunc ;==>_ArryRemoveBlanks Func _MakeLong($LoWord, $HiWord) Return BitOR($HiWord * 0x10000, BitAND($LoWord, 0xFFFF)) EndFunc Func _IsChecked($idControlID) Return BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) = $GUI_CHECKED EndFunc ;==>_IsChecked Func STUN_GetMyIP() ; Some STUN servers and their ports Local $aServers[14][2] = [["stun.l.google.com", 19302], _ ["stun.ekiga.net", 3478], _ ["stun.sipgate.net", 10000], _ ["stun1.l.google.com", 19302], _ ["stun.ideasip.com", 3478], _ ["stun2.l.google.com", 19302], _ ["stunserver.org", 3478], _ ["stun3.l.google.com", 19302], _ ["stun.rixtelecom.se", 3478], _ ["stun4.l.google.com", 19302], _ ["stun.schlund.de", 3478], _ ["stun.voiparound.com", 3478], _ ["stun.voipbuster.com", 3478], _ ["stun.voipstunt.com", 3478]] Local Const $MAPPED_ADDRESS = 0x0001 ; interested in this info Local Const $IPv4 = 0x01 ; IPv4 format Local Const $IPv6 = 0x02 ; IPv6 format ; Generate request Local $bRandom12 = STUN_GenerateRandom12() ; some random unique ID in size of 12 bytes ; Binding request has class=0x00 and method=0x000000000001 (Binding) and is encoded into the first two bytes as 0x0001. Check http://tools.ietf.org/html/rfc5389#section-15 Local $bBinary = Binary("0x0001000000000000") & $bRandom12 Local $sIpServ, $aSocket, $bRcvData UDPStartup() For $i = 0 To UBound($aServers) - 1 $sIpServ = TCPNameToIP($aServers[$i][0]) If @error Then ContinueLoop ; couldn't resolve server's IP $aSocket = UDPOpen($sIpServ, $aServers[$i][1]) UDPSend($aSocket, $bBinary) For $j = 1 To 3 ; read few (e.g. three) times if necessary $bRcvData = UDPRecv($aSocket, 1280) ; never more than 1280 bytes can be returned by the server. Usually it's 50-something bytes. If @error Then ExitLoop ; e.g. firewall rule blocks If $bRcvData Then ExitLoop 2 ; successfully read, get out of the loops Sleep(0) ; give it time to process Next UDPCloseSocket($aSocket) Next UDPCloseSocket($aSocket) UDPShutdown() #cs ; Struct can be written now in place of binary data, but it's all big-endian (weird for reading in AutoIt): Local $tSTUN = DllStructCreate("byte Header_[8]; byte Header_ID[12];" & _ "byte Type[2];" & _ "byte Length[2];" & _ "byte Attrib;" & _ "byte Family;" & _ "byte Port[2];" & _ "byte IP[4];") #ce ; ...so I will just parse binary directly instead. Local $iSizeData = BinaryLen($bRcvData) If $iSizeData Then ; sanity check Local $bReadID = BinaryMid($bRcvData, 9, 12) ; server returns my unique "ID" Local $iType, $iLength = 0 Local $iPos = 21 ; further parsing starts after the header, see the struct and STUN doc If $bReadID = $bRandom12 Then ; check validity of the response by checking returned ID (handle) While $iPos < $iSizeData $iType = STUN_Read_BE_Bin(BinaryMid($bRcvData, $iPos, 2)) $iPos += 2 ; skip the size of "Type" field $iLength = STUN_Read_BE_Bin(BinaryMid($bRcvData, $iPos, 2)) $iPos += 2 ; skip the size of "Length" field If $iType = $MAPPED_ADDRESS Then ExitLoop $iPos += $iLength ; skip the size of all of the data in this chunk WEnd EndIf $iPos += 1 ; skip the size of "Attrib" field Local $iFamily = STUN_Read_BE_Bin(BinaryMid($bRcvData, $iPos, 1)) ; read "Family" info. $iPos += 1 ; skip the size of "Family" field $iPos += 2 ; skip the size of "Port" field If $iFamily = $IPv4 Then ; Read IP info. Four bytes are IP in network byte order (big endian) Return Int(BinaryMid($bRcvData, $iPos, 1)) & "." & Int(BinaryMid($bRcvData, $iPos + 1, 1)) & "." & Int(BinaryMid($bRcvData, $iPos + 2, 1)) & "." & Int(BinaryMid($bRcvData, $iPos + 3, 1)) ElseIf $iFamily = $IPv6 Then ; IPv6 - you do it, I'll just return error: Return SetError(1, 0, ":::::::") EndIf ; No such data available Return SetError(2, 0, "") EndIf ; You are blocked or something Return SetError(3, 0, "") EndFunc Func STUN_Read_BE_Bin($bBinary) ; Big endian to number Return Dec(Hex($bBinary)) EndFunc Func STUN_GenerateRandom12() ; Whatever Return BinaryMid(BinaryMid(Binary(Random(1.1, 2 ^ 31 - 1)), 1, 6) & Binary(Random(1.1, 2 ^ 31 - 1)), 1, 12) EndFunc Func GUICtrlSetData_down01($gui_edit00,$text,$scroll="down") If $scroll="down" Then $scroll=-1 If $scroll="up" Then $scroll=0 $index = _GUICtrlListBox_InsertString($gui_edit00, $text, $scroll) ; <<<<<<<<<<<<<<<<<<<<< _GUICtrlListBox_SetTopIndex($gui_edit00, $index) EndFunc Func GUICtrlSetData_down02($gui_edit00,$text) _GUICtrlListBox_BeginUpdate($gui_edit00) $index = _GUICtrlListBox_AddString($gui_edit00, $text) _GUICtrlListBox_SetTopIndex($gui_edit00, $index) _GUICtrlListBox_UpdateHScroll($gui_edit00) ; to correct size of horiz scrollbar for texts with big width _GUICtrlListBox_EndUpdate($gui_edit00) EndFunc Func auto_msi01($path0="C:\Program Files (x86)\MSI Afterburner\MSIAfterburner.exe -profile1",$exe0="MSIAfterburner.exe") ; $login_e00 $MSI_Afterburner01 = ProcessList($exe0) $msi_run01 = 0 For $i = 1 To $MSI_Afterburner01[0][0] ; MsgBox($MB_SYSTEMMODAL, "", $MSI_Afterburner01[$i][0] & @CRLF & "PID: " &$MSI_Afterburner01[$i][1]) If $MSI_Afterburner01[$i][0] = $exe0 Then $msi_run01 = 1 ExitLoop EndIf Next If $msi_run01 = 0 Then Run($path0, "", @SW_SHOWMAXIMIZED) ConsoleWrite("$MSI_Afterburner01 = "&$MSI_Afterburner01&" $msi_run01 = "&$msi_run01&@CRLF) EndFunc Func edit_file01($patch0,$line0,$txt0) For $lp = 1 to 5 Global $aArray = FileReadToArray($patch0) If @error Then ;MsgBox($MB_SYSTEMMODAL, "", "There was an error reading the file. @error: " & @error) ; An error occurred reading the current script file. Else ;MsgBox($MB_SYSTEMMODAL, "", $aArray[$line0]) ; Display the contents of the array. _ReplaceStringInFile($patch0, $aArray[$line0], $txt0,"", "") EndIf Next ; Read the current script file into an array using the filepath. For $lp = 1 to 5 Global $aArray = FileReadToArray($patch0) If @error Then ;MsgBox($MB_SYSTEMMODAL, "", "There was an error reading the file. @error: " & @error) ; An error occurred reading the current script file. Else ;MsgBox($MB_SYSTEMMODAL, "", $aArray[$line0]) ; Display the contents of the array. _ReplaceStringInFile($patch0, $aArray[$line0], $txt0,"", "") EndIf Sleep(100) Next EndFunc ;==>Example Func edit_data01() ; Check the checkboxes to match the data For $i = 1 To _GUICtrlListView_GetItemCount($idCheckbox35_tiled03_03) - 1 GUICtrlSetData($idCheckbox35_tiled01_01,$path_fb_html_list01[$i][1]&" "&$path_fb_html_list01[$i][2]&" = "&_GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ),"") If _GUICtrlListView_GetItemChecked( $idCheckbox35_tiled03_03, $i ) Then ; check point = x $data_edit = "" $path_fb_html_list01_max = UBound($path_fb_html_list01, $UBOUND_COLUMNS)-1 For $lp_data = 0 to $path_fb_html_list01_max If $lp_data < $path_fb_html_list01_max Then $data_edit &=$path_fb_html_list01[$i-0][$lp_data]&"|" If $lp_data = $path_fb_html_list01_max Then $data_edit &=$path_fb_html_list01[$i-0][$lp_data] Next ;$path_fb_html_list01[$i-0][4] = "IP" Local $data01 = InputBox("select ldplayer edit", "Select |Num |Name |Mail |Data |FB on |TDS on | TTC on| Not", $data_edit, "",600,150) If $data01 <> "" Then For $lp_data = 0 to $path_fb_html_list01_max $data02 = StringSplit($data01, "|", BitOr($STR_NOCOUNT, $STR_ENTIRESPLIT)) $path_fb_html_list01[$i-0][$lp_data] = $data02[$lp_data] Next ;_ArrayDisplay($path_fb_html_list01, "1D display") _FileWriteFromArray($path_fb_html01, $path_fb_html_list01, 0) EndIf For $lp_data = 0 to $path_fb_html_list01_max _GUICtrlListView_SetItem($idCheckbox35_tiled03_03, $path_fb_html_list01[$i][$lp_data], $i,$lp_data) Next _GUICtrlListView_SetItemChecked($idCheckbox35_tiled03_03, $i, False) ; bo check Select facebook ExitLoop EndIf ; end check point = x Next EndFunc Func text_check01($on="array", $text_shade0=10, $name_quest0="After the storm",$g_b_MQ_text0="", $quest_text0="",$view0=0) If $on[4] = 1 Then ; $on = 1 Local $g_text[5] = [0,"no quest", 0, 0, 0] If $view0 = 1 Then ConsoleWrite($g_b_MQ_text0&@CRLF) ConsoleWrite($quest_text0&@CRLF) EndIf $text = StringRegExp($g_b_MQ_text0, '( '&$quest_text0&')', 3) ;$text = StringRegExp($g_b_MQ_text0, '( 1 | 2 | 16 | 23 | 24 | 79 | 80 | 81 | 92 | 143 | 144 )', 3) ;$text = StringRegExpReplace($g_b_MQ_text0, '('&$quest_text0&')\|', " ") ; tim thay del = " " If $view0 = 1 Then _ArrayDisplay($text) ;$text = _ArrayToString($text, " ") $text_max0 = UBound(StringSplit($quest_text0,"|"))-1+2 ; console save de @extended, -1 = array +2 = nhich mau If $g_b_MQ_text0 = "|" Then $text_min0 = $text_max0 ;If $g_b_MQ_text0 <> "|" Then $text_min0 = UBound(StringRegExp($text, '\d+',3) ) ; dem so If $g_b_MQ_text0 <> "|" Then $text_min0 = UBound($text) ; dem so If $view0 = 1 Then ConsoleWrite($g_b_MQ_text0&@CRLF) ConsoleWrite($quest_text0&@CRLF) ConsoleWrite($text&@CRLF) EndIf ;MsgBox($MB_SYSTEMMODAL, "Title", "$text_max0 = " & $text_max0&" $text_len0 = " & $text_len0&" $text_min0 = " & $text_min0, 0) If $text_min0 >= $text_max0-$text_shade0 Then $g_text[0] = 1 ; 1 = text quest ok 0 = not $g_text[1] = $name_quest0 ; get quest $g_text[2] = $text_min0 ; check $text length ok $g_text[3] = $text_max0 ; check max array $g_text[4] = 0 ; off find pixel Else $g_text[0] = 0 ; 1 = text quest ok 0 = not $g_text[1] = "no quest" ; no quest $g_text[2] = $text_min0 ; check $text length ok $g_text[3] = $text_max0 ; check max array $g_text[4] = 1 ; on find pixel EndIf ElseIf $on[4] = 0 Then ; $on = 1 Local $g_text = $on EndIf ; end $on = 1 Return $g_text EndFunc ;Local $stream = _WinCapture04($hWindow,3,$gamex01,$gamey01,1) ; chay only show gui image Func _WinCapture06($hWnd,$nFlags, $iWidth = -1, $iHeight = -1, $del_hBMP=0, $x0=0, $y0=0, $g_x0=0, $g_y0=0 ) ; chay only show gui image $copy_view01 = 0 If $del_hBMP = 2 Then $del_hBMP = 1 $copy_view01 = 1 EndIf _GDIPlus_Startup() ; Lay image game vao memory Local $iH, $iW, $hDDC, $hCDC, $hBMP If $iWidth = -1 Then $iWidth = _WinAPI_GetWindowWidth($hWnd) If $iHeight = -1 Then $iHeight = _WinAPI_GetWindowHeight($hWnd) $hDDC = _WinAPI_GetDC($hWnd) $hCDC = _WinAPI_CreateCompatibleDC($hDDC) $hBMP = _WinAPI_CreateCompatibleBitmap($hDDC, $iWidth, $iHeight) _WinAPI_SelectObject($hCDC, $hBMP) If $del_hBMP = 1 Then _WinAPI_DeleteObject($hBMP) DllCall("User32.dll", "int", "PrintWindow", "hwnd", $hWnd, "hwnd", $hCDC, "int", $nFlags) ; bit map lockbits nhanh hon Local $BMP = _GDIPlus_BitmapCreateFromHBITMAP($hBMP) ;------------------------------------------------------------------------------------------- If $copy_view01 = 1 Then ; clone handle hinh anh $g_hGraphics = _GDIPlus_GraphicsCreateFromHWND($g_hGUI) ;create a graphics object from a window handle $g_hBitmap = _GDIPlus_BitmapCreateFromGraphics($iWidth, $iHeight, $g_hGraphics) $g_hGfxCtxt = _GDIPlus_ImageGetGraphicsContext($g_hBitmap) _GDIPlus_GraphicsDrawImage($g_hGfxCtxt, $BMP, 0, 0) ;draw bitmap to backbuffer _GDIPlus_GraphicsDrawImageRect($g_hGraphics, $g_hBitmap, 0, 0, $iWidth, $iHeight) ;copy drawn bitmap to graphics handle (GUI) _GDIPlus_GraphicsDispose($g_hGfxCtxt) _GDIPlus_GraphicsDispose($g_hGraphics) _GDIPlus_BitmapDispose($g_hBitmap) EndIf Local $tBitmapData = _GDIPlus_BitmapLockBits($BMP, $x0, $y0, $iWidth, $iHeight, BitOR($GDIP_ILMWRITE, $GDIP_ILMREAD), $GDIP_PXF32ARGB) ;locks a portion of a bitmap for reading and writing. More infor at http://msdn.microsoft.com/en-us/library/windows/desktop/ms536298(v=vs.85).aspx Local $iScan0 = DllStructGetData($tBitmapData, "Scan0") ;get scan0 (pixel data) from locked bitmap Local $iSearchPixel = Int(0xFF000080), $iReplaceColor = 0x00000000 ;color format 0xAARRGGBB Local $tPixel = DllStructCreate("int[" & $iWidth * $iHeight & "];", $iScan0) Local $iPixel, $iRowOffset ; end Lay image game vao memory ;_WinAPI_DeleteDC($hCDC) Local $stream_var[13] = [$hBMP, $iScan0, $tPixel, $BMP, $tBitmapData, $hWnd, $hDDC, $hCDC, $iWidth, $iHeight, $g_x0, $g_y0 &@CRLF& _ ""] ;$x01 = 555 ;$y01 = 394 ;$iRowOffset = $y01 * $iWidth+1 ; $iRowOffset = $iY * $iWidth + 1 ;$acolor01 = Hex(DllStructGetData($stream_var[2], 1, $iRowOffset + $x01),6) ;get pixel color ;MsgBox("","check","01 = "&$acolor01&" 02 = "&$acolor01,0) ; Local $stream_var[0] = $hBMP ; Local $stream_var[1] = $iScan0 ; Local $stream_var[2] = $tPixel ; Local $stream_var[3] = $BMP ; Local $stream_var[4] = $tBitmapData ; Local $stream_var[5] = $WinHandle ; Local $stream_var[6] = $hDDC ; Local $stream_var[7] = $hCDC ; Local $stream_var[8] = $iWidth ; Local $stream_var[9] = $iHeight ; Local $stream_var[10] = $g_x0 ; Local $stream_var[11] = $g_y0 Return $stream_var EndFunc ;==>_WinCapture01 Func _GetColorEX06check($on0, $tPixel, $g_x0, $g_y0 , $check0=0, $r0=10, $x_min=0, $y_min=0, $x_max=0, $y_max=0 &@CRLF& _ ; check = 0 = hex_color, check = 1 = 0 > 1, check = 2 color number, check = 3 y scroll "",$iScan0="" ,$speed0=1 ,$color0="505050" ,$color_max=50 , $text_shade0=10 &@CRLF& _ "" ) If $on0 = 1 Then ; on check color $return_check0 = $check0 If $check0 = 2 Then $check0 = 1 If $check0 = 3 Then $check0 = 1 If $check0 = 0 or $check0 = 1 Then ; return check color 0 1 $all_color00 = "" $g_color = 0 For $iY = 0 To $y_max-$y_min Step + $speed0 ; Y fast x3 $iRowOffset = ($y_min+$iY) * $stream[8]+1 ; $iRowOffset = $iY * $iWidth + 1 $iRowOffset02 = "0x"&Hex(($iRowOffset + $x_min+0)*4) If $x64=0 Then $hex_color00 = _MemoryRead($iScan0+$iRowOffset02, $procHwnd01,'byte['&($x_max-$x_min)*4&']') ElseIf $x64=1 Then $hex_color00 = _MemoryRead64($iScan0+$iRowOffset02, $procHwnd01,'byte['&($x_max-$x_min)*4&']',"Array") EndIf $all_color00 &= $hex_color00 Next ;ClipPut($all_color00) ;ClipPut($hex_color00) $all_color00 = StringReplace($all_color00, '0x', '') $all_color00 = StringRegExpReplace($all_color00, '(.{6})\w{2}', '$1 ') ; (.{6}) = stringlen+6 \d{2} = remove last 2 char \w = all char ;MsgBox("","check","01 = "&$iScan0&" 03 = "&$iRowOffset02&" 03 = "&$iScan0+$iRowOffset02&" 04 = "&$all_color00,0) $g_color = TestTrans06($color0, ""&$all_color00, $r0) ;_ArrayDisplay($g_color) EndIf Sleep($delay_pause01) If $check0 = 1 Then ;_ArrayDisplay($g_color) $g_color_check01 = "" $g_color_check_num01 = 0 $g_color_ubound01 = UBound($g_color)-1 Select ; loc check pixel Case $return_check0 = 1 or $return_check0 = 2 For $lp = 0 To $g_color_ubound01 If $g_color[$lp] <> " " Then $g_color_check01 &= $lp&" " $g_color_check_num01 += 1 EndIf Next Case $return_check0 = 3 For $lp = 0 To UBound($g_color)-1 If $g_color[$lp] <> " " Then $g_color_check_num01 = Int($lp/($x_max - $x_min)) ExitLoop ElseIf $lp = $g_color_ubound01 Then $g_color_check_num01 = -1 ExitLoop EndIf Next Case Else ; If nothing sleep EndSelect $g_color_check01 = " "&$g_color_check01 $g_color_check01 = StringReplace($g_color_check01, ' ', ' ') ; ConsoleWrite("$check0 ="&$g_color_check01 & @CRLF) If $return_check0 = 1 Then Return $g_color_check01 If $return_check0 = 2 Then Return $g_color_check_num01 If $return_check0 = 3 Then Return $g_color_check_num01 ElseIf $check0 = 0 Then $g_color_check01 = "" $g_color_check_num01 = 0 $g_color_check_max01 = "" For $lp = 0 To UBound($g_color)-1 If $g_color[$lp] = " " Then ConsoleWrite($g_color[$lp]) If $g_color[$lp] <> " " Then ConsoleWrite("*") If $lp/($x_max - $x_min) = 1 or $lp/($x_max - $x_min) = 2 or $lp/($x_max - $x_min) = 3 or $lp/($x_max - $x_min) = 4 or $lp/($x_max - $x_min) = 5 or $lp/($x_max - $x_min) = 6 or $lp/($x_max - $x_min) = 7 or $lp/($x_max - $x_min) = 8 Then ConsoleWrite(@CRLF) EndIf If $g_color[$lp] <> " " Then $g_color_check01 &= $lp&" | " $g_color_check_num01 += 1 $g_color_check_max01 = $lp EndIf Next ConsoleWrite(@CRLF&"______________________________________________________________"&@CRLF) ; xuong dong do roi mat $g_color_check01 = ' '&$g_color_check01 ; first string ;ConsoleWrite($g_color_check_max01&" | "&@CRLF) $g_color_check01 = StringReplace($g_color_check01, $g_color_check_max01&" | ", $g_color_check_max01&' ') ; last string ;$g_color_check01_array_max = StringSplit($g_color_check01, "|", BitOr($STR_NOCOUNT, $STR_ENTIRESPLIT)) ;$g_color_check01_array_max = UBound($g_color_check01_array_max)-1 If $check0 = 0 Then ClipPut('$quest_text01 = "'&$g_color_check01&'"') ConsoleWrite(@CRLF) ConsoleWrite("$text_max0 = "&$g_color_check_num01&@CRLF) ConsoleWrite('$quest_text01 = "'&$g_color_check01&'"' & @CRLF) $g_color_check01 = StringReplace($g_color_check01, '|', '') ; fix check 1 > 0 '|' > '' $g_color_check01 = StringReplace($g_color_check01, ' ', ' ') ConsoleWrite("$check0 ="&$g_color_check01 & @CRLF) If $return_check0 = 0 Then Return $g_color_check01 EndIf ElseIf $on0 = 0 Then ; on check color Return -1 EndIf ; end on check color EndFunc Func TestTrans06($c_color0, $g_color0, $shade = 16, $hex_byte0 = 1,$view0 = 0 ) ; 0 = hex 1 = array bytes $sHex = $g_color0 ;$sHex = StringRegExpReplace($sHex, '(.{6})', '$1|') ;ConsoleWrite($sHex & @CRLF) If $hex_byte0 = 0 Then $FF0000 = Dec(StringMid($c_color0, 1, 2)) $00FF00 = Dec(StringMid($c_color0, 3, 2)) $0000FF = Dec(StringMid($c_color0, 5, 2)) ElseIf $hex_byte0 = 1 Then $FF0000 = Dec(StringMid($c_color0, 5, 2)) $00FF00 = Dec(StringMid($c_color0, 3, 2)) $0000FF = Dec(StringMid($c_color0, 1, 2)) EndIf If $view0 = 1 Then ConsoleWrite("$FF0000 = "&$FF0000&" $00FF00 = "&$00FF00 &" $0000FF = "&$0000FF & "$FF0000 = "&Hex($FF0000,2)&" $00FF00 = "&Hex($00FF00,2) &" $0000FF = "&Hex($0000FF,2) & @CRLF) $FF0000_min = $FF0000-$shade If $FF0000_min < 0 Then $FF0000_min = 0 $FF0000_min = Hex($FF0000_min,2) Else $FF0000_min = Hex($FF0000_min,2) EndIf $FF0000_max = $FF0000+$shade If $FF0000_max > 255 Then $FF0000_max = 255 $FF0000_max = Hex($FF0000_max,2) Else $FF0000_max = Hex($FF0000_max,2) EndIf $FF0000 = Hex($FF0000,2) $FF0000_s01 = "["&StringMid($FF0000_min, 1, 1)&"-"&StringMid( Hex(Dec($FF0000_max)-16,2) , 1, 1)&"]" & "[0-F]" $FF0000_s02 = "["&StringMid($FF0000_min, 1, 1)&"-"&StringMid($FF0000_max, 1, 1)&"]" & "[0-"&StringMid($FF0000_max, 2, 1)&"]" ;ConsoleWrite("$FF0000_min = "&$FF0000_min&" $FF0000 = "&$FF0000&" $FF0000_max = "&$FF0000_max & @CRLF) ;ConsoleWrite("$FF0000_s01 = "&$FF0000_s01&" $FF0000_s02 = "&$FF0000_s02 & @CRLF) $00FF00_min = $00FF00-$shade If $00FF00_min < 0 Then $00FF00_min = 0 $00FF00_min = Hex($00FF00_min,2) Else $00FF00_min = Hex($00FF00_min,2) EndIf $00FF00_max = $00FF00+$shade If $00FF00_max > 255 Then $00FF00_max = 255 $00FF00_max = Hex($00FF00_max,2) Else $00FF00_max = Hex($00FF00_max,2) EndIf $00FF00 = Hex($00FF00,2) $00FF00_s01 = "["&StringMid($00FF00_min, 1, 1)&"-"&StringMid( Hex(Dec($00FF00_max)-16,2) , 1, 1)&"]" & "[0-F]" $00FF00_s02 = "["&StringMid($00FF00_min, 1, 1)&"-"&StringMid($00FF00_max, 1, 1)&"]" & "[0-"&StringMid($00FF00_max, 2, 1)&"]" ;ConsoleWrite("$00FF00_min = "&$00FF00_min&" $00FF00 = "&$00FF00&" $00FF00_max = "&$00FF00_max & @CRLF) ;ConsoleWrite("$00FF00_s01 = "&$00FF00_s01&" $00FF00_s02 = "&$00FF00_s02 & @CRLF) $0000FF_min = $0000FF-$shade If $0000FF_min < 0 Then $0000FF_min = 0 $0000FF_min = Hex($0000FF_min,2) Else $0000FF_min = Hex($0000FF_min,2) EndIf $0000FF_max = $0000FF+$shade If $0000FF_max > 255 Then $0000FF_max = 255 $0000FF_max = Hex($0000FF_max,2) Else $0000FF_max = Hex($0000FF_max,2) EndIf $0000FF = Hex($0000FF,2) $0000FF_s01 = "["&StringMid($0000FF_min, 1, 1)&"-"&StringMid( Hex(Dec($0000FF_max)-16,2) , 1, 1)&"]" & "[0-F]" $0000FF_s02 = "["&StringMid($0000FF_min, 1, 1)&"-"&StringMid($0000FF_max, 1, 1)&"]" & "[0-"&StringMid($0000FF_max, 2, 1)&"]" ;ConsoleWrite("$0000FF_min = "&$0000FF_min&" $0000FF = "&$0000FF&" $0000FF_max = "&$0000FF_max & @CRLF) ;ConsoleWrite("$0000FF_s01 = "&$0000FF_s01&" $0000FF_s02 = "&$0000FF_s02 & @CRLF) If $view0 = 1 Then ConsoleWrite($FF0000_s01 & $00FF00_s01 & $0000FF_s01 &"|"& $FF0000_s02 & $00FF00_s02 & $0000FF_s02 & @CRLF) ; [8-B][0-F][9-C][0-F][A-D][0-F]|[8-C][0-C][9-B][0-B][A-F][0-4] If $hex_byte0 = 0 Then $pixels = StringRegExp($sHex, "("&$FF0000_s01 & $00FF00_s01 & $0000FF_s01 &"|"& $FF0000_s02 & $00FF00_s02 & $0000FF_s02&"){0,6}\|", 3) ; . {0,6} = next 6 bytes ;$pixels = StringRegExp($sHex, "([E-F][0-F][D-F][0-F][2-4][0-F]|[E-0][0-F][D-0][0-F][2-5][0-6]){0,6}\|", 3) ; . {0,6} = next 6 bytes ElseIf $hex_byte0 = 1 Then $pixels = StringRegExp($sHex, "("&$FF0000_s01 & $00FF00_s01 & $0000FF_s01 &"|"& $FF0000_s02 & $00FF00_s02 & $0000FF_s02&"){0,6}\ ", 3) ; . {0,6} = next 6 bytes ;$pixels = StringRegExp($sHex, "([8-B][0-F][9-C][0-F][A-D][0-F]|[8-C][0-C][9-B][0-B][A-F][0-4]){0,6}\ ", 3) ; . {0,6} = next 6 bytes EndIf ;_ArrayDisplay($pixels) ;MsgBox($MB_OK, "SRE Example 5 Result", $pixels) Return $pixels EndFunc ;$file_multi01 = find_process_handle01("dnplayer.exe") Func find_process_handle01($process_exe00="Multi 1110.exe") $arProc = ProcessList() Local $file_return00[4] = ["", "", "",""] For $i = 1 to $arProc[0][0] $arStat = ProcessGetStats($arProc[$i][1], 0) If IsArray($arStat) Then ;ConsoleWrite("Process Name: " & $arProc[$i][0] & " - Handle: " & StringReplace(_ProcessGetHandle($arProc[$i][0]), @LF, " - ") & @CRLF) If $arProc[$i][0] = "Multi 1110.exe" Then $process_return01 = $arProc[$i][0] $handle_return01 = StringReplace(_ProcessGetHandle($arProc[$i][0]), @LF, " - ") ;ConsoleWrite("Process Name: " & $process_return01 & " - Handle: " & $handle_return01 & @CRLF) Local $file_return00[4] = [$process_return01, $handle_return01, "",""] Return $file_return00 EndIf EndIf Next Return $file_return00 EndFunc Func _ProcessGetHandle($ioProcName) If $ioProcName Then Local $sStatus = Run(@ComSpec & " /c WMIC PROCESS WHERE Name='" & $ioProcName & "' GET handlecount", @SystemDir, @SW_HIDE, 8) Local $sBuf While 1 $sBuf &= StdoutRead($sStatus) If @Error then ExitLoop ; We have lift off, let's move on! WEnd $sBuf = StringStripCR($sBuf) $sBuf = StringRegExpReplace($sBuf, "HandleCount", "") $sBuf = StringStripWS($sBuf, 3) If StringInStr($sBuf, "No Instance(s) Available.") Then ; Just incase we enter a bad process name SetError(2) Return 0 EndIf Return $sBuf Else SetError(1) Return 0 EndIf EndFunc Func find_process01($file00="MSIAfterburner.exe") ; $login_e00 $file_list01 = ProcessList($file00) $file_check01 = "" For $i = 1 To $file_list01 [0][0] ;MsgBox($MB_SYSTEMMODAL, "", $file_list01[$i][0] & @CRLF & "PID: " &$file_list01[$i][1]) If $file_list01[$i][0] = $file00 Then $file_check01 = $file_list01[$i][1] Return $file_check01 ExitLoop EndIf Next ConsoleWrite("$file00 = "&$file00&" $file_check01 = "&$file_check01&@CRLF) Return $file_check01 EndFunc ;$handle00 = _WinGetByPID(find_process01("dnplayer.exe")) Func _WinGetByPID($iPID, $iArray = 1) ; 0 Will Return 1 Base Array & 1 Will Return The First Window. Local $aError[1] = [0], $aWinList, $sReturn If IsString($iPID) Then $iPID = ProcessExists($iPID) EndIf $aWinList = WinList() For $A = 1 To $aWinList[0][0] If WinGetProcess($aWinList[$A][1]) = $iPID And BitAND(WinGetState($aWinList[$A][1]), 2) Then If $iArray Then Return $aWinList[$A][1] EndIf $sReturn &= $aWinList[$A][1] & Chr(1) EndIf Next If $sReturn Then Return StringSplit(StringTrimRight($sReturn, 1), Chr(1)) EndIf Return SetError(1, 0, $aError) EndFunc ;==>_WinGetByPID Func find_title01($name_title0="WEMADE") Local $aList = WinList() $control00 = "" For $i = 1 To $aList[0][0] If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 2) Then If $aList[$i][0] = $name_title0 Then $control00 = $aList[$i][1] Return $control00 ExitLoop EndIf ;MsgBox($MB_SYSTEMMODAL, "", "Title: " & $aList[$i][0] & @CRLF & "Handle: " & $aList[$i][1]) EndIf Next Return $control00 EndFunc ; $tool_multi01 = find_class01(1, "class_name", "有米网游加速器") ; multi fake ip ; $tool_multi01 = find_class01(0, "visible_text", "登陆") ; dang nhap no title ; $tool_multi01 = find_class01(1, "class_name", "到期时间") ; multi client Func find_class01($tile00on=1, $text00="class_name",$find_class00="WTWindow") ; co tile ; Retrieve a list of window handles. Local $return00[4] = ["", "", "",""] Local $aList = WinList() If $tile00on=1 Then ; Loop through the array displaying only visable windows with a title. For $i = 1 To $aList[0][0] If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 2) Then $g_title01 = $aList[$i][0] $g_handle01 = $aList[$i][1] $g_visible_text01 = WinGetText($aList[$i][1]) ;$find_text01 = StringInStr($g_title01, $find_class00) $g_class_name01 = _WinAPI_GetClassName($aList[$i][1]) $find_text01 = StringInStr($g_class_name01, $find_class00) ;MsgBox($MB_SYSTEMMODAL, "", "$g_title01= "&$g_title01&@CRLF&" $g_handle01="&$g_handle01&" $g_class_name01="&$g_class_name01&" $g_visible_text01="&$g_visible_text01) If $text00="class_name" and $find_text01 > 0 Then ConsoleWrite("$g_title01= "&$g_title01&@CRLF&" $g_handle01="&$g_handle01&" $g_class_name01="&$g_class_name01&" $g_visible_text01="&$g_visible_text01&@CRLF) Local $return00[4] = [$g_title01, $g_handle01, $g_class_name01,$g_visible_text01] Return $return00 ElseIf $text00="visible_text" and $find_text01 > 0 Then ConsoleWrite("$g_title01= "&$g_title01&@CRLF&" $g_handle01="&$g_handle01&" $g_class_name01="&$g_class_name01&" $g_visible_text01="&$g_visible_text01&@CRLF) Local $return00[4] = [$g_title01, $g_handle01, $g_class_name01,$g_visible_text01] Return $return00 EndIf EndIf Next ElseIf $tile00on=0 Then ; Loop through the array displaying only visable windows with a title. For $i = 1 To $aList[0][0] If $aList[$i][0] = "" And BitAND(WinGetState($aList[$i][1]), 2) Then $g_title01 = $aList[$i][0] $g_handle01 = $aList[$i][1] $g_visible_text01 = WinGetText($aList[$i][1]) $find_text01 = StringInStr($g_visible_text01, $find_class00) $g_class_name01 = _WinAPI_GetClassName($aList[$i][1]) ;MsgBox($MB_SYSTEMMODAL, "", "$g_title01= "&$g_title01&@CRLF&" $g_handle01="&$g_handle01&" $g_class_name01="&$g_class_name01&" $g_visible_text01="&$g_visible_text01) If $text00="visible_text" and $find_text01 > 0 Then ConsoleWrite("$g_title01= "&$g_title01&@CRLF&" $g_handle01="&$g_handle01&" $g_class_name01="&$g_class_name01&" $g_visible_text01="&$g_visible_text01&@CRLF) Local $return00[4] = [$g_title01, $g_handle01, $g_class_name01,$g_visible_text01] Return $return00 EndIf EndIf Next EndIf Return $return00 EndFunc ;==>Example ;$find_icon01 = click_icon01("无双",1) ;ConsoleWrite("$find_icon01="&$find_icon01&@CRLF) Func click_icon01($sSearchtext00= "无双",$icon_show00=1) Global $hSysTray_Handle $sSearchtext01= $sSearchtext00 ;change to your needs $iButton=Get_SysTray_IconText($sSearchtext01) ;ConsoleWrite("$iButton="&$iButton&@CRLF) If $iButton <> -1 and $icon_show00 = 1 Then _GUICtrlToolbar_ClickButton($hSysTray_Handle, $iButton, "left", False, 2) Return $iButton EndFunc Func Get_SysTray_IconText($sSearch="无双") For $i = 1 To 99 ; Find systray handles $hSysTray_Handle = ControlGetHandle('[Class:Shell_TrayWnd]', '', '[Class:ToolbarWindow32;Instance:' & $i & ']') If @error Then ;MsgBox(16, "Error", "System tray not found") ExitLoop EndIf ; Get systray item count Local $iSysTray_ButCount = _GUICtrlToolbar_ButtonCount($hSysTray_Handle) If $iSysTray_ButCount = 0 Then ;MsgBox(16, "Error", "No items found in system tray") ContinueLoop EndIf Local $aSysTray_ButtonText[$iSysTray_ButCount] ; Look for wanted tooltip For $iSysTray_ButtonNumber = 0 To $iSysTray_ButCount - 1 ;MsgBox(16, "NOT", "_GUICtrlToolbar_GetButtonText = "&_GUICtrlToolbar_GetButtonText($hSysTray_Handle, $iSysTray_ButtonNumber)) If $sSearch = _GUICtrlToolbar_GetButtonText($hSysTray_Handle, $iSysTray_ButtonNumber) Then _ Return SetError(0, $i, $iSysTray_ButtonNumber) Next Next Return SetError(1, -1, -1) EndFunc ;==>Get_SysTray_IconText #cs _GetPrivilege_SEDEBUG() ; I need this for tricky processes. Not needed for most... $list=ProcessList() Redim $list[ubound($list,1)][3] for $i=1 to ubound($list,1)-1 $list[$i][2]=_WinAPI_GetCommandLineFromPID($list[$i][1]) Next _ArrayDisplay($list) Exit #ce Func _WinAPI_GetCommandLineFromPID($iPID) Local $aCall = DllCall("kernel32.dll", "handle", "OpenProcess", _ "dword", 1040, _ ; PROCESS_VM_READ | PROCESS_QUERY_INFORMATION "bool", 0, _ "dword", $iPID) If @error Or Not $aCall[0] Then Return SetError(1, 0, "") EndIf Local $hProcess = $aCall[0] Local $tPROCESS_BASIC_INFORMATION = DllStructCreate("dword_ptr ExitStatus;" & _ "ptr PebBaseAddress;" & _ "dword_ptr AffinityMask;" & _ "dword_ptr BasePriority;" & _ "dword_ptr UniqueProcessId;" & _ "dword_ptr InheritedFromUniqueProcessId") $aCall = DllCall("ntdll.dll", "int", "NtQueryInformationProcess", _ "handle", $hProcess, _ "dword", 0, _ ; ProcessBasicInformation "ptr", DllStructGetPtr($tPROCESS_BASIC_INFORMATION), _ "dword", DllStructGetSize($tPROCESS_BASIC_INFORMATION), _ "dword*", 0) If @error Then DllCall("kernel32.dll", "bool", "CloseHandle", "handle", $hProcess) Return SetError(2, 0, "") EndIf Local $tPEB = DllStructCreate("byte InheritedAddressSpace;" & _ "byte ReadImageFileExecOptions;" & _ "byte BeingDebugged;" & _ "byte Spare;" & _ "ptr Mutant;" & _ "ptr ImageBaseAddress;" & _ "ptr LoaderData;" & _ "ptr ProcessParameters;" & _ "ptr SubSystemData;" & _ "ptr ProcessHeap;" & _ "ptr FastPebLock;" & _ "ptr FastPebLockRoutine;" & _ "ptr FastPebUnlockRoutine;" & _ "dword EnvironmentUpdateCount;" & _ "ptr KernelCallbackTable;" & _ "ptr EventLogSection;" & _ "ptr EventLog;" & _ "ptr FreeList;" & _ "dword TlsExpansionCounter;" & _ "ptr TlsBitmap;" & _ "dword TlsBitmapBits[2];" & _ "ptr ReadOnlySharedMemoryBase;" & _ "ptr ReadOnlySharedMemoryHeap;" & _ "ptr ReadOnlyStaticServerData;" & _ "ptr AnsiCodePageData;" & _ "ptr OemCodePageData;" & _ "ptr UnicodeCaseTableData;" & _ "dword NumberOfProcessors;" & _ "dword NtGlobalFlag;" & _ "ubyte Spare2[4];" & _ "int64 CriticalSectionTimeout;" & _ "dword HeapSegmentReserve;" & _ "dword HeapSegmentCommit;" & _ "dword HeapDeCommitTotalFreeThreshold;" & _ "dword HeapDeCommitFreeBlockThreshold;" & _ "dword NumberOfHeaps;" & _ "dword MaximumNumberOfHeaps;" & _ "ptr ProcessHeaps;" & _ "ptr GdiSharedHandleTable;" & _ "ptr ProcessStarterHelper;" & _ "ptr GdiDCAttributeList;" & _ "ptr LoaderLock;" & _ "dword OSMajorVersion;" & _ "dword OSMinorVersion;" & _ "dword OSBuildNumber;" & _ "dword OSPlatformId;" & _ "dword ImageSubSystem;" & _ "dword ImageSubSystemMajorVersion;" & _ "dword ImageSubSystemMinorVersion;" & _ "dword GdiHandleBuffer[34];" & _ "dword PostProcessInitRoutine;" & _ "dword TlsExpansionBitmap;" & _ "byte TlsExpansionBitmapBits[128];" & _ "dword SessionId") $aCall = DllCall("kernel32.dll", "bool", "ReadProcessMemory", _ "ptr", $hProcess, _ "ptr", DllStructGetData($tPROCESS_BASIC_INFORMATION, "PebBaseAddress"), _ "ptr", DllStructGetPtr($tPEB), _ "dword", DllStructGetSize($tPEB), _ "dword*", 0) If @error Or Not $aCall[0] Then DllCall("kernel32.dll", "bool", "CloseHandle", "handle", $hProcess) Return SetError(3, 0, "") EndIf Local $tPROCESS_PARAMETERS = DllStructCreate("dword AllocationSize;" & _ "dword ActualSize;" & _ "dword Flags;" & _ "dword Unknown1;" & _ "word LengthUnknown2;" & _ "word MaxLengthUnknown2;" & _ "ptr Unknown2;" & _ "handle InputHandle;" & _ "handle OutputHandle;" & _ "handle ErrorHandle;" & _ "word LengthCurrentDirectory;" & _ "word MaxLengthCurrentDirectory;" & _ "ptr CurrentDirectory;" & _ "handle CurrentDirectoryHandle;" & _ "word LengthSearchPaths;" & _ "word MaxLengthSearchPaths;" & _ "ptr SearchPaths;" & _ "word LengthApplicationName;" & _ "word MaxLengthApplicationName;" & _ "ptr ApplicationName;" & _ "word LengthCommandLine;" & _ "word MaxLengthCommandLine;" & _ "ptr CommandLine;" & _ "ptr EnvironmentBlock;" & _ "dword Unknown[9];" & _ "word LengthUnknown3;" & _ "word MaxLengthUnknown3;" & _ "ptr Unknown3;" & _ "word LengthUnknown4;" & _ "word MaxLengthUnknown4;" & _ "ptr Unknown4;" & _ "word LengthUnknown5;" & _ "word MaxLengthUnknown5;" & _ "ptr Unknown5;") $aCall = DllCall("kernel32.dll", "bool", "ReadProcessMemory", _ "ptr", $hProcess, _ "ptr", DllStructGetData($tPEB, "ProcessParameters"), _ "ptr", DllStructGetPtr($tPROCESS_PARAMETERS), _ "dword", DllStructGetSize($tPROCESS_PARAMETERS), _ "dword*", 0) If @error Or Not $aCall[0] Then DllCall("kernel32.dll", "bool", "CloseHandle", "handle", $hProcess) Return SetError(4, 0, "") EndIf $aCall = DllCall("kernel32.dll", "bool", "ReadProcessMemory", _ "ptr", $hProcess, _ "ptr", DllStructGetData($tPROCESS_PARAMETERS, "CommandLine"), _ "wstr", "", _ "dword", DllStructGetData($tPROCESS_PARAMETERS, "MaxLengthCommandLine"), _ "dword*", 0) If @error Or Not $aCall[0] Then DllCall("kernel32.dll", "bool", "CloseHandle", "handle", $hProcess) Return SetError(5, 0, "") EndIf DllCall("kernel32.dll", "bool", "CloseHandle", "handle", $hProcess) Return $aCall[3] EndFunc ; ####################### Below Func is Part of example - Needed to get commandline from more processes. ############ ; ####################### Thanks for this function, wraithdu! (Didn't know it was your.) :) ######################### #cs Func _GetPrivilege_SEDEBUG() Local $tagLUIDANDATTRIB = "int64 Luid;dword Attributes" Local $count = 1 Local $tagTOKENPRIVILEGES = "dword PrivilegeCount;byte LUIDandATTRIB[" & $count * 12 & "]" ; count of LUID structs * sizeof LUID struct Local $TOKEN_ADJUST_PRIVILEGES = 0x20 Local $call = DllCall("advapi32.dll", "int", "OpenProcessToken", "ptr", _WinAPI_GetCurrentProcess(), "dword", $TOKEN_ADJUST_PRIVILEGES, "ptr*", "") Local $hToken = $call[3] $call = DllCall("advapi32.dll", "int", "LookupPrivilegeValue", "str", Chr(0), "str", "SeDebugPrivilege", "int64*", "") ;msgbox(0,"",$call[3] & " " & _WinAPI_GetLastErrorMessage()) Local $iLuid = $call[3] Local $TP = DllStructCreate($tagTOKENPRIVILEGES) Local $LUID = DllStructCreate($tagLUIDANDATTRIB, DllStructGetPtr($TP, "LUIDandATTRIB")) DllStructSetData($TP, "PrivilegeCount", $count) DllStructSetData($LUID, "Luid", $iLuid) DllStructSetData($LUID, "Attributes", $SE_PRIVILEGE_ENABLED) $call = DllCall("advapi32.dll", "int", "AdjustTokenPrivileges", "ptr", $hToken, "int", 0, "ptr", DllStructGetPtr($TP), "dword", 0, "ptr", Chr(0), "ptr", Chr(0)) Return ($call[0] <> 0) ; $call[0] <> 0 is success EndFunc ;==>_GetPrivilege_SEDEBUG #ce #cs list_handle_cycler01() ;Exit for $i= 1 to $Listit[0][1] ToolTip('Count - '&$i&' - '&$Listit[$i][1]) $aPos = WinGetPos($Listit[$i][1]) MsgBox($MB_SYSTEMMODAL, "name = "&$Listit[$i][0], "X-Pos: " & $aPos[0] & @CRLF & _ "Y-Pos: " & $aPos[1] & @CRLF & _ "Width: " & $aPos[2] & @CRLF & _ "Height: " & $aPos[3] & @CRLF & _ "name = " & $Listit[$i][0]&" title = " & $Listit[$i][1]) Next #ce func list_handle_cycler01() Global $sExclude_List = "|Start[CL:102939]|Start|Desktop|Start Menu[CL:102938]|taskbar|iconwin|desktop[CL:102937]|Program Manager|taskbar|Menu|Save As|Drag|maincontext|context|" Global $sExclude_class = "|tooltips_class32|gdkWindowToplevel|gdkWindowTempShadow|TaskSwitcherWnd|gdkWindowTemp|bosa_sdm_Microsoft Office Word 11.0|MsoCommandBarPopup|MsoCommandBarShadow|NUIDialog|CallTip|ThumbnailClass|#32770|Desktop User Picture|OfficeTooltip|" Global $Listit, $aWinList, $SectNames $aWinList = WinList() _ArraySort($aWinList, -1, 1, -1, 0) dim $Listit[$aWinList[0][0]][4] For $i = 1 To $aWinList[0][0] If $aWinList[$i][0] = "" Or Not BitAND(WinGetState($aWinList[$i][1]), 2) Then ContinueLoop $class = _WinAPI_GetClassName($aWinList[$i][1]) If Not StringInStr($sExclude_List, "|" & $aWinList[$i][0] & "|") and Not StringInStr($sExclude_class, "|" & $class & "|") Then $Listit[0][1]=$Listit[0][1]+1 $Listit[$Listit[0][1]][0]= _ProcessGetName (WinGetProcess($aWinList[$i][1])) $Listit[$Listit[0][1]][1]= $aWinList[$i][0] $Listit[$Listit[0][1]][2]= $aWinList[$i][1] $Listit[$Listit[0][1]][3]= $class EndIf Next ; $Listit[$i][0]) > exe ; $Listit[$i][1]) > title ; $Listit[$i][2]) > handle ; $Listit[$i][3]) > class _ArrayDisplay($Listit) EndFunc ;$w_text01 = "Confirm,passwords,QRCODESCAN,Don't,show,Sign,in,My,Wallet,DEX,name,TIG,Order,Confirmation,Cancel,Real-time,traded.,Exchange,completed.,WEMIX,Search,FROM,transfer" ;$find_text01 = img_text01find(2,$w_text01,1,0) ; wemix pass + wallet ;_ArrayDisplay($find_text01, "$find_text01"& "s "& TimerDiff($hTimer)) Func img_text01find($on0=1,$find_text0='V,chika,WEMIX,Send,edit,merge',$size0=1,$view0=0) If $on0=0 Then Local $return0[1][5] If $on0=1 Then Local $return0[1][5] If $on0<>0 Then ; $on0<>0 $find_text01 = StringReplace($find_text0, ",", "|"); Remove "0x" not needed $check_text0 = StringSplit($find_text0, ",", BitOr($STR_NOCOUNT, $STR_ENTIRESPLIT)) If $on0=2 Then Local $return0[ UBound($check_text0) ] ;Local $aiResult = _ArrayFindAll($img_ocr01, $find_text01, Default, Default, Default, 1) ; find lu tru delete Local $aiResult = _ArrayFindAll($img_ocr01, "^" & $find_text01 & "$", Default, Default, Default, 3, 0 ) ;_ArrayDisplay($aiResult, "Found") If UBound($aiResult) > 0 Then For $lp = 0 to UBound($aiResult)-1 $find_row01 = $aiResult[$lp] & "=" & $img_ocr01[ $aiResult[$lp] ][0] $left01 = Int($img_ocr01[ $aiResult[$lp] ][1]/$size0) $top01 = Int($img_ocr01[ $aiResult[$lp] ][2]/$size0) $right01 = Int($img_ocr01[ $aiResult[$lp] ][3]/$size0) $bottom01 = Int($img_ocr01[ $aiResult[$lp] ][4]/$size0) If $on0=1 Then _ArrayAdd($return0, $find_row01 &"|"& $left01 &"|"& $top01 &"|"& $right01 &"|"& $bottom01) For $lp_check = 0 to UBound($check_text0)-1 If $on0=1 and $img_ocr01[ $aiResult[$lp] ][0] = $check_text0[$lp_check] Then $return0[0][$lp_check] = $check_text0[$lp_check] ; 2d array If $on0=2 and $img_ocr01[ $aiResult[$lp] ][0] = $check_text0[$lp_check] Then $return0[$lp_check] = $check_text0[$lp_check] ; 1d array Next If $view0=1 Then ; $view0=1 $if_string01 = "$left0-$shade0="&$left0-$shade0&" < $left01="&$left01&" $top0-$shade0="&$top0-$shade0&" < $top01="&$top01 & @CRLF & _ "$right0+$shade0="&$right0+$shade0&" > $right01="&$right01&" $bottom0+$shade0="&$bottom0+$shade0&" < $bottom01="&$bottom01 MsgBox(0, "Time Elapsed: " & TimerDiff($hTimer), $if_string01 ) _ArrayDisplay($return0, "FIND TEXT") EndIf ; end $view0=1 Next EndIf EndIf ; end $on0<>0 Return $return0 EndFunc ;$img_ocr01 = img_text01(1,$stream[3],1,2 ,"0",350,40,$gamex01f,$gamey01f,'8,40,50,40, 682,55,120,40, 4,126,180,60') ; bang guix02 > wemix Func img_text01($on0=1,$BMP0=$stream[3],$gui_view0=0,$scale0=1,$image0="0",$gamex0="",$gamey0="",$gamex0f="", $gamey0f="",$size0="0,0,800,500",$file0="0_MEO_D01.png") ; [row][col] ; $GDIP_PXF01INDEXED = 1 bit per pixel, indexed ; $GDIP_PXF04INDEXED = 4 bits per pixel, indexed ; $GDIP_PXF08INDEXED = 8 bits per pixel, indexed ; $GDIP_PXF16GRAYSCALE = 16 bits per pixel, grayscale ; $GDIP_PXF16RGB555 = 16 bits per pixel; 5 bits for each RGB component ; $GDIP_PXF16RGB565 = 16 bits per pixel; 5 bits for red, 6 bits for green and 5 bits blue ; $GDIP_PXF16ARGB1555 = 16 bits per pixel; 1 bit for alpha and 5 bits for each RGB component ; $GDIP_PXF24RGB = 24 bits per pixel; 8 bits for each RGB component ; $GDIP_PXF32RGB = 32 bits per pixel; 8 bits for each RGB component. No alpha component. ; $GDIP_PXF32ARGB = 32 bits per pixel; 8 bits for each RGB and alpha component ; $GDIP_PXF32PARGB = 32 bits per pixel; 8 bits for each RGB and alpha component, pre-multiplied ; $GDIP_PXF48RGB = 48 bits per pixel; 16 bits for each RGB component ; $GDIP_PXF64ARGB = 64 bits per pixel; 16 bits for each RGB and alpha component ; $GDIP_PXF64PARGB = 64 bits per pixel; 16 bits for each RGB and alpha component, pre-multiplied If $on0=2 Then Local $return0[15] If $on0=1 or $on0=3 Then Local $return0[40][5] ; reset new array If $on0=0 Then Local $return0[40][5] ; reset new array ;Local $iRows = UBound($aArray, $UBOUND_ROWS) ; Total number of rows. In this example it will be 10. ;Local $iCols = UBound($aArray, $UBOUND_COLUMNS) ; Total number of columns. In this example it will be 20. If $on0<>0 Then ; Draw bitmap to GUI If $gui_view0=1 Then global $hGUI = GUICreate("BitmapCloneArea test", $gamex0*$scale0, $gamey0*$scale0,-1,-1) GUISetState(@SW_SHOW, $hGUI) $Graphics_obj = _GDIPlus_GraphicsCreateFromHWND($hGUI) $hBitmap = _GDIPlus_BitmapCreateFromGraphics($gamex0, $gamey0, $Graphics_obj) $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap) Local $hClone01 = _GDIPlus_BitmapCloneArea($BMP0, 0, 0, $gamex0f, $gamey0f) $size0 = StringSplit($size0,',') ; $left0=0,$top0=0,$width0=100,$height0=50 $all_width0 = 0 For $lp_size = 1 to $size0[0]/4 If $lp_size = 1 Then $all_width0 += 0 $left0 = $all_width0 $top0 = 0 $width0 = $size0[3*$lp_size] $height0 = $size0[4*$lp_size] ElseIf $lp_size > 1 Then $all_width0 += $size0[3+($lp_size-1)*4-4] $left0 = $all_width0 $top0 = 0 $width0 = $size0[3+$lp_size*4-4] $height0 = $size0[4+$lp_size*4-4] EndIf $left1 = $size0[1+$lp_size*4-4] $top1 = $size0[2+$lp_size*4-4] $width1 = $size0[3+$lp_size*4-4] $height1 = $size0[4+$lp_size*4-4] _GDIPlus_GraphicsDrawImageRectRect($Graphics_obj, $hClone01, $left1, $top1, $width1, $height1, $left0, $top0, $width0, $height0) ; draw gui _GDIPlus_GraphicsDrawImageRectRect($hBackbuffer, $hClone01, $left1, $top1, $width1, $height1, $left0, $top0, $width0, $height0) ; draw bit map Next ElseIf $gui_view0=0 Then $hBitmap = _GDIPlus_BitmapCreateFromScan0($gamex0, $gamey0) ;create an empty bitmap > thay > $hBitmap = _GDIPlus_BitmapCreateFromGraphics($gamex01f, $gamey01f, $Graphics_obj) $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap) Local $hClone01 = _GDIPlus_BitmapCloneArea($BMP0, 0, 0, $gamex0f, $gamey0f) $size0 = StringSplit($size0,',') ; $left0=0,$top0=0,$width0=100,$height0=50 For $lp_size = 1 to $size0[0]/4 If $lp_size = 1 Then $left0 = 0 $top0 = 0 $width0 = $size0[3*$lp_size] $height0 = $size0[4*$lp_size] ElseIf $lp_size = 2 Then $left0 = $size0[3+($lp_size-1)*4-4] $top0 = 0 $width0 = $size0[3+$lp_size*4-4] $height0 = $size0[4+$lp_size*4-4] ElseIf $lp_size = 3 Then $left0 = $size0[3+($lp_size-1)*4-4]+$size0[3+($lp_size-2)*4-4] $top0 = 0 $width0 = $size0[3+$lp_size*4-4] $height0 = $size0[4+$lp_size*4-4] EndIf $left1 = $size0[1+$lp_size*4-4] $top1 = $size0[2+$lp_size*4-4] $width1 = $size0[3+$lp_size*4-4] $height1 = $size0[4+$lp_size*4-4] _GDIPlus_GraphicsDrawImageRectRect($hBackbuffer, $hClone01, $left1, $top1, $width1, $height1, $left0, $top0, $width0, $height0) ; draw bit map Next EndIf ;Local $hClone01 = _GDIPlus_BitmapCloneArea($BMP0, $left0, $top0, $width0, $height0) $hClone01 = _GDIPlus_ImageResize($hBitmap, $gamex0*$scale0, $gamey0*$scale0) ;resize image ;If $image0="99" Then $hClone01 = _GDIPlus_BitmapCreateNegative($hClone01) ; text net ORC de doc hon ; ====== Examples calling _ImageColorRegExpReplace() ========================= ; Note colour format hex 0xBBGGRRAA - Blue, Green, Red, Alpha (transparency) ;$hClone01 = _ImageColorRegExpReplace($hClone01, "FFFFFFFF", "000000FF"); Change white to black. ;$hClone01 = _ImageColorRegExpReplace($hClone01, "(?i)([E-F][0-9A-F]){3}FF" , "000000FF" ); Change almost white to black. ;$hClone01 = _ImageColorRegExpReplace($hClone01, "(000000FF)" , "FFFFFFFF" ); Change black to white ;$hClone01 = _ImageColorRegExpReplace($hClone01, "(FFFFFFFF)" , "FFFFFF00" ); Change white to transparent ;$hClone01 = _ImageColorRegExpReplace($hClone01, "(([A-F][0-9A-F]){3}FF)" , "000000FF" ); Change near to white to transparent ;$hClone01 = _ImageColorRegExpReplace($hClone01, "(FF0000FF|(0000[A-F]{2}FF)|FFFFFFFF)", "000000FF"); Change blue, off red, white to black ;Swap red and blue channels on half the image. Image is 400x300 = 120,000 pixels. Number of pixels to replace is 60,000. ;$hClone01 = _ImageColorRegExpReplace($hClone01, "(?i)([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})(FF)", "${2}${3}${1}${4}") ; Image to black and white If $image0="97" Then $hClone01 = _ImageColorRegExpReplace($hClone01, "(?i)([9A-F][0-9A-F]{5}FF)" , "FFFFFFFF" ); Change near to white to white > OCR 95% ;$hClone01 = _ImageColorRegExpReplace($hClone01, "(?i)([0-8][0-9A-F]{5}FF)" , "000000FF" ); Change near black to black ;$hClone01 = _ImageColorRegExpReplace($hClone01, "(?i)(([0-9A-D][0-9A-F]){3}FF)", "FFFFFF00"); Change near to white to white ;$hClone01 = _ImageColorRegExpReplace($hClone01, _NotHexColorREPattern("FFFFFFFF", 0xC9), "FFFFFF00") ;$hClone01 = _ImageColorRegExpReplace($hClone01, _ShadeVariationREPattern("606060FF", 0x9E), "FFFFFF00") ;or If $image0="97" Then $hClone01 = _ImageColorRegExpReplace($hClone01, "(?i)([0-9A-F]{2}[9A-F][0-9A-F]{3}FF)" , "FFFFFFFF" ); Change near to white to white > OCR OK 90% If $image0="98" or $image0="99" Then $hClone01 = _ImageColorRegExpReplace($hClone01, "(?i)([0-9A-F]{2}[0-8][0-9A-F]{3}FF)" , "000000FF" ); Change near black to black > OCR 98% ;$hClone01 = _ImageColorRegExpReplace($hClone01, "(FFFFFFFF)", "000000FF"); Change near to white to black ;$hClone01 = _ImageColorRegExpReplace($hClone01, _NotHexColorREPattern("808080FF", 0x77), "FFFFFF00"); Change near to white to white ;$hClone01 = _ImageColorRegExpReplace($hClone01, "(.{8}) (.{8}) (.{8}) ", "\1 00000000 00000000 "); Change near to white to white ;$hClone01 = _ImageColorRegExpReplace($hClone01, _ShadeVariationREPattern("0000FFFF", 0x10, False), "000000FF"); Change near to white to white ;$hClone01 = _ImageColorRegExpReplace($hClone01, _ShadeVariationREPattern("606060FF", 0x90, False), "FFFFFF00"); Change near to white to white ;$hClone01 = _ImageColorRegExpReplace($hClone01, "808080FF", "FFFFFF00"); ;_ImagePixelPos($hImage, "0000FFFF") ;============================================================================================== If $image0="94" Then $hClone01 = _GDIPlus_Bitmap_black_white01($hClone01) If $on0=3 Then ; _GDIPlus_ImageSaveToFile($hBitmap, "c:\acc\"&$file0) ; test save bitmap _GDIPlus_ImageSaveToFile($hClone01, "c:\acc\"&$file0) ; test save bitmap EndIf If $gui_view0=1 Then _GDIPlus_GraphicsDrawImage($Graphics_obj, $hClone01, 0, 0) ; draw gui _GDIPlus_GraphicsDrawImage($hBackbuffer, $hClone01, 0, 0) ; draw gui EndIf If $on0=2 Then Local $sOCRTextResult = _UWPOCR_GetText($hClone01, Default, True) If $on0=2 and $gui_view0=1 Then MsgBox(0, "Time Elapsed: " & TimerDiff($hTimer), $sOCRTextResult) ;If $on0=2 Then $return01 = StringSplit($sOCRTextResult, @CRLF, BitOr($STR_NOCOUNT, $STR_ENTIRESPLIT)) If $on0=1 Then Local $return01 = _UWPOCR_GetWordsRectTo2DArray($hClone01) ;_ArrayDisplay($size0,"T " & TimerDiff($hTimer) ) If $on0=1 and $gui_view0=1 Then _ArrayDisplay($return01,"Time Elapsed: " & TimerDiff($hTimer) ) GUIDelete($hGUI) EndIf If $on0=2 Then ; $on0=2 bo array ; If UBound($return01) < UBound($return0) Then ; For $lp = 0 to UBound($return01)-1 ; $return0[$lp] = $return01[$lp] ; Next ; ElseIf UBound($return01) > UBound($return0)-1 Then $return0 = $sOCRTextResult ; EndIf ElseIf $on0=1 Then If UBound($return01, $UBOUND_ROWS) > 0 Then _ArrayConcatenate($return01, $return0) $return0 = $return01 EndIf EndIf ;_ArrayDisplay($return0, "1D display") EndIf Return $return0 EndFunc Func _ImagePixelPos($hImage, $iColSrch, $iCount = 0) Local $hTimer = TimerInit() Local $Reslt, $stride, $format, $Scan0, $iIW, $iIH, $hBitmap1 Local $v_BufferA, $AllPixels, $sREResult1, $sResult, $iNum,$iNum2, $i, $sRes, $y $iIW = _GDIPlus_ImageGetWidth($hImage) $iIH = _GDIPlus_ImageGetHeight($hImage) ;ConsoleWrite($iIW & " " & $iIH & @LF) $hBitmap1 = _GDIPlus_BitmapCloneArea($hImage, 0, 0, $iIW, $iIH, $GDIP_PXF32ARGB) ; Locks a portion of a bitmap for reading or writing $Reslt = _GDIPlus_BitmapLockBits($hBitmap1, 0, 0, $iIW, $iIH, BitOR($GDIP_ILMREAD, $GDIP_ILMWRITE), $GDIP_PXF32ARGB) ;Get the returned values of _GDIPlus_BitmapLockBits () $width = DllStructGetData($Reslt, "width") $height = DllStructGetData($Reslt, "height") $stride = DllStructGetData($Reslt, "stride") $format = DllStructGetData($Reslt, "format") $Scan0 = DllStructGetData($Reslt, "Scan0") $v_BufferA = DllStructCreate("byte[" & $height * $width * 4 & "]", $Scan0) ; Create DLL structure for all pixels $AllPixels = DllStructGetData($v_BufferA, 1) ;ConsoleWrite("$AllPixels, raw data, first 9 colours = " & StringRegExpReplace($AllPixels, "(.{98})(.*)", "\1") & @CRLF) ; Searches on this string - $sREResult1 whch has the prefix "0x" removed and a space put between pixels 8 characters long. $sREResult1 = StringRegExpReplace(StringTrimLeft($AllPixels, 2), "(.{8})", "\1 ") ;ConsoleWrite("$sREResult1 first 9 colours = " & StringRegExpReplace($sREResult1, "(.{81})(.*)", "\1") & @CRLF) If StringInStr($sREResult1, $iColSrch) > 0 Then StringRegExpReplace($sREResult1, "(" & $iColSrch & ")", "\1") Local $iTotalPixelsFound = @extended $sRes &= $iTotalPixelsFound & " matches found between" & @CRLF $iNum = StringInStr($sREResult1, $iColSrch, 0, 1) $y = Int(($iNum) / (9 * $width)) $sRes &= "(" & Int(((($iNum) / (9 * $width)) - $y) * $width) & "," & $y & ")" & @LF $iNum2 = StringInStr($sREResult1, $iColSrch, 0, -1) $y = Int(($iNum2) / (9 * $width)) $sRes &= " and " & @CRLF & "(" & Ceiling(((($iNum2) / (9 * $width)) - $y) * $width) & "," & $y & ")" &@LF ;ConsoleWrite($iTotalPixelsFound & @LF) ;Local $aPixs[$iTotalPixelsFound +1][2] ;$aPixs[0][0] = $iTotalPixelsFound ;For $i = 1 To $iTotalPixelsFound step 5 ; $iNum = StringInStr($sREResult1, $iColSrch, 0, $i) + 1 ; $y = Int(($iNum) / (9 * $width)) ; $sRes &= Int(($iNum) / (9 * $width)) & "," & Int(((($iNum) / (9 * $width)) - $y) * $width) & @LF ; $aPixs[$i][1] = Int(($iNum) / (9 * $width)) ; $aPixs[$i][0] = Int(((($iNum) / (9 * $width)) - $aPixs[$i][1]) * $width) ; ConsoleWrite($i & " " & $aPixs[$i][0] & " " & $aPixs[$i][1] & " " & @LF) ;Next EndIf _GDIPlus_BitmapUnlockBits($hBitmap1, $Reslt) ; releases the locked region ConsoleWrite("Time =" & TimerDiff($hTimer) & @LF) ConsoleWrite($sRes & @LF) ;_ArrayDisplay($aPixs) Return $hBitmap1 EndFunc ;==>_ImagePixelPos ; ========= _ImageColorRegExpReplace($hImage, $iColSrch, $iColNew,$iCount = 0) ===================== ;Paramerers:- ; $hImage - Handle to a Bitmap object ; $iColSrch - A regular expression pattern to compare the colours to in 0xBBGGRRAA hex colour format. ; $iColNew - The colour which will replace the regular expression matching colour.Also in 0xBBGGRRAA hex colour format. ; $iCount - [optional] The number of times to execute the replacement in the image. The default is 0. Use 0 for global replacement. ; Note :- Colour format in hex 0xBBGGRRAA ; Func _ImageColorRegExpReplace($hImage, $iColSrch, $iColNew, $iCount = 0) Local $Reslt, $stride, $format, $Scan0, $iIW, $iIH, $hBitmap1 Local $v_BufferA, $AllPixels, $sREResult1, $sResult $iIW = _GDIPlus_ImageGetWidth($hImage) $iIH = _GDIPlus_ImageGetHeight($hImage) ;ConsoleWrite($iIW & " " & $iIH & @LF) $hBitmap1 = _GDIPlus_BitmapCloneArea($hImage, 0, 0, $iIW, $iIH, $GDIP_PXF32ARGB) ; Locks a portion of a bitmap for reading or writing $Reslt = _GDIPlus_BitmapLockBits($hBitmap1, 0, 0, $iIW, $iIH, BitOR($GDIP_ILMREAD, $GDIP_ILMWRITE), $GDIP_PXF32ARGB) ;Get the returned values of _GDIPlus_BitmapLockBits () $width = DllStructGetData($Reslt, "width") $height = DllStructGetData($Reslt, "height") $stride = DllStructGetData($Reslt, "stride") $format = DllStructGetData($Reslt, "format") $Scan0 = DllStructGetData($Reslt, "Scan0") $v_BufferA = DllStructCreate("byte[" & $height * $width * 4 & "]", $Scan0) ; Create DLL structure for all pixels $AllPixels = DllStructGetData($v_BufferA, 1) ;ConsoleWrite("$AllPixels, raw data, first 9 colours = " & StringRegExpReplace($AllPixels, "(.{98})(.*)", "\1") & @CRLF) ; Searches on this string - $sREResult1 whch has the prefix "0x" removed and a space put between pixels 8 characters long. $sREResult1 = StringRegExpReplace(StringTrimLeft($AllPixels, 2), "(.{8})", "\1 ") ;ConsoleWrite("$sREResult1 first 9 colours = " & StringRegExpReplace($sREResult1, "(.{81})(.*)", "\1") & @CRLF) If StringInStr($iColNew, "0x") > 0 Then $iColNew = StringReplace($iColNew, "0x", ""); Remove "0x" not needed ; StringRegExpReplace performed and white spaces removed $sResult = StringStripWS(StringRegExpReplace($sREResult1, $iColSrch, $iColNew, $iCount), 8) ; Replace "0x" prefix and set modified data back to DLL structure, $v_BufferA DllStructSetData($v_BufferA, 1, "0x" & $sResult) _GDIPlus_BitmapUnlockBits($hBitmap1, $Reslt) ; releases the locked region Return $hBitmap1 EndFunc ;==>_ImageColorRegExpReplace Func MY_PAINT($hWnd, $msg, $wParam, $lParam) If $hWnd = $hGUI1 Then _GDIPlus_GraphicsDrawImageRectRect($hGraphic1, $hImage, 0, 0, $iX, $iY, 0, 0, 400, 300) ; _GDIPlus_GraphicsDrawImageRect($hGraphic1, $hImage, 0, 0, $width, $height) If $hWnd = $hGUI2 Then _GDIPlus_GraphicsDrawImageRectRect($hGraphic2, $hImage2, 0, 0, $iX, $iY, 0, 0, 400, 300) ; _GDIPlus_GraphicsDrawImageRect($hGraphic2, $hImage2, 0, 0, $width, $height) Return $GUI_RUNDEFMSG EndFunc ;==>MY_PAINT ;======================== _ShadeVariationREPattern =========================== ; Description - Checks if a 24bit color matches a specified color plus or minus a shade varation. ; Parameters ; $iColor - A 'RGB' or 'ARGB' color to test. ; $ShadeVariation - An integer added to and substracted from each color channel of the color, $iColPlusShade. ; $ARGB - If $iColor Format is in 0xAARRGGBB hex format then $ARGB = True is default. ; If false then $iColor Format is in 0xBBGGRRAA hex format. ; Returns 1 (matched) or 0 (no match) ; Func _ShadeVariationREPattern($iColor, $ShadeVariation, $ARGB = True) Local $Pattern, $iColSrchMin, $iColSrchMax If $ARGB Then $iColor = "0x" & StringRegExpReplace(Hex($iColor, 8), "(..)(..)(..)(..)", "\4\3\2\1") ;ConsoleWrite(hex($iColor, 8) & @CRLF) Local $aColor = StringRegExp(Hex("0x" & $iColor, 8), "(.{2})", 3) ;_ArrayDisplay($aColor) For $i = 0 To UBound($aColor) - 2 $Pattern &= "(" $iColSrchMin = Hex(Int(((("0x" & $aColor[$i]) - $ShadeVariation) > 0) ? (("0x" & $aColor[$i]) - $ShadeVariation) : 0), 2) $iColSrchMax = Hex(Int(((("0x" & $aColor[$i]) + $ShadeVariation) < 256) ? (("0x" & $aColor[$i]) + $ShadeVariation) : 255), 2) ;$iColSrchMax = "0x" & Hex((Dec(Hex("0x" & $aColor[$i], 2)) + $ShadeVariation + 1) * ((Dec(Hex("0x" & $aColor[$i], 2)) + $ShadeVariation + 1) < 255) + 255, 2) ConsoleWrite($iColSrchMin & " to " & $iColSrchMax & @CRLF) For $n = "0x" & $iColSrchMin To "0x" &$iColSrchMax $Pattern &= Hex($n, 2) & "|" Next $Pattern = StringTrimRight($Pattern, 1) & ")" Next ;ConsoleWrite($Pattern & "(FF)" & @LF) Return $Pattern & "(FF)" EndFunc ;==>_ShadeVariationREPattern Func _NotHexColorREPattern($In, $iVariation = 0x00) Local $aPat[16][16] = [ _ ; 2 3 4 5 6 7 8 9 A B C D E T ["1-9A-F", "2-9A-F" , "3-9A-F" , "4-9A-F" , "5-9A-F" , "6-9A-F" , "7-9A-F" , "8-9A-F" , "9A-F" , "A-F" , "B-F" , "C-F" , "D-F" , "EF" , "F" , "."], _ ;0 ["2-9A-F", "02-9A-F", "03-9A-F" , "04-9A-F" , "05-9A-F" , "06-9A-F" , "07-9A-F" , "08-9A-F" , "09A-F" , "0A-F" , "0B-F" , "0B-F" , "0C-F" , "0D-F" , "0EF" , "0"], _ ;1 ["3-9A-F", "03-9A-F", "013-9A-F", "014-9A-F" , "015-9A-F" , "016-9A-F" , "017-9A-F" , "018-9A-F" , "019A-F" , "01A-F" , "01B-F" , "01C-F" , "01D-F" , "01EF" , "01F" , "01"], _ ;2 ["4-9A-F", "04-9A-F", "014-9A-F", "0-24-9A-F", "0-25-9A-F", "0-26-9A-F", "0-27-9A-F", "0-28-9A-F", "0-29A-F", "0-2A-F" , "0-2B-F" , "0-2C-F" , "0-2D-F" , "0-2EF" , "0-2F" , "0-2"], _ ;3 ["5-9A-F", "05-9A-F", "015-9A-F", "0-25-9A-F", "0-35-9A-F", "0-36-9A-F", "0-37-9A-F", "0-38-9A-F", "0-39A-F", "0-3A-F" , "0-3B-F" , "0-3C-F" , "0-3D-F" , "0-3EF" , "0-3F" , "0-3"], _ ;4 ["6-9A-F", "06-9A-F", "016-9A-F", "0-26-9A-F", "0-36-9A-F", "0-46-9A-F", "0-47-9A-F", "0-48-9A-F", "0-49A-F", "0-4A-F" , "0-4B-F" , "0-4C-F" , "0-4D-F" , "0-4FF" , "0-4F" , "0-4"], _ ;5 ["7-9A-F", "07-9A-F", "017-9A-F", "0-27-9A-F", "0-37-9A-F", "0-47-9A-F", "0-57-9A-F", "0-58-9A-F", "0-59A-F", "0-5A-F" , "0-5B-F" , "0-5C-F" , "0-5D-F" , "0-5EF" , "0-5F" , "0-5"], _ ;6 ["89A-F" , "089A-F" , "0189A-F" , "0-289A-F" , "0-389A-F" , "0-489A-F" , "0-589A-F" , "0-689A-F" , "0-69A-F", "0-6A-F" , "0-6B-F" , "0-6C-F" , "0-6D-F" , "0-6EF" , "0-6F" , "0-6"], _ ;7 ["9A-F" , "09A-F" , "019A-F" , "0-29A-F" , "0-39A-F" , "0-49A-F" , "0-59A-F" , "0-69A-F" , "0-79A-F", "0-7A-F" , "0-7B-F" , "0-7C-F" , "0-7D-F" , "0-7EF" , "0-7F" , "0-79"], _ ;8 ["A-F" , "0A-F" , "01A-F" , "0-2A-F" , "0-3A-F" , "0-4A-F" , "0-5A-F" , "0-6A-F" , "0-7A-F" , "0-8A-F" , "0-8B-F" , "0-8C-F" , "0-8D-F" , "0-8EF" , "0-8F" , "0-8"], _ ;9 ["B-F" , "0B-F" , "01B-F" , "0-2B-F" , "0-3B-F" , "0-4B-F" , "0-5B-F" , "0-6B-F" , "0-7B-F" , "0-8B-F" , "0-9B-F" , "0-9C-F" , "0-9D-F" , "0-9EF" , "0-9F" , "0-9"], _ ;A ["C-F" , "0C-F" , "01C-F" , "0-2C-F" , "0-3C-F" , "0-4AC-F" , "0-5C-F" , "0-6C-F" , "0-7C-F" , "0-8C-F" , "0-9C-F" , "0-9AC-F" , "0-9AD-F" , "0-9AEF" , "0-9AF" , "0-9AC"], _ ;B ["D-F" , "0D-F" , "01D-F" , "0-2D-F" , "0-3D-F" , "0-4D-F" , "0-5D-F" , "0-6D-F" , "0-7D-F" , "0-8D-F" , "0-9D-F" , "0-9AD-F" , "0-9ABD-F", "0-9ABEF" , "0-9ABF" , "0-9AB"], _ ;C ["EF" , "0EF" , "01EF" , "0-2EF" , "0-3EF" , "0-4EF" , "0-5EF" , "0-6EF" , "0-7EF" , "0-8EF" , "0-9EF" , "0-9AEF" , "0-9ABEF" , "0-9A-CEF", "0-9A-CF", "0-9A-C"], _ ;D ["F" , "0F" , "01F" , "0-2F" , "0-3F" , "0-4F" , "0-5F" , "0-6F" , "0-7F" , "0-8F" , "0-9F" , "0-9AF" , "0-9ABF" , "0-9A-CF" , "0-9A-DF", "0-9A-D"], _ ;E ["." , "0" , "01" , "0-2" , "0-3" , "0-4" , "0-5" , "0-6" , "0-7" , "0-8" , "0-9" , "0-9A" , "0-9AB" , "0-9A-C" , "0-9A-D" , "0-9A-E"]] ;F Local $sRet, $aArr, $iLower, $iUpper, $aVari[8][2] If IsNumber($In) Then $In = Hex($In, 8) If StringLeft($In, 2) == "0x" Then $In = StringTrimLeft($In, 2) $aArr = StringRegExp($In, "(..)", 3) For $i = 0 To 2 $iLower = Hex(Int(((("0x" & $aArr[$i]) - $iVariation) > 0) ? (("0x" & $aArr[$i]) - $iVariation) : 0), 2) $iUpper = Hex(Int(((("0x" & $aArr[$i]) + $iVariation) < 256) ? (("0x" & $aArr[$i]) + $iVariation) : 255), 2) $aVari[$i * 2][0] = "0x" & StringLeft($iLower, 1) $aVari[$i * 2][1] = "0x" & StringLeft($iUpper, 1) $aVari[$i * 2 + 1][0] = "0x" & StringRight($iLower, 1) $aVari[$i * 2 + 1][1] = "0x" & StringRight($iUpper, 1) Next ;Alpha channel $aVari[6][0] = "0xF" $aVari[6][1] = "0xF" $aVari[7][0] = "0xF" $aVari[7][1] = "0xF" For $i = 0 To UBound($aVari) - 1 $sRet &= "([0-9A-F]{" & $i & "}[" & $aPat[$aVari[$i][0]][$aVari[$i][1]] & "][0-9A-F]{" & (7 - $i) & "})|" Next ;if StringInStr(StringRegExpReplace(StringTrimRight($sRet, 1), "(\Q[0-9A-F]{0}\E)|(\Q{1}\E)", ""),"[]") Then ; MsgBox(0,"Error", " ConsoleWrite(StringRegExpReplace(StringTrimRight($sRet, 1), "(\Q[0-9A-F]{0}\E)|(\Q{1}\E)", "") & @LF) ;_ArrayDisplay($aVari) Return StringRegExpReplace(StringTrimRight($sRet, 1), "(\Q[0-9A-F]{0}\E)|(\Q{1}\E)", "") ; |(\[\]) ;Return StringTrimRight($sRet, 1) EndFunc ;==>_NotHexColorREPattern Func _GDIPlus_Bitmap_black_white01($hBitmap) ; ------------------------------------------------ color white > black > hBitmap Global $tPalette = _GDIPlus_PaletteInitialize(256,$GDIP_PaletteTypeOptimal,2,False,$hBitmap) $tPalette.ARGB((1)) = 0xFFFFFFFF $tPalette.ARGB((2)) = 0xFF000000 ;- Convert it to black and white (Removes dithering) ;Global $tPalette = _GDIPlus_PaletteInitialize(64, $GDIP_PaletteTypeFixedHalftone27, 64, False, $hBitmap) _GDIPlus_BitmapConvertFormat($hBitmap, $GDIP_PXF04INDEXED, $GDIP_DitherTypeSolid, $GDIP_PaletteTypeOptimal, $tPalette) DllCall($__g_hGDIPDll, "int", "GdipSetImagePalette", "handle", $hBitmap, "struct*", $tPalette) ;- Apply it Return $hBitmap ; ------------------------------------------------ end color white > black EndFunc Func _GDIPlus_BitmapCreateNegative($hBitmap) ; invert color Local $aDim = _GDIPlus_ImageGetDimension($hBitmap) Local $hBitmap_Neg = _GDIPlus_BitmapCreateFromScan0($aDim[0], $aDim[1]) Local $hGfx = _GDIPlus_ImageGetGraphicsContext($hBitmap_Neg) Local $hIA = _GDIPlus_ImageAttributesCreate() Local $tNegMatrix = _GDIPlus_ColorMatrixCreateNegative() Local $pNegMatrix = DllStructGetPtr($tNegMatrix) _GDIPlus_ImageAttributesSetColorMatrix($hIA, 0, True, $pNegMatrix) _GDIPlus_GraphicsDrawImageRectRect($hGfx, $hBitmap, 0, 0, $aDim[0], $aDim[1], 0, 0, $aDim[0], $aDim[1], $hIA) _GDIPlus_ImageAttributesDispose($hIA) _GDIPlus_GraphicsDispose($hGfx) Return $hBitmap_Neg EndFunc ;==>_GDIPlus_BitmapCreateNegative Func ASM64_opcode01vtmem($bytes0="102400") Local $tCodeBuffer = _DllStructCreate64("byte ASM["&$bytes0&"]") Return $tCodeBuffer EndFunc Func _DllStructCreate64($struct) ;align auf 16-byte adresse Local $temp = DllStructCreate($struct) Local $tempsize = DllStructGetSize($temp) + 64 Local $ptr = DllStructGetPtr($struct) Local $a1 = Mod(Number($ptr), 64) Local $temp = 0 Local $mem = _MemVirtualAlloc($ptr + $a1, $tempsize, $MEM_COMMIT, $PAGE_EXECUTE_READWRITE) Local $a2 = Mod(Number($mem), 64) ;rest div 16 adresse = offset Local $sstruct = DllStructCreate($struct, (Number($mem) - $a2 + 64)) Return $sstruct ;auf 16 alingned pointer EndFunc ;==>_DllStructCreate64_2 Func ASM64_color01($c0="506070",$r0=20) Local $return[10] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] $FF0000 = Dec(StringMid($c0, 5, 2)) $00FF00 = Dec(StringMid($c0, 3, 2)) $0000FF = Dec(StringMid($c0, 1, 2)) $FF0000min = $FF0000-$r0 If $FF0000min < 0 Then $FF0000min = 0 $FF0000min = Hex($FF0000min,2) Else $FF0000min = Hex($FF0000min,2) EndIf $FF0000max = $FF0000+$r0 If $FF0000max > 255 Then $FF0000max = 255 $FF0000max = Hex($FF0000max,2) Else $FF0000max = Hex($FF0000max,2) EndIf $00FF00min = $00FF00-$r0 If $00FF00min < 0 Then $00FF00min = 0 $00FF00min = Hex($00FF00min,2) Else $00FF00min = Hex($00FF00min,2) EndIf $00FF00max = $00FF00+$r0 If $00FF00max > 255 Then $00FF00max = 255 $00FF00max = Hex($00FF00max,2) Else $00FF00max = Hex($00FF00max,2) EndIf $0000FFmin = $0000FF-$r0 If $0000FFmin < 0 Then $0000FFmin = 0 $0000FFmin = Hex($0000FFmin,2) Else $0000FFmin = Hex($0000FFmin,2) EndIf $0000FFmax = $0000FF+$r0 If $0000FFmax > 255 Then $0000FFmax = 255 $0000FFmax = Hex($0000FFmax,2) Else $0000FFmax = Hex($0000FFmax,2) EndIf ; "FCFBE3" ;ConsoleWrite(" ms" & @CRLF&$FF0000min&@CRLF&$FF0000max&@CRLF&$00FF00min&@CRLF&$00FF00max&@CRLF&$0000FFmin&@CRLF&$0000FFmax&@CRLF) $return[0] = $FF0000min $return[1] = $FF0000max $return[2] = $00FF00min $return[3] = $00FF00max $return[4] = $0000FFmin $return[5] = $0000FFmax Return $return EndFunc Func ASM64_all_pixel04($iScan0="$stream[1]",$iWidth=999, $iHeight=999, $r0=20, $xr0=1, $yr0=1, $count_color0=1, $x0=0, $y0=0, $c0="506070", $x1=0, $y1=0, $c1="506070", $x2=0, $y2=0, $c2="506070", $x3=0, $y3=0, $c3="506070", $x4=0, $y4=0, $c4="506070", $x5=0, $y5=0, $c5="506070") ;$iRowOffset = ($y_min) * $iWidth+1 ; $iRowOffset = $iY * $iWidth + 1 ;$iRowOffset02 = _ReadF( ($iRowOffset + $x_min+0)*4 ,0) $op_code00 = "" ;// DllCallAddress("uint:cdecl", DllStructGetPtr($tCodeBuffer), "ptr", DllStructGetPtr($tPixelData), "ptr", DllStructGetPtr($tStruct_ARGB), "int", $iPixels) ;// ;64Bit! -> ;first 4 parameters will be saved in rcx,rdx,r8,r9 ;push rdi ;push rsi ;push rbx ;push rbp ;mov rsi,rcx // ;pointer to first pixel in memory from the bmp > address check $tPixelData ;mov rdi,rdx // ;pointer to memory from struct > address save $tStruct_ARGB ;mov rbx,r8 // ;amount of pixels > max pixel $iPixels ;mov r13,100 // address get data check pixel r13 ;// mov rax,[rsi] // address pixel memory xy ;// R11 R13 gia tri 0x0 co the dung ;// An 5x5 dimension bmp: = -2 -1 0 +1 +2 ;// X0 X1 X2 X3 X4 ;// Y0 1 2 3 4 5 ;// Y1 6 7 8 9 10 ;// Y2 11 12 13 14 15 ;// Y3 16 17 18 19 20 ;// Y4 21 22 23 24 25 ;//------------------------------------------- $op_code00 &= "57 56 53 55 48 8B F1 48 8B FA 49 8B D8 49 BD 00 01 00 00 00 00 00 00" ;----------------------------------------------------------------------------------------------------------- for loop opcode If $x0 <> 0 Then $lpmax = 1 If $x1 <> 0 Then $lpmax = 2 If $x2 <> 0 Then $lpmax = 3 If $x3 <> 0 Then $lpmax = 4 If $x4 <> 0 Then $lpmax = 5 If $x5 <> 0 Then $lpmax = 6 For $lp1 = 1 to $lpmax If $lp1 = 1 Then $x0=$x0 $y0=$y0 $c0=$c0 ElseIf $lp1 = 2 Then $x0=$x1 $y0=$y1 $c0=$c1 ElseIf $lp1 = 3 Then $x0=$x2 $y0=$y2 $c0=$c2 ElseIf $lp1 = 4 Then $x0=$x3 $y0=$y3 $c0=$c3 ElseIf $lp1 = 5 Then $x0=$x4 $y0=$y4 $c0=$c4 ElseIf $lp1 = 6 Then $x0=$x5 $y0=$y5 $c0=$c5 EndIf $x0-=1 $y0-=1 ;mov rax,1122334455667788 // address pixel memory xy rsi = default or address ;mov r11,25 // loop2 for = 1 to $25 > xr*yr ( 25 = 19 hex ) ;mov [rdi+20],0 // reset 0 count pixel x + 1 Local $iRowOffset = ($y0+0) * $iWidth+1 ; $iRowOffset = $iY * $iWidth + 1 Local $iRowOffset02 = "0x"&Hex(($iRowOffset + $x0+0)*4) $y2max = $xr0 $x2max = $yr0 ; for 1 to 25 $op_code00 &= "48 B8 "& _ReadF( "0x"&Hex( $iScan0+$iRowOffset02 , 16) ,0) &" 49 BB "&Hex($y2max*$x2max,2)&" 00 00 00 00 00 00 00 C7 47 20 00 00 00 00" ;loop2: ;cmp byte ptr [rdi+20],5-1 // count pixel max $x > 5-1 $iWidth+1 ;JB if_pixel02xy ; add rax,999*1 // +999*1 = pixel $y + 1 ; sub rax,888*1 // -4*5 = pixel $x - 5 > default x > 888*5 de lay 8 bytes ;mov [rdi+20],0 // reset 0 count pixel x + 1 ;if_pixel02xy: $y_asm2 = _ReadF( "0x"&Hex( ( ($iWidth+1)*4 )*1 , 8) ,0) $x_asm2 = _ReadF( "0x"&Hex( ( $x2max )*4, 8) ,0) ; $x > 5-1 $y + 99 09 00 00 $x - 88 08 00 00 $op_code00 &= "80 7F 20 "&Hex($x2max-1,2)&" 72 17 90 90 90 90 48 05 "&$y_asm2&" 48 2D "&$x_asm2&" C7 47 20 00 00 00 00" ;cmp byte ptr [rax+0],77 // pixel xy Opt1 > Opt2 0xFF0000 0x70 ;JNAE ifx0y0 ;cmp byte ptr [rax+0],99 // pixel xy Opt1 < Opt2 0xFF0000 0xFF ;JNBE ifx0y0 ;cmp byte ptr [rax+1],77 // pixel xy Opt1 > Opt2 0x00FF00 0x70 ;JNAE ifx0y0 ;cmp byte ptr [rax+1],99 // pixel xy Opt1 < Opt2 0x00FF00 0xFF ;JNBE ifx0y0 ;cmp byte ptr [rax+2],77 // pixel xy Opt1 > Opt2 0x0000FF 0x70 ;JNAE ifx0y0 ;cmp byte ptr [rax+2],99 // pixel xy Opt1 < Opt2 0x0000FF 0xFF ;JNBE ifx0y0 $return_c0 = ASM64_color01($c0, $r0) $FF0000min = $return_c0[0] $FF0000max = $return_c0[1] $00FF00min = $return_c0[2] $00FF00max = $return_c0[3] $0000FFmin = $return_c0[4] $0000FFmax = $return_c0[5] ; 77-3 99+3 77-3 99+3 77-3 99+3 $op_code00 &= "80 38 "&$FF0000min&" 72 44 90 90 90 90 80 38 "&$FF0000max&" 77 3B 90 90 90 90 80 78 01 "&$00FF00min&" 72 31 90 90 90 90 80 78 01 "&$00FF00max&" 77 27 90 90 90 90 80 78 02 "&$0000FFmin&" 72 1D 90 90 90 90 80 78 02 "&$0000FFmax&" 77 13 90 90 90 90" ; mov [rdi+r13+8],rax // save address pixex xy > multi check pixel CASE01 ; mov r11,1 // exit loop2 ;ifx0y0: $op_code00 &= "4A 89 44 2F "&Hex(8*$lp1,2)&" 49 BB 01 00 00 00 00 00 00 00" ;add rax,4*1 // +4*1 = pixel $x + 1 ;add [rdi+20],1 // 0 count pixel x + 1 ;sub r11,1 // loop2 next = 1 to $25 ;JA loop2 $op_code00 &= "48 83 C0 04 83 47 20 01 49 83 EB 01 77 "&"8C" Next ;----------------------------------------------------------------------------------------------------------- EndIf for loop opcode ; pop rbp ; pop rbx ; pop rsi ; pop rdi ; ret $op_code00 &= "5D 5B 5E 5F C3" ;// loop1 ;// [rdi+0] = count pixel x + 1 ;// [rdi+8] = count pixex xy ;// [rdi+4] = count pixex y + 1 ;// loop2 ;// [rdi+20] = count pixel x + 1 ;// [rdi+10] = count pixel color ;// [rdi+r13] = address get data Return $op_code00 EndFunc Func asm_all_pixel04($a_opcode_num, $on=1, $iScan0="$stream[1]", $iWidth0=999, $iHeight0=999, $r0=20, $xr0=5, $yr0=5, $count_color0=1, $xyc0="330,105,DCBB39") Local $return[10] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] $address01check = _MemoryRead6401($iScan0, $procHwnd_autoit01,'byte[8]') ; type = ( byte, float, dword, char[], byte[] ... etc ) $address01check = Dec(Hex($address01check,16)) ;MsgBox(0, "Test", "N"&$address01check) If $address01check = 0x0 Then $on=0 If $on=1 Then $vtmem_ASM64_pixel01 = $vtmem_autoitX+0x1000 ; 0x1000 $xyc0 = StringReplace($xyc0, " ", "") $mxy = StringSplit($xyc0,',',3) $max0 = (UBound($mxy)/3)-1 $num_pixel0 = 0 $x_min = Number( $mxy[(0*3)+0] ) $y_min = Number( $mxy[(0*3)+1] ) ;If $a_opcode_num = 8 Then _ArrayDisplay($mxy, "$b_train_hp02") ; test If $a_op_code[$a_opcode_num] = "" Then If $max0 = 0 Then $op_code00 = ASM64_all_pixel04($iScan0,$iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0, Number( $mxy[(0*3)+0] ), Number( $mxy[(0*3)+1] ), $mxy[(0*3)+2] ) If $max0 = 1 Then $op_code00 = ASM64_all_pixel04($iScan0,$iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0, Number( $mxy[(0*3)+0] ), Number( $mxy[(0*3)+1] ), $mxy[(0*3)+2], Number( $mxy[(1*3)+0] ), Number( $mxy[(1*3)+1] ), $mxy[(1*3)+2] ) If $max0 = 2 Then $op_code00 = ASM64_all_pixel04($iScan0,$iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0, Number( $mxy[(0*3)+0] ), Number( $mxy[(0*3)+1] ), $mxy[(0*3)+2], Number( $mxy[(1*3)+0] ), Number( $mxy[(1*3)+1] ), $mxy[(1*3)+2], Number( $mxy[(2*3)+0] ), Number( $mxy[(2*3)+1] ), $mxy[(2*3)+2] ) If $max0 = 3 Then $op_code00 = ASM64_all_pixel04($iScan0,$iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0, Number( $mxy[(0*3)+0] ), Number( $mxy[(0*3)+1] ), $mxy[(0*3)+2], Number( $mxy[(1*3)+0] ), Number( $mxy[(1*3)+1] ), $mxy[(1*3)+2], Number( $mxy[(2*3)+0] ), Number( $mxy[(2*3)+1] ), $mxy[(2*3)+2], Number( $mxy[(3*3)+0] ), Number( $mxy[(3*3)+1] ), $mxy[(3*3)+2] ) If $max0 = 4 Then $op_code00 = ASM64_all_pixel04($iScan0,$iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0, Number( $mxy[(0*3)+0] ), Number( $mxy[(0*3)+1] ), $mxy[(0*3)+2], Number( $mxy[(1*3)+0] ), Number( $mxy[(1*3)+1] ), $mxy[(1*3)+2], Number( $mxy[(2*3)+0] ), Number( $mxy[(2*3)+1] ), $mxy[(2*3)+2], Number( $mxy[(3*3)+0] ), Number( $mxy[(3*3)+1] ), $mxy[(3*3)+2], Number( $mxy[(4*3)+0] ), Number( $mxy[(4*3)+1] ), $mxy[(4*3)+2] ) If $max0 = 5 Then $op_code00 = ASM64_all_pixel04($iScan0,$iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0, Number( $mxy[(0*3)+0] ), Number( $mxy[(0*3)+1] ), $mxy[(0*3)+2], Number( $mxy[(1*3)+0] ), Number( $mxy[(1*3)+1] ), $mxy[(1*3)+2], Number( $mxy[(2*3)+0] ), Number( $mxy[(2*3)+1] ), $mxy[(2*3)+2], Number( $mxy[(3*3)+0] ), Number( $mxy[(3*3)+1] ), $mxy[(3*3)+2], Number( $mxy[(4*3)+0] ), Number( $mxy[(4*3)+1] ), $mxy[(4*3)+2], Number( $mxy[(5*3)+0] ), Number( $mxy[(5*3)+1] ), $mxy[(5*3)+2] ) If $max0 = 6 Then $op_code00 = ASM64_all_pixel04($iScan0,$iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0, Number( $mxy[(0*3)+0] ), Number( $mxy[(0*3)+1] ), $mxy[(0*3)+2], Number( $mxy[(1*3)+0] ), Number( $mxy[(1*3)+1] ), $mxy[(1*3)+2], Number( $mxy[(2*3)+0] ), Number( $mxy[(2*3)+1] ), $mxy[(2*3)+2], Number( $mxy[(3*3)+0] ), Number( $mxy[(3*3)+1] ), $mxy[(3*3)+2], Number( $mxy[(4*3)+0] ), Number( $mxy[(4*3)+1] ), $mxy[(4*3)+2], Number( $mxy[(5*3)+0] ), Number( $mxy[(5*3)+1] ), $mxy[(5*3)+2], Number( $mxy[(6*3)+0] ), Number( $mxy[(6*3)+1] ), $mxy[(6*3)+2] ) If $max0 = 7 Then $op_code00 = ASM64_all_pixel04($iScan0,$iWidth0,$iHeight0,$r0,$xr0,$yr0,$count_color0, Number( $mxy[(0*3)+0] ), Number( $mxy[(0*3)+1] ), $mxy[(0*3)+2], Number( $mxy[(1*3)+0] ), Number( $mxy[(1*3)+1] ), $mxy[(1*3)+2], Number( $mxy[(2*3)+0] ), Number( $mxy[(2*3)+1] ), $mxy[(2*3)+2], Number( $mxy[(3*3)+0] ), Number( $mxy[(3*3)+1] ), $mxy[(3*3)+2], Number( $mxy[(4*3)+0] ), Number( $mxy[(4*3)+1] ), $mxy[(4*3)+2], Number( $mxy[(5*3)+0] ), Number( $mxy[(5*3)+1] ), $mxy[(5*3)+2], Number( $mxy[(6*3)+0] ), Number( $mxy[(6*3)+1] ), $mxy[(6*3)+2], Number( $mxy[(7*3)+0] ), Number( $mxy[(7*3)+1] ), $mxy[(7*3)+2] ) $a_op_code[$a_opcode_num] = $op_code00 ElseIf $a_op_code[$a_opcode_num] <> "" Then $op_code00 = $a_op_code[$a_opcode_num] EndIf $iRowOffset = ($y_min+0) * $iWidth0+1 ; $iRowOffset = $iY * $iWidth + 1 $iRowOffset02 = "0x"&Hex(($iRowOffset + $x_min+0)*4) Local $iResult = ASM64_all_pixel04run($x_min, $y_min, $tCodeBuffer, $iScan0+$iRowOffset02, "0x"&Hex($vtmem_ASM64_pixel01,16),1, $op_code00, $max0+1) ;Local $iResult = ASM64_opcode01run($tCodeBuffer, $iScan0+$iRowOffset02, "0x"&Hex($vtmem_ASM64_pixel01,16),1, $op_code00,$Sleep0on) ;_ArrayDisplay($iResult) Return $iResult ElseIf $on=0 Then Return $return EndIf EndFunc Func ASM64_all_pixel04run($x0=0, $y0=0, $tCodeBuffer0="_DllStructCreate64", $address_pixel0=0x0, $address_check0=0x0, $address_loop0=10, $op_code00="90909090", $max0=0, $view0=0 ) Local $iResult[10] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] $check_color01 = 0 ;$tCodeBuffer = _DllStructCreate64("byte ASM[255]") ;$op_code00 = "57 56 53 55 48 8B F1 48 8B FA 49 8B D8 48 8B 06 C7 07 21 33 21 33 48 89 5F 04 48 83 EB 01 77 F0 5D 5B 5E 5F C3" ;$op_code00 = "57 56 53 55 48 8B F1 48 8B FA 49 8B D8 48 8B 06 80 3E 70 72 1A 90 90 90 90 75 14 90 90 90 90 80 3E 90 77 0B 90 90 90 90 C7 46 08 21 33 21 33 48 83 EB 01 77 DB 5D 5B 5E 5F C3" $op_code00 = StringReplace($op_code00, " ", "") $tCodeBuffer0.ASM = "0x"&$op_code00 _MemoryWrite64($address_check0+0x0, $procHwnd_autoit01, ptr(0),'byte[40]') ; reset value = 0 _MemoryWrite64($address_check0+0x100, $procHwnd_autoit01, ptr(0),'byte[400]') ; reset value = 0 If $view0=1 Then ClipPut( $check_color01&@CRLF&$address_loop0&@CRLF&DllStructGetPtr($tCodeBuffer0)&@CRLF&$address_pixel0&@CRLF&$address_check0 ) DllCallAddress("uint:cdecl", DllStructGetPtr($tCodeBuffer0), "ptr", $address_pixel0, "ptr", $address_check0, "int", $address_loop0) $get_data0 = _MemoryRead64($address_check0+0x10, $procHwnd_autoit01,'byte[4]', "Dec") ; type = ( byte, float, dword, char[], byte[] ... etc ) $xy_split01num = 0 $xy_split01 = "" ;$get_data01x = _MemoryRead6401($address_check0+0x100+0x8*1, $procHwnd_autoit01,'byte['&8*8&']') ; type = ( byte, float, dword, char[], byte[] ... etc ) ;$data_byes01 = "0xD0F6CFC6FE01000098D5CFC6FE0100005CEBCFC6FE01000000000000000000009466BEC6FE01000020B2BEC6FE01000000000000000000000000000000000000" ;$data_byes01 = $get_data01x ;$data_byes01 = StringReplace($data_byes01, "0x", "000000") ; add 01 > 00 ;$data_byes01 = $data_byes01&"0000000000" ; fix 08 ;$g_all_color01 = StringRegExp($data_byes01, '(.{2})\w{'& ( (0)*16) + 14 &'}', 3) ; '(^|)(\w{6,6})($|)' > (^|) truoc = | (\w{6,6}) = length 6 ($|) sau = | Local $g_all_color01[9] = [0, 0, 0, 0, 0, 0, 0 , 0, 0] ;$xy_split01num = $g_all_color01[1]+$g_all_color01[2]+$g_all_color01[3]+$g_all_color01[4]+$g_all_color01[5]+$g_all_color01[6]+$g_all_color01[7]+$g_all_color01[8] For $lp = 1 to $max0 $get_data0x = _MemoryRead64($address_check0+0x100+0x8*$lp, $procHwnd_autoit01,'byte[8]',"dec") ; type = ( byte, float, dword, char[], byte[] ... etc ) If $get_data0x <> 0 Then ;$get_data01x = _MemoryRead6401($address_check0+0x100+0x8*1, $procHwnd_autoit01,'byte['&8*8&']') ; type = ( byte, float, dword, char[], byte[] ... etc ) ;ConsoleWrite($get_data01x&@CRLF) ;ClipPut($get_data0x) $g_all_color01[$lp] = 1 $xy_split01num += 1 EndIf Next If $xy_split01num = $max0 Then $g_all_color01[0] = 1 If $get_data0 > 0 Then $check_color01 = $get_data0 $iResult[0] = $check_color01 $iResult[1] = $address_loop0 $iResult[2] = DllStructGetPtr($tCodeBuffer0) $iResult[3] = $address_pixel0 $iResult[4] = $address_check0 $iResult[5] = $xy_split01num $iResult[6] = $g_all_color01 Return $g_all_color01 ;push rdi ;push rsi ;push rbx ;push rbp ;mov rsi,rcx // ;pointer to first pixel in memory from the bmp > address check $tPixelData ;mov rdi,rdx // ;pointer to memory from struct > address save $tStruct_ARGB ;mov rbx,r8 // ;amount of pixels > max pixel $iPixels ;mov rax,[rsi] // address pixel memory xy ;//loop1: ;mov [rdi],33213321 ;//sub rbx,02 // for loop -2 ;//ja loop1 ;pop rbp ;pop rbx ;pop rsi ;pop rdi ;ret EndFunc ;==>ASM64_BitmapGetAverageColor