All Maps Decoded from ALL Tomes by Jaseowns
1# Map decoder from ALL Tomes by Jaseowns
2# UO Outlands
3# Requirements:
4# 50 or more cartography skill
5# have multiple spyglass
6# tmap tome on ground or in base level box
7# if your tome is in a box, >info on that box and set it on line 15
8# j_restock_undecoded_maps 0x411EDE22 <--- replace w/ your id
9# UPDATED 2/17/2023: add ability to choose tome preference
10if skill "Cartography" < 50
11 overhead "Not on the right character..." 34
12 stop
13endif
14
15@setvar! j_restock_undecoded_maps 0x411EDE22
16
17if not varexist myTmapTome
18 @setvar! myTmapTome 0
19endif
20
21if not varexist tomeGumpReponseCheck
22 @setvar! tomeGumpReponseCheck 10
23endif
24
25##########
26## Map Override - set as 0 if you want to skip
27## If you change these, restart your client or uncomment
28## line 29 and 30, run the script and then recomment those lines out
29// unsetvar myTmapTome
30// stop
31#####
32@setvar! searchForTreasureMaps 1
33@setvar! searchForFishingMaps 1
34@setvar! searchForSkinningMaps 1
35@setvar! searchForOreMaps 1
36@setvar! searchForLumberMaps 1
37
38while not find myTmapTome ground and not find myTmapTome j_restock_undecoded_maps
39 overhead "checking tome.."
40 // treasure maps
41 if searchForTreasureMaps = 1 and findtype 29104 ground 2990 -1 2 as found
42 // found on ground
43 @setvar! myTmapTome found
44 elseif searchForTreasureMaps = 1 and findtype 29104 j_restock_undecoded_maps 2990 as found
45 // found somewhere else
46 @setvar! myTmapTome found
47 // lumber maps
48 elseif searchForLumberMaps = 1 and findtype 29104 ground 2799 -1 2 as found
49 // found on ground
50 @setvar! myTmapTome found
51 elseif searchForLumberMaps = 1 and findtype 29104 j_restock_undecoded_maps 2799 as found
52 // found somewhere else
53 @setvar! myTmapTome found
54 // ore maps
55 elseif searchForOreMaps = 1 and findtype 29104 ground 2796 -1 2 as found
56 // found on ground
57 @setvar! myTmapTome found
58 elseif searchForOreMaps = 1 and findtype 29104 j_restock_undecoded_maps 2796 as found
59 // found somewhere else
60 @setvar! myTmapTome found
61 // skinning maps
62 elseif searchForSkinningMaps = 1 and findtype "book" ground 2651 -1 2 as found
63 // found on ground
64 @setvar! myTmapTome found
65 elseif searchForSkinningMaps = 1 and findtype "book" j_restock_undecoded_maps 2651 as found
66 // found somewhere else
67 @setvar! myTmapTome found
68 // Fishing maps
69 elseif searchForFishingMaps = 1 and findtype 29104 ground 2722 -1 2 as found
70 // found on ground
71 @setvar! myTmapTome found
72 elseif searchForFishingMaps = 1 and findtype 29104 j_restock_undecoded_maps 2722 as found
73 // found somewhere else
74 @setvar! myTmapTome found
75 else
76 @setvar! myTmapTome 1
77 break
78 endif
79 wait 200
80endwhile
81
82if not findtype "spyglass" backpack
83 overhead "Need spyglass" 34
84 wait 2500
85 replay
86endif
87
88if myTmapTome = 0
89 overhead "No tome found!" 34
90 overhead "Make sure to >info on your chest and set j_restock_undecoded_maps (line 14)" 88
91 wait 5000
92 replay
93elseif myTmapTome = 1
94 @clearignore
95 overhead "No more tomes found..." 34
96 overhead "clearing cache and replaying in 5 seconds" 88
97 wait 5000
98 replay
99endif
100
101getlabel myTmapTome myTomeDesc
102
103if "treasure" in myTomeDesc
104 @setvar! tomeGumpReponseId 1863945839
105elseif "fishing" in myTomeDesc
106 @setvar! tomeGumpReponseId 3448468591
107elseif "lumber" in myTomeDesc
108 @setvar! tomeGumpReponseId 3576069391
109elseif "ore" in myTomeDesc
110 @setvar! tomeGumpReponseId 1667380559
111elseif "skin" in myTomeDesc
112 @setvar! tomeGumpReponseId 4027121519
113else
114 overhead "Unknown gump for tome.. check again?" 34
115 wait 5000
116 replay
117endif
118
119
120// Only pull a map if we do not have one
121if not findtype "map" backpack
122 while not gumpexists tomeGumpReponseId
123 dclick myTmapTome
124 wait 200
125 endwhile
126 gumpresponse tomeGumpReponseCheck tomeGumpReponseId
127 wait 200
128 if findtype "map" backpack
129 if tomeGumpReponseCheck = 10
130 overhead "Grabbed level 1" 88
131 elseif tomeGumpReponseCheck = 11
132 overhead "Grabbed level 2" 88
133 elseif tomeGumpReponseCheck = 12
134 overhead "Grabbed level 3" 88
135 elseif tomeGumpReponseCheck = 13
136 overhead "Grabbed level 4" 88
137 elseif tomeGumpReponseCheck = 14
138 overhead "Grabbed level 5" 88
139 elseif tomeGumpReponseCheck = 15
140 overhead "Grabbed level 6" 88
141 elseif tomeGumpReponseCheck = 16
142 overhead "Grabbed level 7" 88
143 else
144 overhead "Grabbed a map!"
145 endif
146 endif
147endif
148
149// We found one
150if findtype "map" backpack as my_map
151
152 # Close map gump
153 // ore
154 gumpclose 3367641484
155 // skinning
156 gumpclose 3473029237
157 // lumber
158 gumpclose 1332805401
159 // treasure
160 gumpclose 1520869851
161 // fishing
162 gumpclose 2589357942
163
164 getlabel my_map desc
165 wait 200
166
167 if findtype "spyglass" backpack as item
168 dclick item
169 wft 1500
170 target my_map
171 endif
172
173
174 @setvar! gumpIdToCheck 0
175
176 if "ore" in desc
177 @setvar! gumpIdToCheck 3367641484
178 elseif "skinning" in desc
179 @setvar! gumpIdToCheck 3473029237
180 elseif "lumber" in desc
181 @setvar! gumpIdToCheck 1332805401
182 elseif "treasure" in desc
183 @setvar! gumpIdToCheck 1520869851
184 elseif "fishing" in desc
185 @setvar! gumpIdToCheck 2589357942
186 else
187 overhead "Unknown gump!" 34
188 replay
189 endif
190
191 waitforgump gumpIdToCheck 1000
192
193 if "[100.0%" in desc or "(100.0%" in desc
194 menu myTmapTome 0
195 wait 650
196 else
197 overhead "Updating..."
198 clearsysmsg
199 while gumpexists gumpIdToCheck
200 gumpresponse 4 gumpIdToCheck
201 wait 2000
202 getlabel my_map desc2
203 wait 200
204 if "[100.0%" in desc2 or "(100.0%" in desc2
205 menu myTmapTome 0
206 gumpclose gumpIdToCheck
207 wait 650
208 replay
209 elseif insysmsg "maximum accuracy"
210 gumpclose gumpIdToCheck
211 replay
212 elseif not findtype "spyglass" backpack
213 overhead "spyglass broke!" 34
214 replay
215 endif
216 endwhile
217 endif
218
219 wait 200
220 replay
221elseif tomeGumpReponseCheck = 10
222 overhead "No level 1 found" 34
223 @setvar! tomeGumpReponseCheck 11
224 replay
225elseif tomeGumpReponseCheck = 11
226 overhead "No level 2 found" 34
227 @setvar! tomeGumpReponseCheck 12
228 replay
229elseif tomeGumpReponseCheck = 12
230 overhead "No level 3 found" 34
231 @setvar! tomeGumpReponseCheck 13
232 replay
233elseif tomeGumpReponseCheck = 13
234 overhead "No level 4 found" 34
235 @setvar! tomeGumpReponseCheck 14
236 replay
237elseif tomeGumpReponseCheck = 14
238 overhead "No level 5 found" 34
239 @setvar! tomeGumpReponseCheck 15
240 replay
241elseif tomeGumpReponseCheck = 15
242 overhead "No level 6 found" 34
243 @setvar! tomeGumpReponseCheck 16
244 replay
245elseif tomeGumpReponseCheck = 16
246 overhead "No level 7 found" 34
247 @setvar! tomeGumpReponseCheck 17
248 replay
249elseif tomeGumpReponseCheck = 17
250 overhead "No level 8 found" 34
251 @setvar! tomeGumpReponseCheck 18
252 replay
253elseif tomeGumpReponseCheck = 18
254 @setvar! tomeGumpReponseCheck 10
255 gumpclose tomeGumpReponseId
256 @ignore myTmapTome
257 overhead "Ignoring this tome, moving on to the next" 88
258 replay
259endif