Manual Lumberjacking assistant

amonseti

Grandmaster
Manual Lumberjacking assitant macro..
This lumberjacking takes away the tidous carpal tunnal inducing portions of lumberjacking out of the picture.

Just run the macro with any axe in your inventory and follow the prompts .. remember to position your character so that a tree is on the first tile west of where you are standing. stay there until prompted to move and then move to the next tree..



Code:
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
//$$ Manual Lumberjacking assistant
//$$ By: Amonseti
//$$ V 1.8
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
//
//?????????????????????????????????????????????????????????????????????
//??? USAGE GUIDE LINES:
//??? Simply create a new macro. give it an appropreate name,
//??? Any will do.
//???
//??? Run the macro. with an axe equiped or in your backpack
//??? The macro will look for a tree first tile west
//??? of where your character is standing.
//??? The macro will tell you when to move onto the next
//??? tree until your weight has exceeded 380stones. ( This
//??? is based off of assuming your lumberjacker has 100strength)
//??? There are some trees that due to terrain height are unchoppable
//??? if for some reason you find yourself just standing there not
//??? Collecting wood ... Then move on to next tree.
//???
//???
//?????????????????????????????????????????????????????????????????????
//
//
// !! Find and equip any axe in backpack ***
if not listexists 'AxeList'
  createlist 'AxeList'
endif

// !! axe data
@clearlist 'AxeList'
@pushlist 'AxeList' 0xf43 //Hatchet
@pushlist 'AxeList' 0xf45 //Executioner's Axe
@pushlist 'AxeList' 0xf4b  //Double Axe
@pushlist 'AxeList' 0x13fb //Large Battle Axe
@pushlist 'AxeList' 0x1443 //Two Handed Axe
@pushlist 'AxeList' 0xf47  //Battle Axe
@pushlist 'AxeList' 0xf49  //Axe
//
// !! Equip Axe
for 0 to 'AxeList'
  if @findtype 'AxeList[]' 'any' 'backpack'
    unsetalias 'AXE'
    setalias 'AXE' 'found'
  endif
endfor
//******************************************
//
// !! Main chopping routine
while weight < 380
  clearjournal
  if not @findlayer 'self' 2
    equipitem 'AXE' 2
    pause 600
  endif
  //
  useobject 'LeftHand'
  waitfortarget 1000
  targettileoffset -1 0 0
  pause 500
  //
  //
  //****** Wait for it **********************
  // !! System hickup insurance loop
  for 60
    if @injournal 'enough wood here' 'system'
      break
    elseif @injournal 'You chop' 'system'
      break
    elseif @injournal "fail to" "system"
      break
    elseif @injournal "You can't" "system"
      break
    elseif @injournal "You can" "system"
      break
    elseif not @findlayer 'self' 2
      break
    else
      pause 100
    endif
  endfor
  //
  //******************************************
  //
  //*** Display proper feedback
  if @injournal "You can't" "system"
    pause 500
  endif
  if @injournal 'enough wood here' 'system'
    headmsg 'NO MORE WOOD' '2124'
    headmsg 'go to next tree' '2124'
    msg '[e whistle'
    pause 2000
  endif
  if @injournal 'some ordinary' 'system'
    headmsg '--Ordinary wood--' '1150'
    clearjournal
  endif
  if @injournal 'some oak' 'system'
    headmsg '--OAK--' '2010'
    clearjournal
  endif
  if @injournal 'some ash' 'system'
    headmsg '--ASH--' '1191'
    clearjournal
  endif
  if @injournal 'some yew' 'system'
    headmsg '--YEW--' '1192'
    msg '[e ah'
    clearjournal
  endif
  if @injournal 'some heartwood' 'system'
    headmsg '>!!!--HEARTWOOD--!!!<' '1193'
    msg '[e yea'
    clearjournal
  endif
  if @injournal 'some bloodwood' 'system'
    headmsg '>!!!--BLOODWOOD--!!!<' '1194'
    msg '[e woohoo'
    clearjournal
  endif
  if @injournal 'some frostwood' 'system'
    headmsg '>!!!--FROSTWOOD--!!!<' '1151'
    msg '[e woohoo'
    clearjournal
  endif
  //******************************************
  //
  //
endwhile
headmsg 'Over Weight Fatty !' '89'
headmsg 'go home and unload!' '89'
 
Last edited by a moderator:

RAVE GL

Master
that works? it has so many journal checks. I thought journal checks don't work in UOF.

Here is one I found and have been trying to get working for a few weeks with no luck. If anyone can assist... had a bit of help on the forum a couple weeks ago but the macro is still broken.
Code:
/////////////////////////////////////
//Script Name: Recall Lumberjacking//
//Author: Prohunter //
//Version: 1.0 //
/////////////////////////////////////
if not @findobject 'BookOne'
  promptalias 'BookOne'
endif
if not @findobject 'BookTwo'
  promptalias 'BookTwo'
endif
if not @findobject 'BookThree'
  promptalias 'BookThree'
endif
if not @findobject 'Home'
  promptalias 'Home'
endif
if not listexists 'TreeBook'
  createlist 'TreeBook'
  pushlist 'TreeBook' 'BookOne'
  pushlist 'TreeBook' 'BookTwo'
  pushlist 'TreeBook' 'BookThree'
endif
if not listexists 'Runes'
  createlist 'Runes'
  pushlist 'Runes' 5
  pushlist 'Runes' 11
  pushlist 'Runes' 17
  pushlist 'Runes' 23
  pushlist 'Runes' 29
  pushlist 'Runes' 35
  pushlist 'Runes' 41
  pushlist 'Runes' 47
  pushlist 'Runes' 53
  pushlist 'Runes' 59
  pushlist 'Runes' 65
  pushlist 'Runes' 71
  pushlist 'Runes' 77
  pushlist 'Runes' 83
  pushlist 'Runes' 89
  pushlist 'Runes' 95
endif
if not listexists 'axes'
  createlist 'axes'
  pushlist 'axes' 0xf4b  //Double Axe
  pushlist 'axes' 0xf49  //Axe
  pushlist 'axes' 0xf45  //Executioners Axe
  pushlist 'axes' 0x1443 //Two Handed Axe
  pushlist 'axes' 0xf47  //Battle Axe
  pushlist 'axes' 0x13fb //Large Battle Axe
  pushlist 'axes' 0xf43 //Hatchet
endif
for 0 to 'TreeBook'
  for 0 to 'Runes'
    useobject TreeBook[]
    waitforgump 0x554b87f3 5000
    replygump 0x554b87f3 Runes[]
    pause 1500
    @clearjournal
    for 0 to 'axes'
      if @findtype axes[] 'any' 'backpack' 1
        @setalias 'weapon' 'found'
        @equipitem 'found' 1
        pause 1000
      endif
    endfor
    if not @findobject 'weapon'
      msg 'Could not find a weapon.' 25
      stop
    endif
    if @findtype 0x1bdd 0x0
      @useobject 'weapon'
      waitfortarget 1000
      @targettype! 0x1bdd
      pause 1000
    endif
    while not @injournal 'enough wood here' 'system'
      @useobject 'weapon'
      waitfortarget 1000
      @targettileoffset! -1 0 0
      pause 1000
    endwhile
    if @findtype 0x1bdd
      while @findtype 0x1bdd 'any' 'backpack'
        useobject 'weapon'
        waitfortarget 1000
        @target! 'found'
        pause 500
      endwhile
    elseif weight > maxweight
      while weight > maxweight
        @movetypeoffset 0x1bd7 'backpack' 'ground' 0 1 0 'any' 1
        pause 1000
      endwhile
    endif
    pause 500
    useobject 'Home'
    waitforgump 0x554b87f3 5000
    replygump 0x554b87f3 5
    pause 1500
    @organizer 'Boards'
    while organizing
      pause 500
    endwhile
  endfor
endfor
 

Young Star

Grandmaster
i gave up trying to make the recall lumberjacker work. This post by amonseti actually makes lumberjacking kinda fun being as animated as it is.
I didn't bother with that recall one when I saw it in another script library. I found a simpler one but doesn't have the nice headmsg feedback that amonseti's does though and sometimes it is a pain getting in the right tile next to the tree but it works for me. It tries to target in the direction you are facing assuming a tree is in front of you.
Code:
//Experience
//LJ script
//cuts tree directly in front.
//be sure to equip your axe
if not listexists 'Logs'
  createlist 'Logs'
  pushlist 'Logs' 0x1bdd
endif
if not findalias 'Axe'
  promptalias 'Axe'
endif
while weight >= 360
  headmsg 'Time to Unload'
  pause 3000
endwhile
useobject 'Axe'
waitfortarget 15000
if direction == 0
  targettileoffset 0 -1 0
  pause 3000
elseif direction == 1
  targettileoffset 1 -1 0
  pause 3000
elseif direction == 2
  targettileoffset 1 0 0
  pause 3000
elseif direction == 3
  targettileoffset 1 1 0
  pause 3000
elseif direction == 4
  targettileoffset 0 1 0
  pause 3000
elseif direction == 5
  targettileoffset -1 1 0
  pause 3000
elseif direction == 6
  targettileoffset -1 0 0
  pause 3000
elseif direction == 7
  targettileoffset -1 -1 0
endif
 
Top