|
|
Line 39: |
Line 39: |
| End | | End |
| | | |
− |
| |
− | </pre>
| |
− |
| |
− | = TO BE TESTED Tehm =
| |
− |
| |
− | <pre>
| |
− | //This Macro will plant several rows of flax in order to harvest seeds from them
| |
− | //
| |
− | //You will need to use double F8 view. Zoom all the way in, then 7 mousewheel clicks out
| |
− | //(your avatar will be a little smaller than the size of the thumb in the Gather Grass icon
| |
− | //For this to work you need to **minimize chat***
| |
− | //Open the Plant menu and pin it to the top or bottom of the screen
| |
− | //When the macro starts, you will need to quickly mouse-over the Plant Flax Seed instruction
| |
− | //As the macro runs, your avatar should stay in the middle of the flax beds, but he will stray
| |
− | //It is up to you to move him back to the middle (or close) when this happens
| |
− | //It is my belief this is caused by server lag and therefore cannot be avoided
| |
− | //I use screen resolution 1280x1024 on a wide-screen monitor
| |
− |
| |
− | //MousePos 638,508 //My Head
| |
− | delay 3000
| |
− | Constructs
| |
− | MouseX=List // this is an array of mouse X coords
| |
− | MouseY=List // this is an array of mouse Y coords
| |
− | END
| |
− |
| |
− | Constants
| |
− | RowLen=7 //actually does n+1 -- Recommend 7 or fewer if Seedcycles is 3
| |
− | ColLen=2 //actually does n*2 -- Recommend 2 or fewer if Seedcycles is 3
| |
− | ActualCols=0 //program sets this
| |
− | ActualRows=0 //not used
| |
− | XHomeDist=0 //Not necessary because it plants even numbers of rows
| |
− | YHomeDist=0 //sets later
| |
− | SeedCycles=3 //harvest how many times (n+1) -- for best results use 3 or less
| |
− | InitialDelay=50000 //Time until the flax goes to seed and can be harvested
| |
− | NextDelay=0 //Program sets this - the time between subsequent harvest cycles
| |
− | LoopVal = 1 //do not modify
| |
− |
| |
− | END
| |
− |
| |
− | Compute ActualCols = $ColLen * 2
| |
− | Compute YHomeDist = (($ActualCols) * 375)
| |
− | Compute InitialDelay = $InitialDelay - (475 * ($RowLen + 1) * ($ColLen * 2)) + 475
| |
− | Compute NextDelay = 66000 - ($ColLen * 2) * ($RowLen + 1) * 1950
| |
− | Compute NextDelay = MAX ($NextDelay, 0)
| |
− | //Acquire Location of Plant:Flax Seed
| |
− | Listadd MouseX, {MouseX}
| |
− | Listadd MouseY, {MouseY}
| |
− |
| |
− | Call Plant $RowLen, $ColLen
| |
− | Delay $InitialDelay
| |
− |
| |
− | loop $SeedCycles
| |
− | Call HarvestAllSeeds $RowLen, $ColLen, 0 //This cycle harvests only
| |
− | Delay $NextDelay
| |
− | end
| |
− |
| |
− | //This cycle harvests then rips out the flax bed.
| |
− | //If you like picking a lot of seeds up off the ground, remove the next line.
| |
− | Call HarvestAllSeeds $RowLen, $ColLen, 1
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | Procedure Plant using Across, Down
| |
− | //This procedure creates a grid of Flax of size (Across +1) x (Down * 2)
| |
− | //It utilizes global variable MouseX and MouseY holding the location of the plant Flax pin
| |
− | //It also uses global variable $YHomeDist and $InitialDelay to return to the starting point
| |
− | Compute LoopVal = 1
| |
− | loop $Down //this one controls how many columns (N+1)(B)
| |
− | mousepos {MouseX[1],MouseY[1]
| |
− | LeftClick
| |
− | loop $RowLen //this one controls how many in a line (n) (A)
| |
− | KeyDown {RIGHT} 375
| |
− | Delay 100
| |
− | mousepos {MouseX[1],MouseY[1]
| |
− | LeftClick
| |
− | end
| |
− |
| |
− | KeyDown {DOWN} 375
| |
− | Delay 100
| |
− | mousepos {MouseX[1],MouseY[1]
| |
− | LeftClick
| |
− |
| |
− | //this one controls how many in a line (n+1)
| |
− | loop $Across //this one controls how many in a line (n+1) (A)
| |
− | Keydown {LEFT} 375
| |
− | Delay 100
| |
− | mousepos {MouseX[1],MouseY[1]
| |
− | LeftClick
| |
− | end
| |
− |
| |
− | if $LoopVal < $Down
| |
− | KeyDown {DOWN} 375
| |
− | end
| |
− | Delay 100
| |
− | Compute LoopVal = $LoopVal + 1
| |
− | End
| |
− |
| |
− | KeyDown {UP} $YHomeDist
| |
− |
| |
− | END //Planting
| |
− |
| |
− | Procedure HarvestAllSeeds using Across, Down, Yank
| |
− | //This procedure harvesta seeds from a grid of Flax of size (Across +1) x (Down * 2)
| |
− | //If Yank = 1 it will also rip out the plant
| |
− | Compute LoopVal = 1
| |
− | loop $Down //this one controls how many columns (N+1)(B)
| |
− | Call HarvestOneSeed
| |
− | if $Yank = 1
| |
− | Call Ripout
| |
− | end
| |
− |
| |
− | loop $Across //this one controls how many in a line (n) (A)
| |
− | KeyDown {RIGHT} 375
| |
− | Delay 100
| |
− | Call HarvestOneSeed
| |
− | if $Yank = 1
| |
− | Call Ripout
| |
− | end
| |
− | end
| |
− |
| |
− | KeyDown {DOWN} 375
| |
− | Delay 100
| |
− | Call HarvestOneSeed
| |
− | if $Yank = 1
| |
− | Call Ripout
| |
− | end
| |
− |
| |
− |
| |
− | //this one controls how many in a line (n+1)
| |
− | loop $Across //this one controls how many in a line (n+1) (A)
| |
− | Keydown {LEFT} 375
| |
− | Delay 100
| |
− | Call HarvestOneSeed
| |
− | if $Yank = 1
| |
− | Call Ripout
| |
− | end
| |
− | end
| |
− |
| |
− | if $LoopVal < $Down
| |
− | KeyDown {DOWN} 375
| |
− | end
| |
− | Compute $LoopVal = $LoopVal + 1
| |
− | Delay 100
| |
− | end
| |
− | KeyDown {UP} $YHomeDist
| |
− | end
| |
− |
| |
− |
| |
− | Procedure HarvestOneSeed
| |
− | //Clicks on flax bed your are standing in, and selects harvest
| |
− | //I repeat the mousepos because I find it reduces server/client transmission miscues
| |
− | //which would cause the pop up menu to stray from where it should be
| |
− | mousepos 654, 504
| |
− | Delay 30
| |
− | mousepos 654, 504
| |
− | LeftClick
| |
− | Delay 60
| |
− | mousepos 690, 499
| |
− | Delay 60
| |
− | mousepos 690, 499
| |
− | LeftClick
| |
− | Delay 1800
| |
− | end
| |
− |
| |
− |
| |
− |
| |
− | Procedure RipOut
| |
− | //Clicks on flax bed your are standing in, and selects Utility->Rip Out
| |
− | //Because picking up flax seeds off the ground is annoying.
| |
− | //I repeat the mousepos because I find it reduces server/client transmission miscues
| |
− | //which would cause the pop up menu to stray from where it should be MousePos 654, 504
| |
− | Delay 30
| |
− | MousePos 654, 504
| |
− | LeftClick
| |
− | Delay 70
| |
− | MousePos 724, 533
| |
− | Delay 30
| |
− | MousePos 724, 533
| |
− | LeftClick
| |
− | Delay 70
| |
− | MousePos 746, 509
| |
− | Delay 30
| |
− | MousePos 746, 509
| |
− | LeftClick
| |
− | Delay 70
| |
− | end
| |
| | | |
| </pre> | | </pre> |