Discussion in   FAQ's   started     9 years ago   February 07, 2015, 03:43:37 AM   by   Supercub013

Bod Filling Macros

Supercub013
Offline
3 Posts
Topic :   Bod Filling Macros
9 years ago  February 07, 2015, 03:43:37 AM

Good Morning UO Evolution!

WARNING: This will consume crafted items if it fits the BOD requirments i.e. A level 100 champ weapon.
The following is a steam macro for BOD filling. I will be posting additional as I complete them but the blacksmith BOD filler is complete.
a few things that you need in order to get started:
1. An Ultimate BOD Book
2. The ingot resource key.
3. A location with two containers within reach of your crafting. Recommended secure in your own house.
4. The respective tool the script asks for i.e. this blacksmith one uses smith hammers.


Below is the script. Copy and paste the whole thing. It is commented in certain areas to help understand the script and hopefully will serve as a learning tool as well.


*Update*
Good Morning UO Evo. Congratulations on the 5 years running! I've had several requests lately on this script and additional ones. I'm going to take another look this weekend at what I was working on and I'll be able to post more for you to use as well as more descriptive comments so that you can decipher the script easier. Until then I've added some I have readily available. I want to note that the automated resource gathering is not so you can go unattended. Please follow the server rules with these scripts. They are simply designed to make the mundane repetition easier to deal with.


*edited 2/9/2015 - added alias for recycle bag*
*edited 1/14/2016 - added additional scripts, Look at the additional post I made for the added scripts*
*edited  1/16/2016 - added warning*


Code: [Select]
//Initial set up of macro
if not @findobject 'MasterBook'
  sysmsg "please Select the Master BOD book"
  promptalias 'MasterBook'
endif
if not @findobject 'Recycle'
  sysmsg "Selecte recycle bag destination"
  promptalias 'Recycle'
endif
if not @findobject 'Done'
  sysmsg "Selecte completed BOD bag destination"
  promptalias 'Done'
endif
if not @findobject 'uncompleted'
  sysmsg "select uncompleted BOD Destination"
  promptalias 'uncompleted'
endif
//activate BS bod to use
if @findtype 0x2258 1102 'backpack'
  @setalias 'BOD' 'found'
  useobject! 'BOD'
  waitforgump 0x5afbd742 15000
  //combine
  if not targetexists 'server'
    replygump 0x5afbd742 2
    waitforgump 0x5afbd742 15000
    waitfortarget 5000
    pause 500
  endif
  //use hammer
  if @findtype 0x13e3  'backpack'
    @usetype 0x13e3 'backpack'
    pause 500
    //if no hammers found
  else
    sysmsg 'Out of hammers' 25
    @canceltarget
    stop
  endif
  if @ingump 0x5afbd742 'crafted with dull copper'
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 13
    waitforgump 0x38920abd 15000
  elseif @ingump 0x5afbd742 'crafted with shadow iron'
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 20
    waitforgump 0x38920abd 15000
  elseif @ingump 0x5afbd742 'crafted with copper'
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 27
    waitforgump 0x38920abd 15000
  elseif @ingump 0x5afbd742 'crafted with bronze'
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 34
    waitforgump 0x38920abd 15000
  elseif @ingump 0x5afbd742 'crafted with gold'
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 41
    waitforgump 0x38920abd 15000
  elseif @ingump 0x5afbd742 'crafted with agapite'
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 48
    waitforgump 0x38920abd 15000
  elseif @ingump 0x5afbd742 'crafted with verite'
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 55
    waitforgump 0x38920abd 15000
  elseif @ingump 0x5afbd742 'crafted with valorite'
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 62
    waitforgump 0x38920abd 15000
  elseif @ingump 0x5afbd742 'crafted with blaze'
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 69
    waitforgump 0x38920abd 15000
  elseif @ingump 0x5afbd742 'crafted with ice'
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 76
    waitforgump 0x38920abd 15000
  elseif @ingump 0x5afbd742 'crafted with toxic'
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 83
    waitforgump 0x38920abd 15000
  elseif @ingump 0x5afbd742 'crafted with electrum'
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 90
    waitforgump 0x38920abd 15000
  elseif @ingump 0x5afbd742 'crafted with platinum'
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 97
    waitforgump 0x38920abd 15000
  else
    replygump 0x38920abd 7
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 6
    waitforgump 0x38920abd 15000
  endif
  //craft
  while targetexists 'server'
    if @findtype 0x13e3  'backpack'
      @usetype 0x13e3 'backpack'
      pause 500
    else
      sysmsg 'Out of hammers' 25
      @canceltarget
      stop
    endif
    //look in gump for item to create
    //ex for future input
    //if @ingump (serial) (text)
    //the gump commands to create said item
    //pause 250
    //@tartgettype! (serial) 'any' 'backpack'
    //continue on adding more items using else if
    //ringmail
    if @ingump 0x5afbd742 'ringmail gloves'
      replygump 0x38920abd 1
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 2
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x13eb 'any' 'backpack'
    elseif @ingump 0x5afbd742 'ringmail leggings'
      replygump 0x38920abd 1
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 9
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x13f0 'any' 'backpack'
    elseif @ingump 0x5afbd742 'ringmail sleeves'
      replygump 0x38920abd 1
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 16
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x13EE
    elseif @ingump 0x5afbd742 'ringmail tunic'
      replygump 0x38920abd 1
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 23
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x13ec
      // Chainmail
    elseif @ingump 0x5afbd742 'chainmail coif'
      replygump 0x38920abd 8
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 2
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x13bb 'any' 'backpack'
    elseif @ingump 0x5afbd742 'chainmail leggings'
      replygump 0x38920abd 8
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 9
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x13BE
    elseif @ingump 0x5afbd742 'chainmail tunic'
      replygump 0x38920abd 8
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 16
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x13bf 'any' 'backpack'
      // Platemail
    elseif @ingump 0x5afbd742 'platemail arms'
      replygump 0x38920abd 15
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 2
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1410
    elseif @ingump 0x5afbd742 'platemail gloves'
      replygump 0x38920abd 15
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 9
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1414
    elseif @ingump 0x5afbd742 'platemail gorget'
      replygump 0x38920abd 15
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 16
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1413
    elseif @ingump 0x5afbd742 'platemail legs'
      replygump 0x38920abd 15
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 23
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1411
    elseif @ingump 0x5afbd742 'platemail tunic'
      replygump 0x38920abd 15
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 30
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1415 'any' 'backpack'
    elseif @ingump 0x5afbd742 'female plate'
      replygump 0x38920abd 15
      waitforgump 0x38920abd 15000
      replygump 0x38920abd 37
      waitforgump 0x38920abd 15000
      pause 250
      @targettype! 0x1c04 'any' 'backpack'
      // Helmets
    elseif @ingump 0x5afbd742 'bascinet'
      replygump 0x38920abd 22
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 2
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x140C
    elseif @ingump 0x5afbd742 'close helmet'
      replygump 0x38920abd 22
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 9
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1408
    elseif @ingump 0x5afbd742 'helmet'
      replygump 0x38920abd 22
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 16
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x140a 'any' 'backpack'
    elseif @ingump 0x5afbd742 'norse helm'
      replygump 0x38920abd 22
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 23
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x140E
    elseif @ingump 0x5afbd742 'plate helm'
      replygump 0x38920abd 22
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 30
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1412
      // Shields
    elseif @ingump 0x5afbd742 'buckler'
      replygump 0x38920abd 29
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 2
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1B73
    elseif @ingump 0x5afbd742 'bronze shield'
      replygump 0x38920abd 29
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 9
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1b72 'any' 'backpack'
    elseif @ingump 0x5afbd742 'heater shield'
      replygump 0x38920abd 29
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 16
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1b76 'any' 'backpack'
    elseif @ingump 0x5afbd742 'metal shield'
      replygump 0x38920abd 29
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 23
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1b7b 'any' 'backpack'
    elseif @ingump 0x5afbd742 'metal kite shield'
      replygump 0x38920abd 29
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 30
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1B74
    elseif @ingump 0x5afbd742 'tear kite shield'
      replygump 0x38920abd 29
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 37
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1B79
      // Bladed
    elseif @ingump 0x5afbd742 'broadsword'
      replygump 0x38920abd 43
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 9
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0xf5e 'any' 'backpack'
    elseif @ingump 0x5afbd742 'cutlass'
      replygump 0x38920abd 43
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 23
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1441 'any' 'backpack'
    elseif @ingump 0x5afbd742 'dagger'
      replygump 0x38920abd 43
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 30
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0xf52 'any' 'backpack'
    elseif @ingump 0x5afbd742 'katana'
      replygump 0x38920abd 43
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 37
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x13FF
    elseif @ingump 0x5afbd742 'kryss'
      replygump 0x38920abd 43
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 44
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1401
    elseif @ingump 0x5afbd742 'longsword'
      replygump 0x38920abd 43
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 51
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0xf61 'any' 'backpack'
    elseif @ingump 0x5afbd742 'scimitar'
      replygump 0x38920abd 43
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 58
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x13b6 'any' 'backpack'
    elseif @ingump 0x5afbd742 'viking sword'
      replygump 0x38920abd 43
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 65
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x13b9 'any' 'backpack'
      // Axes
    elseif @ingump 0x5afbd742 'large battle axe'
      replygump 0x38920abd 50
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 30
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x13fb 'any' 'backpack'
    elseif @ingump 0x5afbd742 'double axe'
      replygump 0x38920abd 50
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 16
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x0F4B
    elseif @ingump 0x5afbd742 "executioner's axe"
      replygump 0x38920abd 50
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 23
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x0F45
    elseif @ingump 0x5afbd742 'battle axe'
      replygump 0x38920abd 50
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 9
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0xf47 'any' 'backpack'
    elseif @ingump 0x5afbd742 'two handed axe'
      replygump 0x38920abd 50
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 37
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1443 'any' 'backpack'
    elseif @ingump 0x5afbd742 'war axe'
      replygump 0x38920abd 50
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 44
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x13b0 'any' 'backpack'
    elseif @ingump 0x5afbd742 'axe'
      replygump 0x38920abd 50
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 2
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x0F49
      // Polearms
    elseif @ingump 0x5afbd742 'bardiche'
      replygump 0x38920abd 57
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 2
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0xf4d 'any' 'backpack'
    elseif @ingump 0x5afbd742 'halberd'
      replygump 0x38920abd 57
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 23
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x143E
    elseif @ingump 0x5afbd742 'short spear'
      replygump 0x38920abd 57
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 44
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1403 'any' 'backpack'
    elseif @ingump 0x5afbd742 'spear'
      replygump 0x38920abd 57
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 58
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0xf62 'any' 'backpack'
    elseif @ingump 0x5afbd742 'war fork'
      replygump 0x38920abd 57
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 65
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1405
      // Bashing
    elseif @ingump 0x5afbd742 'war mace'
      replygump 0x38920abd 64
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 30
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1407 'any' 'backpack'
    elseif @ingump 0x5afbd742 'hammer pick'
      replygump 0x38920abd 64
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 2
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x143d 'any' 'backpack'
    elseif @ingump 0x5afbd742 'mace'
      replygump 0x38920abd 64
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 9
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0xf5c 'any' 'backpack'
    elseif @ingump 0x5afbd742 'maul'
      replygump 0x38920abd 64
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 16
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x143B
    elseif @ingump 0x5afbd742 'war hammer'
      replygump 0x38920abd 64
      waitforgump 0x38920abd 6000
      replygump 0x38920abd 37
      waitforgump 0x38920abd 6000
      pause 250
      @targettype! 0x1439 'any' 'backpack'
    else
      //BOD not set up
      @canceltarget
      @moveitem! 'bod' 'uncompleted'
    endif
    if @ingump 0x38920abd 'failed'
      pause 1500
      continue
    elseif @ingump 0x38920abd 'not have sufficient'
      @moveitem! 'bod' 'uncompleted'
      replay
    endif
    pause 500
  endwhile
  if not targetexists and @injournal 'must be exceptional' 'system'
    // Recycle this item
    moveitem 'last' 0x406bf6ec
    clickobject 'Recycle'
    pause 2000
    waitforcontext 0x406bf6ec 0 15000
    clearjournal
    replay
  elseif not targetexists 'server'
    @moveitem! 'bod' 'Done'
  endif
else @findalias 'masterbook'
  useobject 'masterbook'
  waitforgump 0x6abce12 15000
  replygump 0x6abce12 1
  pause 2500
  replygump 0xb2f21f1a 100
  pause 2000
  if not @findtype 0x2258 1102 'backpack'
    //play another macro
    playmacro 'Fletching BOD filler'
    stop
  endif
endif
pause 2000
replay




Thorgal Pain
Offline
254 Posts
#1 Re :   Bod Filling Macros
9 years ago  February 07, 2015, 08:38:09 AM

Loving this!

Sagemoon
Offline
204 Posts
#2 Re :   Bod Filling Macros
9 years ago  February 07, 2015, 01:13:31 PM

Thank you for sharing, I look forward to dissecting this!


*hugs*


Sage

Silvermane
Offline
31 Posts
#3 Re :   Bod Filling Macros
9 years ago  March 07, 2015, 12:22:32 PM

Just a quick FYI to folks...this Macro WILL eat a champ axe even if it's insured...Take it from someone that knows first hand...I had it eat a level 100 1-handed champ axe...USE WITH CAUTION.

Note I don't blame the author of the macro...It was my fault for not taking my axe out.

Tiea
Offline
94 Posts
#4 Re :   Bod Filling Macros
9 years ago  March 07, 2015, 04:04:03 PM

What do you mean it will eat a champ axe?

spainkevin79
Offline
143 Posts
#5 Re :   Bod Filling Macros
9 years ago  March 07, 2015, 04:36:10 PM

Quote
Just a quick FYI to folks...this Macro WILL eat a champ axe even if it's insured...Take it from someone that knows first hand...I had it eat a level 100 1-handed champ axe...USE WITH CAUTION.

Hope you got a nice BOD reward with that ;)

Silvermane
Offline
31 Posts
#6 Re :   Bod Filling Macros
9 years ago  March 08, 2015, 11:15:09 AM

It will use your champ weapon to fill the bod since most of them are crafter made....


On the positive...the macro works well...I've had no problems with it (other then eating my weapon).

Thorgal Pain
Offline
254 Posts
#7 Re :   Bod Filling Macros
9 years ago  March 08, 2015, 06:37:23 PM

I will give it a try very soon.

Altner
Offline
1 Posts
#8 Re :   Bod Filling Macros
9 years ago  September 29, 2015, 06:52:27 PM

Hey! ive recently stumbled upon your macro.

I am currently having troubles:

the script cant find the Recycling bag

wont stop making a completed bod ( eg. bod of iron warforks for 15. will make a 16th)

since the recycling bag cant be found I don't know if it will cycle the unused into ingots.


Sorry for rehashing a necro'd post!

Supercub013
Offline
3 Posts
#9 Re :   Bod Filling Macros
8 years ago  January 15, 2016, 10:02:41 AM

Added Scripts


Tinker BOD Fill


Code: [Select]


//Initial set up of macro
if not @findobject 'MasterBook'
  sysmsg "please Select the Master BOD book"
  promptalias 'MasterBook'
endif
if not @findobject 'Done'
  sysmsg "Selecte completed BOD bag destination"
  promptalias 'Done'
endif
if not @findobject 'uncompleted'
  sysmsg "select uncompleted BOD Destination"
  promptalias 'uncompleted'
endif
//activate tinker bod to use
if @findtype 0x2258 20 'backpack'
  @setalias 'BOD' 'found'
  useobject! 'BOD'
  waitforgump 0x29d02f02 15000
  //combine
  if not targetexists 'server'
    replygump 0x29d02f02 2
    waitforgump 0x29d02f02 15000
    waitfortarget 5000
  endif
  //use tinker tools
  if @findtype 0x1eb8  'backpack'
    @usetype 0x1eb8 'backpack'
    //set ore type or wood type
    //space for checking type of resource
    //ex. if @ingump (serial) 'crafted with dull copper'
    //
    //
    //future use for resource types
    //
    //craft
    while targetexists 'server'
      //look in gump for item to create
      //ex for future input
      //if @ingump (serial) (text)
      //the gump commands to create said item
      //pause 75
      //@tartgettype! (serial) 'any' 'backpack'
      //continue on adding more items using else if
      if @ingump 0x29d02f02 'skinning knife'
        replygump 0x38920abd 22
        waitforgump 0x38920abd 15000
        replygump 0x38920abd 79
        waitforgump 0x38920abd 15000
        pause 750
        @targettype! 0xec4 'any' 'backpack'
      elseif @ingump 0x29d02f02 'saw'
        replygump 0x38920abd 8
        waitforgump 0x38920abd 15000
        replygump 0x38920abd 51
        waitforgump 0x38920abd 15000
        pause 750
        @targettype! 0x1034 'any' 'backpack'
      elseif @ingump 0x29d02f02 'pen and ink'
        replygump 0x38920abd 8
        waitforgump 0x38920abd 15000
        replygump 0x38920abd 156
        waitforgump 0x38920abd 15000
        pause 750
        @targettype! 0xfbf 'any' 'backpack'
      else
        //BOD not set up
        @canceltarget
        @moveitem! 'bod' 'uncompleted'
      endif
      if @ingump 0x38920abd 'failed'
        pause 1000
        continue
      endif
      pause 500
    endwhile
    if not targetexists 'server'
      @moveitem! 'bod' 'Done'
    endif
    //if no tinker tools found
  else
    sysmsg 'Out of tinker tools' 25
    @canceltarget
    stop
  endif
else @findalias 'masterbook'
  useobject 'masterbook'
  waitforgump 0x6abce12 15000
  replygump 0x6abce12 5
  pause 250
  replygump 0xb2f21f1a 100
  pause 1500
  replay
  if not @findtype 0x2258 20 'backpack'
    break
  endif
endif








Recall Mining




Code: [Select]


if not @findobject 'BookOne'
  promptalias 'BookOne'
endif
if not listexists 'OreBook'
  createlist 'OreBook'
  pushlist 'OreBook' 'BookOne'
endif
if not listexists 'Runes'
  createlist 'Runes'
  pushlist 'Runes' 7
  pushlist 'Runes' 13
  pushlist 'Runes' 19
  pushlist 'Runes' 25
  pushlist 'Runes' 31
  pushlist 'Runes' 37
  pushlist 'Runes' 43
  pushlist 'Runes' 49
  pushlist 'Runes' 55
  pushlist 'Runes' 61
  pushlist 'Runes' 67
  pushlist 'Runes' 73
  pushlist 'Runes' 79
  pushlist 'Runes' 85
  pushlist 'Runes' 91
  pushlist 'Runes' 97
endif
for 0 to 'OreBook'
  for 0 to 'Runes'
    clearjournal
    useobject OreBook[]
    waitforgump 0x554b87f3 5000
    replygump 0x554b87f3 Runes[]
    pause 6000
    while not @injournal 'There is no metal here to mine.'
      pause 300
      usetype 0xf39
      waitfortarget 1500
      targettilerelative 'self' 0
      pause 1000
      if weight > '390'
        msg 'bank'
        organizer 'Ore'
        while organizing
          pause 500
        endwhile
      endif
    endwhile
  endfor
endfor



Recall Chopping




Code: [Select]


 if not @findobject 'TreeBookOne'
  promptalias 'TreeBookOne'
endif
if not listexists 'TreeBook'
  createlist 'TreeBook'
  pushlist 'TreeBook' 'TreeBookOne'
  pushlist 'TreeBook' 'TreeBookTwo'
endif
if not listexists 'Runes'
  createlist 'Runes'
  pushlist 'Runes' 7
  pushlist 'Runes' 13
  pushlist 'Runes' 19
  pushlist 'Runes' 25
  pushlist 'Runes' 31
  pushlist 'Runes' 37
  pushlist 'Runes' 43
  pushlist 'Runes' 49
  pushlist 'Runes' 55
  pushlist 'Runes' 61
  pushlist 'Runes' 67
  pushlist 'Runes' 73
  pushlist 'Runes' 79
  pushlist 'Runes' 85
  pushlist 'Runes' 91
  pushlist 'Runes' 97
endif
if not findobject 'lefthand'
  if @findtype 0xf43 'any' 'backpack'
    equipitem 'found' 2
  else
    sysmsg 'You have run out of hatchets!' 24
  endif
endif
for 0 to 'TreeBook'
  for 0 to 'Runes'
    clearjournal
    useobject TreeBook[]
    waitforgump 0x554b87f3 5000
    replygump 0x554b87f3 Runes[]
    pause 1500
    while not @injournal 'enough wood'
      useobject 'lefthand'
      waitfortarget 2500
      targettileoffset 0 -1 0
      pause 2000
      if weight > '390'
        //Use storage key
      endif
      //Check if there is still a hatchet equipped, in case it broke get another
      if not findobject 'lefthand'
        if @findtype 0xf43 'any' 'backpack'
          equipitem 'found' 2
        else
          sysmsg 'You have run out of hatchets!' 24
        endif
      endif
    endwhile
  endfor
endfor




FalseProphet
Offline
3 Posts
#10 Re :   Bod Filling Macros
8 years ago  January 15, 2016, 01:01:28 PM

Code: [Select]
if weight > '390'
    //Use storage key     
endif



You forgot to insert the code for weight.  Since I normally give my scripts to people I just create an alias on initialization and use it later.

Supercub013
Offline
3 Posts
#11 Re :   Bod Filling Macros
8 years ago  January 16, 2016, 12:26:09 PM

Good catch, Thank you. I have no doubt there are many errors and they may not be complete. Those were from the text documents that I had saved from a while back. I'll be downlaoding everything again this afternoon and taking a closer look at it all and posting updates and changes. please keep the errors coming so I can make adjustments as necessary.

Smilingdeath
Offline
275 Posts
#12 Re :   Bod Filling Macros
8 years ago  March 22, 2016, 09:17:09 PM

Something I started doing with my tinker bods for the various tools.  At high level you will make mostly if not all exceptiinal tools with more than 50 uses on them.  Add them to your tool box key, then withdrawal however many 50 use tools you need for that particular BOD.  It allows you to always have an excess amount of tools on hand in case you run out of ingots for some reason.

Dable
Offline
34 Posts
#13 Re :   Bod Filling Macros
8 years ago  March 23, 2016, 06:05:19 AM

Regarding the fact that valuable items may be used to fill BODs by the script, I would suggest adding in lines to check if a item has insured or blessed properties. It is how I have my small bod filler set up. That is if you have not already implemented it.

Code: [Select]
waitforproperties 'found' 15000
if property 'Insured' 'found' == true or property 'Blessed' 'found' == true
  sysmsg "Item is Blessed or Insured, Ignoring." 11
  ignoreobject 'found'
endif
if property 'Magical' 'found' == true
  sysmsg "Magical clothing, ignoring." 11
  ignoreobject 'found'
endif

Now I wouldn't necessarily rely on this,  it seems to work but that being said I still do my bod filling naked and with a pretty much empty pack. Also I'm not sure that the check for magical clothing will work because I don't think magical clothing has it as an actual property, it's just got Magical in the name of the item.