Smith bods turn in (reset)

Share your guides, how-tos, FAQs, and so forth. This is not for support -- post questions in General Discussion.
Post Reply
suiris
Posts: 150

Smith bods turn in (reset)

Post by suiris »

The macro is made to use in Luna, Vendor and trash already configured. It will navigate to the vendor and the trash if needed (sometimes the NPC is not close enough).
Throws away any pickaxes sturdy tools and gloves of mining, keeps gold and PoF (if any) in bank.
Make sure all bods are visible in the book.

Loop checkbox should be on.

Code: Select all

//========== init phase =============
if not findalias 'initialize'
  if not findalias 'BSsource'
    promptalias 'BSsource'
  endif
  if not findalias 'BSdest'
    promptalias 'BSdest'
  endif
  if not listexists 'trashitems'
    createlist 'trashitems'
    @pushlist 'trashitems' 0xf39
    @pushlist 'trashitems' 0xe86
    @pushlist 'trashitems' 0xfb4
    @pushlist 'trashitems' 0x13d5
    @pushlist 'trashitems' 0x13c6
  endif
endif
//======= end of init phase ==========
//====================================
if not findalias 'BSvendor'
  @setalias 'BSvendor' 0x4102e
endif
if not findalias 'bstrash'
  @setalias 'bstrash' 0x4040a418
endif
if property 'Deeds in Book: 0' 'BSsource'
  @unsetalias 'initialize'
  @unsetalias 'BSsource'
  @unsetalias 'BSdest'
  clearignorelist
  msg 'bank'
  pause 500
  @movetype 0xeed 'backpack' 'bank'
  pause 500
  while @findtype 0x1006 2419 'backpack' 'any'
    @moveitem 'found' 'bank'
    pause 500
    @ignoreobject 'found'
  endwhile
  pause 400
  for 0 to 'trashitems'
    while @findtype trashitems[] 'any' 'backpack' 'any'
      @moveitem 'found' 'bstrash'
      pause 600
    endwhile
  endfor
  stop
endif
while not @inrange 'BSvendor' 1
  if @x 'BSvendor' > x 'self' and @y 'BSvendor' > y 'self'
    walk 'Southeast'
  elseif @x 'BSvendor' < x 'self' and @y 'BSvendor' > y 'self'
    walk 'Southwest'
  elseif @x 'BSvendor' > x 'self' and @y 'BSvendor' < y 'self'
    walk 'Northeast'
  elseif @x 'BSvendor' < x 'self' and @y 'BSvendor' < y 'self'
    walk 'Northwest'
  elseif @x 'BSvendor' > x 'self' and @y 'BSvendor' == y 'self'
    walk 'East'
  elseif @x 'BSvendor' < x 'self' and @y 'BSvendor' == y 'self'
    walk 'West'
  elseif @x 'BSvendor' == x 'self' and @y 'BSvendor' > y 'self'
    walk 'South'
  elseif @x 'BSvendor' == x 'self' and @y 'BSvendor' < y 'self'
    walk 'North'
  endif
  msg 'Betty'
endwhile
waitforcontext 'BSvendor' 1 1500
pause 800
if @injournal 'An offer may be available'
  sysmsg 'try later'
  @clearjournal
else
  pause 800
  @replygump 0x9bade6ea 1
  @replygump 0xbe0dad1e 1
  pause 800
  while @findtype 0x2258 1102 'backpack'
    @moveitem 'found' 'BSdest'
    pause 450
    @ignoreobject 'found'
  endwhile
endif
pause 800
@useobject 'BSsource'
waitforgump 0x54f555df 1500
@replygump 0x54f555df 5
waitforgump 0x54f555df 1500
@replygump 0x54f555df 0
pause 800
if @findtype 0x2258 1102 'backpack'
  @setalias 'bod' 'found'
  pause 400
  while @findobject 'bod' 'any' 'backpack'
    @moveitem 'bod' 'BSvendor'
    pause 400
    if @injournal 'You have not completed'
      pause 3000
      @clearjournal
      @moveitem 'bod' 'BSdest'
      @ignoreobject 'bod'
      pause 500
      break
    endif
  endwhile
endif
if @property 'Contents' 'backpack' > 122 or weight > 400
  while not @inrange 'bstrash' 1
    if @x 'bstrash' > x 'self' and @y 'bstrash' > y 'self'
      walk 'Southeast'
    elseif @x 'bstrash' < x 'self' and @y 'bstrash' > y 'self'
      walk 'Southwest'
    elseif @x 'bstrash' > x 'self' and @y 'bstrash' < y 'self'
      walk 'Northeast'
    elseif @x 'bstrash' < x 'self' and @y 'bstrash' < y 'self'
      walk 'Northwest'
    elseif @x 'bstrash' > x 'self' and @y 'bstrash' == y 'self'
      walk 'East'
    elseif @x 'bstrash' < x 'self' and @y 'bstrash' == y 'self'
      walk 'West'
    elseif @x 'bstrash' == x 'self' and @y 'bstrash' > y 'self'
      walk 'South'
    elseif @x 'bstrash' == x 'self' and @y 'bstrash' < y 'self'
      walk 'North'
    endif
  endwhile
  pause 1000
  msg 'bank'
  pause 500
  @movetype 0xeed 'backpack' 'bank'
  pause 500
  while @findtype 0x1006 2419 'backpack' 'any'
    @moveitem 'found' 'bank'
    pause 500
    @ignoreobject 'found'
  endwhile
  pause 400
  for 0 to 'trashitems'
    while @findtype trashitems[] 'any' 'backpack' 'any'
      @moveitem 'found' 'bstrash'
      pause 600
    endwhile
  endfor
endif
pause 1000
pause 1000
Edit: fixed few things.
Last edited by suiris on April 20th, 2017, 6:37 pm, edited 2 times in total.
Sabata and Cunnana like this.
Top
Gra_la
Posts: 4

Re: Smith bods turn in (reset)

Post by Gra_la »

I recommend for blacksmith dropping all the large iron bods in the trash as you get them rather than in the sorting phase, it saves a whole lot of time.
Also might want to include Ringmail gloves 0x13eb and Pickaxe 0xe85 in your trash.
hrs024
Posts: 2634

Re: Smith bods turn in (reset)

Post by hrs024 »

can anybody help me to add gargoyle pickaxes to the trash list, i cant get it to work when i modify it. thank you
DISCORD NAME hrs024 #0656
Haswell
Posts: 44

Re: Smith bods turn in (reset)

Post by Haswell »

hrs024 wrote:can anybody help me to add gargoyle pickaxes to the trash list, i cant get it to work when i modify it. thank you
after editing the list type in-game: -removelist 'trashitems'
or go to the Macros tab -> click the "Active Objects" button -> Clear All or remove that specific list
hrs024 likes this.
Top
hrs024
Posts: 2634

Re: Smith bods turn in (reset)

Post by hrs024 »

ah okay il try that out thanks alot!
DISCORD NAME hrs024 #0656
User avatar
scatman
Posts: 391

Re: Smith bods turn in (reset)

Post by scatman »

is there a way to modify this macro to sorting bods instantly? There is not enough room in backpack to turn in more than 5 bods, lol.
hrs024 likes this.
Top
Post Reply