Back to "snippet" tags

Vendor Restock Script by Mustang

Related: Snippet

Description: This script will automatically restock your vendor and set a price for each item. All you need is to set your prices in the script. I've included rare loot such as cores/extracts/skillscrolls/MCDs, but you can use this script as a baseline to add other items.

Known issues:

If you have a Firebreathing potion in backpack the script will break, as it shares the same item name with extracts. Unfortunately you have to put this item out of your backpack to fix the script

1//Script created by Mustang#1702
2//In order to prevent overlapping items, separate containers for cores/scrolls/extracts etc. are recommended
3//Item placement is designed for small paragon chests, items in other containers might overlap which each other
4
5//If you want to add other items to this script 
6//keep in mind that some items like tmaps, skillscrolls, etc. have the same ID and hue
7
8overhead 'Loading prices, please wait...' 2263
9
10//=========================================
11//Change this parameter value to 0 if you don't want to set target containers every time
12setvar! setContainerVariables '1'
13
14//=========================================
15//Set your prices here:
16    
17//Cores
18setvar! AirCorePrice '14000'
19setvar! ArtisanCorePrice '36000'
20setvar! BloodCorePrice '3000'
21setvar! CommandCorePrice '42000'
22setvar! DeathCorePrice '3000'
23setvar! DisciplineCorePrice '3000'
24setvar! EarthCorePrice '3000'
25setvar! EldritchCorePrice '9500'
26setvar! FireCorePrice '3000'
27setvar! FortuneCorePrice '12000'
28setvar! HolyCorePrice '4500'
29setvar! LyricCorePrice '25000'
30setvar! PoisonCorePrice '16000'
31setvar! ShadowCorePrice '3000'
32setvar! VoidCorePrice '13000'
33setvar! WaterCorePrice '3000'
34
35//Extracts
36setvar! AirExtractPrice '24000'
37setvar! ArtisanExtractPrice '12000'
38setvar! BloodExtractPrice '6500'
39setvar! CommandExtractPrice '11000'
40setvar! DeathExtractPrice '7000'
41setvar! DisciplineExtractPrice '4000'
42setvar! EarthExtractPrice '4000'
43setvar! EldritchExtractPrice '11000'
44setvar! FireExtractPrice '4000'
45setvar! FortuneExtractPrice '11000'
46setvar! HolyExtractPrice '7000'
47setvar! LyricExtractPrice '16000'
48setvar! PoisonExtractPrice '38000'
49setvar! ShadowExtractPrice '9000'
50setvar! VoidExtractPrice '9000'
51setvar! WaterExtractPrice '6500'
52
53//Distillations
54setvar! AirDistillationPrice '24000'
55setvar! ArtisanDistillationPrice '12000'
56setvar! BloodDistillationPrice '6500'
57setvar! CommandDistillationPrice '11000'
58setvar! DeathDistillationPrice '7000'
59setvar! DisciplineDistillationPrice '4000'
60setvar! EarthDistillationPrice '4000'
61setvar! EldritchDistillationPrice '11000'
62setvar! FireDistillationPrice '4000'
63setvar! FortuneDistillationPrice '11000'
64setvar! HolyDistillationPrice '7000'
65setvar! LyricDistillationPrice '16000'
66setvar! PoisonDistillationPrice '38000'
67setvar! ShadowDistillationPrice '9000'
68setvar! VoidDistillationPrice '9000'
69setvar! WaterDistillationPrice '6500'
70
71//Skill Scrolls
72setvar! AlchemyPrice '15000'
73setvar! AnimalLorePrice '14000'
74setvar! AnimalTamingPrice '14000'
75setvar! ArmsLorePrice '8000'
76setvar! BeggingPrice '7500'
77setvar! BlacksmithyPrice '7500'
78setvar! CampingPrice '8000'
79setvar! CarpentryPrice '8000'
80setvar! CartographyPrice '8500'
81setvar! ChivalryPrice '18000'
82setvar! CookingPrice '8000'
83setvar! DetectHiddenPrice '8500'
84setvar! DiscordancePrice '11000'
85setvar! FishingPrice '8500'
86setvar! ForensicEvalPrice '11000'
87setvar! HerdingPrice '7500'
88setvar! InscriptionPrice '13000'
89setvar! ItemIdPrice '9000'
90setvar! LockpickingPrice '9000'
91setvar! LumberjackingPrice '9000'
92setvar! MusicanshipPrice '18000'
93setvar! MiningPrice '9000'
94setvar! NecromancyPrice '48000'
95setvar! PeacemakingPrice '11000'
96setvar! PoisoningPrice '15000'
97setvar! ProvocationPrice '10000'
98setvar! RemoveTrapPrice '9500'
99setvar! SpiritSpeakPrice '9500'
100setvar! StealthPrice '9500'
101setvar! TailoringPrice '28000'
102setvar! TasteIdPrice '21000'
103setvar! TinkeringPrice '9000'
104setvar! TrackingPrice '9000'
105setvar! VeterinaryPrice '8000'
106
107//Maps
108setvar! T1Price '7000'
109setvar! T2Price '8000'
110setvar! T3Price '27000'
111setvar! T4Price '30000'
112setvar! T5Price '45000'
113setvar! T6Price '60000'
114setvar! T8Price '250000'
115
116//Other
117setvar! SkillOrbPrice '21999'
118setvar! MastercraftingDiagramPrice '175000'
119setvar! ResearchMaterialsPrice '35000'
120setvar! ArcaneScrollPrice '30000' 
121
122//=========================================
123
124//Cores 
125if setContainerVariables == '1'
126overhead 'Set container for Aspect Cores' 2263
127setvar aspectCoreContainer
128endif
129
130while findtype 'aspect core' backpack as item
131    getlabel item label
132    if 'Air' in label
133        lift item 1
134        drop aspectCoreContainer 30 60 0
135        pause 500
136        promptresponse AirCorePrice        
137    elseif 'Artisan' in label
138        lift item 1
139        drop aspectCoreContainer 45 60 0
140        pause 500
141        promptresponse ArtisanCorePrice
142    elseif 'Blood' in label
143        lift item 1
144        drop aspectCoreContainer 60 60 0
145        pause 500
146        promptresponse BloodCorePrice
147    elseif 'Command' in label
148        lift item 1
149        drop aspectCoreContainer 75 60 0
150        pause 500
151        promptresponse CommandCorePrice
152    elseif 'Death' in label
153        lift item 1
154        drop aspectCoreContainer 90 60 0
155        pause 500
156        promptresponse DeathCorePrice
157    elseif 'Discipline' in label
158        lift item 1
159        drop aspectCoreContainer 105 60 0
160        pause 500
161        promptresponse DisciplineCorePrice
162    elseif 'Earth' in label
163        lift item 1
164        drop aspectCoreContainer 120 60 0
165        pause 500
166        promptresponse EarthCorePrice
167    elseif 'Eldritch' in label
168        lift item 1
169        drop aspectCoreContainer 135 60 0
170        pause 500
171        promptresponse EldritchCorePrice
172    elseif 'Fire' in label
173        lift item 1
174        drop aspectCoreContainer 30 80 0
175        pause 500
176        promptresponse FireCorePrice        
177    elseif 'Fortune' in label
178        lift item 1
179        drop aspectCoreContainer 45 80 0
180        pause 500
181        promptresponse FortuneCorePrice
182    elseif 'Holy' in label
183        lift item 1
184        drop aspectCoreContainer 60 80 0
185        pause 500
186        promptresponse HolyCorePrice
187    elseif 'Lyric' in label
188        lift item 1
189        drop aspectCoreContainer 75 80 0
190        pause 500
191        promptresponse LyricCorePrice
192    elseif 'Poison' in label
193        lift item 1
194        drop aspectCoreContainer 90 80 0
195        pause 500
196        promptresponse PoisonCorePrice      
197    elseif 'Shadow' in label
198        lift item 1
199        drop aspectCoreContainer 105 80 0
200        pause 500
201        promptresponse ShadowCorePrice      
202    elseif 'Void' in label
203        lift item 1
204        drop aspectCoreContainer 120 80 0
205        pause 500
206        promptresponse VoidCorePrice        
207    elseif 'Water' in label
208        lift item 1
209        drop aspectCoreContainer 135 80 0
210        pause 500
211        promptresponse WaterCorePrice       
212    endif
213endwhile
214
215if setContainerVariables == '1'
216overhead 'Set container for Aspect Extracts' 2263
217setvar aspectExtractContainer
218endif 
219
220//Extracts
221while findtype 'bottle' backpack as item
222    getlabel item label
223    if 'Air' in label
224        lift item 1
225        drop aspectExtractContainer 30 60 0
226        pause 500
227        promptresponse AirExtractPrice        
228    elseif 'Artisan' in label
229        lift item 1
230        drop aspectExtractContainer 45 60 0
231        pause 500
232        promptresponse ArtisanExtractPrice
233    elseif 'Blood' in label
234        lift item 1
235        drop aspectExtractContainer 60 60 0
236        pause 500
237        promptresponse BloodExtractPrice
238    elseif 'Command' in label
239        lift item 1
240        drop aspectExtractContainer 75 60 0
241        pause 500
242        promptresponse CommandExtractPrice
243    elseif 'Death' in label
244        lift item 1
245        drop aspectExtractContainer 90 60 0
246        pause 500
247        promptresponse DeathExtractPrice
248    elseif 'Discipline' in label
249        lift item 1
250        drop aspectExtractContainer 105 60 0
251        pause 500
252        promptresponse DisciplineExtractPrice
253    elseif 'Earth' in label
254        lift item 1
255        drop aspectExtractContainer 120 60 0
256        pause 500
257        promptresponse EarthExtractPrice
258    elseif 'Eldritch' in label
259        lift item 1
260        drop aspectExtractContainer 135 60 0
261        pause 500
262        promptresponse EldritchExtractPrice
263    elseif 'Fire' in label
264        lift item 1
265        drop aspectExtractContainer 30 80 0
266        pause 500
267        promptresponse FireExtractPrice        
268    elseif 'Fortune' in label
269        lift item 1
270        drop aspectExtractContainer 45 80 0
271        pause 500
272        promptresponse FortuneExtractPrice
273    elseif 'Holy' in label
274        lift item 1
275        drop aspectExtractContainer 60 80 0
276        pause 500
277        promptresponse HolyExtractPrice
278    elseif 'Lyric' in label
279        lift item 1
280        drop aspectExtractContainer 75 80 0
281        pause 500
282        promptresponse LyricExtractPrice
283    elseif 'Poison' in label
284        lift item 1
285        drop aspectExtractContainer 90 80 0
286        pause 500
287        promptresponse PoisonExtractPrice      
288    elseif 'Shadow' in label
289        lift item 1
290        drop aspectExtractContainer 105 80 0
291        pause 500
292        promptresponse ShadowExtractPrice      
293    elseif 'Void' in label
294        lift item 1
295        drop aspectExtractContainer 120 80 0
296        pause 500
297        promptresponse VoidExtractPrice        
298    elseif 'Water' in label
299        lift item 1
300        drop aspectExtractContainer 135 80 0
301        pause 500
302        promptresponse WaterExtractPrice     
303    endif
304    
305endwhile
306
307if setContainerVariables == '1'
308overhead 'Set container for Aspect Distillations' 2263
309setvar aspectDistillationContainer
310endif 
311
312while findtype 'flask' backpack as item
313    getlabel item label
314    if 'Air' in label
315        lift item 1
316        drop aspectDistillationContainer 25 50 0
317        pause 500
318        promptresponse AirDistillationPrice        
319    elseif 'Artisan' in label
320        lift item 1
321        drop aspectDistillationContainer 40 50 0
322        pause 500
323        promptresponse ArtisanDistillationPrice
324    elseif 'Blood' in label
325        lift item 1
326        drop aspectDistillationContainer 55 50 0
327        pause 500
328        promptresponse BloodDistillationPrice
329    elseif 'Command' in label
330        lift item 1
331        drop aspectDistillationContainer 70 50 0
332        pause 500
333        promptresponse CommandDistillationPrice
334    elseif 'Death' in label
335        lift item 1
336        drop aspectDistillationContainer 85 50 0
337        pause 500
338        promptresponse DeathDistillationPrice
339    elseif 'Discipline' in label
340        lift item 1
341        drop aspectDistillationContainer 100 50 0
342        pause 500
343        promptresponse DisciplineDistillationPrice
344    elseif 'Earth' in label
345        lift item 1
346        drop aspectDistillationContainer 115 50 0
347        pause 500
348        promptresponse EarthDistillationPrice
349    elseif 'Eldritch' in label
350        lift item 1
351        drop aspectDistillationContainer 130 50 0
352        pause 500
353        promptresponse EldritchDistillationPrice
354    elseif 'Fire' in label
355        lift item 1
356        drop aspectDistillationContainer 30 80 0
357        pause 500
358        promptresponse FireDistillationPrice        
359    elseif 'Fortune' in label
360        lift item 1
361        drop aspectDistillationContainer 45 80 0
362        pause 500
363        promptresponse FortuneDistillationPrice
364    elseif 'Holy' in label
365        lift item 1
366        drop aspectDistillationContainer 60 80 0
367        pause 500
368        promptresponse HolyDistillationPrice
369    elseif 'Lyric' in label
370        lift item 1
371        drop aspectDistillationContainer 75 80 0
372        pause 500
373        promptresponse LyricDistillationPrice
374    elseif 'Poison' in label
375        lift item 1
376        drop aspectDistillationContainer 90 80 0
377        pause 500
378        promptresponse PoisonDistillationPrice      
379    elseif 'Shadow' in label
380        lift item 1
381        drop aspectDistillationContainer 105 80 0
382        pause 500
383        promptresponse ShadowDistillationPrice      
384    elseif 'Void' in label
385        lift item 1
386        drop aspectDistillationContainer 120 80 0
387        pause 500
388        promptresponse VoidDistillationPrice        
389    elseif 'Water' in label
390        lift item 1
391        drop aspectDistillationContainer 135 80 0
392        pause 500
393        promptresponse WaterDistillationPrice
394    endif
395  
396endwhile
397
398//Skill Scrolls
399
400if setContainerVariables == '1'
401overhead 'Set container for Skill Scrolls' 2263
402setvar skillScrollsContainer
403endif
404
405while findtype 'scroll of calling' backpack as item
406    getlabel item label
407    if 'alchemy' in label
408        lift item 1
409        drop skillScrollsContainer 15 50 0
410        pause 500
411        promptresponse AlchemyPrice     
412    elseif 'animal lore' in label
413        lift item 1
414        drop skillScrollsContainer 25 50 0
415        pause 500
416        promptresponse AnimalLorePrice        
417    elseif 'animal taming' in label
418        lift item 1
419        drop skillScrollsContainer 35 50 0
420        pause 500
421        promptresponse AnimalTamingPrice  
422    elseif 'arms lore' in label
423        lift item 1
424        drop skillScrollsContainer 45 50 0
425        pause 500
426        promptresponse ArmsLorePrice        
427    elseif 'begging' in label
428        lift item 1
429        drop skillScrollsContainer 55 50 0
430        pause 500
431        promptresponse BeggingPrice
432    elseif 'blacksmithy' in label
433        lift item 1
434        drop skillScrollsContainer 65 50 0
435        pause 500
436        promptresponse BlacksmithyPrice  
437    elseif 'camping' in label
438        lift item 1
439        drop skillScrollsContainer 75 50 0
440        pause 500
441        promptresponse CampingPrice  
442    elseif 'carpentry' in label
443        lift item 1
444        drop skillScrollsContainer 85 50 0
445        pause 500
446        promptresponse CarpentryPrice 
447    elseif 'cartography' in label
448        lift item 1
449        drop skillScrollsContainer 95 50 0
450        pause 500
451        promptresponse CartographyPrice
452    elseif 'chivalry' in label
453        lift item 1
454        drop skillScrollsContainer 105 50 0
455        pause 500
456        promptresponse ChivalryPrice
457    elseif 'cooking' in label
458        lift item 1
459        drop skillScrollsContainer 115 50 0
460        pause 500
461        promptresponse CookingPrice
462    elseif 'detect hidden' in label
463        lift item 1
464        drop skillScrollsContainer 125 50 0
465        pause 500
466        promptresponse DetectHiddenPrice
467    elseif 'discordance' in label
468        lift item 1
469        drop skillScrollsContainer 135 50 0
470        pause 500
471        promptresponse DiscordancePrice
472    elseif 'fishing' in label
473        lift item 1
474        drop skillScrollsContainer 20 70 0
475        pause 500
476        promptresponse FishingPrice
477    elseif 'forensic eval' in label
478        lift item 1
479        drop skillScrollsContainer 30 70 0
480        pause 500
481        promptresponse ForensicEvalPrice
482    elseif 'herding' in label
483        lift item 1
484        drop skillScrollsContainer 40 70 0
485        pause 500
486        promptresponse HerdingPrice
487    elseif 'inscription' in label
488        lift item 1
489        drop skillScrollsContainer 50 70 0
490        pause 500
491        promptresponse InscriptionPrice
492    elseif 'item id' in label
493        lift item 1
494        drop skillScrollsContainer 60 70 0
495        pause 500
496        promptresponse ItemIdPrice
497    elseif 'lockpicking' in label
498        lift item 1
499        drop skillScrollsContainer 70 70 0
500        pause 500
501        promptresponse LockpickingPrice
502    elseif 'lumberjacking' in label
503        lift item 1
504        drop skillScrollsContainer 80 70 0
505        pause 500
506        promptresponse LumberjackingPrice
507    elseif 'musicianship' in label
508        lift item 1
509        drop skillScrollsContainer 90 70 0
510        pause 500
511        promptresponse MusicanshipPrice
512    elseif 'mining' in label
513        lift item 1
514        drop skillScrollsContainer 100 70 0
515        pause 500
516        promptresponse MiningPrice
517    elseif 'necromancy' in label
518        lift item 1
519        drop skillScrollsContainer 110 70 0
520        pause 500
521        promptresponse NecromancyPrice
522    elseif 'peacemaking' in label
523        lift item 1
524        drop skillScrollsContainer 120 70 0
525        pause 500
526        promptresponse PeacemakingPrice
527    elseif 'poisoning' in label
528        lift item 1
529        drop skillScrollsContainer 130 70 0
530        pause 500
531        promptresponse PoisoningPrice
532    elseif 'provocation' in label
533        lift item 1
534        drop skillScrollsContainer 15 90 0
535        pause 500
536        promptresponse ProvocationPrice
537    elseif 'remove trap' in label
538        lift item 1
539        drop skillScrollsContainer 25 90 0
540        pause 500
541        promptresponse RemoveTrapPrice
542    elseif 'spirit speak' in label
543        lift item 1
544        drop skillScrollsContainer 35 90 0
545        pause 500
546        promptresponse SpiritSpeakPrice
547    elseif 'stealth' in label
548        lift item 1
549        drop skillScrollsContainer 45 90 0
550        pause 500
551        promptresponse StealthPrice
552    elseif 'tailoring' in label
553        lift item 1
554        drop skillScrollsContainer 55 90 0
555        pause 500
556        promptresponse TailoringPrice
557    elseif 'taste id' in label
558        lift item 1
559        drop skillScrollsContainer 65 90 0
560        pause 500
561        promptresponse TasteIdPrice
562    elseif 'tinkering' in label
563        lift item 1
564        drop skillScrollsContainer 75 90 0
565        pause 500
566        promptresponse TinkeringPrice
567    elseif 'tracking' in label
568        lift item 1
569        drop skillScrollsContainer 85 90 0
570        pause 500
571        promptresponse TrackingPrice
572    elseif 'veterinary' in label
573        lift item 1
574        drop skillScrollsContainer 95 90 0
575        pause 500
576        promptresponse VeterinaryPrice
577    endif    
578endwhile
579
580//Maps
581if setContainerVariables == '1'
582    overhead 'Set container for Maps' 2263
583setvar mapsContainer
584endif 
585
586while findtype 'map' backpack as item
587    getlabel item label
588    if 'level 1' in label
589        lift item 1
590        drop mapsContainer 30 60 0
591        pause 500
592        promptresponse T1Price        
593        elseif 'level 2' in label
594        lift item 1
595        drop mapsContainer 45 60 0
596        pause 500
597        promptresponse T2Price
598        elseif 'level 3' in label
599        lift item 1
600        drop mapsContainer 60 60 0
601        pause 500
602        promptresponse T3Price
603        elseif 'level 4' in label
604        lift item 1
605        drop mapsContainer 75 60 0
606        pause 500
607        promptresponse T4Price
608        elseif 'level 5' in label
609        lift item 1
610        drop mapsContainer 90 60 0
611        pause 500
612        promptresponse T5Price
613        elseif 'level 6' in label
614        lift item 1
615        drop mapsContainer 105 60 0
616        pause 500
617        promptresponse T6Price
618        elseif 'level 8' in label
619        lift item 1
620        drop mapsContainer 120 60 0
621        pause 500
622        promptresponse T8Price      
623    endif
624endwhile
625
626//Other rares
627if setContainerVariables == '1'
628overhead 'Set container for other items' 2263
629setvar otherItemsContainer
630endif
631
632while findtype 'Book of Truth' backpack as item
633    lift item 5
634    drop otherItemsContainer 45 60 0
635    pause 500
636    promptresponse MastercraftingDiagramPrice
637endwhile
638
639while findtype 'void orb' backpack as item
640    lift item 1
641    drop otherItemsContainer 65 60 0
642    pause 500
643    promptresponse SkillOrbPrice
644endwhile
645
646while findtype 'research materials' backpack as item
647    lift item 5
648    drop otherItemsContainer 85 60 0
649    pause 500
650    promptresponse ResearchMaterialsPrice
651endwhile
652
653while findtype 'blank scroll%s%' backpack 2609 as item
654    lift item 20
655    drop otherItemsContainer 105 60 0
656    pause 500
657    promptresponse ArcaneScrollPrice
658endwhile
659
660overhead 'Script Finished' 2263