[UOSteam] Wyrmstorm's Complete Lumberjack & Chopping Macro

If you make a Client-side script you can publish it here for other players to use
Post Reply
User avatar
Wyrmstorm
Apprentice Scribe
Posts: 12
Joined: Sun Mar 11, 2018 11:44 am

[UOSteam] Wyrmstorm's Complete Lumberjack & Chopping Macro

Post by Wyrmstorm »

Greetings all, first time poster here. I'm within my first month on UOEX and have had a hard time finding scripts for those of us without a HBOH... so I decided to make one for those of us just starting out or without the funds to purchase one.

This macro will ONLY WORK IN FELUCCA, based on my targettileoffset, and not in Trammel.

It's pretty much plug-and-play, just make sure you have the required tools; Hatchet (equipped), Carpenter's Hammer, and Woodworker Keys. It will chop at the tree you are facing, but make sure you are facing it at a major direction (N, S, E, W) and within 1 tile. Once you've hit 375 in weight it will then search your bag, chop each log type, and then place them in to your Woodworker keys.

UPDATED: Now includes all log-types up to 120 Carpentry.

This is NOT flawless and it DOES require you to be at your keyboard, respect the rules!
Feel free change the system message or colors to overhead text if you want, but I prefer system.

Let me know if you have any questions/comments.



Code: Select all

//Wyrmstorm's LJ & Chopping Macro for UOSteam
//You will need a Hatchet, Carpenter's Hammer, and Woodworker Keys
//Updated 3/11/18
while not @injournal 'enough wood here' "system"
  if weight <= '375'
    useobject! 'LeftHand'
    pause 200
    waitingfortarget 1500
    if direction == 0
      targettileoffset! 0 -1 0
    elseif direction == 1
      targettileoffset! 1 -1 0
    elseif direction == 2
      targettileoffset! 1 0 0
    elseif direction == 3
      targettileoffset! 1 1 0
    elseif direction == 4
      targettileoffset! 0 1 0
    elseif direction == 5
      targettileoffset! -1 1 0
    elseif direction == 6
      targettileoffset! -1 0 0
    elseif direction == 7
      targettileoffset! -1 -1 0
    endif
    pause 2500
  else
    @canceltarget!
    @clearjournal
    if not listexists 'Logs'
      createlist 'Logs'
      pushlist 'Logs' 0x1bdd
    endif
    pause 200
    if @findtype '0x102a' '0' 'backpack' 'any' 'any'
      @setalias 'Hammer' 'Found'
      //chopping the items
      if @findtype '0x1bdd' '0' 'backpack' 'any' 'any'
        @setalias 'Logs' 'Found'
        sysmsg 'Chopping logs.'
        useobject 'Hammer'
        waitforgump 949095101 15000
        replygump 0x38920abd 7
        waitforgump 949095101 15000
        replygump 0x38920abd 6
        waitforgump 949095101 15000
        replygump 0x38920abd 1
        waitforgump 949095101 15000
        replygump 0x38920abd 2
        waitforgump 949095101 15000
        @target! 'Logs'
        pause 500
      endif
      if @findtype '0x1bdd' '1262' 'backpack' 'any' 'any'
        @setalias 'Logs' 'Found'
        sysmsg 'Chopping logs.'
        useobject 'Hammer'
        waitforgump 949095101 15000
        replygump 0x38920abd 7
        waitforgump 949095101 15000
        replygump 0x38920abd 13
        waitforgump 949095101 15000
        replygump 0x38920abd 1
        waitforgump 949095101 15000
        replygump 0x38920abd 2
        waitforgump 949095101 15000
        @target! 'Logs'
        pause 500
      endif
      if @findtype '0x1bdd' '961' 'backpack' 'any' 'any'
        @setalias 'Logs' 'Found'
        sysmsg 'Chopping logs.'
        useobject 'Hammer'
        waitforgump 949095101 15000
        replygump 0x38920abd 7
        waitforgump 949095101 15000
        replygump 0x38920abd 20
        waitforgump 949095101 15000
        replygump 0x38920abd 1
        waitforgump 949095101 15000
        replygump 0x38920abd 2
        waitforgump 949095101 15000
        @target! 'Logs'
        pause 500
      endif
      if @findtype '0x1bdd' '355' 'backpack' 'any' 'any'
        @setalias 'Logs' 'Found'
        sysmsg 'Chopping logs.'
        useobject 'Hammer'
        waitforgump 949095101 15000
        replygump 0x38920abd 7
        waitforgump 949095101 15000
        replygump 0x38920abd 27
        waitforgump 949095101 15000
        replygump 0x38920abd 1
        waitforgump 949095101 15000
        replygump 0x38920abd 2
        waitforgump 949095101 15000
        @target! 'Logs'
        pause 500
      endif
      if @findtype '0x1bdd' '1281' 'backpack' 'any' 'any'
        @setalias 'Logs' 'Found'
        sysmsg 'Chopping logs.'
        useobject 'Hammer'
        waitforgump 949095101 15000
        replygump 0x38920abd 7
        waitforgump 949095101 15000
        replygump 0x38920abd 34
        waitforgump 949095101 15000
        replygump 0x38920abd 1
        waitforgump 949095101 15000
        replygump 0x38920abd 2
        waitforgump 949095101 15000
        @target! 'Logs'
        pause 500
      endif
      if @findtype '0x1bdd' '488' 'backpack' 'any' 'any'
        @setalias 'Logs' 'Found'
        sysmsg 'Chopping logs.'
        useobject 'Hammer'
        waitforgump 949095101 15000
        replygump 0x38920abd 7
        waitforgump 949095101 15000
        replygump 0x38920abd 41
        waitforgump 949095101 15000
        replygump 0x38920abd 1
        waitforgump 949095101 15000
        replygump 0x38920abd 2
        waitforgump 949095101 15000
        @target! 'Logs'
        pause 500
      endif
      if @findtype '0x1bdd' '1271' 'backpack' 'any' 'any'
        @setalias 'Logs' 'Found'
        sysmsg 'Chopping logs.'
        useobject 'Hammer'
        waitforgump 949095101 15000
        replygump 0x38920abd 7
        waitforgump 949095101 15000
        replygump 0x38920abd 48
        waitforgump 949095101 15000
        replygump 0x38920abd 1
        waitforgump 949095101 15000
        replygump 0x38920abd 2
        waitforgump 949095101 15000
        @target! 'Logs'
        pause 500
      endif
      if @findtype '0x1bdd' '43' 'backpack' 'any' 'any'
        @setalias 'Logs' 'Found'
        sysmsg 'Chopping logs.'
        useobject 'Hammer'
        waitforgump 949095101 15000
        replygump 0x38920abd 7
        waitforgump 949095101 15000
        replygump 0x38920abd 55
        waitforgump 949095101 15000
        replygump 0x38920abd 1
        waitforgump 949095101 15000
        replygump 0x38920abd 2
        waitforgump 949095101 15000
        @target! 'Logs'
        pause 500
      endif
      if @findtype '0x1bdd' '1152' 'backpack' 'any' 'any'
        @setalias 'Logs' 'Found'
        sysmsg 'Chopping logs.'
        useobject 'Hammer'
        waitforgump 949095101 15000
        replygump 0x38920abd 7
        waitforgump 949095101 15000
        replygump 0x38920abd 62
        waitforgump 949095101 15000
        replygump 0x38920abd 1
        waitforgump 949095101 15000
        replygump 0x38920abd 2
        waitforgump 949095101 15000
        @target! 'Logs'
        pause 500
      endif
      if @findtype '0x1bdd' '114' 'backpack' 'any' 'any'
        @setalias 'Logs' 'Found'
        sysmsg 'Chopping logs.'
        useobject 'Hammer'
        waitforgump 949095101 15000
        replygump 0x38920abd 7
        waitforgump 949095101 15000
        replygump 0x38920abd 69
        waitforgump 949095101 15000
        replygump 0x38920abd 1
        waitforgump 949095101 15000
        replygump 0x38920abd 2
        waitforgump 949095101 15000
        @target! 'Logs'
        pause 500
      endif
      if @findtype '0x1bdd' '37' 'backpack' 'any' 'any'
        @setalias 'Logs' 'Found'
        sysmsg 'Chopping logs.'
        useobject 'Hammer'
        waitforgump 949095101 15000
        replygump 0x38920abd 7
        waitforgump 949095101 15000
        replygump 0x38920abd 76
        waitforgump 949095101 15000
        replygump 0x38920abd 1
        waitforgump 949095101 15000
        replygump 0x38920abd 2
        waitforgump 949095101 15000
        @target! 'Logs'
        pause 500
      endif
      if @findtype '0x1bdd' '1153' 'backpack' 'any' 'any'
        @setalias 'Logs' 'Found'
        sysmsg 'Chopping logs.'
        useobject 'Hammer'
        waitforgump 949095101 15000
        replygump 0x38920abd 7
        waitforgump 949095101 15000
        replygump 0x38920abd 83
        waitforgump 949095101 15000
        replygump 0x38920abd 1
        waitforgump 949095101 15000
        replygump 0x38920abd 2
        waitforgump 949095101 15000
        @target! 'Logs'
        pause 500
      endif
      pause 1000
      replygump 0x38920abd 0
      pause 500
    endif
    if not listexists 'woodkeys'
      createlist 'woodkeys'
    endif
    @pushlist 'woodkeys' '0x1bd4'  // Shafts
    @pushlist 'woodkeys' '0x1bd1'  // Feathers
    @pushlist 'woodkeys' '0x1bd7'  // All types of wood
    for 0 to woodkeys
      while @findtype 'woodkeys[]'
        @setalias 'woods' 'found'
        usetype '0x176b' '88' 'backpack'
        waitforgump 173511501 15000
        replygump 0xa57934d 17
        waitforgump 173511501 15000
        waitfortarget 15000
        @target! 'woods'
        waitforgump 173511501 15000
      endwhile
    endfor
    @replygump 0xa57934d 0
    @canceltarget
    @removelist 'woodkeys'
    @unsetalias 'woods'
    sysmsg 'Completed with Woodworker Keys.'
    pause 1000
  endif
  //
  if @injournal 'enough wood here' "system"
    sysmsg 'WOOD DEPLETED - NEXT TREE' '20'
    pause 200
  endif
endwhile
//
@canceltarget!
@clearjournal
wolfbain5
Apprentice Scribe
Posts: 10
Joined: Mon Sep 10, 2018 9:21 pm

Re: [UOSteam] Wyrmstorm's Complete Lumberjack & Chopping Macro

Post by wolfbain5 »

I am in fel, but says I cant use an axe on that?
rpgsus
Novice Scribe
Posts: 7
Joined: Mon Apr 29, 2019 2:15 pm

Re: [UOSteam] Wyrmstorm's Complete Lumberjack & Chopping Macro

Post by rpgsus »

It's not just in fel. After the original area group is logged, it doesn't target other tiles properly. You have to stop, move, select a new target, and then resume. It's designed to not be an afk macro, makes sense to me. if you take the macro off loop, and use it as an active command, it should work. Even if it states its for fel it will still work, given a little effort. :-)
Post Reply