Author Topic: UO Steam Macro Library  (Read 50055 times)

November 06, 2016, 04:12:59 PM
Reply #25

Offline Evolution

  • "The Game has Evolved" www.uoevolution.com
  • Administrator
  • Hero Member
  • *****
  • Posts: 1187
  • Karma: +1249/-23
  • Dante - Shard Owner
    • www.uoevolution.com

Tailor BOD Filler - UOS Macro

Check the "Loop" option.

Configure:
- "Bulk Source": the BOD book full of BODs you wanna fill;
- "Bulk Destination": an empty BOD book you'll place filled BODs;
- "Restock" container with leather, cloth and sewing kits;
- "Trash BODs Destination": it can be an empty container the macro will place BODs it could not fill for a reason;
- "Trash Barrel": select your house's trash barrel;
- Have a scissors in your backpack.

Important:
- Your character must be nearby all selected/required containers.
- If you have configured something wrong you can just go to the Macros tab, click the "Active Objects" -> "Clear All" button and play the macro again.

Code: [Select]
// 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 Edit: November 06, 2016, 05:27:35 PM by Evolution »

November 06, 2016, 04:14:20 PM
Reply #26

Offline Evolution

  • "The Game has Evolved" www.uoevolution.com
  • Administrator
  • Hero Member
  • *****
  • Posts: 1187
  • Karma: +1249/-23
  • Dante - Shard Owner
    • www.uoevolution.com

Blacksmith BOD Filler - UOS Macro

Check the "Loop" option.

Configure:
- "Bulk Source": the BOD book full of BODs you wanna fill;
- "Bulk Destination": an empty BOD book you'll place filled BODs;
- "Restock" container with ingots and tongs (or smith hammers);
- "Trash BODs Destination": it can be an empty container the macro will place BODs it could not fill for a reason;
- "Trash Barrel": select your house's trash barrel.

Important:
- Your character must be nearby all selected/required containers.
- If you have configured something wrong you can just go to the Macros tab, click the "Active Objects" -> "Clear All" button and play the macro again.

Code: [Select]
// Author: Kraz
// Description: Blacksmith BOD Filler
// 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 0x44E '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 0xfbb 0 'backpack' or @findtype 0x13e3 0 'backpack'
    pause 1500
    @setalias 'tool' 'found'
    useobject! 'tool'
    waitforgump 0x38920abd 15000
    // Craft
    while targetexists 'server'
      if not @findalias 'crafting'
        // Ringmail
        if @ingump 0x5afbd742 'ringmail gloves'
          @pushlist 'Craft' 1
          @pushlist 'Craft' 2
          @pushlist 'Craft' 0x13eb
        elseif @ingump 0x5afbd742 'ringmail leggings'
          @pushlist 'Craft' 1
          @pushlist 'Craft' 9
          @pushlist 'Craft' 0x13f0
        elseif @ingump 0x5afbd742 'ringmail sleeves'
          @pushlist 'Craft' 1
          @pushlist 'Craft' 16
          @pushlist 'Craft' 0x13ee
        elseif @ingump 0x5afbd742 'ringmail tunic'
          @pushlist 'Craft' 1
          @pushlist 'Craft' 23
          @pushlist 'Craft' 0x13ec
          // Chainmail
        elseif @ingump 0x5afbd742 'chainmail coif'
          @pushlist 'Craft' 8
          @pushlist 'Craft' 2
          @pushlist 'Craft' 0x13bb
        elseif @ingump 0x5afbd742 'chainmail leggings'
          @pushlist 'Craft' 8
          @pushlist 'Craft' 9
          @pushlist 'Craft' 0x13be
        elseif @ingump 0x5afbd742 'chainmail tunic'
          @pushlist 'Craft' 8
          @pushlist 'Craft' 16
          @pushlist 'Craft' 0x13bf
          // Platemail
        elseif @ingump 0x5afbd742 'platemail arms'
          @pushlist 'Craft' 15
          @pushlist 'Craft' 2
          @pushlist 'Craft' 0x1410
        elseif @ingump 0x5afbd742 'platemail gloves'
          @pushlist 'Craft' 15
          @pushlist 'Craft' 9
          @pushlist 'Craft' 0x1414
        elseif @ingump 0x5afbd742 'platemail gorget'
          @pushlist 'Craft' 15
          @pushlist 'Craft' 16
          @pushlist 'Craft' 0x1413
        elseif @ingump 0x5afbd742 'platemail legs'
          @pushlist 'Craft' 15
          @pushlist 'Craft' 23
          @pushlist 'Craft' 0x1411
        elseif @ingump 0x5afbd742 'platemail tunic'
          @pushlist 'Craft' 15
          @pushlist 'Craft' 30
          @pushlist 'Craft' 0x1415
        elseif @ingump 0x5afbd742 'female plate'
          @pushlist 'Craft' 15
          @pushlist 'Craft' 37
          @pushlist 'Craft' 0x1c04
          // Helmets
        elseif @ingump 0x5afbd742 'bascinet'
          @pushlist 'Craft' 22
          @pushlist 'Craft' 2
          @pushlist 'Craft' 0x140c
        elseif @ingump 0x5afbd742 'close helmet'
          @pushlist 'Craft' 22
          @pushlist 'Craft' 9
          @pushlist 'Craft' 0x1408
        elseif @ingump 0x5afbd742 'helmet'
          @pushlist 'Craft' 22
          @pushlist 'Craft' 16
          @pushlist 'Craft' 0x140a
        elseif @ingump 0x5afbd742 'norse helm'
          @pushlist 'Craft' 22
          @pushlist 'Craft' 23
          @pushlist 'Craft' 0x140e
        elseif @ingump 0x5afbd742 'plate helm'
          @pushlist 'Craft' 22
          @pushlist 'Craft' 30
          @pushlist 'Craft' 0x1412
          // Shields
        elseif @ingump 0x5afbd742 'buckler'
          @pushlist 'Craft' 29
          @pushlist 'Craft' 2
          @pushlist 'Craft' 0x1b73
        elseif @ingump 0x5afbd742 'bronze shield'
          @pushlist 'Craft' 29
          @pushlist 'Craft' 9
          @pushlist 'Craft' 0x1b72
        elseif @ingump 0x5afbd742 'heater shield'
          @pushlist 'Craft' 29
          @pushlist 'Craft' 16
          @pushlist 'Craft' 0x1b76
        elseif @ingump 0x5afbd742 'metal shield'
          @pushlist 'Craft' 29
          @pushlist 'Craft' 23
          @pushlist 'Craft' 0x1b7b
        elseif @ingump 0x5afbd742 'metal kite shield'
          @pushlist 'Craft' 29
          @pushlist 'Craft' 30
          @pushlist 'Craft' 0x1b74
        elseif @ingump 0x5afbd742 'tear kite shield'
          @pushlist 'Craft' 29
          @pushlist 'Craft' 37
          @pushlist 'Craft' 0x1b79
          // Bladed
        elseif @ingump 0x5afbd742 'broadsword'
          @pushlist 'Craft' 36
          @pushlist 'Craft' 9
          @pushlist 'Craft' 0xf5e
        elseif @ingump 0x5afbd742 'cutlass'
          @pushlist 'Craft' 36
          @pushlist 'Craft' 23
          @pushlist 'Craft' 0x1441
        elseif @ingump 0x5afbd742 'dagger'
          @pushlist 'Craft' 36
          @pushlist 'Craft' 30
          @pushlist 'Craft' 0xf52
        elseif @ingump 0x5afbd742 'katana'
          @pushlist 'Craft' 36
          @pushlist 'Craft' 37
          @pushlist 'Craft' 0x13ff
        elseif @ingump 0x5afbd742 'kryss'
          @pushlist 'Craft' 36
          @pushlist 'Craft' 44
          @pushlist 'Craft' 0x1401
        elseif @ingump 0x5afbd742 'longsword'
          @pushlist 'Craft' 36
          @pushlist 'Craft' 51
          @pushlist 'Craft' 0xf61
        elseif @ingump 0x5afbd742 'scimitar'
          @pushlist 'Craft' 36
          @pushlist 'Craft' 58
          @pushlist 'Craft' 0x13b6
        elseif @ingump 0x5afbd742 'viking sword'
          @pushlist 'Craft' 36
          @pushlist 'Craft' 65
          @pushlist 'Craft' 0x13b9
          // Axes
        elseif @ingump 0x5afbd742 'large battle axe'
          @pushlist 'Craft' 43
          @pushlist 'Craft' 30
          @pushlist 'Craft' 0x13fb
        elseif @ingump 0x5afbd742 'double axe'
          @pushlist 'Craft' 43
          @pushlist 'Craft' 16
          @pushlist 'Craft' 0xf4b
        elseif @ingump 0x5afbd742 "executioner's axe"
          @pushlist 'Craft' 43
          @pushlist 'Craft' 23
          @pushlist 'Craft' 0xf45
        elseif @ingump 0x5afbd742 'battle axe'
          @pushlist 'Craft' 43
          @pushlist 'Craft' 9
          @pushlist 'Craft' 0xf47
        elseif @ingump 0x5afbd742 'two handed axe'
          @pushlist 'Craft' 43
          @pushlist 'Craft' 37
          @pushlist 'Craft' 0x1443
        elseif @ingump 0x5afbd742 'war axe'
          @pushlist 'Craft' 43
          @pushlist 'Craft' 44
          @pushlist 'Craft' 0x13b0
        elseif @ingump 0x5afbd742 'axe'
          @pushlist 'Craft' 43
          @pushlist 'Craft' 2
          @pushlist 'Craft' 0xf49
          // Polearms
        elseif @ingump 0x5afbd742 'bardiche'
          @pushlist 'Craft' 50
          @pushlist 'Craft' 2
          @pushlist 'Craft' 0xf4d
        elseif @ingump 0x5afbd742 'halberd'
          @pushlist 'Craft' 50
          @pushlist 'Craft' 23
          @pushlist 'Craft' 0x143e
        elseif @ingump 0x5afbd742 'short spear'
          @pushlist 'Craft' 50
          @pushlist 'Craft' 44
          @pushlist 'Craft' 0x1403
        elseif @ingump 0x5afbd742 'spear'
          @pushlist 'Craft' 50
          @pushlist 'Craft' 58
          @pushlist 'Craft' 0xf62
        elseif @ingump 0x5afbd742 'war fork'
          @pushlist 'Craft' 50
          @pushlist 'Craft' 65
          @pushlist 'Craft' 0x1405
          // Bashing
        elseif @ingump 0x5afbd742 'war mace'
          @pushlist 'Craft' 57
          @pushlist 'Craft' 30
          @pushlist 'Craft' 0x1407
        elseif @ingump 0x5afbd742 'hammer pick'
          @pushlist 'Craft' 57
          @pushlist 'Craft' 2
          @pushlist 'Craft' 0x143d
        elseif @ingump 0x5afbd742 'mace'
          @pushlist 'Craft' 57
          @pushlist 'Craft' 9
          @pushlist 'Craft' 0xf5c
        elseif @ingump 0x5afbd742 'maul'
          @pushlist 'Craft' 57
          @pushlist 'Craft' 16
          @pushlist 'Craft' 0x143b
        elseif @ingump 0x5afbd742 'war hammer'
          @pushlist 'Craft' 57
          @pushlist 'Craft' 37
          @pushlist 'Craft' 0x1439
        else
          break
        endif
        // Define resource
        if @ingump 0x5afbd742 'valorite'
          @pushlist 'Craft' 62
          @pushlist 'Craft' 2219
        elseif @ingump 0x5afbd742 'verite'
          @pushlist 'Craft' 55
          @pushlist 'Craft' 2207
        elseif @ingump 0x5afbd742 'agapite'
          @pushlist 'Craft' 48
          @pushlist 'Craft' 2425
        elseif @ingump 0x5afbd742 'gold'
          @pushlist 'Craft' 41
          @pushlist 'Craft' 2213
        elseif @ingump 0x5afbd742 'bronze ingots'
          @pushlist 'Craft' 34
          @pushlist 'Craft' 2418
        elseif @ingump 0x5afbd742 'shadow iron'
          @pushlist 'Craft' 20
          @pushlist 'Craft' 2406
        elseif @ingump 0x5afbd742 'dull copper'
          @pushlist 'Craft' 13
          @pushlist 'Craft' 2419
        elseif @ingump 0x5afbd742 'copper'
          @pushlist 'Craft' 27
          @pushlist 'Craft' 2413
        else
          @pushlist 'Craft' 6
          @pushlist 'Craft' 0
        endif
      endif
      // Check for ingots
      if @counttype 0x1bf2 Craft[4] 'backpack' < 50
        while @movetype 0x1bf2 'backpack' 'Restock'
          pause 1500
        endwhile
        if @movetype 0x1bf2 'Restock' 'backpack' 0 0 0 Craft[4] 100
          pause 1500
        else
          sysmsg 'Out of ingots!' 25
          @canceltarget
          stop
        endif
      endif
      // Search for existing items
      while @findtype Craft[2] Craft[4] 'backpack'
        target! 'found'
        waitfortarget 5000
        if not targetexists 'server' and @injournal 'must be exceptional' 'system'
          // Recycle this item
          replygump 0x38920abd 14
          waitfortarget 5000
          target! 'found'
          pause 1500
          // 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 0xfbb 'Restock' 'backpack' and not @movetype 0x13e3 'Restock' 'backpack'
    sysmsg 'Out of tongs and smith hammers!' 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 Edit: November 06, 2016, 05:27:58 PM by Evolution »

November 06, 2016, 04:15:37 PM
Reply #27

Offline Evolution

  • "The Game has Evolved" www.uoevolution.com
  • Administrator
  • Hero Member
  • *****
  • Posts: 1187
  • Karma: +1249/-23
  • Dante - Shard Owner
    • www.uoevolution.com

Simple Cross Heal - UOS Macro

Check the "Do not auto interrupt" option and assign a hotkey.

Code: [Select]
// Author: Di
// Description: seek low hp friend, miniheal, disrupt paralyze and invisibility if mortaled
// Seek
@unsetalias 'target'
for 15
  @getfriend 'humanoid' 'transformation' 'friend'
  if not @findobject 'friend'
    break
  elseif @inrange 'friend' 10 and not dead 'friend'
    if criminal 'friend' or murderer 'friend'
      if @inregion 'guards' 'friend'
        continue
      endif
    endif
    if not @findobject 'target' or hits 'target' > hits 'friend'
      @setalias 'target' 'friend'
    endif
  endif
endfor
@setalias 'friend' 'target'
// Help
if @findobject 'friend' and not dead 'friend'
  if targetexists 'beneficial'
    target! 'friend'
  endif
  if paralyzed 'friend'
    cast 'clumsy' 'friend'
  elseif yellowhits 'friend'
    cast 'invisibility' 'friend'
  else
    miniheal 'friend'
  endif
  while waitingfortarget
    if criminal 'friend' or murderer 'friend'
      if @inregion 'guards' 'friend'
        sysmsg 'Target cancelled, guards zone!' 55
        cancelautotarget
        break
      endif
    endif
  endwhile
else
  headmsg '* No friend *' 25
endif
« Last Edit: November 06, 2016, 05:28:21 PM by Evolution »

April 06, 2018, 04:58:51 PM
Reply #28

Offline Evolution

  • "The Game has Evolved" www.uoevolution.com
  • Administrator
  • Hero Member
  • *****
  • Posts: 1187
  • Karma: +1249/-23
  • Dante - Shard Owner
    • www.uoevolution.com

April 25, 2018, 01:59:53 PM
Reply #29

Offline Luckbox

  • Newbie
  • *
  • Posts: 32
  • Karma: +2/-93
This is my macro for dyeing items much quicker, without the need to retarget item after using each tub.
Launch macro, target item you want to dye once, then just keep doubleclicking tubs. This way you can also dye your ethy without need to remount each time.

Code: [Select]
headmsg 'Choose item' promptalias 'item'
headmsg 'Keep clicking tubs'
while not dead
  while not targetexists 'any'
    pause 10
  endwhile
  target! 'item'
endwhile