├── devil.png ├── gui2.png ├── loot ├── rune.png ├── jewel1.png ├── jewel2.png ├── flawless1.png ├── flawless2.png ├── item_hover.png ├── perfect1.png ├── perfect2.png ├── fusion_mark1.png ├── fusion_mark2.png ├── uniqe_item1.png ├── uniqe_item2.png └── item_hover_wrong.png ├── images ├── lobby.png ├── login.png ├── shank.png ├── stone.png ├── tower.png ├── exit_map.png ├── teleport.png ├── tower2.png ├── tower3.png ├── tower4.png ├── exit_map2.png ├── wilderness.png ├── entrance_map.png ├── entrance_map2.png ├── stone_teleport.png ├── debugger.ahk └── debugger.ahk.bak ├── Screenshots └── gui.png ├── Super Alpha Scripts ├── halls.png ├── test1.png ├── test2.png ├── test3.png ├── test4.png ├── halls1.png ├── halls2.png ├── hatred_exit1.png ├── hatred_exit2.png ├── halls_original.png ├── exit_halls_original.png └── working_halls_diaflowbot.ahk ├── BnetLog.txt ├── Diaflow.ini ├── Scripts ├── Travincal.ahk ├── Eldritch.ahk └── Shank.ahk ├── pickit.ahk ├── pickit.ahk.bak ├── README.md ├── Diaflow4.ahk.bak └── Diaflow4.ahk /devil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/devil.png -------------------------------------------------------------------------------- /gui2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/gui2.png -------------------------------------------------------------------------------- /loot/rune.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/loot/rune.png -------------------------------------------------------------------------------- /images/lobby.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/images/lobby.png -------------------------------------------------------------------------------- /images/login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/images/login.png -------------------------------------------------------------------------------- /images/shank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/images/shank.png -------------------------------------------------------------------------------- /images/stone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/images/stone.png -------------------------------------------------------------------------------- /images/tower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/images/tower.png -------------------------------------------------------------------------------- /loot/jewel1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/loot/jewel1.png -------------------------------------------------------------------------------- /loot/jewel2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/loot/jewel2.png -------------------------------------------------------------------------------- /Screenshots/gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/Screenshots/gui.png -------------------------------------------------------------------------------- /images/exit_map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/images/exit_map.png -------------------------------------------------------------------------------- /images/teleport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/images/teleport.png -------------------------------------------------------------------------------- /images/tower2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/images/tower2.png -------------------------------------------------------------------------------- /images/tower3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/images/tower3.png -------------------------------------------------------------------------------- /images/tower4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/images/tower4.png -------------------------------------------------------------------------------- /loot/flawless1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/loot/flawless1.png -------------------------------------------------------------------------------- /loot/flawless2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/loot/flawless2.png -------------------------------------------------------------------------------- /loot/item_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/loot/item_hover.png -------------------------------------------------------------------------------- /loot/perfect1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/loot/perfect1.png -------------------------------------------------------------------------------- /loot/perfect2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/loot/perfect2.png -------------------------------------------------------------------------------- /images/exit_map2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/images/exit_map2.png -------------------------------------------------------------------------------- /images/wilderness.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/images/wilderness.png -------------------------------------------------------------------------------- /loot/fusion_mark1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/loot/fusion_mark1.png -------------------------------------------------------------------------------- /loot/fusion_mark2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/loot/fusion_mark2.png -------------------------------------------------------------------------------- /loot/uniqe_item1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/loot/uniqe_item1.png -------------------------------------------------------------------------------- /loot/uniqe_item2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/loot/uniqe_item2.png -------------------------------------------------------------------------------- /images/entrance_map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/images/entrance_map.png -------------------------------------------------------------------------------- /images/entrance_map2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/images/entrance_map2.png -------------------------------------------------------------------------------- /images/stone_teleport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/images/stone_teleport.png -------------------------------------------------------------------------------- /loot/item_hover_wrong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/loot/item_hover_wrong.png -------------------------------------------------------------------------------- /Super Alpha Scripts/halls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/Super Alpha Scripts/halls.png -------------------------------------------------------------------------------- /Super Alpha Scripts/test1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/Super Alpha Scripts/test1.png -------------------------------------------------------------------------------- /Super Alpha Scripts/test2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/Super Alpha Scripts/test2.png -------------------------------------------------------------------------------- /Super Alpha Scripts/test3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/Super Alpha Scripts/test3.png -------------------------------------------------------------------------------- /Super Alpha Scripts/test4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/Super Alpha Scripts/test4.png -------------------------------------------------------------------------------- /Super Alpha Scripts/halls1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/Super Alpha Scripts/halls1.png -------------------------------------------------------------------------------- /Super Alpha Scripts/halls2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/Super Alpha Scripts/halls2.png -------------------------------------------------------------------------------- /Super Alpha Scripts/hatred_exit1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/Super Alpha Scripts/hatred_exit1.png -------------------------------------------------------------------------------- /Super Alpha Scripts/hatred_exit2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/Super Alpha Scripts/hatred_exit2.png -------------------------------------------------------------------------------- /Super Alpha Scripts/halls_original.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/Super Alpha Scripts/halls_original.png -------------------------------------------------------------------------------- /Super Alpha Scripts/exit_halls_original.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/floowsnaake/DiaFlow/HEAD/Super Alpha Scripts/exit_halls_original.png -------------------------------------------------------------------------------- /BnetLog.txt: -------------------------------------------------------------------------------- 1 | 7/20 13:29:07.390 Connecting to Battle.net... 2 | 7/20 13:29:07.406 querying gateway realm.median-xl.com 3 | 7/20 13:29:07.500 searching for the fastest server 4 | 7/20 13:29:07.546 Connected to server 185.170.114.73 5 | 7/20 13:29:07.562 accessing accounts 6 | 7/20 13:29:07.687 Checking for the latest version 7 | 7/20 13:29:07.858 Connected to Battle.net 8 | -------------------------------------------------------------------------------- /Diaflow.ini: -------------------------------------------------------------------------------- 1 | [Account] 2 | username= 3 | password= 4 | 5 | [Game] 6 | Game_name=farm 7 | Game_password=562 8 | Script=Eldritch 9 | 10 | [Misc] 11 | Save_log=0 12 | Auto_clear=1 13 | TP_exit=0 14 | Announce_game=0 15 | Announce_text=0 16 | New_Game_instance=0 17 | Game_path="D:\Program Files (x86)\Diablo II\Diablo II.exe" 18 | Move_window=1 19 | 20 | [Hotkeys] 21 | Loot_key=C 22 | Teleport_key=F7 23 | Portal_key=F10 24 | 25 | [Debugg] 26 | check_blink_in_join=1 27 | -------------------------------------------------------------------------------- /Scripts/Travincal.ahk: -------------------------------------------------------------------------------- 1 | 2 | Update_log("summon Blood Skeleton","") 3 | Skill("F1",4,0) 4 | Update_log("summon Night Hawks","") 5 | Skill("F2",6,0) 6 | Update_log("summon Abyss Knight","") 7 | Skill("F3",2,0) 8 | 9 | Update_log("Taking waypoint","") 10 | Sleep,300 11 | click,185, 678 ; Walk down the stairs in act 5 12 | Sleep,1850 13 | click,369, 567 ; Clicking Waypoint 14 | Sleep,600 15 | Click 260, 78 ; act 3 waypoint page 16 | Sleep,800 17 | click,62, 208 ; trav wp button 18 | Sleep,1850 19 | 20 | check_wildernes() 21 | Update_log("Travincal","") 22 | Send, {%teleporthotkey%} 23 | 24 | Teleport(991, 329) 25 | Update_log("Teleporting Altar","") 26 | Teleport(991, 329) 27 | 28 | pick_item() 29 | 30 | #Include Diaflow4.ahk 31 | #Include pickit.ahk -------------------------------------------------------------------------------- /Scripts/Eldritch.ahk: -------------------------------------------------------------------------------- 1 | 2 | Update_log("summon Blood Skeleton","") 3 | Skill("F1",4,0) 4 | Update_log("summon Night Hawks","") 5 | Skill("F2",6,0) 6 | Update_log("summon Abyss Knight","") 7 | Skill("F3",2,0) 8 | 9 | Update_log("Taking waypoint","") 10 | Sleep,300 11 | click,185, 678 ; Walk down the stairs in act 5 12 | Sleep,1850 13 | click,369, 567 ; Clicking Waypoint 14 | Sleep,1850 15 | Click 150, 210 ; Frigid Land waypoint button 16 | Sleep,300 17 | 18 | check_wildernes() 19 | Update_log("Frigid Highlands","") 20 | Send, {%teleporthotkey%} 21 | 22 | Teleport(450, 39) 23 | Update_log("Teleport Eldritch","") 24 | Teleport(450, 39) 25 | Teleport(490, 83) 26 | Skill("F2",6,1) 27 | Skill("F1",4,0) 28 | Send, {%teleporthotkey%} 29 | Sleep, 1000 30 | pick_item() 31 | Send, {%teleporthotkey%} 32 | Teleport(450, 39) 33 | Teleport(450, 39) 34 | Skill("F2",6,1) 35 | pick_item() 36 | 37 | #Include Diaflow4.ahk 38 | #Include pickit.ahk -------------------------------------------------------------------------------- /Scripts/Shank.ahk: -------------------------------------------------------------------------------- 1 | 2 | Update_log("summon Blood Skeleton","") 3 | Skill("F1",4,0) 4 | Update_log("summon Night Hawks","") 5 | Skill("F2",6,0) 6 | Update_log("summon Abyss Knight","") 7 | Skill("F3",2,0) 8 | 9 | Update_log("Taking waypoint","") 10 | Sleep,300 11 | click,185, 678 ; Walk down the stairs in act 5 12 | Sleep,1850 13 | click,369, 567 ; Clicking Waypoint 14 | Sleep,1850 15 | Click 150, 210 ; Frigid Land waypoint button 16 | Sleep,300 17 | 18 | check_wildernes() 19 | Update_log("Frigid Highlands","") 20 | Send, {%teleporthotkey%} 21 | 22 | Teleport(904, 394) 23 | Teleport(831, 643) 24 | Update_log("Teleporting Shank","") 25 | Teleport(725, 638) 26 | Teleport(951, 609) 27 | Teleport(951, 609) 28 | Skill("F2",6,1) 29 | Teleport(951, 609) 30 | 31 | Loop 32 | { 33 | ImageSearch, FoundX, FoundY, 265, 392, 785, 701, *11 %image_dir%/shank.png ;if shank boss is near/alive 34 | 35 | If ErrorLevel = 1 36 | { 37 | Update_log("Shank died","") 38 | Sleep,2000 39 | break 40 | } 41 | } 42 | 43 | 44 | #Include Diaflow4.ahk 45 | -------------------------------------------------------------------------------- /images/debugger.ahk: -------------------------------------------------------------------------------- 1 | IF NOT A_IsAdmin 2 | { 3 | Run *RunAs "%A_ScriptFullPath%" 4 | ExitApp 5 | } 6 | 7 | #SingleInstance,Force 8 | 9 | CoordMode, Mouse, Client 10 | CoordMode, Pixel, Client 11 | CoordMode, ToolTip, Client 12 | 13 | SetWorkingDir, %A_ScriptDir% 14 | 15 | 16 | x:: 17 | 18 | 19 | Loop 20 | { 21 | Check_exit() 22 | } 23 | return 24 | 25 | 26 | Check_exit() 27 | { 28 | 29 | IF (found = 1) 30 | { 31 | MsgBox outside entrance 32 | } 33 | 34 | ImageSearch, FoundX, FoundY, 11, 26, 1023, 651, *70 *Trans0x7C7470 C:\Users\snowflake\Documents\GitHub\DiaFlow\images\tower.png 35 | If ErrorLevel = 0 36 | { 37 | found = 1 38 | } 39 | 40 | ImageSearch, FoundX, FoundY, 11, 26, 1023, 651, *70 *Trans0x7C7470 C:\Users\snowflake\Documents\GitHub\DiaFlow\images\tower2.png 41 | If ErrorLevel = 0 42 | { 43 | found = 1 44 | } 45 | 46 | ImageSearch, FoundX, FoundY, 11, 26, 1023, 651, *70 *Trans0x7C7470 C:\Users\snowflake\Documents\GitHub\DiaFlow\images\tower3.png 47 | If ErrorLevel = 0 48 | { 49 | found = 1 50 | } 51 | 52 | ImageSearch, FoundX, FoundY, 11, 26, 1023, 651, *70 *Trans0x7C7470 C:\Users\snowflake\Documents\GitHub\DiaFlow\images\tower4.png 53 | If ErrorLevel = 0 54 | { 55 | found = 1 56 | } 57 | 58 | ImageSearch, FoundX, FoundY, 11, 26, 1023, 651, *70 *Trans0x7C7470 C:\Users\snowflake\Documents\GitHub\DiaFlow\images\entrance_map.png 59 | If ErrorLevel = 0 60 | { 61 | Click, %FoundX%, %FoundY% right, 1 62 | 63 | Click down 64 | Sleep 3000 65 | Click up 66 | 67 | } 68 | 69 | ImageSearch, FoundX, FoundY, 11, 26, 1023, 651, *50 *Trans0x7C7470 C:\Users\snowflake\Documents\GitHub\DiaFlow\images\entrance_map2.png 70 | If ErrorLevel = 0 71 | { 72 | 73 | Click, %FoundX%, %FoundY% right, 1 74 | 75 | Click down 76 | Sleep 3000 77 | Click up 78 | } 79 | 80 | 81 | 82 | ImageSearch, FoundX, FoundY, 777, 719, 862, 792, *11 %A_ScriptDir%\images\teleport.png 83 | If ErrorLevel = 0 84 | { 85 | Sleep,100 86 | Click Right 87 | Sleep,400 88 | } 89 | 90 | } 91 | return 92 | 93 | -------------------------------------------------------------------------------- /images/debugger.ahk.bak: -------------------------------------------------------------------------------- 1 | IF NOT A_IsAdmin 2 | { 3 | Run *RunAs "%A_ScriptFullPath%" 4 | ExitApp 5 | } 6 | 7 | #SingleInstance,Force 8 | 9 | CoordMode, Mouse, Client 10 | CoordMode, Pixel, Client 11 | CoordMode, ToolTip, Client 12 | 13 | SetWorkingDir, %A_ScriptDir% 14 | 15 | 16 | x:: 17 | 18 | 19 | Loop 20 | { 21 | Check_exit() 22 | } 23 | return 24 | 25 | 26 | Check_exit() 27 | { 28 | 29 | IF (found = 1) 30 | { 31 | MsgBox outside entrance 32 | } 33 | 34 | ImageSearch, FoundX, FoundY, 11, 26, 1023, 651, *70 *Trans0x7C7470 C:\Users\snowflake\Documents\GitHub\DiaFlow\images\tower.png 35 | If ErrorLevel = 0 36 | { 37 | found = 1 38 | } 39 | 40 | ImageSearch, FoundX, FoundY, 11, 26, 1023, 651, *70 *Trans0x7C7470 C:\Users\snowflake\Documents\GitHub\DiaFlow\images\tower2.png 41 | If ErrorLevel = 0 42 | { 43 | found = 1 44 | } 45 | 46 | ImageSearch, FoundX, FoundY, 11, 26, 1023, 651, *70 *Trans0x7C7470 C:\Users\snowflake\Documents\GitHub\DiaFlow\images\tower.png 47 | If ErrorLevel = 0 48 | { 49 | found = 1 50 | } 51 | 52 | ImageSearch, FoundX, FoundY, 11, 26, 1023, 651, *70 *Trans0x7C7470 C:\Users\snowflake\Documents\GitHub\DiaFlow\images\tower2.png 53 | If ErrorLevel = 0 54 | { 55 | found = 1 56 | } 57 | 58 | ImageSearch, FoundX, FoundY, 11, 26, 1023, 651, *70 *Trans0x7C7470 C:\Users\snowflake\Documents\GitHub\DiaFlow\images\entrance_map.png 59 | If ErrorLevel = 0 60 | { 61 | Click, %FoundX%, %FoundY% right, 1 62 | 63 | Click down 64 | Sleep 3000 65 | Click up 66 | 67 | } 68 | 69 | ImageSearch, FoundX, FoundY, 11, 26, 1023, 651, *50 *Trans0x7C7470 C:\Users\snowflake\Documents\GitHub\DiaFlow\images\entrance_map2.png 70 | If ErrorLevel = 0 71 | { 72 | 73 | Click, %FoundX%, %FoundY% right, 1 74 | 75 | Click down 76 | Sleep 3000 77 | Click up 78 | } 79 | 80 | 81 | 82 | ImageSearch, FoundX, FoundY, 777, 719, 862, 792, *11 %A_ScriptDir%\images\teleport.png 83 | If ErrorLevel = 0 84 | { 85 | Sleep,100 86 | Click Right 87 | Sleep,400 88 | } 89 | 90 | } 91 | return 92 | 93 | -------------------------------------------------------------------------------- /pickit.ahk: -------------------------------------------------------------------------------- 1 | 2 | MsgBox run Diaflow4 this is only a functions script! 3 | 4 | pick_item(){ 5 | Send,{%loothotkey% down} 6 | Sleep,400 7 | 8 | ;~ Search_for_loot("perfect1") 9 | ;~ Search_for_loot("perfect2") 10 | Search_for_loot("uniqe_item1") 11 | Search_for_loot("uniqe_item2") 12 | ;~ Search_for_loot("fusion_mark1") 13 | ;~ Search_for_loot("fusion_mark2") 14 | Search_for_loot("rune") 15 | ;~ Search_for_loot("jewel1") 16 | ;~ Search_for_loot("jewel2") 17 | Search_for_loot("flawless1") 18 | Search_for_loot("flawless2") 19 | 20 | Sleep,300 21 | send, {%loothotkey% up} 22 | send, {%loothotkey% down} 23 | send, {%loothotkey% 3} 24 | } 25 | return 26 | 27 | 28 | 29 | Search_for_loot(image){ 30 | Global 31 | 32 | pick_up_name = 33 | 34 | IF (image = "uniqe_item1" OR "uniqe_item2") 35 | { 36 | pick_up_name = "Uniqe item" 37 | } 38 | IF (image = "fusion_mark1" OR "fusion_mark2") 39 | { 40 | pick_up_name = "Mark of Infusion" 41 | } 42 | IF (image = "rune") 43 | { 44 | pick_up_name = "Rune" 45 | } 46 | IF (image = "flawless1" OR "flawless2") 47 | { 48 | pick_up_name = "Flawless Gem" 49 | } 50 | IF (image = "perfect1" OR "perfect2") 51 | { 52 | pick_up_name = Perfect Gem 53 | } 54 | IF (image = "jewel1" OR "jewel2") 55 | { 56 | pick_up_name = jewel 57 | } 58 | 59 | loop,2 60 | { 61 | 62 | 63 | ImageSearch, FoundX, FoundY, 5, 78, 1012, 629, *54 %A_ScriptDir%/loot/%image%.png 64 | If ErrorLevel = 0 65 | { 66 | FoundX += 10 67 | Foundy += 10 68 | MouseMove, %FoundX%, %FoundY% 69 | Sleep,200 70 | 71 | ImageSearch, FoundX, FoundY, 29, 107, 1008, 636, %A_ScriptDir%/loot/item_hover.png 72 | If ErrorLevel = 0 73 | { 74 | 75 | /* 76 | ImageSearch, FoundX, FoundY, 29, 107, 1008, 636,%A_ScriptDir%/loot/item_hover_wrong.png 77 | If ErrorLevel = 0 78 | { 79 | 80 | IF (image = "jewel1" OR "jewel2") 81 | { 82 | ; ToolTip %pick_up_name% %image% 83 | goto,Skip_pickup 84 | return 85 | } 86 | 87 | } 88 | */ 89 | 90 | Found++ 91 | Update_log("Found ",pick_up_name) 92 | GuiControl,,Gui_loot,%Found% 93 | click 94 | Sleep,100 95 | MouseMove,%Foundx%,%Foundy%+30 96 | Sleep,1600 97 | Skip_pickup: 98 | 99 | 100 | } 101 | 102 | 103 | 104 | } 105 | } 106 | 107 | 108 | 109 | 110 | 111 | 112 | } 113 | return 114 | 115 | #Include, Diaflow4.ahk -------------------------------------------------------------------------------- /pickit.ahk.bak: -------------------------------------------------------------------------------- 1 | 2 | MsgBox run Diaflow4 this is only a functions script! 3 | 4 | pick_item(){ 5 | Send,{%loothotkey% down} 6 | Sleep,400 7 | 8 | Search_for_loot("perfect1") 9 | Search_for_loot("perfect2") 10 | Search_for_loot("uniqe_item1") 11 | Search_for_loot("uniqe_item2") 12 | ;~ Search_for_loot("fusion_mark1") 13 | ;~ Search_for_loot("fusion_mark2") 14 | Search_for_loot("rune") 15 | ;~ Search_for_loot("jewel1") 16 | ;~ Search_for_loot("jewel2") 17 | Search_for_loot("flawless1") 18 | Search_for_loot("flawless2") 19 | 20 | Sleep,300 21 | send, {%loothotkey% up} 22 | send, {%loothotkey% down} 23 | send, {%loothotkey% 3} 24 | } 25 | return 26 | 27 | 28 | 29 | Search_for_loot(image){ 30 | Global 31 | 32 | pick_up_name = 33 | 34 | IF (image = "uniqe_item1" OR "uniqe_item2") 35 | { 36 | pick_up_name = "Uniqe item" 37 | } 38 | IF (image = "fusion_mark1" OR "fusion_mark2") 39 | { 40 | pick_up_name = "Mark of Infusion" 41 | } 42 | IF (image = "rune") 43 | { 44 | pick_up_name = "Rune" 45 | } 46 | IF (image = "flawless1" OR "flawless2") 47 | { 48 | pick_up_name = "Flawless Gem" 49 | } 50 | IF (image = "perfect1" OR "perfect2") 51 | { 52 | pick_up_name = Perfect Gem 53 | } 54 | IF (image = "jewel1" OR "jewel2") 55 | { 56 | pick_up_name = jewel 57 | } 58 | 59 | loop,2 60 | { 61 | 62 | 63 | ImageSearch, FoundX, FoundY, 5, 78, 1012, 629, *54 %A_ScriptDir%/loot/%image%.png 64 | If ErrorLevel = 0 65 | { 66 | FoundX += 10 67 | Foundy += 10 68 | MouseMove, %FoundX%, %FoundY% 69 | Sleep,200 70 | 71 | ImageSearch, FoundX, FoundY, 29, 107, 1008, 636, %A_ScriptDir%/loot/item_hover.png 72 | If ErrorLevel = 0 73 | { 74 | 75 | /* 76 | ImageSearch, FoundX, FoundY, 29, 107, 1008, 636,%A_ScriptDir%/loot/item_hover_wrong.png 77 | If ErrorLevel = 0 78 | { 79 | 80 | IF (image = "jewel1" OR "jewel2") 81 | { 82 | ; ToolTip %pick_up_name% %image% 83 | goto,Skip_pickup 84 | return 85 | } 86 | 87 | } 88 | */ 89 | 90 | Found++ 91 | Update_log("Found ",pick_up_name) 92 | GuiControl,,Gui_loot,%Found% 93 | click 94 | Sleep,100 95 | MouseMove,%Foundx%,%Foundy%+30 96 | Sleep,1600 97 | Skip_pickup: 98 | 99 | 100 | } 101 | 102 | 103 | 104 | } 105 | } 106 | 107 | 108 | 109 | 110 | 111 | 112 | } 113 | return 114 | 115 | #Include, Diaflow4.ahk -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Go to 2 | 3 | https://github.com/floowsnaake/DiaFlow/tree/master/Super%20Alpha%20Scripts 4 | 5 | 6 | ^ the link above is a stand alone from the main Diaflow bot! it will be integrated into the main bot soon but its still workin preogrress! 7 | this is the folder i currently use as a drop of for my scripts shown on youtube 8 | 9 | 10 | # DiaFlow a Diablo 2 Median XL bot 11 | no Memory injection or editing of the game uses pixel and image manipulation, bot written in Autohtokey 12 | 13 | Can work on normal diablo 2 if heavily edited 14 | 15 | Quick and dirty how to use: 16 | 1. Edit Diaflow.ini to make sure that the username and password is correct and also that the game.exe/diablo 2 path is correct. 17 | 2. Edit the Diaflow4.ahk to include the script you want to run/use. 18 | 3. Download https://www.autohotkey.com/ and install it then double click the file 'Diaflow4.ahk' 19 | 4. press Run. 20 | 5. Press CTRL + ESC to exit the bot or close the window. 21 | 22 | Github Views: 23 | [![HitCount](http://hits.dwyl.com/FloowSnaake/floowsnaake/DiaFlow.svg)](http://hits.dwyl.com/FloowSnaake/floowsnaake/DiaFlow) 24 | 25 | 26 | Youtube link: 27 | https://www.youtube.com/watch?v=L4KQGYtyBao 28 | 29 | 30 | Old GUI/script verion in picture: 31 | 32 | [![IMAGE ALT TEXT HERE](https://github.com/floowsnaake/DiaFlow/blob/master/Screenshots/gui.png)] 33 | 34 | 35 | Diablo II Median XL bot work in progess i upload here to keep track/organize my files 36 | 37 | 38 | current thing the bot can do the fallowing: 39 | 40 | 41 | Works: 42 | ------ 43 | 44 | * Picks up, Runes,Prefect gems/skull,uniqe items,flawless gems/skull | its buggy someitimes misses things 45 | * Auto opens Teleport when game/kill is over/done. 46 | * Auto messages/says game info in chat when leaves the game. 47 | * logs info to a file. 48 | * shows info in listview. 49 | * reads info from settings file. 50 | * Scripts within the bot so you can customize your own scripts/edit your runs 51 | * use skills 52 | 53 | 54 | Todo: 55 | ------ 56 | * read like a ini file. - now got a working ini file but some keys are not enabled/work 57 | * more scripts to do more famring places - external script support is now working but buggy 58 | * Teleport to pick up loot instead of walking to the loot/it sometimes misses the loot becuses it cant walk direcrtly to it. 59 | * add jewels to the loot filter 60 | * make the loot filter easier to edit 61 | * make the loot filter better by fine tuning the loot it pick up 62 | * auto cube gems and runes as an option 63 | 64 | buggs: 65 | ------ 66 | * improve the loot filter 67 | * still a problem with the correct loot not showing up in the status/logg files but it pick up the loot 68 | * 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /Super Alpha Scripts/working_halls_diaflowbot.ahk: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | 4 | todays date as it was finished: 2020-12-15 (tuedsay) -03:45 night time 5 | 6 | 7 | Start the bot in Halls of pain standing on the Waypoint with map revealed (Press R key to show the full map) and then make the map open/show the mini map (so the bot can see the map). 8 | 9 | make sure that the pictures/images are in the same folder as the bot script 10 | 11 | make sure thet you run the script as admin and that you use a teleport as skill (ONLY TESTED WITH A BLINK STAFF!) 12 | 13 | 14 | 15 | 16 | */ 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | IF NOT A_IsAdmin 28 | { 29 | Run *RunAs "%A_ScriptFullPath%" 30 | ExitApp 31 | } 32 | 33 | #SingleInstance,Force 34 | 35 | CoordMode, Mouse, Client 36 | CoordMode, Pixel, Client 37 | CoordMode, ToolTip, Client 38 | 39 | 40 | SetWorkingDir, %A_ScriptDir% 41 | 42 | Global first_time 43 | 44 | Global winCenterX 45 | 46 | Global winCenterY 47 | Global targetX 48 | Global targetY 49 | 50 | Global winW 51 | Global WinH 52 | 53 | x1 := 0 54 | y1 := 0 55 | x2 := winW 56 | y2 := winH 57 | 58 | winCenterX := winW/2 59 | winCenterY := winH/2 60 | 61 | Global saw_one_time 62 | Global notfound 63 | Global times 64 | global first_move 65 | Global message 66 | global loot 67 | 68 | first_move = 1 69 | 70 | 71 | Gui 1:Default 72 | Gui, +AlwaysOnTop 73 | Gui, Add, ListView,x6 y6 w355 h355 ReadOnly NoSortHdr grid, Time|Debug Info 74 | Gui, Add, text,, Exit Mode: 75 | Gui, Add, Pic, w60 h60 vpic_get, 76 | Gui, Add, Button,gtest,test 77 | 78 | 79 | LV_ModifyCol(1,65) 80 | LV_ModifyCol(2,210) 81 | LV_ModifyCol(3,80) 82 | 83 | gui,show,, Map Debugger | Diaflow 4 84 | 85 | return 86 | 87 | 88 | x:: 89 | test: 90 | first_time = 1 91 | WinActivate, Diablo II 92 | WinWaitActive, Diablo II 93 | 94 | 95 | WinGetPos, winTopL_x, winTopL_y, width, height,Diablo II 96 | winCenter_x := winTopL_x + width/2 97 | winCenter_y := winTopL_y + height/2 98 | 99 | 100 | search: 101 | Loop 102 | { 103 | taco++ 104 | IF (A_Index = 5) 105 | { 106 | taco = 1 107 | } 108 | 109 | GuiControl,, pic_get, test%taco%.png 110 | ImageSearch, targetx, targety, 11, 26, 1023, 651, *51 test%taco%.png 111 | 112 | 113 | 114 | If ErrorLevel = 0 115 | { 116 | 117 | found_exit = 1 118 | 119 | Loop 120 | { 121 | 122 | IF (found_exit = 1) 123 | { 124 | 125 | Click %winCenter_x%, %targety% 126 | Sleep,100 127 | MouseMove, %targetx%, %targety%, 3 128 | click Down 129 | Sleep,300 130 | click, right 131 | ToolTip, %timex% 132 | timex++ 133 | 134 | IF (timex = 7) 135 | { 136 | taco = 1 137 | timex = 0 138 | found_exit = 0 139 | 140 | send, {tab} 141 | Sleep,500 142 | send, {tab} 143 | Sleep,500 144 | 145 | Check_exit_closenes() 146 | 147 | goto,search 148 | } 149 | 150 | } 151 | 152 | } 153 | 154 | } 155 | 156 | 157 | If ErrorLevel = 1 158 | { 159 | goto, move_map 160 | } 161 | 162 | } 163 | return 164 | 165 | move_map: 166 | { 167 | 168 | send, {tab} 169 | Sleep,500 170 | send, {tab} 171 | Sleep,500 172 | 173 | IF (first_move = 1) 174 | { 175 | Move_the_map("Up") 176 | first_move = 2 177 | goto,search 178 | return 179 | } 180 | 181 | IF (first_move = 2) 182 | { 183 | Move_the_map("Right") 184 | first_move = 3 185 | goto,search 186 | return 187 | } 188 | 189 | IF (first_move = 3) 190 | { 191 | Move_the_map("Down") 192 | first_move = 4 193 | goto,search 194 | return 195 | } 196 | 197 | IF (first_move = 4) 198 | { 199 | Move_the_map("Left") 200 | first_move = 1 201 | goto,search 202 | return 203 | } 204 | 205 | } 206 | return 207 | 208 | 209 | Check_exit_closenes(){ 210 | ToolTip, Checking if close to exit,0,0 211 | GuiControl,, pic_get, halls.png 212 | ImageSearch, x, y, 11, 26, 1023, 651, *110 halls.png 213 | 214 | If ErrorLevel = 0 215 | { 216 | MouseMove,%x%,%y% 217 | Sleep,5100 218 | click, Right 219 | Sleep,1000 220 | click 3 221 | ToolTip, player close to the exit!! 222 | Sleep,2000 223 | 224 | ToolTip, in exit mode 225 | Sleep,1000 226 | send, {tab} 227 | Sleep,1000 228 | 229 | ImageSearch, x2, y2, 11, 26, 1023, 651, *110 halls1.png 230 | GuiControl,, pic_get, halls1.png 231 | If ErrorLevel = 0 232 | { 233 | y2+=20 234 | ToolTip, found exit place 1 235 | MouseMove,%x2%,%y2% 236 | Sleep,1500 237 | Click 238 | Sleep,2000 239 | } 240 | 241 | ImageSearch, x3, y3, 11, 26, 1023, 651, *110 halls2.png 242 | GuiControl,, pic_get, halls2.png 243 | If ErrorLevel = 0 244 | { 245 | ToolTip, found exit place 2 246 | y3+=20 247 | MouseMove,%x3%,%y3% 248 | Sleep,1500 249 | Click 250 | Sleep,2000 251 | } 252 | 253 | } 254 | } 255 | return 256 | 257 | 258 | 259 | 260 | Move_the_map(Dir) 261 | { 262 | global 263 | ToolTip moving map, Dir,0 264 | Send, {%Dir% 12} 265 | Sleep,300 266 | } 267 | return 268 | 269 | Update_log(message,loot){ 270 | Global 271 | Date_time = [%A_Hour%:%A_min%:%A_Sec%] 272 | 273 | LV_Add("", Date_time,message,loot) 274 | GC:=LV_GetCount() 275 | LV_Modify(LV_GetCount(), "Vis") 276 | } 277 | return 278 | 279 | 280 | esc:: 281 | ExitApp 282 | return 283 | -------------------------------------------------------------------------------- /Diaflow4.ahk.bak: -------------------------------------------------------------------------------- 1 | IF NOT A_IsAdmin 2 | { 3 | Run *RunAs "%A_ScriptFullPath%" 4 | ExitApp 5 | } 6 | 7 | #SingleInstance,Force 8 | 9 | CoordMode, Mouse, Client 10 | CoordMode, Pixel, Client 11 | CoordMode, ToolTip, Client 12 | 13 | SetWorkingDir, %A_ScriptDir% 14 | 15 | image_dir = %A_ScriptDir%\images 16 | 17 | Global Found 18 | Global runs 19 | Global blinks 20 | Global times 21 | Global log_date 22 | Global game 23 | Global gamePassword 24 | Global Game_name_output 25 | Global Game_password_output 26 | Global Debugg_logg 27 | Global logg_it 28 | Global New_diablo 29 | Global Say_next_game 30 | Global pick_up_name 31 | Global image 32 | Global say_text 33 | Global Hotkeys 34 | Global game_dir 35 | Global acc_name 36 | Global acc_password 37 | Global loothotkey 38 | Global teleporthotkey 39 | Global Clear_view 40 | Global portalhotkey 41 | Global current_script 42 | Global move_gui 43 | Global blink_check 44 | 45 | runs = 1 46 | 47 | Round_two = 0 48 | 49 | IfExist,Diaflow.ini 50 | { 51 | 52 | ; account 53 | IniRead, acc_name,Diaflow.ini,Account,username 54 | IniRead, acc_password, Diaflow.ini, Account,password 55 | 56 | ; game 57 | IniRead, Game_name_output, Diaflow.ini, Game,Game_name 58 | IniRead, Game_password_output, Diaflow.ini, Game,Game_password 59 | IniRead, current_script, Diaflow.ini, Game,Script 60 | 61 | ; Misc 62 | IniRead, logg_it, Diaflow.ini, Misc,save_log 63 | IniRead, Clear_view, Diaflow.ini, Misc,Auto_clear 64 | IniRead, TP_on_exit, Diaflow.ini, Misc,TP_exit 65 | IniRead, Say_next_game, Diaflow.ini, Misc,Announce_game 66 | IniRead, say_text, Diaflow.ini, Misc,Announce_text 67 | IniRead, game_dir, Diaflow.ini, Misc,Game_path 68 | IniRead, New_diablo, Diaflow.ini, Misc,New_Game_instance 69 | IniRead, move_gui, Diaflow.ini, Misc,Move_window 70 | 71 | ; Hotkeys 72 | IniRead, loothotkey, Diaflow.ini, Hotkeys,Loot_key 73 | IniRead, teleporthotkey, Diaflow.ini, Hotkeys,Teleport_key 74 | IniRead, portalhotkey, Diaflow.ini, Hotkeys,Portal_key 75 | 76 | ; Debugging 77 | IniRead, blink_check, Diaflow.ini, Debugg,check_blink_in_join 78 | 79 | 80 | 81 | } 82 | 83 | 84 | 85 | Gui, +AlwaysOnTop 86 | Gui, Add, ListView,x6 y6 w355 h355 ReadOnly NoSortHdr grid, Time|Status|Loot 87 | 88 | 89 | Gui, Add, text,x0,Game Name: 90 | Gui, Add, text, ReadOnly x3 w100,%Game_name_output% 91 | 92 | Gui, Add, text,x0,Game Password: 93 | Gui, Add, text, ReadOnly x3 w100,%Game_password_output% 94 | 95 | 96 | Gui, Add, Button,gStart w90 x3 y479,Run 97 | 98 | Gui, Add, Button,gRun_ini w90 x110 y479,Config INI 99 | 100 | Gui, Add, Button,gRun_script_folder w90 x210 y479,Script Folder 101 | 102 | Gui, Add, Picture,x300 y425 ,devil.png 103 | 104 | Gui, Add, text,x106 y368,Total Loot found: 105 | Gui, Add, text,x189 y368 vGui_loot,0 106 | 107 | Gui, Add, text,x210 y368,Current Game: 108 | Gui, Add, text,x280 y368 cblue vGui_game_name w100, 109 | 110 | LV_ModifyCol(1,65) 111 | LV_ModifyCol(2,210) 112 | LV_ModifyCol(3,80) 113 | 114 | Gui, Add, link,x3 y451,Github Link 115 | 116 | Gui, Add, link,x64 y451,Youtube Link 117 | 118 | Gui, Show, w373 h510, Diaflow v4 Floowsnaake 119 | return 120 | 121 | Run_script_folder: 122 | Run explorer Scripts 123 | return 124 | 125 | Run_ini: 126 | Run Diaflow.ini 127 | return 128 | 129 | GuiClose: 130 | ExitApp 131 | return 132 | 133 | start: 134 | gui,submit 135 | Gui, Show,w373 h510, [RUNNING] Diaflow v4 Floowsnaake 136 | 137 | IF (move_gui = 1) 138 | { 139 | WinMove,[RUNNING] Diaflow v4 Floowsnaake ,,1479,121 140 | } 141 | 142 | 143 | IF (New_diablo = 0) 144 | { 145 | Process, Exist, game.exe 146 | If !ErrorLevel ; is not running 147 | { 148 | MsgBox Diablo II is not running game.exe error 149 | ExitApp 150 | } 151 | 152 | 153 | } 154 | 155 | 156 | IF (New_diablo = 1) 157 | { 158 | Start_login() 159 | } 160 | 161 | restartnig: 162 | 163 | 164 | Blinks = 165 | Alredy_run = 0 166 | 167 | game = %Game_name_output% 168 | gamePassword = %Game_password_output% 169 | 170 | GuiControl,,Gui_game_name,%game%-%runs% 171 | 172 | Sleep,2000 173 | Loop 174 | { 175 | ImageSearch, FoundX, FoundY, 667, 587, 709, 602, *11 %A_ScriptDir%\images\lobby.png 176 | If ErrorLevel = 0 177 | { 178 | Update_log("Creating " game "-" runs " " gamePassword,"") 179 | 180 | Click, %FoundX%, %FoundY% Left, 1 181 | Sleep,4000 182 | Click 183 | Sleep,2800 184 | ;game name 185 | SendInput,%game%-%runs% 186 | Sleep,400 187 | send, {tab} 188 | Sleep,100 189 | Send, %gamePassword% 190 | Sleep,1200 191 | Update_log("Joining...","") 192 | Send, {enter} ; to create game 193 | break 194 | } 195 | 196 | } 197 | ;check if ingame: 198 | 199 | IF (blink_check = 0) 200 | { 201 | ToolTip,Waiting until in game 5 sec,0,0 202 | Sleep,5000 203 | Update_log("Successfully Joined","") 204 | } 205 | 206 | 207 | IF (blink_check = 1) 208 | { 209 | Loop 210 | { 211 | ImageSearch, FoundX, FoundY, 777, 719, 862, 792, *11 %A_ScriptDir%\images\teleport.png ; if in game 212 | If ErrorLevel = 0 213 | { 214 | Update_log("Successfully Joined","") 215 | Sleep,2000 216 | break 217 | } 218 | 219 | 220 | } 221 | } 222 | 223 | ;======================================= 224 | ; place for scripts 225 | ;======================================== 226 | 227 | #Include, %A_ScriptDir%/Scripts/Shank.ahk 228 | 229 | ;=================================== 230 | 231 | Send, {%teleporthotkey%} 232 | 233 | 234 | pick_item() 235 | 236 | 237 | Sleep,500 238 | 239 | IF (TP_on_exit = 1) 240 | { 241 | send, {%portalhotkey%} 242 | Sleep,600 243 | MouseMove,519, 382 244 | Sleep,700 245 | Update_log("TP made","") 246 | click right 247 | Sleep,900 248 | send, {%teleporthotkey%} 249 | Sleep,900 250 | 251 | } 252 | 253 | IF (Say_next_game = 1) 254 | { 255 | Sleep,200 256 | send, {enter} 257 | Sleep,700 258 | Next_game := runs + 1 259 | say_text = Next: %game%-%Next_game% %gamePassword% 260 | SendInput,%say_text% 261 | Sleep,700 262 | Update_log("Next Game announced","") 263 | send, {enter} 264 | Sleep,2000 265 | } 266 | 267 | Update_log("Leaving Game","") 268 | click,602, 738 ;bring up exit 269 | Sleep,1300 270 | send, {down 4} ; down to map 271 | Sleep,900 272 | 273 | send, {up} ; up to exit menu 274 | Sleep,900 275 | send, {enter} ; press exit game 276 | 277 | IF (Clear_view = 1) 278 | { 279 | LV_Delete() ; delete all rows in listview 280 | 281 | LV_ModifyCol(1,65) 282 | LV_ModifyCol(2,210) 283 | LV_ModifyCol(3,80) 284 | } 285 | 286 | MouseMove,100,100 287 | 288 | Sleep,2300 289 | MouseMove,100,100 290 | Round_two = 1 291 | runs++ 292 | Update_log("Next Game " game "-" runs " " gamePassword,"") 293 | goto, restartnig 294 | return 295 | 296 | 297 | /* 298 | ============================================================================================ 299 | == FUNCTIONS == 300 | == == 301 | ============================================================================================ 302 | 303 | */ 304 | 305 | 306 | Start_login() 307 | { 308 | Update_log("Starting game.exe","") 309 | run,%game_dir% -w -skiptobnet 310 | WinActivate,Diablo II 311 | WinWaitActive,Diablo II 312 | 313 | Loop 314 | { 315 | ImageSearch, FoundX, FoundY, 357, 642, 689, 739, *4 %A_ScriptDir%\images\login.png ; in login screen 316 | 317 | If ErrorLevel =1 318 | { 319 | Sleep,1400 320 | } 321 | 322 | If ErrorLevel = 0 323 | { 324 | Update_log("Logging in...","") 325 | Sleep,2000 326 | send, {tab} 327 | SendInput,%acc_name% 328 | Sleep,300 329 | send, {tab} 330 | Sleep,300 331 | SendInput,%acc_password% 332 | Sleep,300 333 | Send,{enter} 334 | Sleep,2200 335 | send, {enter} 336 | Sleep,600 337 | send, {enter} 338 | Sleep,2000 339 | Update_log("In Lobby","") 340 | break 341 | } 342 | } 343 | } 344 | return 345 | 346 | 347 | skill(Skill_key,sums,Teleport_mode){ 348 | Global 349 | 350 | Send, {%Skill_key%} 351 | Sleep,300 352 | 353 | Loop,%sums% 354 | { 355 | click right 356 | Sleep,340 357 | } 358 | 359 | IF (Teleport_mode = 1) 360 | { 361 | send, {%teleporthotkey%} 362 | Sleep,200 363 | } 364 | 365 | Sleep,700 366 | 367 | } 368 | 369 | return 370 | 371 | 372 | check_wildernes(){ 373 | 374 | Loop 375 | { 376 | 377 | ImageSearch, FoundX, FoundY, 173, 671, 204, 702, *11 %A_ScriptDir%\images\wilderness.png 378 | 379 | If ErrorLevel = 0 380 | { 381 | Sleep,300 382 | break 383 | } 384 | 385 | } 386 | } 387 | return 388 | 389 | Teleport(click_x,click_y){ 390 | Global 391 | blinks++ 392 | 393 | Loop 394 | { 395 | ImageSearch, FoundX, FoundY, 777, 719, 862, 792, *11 %A_ScriptDir%\images\teleport.png 396 | If ErrorLevel = 0 397 | { 398 | MouseMove,%click_x%, %click_y% 399 | Sleep,100 400 | Click Right 401 | Sleep,400 402 | break 403 | } 404 | 405 | } 406 | } 407 | return 408 | 409 | Update_log(message,loot){ 410 | Global 411 | Date_time = [%A_Hour%:%A_min%:%A_Sec%] 412 | 413 | IF (logg_it = 1) 414 | { 415 | FileAppend,%Date_time% %message% %loot%`n,%A_ScriptDir%\Logs\%Game_name_output%_%runs%.txt 416 | } 417 | 418 | LV_Add("", Date_time,message,loot) 419 | GC:=LV_GetCount() 420 | LV_Modify(LV_GetCount(), "Vis") 421 | } 422 | return 423 | 424 | 425 | #Include pickit.ahk 426 | #Include %A_ScriptDir%/Scripts 427 | 428 | 429 | ^Esc:: 430 | Suspend 431 | return -------------------------------------------------------------------------------- /Diaflow4.ahk: -------------------------------------------------------------------------------- 1 | IF NOT A_IsAdmin 2 | { 3 | Run *RunAs "%A_ScriptFullPath%" 4 | ExitApp 5 | } 6 | 7 | #SingleInstance,Force 8 | 9 | CoordMode, Mouse, Client 10 | CoordMode, Pixel, Client 11 | CoordMode, ToolTip, Client 12 | 13 | SetWorkingDir, %A_ScriptDir% 14 | 15 | image_dir = %A_ScriptDir%\images 16 | 17 | Global Found 18 | Global runs 19 | Global blinks 20 | Global times 21 | Global log_date 22 | Global game 23 | Global gamePassword 24 | Global Game_name_output 25 | Global Game_password_output 26 | Global Debugg_logg 27 | Global logg_it 28 | Global New_diablo 29 | Global Say_next_game 30 | Global pick_up_name 31 | Global image 32 | Global say_text 33 | Global Hotkeys 34 | Global game_dir 35 | Global acc_name 36 | Global acc_password 37 | Global loothotkey 38 | Global teleporthotkey 39 | Global Clear_view 40 | Global portalhotkey 41 | Global current_script 42 | Global move_gui 43 | Global blink_check 44 | 45 | runs = 1 46 | 47 | Round_two = 0 48 | 49 | IfExist,Diaflow.ini 50 | { 51 | 52 | ; account 53 | IniRead, acc_name,Diaflow.ini,Account,username 54 | IniRead, acc_password, Diaflow.ini, Account,password 55 | 56 | ; game 57 | IniRead, Game_name_output, Diaflow.ini, Game,Game_name 58 | IniRead, Game_password_output, Diaflow.ini, Game,Game_password 59 | IniRead, current_script, Diaflow.ini, Game,Script 60 | 61 | ; Misc 62 | IniRead, logg_it, Diaflow.ini, Misc,save_log 63 | IniRead, Clear_view, Diaflow.ini, Misc,Auto_clear 64 | IniRead, TP_on_exit, Diaflow.ini, Misc,TP_exit 65 | IniRead, Say_next_game, Diaflow.ini, Misc,Announce_game 66 | IniRead, say_text, Diaflow.ini, Misc,Announce_text 67 | IniRead, game_dir, Diaflow.ini, Misc,Game_path 68 | IniRead, New_diablo, Diaflow.ini, Misc,New_Game_instance 69 | IniRead, move_gui, Diaflow.ini, Misc,Move_window 70 | 71 | ; Hotkeys 72 | IniRead, loothotkey, Diaflow.ini, Hotkeys,Loot_key 73 | IniRead, teleporthotkey, Diaflow.ini, Hotkeys,Teleport_key 74 | IniRead, portalhotkey, Diaflow.ini, Hotkeys,Portal_key 75 | 76 | ; Debugging 77 | IniRead, blink_check, Diaflow.ini, Debugg,check_blink_in_join 78 | 79 | 80 | 81 | } 82 | 83 | 84 | 85 | Gui, +AlwaysOnTop 86 | Gui, Add, ListView,x6 y6 w355 h355 ReadOnly NoSortHdr grid, Time|Status|Loot 87 | 88 | 89 | Gui, Add, text,x0,Game Name: 90 | Gui, Add, text, ReadOnly x3 w100,%Game_name_output% 91 | 92 | Gui, Add, text,x0,Game Password: 93 | Gui, Add, text, ReadOnly x3 w100,%Game_password_output% 94 | 95 | 96 | Gui, Add, Button,gStart w90 x3 y479,Run 97 | 98 | Gui, Add, Button,gRun_ini w90 x110 y479,Config INI 99 | 100 | Gui, Add, Button,gRun_script_folder w90 x210 y479,Script Folder 101 | 102 | Gui, Add, Picture,x300 y425 ,devil.png 103 | 104 | Gui, Add, text,x106 y368,Total Loot found: 105 | Gui, Add, text,x189 y368 vGui_loot,0 106 | 107 | Gui, Add, text,x210 y368,Current Game: 108 | Gui, Add, text,x280 y368 cblue vGui_game_name w100, 109 | 110 | LV_ModifyCol(1,65) 111 | LV_ModifyCol(2,210) 112 | LV_ModifyCol(3,80) 113 | 114 | Gui, Add, link,x3 y451,Github Link 115 | 116 | Gui, Add, link,x64 y451,Youtube Link 117 | 118 | Gui, Show, w373 h510, Diaflow v4 Floowsnaake 119 | return 120 | 121 | Run_script_folder: 122 | Run explorer Scripts 123 | return 124 | 125 | Run_ini: 126 | Run Diaflow.ini 127 | return 128 | 129 | GuiClose: 130 | ExitApp 131 | return 132 | 133 | start: 134 | gui,submit 135 | Gui, Show,w373 h510, [RUNNING] Diaflow v4 Floowsnaake 136 | 137 | IF (move_gui = 1) 138 | { 139 | WinMove,[RUNNING] Diaflow v4 Floowsnaake ,,1479,121 140 | } 141 | 142 | 143 | IF (New_diablo = 0) 144 | { 145 | Process, Exist, game.exe 146 | If !ErrorLevel ; is not running 147 | { 148 | MsgBox Diablo II is not running game.exe error 149 | ExitApp 150 | } 151 | 152 | 153 | } 154 | 155 | 156 | IF (New_diablo = 1) 157 | { 158 | Start_login() 159 | } 160 | 161 | restartnig: 162 | 163 | 164 | Blinks = 165 | Alredy_run = 0 166 | 167 | game = %Game_name_output% 168 | gamePassword = %Game_password_output% 169 | 170 | GuiControl,,Gui_game_name,%game%-%runs% 171 | 172 | Sleep,2000 173 | Loop 174 | { 175 | ImageSearch, FoundX, FoundY, 667, 587, 709, 602, *11 %A_ScriptDir%\images\lobby.png 176 | If ErrorLevel = 0 177 | { 178 | Update_log("Creating " game "-" runs " " gamePassword,"") 179 | 180 | Click, %FoundX%, %FoundY% Left, 1 181 | Sleep,4000 182 | Click 183 | Sleep,2800 184 | ;game name 185 | SendInput,%game%-%runs% 186 | Sleep,400 187 | send, {tab} 188 | Sleep,100 189 | Send, %gamePassword% 190 | Sleep,1200 191 | Update_log("Joining...","") 192 | Send, {enter} ; to create game 193 | break 194 | } 195 | 196 | } 197 | ;check if ingame: 198 | 199 | IF (blink_check = 0) 200 | { 201 | ToolTip,Waiting until in game 5 sec,0,0 202 | Sleep,5000 203 | ToolTip, 204 | Update_log("Successfully Joined","") 205 | } 206 | 207 | 208 | IF (blink_check = 1) 209 | { 210 | Loop 211 | { 212 | ImageSearch, FoundX, FoundY, 777, 719, 862, 792, *11 %A_ScriptDir%\images\teleport.png ; if in game 213 | If ErrorLevel = 0 214 | { 215 | Update_log("Successfully Joined","") 216 | Sleep,2000 217 | break 218 | } 219 | 220 | 221 | } 222 | } 223 | 224 | ;======================================= 225 | ; place for scripts 226 | ;======================================== 227 | 228 | #Include, %A_ScriptDir%/Scripts/Shank.ahk 229 | 230 | ;=================================== 231 | 232 | Send, {%teleporthotkey%} 233 | 234 | 235 | pick_item() 236 | 237 | 238 | Sleep,500 239 | 240 | IF (TP_on_exit = 1) 241 | { 242 | send, {%portalhotkey%} 243 | Sleep,600 244 | MouseMove,519, 382 245 | Sleep,700 246 | Update_log("TP made","") 247 | click right 248 | Sleep,900 249 | send, {%teleporthotkey%} 250 | Sleep,900 251 | 252 | } 253 | 254 | IF (Say_next_game = 1) 255 | { 256 | Sleep,200 257 | send, {enter} 258 | Sleep,700 259 | Next_game := runs + 1 260 | say_text = Next: %game%-%Next_game% %gamePassword% 261 | SendInput,%say_text% 262 | Sleep,700 263 | Update_log("Next Game announced","") 264 | send, {enter} 265 | Sleep,2000 266 | } 267 | 268 | Update_log("Leaving Game","") 269 | click,602, 738 ;bring up exit 270 | Sleep,1300 271 | send, {down 4} ; down to map 272 | Sleep,900 273 | 274 | send, {up} ; up to exit menu 275 | Sleep,900 276 | send, {enter} ; press exit game 277 | 278 | IF (Clear_view = 1) 279 | { 280 | LV_Delete() ; delete all rows in listview 281 | 282 | LV_ModifyCol(1,65) 283 | LV_ModifyCol(2,210) 284 | LV_ModifyCol(3,80) 285 | } 286 | 287 | MouseMove,100,100 288 | 289 | Sleep,2300 290 | MouseMove,100,100 291 | Round_two = 1 292 | runs++ 293 | Update_log("Next Game " game "-" runs " " gamePassword,"") 294 | goto, restartnig 295 | return 296 | 297 | 298 | /* 299 | ============================================================================================ 300 | == FUNCTIONS == 301 | == == 302 | ============================================================================================ 303 | 304 | */ 305 | 306 | 307 | Start_login() 308 | { 309 | Update_log("Starting game.exe","") 310 | run,%game_dir% -w -skiptobnet 311 | WinActivate,Diablo II 312 | WinWaitActive,Diablo II 313 | 314 | Loop 315 | { 316 | ImageSearch, FoundX, FoundY, 357, 642, 689, 739, *4 %A_ScriptDir%\images\login.png ; in login screen 317 | 318 | If ErrorLevel =1 319 | { 320 | Sleep,1400 321 | } 322 | 323 | If ErrorLevel = 0 324 | { 325 | Update_log("Logging in...","") 326 | Sleep,2000 327 | send, {tab} 328 | SendInput,%acc_name% 329 | Sleep,300 330 | send, {tab} 331 | Sleep,300 332 | SendInput,%acc_password% 333 | Sleep,300 334 | Send,{enter} 335 | Sleep,2200 336 | send, {enter} 337 | Sleep,600 338 | send, {enter} 339 | Sleep,2000 340 | Update_log("In Lobby","") 341 | break 342 | } 343 | } 344 | } 345 | return 346 | 347 | 348 | skill(Skill_key,sums,Teleport_mode){ 349 | Global 350 | 351 | Send, {%Skill_key%} 352 | Sleep,300 353 | 354 | Loop,%sums% 355 | { 356 | click right 357 | Sleep,340 358 | } 359 | 360 | IF (Teleport_mode = 1) 361 | { 362 | send, {%teleporthotkey%} 363 | Sleep,200 364 | } 365 | 366 | Sleep,700 367 | 368 | } 369 | 370 | return 371 | 372 | 373 | check_wildernes(){ 374 | 375 | Loop 376 | { 377 | 378 | ImageSearch, FoundX, FoundY, 173, 671, 204, 702, *11 %A_ScriptDir%\images\wilderness.png 379 | 380 | If ErrorLevel = 0 381 | { 382 | Sleep,300 383 | break 384 | } 385 | 386 | } 387 | } 388 | return 389 | 390 | Teleport(click_x,click_y){ 391 | Global 392 | blinks++ 393 | 394 | Loop 395 | { 396 | ImageSearch, FoundX, FoundY, 777, 719, 862, 792, *11 %A_ScriptDir%\images\teleport.png 397 | If ErrorLevel = 0 398 | { 399 | MouseMove,%click_x%, %click_y% 400 | Sleep,100 401 | Click Right 402 | Sleep,400 403 | break 404 | } 405 | 406 | } 407 | } 408 | return 409 | 410 | Update_log(message,loot){ 411 | Global 412 | Date_time = [%A_Hour%:%A_min%:%A_Sec%] 413 | 414 | IF (logg_it = 1) 415 | { 416 | FileAppend,%Date_time% %message% %loot%`n,%A_ScriptDir%\Logs\%Game_name_output%_%runs%.txt 417 | } 418 | 419 | LV_Add("", Date_time,message,loot) 420 | GC:=LV_GetCount() 421 | LV_Modify(LV_GetCount(), "Vis") 422 | } 423 | return 424 | 425 | 426 | #Include pickit.ahk 427 | #Include %A_ScriptDir%/Scripts 428 | 429 | 430 | ^Esc:: 431 | Suspend 432 | return --------------------------------------------------------------------------------