UOGamers Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

  • To obtain new Razor updates, please reinstall Razor from our new website.

UOS Tailoring BOD Filler

This is an update to the UOS Tailoring BOD Filler the author allowed me to post here, compared to previous version it is shorter, faster and handles different leather types automatically.

Instructions:
- Mark "Loop" and play the macro
- "Bulk Source" is the BOB with BODs you want to fill
- "Bulk Destination" is another BOB where filled BODs will be placed
- "Restock" is a container with leathers (normal, spined, horned and barbed), cloth and sewing kits
- "Trash BODs Destination" can be a container or a BOB where the macro will place BODs it cannot fill
- Have a scissors inside your backpack to recycle items
- Keep your character close to a trash barrel and all selected containers

Code:
// Author: Kraz
// Description: Tailoring BOD Filler
// v2.1: fixed issue where it could not craft footwear
// v2.0: (1) easier to update, read and edit craft info, (2) search, recycle and combine existing items before crafting, (3) faster crafting due to gump category swap improvements, (4) added resource handler
if not @findobject 'Bulk Source'
  promptalias 'Bulk Source'
endif
if not @findobject 'Bulk Destination'
  promptalias 'Bulk Destination'
endif
if not @findobject 'Restock'
  promptalias 'Restock'
endif
if not @findobject 'Trash BODs Destination'
  promptalias 'Trash BODs Destination'
endif
if not @findobject 'Trash Barrel'
  promptalias 'Trash Barrel'
endif
// Craft info placeholder
if not listexists 'Craft'
  @createlist 'Craft'
  // 0: Category, 1: Button, 2: Graphic, 3: Resource Button, 4: Resource Color
endif
// Search for a BOD to fill
if @findtype 0x2258 0x483 'backpack' and @property 'small' 'found'
  // Reset craft state
  @clearlist 'Craft'
  @unsetalias 'crafting'
  // Define and open new BOD
  @setalias 'bod' 'found'
  useobject! 'bod'
  waitforgump 0x5afbd742 15000
  // Combine items
  if not targetexists 'server'
    replygump 0x5afbd742 2
    waitforgump 0x5afbd742 15000
    waitfortarget 5000
  endif
  // Check for tools
  if @findtype 0xf9d 0 'backpack'
    pause 1500
    @setalias 'tool' 'found'
    useobject! 'tool'
    waitforgump 0x38920abd 15000
    // Craft
    while targetexists 'server'
      // Define BOD material type
      @setalias 'cloth' 'bod'
      if @ingump 0x5afbd742 'leather' or @ingump 0x5afbd742 'studded'
        @unsetalias 'cloth'
      elseif @ingump 0x5afbd742 'boots' and not @ingump 0x5afbd742 'fur boots'
        @unsetalias 'cloth'
      elseif @ingump 0x5afbd742 'shoes' or @ingump 0x5afbd742 'sandals'
        @unsetalias 'cloth'
      endif
      // Craft requirements
      if @findalias 'cloth'
        // Check for cut cloths
        if @counttype 0x1766 'any' 'backpack' < 50 and @counttype 0x1767 'any' 'backpack' < 50
          if @movetype 0x1766 'Restock' 'backpack' 0 0 0 'any' 100 or @movetype 0x1767 'Restock' 'backpack' 0 0 0 'any' 100
            pause 1500
          else
            sysmsg 'Out of cloths!' 25
            @canceltarget
            stop
          endif
        endif
        if not @findalias 'crafting'
          // Hats
          if @ingump 0x5afbd742 'skullcap'
            @pushlist 'Craft' 1
            @pushlist 'Craft' 2
            @pushlist 'Craft' 0x1544
          elseif @ingump 0x5afbd742 'bandana'
            @pushlist 'Craft' 1
            @pushlist 'Craft' 9
            @pushlist 'Craft' 0x1540
          elseif @ingump 0x5afbd742 'floppy hat'
            @pushlist 'Craft' 1
            @pushlist 'Craft' 16
            @pushlist 'Craft' 0x1713
          elseif @ingump 0x5afbd742 'cap'
            @pushlist 'Craft' 1
            @pushlist 'Craft' 23
            @pushlist 'Craft' 0x1715
          elseif @ingump 0x5afbd742 'wide-brim hat'
            @pushlist 'Craft' 1
            @pushlist 'Craft' 30
            @pushlist 'Craft' 0x1714
          elseif @ingump 0x5afbd742 'tall straw hat'
            @pushlist 'Craft' 1
            @pushlist 'Craft' 44
            @pushlist 'Craft' 0x1716
          elseif @ingump 0x5afbd742 'straw hat'
            @pushlist 'Craft' 1
            @pushlist 'Craft' 37
            @pushlist 'Craft' 0x1717
          elseif @ingump 0x5afbd742 "wizard's hat"
            @pushlist 'Craft' 1
            @pushlist 'Craft' 51
            @pushlist 'Craft' 0x1718
          elseif @ingump 0x5afbd742 'bonnet'
            @pushlist 'Craft' 1
            @pushlist 'Craft' 58
            @pushlist 'Craft' 0x1719
          elseif @ingump 0x5afbd742 'feathered hat'
            @pushlist 'Craft' 1
            @pushlist 'Craft' 65
            @pushlist 'Craft' 0x171a
          elseif @ingump 0x5afbd742 'tricorne hat'
            @pushlist 'Craft' 1
            @pushlist 'Craft' 72
            @pushlist 'Craft' 0x171b
          elseif @ingump 0x5afbd742 'jester hat'
            @pushlist 'Craft' 1
            @pushlist 'Craft' 79
            @pushlist 'Craft' 0x171c
          elseif @ingump 0x5afbd742 'flower garland'
            @pushlist 'Craft' 1
            @pushlist 'Craft' 86
            @pushlist 'Craft' 0x2306
            // Shirts
          elseif @ingump 0x5afbd742 'doublet'
            @pushlist 'Craft' 8
            @pushlist 'Craft' 2
            @pushlist 'Craft' 0x1f7b
          elseif @ingump 0x5afbd742 'fancy shirt'
            @pushlist 'Craft' 8
            @pushlist 'Craft' 16
            @pushlist 'Craft' 0x1efd
          elseif @ingump 0x5afbd742 'formal shirt'
            @pushlist 'Craft' 8
            @pushlist 'Craft' 86
            @pushlist 'Craft' 0x2310
          elseif @ingump 0x5afbd742 'shirt'
            @pushlist 'Craft' 8
            @pushlist 'Craft' 9
            @pushlist 'Craft' 0x1517
          elseif @ingump 0x5afbd742 'tunic'
            @pushlist 'Craft' 8
            @pushlist 'Craft' 23
            @pushlist 'Craft' 0x1fa1
          elseif @ingump 0x5afbd742 'surcoat'
            @pushlist 'Craft' 8
            @pushlist 'Craft' 30
            @pushlist 'Craft' 0x1ffd
          elseif @ingump 0x5afbd742 'plain dress'
            @pushlist 'Craft' 8
            @pushlist 'Craft' 37
            @pushlist 'Craft' 0x1f01
          elseif @ingump 0x5afbd742 'fancy dress'
            @pushlist 'Craft' 8
            @pushlist 'Craft' 44
            @pushlist 'Craft' 0x1f00
          elseif @ingump 0x5afbd742 'cloak'
            @pushlist 'Craft' 8
            @pushlist 'Craft' 51
            @pushlist 'Craft' 0x1515
          elseif @ingump 0x5afbd742 'robe'
            @pushlist 'Craft' 8
            @pushlist 'Craft' 58
            @pushlist 'Craft' 0x1f03
          elseif @ingump 0x5afbd742 'jester suit'
            @pushlist 'Craft' 8
            @pushlist 'Craft' 65
            @pushlist 'Craft' 0x1f9f
          elseif @ingump 0x5afbd742 'fur cape'
            @pushlist 'Craft' 8
            @pushlist 'Craft' 72
            @pushlist 'Craft' 0x230a
          elseif @ingump 0x5afbd742 'gilded dress'
            @pushlist 'Craft' 8
            @pushlist 'Craft' 79
            @pushlist 'Craft' 0x230e
            // Pants
          elseif @ingump 0x5afbd742 'short pants'
            @pushlist 'Craft' 15
            @pushlist 'Craft' 2
            @pushlist 'Craft' 0x152e
          elseif @ingump 0x5afbd742 'long pants'
            @pushlist 'Craft' 15
            @pushlist 'Craft' 9
            @pushlist 'Craft' 0x1539
          elseif @ingump 0x5afbd742 'kilt'
            @pushlist 'Craft' 15
            @pushlist 'Craft' 16
            @pushlist 'Craft' 0x1537
          elseif @ingump 0x5afbd742 'skirt'
            @pushlist 'Craft' 15
            @pushlist 'Craft' 23
            @pushlist 'Craft' 0x1516
            // Miscellaneous
          elseif @ingump 0x5afbd742 'body sash'
            @pushlist 'Craft' 22
            @pushlist 'Craft' 2
            @pushlist 'Craft' 0x1541
          elseif @ingump 0x5afbd742 'half apron'
            @pushlist 'Craft' 22
            @pushlist 'Craft' 9
            @pushlist 'Craft' 0x153b
          elseif @ingump 0x5afbd742 'full apron'
            @pushlist 'Craft' 22
            @pushlist 'Craft' 16
            @pushlist 'Craft' 0x153d
            // Footwear
          elseif @ingump 0x5afbd742 'fur boots'
            @pushlist 'Craft' 29
            @pushlist 'Craft' 9
            @pushlist 'Craft' 0x2307
          else
            break
          endif
        endif
      else
        if not @findalias 'crafting'
          // Leather
          if @ingump 0x5afbd742 'leather gorget'
            @pushlist 'Craft' 36
            @pushlist 'Craft' 23
            @pushlist 'Craft' 0x13c7
          elseif @ingump 0x5afbd742 'leather cap'
            @pushlist 'Craft' 36
            @pushlist 'Craft' 30
            @pushlist 'Craft' 0x1db9
          elseif @ingump 0x5afbd742 'leather gloves'
            @pushlist 'Craft' 36
            @pushlist 'Craft' 37
            @pushlist 'Craft' 0x13c6
          elseif @ingump 0x5afbd742 'leather sleeves'
            @pushlist 'Craft' 36
            @pushlist 'Craft' 44
            @pushlist 'Craft' 0x13cd
          elseif @ingump 0x5afbd742 'leather leggings'
            @pushlist 'Craft' 36
            @pushlist 'Craft' 51
            @pushlist 'Craft' 0x13cb
          elseif @ingump 0x5afbd742 'leather tunic'
            @pushlist 'Craft' 36
            @pushlist 'Craft' 58
            @pushlist 'Craft' 0x13cc
            // Studded
          elseif @ingump 0x5afbd742 'studded gorget'
            @pushlist 'Craft' 43
            @pushlist 'Craft' 2
            @pushlist 'Craft' 0x13d6
          elseif @ingump 0x5afbd742 'studded gloves'
            @pushlist 'Craft' 43
            @pushlist 'Craft' 9
            @pushlist 'Craft' 0x13d5
          elseif @ingump 0x5afbd742 'studded sleeves'
            @pushlist 'Craft' 43
            @pushlist 'Craft' 16
            @pushlist 'Craft' 0x13dc
          elseif @ingump 0x5afbd742 'studded leggings'
            @pushlist 'Craft' 43
            @pushlist 'Craft' 23
            @pushlist 'Craft' 0x13da
          elseif @ingump 0x5afbd742 'studded tunic'
            @pushlist 'Craft' 43
            @pushlist 'Craft' 30
            @pushlist 'Craft' 0x13db
            // Female Armor
          elseif @ingump 0x5afbd742 'leather shorts'
            @pushlist 'Craft' 50
            @pushlist 'Craft' 2
            @pushlist 'Craft' 0x1c00
          elseif @ingump 0x5afbd742 'leather skirt'
            @pushlist 'Craft' 50
            @pushlist 'Craft' 9
            @pushlist 'Craft' 0x1c08
          elseif @ingump 0x5afbd742 'leather bustier'
            @pushlist 'Craft' 50
            @pushlist 'Craft' 16
            @pushlist 'Craft' 0x1c0a
          elseif @ingump 0x5afbd742 'studded bustier'
            @pushlist 'Craft' 50
            @pushlist 'Craft' 23
            @pushlist 'Craft' 0x1c0c
          elseif @ingump 0x5afbd742 'female leather armor'
            @pushlist 'Craft' 50
            @pushlist 'Craft' 30
            @pushlist 'Craft' 0x1c06
          elseif @ingump 0x5afbd742 'studded armor'
            @pushlist 'Craft' 50
            @pushlist 'Craft' 37
            @pushlist 'Craft' 0x1c02
          elseif @ingump 0x5afbd742 'thigh boots'
            @pushlist 'Craft' 29
            @pushlist 'Craft' 51
            @pushlist 'Craft' 0x1711
          elseif @ingump 0x5afbd742 'shoes'
            @pushlist 'Craft' 29
            @pushlist 'Craft' 37
            @pushlist 'Craft' 0x170f
          elseif @ingump 0x5afbd742 'sandals'
            @pushlist 'Craft' 29
            @pushlist 'Craft' 30
            @pushlist 'Craft' 0x170d
          elseif @ingump 0x5afbd742 'boots'
            @pushlist 'Craft' 29
            @pushlist 'Craft' 44
            @pushlist 'Craft' 0x170b
          else
            break
          endif
          // Define resource
          if @ingump 0x5afbd742 'barbed'
            @pushlist 'Craft' 27
            @pushlist 'Craft' 2129
          elseif @ingump 0x5afbd742 'horned'
            @pushlist 'Craft' 20
            @pushlist 'Craft' 2117
          elseif @ingump 0x5afbd742 'spined'
            @pushlist 'Craft' 13
            @pushlist 'Craft' 2220
          else
            @pushlist 'Craft' 6
            @pushlist 'Craft' 0
          endif
        endif
        // Check for leathers
        if @counttype 0x1081 Craft[4] 'backpack' < 50
          while @movetype 0x1081 'backpack' 'Restock'
            pause 1500
          endwhile
          if @movetype 0x1081 'Restock' 'backpack' 0 0 0 Craft[4] 100
            pause 1500
          else
            sysmsg 'Out of leathers!' 25
            @canceltarget
            stop
          endif
        endif
      endif
      // Search for existing items
      while @findtype Craft[2] 'any' 'backpack'
        target! 'found'
        waitfortarget 5000
        if not targetexists 'server' and @injournal 'must be exceptional' 'system'
          // Recycle this item
          if usetype! 0xf9f
            waitfortarget 5000
            target! 'found'
            pause 1500
          endif
          // Unable to recycle, trash item
          if @findobject 'found'
            @moveitem! 'found' 'Trash Barrel'
            pause 1500
          endif
          replygump 0x5afbd742 2
          waitforgump 0x5afbd742 15000
          waitfortarget 5000
          clearjournal
        endif
      endwhile
      // Craft new items if necessary
      if targetexists 'server'
        // Check tool before craft
        if not @findobject 'tool'
          break
        endif
        // Swap resource and category only once per BOD
        if not @findobject 'crafting' 'any' 'backpack'
          @setalias 'crafting' 'bod'
          // Resource
          if list 'Craft' == 5
            replygump 0x38920abd 7
            waitforgump 0x38920abd 5000
            replygump 0x38920abd Craft[3]
            waitforgump 0x38920abd 5000
          endif
          // Category
          replygump 0x38920abd Craft[0]
          waitforgump 0x38920abd 5000
        endif
        replygump 0x38920abd Craft[1]
        waitforgump 0x38920abd 5000
        pause 250
      endif
    endwhile
    // BOD is complete, move to destination
    if not targetexists 'server'
      @moveitem 'bod' 'Bulk Destination'
      // Trash BOD or missing definitions
    elseif not @findalias 'crafting'
      @moveitem 'bod' 'Trash BODs Destination'
    endif
    // Out of tools
  elseif not @movetype 0xf9d 'Restock' 'backpack'
    sysmsg 'Out of sewing kits!' 25
    @canceltarget
    stop
  endif
  pause 1500
elseif not property 'Deeds In Book: 0' 'Bulk Source'
  useobject! 'Bulk Source'
  waitforgump 0x54f555df 15000
  replygump 0x54f555df 5
  pause 1500
else
  sysmsg 'Unable to find BODs to fill.' 64
  @canceltarget
  stop
endif
 
Last edited:
Does this automatically use tinkering to craft sewing kits or is this something you must do prior to running macro for hours on end?
 

Niemante

Wanderer
I got the same mistake 11 times during 80 bods. It created item and did not properly click on 'combine this deed with the item requested'. And it stuck at that point, waiting, until i clicked it manually. Am I the only one with this problem?

-repeating the combining of item twice, would probably solve it for me. But I'm not entirely sure, which lines are for that. :)
 
I have a real hard time understanding how this scripts understands how much items the bod needs.... I ve been trying to go through it for couple of hours but I cant seem to find that line where it actually understands the bod is complete.

Gimme a hint please :)
 
fuck i got it.... it actually looses the target cursor when it tries to exceed the items in the bod.... fuuuuuck it took me so much time to understand it... If I only knew you don't get that cursor if you try to exceed the number of items :)

Anyways I tried to address couple of things mentioned above. First thanks a ton to Pollyanna for sharing this script. I got the issue that sometimes the script hangs on combining items which was not a big deal to fix as Niemante mentioned.

I also have the problem that it doesnt craft footwear so I tried to fix it myself. I did I think besides the fact that so far I don't have a solution for crafting only boots. It will craft thigh boots/sandals/shoes and fur boots from cloth items but with the price that it will not craft boots :) I don't want to go too deep in the reasons why, I think I know how to fix it although I don't like the way I have thought of.

However the past couple of hours I have actually started learinng Steam and I probably come to the same questions many ppl came across.

Is there a way to create variables ? Or the only way is to operate with lists and aliases. I see a wierd way of actually using them to create variables but I don't really like the way it can happen. I was wondering if there is something build-in that I am missing.... I have went through the documentation but I can't seem to find anything looking like variables...

I dunno if I am actually allowed to share an edited version of the above script without authors permission and since I don''t know the author I will ask Pollyanna for opinion or probably to contact the author if possible.
 

MrParra

Wanderer
i used to use s7 back in the day, but i tried now and it only makes samurai sandals, made like 80 of them
 

ArtieHunter

Sorceror
juste change the craftinfo.txt where it says to do leather
you should jump 1 position up
since ML sandals the gump position changed
you got info on that on the s7 thread at easyuo.com
 

MrParra

Wanderer
The s7 just doesnt work at all, it makes a bunch of boots or shoes and it doesnt fill anything, now the script that was posted here on the topic, that one works perfectly fine for cloth BODs but it ignores leathers and stores them on the cannot fill BOB, how can i fix so it doesnt ignore the leather BODs?
 

preman

Sorceror
Does this automatically use tinkering to craft sewing kits or is this something you must do prior to running macro for hours on end?

you need ingots in backpack and 1 crafted tinker tool
Code:
//////////////////////////////////////////// tinker tool
while not @counttype 0x1eb8 0 'backpack' > 2
  pause 1000
  if usetype! 0x1eb8
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 8
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 23
    waitforgump 0x38920abd 15000
  else
    sysmsg 'no ingots in backpack' 25
    stop
  endif
endwhile
/////////////////////////////////////////// sewing kit
while not @counttype 0xf9d 0 'backpack' > 3
  pause 1000
  if usetype! 0x1eb8
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 8
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 44
    waitforgump 0x38920abd 15000
  else
    sysmsg 'no ingots in backpack' 25
    stop
  endif
endwhile
//////////////////////////////////////////////////////////
 
Last edited:

aloben

Wanderer
know how feed bod and save resources?

i need finish this great script and run other that feed bod traslate to bank and reclaim bod
 
Top