The Wiki for Tale 4 is in read-only mode and is available for archival and reference purposes only. Please visit the current Tale 11 Wiki in the meantime.
If you have any issues with this Wiki, please post in #wiki-editing on Discord or contact Brad in-game.
Difference between revisions of "User:Caigan/Flax Grow Macro"
From A Tale in the Desert
Jump to navigationJump to search (New page: I'll put a graphic up here later. I'll warn again, this is very ugly code, and works maybe 50% of the time. If it doesn't work the first time, move a bit, reload the macro, and try again....) |
|||
| Line 1: | Line 1: | ||
| − | I' | + | <pre>//Caigan's 4x4 Flaxer Macro |
| − | + | //v1.1 | |
| − | I' | + | // |
| − | + | //This macro only works on a 1680 x 1050 resolution with the game maximized. I'm not savvy enough | |
| − | + | //to code it for multiple resolutions. | |
| + | // | ||
| + | //Okay, more like I'm lazy. | ||
| + | // | ||
| + | //You MUST have your chat minimized for this to work. | ||
| + | // | ||
| + | //Pin your Plant tab in the upper left. Make sure you have enough water in your inventory. | ||
| + | //Make sure the ground is flat around you. Hills can really mess with this. | ||
| + | // | ||
| + | //Use F5, zoom your camera all the way out, and align your screen to face north (F4 for compass). | ||
| + | //Then use Alt + L to lock your camera. | ||
| + | // | ||
| + | //Currently the macro works with 4x4. If you can tweak the numbers for more, more power to you. | ||
// | // | ||
| − | // | + | //This is very ugly because I rarely ever code. I'm more of an artistic person. |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| + | CONSTANTS //Change these to set your macro | ||
| + | |||
| + | FRows = 2 //Number of double rows you want. If you want 2 rows, put 1. | ||
| + | FPer = 3 //Number between 1 and 3. This will be the number of beds per row, up to 4 | ||
| + | ORow = 0 //Set to 1 if you want an additional row (Making it an odd number of rows). NOT CODED IN. | ||
| + | Cycles = 3 //How many cycles of weeding + harvesting there are | ||
| + | XCenter = 839 //X Coord of spot right between characters feet | ||
| + | YCenter = 536 //Y Coord of spot right between characters feet | ||
| + | HPixel = 57 //Number of pixels between the centers of each bed Horizontally | ||
| + | VPixel = 50 //Number of pixels between the centers of each bed Vertically | ||
| + | BDelay1 = 40000 // How long it takes till the first weeding | ||
| + | BDelay2 = 23000 // How long it takes till the second weeding | ||
| + | |||
| + | //Don't Change These | ||
| + | Calc1 = X | ||
| + | MoveBack = X | ||
| + | RowNum = X | ||
| + | BedRow = X | ||
| + | FTime = X | ||
| + | WTime = X | ||
| + | XCenterNew = X | ||
| + | YCenterNew = X | ||
| + | XCenterConst = X | ||
| + | YCenterConst = X | ||
| + | |||
| + | End | ||
| + | Compute RowNum = $FRows * 2 | ||
| + | Compute BedRow = $FPer + 1 | ||
| − | + | Procedure FlaxTimer //Determine the amount of time it took to plant all the beds | |
| − | + | Compute Calc1 = $RowNum + $ORow | |
| − | + | Compute Calc1 = $Calc1 * $BedRow | |
| − | + | Compute Calc1 = $Calc1 * 575 | |
| − | + | Compute Calc1 = $BDelay1 - $Calc1 | |
| − | + | Set FTIME = $Calc1 | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
End | End | ||
| − | + | Procedure WaitTimer //Determine the amount of time after first watering | |
| − | + | Compute Calc1 = $RowNum + $ORow | |
| − | + | Compute Calc1 = $Calc1 * $BedRow | |
| − | + | Compute Calc1 = $Calc1 * 700 | |
| − | + | //Say WTime before Calculation is $Calc1 | |
| − | + | Compute Calc1 = $BDelay2 - $Calc1 | |
| − | + | //Say WTime before settime is $Calc1 | |
| − | + | Set WTIME = $Calc1 | |
| − | + | //Say WTime is $WTime | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
End | End | ||
| − | + | Loop $FRows | |
| − | + | ||
| − | + | //Horizontal Right | |
| − | + | Loop $FPer | |
| − | + | MousePos 70, 45 | |
| − | + | RightClick | |
| − | + | Delay 125 | |
| − | + | KeyDown {Right} 100 | |
| − | + | Delay 125 | |
| − | + | KeyDown {Right} 100 | |
| − | + | Delay 125 | |
| − | + | End | |
| − | + | ||
| − | + | //Vertical Drop | |
| − | + | MousePos 70, 45 | |
| − | + | RightClick | |
| − | + | Delay 125 | |
| − | + | KeyDown {Down} 100 | |
| − | + | Delay 125 | |
| − | + | KeyDown {Down} 100 | |
| − | + | Delay 125 | |
| − | + | ||
| − | + | //Horizontal Left | |
| − | + | Loop $FPer | |
| − | + | MousePos 70, 45 | |
| − | + | RightClick | |
| − | + | Delay 125 | |
| − | + | KeyDown {Left} 100 | |
| − | + | Delay 125 | |
| − | + | KeyDown {Left} 100 | |
| − | + | Delay 125 | |
| − | + | End | |
| − | + | ||
| − | + | //Vertical Drop | |
| − | + | MousePos 70, 45 | |
| − | + | RightClick | |
| − | + | Delay 125 | |
| − | + | KeyDown {Down} 100 | |
| − | + | Delay 125 | |
| − | + | KeyDown {Down} 100 | |
| − | + | Delay 125 | |
| − | + | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | MousePos | ||
| − | |||
| − | |||
| − | Delay | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | // | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | // | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
End | End | ||
| + | KeyDown {Up} 100 | ||
| + | Delay 125 | ||
| + | KeyDown {Up} 100 | ||
| + | Delay 125 | ||
| + | Compute MoveBack = $BedRow / 2 | ||
| + | FormatNumber MoveBack = $MoveBack, 0 | ||
| − | |||
| − | |||
| + | Call FlaxTimer | ||
| − | + | Delay $FTime | |
| − | |||
| − | |||
| − | + | If $ORow = 0 | |
| − | // | + | //Set the cursor position for the first bed. |
| − | + | ||
| − | + | //Calculate X Position | |
| − | + | COMPUTE XCenterNew = $XCenter | |
| − | + | Set XCenterConst = $XCenterNew | |
| − | + | //Calculate Y Position | |
| − | + | COMPUTE Calc1 = $RowNum - 1 | |
| − | + | Compute Calc1 = $Calc1 * $VPixel | |
| − | + | FormatNumber Calc1 = $Calc1, #### | |
| − | Set | + | COMPUTE YCenterNew = $YCenter - $Calc1 |
| − | + | Set YCenterConst = $YCenterNew | |
| − | + | ||
| − | + | //Water, Weed, Harvest Phases | |
| − | + | Loop $Cycles | |
| − | + | Loop $FRows | |
| − | + | Loop $BedRow | |
| − | + | MousePos $XCenterNew, $YCenterNew | |
| − | + | Delay 100 | |
| − | + | RightClick | |
| − | + | Delay 250 | |
| − | + | COMPUTE XCENTERNEW = $XCENTERNEW + $HPixel | |
| − | + | MousePos $XCenterNew, $YCenterNew | |
| − | + | Delay 100 | |
| − | + | RightClick | |
| − | + | Delay 250 | |
| − | + | End | |
| − | + | COMPUTE XCENTERNEW = $XCENTERNEW - $HPixel | |
| − | + | COMPUTE YCENTERNEW = $YCENTERNEW + $VPixel | |
| − | + | Loop $BedRow | |
| − | + | MousePos $XCenterNew, $YCenterNew | |
| − | + | Delay 100 | |
| − | + | RightClick | |
| − | + | Delay 250 | |
| − | + | COMPUTE XCENTERNEW = $XCENTERNEW + $HPixel | |
| − | + | MousePos $XCenterNew, $YCenterNew | |
| − | + | Delay 100 | |
| − | + | RightClick | |
| − | + | Delay 250 | |
| − | + | COMPUTE Calc1 = $HPixel * 2 | |
| − | + | COMPUTE XCENTERNEW = $XCENTERNEW - $Calc1 | |
| − | + | End | |
| − | + | COMPUTE XCENTERNEW = $XCENTERNEW + $HPixel | |
| − | + | COMPUTE YCENTERNEW = $YCENTERNEW + $VPixel | |
| − | + | End | |
| − | + | MousePos 78, 509 | |
| − | + | RightClick | |
| − | + | Set XCENTERNEW = $XCENTERCONST | |
| − | + | Set YCENTERNEW = $YCENTERCONST | |
| − | + | Call WaitTimer | |
| − | + | Delay $WTime | |
| − | + | End | |
| − | + | Else | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | // | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | Compute | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
End | End | ||
| − | + | //Return to Home Point | |
| − | + | COMPUTE Calc1 = $RowNum - 1 | |
| − | + | Loop $Calc1 | |
| − | + | KeyDown {Up} 100 | |
| − | + | Delay 125 | |
| − | + | KeyDown {Up} 100 | |
| − | + | Delay 125 | |
| − | + | End | |
| − | + | Delay 1000 | |
| − | |||
| − | |||
| − | // | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
</pre> | </pre> | ||
Latest revision as of 02:20, 30 January 2009
//Caigan's 4x4 Flaxer Macro
//v1.1
//
//This macro only works on a 1680 x 1050 resolution with the game maximized. I'm not savvy enough
//to code it for multiple resolutions.
//
//Okay, more like I'm lazy.
//
//You MUST have your chat minimized for this to work.
//
//Pin your Plant tab in the upper left. Make sure you have enough water in your inventory.
//Make sure the ground is flat around you. Hills can really mess with this.
//
//Use F5, zoom your camera all the way out, and align your screen to face north (F4 for compass).
//Then use Alt + L to lock your camera.
//
//Currently the macro works with 4x4. If you can tweak the numbers for more, more power to you.
//
//This is very ugly because I rarely ever code. I'm more of an artistic person.
CONSTANTS //Change these to set your macro
FRows = 2 //Number of double rows you want. If you want 2 rows, put 1.
FPer = 3 //Number between 1 and 3. This will be the number of beds per row, up to 4
ORow = 0 //Set to 1 if you want an additional row (Making it an odd number of rows). NOT CODED IN.
Cycles = 3 //How many cycles of weeding + harvesting there are
XCenter = 839 //X Coord of spot right between characters feet
YCenter = 536 //Y Coord of spot right between characters feet
HPixel = 57 //Number of pixels between the centers of each bed Horizontally
VPixel = 50 //Number of pixels between the centers of each bed Vertically
BDelay1 = 40000 // How long it takes till the first weeding
BDelay2 = 23000 // How long it takes till the second weeding
//Don't Change These
Calc1 = X
MoveBack = X
RowNum = X
BedRow = X
FTime = X
WTime = X
XCenterNew = X
YCenterNew = X
XCenterConst = X
YCenterConst = X
End
Compute RowNum = $FRows * 2
Compute BedRow = $FPer + 1
Procedure FlaxTimer //Determine the amount of time it took to plant all the beds
Compute Calc1 = $RowNum + $ORow
Compute Calc1 = $Calc1 * $BedRow
Compute Calc1 = $Calc1 * 575
Compute Calc1 = $BDelay1 - $Calc1
Set FTIME = $Calc1
End
Procedure WaitTimer //Determine the amount of time after first watering
Compute Calc1 = $RowNum + $ORow
Compute Calc1 = $Calc1 * $BedRow
Compute Calc1 = $Calc1 * 700
//Say WTime before Calculation is $Calc1
Compute Calc1 = $BDelay2 - $Calc1
//Say WTime before settime is $Calc1
Set WTIME = $Calc1
//Say WTime is $WTime
End
Loop $FRows
//Horizontal Right
Loop $FPer
MousePos 70, 45
RightClick
Delay 125
KeyDown {Right} 100
Delay 125
KeyDown {Right} 100
Delay 125
End
//Vertical Drop
MousePos 70, 45
RightClick
Delay 125
KeyDown {Down} 100
Delay 125
KeyDown {Down} 100
Delay 125
//Horizontal Left
Loop $FPer
MousePos 70, 45
RightClick
Delay 125
KeyDown {Left} 100
Delay 125
KeyDown {Left} 100
Delay 125
End
//Vertical Drop
MousePos 70, 45
RightClick
Delay 125
KeyDown {Down} 100
Delay 125
KeyDown {Down} 100
Delay 125
End
KeyDown {Up} 100
Delay 125
KeyDown {Up} 100
Delay 125
Compute MoveBack = $BedRow / 2
FormatNumber MoveBack = $MoveBack, 0
Call FlaxTimer
Delay $FTime
If $ORow = 0
//Set the cursor position for the first bed.
//Calculate X Position
COMPUTE XCenterNew = $XCenter
Set XCenterConst = $XCenterNew
//Calculate Y Position
COMPUTE Calc1 = $RowNum - 1
Compute Calc1 = $Calc1 * $VPixel
FormatNumber Calc1 = $Calc1, ####
COMPUTE YCenterNew = $YCenter - $Calc1
Set YCenterConst = $YCenterNew
//Water, Weed, Harvest Phases
Loop $Cycles
Loop $FRows
Loop $BedRow
MousePos $XCenterNew, $YCenterNew
Delay 100
RightClick
Delay 250
COMPUTE XCENTERNEW = $XCENTERNEW + $HPixel
MousePos $XCenterNew, $YCenterNew
Delay 100
RightClick
Delay 250
End
COMPUTE XCENTERNEW = $XCENTERNEW - $HPixel
COMPUTE YCENTERNEW = $YCENTERNEW + $VPixel
Loop $BedRow
MousePos $XCenterNew, $YCenterNew
Delay 100
RightClick
Delay 250
COMPUTE XCENTERNEW = $XCENTERNEW + $HPixel
MousePos $XCenterNew, $YCenterNew
Delay 100
RightClick
Delay 250
COMPUTE Calc1 = $HPixel * 2
COMPUTE XCENTERNEW = $XCENTERNEW - $Calc1
End
COMPUTE XCENTERNEW = $XCENTERNEW + $HPixel
COMPUTE YCENTERNEW = $YCENTERNEW + $VPixel
End
MousePos 78, 509
RightClick
Set XCENTERNEW = $XCENTERCONST
Set YCENTERNEW = $YCENTERCONST
Call WaitTimer
Delay $WTime
End
Else
End
//Return to Home Point
COMPUTE Calc1 = $RowNum - 1
Loop $Calc1
KeyDown {Up} 100
Delay 125
KeyDown {Up} 100
Delay 125
End
Delay 1000