├── 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 | [](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 | []
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
--------------------------------------------------------------------------------