Back to "map" tags

Map Decoder by arktik

Description: Decode every map in your backpack and optionally every map in your tomes.

1# Resource Map Decoder v1.0.1 by Arktik
2#
3# Set to 1 if you want to restock maps from tomes when backpack has no maps
4# Set to 0 if you do NOT want to restock maps from tomes when backpack has no maps
5@setvar! map_restock 1
6
7# If you want to restock spyglasses, add them to your shelf loadout
8# Set to 1 if you want to restock spyglasses from shelf when backpack has none
9# Set to 0 if you do NOT want to restock spyglasses from shelf when backpack has none
10@setvar! spyglass_restock 0
11
12@setvar! timeout 650
13@setvar! short_timeout 200
14
15@setvar! ore_gump 3367641484
16@setvar! skinning_gump 3473029237
17@setvar! lumber_gump 1332805401
18@setvar! treasure_gump 1520869851
19@setvar! fishing_gump 2589357942
20@clearignore
21
22if not listexists undecoded_map_list
23    createlist undecoded_map_list
24else
25    clearlist undecoded_map_list
26endif
27
28// Refill Spyglasses
29if spyglass_restock == 1
30    if not findtype "spyglass" backpack
31        if findtype "storage shelf" ground -1 -1 2 as shelf
32            menu shelf 1
33            wait short_timeout
34        endif
35
36        for 12
37            say "Need spyglass" 34
38            wait 5000
39            if findtype "spyglass" backpack
40                break
41            endif
42        endfor
43    endif
44endif
45
46if map_restock == 1
47    // Tome Gumps
48    if not listexists tome_gump_list
49        createlist tome_gump_list
50    else
51        clearlist tome_gump_list
52    endif
53    // treasure tome gump
54    pushlist tome_gump_list 1863945839
55    // lumber tome gump
56    pushlist tome_gump_list 3576069391
57    // ore tome gump
58    pushlist tome_gump_list 1667380559
59    // fishing tome gump
60    pushlist tome_gump_list 3448468591
61    // skinning tome gump
62    pushlist tome_gump_list 4027121519
63
64    foreach tome_gump in tome_gump_list
65        gumpclose tome_gump
66    endfor
67
68    // Tome Hues
69    if not listexists tome_hue_list
70        createlist tome_hue_list
71    else
72        clearlist tome_hue_list
73    endif
74    // Treasure
75    pushlist tome_hue_list 2990
76    // Lumber
77    pushlist tome_hue_list 2799
78    // Ore
79    pushlist tome_hue_list 2796
80    // Fishing
81    pushlist tome_hue_list 2722
82    // Skinning
83    pushlist tome_hue_list 2651
84
85    for 5
86        if poplist tome_hue_list front as tome_hue
87            if poplist tome_gump_list front as tome_gump
88                if findtype 29104 ground tome_hue any 2 as tome
89                    dclick tome
90                    wait timeout
91                    gumpresponse 3 tome_gump
92                    wait short_timeout
93                    gumpresponse 10 tome_gump
94                    wait short_timeout
95                    gumpresponse 11 tome_gump
96                    wait short_timeout
97                    gumpresponse 12 tome_gump
98                    wait short_timeout
99                    gumpresponse 13 tome_gump
100                    wait short_timeout
101                    gumpresponse 14 tome_gump
102                    wait short_timeout
103                    gumpresponse 15 tome_gump
104                    wait short_timeout
105                    gumpresponse 16 tome_gump
106                    wait short_timeout
107                    gumpresponse 17 tome_gump
108                    wait short_timeout
109                    if tome_hue != 2990
110                        gumpresponse 18 tome_gump
111                        wait short_timeout
112                    endif
113                    gumpclose tome_gump
114                    wait timeout
115                endif
116            endif
117        endif
118    endfor
119endif
120
121// Close map gumps
122gumpclose ore_gump
123gumpclose skinning_gump
124gumpclose lumber_gump
125gumpclose treasure_gump
126gumpclose fishing_gump
127
128
129@clearignore
130while findtype "map" backpack as resource_map
131    getlabel resource_map desc
132    overhead desc
133    
134    if "[100.0%" in desc or "(100.0%" in desc
135        @ignore resource_map
136    else
137        // Find number of undecoded maps left
138        if findtypelist undecoded_map_list "map" backpack any
139        endif
140        for 200
141            if list undecoded_map_list = "index"
142                @setvar! num_undecoded_maps "index"
143                break
144            endif
145        endfor
146        if num_undecoded_maps == 0
147        elseif num_undecoded_maps == 1
148            overhead "{{num_undecoded_maps}} map to decode" 88
149        else
150            overhead "{{num_undecoded_maps}} maps to decode" 88
151        endif
152        
153        // Check for spyglasses
154        if findtype "spyglass" backpack as glass
155            dclick glass
156        elseif spyglass_restock == 1
157            replay
158        else
159            for 12
160                say "Out of Spyglasses!" 34
161                wait 5000
162            endfor
163        endif
164        wft 1500
165        target resource_map
166        
167        // Select gump for current map
168        @setvar! gumpIdToCheck 0
169        if "ore" in desc
170            @setvar! gumpIdToCheck ore_gump
171        elseif "skinning" in desc
172            @setvar! gumpIdToCheck skinning_gump
173        elseif "lumber" in desc
174            @setvar! gumpIdToCheck lumber_gump
175        elseif "treasure" in desc
176            @setvar! gumpIdToCheck treasure_gump
177        elseif "fishing" in desc
178            @setvar! gumpIdToCheck fishing_gump
179        else
180        overhead "Unknown gump!" 34
181        endif
182        
183        waitforgump gumpIdToCheck 1000
184        
185        // Decode the map
186        overhead "Updating..."
187        clearsysmsg
188        while gumpexists gumpIdToCheck
189            getlabel resource_map desc
190            if "[100.0%" in desc or "(100.0%" in desc
191                gumpclose gumpIdToCheck
192                @ignore resource_map
193            else
194                gumpresponse 4 gumpIdToCheck
195                wait timeout
196            endif
197        endwhile
198    endif
199    
200    wait short_timeout
201endwhile
202
203// Restock all maps back into tomes
204@clearignore
205while findtype 29104 ground -1 -1 2 as tome
206    menu tome 0
207    wait short_timeout
208    @ignore tome
209endwhile