Back to "map" tags

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