It works great, excpet for the part where it keeps throwing all the runic rewards in the thrash.
Anyone know why it keeps throwing everything away?
//1. Character needs Fletching, Carpentry and Tinkering, a Fletching Bonus talisman saves resources
//2. FletcherDropoff container needs bolts, ingots, boards in it
//3. FletcherRunebook needs 1st rune to be Dropoff location and 2nd rune near Heartwood entrance
//4. Start in Heartwood with a beetle full of only boards. Have crafted tinker tools, 40 ingots, and 200 bolts in your pack or start at your Dropoff location to restock these items
//5. First time you are setting alias for new beetle, play macro while dismounted.
@setalias 'FletcherDropoff'
@setalias 'beetle'
@setalias 'FletcherRunebook'
@removelist 'woodhue'
@removelist 'magechiv'
@createlist 'woodhue'
@createlist 'magechiv'
//plain=0, oak=2010, ash=1191 | mage=5,11 chiv = 7,13 | bond = 10, unbond = 9
@pushlist 'woodhue' 0
@pushlist 'magechiv' 5
@pushlist 'magechiv' 11
if not listexists 'Slayers'
@createlist 'Slayers'
//@pushlist 'Slayers' 'Ice Slayer'
//@pushlist 'Slayers' 'Flame Slayer'
//@pushlist 'Slayers' 'Vermin Slayer'
//@pushlist 'Slayers' 'Mage Slayer'
//@pushlist 'Slayers' 'Bird Slayer'
endif
if not listexists 'Killers'
@createlist 'Killers'
//@pushlist 'Killers' 'Yamandon Killer'
//@pushlist 'Killers' 'Lich Killer'
//@pushlist 'Killers' 'Lich Lord Killer'
//@pushlist 'Killers' 'Dread Spider Killer'
//@pushlist 'Killers' 'Giant Black Widow Killer'
//@pushlist 'Killers' 'Eagle Killer'
endif
if not listexists 'Protection'
@createlist 'Protection'
//@pushlist 'Protection' 'Yamandon Protection'
//@pushlist 'Protection' 'Lich Protection'
//@pushlist 'Protection' 'Lich Lord Protection'
//@pushlist 'Protection' 'Dread Spider Protection'
//@pushlist 'Protection' 'Giant Black Widow Protection'
//@pushlist 'Protection' 'Silver Serpent Protection'
//@pushlist 'Protection' 'Eagle Protection'
endif
if not listexists 'Recipes'
@createlist 'Recipes'
//@pushlist 'Recipes' 'Acid Proof Rope'
//@pushlist 'Recipes' 'Ancient Wild Staff'
//@pushlist 'Recipes' 'Arcane Bookshelf'
//@pushlist 'Recipes' "Arcanist's Wild Staff"
//@pushlist 'Recipes' 'Bramble Coat'
//@pushlist 'Recipes' 'Elven Armoire'
//@pushlist 'Recipes' 'Elven Dresser'
//@pushlist 'Recipes' 'Hardened Wild Staff'
//@pushlist 'Recipes' 'Ironwood Crown'
//@pushlist 'Recipes' 'Ornate Elven Chair'
//@pushlist 'Recipes' 'Ornate Elven Chest'
//@pushlist 'Recipes' 'Phantom Staff'
//@pushlist 'Recipes' 'Squirrel Statue'
//@pushlist 'Recipes' 'Tall Elven Bed'
//@pushlist 'Recipes' 'Thorned Wild Staff'
//@pushlist 'Recipes' 'Warrior Statue'
//@pushlist 'Recipes' "Assassin's Shortbow"
//@pushlist 'Recipes' 'Barbed Longbow'
//@pushlist 'Recipes' 'Blight Gripped Longbow'
//@pushlist 'Recipes' 'Faerie Fire'
//@pushlist 'Recipes' 'Frozen Longbow'
//@pushlist 'Recipes' 'Lightweight Shortbow'
//@pushlist 'Recipes' 'Longbow of Might'
//@pushlist 'Recipes' 'Mischief Maker'
//@pushlist 'Recipes' 'Mystical Shortbow'
//@pushlist 'Recipes' "Ranger's Shortbow"
//@pushlist 'Recipes' "Silvani's Feywood Bow"
//@pushlist 'Recipes' 'Slayer Longbow'
//@pushlist 'Recipes' 'The Night Reaper'
endif
if not listexists 'Talismans'
@createlist 'Talismans'
@pushlist 'Talismans' 0x2f58
@pushlist 'Talismans' 0x2f59
@pushlist 'Talismans' 0x2f5a
@pushlist 'Talismans' 0x2f5b
endif
if not listexists 'Jewelry'
@createlist 'Jewelry'
@pushlist 'Jewelry' 0x108a
@pushlist 'Jewelry' 0x1f09
@pushlist 'Jewelry' 0x1086
@pushlist 'Jewelry' 0x1f06
endif
if not timerexists 'Carpentry'
createtimer 'Carpentry'
endif
if not timerexists 'carptry'
createtimer 'carptry'
endif
if not timerexists 'toggletimeout'
createtimer 'toggletimeout'
endif
//stop if you lack skills
if skill 'Carpentry' < 30 or skill 'Tinkering' < 45
sysmsg 'You need 36 Carpentry and 50+ tinkering to run this macro effectively.' 34
stop
elseif skill 'Bowcraft' < 90
sysmsg 'You need at least 90 (preferrably 100) bowcrafting to run this macro. You will also want a Fletching bonus talisman' 34
stop
endif
//stop macro if you forgot to restock bolts or ingots or have no tinker tools
if counttype 0x1bf2 0 'backpack' == 0 and not @inrange 'FletcherDropoff' 2
sysmsg 'Restock ingots before starting!' 33
stop
endif
if counttype 0x1bfb 0 'backpack' == 0 and counttype 0x1bfb 1258 'backpack' == 0
if not @inrange 'FletcherDropoff' 2
sysmsg 'Restock bolts before starting!' 33
stop
endif
endif
if @counttype 0x1eb8 0 'backpack' == 0
sysmsg 'Get crafted tinker tools before starting!' 33
stop
endif
clearignorelist
// make tinker tools
if @counttype 0x1eb8 0 'backpack' < 2 and not @inrange 'FletcherDropoff' 2
pause 550
while @counttype 0x1eb8 0 'backpack' < 2
usetype! 0x1eb8
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
@replygump 0x38920abd 23
endwhile
endif
//make saws
if @counttype 0x1034 0 'backpack' < 3 and not @inrange 'FletcherDropoff' 2
while @counttype 0x1034 0 'backpack' < 3
pause 550
usetype! 0x1eb8
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
@replygump 0x38920abd 51
waitforgump 0x38920abd 2000
endwhile
endif
// make plain fletcher kits
if @counttype 0x1022 0 'backpack' < 3 and not @inrange 'FletcherDropoff' 2
while @counttype 0x1022 0 'backpack' < 3
pause 550
usetype! 0x1eb8
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
@replygump 0x38920abd 142
endwhile
endif
if @findtype 0xe75 'any' 'backpack' and not @inrange 'FletcherDropoff' 2
if @injournal 'The world will save in 10 seconds.' 'system'
while not @injournal 'world save complete' 'system'
endwhile
@clearjournal
endif
// Handle reward bags
while @findtype 0xe75 'any' 'backpack'
pause 550
@setalias 'trash' 'found'
@useobject! 'trash'
pause 550
// fletcher Runics
while @findtype 0x1022 'any' 'trash'
@moveitem! 'found' 'backpack'
pause 1000
if color 'found' == 2010
//uncomment this next line to throw Oak kits in the trash
//@moveitem! 'found' 'Trash Barrel'
pause 550
elseif color 'found' == 1191
//uncomment this next line to throw Ash kits in the trash
//@moveitem! 'found' 'Trash Barrel'
pause 550
elseif color 'found' == 1192
sysmsg 'Nice, a Yew kit' 33
elseif color 'found' == 1193
for 10
sysmsg 'Woohoo! Heartwood!' 63
endfor
endif
ignoreobject 'found'
endwhile
//runic saws
while @findtype 0x1028 'any' 'trash'
@moveitem! 'found' 'backpack'
pause 1000
if color 'found' == 2010
//uncomment this next line to throw Oak saws in the trash
//@moveitem! 'found' 'Trash Barrel'
pause 550
elseif color 'found' == 1191
//uncomment this next line to throw Ash saws in the trash
//@moveitem! 'found' 'Trash Barrel'
pause 550
elseif color 'found' == 1192
sysmsg 'Nice, a Yew saw' 33
elseif color 'found' == 1193
for 10
sysmsg 'Woohoo! Heartwood!' 63
endfor
endif
ignoreobject 'found'
endwhile
//recipes
while @findtype 0x2831 0 'trash'
waitforproperties 'found' 15000
for 0 to 'Recipes'
if @property Recipes[] 'found'
@moveitem! 'found' 'backpack'
pause 1000
break
endif
endfor
ignoreobject 'found'
endwhile
// Talismans
for 0 to 'Talismans'
while @findtype Talismans[] 0 'trash'
waitforproperties 'found' 15000
//crafting bonus and exceptional bonus talismans, set to your liking
if @property 'Tinkering Exceptional Bonus' 'found' >= 23 and @property 'Tinkering Bonus' 'found' >= 23
@moveitem! 'found' 'backpack'
pause 1000
break
elseif @property 'Alchemy Bonus' 'found' >= 30 or @property 'Fletching Bonus' 'found' >= 30
@moveitem! 'found' 'backpack'
pause 1000
break
elseif @property 'Fletching Exceptional Bonus' 'found' >= 23 and @property 'Fletching Bonus' 'found' >= 23
@moveitem! 'found' 'backpack'
pause 1000
break
elseif @property 'Tailoring Exceptional Bonus' 'found' >= 23 and @property 'Tailoring Bonus' 'found' >= 23
@moveitem! 'found' 'backpack'
pause 1000
break
elseif @property 'Carpentry Exceptional Bonus' 'found' >= 23 and @property 'Carpentry Bonus' 'found' >= 23
@moveitem! 'found' 'backpack'
pause 1000
break
elseif @property 'Inscription Bonus' 'found' >= 30 or @property 'Cooking Bonus' 'found' >= 30
@moveitem! 'found' 'backpack'
pause 1000
break
elseif @property 'Blacksmithing Exceptional Bonus' 'found' >= 23 and @property 'Blacksmithing Bonus' 'found' >= 23
@moveitem! 'found' 'backpack'
pause 1000
break
endif
//get slayers
for 0 to 'Slayers'
if @property Slayers[] 'found'
@moveitem! 'found' 'backpack'
pause 1000
break
endif
endfor
//get killers
for 0 to 'Killers'
if @property Killers[] 'found' >= 98
@moveitem! 'found' 'backpack'
pause 1000
break
endif
endfor
//get protections
for 0 to 'Protection'
if @property Protection[] 'found' >= 59
@moveitem! 'found' 'backpack'
pause 1000
break
endif
endfor
ignoreobject 'found'
endwhile
endfor
//Jewels
for 0 to 'Jewelry'
while @findtype Jewelry[] 0 'trash'
waitforproperties 'found' 15000
//EP DI jewels
if @property 'Enhance Potions' 'found' >= 15 and @property 'Damage Increase' 'found' >= 15
@moveitem! 'found' 'backpack'
pause 1000
break
endif
if @property 'Faster Cast Recovery' 'found' == 3
@moveitem! 'found' 'backpack'
pause 1000
break
endif
//save 1/2 and 1/1
if @property 'Faster Cast Recovery' 'found' > 0 and @property 'Faster Casting' 'found'
@moveitem! 'found' 'backpack'
pause 1000
break
endif
//hci and dci jewels, other usable hci dci jewels will be captured by above
if @property 'Defense chance increase' 'found' >= 10 and @property 'Hit chance increase' 'found' >= 5
@moveitem! 'found' 'backpack'
pause 1000
break
endif
if @property 'Hit chance increase' 'found' >= 10 and @property 'Defense chance increase' 'found' >= 5
@moveitem! 'found' 'backpack'
pause 1000
break
endif
ignoreobject 'found'
endwhile
endfor
//clear the ignore list so it doesn't skip items at dropoff
clearignorelist
if @inrange 'Trash Barrel' 2
@moveitem! 'trash' 'Trash Barrel'
pause 550
else
@unsetalias 'dump'
while @findtype 0xe75 'any' 'ground' 1 2 and not @findalias 'dump'
waitforproperties 'found' 5000
if @property 'items' 'found' < 115
@setalias 'dump' 'found'
else
@ignoreobject 'found'
endif
endwhile
if @findalias 'dump'
@moveitem 'trash' 'dump'
pause 550
else
moveitemoffset 'trash' 'ground' [(0 1 0)]
pause 550
endif
endwhile
endif
//if at home, unload and restock
elseif @inrange 'FletcherDropoff' 2
//open containers
useobject 'self'
pause 1000
useobject 'FletcherDropoff'
pause 1000
waitforproperties 'beetle' 5000
if @property 'bonded' 'beetle'
waitforcontext 'beetle' 10 15000
else
waitforcontext 'beetle' 9 15000
endif
pause 1000
//unload jewels and talismans
for 0 to 'Talismans'
for 0 to 'Jewelry'
if @findtype Jewelry[] 'any' 'backpack' or @findtype Talismans[] 'any' 'backpack'
moveitem 'found' 'FletcherDropoff'
pause 500
endif
endfor
endfor
//unload saws and kits
clearignorelist
while @findtype 0x1028 'any' 'backpack' or @findtype 0x1022 'any' 'backpack'
if color 'found' == 0
ignoreobject 'found'
else
moveitem 'found' 'FletcherDropoff'
pause 500
endif
endwhile
//get more bolts
if counttype 0x1bfb 0 'backpack' < 130
if counttype 0x1bfb 0 'FletcherDropoff' < 200
sysmsg 'Out of Bolts!' 33
useobject 'beetle'
stop
endif
movetype 0x1bfb 'FletcherDropoff' 'backpack' (0 0 0) 0 200
pause 1000
endif
// get ingots if low
if counttype 0x1bf2 0 'backpack' < 20
if counttype 0x1bf2 0 'FletcherDropoff' < 40
sysmsg 'Out of Ingots!' 33
useobject 'beetle'
stop
endif
movetype 0x1bf2 'FletcherDropoff' 'backpack' (0 0 0) 0 40
pause 1000
endif
//get boards on beetle and self
//first make sure beetle is empty, sometimes UOS won't pull 200 boards and you end up with odd number left behind
if counttype 0x1bd7 'any' 'beetle' > 0
while counttype 0x1bd7 'any' 'beetle' > 1599
movetype 0x1bd7 'beetle' 'FletcherDropoff' [(0 0 0)] 'any' 1600
pause 500
endwhile
while counttype 0x1bd7 'any' 'beetle' > 499
movetype 0x1bd7 'beetle' 'FletcherDropoff' [(0 0 0)] 'any' 500
pause 500
endwhile
while counttype 0x1bd7 'any' 'beetle' > 99
movetype 0x1bd7 'beetle' 'FletcherDropoff' [(0 0 0)] 'any' 100
pause 500
endwhile
while counttype 0x1bd7 'any' 'beetle' > 24
movetype 0x1bd7 'beetle' 'FletcherDropoff' [(0 0 0)] 'any' 25
pause 500
endwhile
while counttype 0x1bd7 'any' 'beetle' > 4
movetype 0x1bd7 'beetle' 'FletcherDropoff' [(0 0 0)] 'any' 5
pause 500
endwhile
while counttype 0x1bd7 'any' 'beetle' > 0
movetype 0x1bd7 'beetle' 'FletcherDropoff' [(0 0 0)] 'any' 1
pause 500
endwhile
endif
//stop if FletcherDropoff is out of boards
if counttype 0x1bd7 woodhue[0] 'FletcherDropoff' < 1900
sysmsg 'Out of Boards!' 33
useobject 'beetle'
//@playmacro 'Lumberjacking'
while counttype 0x1bd7 woodhue[0] 'FletcherDropoff' < 1900
pause 20000
endwhile
endif
//fill beetle with boards
if mounted 'self'
pause 550
useobject 'self'
pause 1000
waitforproperties 'beetle' 5000
if @property 'bonded' 'beetle'
waitforcontext 'beetle' 10 15000
else
waitforcontext 'beetle' 9 15000
endif
endif
if @movetype 0x1bd7 'FletcherDropoff' 'beetle' 0 0 0 woodhue[0] 1600
pause 750
else
useobject 'FletcherDropoff'
pause 550
waitforcontents 'FletcherDropoff' 5000
for 4
if @movetype 0x1bd7 'FletcherDropoff' 'backpack' 0 0 0 woodhue[0] 400 and @property 'Stones' 'beetle' < 1600
pause 750
endif
endfor
for 4
if @movetype 0x1bd7 'FletcherDropoff' 'backpack' 0 0 0 woodhue[0] 100 and @property 'Stones' 'beetle' < 1600
pause 750
endif
endfor
for 4
if @movetype 0x1bd7 'FletcherDropoff' 'backpack' 0 0 0 woodhue[0] 25 and @property 'Stones' 'beetle' < 1600
pause 750
endif
endfor
for 5
if @movetype 0x1bd7 'FletcherDropoff' 'backpack' 0 0 0 woodhue[0] 5 and @property 'Stones' 'beetle' < 1600
pause 750
endif
endfor
for 5
if @movetype 0x1bd7 'FletcherDropoff' 'backpack' 0 0 0 woodhue[0] 1 and @property 'Stones' 'beetle' < 1600
pause 750
endif
endfor
@canceltarget
endif
//move boards to your pack based on how low your pack is
//max weight minus 350
if weight < 175
movetype 0x1bd7 'FletcherDropoff' 'backpack' (0 0 0) woodhue[0] 350
pause 1000
//max weight minus 300
elseif weight < 225
movetype 0x1bd7 'FletcherDropoff' 'backpack' (0 0 0) woodhue[0] 300
pause 1000
//max weight minus 250
elseif weight < 275
movetype 0x1bd7 'FletcherDropoff' 'backpack' (0 0 0) woodhue[0] 250
pause 1000
//max weight minus 200
elseif weight < 325
movetype 0x1bd7 'FletcherDropoff' 'backpack' (0 0 0) woodhue[0] 200
pause 1000
//max weight minus 150
elseif weight < 375
movetype 0x1bd7 'FletcherDropoff' 'backpack' (0 0 0) woodhue[0] 150
pause 1000
//max weight minus 100
elseif weight < 425
movetype 0x1bd7 'FletcherDropoff' 'backpack' (0 0 0) woodhue[0] 100
pause 1000
elseif counttype 0x1bd7 woodhue[0] 'backpack' < 1
movetype 0x1bd7 'FletcherDropoff' 'backpack' (0 0 0) woodhue[0] 1
pause 1000
endif
//set fletching kits and saws to correct wood type
if @findtype 0x1bd7 0 'backpack'
pause 550
usetype! 0x1022
waitforgump 0x38920abd 1000
@replygump 0x38920abd 7
waitforgump 0x38920abd 1000
@replygump 0x38920abd 6
waitforgump 0x38920abd 1000
pause 550
usetype! 0x1034
waitforgump 0x38920abd 1000
@replygump 0x38920abd 7
waitforgump 0x38920abd 1000
@replygump 0x38920abd 6
waitforgump 0x38920abd 1000
pause 550
//warn if other color boards, bows, stools in place
if @findtype 0x1bd7 2010 'backpack' or @findtype 0x1bd7 1191 'backpack'
sysmsg 'You have two types of boards in your pack. Fix before starting macro.' 34
stop
endif
if @findtype 0x13b2 2010 'backpack' or @findtype 0x13b2 1191 'backpack'
sysmsg 'Delete the different hued bows from the wood type you are trying to use before starting macro.' 34
stop
endif
if @findtype 0xf50 2010 'backpack' or @findtype 0xf50 1191 'backpack'
sysmsg 'Delete the different hued crossbows from the wood type you are trying to use before starting macro.' 34
stop
endif
if @findtype 0x13fd 2010 'backpack' or @findtype 0x13fd 1191 'backpack'
sysmsg 'Delete the different hued heavy crossbows from the wood type you are trying to use before starting macro.' 34
stop
endif
if @findtype 0x26c3 2010 'backpack' or @findtype 0x26c3 1191 'backpack'
sysmsg 'Delete the different hued repeating crossbows from the wood type you are trying to use before starting macro.' 34
stop
endif
elseif @findtype 0x1bd7 2010 'backpack'
if skill 'Carpentry' < 65
sysmsg 'You need 65 Carpentry to craft with Oak' 33
stop
else
pause 550
usetype! 0x1022
waitforgump 0x38920abd 1000
@replygump 0x38920abd 7
waitforgump 0x38920abd 1000
@replygump 0x38920abd 13
waitforgump 0x38920abd 1000
pause 550
usetype! 0x1034
waitforgump 0x38920abd 1000
@replygump 0x38920abd 7
waitforgump 0x38920abd 1000
@replygump 0x38920abd 13
waitforgump 0x38920abd 1000
pause 550
//warn if other color boards, bows, stools in place
if @findtype 0x1bd7 0 'backpack' or @findtype 0x1bd7 1191 'backpack'
sysmsg 'You have two types of boards in your pack. Fix before starting macro.' 34
stop
endif
if @findtype 0x13b2 0 'backpack' or @findtype 0x13b2 1191 'backpack'
sysmsg 'Delete the different hued bows from the wood type you are trying to use before starting macro.' 34
stop
endif
if @findtype 0xf50 0 'backpack' or @findtype 0xf50 1191 'backpack'
sysmsg 'Delete the different hued crossbows from the wood type you are trying to use before starting macro.' 34
stop
endif
if @findtype 0x13fd 0 'backpack' or @findtype 0x13fd 1191 'backpack'
sysmsg 'Delete the different hued heavy crossbows from the wood type you are trying to use before starting macro.' 34
stop
endif
if @findtype 0x26c3 0 'backpack' or @findtype 0x26c3 1191 'backpack'
sysmsg 'Delete the different hued repeating crossbows from the wood type you are trying to use before starting macro.' 34
stop
endif
endif
elseif @findtype 0x1bd7 1191 'backpack'
if skill 'Carpentry' < 80
sysmsg 'You need 80 Carpentry to craft with Ash' 33
stop
else
pause 550
usetype! 0x1022
waitforgump 0x38920abd 2000
@replygump 0x38920abd 7
waitforgump 0x38920abd 2000
@replygump 0x38920abd 20
waitforgump 0x38920abd 2000
pause 550
usetype! 0x1034
waitforgump 0x38920abd 2000
@replygump 0x38920abd 7
waitforgump 0x38920abd 2000
@replygump 0x38920abd 20
waitforgump 0x38920abd 2000
pause 550
//warn if other color boards, bows, stools in place
if @findtype 0x1bd7 2010 'backpack' or @findtype 0x1bd7 0 'backpack'
sysmsg 'You have two types of boards in your pack. Fix before starting macro.' 34
stop
endif
if @findtype 0x13b2 2010 'backpack' or @findtype 0x13b2 0 'backpack'
sysmsg 'Delete the different hued bows from the wood type you are trying to use before starting macro.' 34
stop
endif
if @findtype 0xf50 2010 'backpack' or @findtype 0xf50 0 'backpack'
sysmsg 'Delete the different hued crossbows from the wood type you are trying to use before starting macro.' 34
stop
endif
if @findtype 0x13fd 2010 'backpack' or @findtype 0x13fd 0 'backpack'
sysmsg 'Delete the different hued heavy crossbows from the wood type you are trying to use before starting macro.' 34
stop
endif
if @findtype 0x26c3 2010 'backpack' or @findtype 0x26c3 0 'backpack'
sysmsg 'Delete the different hued repeating crossbows from the wood type you are trying to use before starting macro.' 34
stop
endif
endif
endif
//mount beetle and recall back to heartwood
if @injournal 'The world will save in 10 seconds.' 'system'
while not @injournal 'world save complete' 'system'
endwhile
@clearjournal
endif
useobject 'beetle'
pause 2000
@unsetalias 'restockyes'
while @inrange 'FletcherDropoff' 5
clearjournal
useobject 'FletcherRunebook'
waitforgump 0x554b87f3 15000
@replygump 0x554b87f3 magechiv[1]
pause 2000
if @injournal 'blocked' 'system'
sysmsg 'Rune blocked, trying again in 30 sec' 33
pause 30000
endif
endwhile
//navigate to heartwood entrance
while y != 992 and y > 400
for 2
if y > 992
walk 'north'
endif
pause 250
if y < 992
walk 'south'
endif
pause 250
endfor
endwhile
if x > 535 and x < 1000
while x > 535 and x < 1000
run 'west'
pause 100
endwhile
endif
if x < 537
while x < 537
run 'east'
pause 100
endwhile
endif
//navigate through heartwood to quest area
while y < 372
run 'southeast'
//crafting while running southeast
if @findalias 'bowquesting' and not @findalias 'bowsdone'
if @gumpexists 0x38920abd and not @ingump 0x38920abd 'Faerie Fire'
pause 550
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 15
waitforgump 0x38920abd 2000
endif
endif
if @gumpexists 0x38920abd
if @ingump 0x38920abd 'Faerie Fire'
if @findalias 'simplebow' and counttype 0x13b2 'any' 'backpack' < 10
@replygump 0x38920abd 2
elseif @findalias 'ingenious1' and counttype 0xf50 'any' 'backpack' < 10
@replygump 0x38920abd 9
elseif @findalias 'ingenious2' and counttype 0x13fd 'any' 'backpack' < 8
@replygump 0x38920abd 16
elseif @findalias 'ingenious3' and counttype 0x26c3 'any' 'backpack' < 10
@replygump 0x38920abd 30
elseif not @findalias 'bowsdone' and @findalias 'bowquesting'
if @findalias 'simplebow' and counttype 0x13b2 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious1' and counttype 0xf50 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious2' and counttype 0x13fd 'any' 'backpack' > 7
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious3' and counttype 0x26c3 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
endif
elseif counttype 0xb5e 'any' 'backpack' < 10
pause 550
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
elseif counttype 0xb5e 'any' 'backpack' < 10 and @ingump 0x38920abd 'Magincia-style'
@replygump 0x38920abd 2
elseif counttype 0xb5e 'any' 'backpack' < 10
if x > 7026
pause 550
endif
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
endif
endwhile
while y < 377
run 'southwest'
endwhile
pause 250
for 10
while y < 378
walk 'south'
pause 300
endwhile
while y > 378
walk 'north'
pause 300
endwhile
endfor
if timer 'Carpentry' > 30000
while x > 7000
run 'west'
endwhile
else
while x < 7036
run 'east'
endwhile
endif
elseif @findalias 'restockyes' and counttype 0x1bd7 woodhue[0] 'backpack' < 10
//leave heartwood
if not mounted 'self'
useobject 'beetle'
pause 1000
endif
while x < 7024
run 'east'
endwhile
while x > 7028
run 'west'
endwhile
pause 300
while y > 343
run "Northwest"
endwhile
while x < 6989
walk 'east'
pause 150
endwhile
while x > 6989
walk 'west'
pause 150
endwhile
while y != 338 and y < 600
for 10
if y > 338 and y < 600
walk 'north'
pause 250
endif
if y < 338 and y < 600
walk 'south'
pause 250
endif
if x > 6989
turn 'west'
walk 'west'
elseif x < 6989
turn 'east'
walk 'east'
endif
endfor
endwhile
while x > 1000
while y > 338 and y < 600
turn 'north'
walk 'north'
pause 250
endwhile
while y < 338 and y < 600
turn 'south'
walk 'south'
pause 250
endwhile
run 'west'
endwhile
//recall home
if @injournal 'The world will save in 10 seconds.' 'system'
while not @injournal 'world save complete' 'system'
endwhile
@clearjournal
endif
useobject 'FletcherRunebook'
waitforgump 0x554b87f3 15000
@replygump 0x554b87f3 magechiv[0]
pause 2000
while y == 994
endwhile
elseif counttype 0x1bd7 woodhue[0] 'backpack' < 10
//get 200 boards from beetle
if mounted 'self'
pause 550
useobject 'self'
pause 1000
endif
waitforproperties 'beetle' 5000
if @property 'bonded' 'beetle'
waitforcontext 'beetle' 10 15000
else
waitforcontext 'beetle' 9 15000
endif
movetype 0x1bd7 'beetle' 'backpack' [(0 0 0)] woodhue[0] 200
pause 1000
if counttype 0x1bd7 woodhue[0] 'beetle' < 200
@setalias 'restockyes' 'self'
endif
useobject 'beetle'
pause 1000
elseif x < 7038 and x > 7035
clearignorelist
if not @inrange 'A Trash Barrel' 2
while @findtype 0xe7f 'any' 'ground' 'any' 2
if @property 'A Trash Barrel' 'found'
@setalias 'Trash Barrel' 'found'
endif
ignoreobject 'found'
endwhile
endif
//wipe aliases if it thinks you're on two quests
if @findalias 'simplebow' and @findalias 'ingenious1'
@unsetalias 'bowquesting'
@unsetalias 'simplebow'
@unsetalias 'ingenious1'
@unsetalias 'ingenious2'
@unsetalias 'ingenious3'
@unsetalias 'bowsdone'
elseif @findalias 'simplebow' and @findalias 'ingenious2'
@unsetalias 'bowquesting'
@unsetalias 'simplebow'
@unsetalias 'ingenious1'
@unsetalias 'ingenious2'
@unsetalias 'ingenious3'
@unsetalias 'bowsdone'
elseif @findalias 'simplebow' and @findalias 'ingenious3'
@unsetalias 'bowquesting'
@unsetalias 'simplebow'
@unsetalias 'ingenious1'
@unsetalias 'ingenious2'
@unsetalias 'ingenious3'
@unsetalias 'bowsdone'
elseif @findalias 'ingenious1' and @findalias 'ingenious2'
@unsetalias 'bowquesting'
@unsetalias 'simplebow'
@unsetalias 'ingenious1'
@unsetalias 'ingenious2'
@unsetalias 'ingenious3'
@unsetalias 'bowsdone'
elseif @findalias 'ingenious1' and @findalias 'ingenious3'
@unsetalias 'bowquesting'
@unsetalias 'simplebow'
@unsetalias 'ingenious1'
@unsetalias 'ingenious2'
@unsetalias 'ingenious3'
@unsetalias 'bowsdone'
elseif @findalias 'ingenious2' and @findalias 'ingenious3'
@unsetalias 'bowquesting'
@unsetalias 'simplebow'
@unsetalias 'ingenious1'
@unsetalias 'ingenious2'
@unsetalias 'ingenious3'
@unsetalias 'bowsdone'
endif
//get a quest if not on one
if not findalias 'bowquesting'
if not @inrange 'Fletching Quest Giver' 10
if not listexists 'npcbodies'
@createlist 'npcbodies'
//@pushlist 'npcbodies' 0x190
// @pushlist 'npcbodies' 0x191
@pushlist 'npcbodies' 0x25e
@pushlist 'npcbodies' 0x25d
endif
clearignorelist
for 0 to 'npcbodies'
while @findtype npcbodies[] 'any' 'ground' 1 18
waitforproperties 'found' 5000
if not @property ',' 'found'
if @property 'Jusae the bowcrafter' 'found' or @property 'Cillitha the bowcrafter' 'found'
@setalias 'Fletching Quest Giver' 'found'
endif
endif
ignoreobject 'found'
endwhile
endfor
if not @inrange 'Fletching Quest Giver' 18
sysmsg 'Fletching Quest Giver not found, please target' 34
promptalias 'Fletching Quest Giver'
endif
endif
@useobject 'Fletching Quest Giver'
waitforgump 0x19bc4061 1000
if @ingump 0x19bc4061 'crafted in the human style' or @ingump 0xa8b319c6 'debt if you bring me bows'
if @gumpexists 0x19bc4061
@replygump 0x19bc4061 1
endif
@setalias 'simplebow' 'self'
@setalias 'bowquesting' 'self'
pause 550
elseif @ingump 0x19bc4061 'such an instrument for me?' or @ingump 0xa8b319c6 'debt if you bring me crossbows'
if @gumpexists 0x19bc4061
@replygump 0x19bc4061 1
endif
@setalias 'ingenious1' 'self'
@setalias 'bowquesting' 'self'
pause 550
elseif @ingump 0x19bc4061 'remarkable instrument of war' or @ingump 0xa8b319c6 'debt if you bring me heavy crossbows'
if @gumpexists 0x19bc4061
@replygump 0x19bc4061 1
endif
@setalias 'ingenious2' 'self'
@setalias 'bowquesting' 'self'
pause 550
elseif @ingump 0x19bc4061 'remarkable human ingenuity' or @ingump 0xa8b319c6 'debt if you bring me repeating crossbows'
if @gumpexists 0x19bc4061
@replygump 0x19bc4061 1
endif
@setalias 'ingenious3' 'self'
@setalias 'bowquesting' 'self'
pause 550
elseif @ingump 0x19bc4061 'deadly crossbow bolt' or @ingump 0xa8b319c6 'debt if you bring me crossbow bolts'
if @findtype 0x1bfb 'any' 'backpack' 10
@replygump 0x19bc4061 1
pause 550
if color 'found' == 0
waitforcontext 'self' 4 5000
waitfortarget 5000
Target! 'found'
waitfortarget 5000
endif
endif
@canceltarget
pause 500
@useobject! 'Fletching Quest Giver'
waitforgump 0xdf31ecf8 5000
@replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 15000
@replygump 0x96626c6e 1
elseif @ingump 0xdf31ecf8 'My thanks'
replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 3000
replygump 0x96626c6e 1
elseif @gumpexists 0x96626c6e
replygump 0x96626c6e 1
elseif @ingump 0x19bc4061 'melodious of muisc'
@replygump 0x19bc4061 2
waitforgump 0xa8b319c6 15000
@replygump 0xa8b319c6 3
endif
endif
//trigger to go check stool quest every 30 seconds, quests are available again every rand(1-5)*30sec
if timer 'Carpentry' > 146000
setalias 'checkcarp' 'self'
sysmsg '150' 34
elseif timer 'Carpentry' > 118000 and not @findalias '120no'
setalias 'checkcarp' 'self'
sysmsg '120' 34
elseif timer 'Carpentry' > 88000 and not @findalias '90no'
setalias 'checkcarp' 'self'
sysmsg '90' 34
elseif timer 'Carpentry' > 58000 and not @findalias '60no'
setalias 'checkcarp' 'self'
sysmsg '60' 34
elseif timer 'Carpentry' > 28000 and not @findalias '30no'
setalias 'checkcarp' 'self'
sysmsg '30' 34
endif
if @gumpexists 0xa8b319c6
@replygump 0xa8b319c6 3
endif
//complete quests if you have enough bows crafted
if counttype 0x13b2 'any' 'backpack' > 9 and @findalias 'simplebow'
waitforcontext 'self' 4 5000
waitfortarget 5000
settimer 'toggletimeout' 0
while @counttype 0x13b2 0x4ea 'backpack' != 10 and timer 'toggletimeout' < 5000
@targettype 0x13b2 woodhue[0]
pause 150
endwhile
@canceltarget
pause 500
@useobject! 'Fletching Quest Giver'
waitforgump 0xdf31ecf8 2000
@replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 2000
@replygump 0x96626c6e 1
@unsetalias 'simplebow'
@unsetalias 'bowquesting'
@unsetalias 'bowsdone'
pause 1000
elseif counttype 0xf50 'any' 'backpack' > 9 and @findalias 'ingenious1'
waitforcontext 'self' 4 5000
waitfortarget 5000
settimer 'toggletimeout' 0
while @counttype 0xf50 0x4ea 'backpack' != 10 and timer 'toggletimeout' < 5000
@targettype 0xf50 woodhue[0]
pause 150
endwhile
@canceltarget
pause 500
@useobject! 'Fletching Quest Giver'
waitforgump 0xdf31ecf8 2000
@replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 2000
@replygump 0x96626c6e 1
@unsetalias 'ingenious1'
@unsetalias 'bowquesting'
@unsetalias 'bowsdone'
pause 1000
elseif counttype 0x13fd 'any' 'backpack' > 7 and @findalias 'ingenious2'
waitforcontext 'self' 4 5000
waitfortarget 5000
settimer 'toggletimeout' 0
while @counttype 0x13fd 0x4ea 'backpack' != 8 and timer 'toggletimeout' < 5000
@targettype 0x13fd woodhue[0]
pause 150
endwhile
@canceltarget
pause 500
@useobject! 'Fletching Quest Giver'
waitforgump 0xdf31ecf8 2000
@replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 2000
@replygump 0x96626c6e 1
@unsetalias 'ingenious2'
@unsetalias 'bowquesting'
@unsetalias 'bowsdone'
pause 1000
elseif counttype 0x26c3 'any' 'backpack' > 9 and @findalias 'ingenious3'
waitforcontext 'self' 4 5000
waitfortarget 5000
settimer 'toggletimeout' 0
while @counttype 0x26c3 0x4ea 'backpack' != 10 and timer 'toggletimeout' < 5000
@targettype 0x26c3 woodhue[0]
pause 150
endwhile
@canceltarget
pause 500
@useobject! 'Fletching Quest Giver'
waitforgump 0xdf31ecf8 2000
@replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 2000
@replygump 0x96626c6e 1
@unsetalias 'ingenious3'
@unsetalias 'bowquesting'
@unsetalias 'bowsdone'
pause 1000
//if you have trigger to go check carpentry, run west
elseif @findalias 'checkcarp' and timer 'Carpentry' > 25000
while @findtype '0x1bd7' woodhue[0] 'ground' 30 2 and counttype '0x1bd7' woodhue[0] 'backpack' < 190
moveitem 'found' 'backpack'
pause 550
endwhile
if counttype 0x1bd7 woodhue[0] 'backpack' < 50 and not @findalias 'restockyes'
//get 200 boards from beetle
if mounted 'self'
pause 550
useobject 'self'
pause 1000
endif
waitforproperties 'beetle' 5000
if @property 'bonded' 'beetle'
waitforcontext 'beetle' 10 15000
else
waitforcontext 'beetle' 9 15000
endif
movetype 0x1bd7 'beetle' 'backpack' [(0 0 0)] woodhue[0] 200
pause 1000
if counttype 0x1bd7 woodhue[0] 'beetle' < 200
@setalias 'restockyes' 'self'
endif
useobject 'beetle'
pause 1000
endif
if @gumpexists 0x19bc4061
@replygump 0x19bc4061 2
waitforgump 0xa8b319c6 1000
@replygump 0xa8b319c6 3
endif
while maxweight < weight
movetypeoffset 0x1bd7 'backpack' 'ground' [(0 2 0)] woodhue[0] 30
pause 550
endwhile
while x > 7000
run 'west'
//craft while running west
if @findalias 'bowquesting' and not @findalias 'bowsdone'
if @gumpexists 0x38920abd and not @ingump 0x38920abd 'Faerie Fire'
pause 550
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 15
waitforgump 0x38920abd 2000
endif
endif
if @gumpexists 0x38920abd
if @ingump 0x38920abd 'Faerie Fire'
if @findalias 'simplebow' and counttype 0x13b2 'any' 'backpack' < 10
@replygump 0x38920abd 2
elseif @findalias 'ingenious1' and counttype 0xf50 'any' 'backpack' < 10
@replygump 0x38920abd 9
elseif @findalias 'ingenious2' and counttype 0x13fd 'any' 'backpack' < 8
@replygump 0x38920abd 16
elseif @findalias 'ingenious3' and counttype 0x26c3 'any' 'backpack' < 10
@replygump 0x38920abd 30
elseif not @findalias 'bowsdone' and @findalias 'bowquesting'
if @findalias 'simplebow' and counttype 0x13b2 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious1' and counttype 0xf50 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious2' and counttype 0x13fd 'any' 'backpack' > 7
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious3' and counttype 0x26c3 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
endif
elseif counttype 0xb5e 'any' 'backpack' < 10
if x > 7026
pause 550
endif
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
elseif counttype 0xb5e 'any' 'backpack' < 10 and @ingump 0x38920abd 'Magincia-style'
@replygump 0x38920abd 2
elseif counttype 0xb5e 'any' 'backpack' < 10
if x > 7026
pause 550
endif
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
endif
endwhile
else //at fletcher and not time for carp, craft bows
if @findalias 'simplebow' and counttype 0x13b2 'any' 'backpack' < 10
if not @gumpexists 0x38920abd
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
endif
if @gumpexists 0x38920abd and not @ingump 0x38920abd 'Faerie Fire'
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 15
waitforgump 0x38920abd 2000
endif
@replygump 0x38920abd 2
waitforgump 0x38920abd 2000
elseif @findalias 'ingenious1' and counttype 0xf50 'any' 'backpack' < 10
if not @gumpexists 0x38920abd
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
endif
if @gumpexists 0x38920abd and not @ingump 0x38920abd 'Faerie Fire'
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 15
waitforgump 0x38920abd 2000
endif
@replygump 0x38920abd 9
waitforgump 0x38920abd 2000
elseif @findalias 'ingenious2' and counttype 0x13fd 'any' 'backpack' < 8
if not @gumpexists 0x38920abd
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
endif
if @gumpexists 0x38920abd and not @ingump 0x38920abd 'Faerie Fire'
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 15
waitforgump 0x38920abd 2000
endif
@replygump 0x38920abd 16
waitforgump 0x38920abd 2000
elseif @findalias 'ingenious3' and counttype 0x26c3 'any' 'backpack' < 10
if not @gumpexists 0x38920abd
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
endif
if @gumpexists 0x38920abd and not @ingump 0x38920abd 'Faerie Fire'
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 15
waitforgump 0x38920abd 2000
endif
@replygump 0x38920abd 30
waitforgump 0x38920abd 2000
elseif counttype 0xb5e 'any' 'backpack' < 10 and @ingump 0x38920abd 'Magincia-style'
@replygump 0x38920abd 2
waitforgump 0x38920abd 2000
elseif counttype 0xb5e 'any' 'backpack' < 10
pause 550
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
endif
elseif x < 7009 and x > 6993
if not @inrange 'Carpentry Quest Giver' 10
if not listexists 'npcbodies'
@createlist 'npcbodies'
//@pushlist 'npcbodies' 0x190
// @pushlist 'npcbodies' 0x191
@pushlist 'npcbodies' 0x25e
@pushlist 'npcbodies' 0x25d
endif
clearignorelist
for 0 to 'npcbodies'
while @findtype npcbodies[] 'any' 'ground' 1 18
waitforproperties 'found' 5000
if not @property ',' 'found'
if @property 'Waelian the Trinket Weaver' 'found' or @property 'Sleen the Trinket Qeaver' 'found'
@setalias 'Carpentry Quest Giver' 'found'
endif
endif
ignoreobject 'found'
endwhile
endfor
if not @inrange 'Carpentry Quest Giver' 10
sysmsg 'Carpentry Quest Giver not found, please target' 34
promptalias 'Carpentry Quest Giver'
endif
endif
if timer 'Carpentry' > 30000
settimer 'carptry' 0
@unsetalias 'checkcarp'
usetype 0x1022 0 'backpack'
//try to get footstools for 5 seconds
while timer 'carptry' < 5000 and not @ingump 0x19bc4061 'foot stools'
if @gumpexists 0xa8b319c6
settimer 'carptry' 5500
endif
@useobject 'Carpentry Quest Giver'
//craft while trying quest
if @gumpexists 0xdf31ecf8
replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 5000
replygump 0x96626c6e 1
endif
if @findalias 'bowquesting' and not @findalias 'bowsdone'
if @gumpexists 0x38920abd and not @ingump 0x38920abd 'Faerie Fire'
pause 550
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 15
waitforgump 0x38920abd 2000
endif
endif
if @gumpexists 0x38920abd
if @ingump 0x38920abd 'Faerie Fire'
if @findalias 'simplebow' and counttype 0x13b2 'any' 'backpack' < 10
@replygump 0x38920abd 2
elseif @findalias 'ingenious1' and counttype 0xf50 'any' 'backpack' < 10
@replygump 0x38920abd 9
elseif @findalias 'ingenious2' and counttype 0x13fd 'any' 'backpack' < 8
@replygump 0x38920abd 16
elseif @findalias 'ingenious3' and counttype 0x26c3 'any' 'backpack' < 10
@replygump 0x38920abd 30
elseif not @findalias 'bowsdone' and @findalias 'bowquesting'
if @findalias 'simplebow' and counttype 0x13b2 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious1' and counttype 0xf50 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious2' and counttype 0x13fd 'any' 'backpack' > 7
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious3' and counttype 0x26c3 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
endif
elseif counttype 0xb5e 'any' 'backpack' < 10
waitforgump 0x38920abd 2000
pause 550
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
elseif counttype 0xb5e 'any' 'backpack' < 10 and @ingump 0x38920abd 'Magincia-style'
@replygump 0x38920abd 2
elseif counttype 0xb5e 'any' 'backpack' < 10
pause 550
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
endif
endwhile
if timer 'Carpentry' > 150000 and not @gumpexists 0xa8b319c6
while not @ingump 0x19bc4061 'foot stools' and not @ingump 0xdf31ecf8 'my thanks'
@useobject 'Carpentry Quest Giver'
if timer 'carptry' > 20000
break
endif
endwhile
endif
if @gumpexists 0xdf31ecf8
replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 5000
replygump 0x96626c6e 1
elseif @gumpexists 0x96626c6e
replygump 0x96626c6e 1
endif
if @gumpexists 0xa8b319c6 or @ingump 0x19bc4061 'just for weary toes'
if @gumpexists 0x19bc4061 and @ingump 0x19bc4061 'just for weary toes'
@replygump 0x19bc4061 1
endif
if not @findalias 'restockyes'
while @counttype 0xb5e 'any' 'backpack' < 10
//get 200 boards from beetle if needed
while counttype 0x1bd7 woodhue[0] 'backpack' < 10 and not @findalias 'restockyes'
if mounted 'self'
pause 550
useobject 'self'
pause 1000
endif
waitforproperties 'beetle' 5000
if @property 'bonded' 'beetle'
waitforcontext 'beetle' 10 15000
else
waitforcontext 'beetle' 9 15000
endif
movetype 0x1bd7 'beetle' 'backpack' [(0 0 0)] woodhue[0] 200
pause 1000
if counttype 0x1bd7 woodhue[0] 'beetle' < 200
@setalias 'restockyes' 'self'
endif
useobject 'beetle'
pause 1000
endwhile
if @gumpexists 0x38920abd and @ingump 0x38920abd 'Magincia-style'
@replygump 0x38920abd 2
waitforgump 0x38920abd 2000
else
waitforgump 0x38920abd 2000
pause 550
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
endwhile
waitforcontext 'self' 4 5000
waitfortarget 5000
settimer 'toggletimeout' 0
while @counttype 0xb5e 1258 'backpack' != 10 and timer 'toggletimeout' < 5000
@targettype 0xb5e 0
@targettype 0xb5e 2010
@targettype 0xb5e 1191
pause 150
endwhile
@canceltarget
pause 500
@useobject! 'Carpentry Quest Giver'
waitforgump 0xdf31ecf8 5000
@replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 5000
@replygump 0x96626c6e 1
pause 300
settimer 'Carpentry' 0
@unsetalias '30no'
@unsetalias '60no'
@unsetalias '90no'
@unsetalias '120no'
else //if not enough boards then craft til you're out
while @counttype 0x1bd7 woodhue[0] 'backpack' > 9 and @counttype 0xb5e 'any' 'backpack' < 10
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
@replygump 0x38920abd 2
waitforgump 0x38920abd 2000
endwhile
if @counttype 0xb5e 'any' 'backpack' > 9
waitforcontext 'self' 4 5000
waitfortarget 5000
settimer 'toggletimeout' 0
while @counttype 0xb5e 1258 'backpack' != 10 and timer 'toggletimeout' < 5000
@targettype 0xb5e 0
@targettype 0xb5e 2010
@targettype 0xb5e 1191
pause 150
endwhile
@canceltarget
pause 500
@useobject! 'Carpentry Quest Giver'
waitforgump 0xdf31ecf8 5000
@replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 5000
@replygump 0x96626c6e 1
pause 300
settimer 'Carpentry' 0
@unsetalias '30no'
@unsetalias '60no'
@unsetalias '90no'
@unsetalias '120no'
endif
endif
else //if no quest yet, mark that time as no
if timer 'Carpentry' > 120000
setalias '120no' 'self'
@setalias '90no' 'self'
@setalias '60no' 'self'
@setalias '30no' 'self'
elseif timer 'Carpentry' > 90000
setalias '90no' 'self'
@setalias '60no' 'self'
@setalias '30no' 'self'
elseif timer 'Carpentry' > 60000
setalias '60no' 'self'
@setalias '30no' 'self'
elseif timer 'Carpentry' > 30000
setalias '30no' 'self'
endif
endif
endif
if @gumpexists 0x19bc4061
@replygump 0x19bc4061 2
waitforgump 0xa8b319c6 1000
@replygump 0xa8b319c6 3
endif
while @findtype '0x1bd7' woodhue[0] 'ground' 30 2 and counttype '0x1bd7' woodhue[0] 'backpack' < 190
moveitem 'found' 'backpack'
pause 550
endwhile
if counttype 0x1bd7 woodhue[0] 'backpack' < 50 and not @findalias 'restockyes'
//get 200 boards from beetle
if mounted 'self'
pause 550
useobject 'self'
pause 1000
endif
waitforproperties 'beetle' 5000
if @property 'bonded' 'beetle'
waitforcontext 'beetle' 10 15000
else
waitforcontext 'beetle' 9 15000
endif
movetype 0x1bd7 'beetle' 'backpack' [(0 0 0)] woodhue[0] 200
pause 1000
if counttype 0x1bd7 woodhue[0] 'beetle' < 200
@setalias 'restockyes' 'self'
endif
useobject 'beetle'
pause 1000
endif
//if dont need to restock, run east to fletcher and craft while doing it
while maxweight < weight
movetypeoffset 0x1bd7 'backpack' 'ground' [(0 1 0)] woodhue[0] 30
pause 550
endwhile
while x < 7036
run 'east'
if @findalias 'bowquesting' and not @findalias 'bowsdone'
if @gumpexists 0x38920abd and not @ingump 0x38920abd 'Faerie Fire'
pause 550
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 15
waitforgump 0x38920abd 2000
endif
endif
if @gumpexists 0x38920abd
if @ingump 0x38920abd 'Faerie Fire'
if @findalias 'simplebow' and counttype 0x13b2 'any' 'backpack' < 10
@replygump 0x38920abd 2
elseif @findalias 'ingenious1' and counttype 0xf50 'any' 'backpack' < 10
@replygump 0x38920abd 9
elseif @findalias 'ingenious2' and counttype 0x13fd 'any' 'backpack' < 8
@replygump 0x38920abd 16
elseif @findalias 'ingenious3' and counttype 0x26c3 'any' 'backpack' < 10
@replygump 0x38920abd 30
elseif not @findalias 'bowsdone' and @findalias 'bowquesting'
if @findalias 'simplebow' and counttype 0x13b2 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious1' and counttype 0xf50 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious2' and counttype 0x13fd 'any' 'backpack' > 7
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious3' and counttype 0x26c3 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
endif
elseif counttype 0xb5e 'any' 'backpack' < 10
if x < 7013
pause 550
endif
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
elseif counttype 0xb5e 'any' 'backpack' < 10 and @ingump 0x38920abd 'Magincia-style'
@replygump 0x38920abd 2
elseif counttype 0xb5e 'any' 'backpack' < 10
if x < 7013
pause 550
endif
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
endif
endwhile
elseif y == 378
while x > 7000
run 'west'
endwhile
else
sysmsg 'You need to be near dropoff, carpentry area or fletching trash when starting this macro' 34
stop
endif
Anyone know why it keeps throwing everything away?
//1. Character needs Fletching, Carpentry and Tinkering, a Fletching Bonus talisman saves resources
//2. FletcherDropoff container needs bolts, ingots, boards in it
//3. FletcherRunebook needs 1st rune to be Dropoff location and 2nd rune near Heartwood entrance
//4. Start in Heartwood with a beetle full of only boards. Have crafted tinker tools, 40 ingots, and 200 bolts in your pack or start at your Dropoff location to restock these items
//5. First time you are setting alias for new beetle, play macro while dismounted.
@setalias 'FletcherDropoff'
@setalias 'beetle'
@setalias 'FletcherRunebook'
@removelist 'woodhue'
@removelist 'magechiv'
@createlist 'woodhue'
@createlist 'magechiv'
//plain=0, oak=2010, ash=1191 | mage=5,11 chiv = 7,13 | bond = 10, unbond = 9
@pushlist 'woodhue' 0
@pushlist 'magechiv' 5
@pushlist 'magechiv' 11
if not listexists 'Slayers'
@createlist 'Slayers'
//@pushlist 'Slayers' 'Ice Slayer'
//@pushlist 'Slayers' 'Flame Slayer'
//@pushlist 'Slayers' 'Vermin Slayer'
//@pushlist 'Slayers' 'Mage Slayer'
//@pushlist 'Slayers' 'Bird Slayer'
endif
if not listexists 'Killers'
@createlist 'Killers'
//@pushlist 'Killers' 'Yamandon Killer'
//@pushlist 'Killers' 'Lich Killer'
//@pushlist 'Killers' 'Lich Lord Killer'
//@pushlist 'Killers' 'Dread Spider Killer'
//@pushlist 'Killers' 'Giant Black Widow Killer'
//@pushlist 'Killers' 'Eagle Killer'
endif
if not listexists 'Protection'
@createlist 'Protection'
//@pushlist 'Protection' 'Yamandon Protection'
//@pushlist 'Protection' 'Lich Protection'
//@pushlist 'Protection' 'Lich Lord Protection'
//@pushlist 'Protection' 'Dread Spider Protection'
//@pushlist 'Protection' 'Giant Black Widow Protection'
//@pushlist 'Protection' 'Silver Serpent Protection'
//@pushlist 'Protection' 'Eagle Protection'
endif
if not listexists 'Recipes'
@createlist 'Recipes'
//@pushlist 'Recipes' 'Acid Proof Rope'
//@pushlist 'Recipes' 'Ancient Wild Staff'
//@pushlist 'Recipes' 'Arcane Bookshelf'
//@pushlist 'Recipes' "Arcanist's Wild Staff"
//@pushlist 'Recipes' 'Bramble Coat'
//@pushlist 'Recipes' 'Elven Armoire'
//@pushlist 'Recipes' 'Elven Dresser'
//@pushlist 'Recipes' 'Hardened Wild Staff'
//@pushlist 'Recipes' 'Ironwood Crown'
//@pushlist 'Recipes' 'Ornate Elven Chair'
//@pushlist 'Recipes' 'Ornate Elven Chest'
//@pushlist 'Recipes' 'Phantom Staff'
//@pushlist 'Recipes' 'Squirrel Statue'
//@pushlist 'Recipes' 'Tall Elven Bed'
//@pushlist 'Recipes' 'Thorned Wild Staff'
//@pushlist 'Recipes' 'Warrior Statue'
//@pushlist 'Recipes' "Assassin's Shortbow"
//@pushlist 'Recipes' 'Barbed Longbow'
//@pushlist 'Recipes' 'Blight Gripped Longbow'
//@pushlist 'Recipes' 'Faerie Fire'
//@pushlist 'Recipes' 'Frozen Longbow'
//@pushlist 'Recipes' 'Lightweight Shortbow'
//@pushlist 'Recipes' 'Longbow of Might'
//@pushlist 'Recipes' 'Mischief Maker'
//@pushlist 'Recipes' 'Mystical Shortbow'
//@pushlist 'Recipes' "Ranger's Shortbow"
//@pushlist 'Recipes' "Silvani's Feywood Bow"
//@pushlist 'Recipes' 'Slayer Longbow'
//@pushlist 'Recipes' 'The Night Reaper'
endif
if not listexists 'Talismans'
@createlist 'Talismans'
@pushlist 'Talismans' 0x2f58
@pushlist 'Talismans' 0x2f59
@pushlist 'Talismans' 0x2f5a
@pushlist 'Talismans' 0x2f5b
endif
if not listexists 'Jewelry'
@createlist 'Jewelry'
@pushlist 'Jewelry' 0x108a
@pushlist 'Jewelry' 0x1f09
@pushlist 'Jewelry' 0x1086
@pushlist 'Jewelry' 0x1f06
endif
if not timerexists 'Carpentry'
createtimer 'Carpentry'
endif
if not timerexists 'carptry'
createtimer 'carptry'
endif
if not timerexists 'toggletimeout'
createtimer 'toggletimeout'
endif
//stop if you lack skills
if skill 'Carpentry' < 30 or skill 'Tinkering' < 45
sysmsg 'You need 36 Carpentry and 50+ tinkering to run this macro effectively.' 34
stop
elseif skill 'Bowcraft' < 90
sysmsg 'You need at least 90 (preferrably 100) bowcrafting to run this macro. You will also want a Fletching bonus talisman' 34
stop
endif
//stop macro if you forgot to restock bolts or ingots or have no tinker tools
if counttype 0x1bf2 0 'backpack' == 0 and not @inrange 'FletcherDropoff' 2
sysmsg 'Restock ingots before starting!' 33
stop
endif
if counttype 0x1bfb 0 'backpack' == 0 and counttype 0x1bfb 1258 'backpack' == 0
if not @inrange 'FletcherDropoff' 2
sysmsg 'Restock bolts before starting!' 33
stop
endif
endif
if @counttype 0x1eb8 0 'backpack' == 0
sysmsg 'Get crafted tinker tools before starting!' 33
stop
endif
clearignorelist
// make tinker tools
if @counttype 0x1eb8 0 'backpack' < 2 and not @inrange 'FletcherDropoff' 2
pause 550
while @counttype 0x1eb8 0 'backpack' < 2
usetype! 0x1eb8
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
@replygump 0x38920abd 23
endwhile
endif
//make saws
if @counttype 0x1034 0 'backpack' < 3 and not @inrange 'FletcherDropoff' 2
while @counttype 0x1034 0 'backpack' < 3
pause 550
usetype! 0x1eb8
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
@replygump 0x38920abd 51
waitforgump 0x38920abd 2000
endwhile
endif
// make plain fletcher kits
if @counttype 0x1022 0 'backpack' < 3 and not @inrange 'FletcherDropoff' 2
while @counttype 0x1022 0 'backpack' < 3
pause 550
usetype! 0x1eb8
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
@replygump 0x38920abd 142
endwhile
endif
if @findtype 0xe75 'any' 'backpack' and not @inrange 'FletcherDropoff' 2
if @injournal 'The world will save in 10 seconds.' 'system'
while not @injournal 'world save complete' 'system'
endwhile
@clearjournal
endif
// Handle reward bags
while @findtype 0xe75 'any' 'backpack'
pause 550
@setalias 'trash' 'found'
@useobject! 'trash'
pause 550
// fletcher Runics
while @findtype 0x1022 'any' 'trash'
@moveitem! 'found' 'backpack'
pause 1000
if color 'found' == 2010
//uncomment this next line to throw Oak kits in the trash
//@moveitem! 'found' 'Trash Barrel'
pause 550
elseif color 'found' == 1191
//uncomment this next line to throw Ash kits in the trash
//@moveitem! 'found' 'Trash Barrel'
pause 550
elseif color 'found' == 1192
sysmsg 'Nice, a Yew kit' 33
elseif color 'found' == 1193
for 10
sysmsg 'Woohoo! Heartwood!' 63
endfor
endif
ignoreobject 'found'
endwhile
//runic saws
while @findtype 0x1028 'any' 'trash'
@moveitem! 'found' 'backpack'
pause 1000
if color 'found' == 2010
//uncomment this next line to throw Oak saws in the trash
//@moveitem! 'found' 'Trash Barrel'
pause 550
elseif color 'found' == 1191
//uncomment this next line to throw Ash saws in the trash
//@moveitem! 'found' 'Trash Barrel'
pause 550
elseif color 'found' == 1192
sysmsg 'Nice, a Yew saw' 33
elseif color 'found' == 1193
for 10
sysmsg 'Woohoo! Heartwood!' 63
endfor
endif
ignoreobject 'found'
endwhile
//recipes
while @findtype 0x2831 0 'trash'
waitforproperties 'found' 15000
for 0 to 'Recipes'
if @property Recipes[] 'found'
@moveitem! 'found' 'backpack'
pause 1000
break
endif
endfor
ignoreobject 'found'
endwhile
// Talismans
for 0 to 'Talismans'
while @findtype Talismans[] 0 'trash'
waitforproperties 'found' 15000
//crafting bonus and exceptional bonus talismans, set to your liking
if @property 'Tinkering Exceptional Bonus' 'found' >= 23 and @property 'Tinkering Bonus' 'found' >= 23
@moveitem! 'found' 'backpack'
pause 1000
break
elseif @property 'Alchemy Bonus' 'found' >= 30 or @property 'Fletching Bonus' 'found' >= 30
@moveitem! 'found' 'backpack'
pause 1000
break
elseif @property 'Fletching Exceptional Bonus' 'found' >= 23 and @property 'Fletching Bonus' 'found' >= 23
@moveitem! 'found' 'backpack'
pause 1000
break
elseif @property 'Tailoring Exceptional Bonus' 'found' >= 23 and @property 'Tailoring Bonus' 'found' >= 23
@moveitem! 'found' 'backpack'
pause 1000
break
elseif @property 'Carpentry Exceptional Bonus' 'found' >= 23 and @property 'Carpentry Bonus' 'found' >= 23
@moveitem! 'found' 'backpack'
pause 1000
break
elseif @property 'Inscription Bonus' 'found' >= 30 or @property 'Cooking Bonus' 'found' >= 30
@moveitem! 'found' 'backpack'
pause 1000
break
elseif @property 'Blacksmithing Exceptional Bonus' 'found' >= 23 and @property 'Blacksmithing Bonus' 'found' >= 23
@moveitem! 'found' 'backpack'
pause 1000
break
endif
//get slayers
for 0 to 'Slayers'
if @property Slayers[] 'found'
@moveitem! 'found' 'backpack'
pause 1000
break
endif
endfor
//get killers
for 0 to 'Killers'
if @property Killers[] 'found' >= 98
@moveitem! 'found' 'backpack'
pause 1000
break
endif
endfor
//get protections
for 0 to 'Protection'
if @property Protection[] 'found' >= 59
@moveitem! 'found' 'backpack'
pause 1000
break
endif
endfor
ignoreobject 'found'
endwhile
endfor
//Jewels
for 0 to 'Jewelry'
while @findtype Jewelry[] 0 'trash'
waitforproperties 'found' 15000
//EP DI jewels
if @property 'Enhance Potions' 'found' >= 15 and @property 'Damage Increase' 'found' >= 15
@moveitem! 'found' 'backpack'
pause 1000
break
endif
if @property 'Faster Cast Recovery' 'found' == 3
@moveitem! 'found' 'backpack'
pause 1000
break
endif
//save 1/2 and 1/1
if @property 'Faster Cast Recovery' 'found' > 0 and @property 'Faster Casting' 'found'
@moveitem! 'found' 'backpack'
pause 1000
break
endif
//hci and dci jewels, other usable hci dci jewels will be captured by above
if @property 'Defense chance increase' 'found' >= 10 and @property 'Hit chance increase' 'found' >= 5
@moveitem! 'found' 'backpack'
pause 1000
break
endif
if @property 'Hit chance increase' 'found' >= 10 and @property 'Defense chance increase' 'found' >= 5
@moveitem! 'found' 'backpack'
pause 1000
break
endif
ignoreobject 'found'
endwhile
endfor
//clear the ignore list so it doesn't skip items at dropoff
clearignorelist
if @inrange 'Trash Barrel' 2
@moveitem! 'trash' 'Trash Barrel'
pause 550
else
@unsetalias 'dump'
while @findtype 0xe75 'any' 'ground' 1 2 and not @findalias 'dump'
waitforproperties 'found' 5000
if @property 'items' 'found' < 115
@setalias 'dump' 'found'
else
@ignoreobject 'found'
endif
endwhile
if @findalias 'dump'
@moveitem 'trash' 'dump'
pause 550
else
moveitemoffset 'trash' 'ground' [(0 1 0)]
pause 550
endif
endwhile
endif
//if at home, unload and restock
elseif @inrange 'FletcherDropoff' 2
//open containers
useobject 'self'
pause 1000
useobject 'FletcherDropoff'
pause 1000
waitforproperties 'beetle' 5000
if @property 'bonded' 'beetle'
waitforcontext 'beetle' 10 15000
else
waitforcontext 'beetle' 9 15000
endif
pause 1000
//unload jewels and talismans
for 0 to 'Talismans'
for 0 to 'Jewelry'
if @findtype Jewelry[] 'any' 'backpack' or @findtype Talismans[] 'any' 'backpack'
moveitem 'found' 'FletcherDropoff'
pause 500
endif
endfor
endfor
//unload saws and kits
clearignorelist
while @findtype 0x1028 'any' 'backpack' or @findtype 0x1022 'any' 'backpack'
if color 'found' == 0
ignoreobject 'found'
else
moveitem 'found' 'FletcherDropoff'
pause 500
endif
endwhile
//get more bolts
if counttype 0x1bfb 0 'backpack' < 130
if counttype 0x1bfb 0 'FletcherDropoff' < 200
sysmsg 'Out of Bolts!' 33
useobject 'beetle'
stop
endif
movetype 0x1bfb 'FletcherDropoff' 'backpack' (0 0 0) 0 200
pause 1000
endif
// get ingots if low
if counttype 0x1bf2 0 'backpack' < 20
if counttype 0x1bf2 0 'FletcherDropoff' < 40
sysmsg 'Out of Ingots!' 33
useobject 'beetle'
stop
endif
movetype 0x1bf2 'FletcherDropoff' 'backpack' (0 0 0) 0 40
pause 1000
endif
//get boards on beetle and self
//first make sure beetle is empty, sometimes UOS won't pull 200 boards and you end up with odd number left behind
if counttype 0x1bd7 'any' 'beetle' > 0
while counttype 0x1bd7 'any' 'beetle' > 1599
movetype 0x1bd7 'beetle' 'FletcherDropoff' [(0 0 0)] 'any' 1600
pause 500
endwhile
while counttype 0x1bd7 'any' 'beetle' > 499
movetype 0x1bd7 'beetle' 'FletcherDropoff' [(0 0 0)] 'any' 500
pause 500
endwhile
while counttype 0x1bd7 'any' 'beetle' > 99
movetype 0x1bd7 'beetle' 'FletcherDropoff' [(0 0 0)] 'any' 100
pause 500
endwhile
while counttype 0x1bd7 'any' 'beetle' > 24
movetype 0x1bd7 'beetle' 'FletcherDropoff' [(0 0 0)] 'any' 25
pause 500
endwhile
while counttype 0x1bd7 'any' 'beetle' > 4
movetype 0x1bd7 'beetle' 'FletcherDropoff' [(0 0 0)] 'any' 5
pause 500
endwhile
while counttype 0x1bd7 'any' 'beetle' > 0
movetype 0x1bd7 'beetle' 'FletcherDropoff' [(0 0 0)] 'any' 1
pause 500
endwhile
endif
//stop if FletcherDropoff is out of boards
if counttype 0x1bd7 woodhue[0] 'FletcherDropoff' < 1900
sysmsg 'Out of Boards!' 33
useobject 'beetle'
//@playmacro 'Lumberjacking'
while counttype 0x1bd7 woodhue[0] 'FletcherDropoff' < 1900
pause 20000
endwhile
endif
//fill beetle with boards
if mounted 'self'
pause 550
useobject 'self'
pause 1000
waitforproperties 'beetle' 5000
if @property 'bonded' 'beetle'
waitforcontext 'beetle' 10 15000
else
waitforcontext 'beetle' 9 15000
endif
endif
if @movetype 0x1bd7 'FletcherDropoff' 'beetle' 0 0 0 woodhue[0] 1600
pause 750
else
useobject 'FletcherDropoff'
pause 550
waitforcontents 'FletcherDropoff' 5000
for 4
if @movetype 0x1bd7 'FletcherDropoff' 'backpack' 0 0 0 woodhue[0] 400 and @property 'Stones' 'beetle' < 1600
pause 750
endif
endfor
for 4
if @movetype 0x1bd7 'FletcherDropoff' 'backpack' 0 0 0 woodhue[0] 100 and @property 'Stones' 'beetle' < 1600
pause 750
endif
endfor
for 4
if @movetype 0x1bd7 'FletcherDropoff' 'backpack' 0 0 0 woodhue[0] 25 and @property 'Stones' 'beetle' < 1600
pause 750
endif
endfor
for 5
if @movetype 0x1bd7 'FletcherDropoff' 'backpack' 0 0 0 woodhue[0] 5 and @property 'Stones' 'beetle' < 1600
pause 750
endif
endfor
for 5
if @movetype 0x1bd7 'FletcherDropoff' 'backpack' 0 0 0 woodhue[0] 1 and @property 'Stones' 'beetle' < 1600
pause 750
endif
endfor
@canceltarget
endif
//move boards to your pack based on how low your pack is
//max weight minus 350
if weight < 175
movetype 0x1bd7 'FletcherDropoff' 'backpack' (0 0 0) woodhue[0] 350
pause 1000
//max weight minus 300
elseif weight < 225
movetype 0x1bd7 'FletcherDropoff' 'backpack' (0 0 0) woodhue[0] 300
pause 1000
//max weight minus 250
elseif weight < 275
movetype 0x1bd7 'FletcherDropoff' 'backpack' (0 0 0) woodhue[0] 250
pause 1000
//max weight minus 200
elseif weight < 325
movetype 0x1bd7 'FletcherDropoff' 'backpack' (0 0 0) woodhue[0] 200
pause 1000
//max weight minus 150
elseif weight < 375
movetype 0x1bd7 'FletcherDropoff' 'backpack' (0 0 0) woodhue[0] 150
pause 1000
//max weight minus 100
elseif weight < 425
movetype 0x1bd7 'FletcherDropoff' 'backpack' (0 0 0) woodhue[0] 100
pause 1000
elseif counttype 0x1bd7 woodhue[0] 'backpack' < 1
movetype 0x1bd7 'FletcherDropoff' 'backpack' (0 0 0) woodhue[0] 1
pause 1000
endif
//set fletching kits and saws to correct wood type
if @findtype 0x1bd7 0 'backpack'
pause 550
usetype! 0x1022
waitforgump 0x38920abd 1000
@replygump 0x38920abd 7
waitforgump 0x38920abd 1000
@replygump 0x38920abd 6
waitforgump 0x38920abd 1000
pause 550
usetype! 0x1034
waitforgump 0x38920abd 1000
@replygump 0x38920abd 7
waitforgump 0x38920abd 1000
@replygump 0x38920abd 6
waitforgump 0x38920abd 1000
pause 550
//warn if other color boards, bows, stools in place
if @findtype 0x1bd7 2010 'backpack' or @findtype 0x1bd7 1191 'backpack'
sysmsg 'You have two types of boards in your pack. Fix before starting macro.' 34
stop
endif
if @findtype 0x13b2 2010 'backpack' or @findtype 0x13b2 1191 'backpack'
sysmsg 'Delete the different hued bows from the wood type you are trying to use before starting macro.' 34
stop
endif
if @findtype 0xf50 2010 'backpack' or @findtype 0xf50 1191 'backpack'
sysmsg 'Delete the different hued crossbows from the wood type you are trying to use before starting macro.' 34
stop
endif
if @findtype 0x13fd 2010 'backpack' or @findtype 0x13fd 1191 'backpack'
sysmsg 'Delete the different hued heavy crossbows from the wood type you are trying to use before starting macro.' 34
stop
endif
if @findtype 0x26c3 2010 'backpack' or @findtype 0x26c3 1191 'backpack'
sysmsg 'Delete the different hued repeating crossbows from the wood type you are trying to use before starting macro.' 34
stop
endif
elseif @findtype 0x1bd7 2010 'backpack'
if skill 'Carpentry' < 65
sysmsg 'You need 65 Carpentry to craft with Oak' 33
stop
else
pause 550
usetype! 0x1022
waitforgump 0x38920abd 1000
@replygump 0x38920abd 7
waitforgump 0x38920abd 1000
@replygump 0x38920abd 13
waitforgump 0x38920abd 1000
pause 550
usetype! 0x1034
waitforgump 0x38920abd 1000
@replygump 0x38920abd 7
waitforgump 0x38920abd 1000
@replygump 0x38920abd 13
waitforgump 0x38920abd 1000
pause 550
//warn if other color boards, bows, stools in place
if @findtype 0x1bd7 0 'backpack' or @findtype 0x1bd7 1191 'backpack'
sysmsg 'You have two types of boards in your pack. Fix before starting macro.' 34
stop
endif
if @findtype 0x13b2 0 'backpack' or @findtype 0x13b2 1191 'backpack'
sysmsg 'Delete the different hued bows from the wood type you are trying to use before starting macro.' 34
stop
endif
if @findtype 0xf50 0 'backpack' or @findtype 0xf50 1191 'backpack'
sysmsg 'Delete the different hued crossbows from the wood type you are trying to use before starting macro.' 34
stop
endif
if @findtype 0x13fd 0 'backpack' or @findtype 0x13fd 1191 'backpack'
sysmsg 'Delete the different hued heavy crossbows from the wood type you are trying to use before starting macro.' 34
stop
endif
if @findtype 0x26c3 0 'backpack' or @findtype 0x26c3 1191 'backpack'
sysmsg 'Delete the different hued repeating crossbows from the wood type you are trying to use before starting macro.' 34
stop
endif
endif
elseif @findtype 0x1bd7 1191 'backpack'
if skill 'Carpentry' < 80
sysmsg 'You need 80 Carpentry to craft with Ash' 33
stop
else
pause 550
usetype! 0x1022
waitforgump 0x38920abd 2000
@replygump 0x38920abd 7
waitforgump 0x38920abd 2000
@replygump 0x38920abd 20
waitforgump 0x38920abd 2000
pause 550
usetype! 0x1034
waitforgump 0x38920abd 2000
@replygump 0x38920abd 7
waitforgump 0x38920abd 2000
@replygump 0x38920abd 20
waitforgump 0x38920abd 2000
pause 550
//warn if other color boards, bows, stools in place
if @findtype 0x1bd7 2010 'backpack' or @findtype 0x1bd7 0 'backpack'
sysmsg 'You have two types of boards in your pack. Fix before starting macro.' 34
stop
endif
if @findtype 0x13b2 2010 'backpack' or @findtype 0x13b2 0 'backpack'
sysmsg 'Delete the different hued bows from the wood type you are trying to use before starting macro.' 34
stop
endif
if @findtype 0xf50 2010 'backpack' or @findtype 0xf50 0 'backpack'
sysmsg 'Delete the different hued crossbows from the wood type you are trying to use before starting macro.' 34
stop
endif
if @findtype 0x13fd 2010 'backpack' or @findtype 0x13fd 0 'backpack'
sysmsg 'Delete the different hued heavy crossbows from the wood type you are trying to use before starting macro.' 34
stop
endif
if @findtype 0x26c3 2010 'backpack' or @findtype 0x26c3 0 'backpack'
sysmsg 'Delete the different hued repeating crossbows from the wood type you are trying to use before starting macro.' 34
stop
endif
endif
endif
//mount beetle and recall back to heartwood
if @injournal 'The world will save in 10 seconds.' 'system'
while not @injournal 'world save complete' 'system'
endwhile
@clearjournal
endif
useobject 'beetle'
pause 2000
@unsetalias 'restockyes'
while @inrange 'FletcherDropoff' 5
clearjournal
useobject 'FletcherRunebook'
waitforgump 0x554b87f3 15000
@replygump 0x554b87f3 magechiv[1]
pause 2000
if @injournal 'blocked' 'system'
sysmsg 'Rune blocked, trying again in 30 sec' 33
pause 30000
endif
endwhile
//navigate to heartwood entrance
while y != 992 and y > 400
for 2
if y > 992
walk 'north'
endif
pause 250
if y < 992
walk 'south'
endif
pause 250
endfor
endwhile
if x > 535 and x < 1000
while x > 535 and x < 1000
run 'west'
pause 100
endwhile
endif
if x < 537
while x < 537
run 'east'
pause 100
endwhile
endif
//navigate through heartwood to quest area
while y < 372
run 'southeast'
//crafting while running southeast
if @findalias 'bowquesting' and not @findalias 'bowsdone'
if @gumpexists 0x38920abd and not @ingump 0x38920abd 'Faerie Fire'
pause 550
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 15
waitforgump 0x38920abd 2000
endif
endif
if @gumpexists 0x38920abd
if @ingump 0x38920abd 'Faerie Fire'
if @findalias 'simplebow' and counttype 0x13b2 'any' 'backpack' < 10
@replygump 0x38920abd 2
elseif @findalias 'ingenious1' and counttype 0xf50 'any' 'backpack' < 10
@replygump 0x38920abd 9
elseif @findalias 'ingenious2' and counttype 0x13fd 'any' 'backpack' < 8
@replygump 0x38920abd 16
elseif @findalias 'ingenious3' and counttype 0x26c3 'any' 'backpack' < 10
@replygump 0x38920abd 30
elseif not @findalias 'bowsdone' and @findalias 'bowquesting'
if @findalias 'simplebow' and counttype 0x13b2 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious1' and counttype 0xf50 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious2' and counttype 0x13fd 'any' 'backpack' > 7
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious3' and counttype 0x26c3 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
endif
elseif counttype 0xb5e 'any' 'backpack' < 10
pause 550
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
elseif counttype 0xb5e 'any' 'backpack' < 10 and @ingump 0x38920abd 'Magincia-style'
@replygump 0x38920abd 2
elseif counttype 0xb5e 'any' 'backpack' < 10
if x > 7026
pause 550
endif
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
endif
endwhile
while y < 377
run 'southwest'
endwhile
pause 250
for 10
while y < 378
walk 'south'
pause 300
endwhile
while y > 378
walk 'north'
pause 300
endwhile
endfor
if timer 'Carpentry' > 30000
while x > 7000
run 'west'
endwhile
else
while x < 7036
run 'east'
endwhile
endif
elseif @findalias 'restockyes' and counttype 0x1bd7 woodhue[0] 'backpack' < 10
//leave heartwood
if not mounted 'self'
useobject 'beetle'
pause 1000
endif
while x < 7024
run 'east'
endwhile
while x > 7028
run 'west'
endwhile
pause 300
while y > 343
run "Northwest"
endwhile
while x < 6989
walk 'east'
pause 150
endwhile
while x > 6989
walk 'west'
pause 150
endwhile
while y != 338 and y < 600
for 10
if y > 338 and y < 600
walk 'north'
pause 250
endif
if y < 338 and y < 600
walk 'south'
pause 250
endif
if x > 6989
turn 'west'
walk 'west'
elseif x < 6989
turn 'east'
walk 'east'
endif
endfor
endwhile
while x > 1000
while y > 338 and y < 600
turn 'north'
walk 'north'
pause 250
endwhile
while y < 338 and y < 600
turn 'south'
walk 'south'
pause 250
endwhile
run 'west'
endwhile
//recall home
if @injournal 'The world will save in 10 seconds.' 'system'
while not @injournal 'world save complete' 'system'
endwhile
@clearjournal
endif
useobject 'FletcherRunebook'
waitforgump 0x554b87f3 15000
@replygump 0x554b87f3 magechiv[0]
pause 2000
while y == 994
endwhile
elseif counttype 0x1bd7 woodhue[0] 'backpack' < 10
//get 200 boards from beetle
if mounted 'self'
pause 550
useobject 'self'
pause 1000
endif
waitforproperties 'beetle' 5000
if @property 'bonded' 'beetle'
waitforcontext 'beetle' 10 15000
else
waitforcontext 'beetle' 9 15000
endif
movetype 0x1bd7 'beetle' 'backpack' [(0 0 0)] woodhue[0] 200
pause 1000
if counttype 0x1bd7 woodhue[0] 'beetle' < 200
@setalias 'restockyes' 'self'
endif
useobject 'beetle'
pause 1000
elseif x < 7038 and x > 7035
clearignorelist
if not @inrange 'A Trash Barrel' 2
while @findtype 0xe7f 'any' 'ground' 'any' 2
if @property 'A Trash Barrel' 'found'
@setalias 'Trash Barrel' 'found'
endif
ignoreobject 'found'
endwhile
endif
//wipe aliases if it thinks you're on two quests
if @findalias 'simplebow' and @findalias 'ingenious1'
@unsetalias 'bowquesting'
@unsetalias 'simplebow'
@unsetalias 'ingenious1'
@unsetalias 'ingenious2'
@unsetalias 'ingenious3'
@unsetalias 'bowsdone'
elseif @findalias 'simplebow' and @findalias 'ingenious2'
@unsetalias 'bowquesting'
@unsetalias 'simplebow'
@unsetalias 'ingenious1'
@unsetalias 'ingenious2'
@unsetalias 'ingenious3'
@unsetalias 'bowsdone'
elseif @findalias 'simplebow' and @findalias 'ingenious3'
@unsetalias 'bowquesting'
@unsetalias 'simplebow'
@unsetalias 'ingenious1'
@unsetalias 'ingenious2'
@unsetalias 'ingenious3'
@unsetalias 'bowsdone'
elseif @findalias 'ingenious1' and @findalias 'ingenious2'
@unsetalias 'bowquesting'
@unsetalias 'simplebow'
@unsetalias 'ingenious1'
@unsetalias 'ingenious2'
@unsetalias 'ingenious3'
@unsetalias 'bowsdone'
elseif @findalias 'ingenious1' and @findalias 'ingenious3'
@unsetalias 'bowquesting'
@unsetalias 'simplebow'
@unsetalias 'ingenious1'
@unsetalias 'ingenious2'
@unsetalias 'ingenious3'
@unsetalias 'bowsdone'
elseif @findalias 'ingenious2' and @findalias 'ingenious3'
@unsetalias 'bowquesting'
@unsetalias 'simplebow'
@unsetalias 'ingenious1'
@unsetalias 'ingenious2'
@unsetalias 'ingenious3'
@unsetalias 'bowsdone'
endif
//get a quest if not on one
if not findalias 'bowquesting'
if not @inrange 'Fletching Quest Giver' 10
if not listexists 'npcbodies'
@createlist 'npcbodies'
//@pushlist 'npcbodies' 0x190
// @pushlist 'npcbodies' 0x191
@pushlist 'npcbodies' 0x25e
@pushlist 'npcbodies' 0x25d
endif
clearignorelist
for 0 to 'npcbodies'
while @findtype npcbodies[] 'any' 'ground' 1 18
waitforproperties 'found' 5000
if not @property ',' 'found'
if @property 'Jusae the bowcrafter' 'found' or @property 'Cillitha the bowcrafter' 'found'
@setalias 'Fletching Quest Giver' 'found'
endif
endif
ignoreobject 'found'
endwhile
endfor
if not @inrange 'Fletching Quest Giver' 18
sysmsg 'Fletching Quest Giver not found, please target' 34
promptalias 'Fletching Quest Giver'
endif
endif
@useobject 'Fletching Quest Giver'
waitforgump 0x19bc4061 1000
if @ingump 0x19bc4061 'crafted in the human style' or @ingump 0xa8b319c6 'debt if you bring me bows'
if @gumpexists 0x19bc4061
@replygump 0x19bc4061 1
endif
@setalias 'simplebow' 'self'
@setalias 'bowquesting' 'self'
pause 550
elseif @ingump 0x19bc4061 'such an instrument for me?' or @ingump 0xa8b319c6 'debt if you bring me crossbows'
if @gumpexists 0x19bc4061
@replygump 0x19bc4061 1
endif
@setalias 'ingenious1' 'self'
@setalias 'bowquesting' 'self'
pause 550
elseif @ingump 0x19bc4061 'remarkable instrument of war' or @ingump 0xa8b319c6 'debt if you bring me heavy crossbows'
if @gumpexists 0x19bc4061
@replygump 0x19bc4061 1
endif
@setalias 'ingenious2' 'self'
@setalias 'bowquesting' 'self'
pause 550
elseif @ingump 0x19bc4061 'remarkable human ingenuity' or @ingump 0xa8b319c6 'debt if you bring me repeating crossbows'
if @gumpexists 0x19bc4061
@replygump 0x19bc4061 1
endif
@setalias 'ingenious3' 'self'
@setalias 'bowquesting' 'self'
pause 550
elseif @ingump 0x19bc4061 'deadly crossbow bolt' or @ingump 0xa8b319c6 'debt if you bring me crossbow bolts'
if @findtype 0x1bfb 'any' 'backpack' 10
@replygump 0x19bc4061 1
pause 550
if color 'found' == 0
waitforcontext 'self' 4 5000
waitfortarget 5000
Target! 'found'
waitfortarget 5000
endif
endif
@canceltarget
pause 500
@useobject! 'Fletching Quest Giver'
waitforgump 0xdf31ecf8 5000
@replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 15000
@replygump 0x96626c6e 1
elseif @ingump 0xdf31ecf8 'My thanks'
replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 3000
replygump 0x96626c6e 1
elseif @gumpexists 0x96626c6e
replygump 0x96626c6e 1
elseif @ingump 0x19bc4061 'melodious of muisc'
@replygump 0x19bc4061 2
waitforgump 0xa8b319c6 15000
@replygump 0xa8b319c6 3
endif
endif
//trigger to go check stool quest every 30 seconds, quests are available again every rand(1-5)*30sec
if timer 'Carpentry' > 146000
setalias 'checkcarp' 'self'
sysmsg '150' 34
elseif timer 'Carpentry' > 118000 and not @findalias '120no'
setalias 'checkcarp' 'self'
sysmsg '120' 34
elseif timer 'Carpentry' > 88000 and not @findalias '90no'
setalias 'checkcarp' 'self'
sysmsg '90' 34
elseif timer 'Carpentry' > 58000 and not @findalias '60no'
setalias 'checkcarp' 'self'
sysmsg '60' 34
elseif timer 'Carpentry' > 28000 and not @findalias '30no'
setalias 'checkcarp' 'self'
sysmsg '30' 34
endif
if @gumpexists 0xa8b319c6
@replygump 0xa8b319c6 3
endif
//complete quests if you have enough bows crafted
if counttype 0x13b2 'any' 'backpack' > 9 and @findalias 'simplebow'
waitforcontext 'self' 4 5000
waitfortarget 5000
settimer 'toggletimeout' 0
while @counttype 0x13b2 0x4ea 'backpack' != 10 and timer 'toggletimeout' < 5000
@targettype 0x13b2 woodhue[0]
pause 150
endwhile
@canceltarget
pause 500
@useobject! 'Fletching Quest Giver'
waitforgump 0xdf31ecf8 2000
@replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 2000
@replygump 0x96626c6e 1
@unsetalias 'simplebow'
@unsetalias 'bowquesting'
@unsetalias 'bowsdone'
pause 1000
elseif counttype 0xf50 'any' 'backpack' > 9 and @findalias 'ingenious1'
waitforcontext 'self' 4 5000
waitfortarget 5000
settimer 'toggletimeout' 0
while @counttype 0xf50 0x4ea 'backpack' != 10 and timer 'toggletimeout' < 5000
@targettype 0xf50 woodhue[0]
pause 150
endwhile
@canceltarget
pause 500
@useobject! 'Fletching Quest Giver'
waitforgump 0xdf31ecf8 2000
@replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 2000
@replygump 0x96626c6e 1
@unsetalias 'ingenious1'
@unsetalias 'bowquesting'
@unsetalias 'bowsdone'
pause 1000
elseif counttype 0x13fd 'any' 'backpack' > 7 and @findalias 'ingenious2'
waitforcontext 'self' 4 5000
waitfortarget 5000
settimer 'toggletimeout' 0
while @counttype 0x13fd 0x4ea 'backpack' != 8 and timer 'toggletimeout' < 5000
@targettype 0x13fd woodhue[0]
pause 150
endwhile
@canceltarget
pause 500
@useobject! 'Fletching Quest Giver'
waitforgump 0xdf31ecf8 2000
@replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 2000
@replygump 0x96626c6e 1
@unsetalias 'ingenious2'
@unsetalias 'bowquesting'
@unsetalias 'bowsdone'
pause 1000
elseif counttype 0x26c3 'any' 'backpack' > 9 and @findalias 'ingenious3'
waitforcontext 'self' 4 5000
waitfortarget 5000
settimer 'toggletimeout' 0
while @counttype 0x26c3 0x4ea 'backpack' != 10 and timer 'toggletimeout' < 5000
@targettype 0x26c3 woodhue[0]
pause 150
endwhile
@canceltarget
pause 500
@useobject! 'Fletching Quest Giver'
waitforgump 0xdf31ecf8 2000
@replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 2000
@replygump 0x96626c6e 1
@unsetalias 'ingenious3'
@unsetalias 'bowquesting'
@unsetalias 'bowsdone'
pause 1000
//if you have trigger to go check carpentry, run west
elseif @findalias 'checkcarp' and timer 'Carpentry' > 25000
while @findtype '0x1bd7' woodhue[0] 'ground' 30 2 and counttype '0x1bd7' woodhue[0] 'backpack' < 190
moveitem 'found' 'backpack'
pause 550
endwhile
if counttype 0x1bd7 woodhue[0] 'backpack' < 50 and not @findalias 'restockyes'
//get 200 boards from beetle
if mounted 'self'
pause 550
useobject 'self'
pause 1000
endif
waitforproperties 'beetle' 5000
if @property 'bonded' 'beetle'
waitforcontext 'beetle' 10 15000
else
waitforcontext 'beetle' 9 15000
endif
movetype 0x1bd7 'beetle' 'backpack' [(0 0 0)] woodhue[0] 200
pause 1000
if counttype 0x1bd7 woodhue[0] 'beetle' < 200
@setalias 'restockyes' 'self'
endif
useobject 'beetle'
pause 1000
endif
if @gumpexists 0x19bc4061
@replygump 0x19bc4061 2
waitforgump 0xa8b319c6 1000
@replygump 0xa8b319c6 3
endif
while maxweight < weight
movetypeoffset 0x1bd7 'backpack' 'ground' [(0 2 0)] woodhue[0] 30
pause 550
endwhile
while x > 7000
run 'west'
//craft while running west
if @findalias 'bowquesting' and not @findalias 'bowsdone'
if @gumpexists 0x38920abd and not @ingump 0x38920abd 'Faerie Fire'
pause 550
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 15
waitforgump 0x38920abd 2000
endif
endif
if @gumpexists 0x38920abd
if @ingump 0x38920abd 'Faerie Fire'
if @findalias 'simplebow' and counttype 0x13b2 'any' 'backpack' < 10
@replygump 0x38920abd 2
elseif @findalias 'ingenious1' and counttype 0xf50 'any' 'backpack' < 10
@replygump 0x38920abd 9
elseif @findalias 'ingenious2' and counttype 0x13fd 'any' 'backpack' < 8
@replygump 0x38920abd 16
elseif @findalias 'ingenious3' and counttype 0x26c3 'any' 'backpack' < 10
@replygump 0x38920abd 30
elseif not @findalias 'bowsdone' and @findalias 'bowquesting'
if @findalias 'simplebow' and counttype 0x13b2 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious1' and counttype 0xf50 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious2' and counttype 0x13fd 'any' 'backpack' > 7
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious3' and counttype 0x26c3 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
endif
elseif counttype 0xb5e 'any' 'backpack' < 10
if x > 7026
pause 550
endif
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
elseif counttype 0xb5e 'any' 'backpack' < 10 and @ingump 0x38920abd 'Magincia-style'
@replygump 0x38920abd 2
elseif counttype 0xb5e 'any' 'backpack' < 10
if x > 7026
pause 550
endif
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
endif
endwhile
else //at fletcher and not time for carp, craft bows
if @findalias 'simplebow' and counttype 0x13b2 'any' 'backpack' < 10
if not @gumpexists 0x38920abd
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
endif
if @gumpexists 0x38920abd and not @ingump 0x38920abd 'Faerie Fire'
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 15
waitforgump 0x38920abd 2000
endif
@replygump 0x38920abd 2
waitforgump 0x38920abd 2000
elseif @findalias 'ingenious1' and counttype 0xf50 'any' 'backpack' < 10
if not @gumpexists 0x38920abd
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
endif
if @gumpexists 0x38920abd and not @ingump 0x38920abd 'Faerie Fire'
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 15
waitforgump 0x38920abd 2000
endif
@replygump 0x38920abd 9
waitforgump 0x38920abd 2000
elseif @findalias 'ingenious2' and counttype 0x13fd 'any' 'backpack' < 8
if not @gumpexists 0x38920abd
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
endif
if @gumpexists 0x38920abd and not @ingump 0x38920abd 'Faerie Fire'
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 15
waitforgump 0x38920abd 2000
endif
@replygump 0x38920abd 16
waitforgump 0x38920abd 2000
elseif @findalias 'ingenious3' and counttype 0x26c3 'any' 'backpack' < 10
if not @gumpexists 0x38920abd
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
endif
if @gumpexists 0x38920abd and not @ingump 0x38920abd 'Faerie Fire'
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 15
waitforgump 0x38920abd 2000
endif
@replygump 0x38920abd 30
waitforgump 0x38920abd 2000
elseif counttype 0xb5e 'any' 'backpack' < 10 and @ingump 0x38920abd 'Magincia-style'
@replygump 0x38920abd 2
waitforgump 0x38920abd 2000
elseif counttype 0xb5e 'any' 'backpack' < 10
pause 550
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
endif
elseif x < 7009 and x > 6993
if not @inrange 'Carpentry Quest Giver' 10
if not listexists 'npcbodies'
@createlist 'npcbodies'
//@pushlist 'npcbodies' 0x190
// @pushlist 'npcbodies' 0x191
@pushlist 'npcbodies' 0x25e
@pushlist 'npcbodies' 0x25d
endif
clearignorelist
for 0 to 'npcbodies'
while @findtype npcbodies[] 'any' 'ground' 1 18
waitforproperties 'found' 5000
if not @property ',' 'found'
if @property 'Waelian the Trinket Weaver' 'found' or @property 'Sleen the Trinket Qeaver' 'found'
@setalias 'Carpentry Quest Giver' 'found'
endif
endif
ignoreobject 'found'
endwhile
endfor
if not @inrange 'Carpentry Quest Giver' 10
sysmsg 'Carpentry Quest Giver not found, please target' 34
promptalias 'Carpentry Quest Giver'
endif
endif
if timer 'Carpentry' > 30000
settimer 'carptry' 0
@unsetalias 'checkcarp'
usetype 0x1022 0 'backpack'
//try to get footstools for 5 seconds
while timer 'carptry' < 5000 and not @ingump 0x19bc4061 'foot stools'
if @gumpexists 0xa8b319c6
settimer 'carptry' 5500
endif
@useobject 'Carpentry Quest Giver'
//craft while trying quest
if @gumpexists 0xdf31ecf8
replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 5000
replygump 0x96626c6e 1
endif
if @findalias 'bowquesting' and not @findalias 'bowsdone'
if @gumpexists 0x38920abd and not @ingump 0x38920abd 'Faerie Fire'
pause 550
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 15
waitforgump 0x38920abd 2000
endif
endif
if @gumpexists 0x38920abd
if @ingump 0x38920abd 'Faerie Fire'
if @findalias 'simplebow' and counttype 0x13b2 'any' 'backpack' < 10
@replygump 0x38920abd 2
elseif @findalias 'ingenious1' and counttype 0xf50 'any' 'backpack' < 10
@replygump 0x38920abd 9
elseif @findalias 'ingenious2' and counttype 0x13fd 'any' 'backpack' < 8
@replygump 0x38920abd 16
elseif @findalias 'ingenious3' and counttype 0x26c3 'any' 'backpack' < 10
@replygump 0x38920abd 30
elseif not @findalias 'bowsdone' and @findalias 'bowquesting'
if @findalias 'simplebow' and counttype 0x13b2 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious1' and counttype 0xf50 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious2' and counttype 0x13fd 'any' 'backpack' > 7
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious3' and counttype 0x26c3 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
endif
elseif counttype 0xb5e 'any' 'backpack' < 10
waitforgump 0x38920abd 2000
pause 550
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
elseif counttype 0xb5e 'any' 'backpack' < 10 and @ingump 0x38920abd 'Magincia-style'
@replygump 0x38920abd 2
elseif counttype 0xb5e 'any' 'backpack' < 10
pause 550
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
endif
endwhile
if timer 'Carpentry' > 150000 and not @gumpexists 0xa8b319c6
while not @ingump 0x19bc4061 'foot stools' and not @ingump 0xdf31ecf8 'my thanks'
@useobject 'Carpentry Quest Giver'
if timer 'carptry' > 20000
break
endif
endwhile
endif
if @gumpexists 0xdf31ecf8
replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 5000
replygump 0x96626c6e 1
elseif @gumpexists 0x96626c6e
replygump 0x96626c6e 1
endif
if @gumpexists 0xa8b319c6 or @ingump 0x19bc4061 'just for weary toes'
if @gumpexists 0x19bc4061 and @ingump 0x19bc4061 'just for weary toes'
@replygump 0x19bc4061 1
endif
if not @findalias 'restockyes'
while @counttype 0xb5e 'any' 'backpack' < 10
//get 200 boards from beetle if needed
while counttype 0x1bd7 woodhue[0] 'backpack' < 10 and not @findalias 'restockyes'
if mounted 'self'
pause 550
useobject 'self'
pause 1000
endif
waitforproperties 'beetle' 5000
if @property 'bonded' 'beetle'
waitforcontext 'beetle' 10 15000
else
waitforcontext 'beetle' 9 15000
endif
movetype 0x1bd7 'beetle' 'backpack' [(0 0 0)] woodhue[0] 200
pause 1000
if counttype 0x1bd7 woodhue[0] 'beetle' < 200
@setalias 'restockyes' 'self'
endif
useobject 'beetle'
pause 1000
endwhile
if @gumpexists 0x38920abd and @ingump 0x38920abd 'Magincia-style'
@replygump 0x38920abd 2
waitforgump 0x38920abd 2000
else
waitforgump 0x38920abd 2000
pause 550
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
endwhile
waitforcontext 'self' 4 5000
waitfortarget 5000
settimer 'toggletimeout' 0
while @counttype 0xb5e 1258 'backpack' != 10 and timer 'toggletimeout' < 5000
@targettype 0xb5e 0
@targettype 0xb5e 2010
@targettype 0xb5e 1191
pause 150
endwhile
@canceltarget
pause 500
@useobject! 'Carpentry Quest Giver'
waitforgump 0xdf31ecf8 5000
@replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 5000
@replygump 0x96626c6e 1
pause 300
settimer 'Carpentry' 0
@unsetalias '30no'
@unsetalias '60no'
@unsetalias '90no'
@unsetalias '120no'
else //if not enough boards then craft til you're out
while @counttype 0x1bd7 woodhue[0] 'backpack' > 9 and @counttype 0xb5e 'any' 'backpack' < 10
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
@replygump 0x38920abd 2
waitforgump 0x38920abd 2000
endwhile
if @counttype 0xb5e 'any' 'backpack' > 9
waitforcontext 'self' 4 5000
waitfortarget 5000
settimer 'toggletimeout' 0
while @counttype 0xb5e 1258 'backpack' != 10 and timer 'toggletimeout' < 5000
@targettype 0xb5e 0
@targettype 0xb5e 2010
@targettype 0xb5e 1191
pause 150
endwhile
@canceltarget
pause 500
@useobject! 'Carpentry Quest Giver'
waitforgump 0xdf31ecf8 5000
@replygump 0xdf31ecf8 4
waitforgump 0x96626c6e 5000
@replygump 0x96626c6e 1
pause 300
settimer 'Carpentry' 0
@unsetalias '30no'
@unsetalias '60no'
@unsetalias '90no'
@unsetalias '120no'
endif
endif
else //if no quest yet, mark that time as no
if timer 'Carpentry' > 120000
setalias '120no' 'self'
@setalias '90no' 'self'
@setalias '60no' 'self'
@setalias '30no' 'self'
elseif timer 'Carpentry' > 90000
setalias '90no' 'self'
@setalias '60no' 'self'
@setalias '30no' 'self'
elseif timer 'Carpentry' > 60000
setalias '60no' 'self'
@setalias '30no' 'self'
elseif timer 'Carpentry' > 30000
setalias '30no' 'self'
endif
endif
endif
if @gumpexists 0x19bc4061
@replygump 0x19bc4061 2
waitforgump 0xa8b319c6 1000
@replygump 0xa8b319c6 3
endif
while @findtype '0x1bd7' woodhue[0] 'ground' 30 2 and counttype '0x1bd7' woodhue[0] 'backpack' < 190
moveitem 'found' 'backpack'
pause 550
endwhile
if counttype 0x1bd7 woodhue[0] 'backpack' < 50 and not @findalias 'restockyes'
//get 200 boards from beetle
if mounted 'self'
pause 550
useobject 'self'
pause 1000
endif
waitforproperties 'beetle' 5000
if @property 'bonded' 'beetle'
waitforcontext 'beetle' 10 15000
else
waitforcontext 'beetle' 9 15000
endif
movetype 0x1bd7 'beetle' 'backpack' [(0 0 0)] woodhue[0] 200
pause 1000
if counttype 0x1bd7 woodhue[0] 'beetle' < 200
@setalias 'restockyes' 'self'
endif
useobject 'beetle'
pause 1000
endif
//if dont need to restock, run east to fletcher and craft while doing it
while maxweight < weight
movetypeoffset 0x1bd7 'backpack' 'ground' [(0 1 0)] woodhue[0] 30
pause 550
endwhile
while x < 7036
run 'east'
if @findalias 'bowquesting' and not @findalias 'bowsdone'
if @gumpexists 0x38920abd and not @ingump 0x38920abd 'Faerie Fire'
pause 550
usetype 0x1022 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 15
waitforgump 0x38920abd 2000
endif
endif
if @gumpexists 0x38920abd
if @ingump 0x38920abd 'Faerie Fire'
if @findalias 'simplebow' and counttype 0x13b2 'any' 'backpack' < 10
@replygump 0x38920abd 2
elseif @findalias 'ingenious1' and counttype 0xf50 'any' 'backpack' < 10
@replygump 0x38920abd 9
elseif @findalias 'ingenious2' and counttype 0x13fd 'any' 'backpack' < 8
@replygump 0x38920abd 16
elseif @findalias 'ingenious3' and counttype 0x26c3 'any' 'backpack' < 10
@replygump 0x38920abd 30
elseif not @findalias 'bowsdone' and @findalias 'bowquesting'
if @findalias 'simplebow' and counttype 0x13b2 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious1' and counttype 0xf50 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious2' and counttype 0x13fd 'any' 'backpack' > 7
@setalias 'bowsdone' 'self'
elseif @findalias 'ingenious3' and counttype 0x26c3 'any' 'backpack' > 9
@setalias 'bowsdone' 'self'
endif
elseif counttype 0xb5e 'any' 'backpack' < 10
if x < 7013
pause 550
endif
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
elseif counttype 0xb5e 'any' 'backpack' < 10 and @ingump 0x38920abd 'Magincia-style'
@replygump 0x38920abd 2
elseif counttype 0xb5e 'any' 'backpack' < 10
if x < 7013
pause 550
endif
usetype 0x1034 0 'backpack'
waitforgump 0x38920abd 2000
@replygump 0x38920abd 8
waitforgump 0x38920abd 2000
endif
endif
endwhile
elseif y == 378
while x > 7000
run 'west'
endwhile
else
sysmsg 'You need to be near dropoff, carpentry area or fletching trash when starting this macro' 34
stop
endif