The Wiki for Tale 5 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:Anka/Macros/Flax5"

From ATITD5
Jump to navigationJump to search
(Created page with "test")
 
Line 1: Line 1:
test
+
<pre>
 +
//Anka's Flax Macro v.5.0.1
 +
 
 +
//This macro will plant beds for seeds.  After Seeds are
 +
//done, it will find your water icon and save its position. It will then plant 20
 +
//beds of flax and either keep the flax in inventory, store flax into a chest, or
 +
//throw flax in the water to rot.
 +
//
 +
//Setup
 +
//1. Now has a resolution selector in the menu.  Chat me to get more added.
 +
//2. Have 21 seeds and jugs with at least 1 jug empty.(If water is needed)
 +
//3. Make sure you see the water action button in your starting location.
 +
//3. This telling, I'm using regular sized action buttons.
 +
//3. Pin open your planting window and drag it to the upper left corner.
 +
//4. Make sure your ATITD window is maximized.
 +
//4. Enter Cartagropher View and zoom all the way in.
 +
//
 +
//If you are using Win95, do not use autohide on windows taskbar.  It throws the numbers
 +
// off.  Win7 does not seem to have this problem.
 +
//If you want to store the flax in a chest.  Click on the chest, pick stash then pin that
 +
//window to the top half of the right side. Place your pointer on the edge of that
 +
//window to the left of "Flax".  When stashing, the macro will click on this
 +
//window to update it then, click on flax to dump it into the chest.  Have 1
 +
//flax in inventory to do this.  Once you have the pointer on the edge of the
 +
//window, alt tab to ACTool without moving the mouse and press F2 to start.
 +
//You can move the mouse once the menu comes up.  If you are not using the dump
 +
//feature, you can simply alt tab and press start or F2.
 +
//
 +
//I wrote this macro being on the "West" side of water with lots of room to the West.
 +
//It should work with water to your north also.
 +
//
 +
//This macro doesn't run on timers.  It uses Objects for this Tale.  One issue that might
 +
//come up is that the macro may run slow on older computers.  The harvest seeds section is
 +
//a bit slow to me but you can tweek it with MDelay and SDelay.  MDelay is the normal delay
 +
//after a mouse click.  The lower the number, the lower the delay.  If you are having problems,
 +
//raise it higher.  SDelay is a bit longer delay during Seed Harvesting.  I did not have any
 +
//problems with this during testing so you may be able to lower it a bit.  The last version
 +
//would sometimes hang here.
 +
//
 +
//Menu Settings
 +
//"Job"          = Seeds, Flax or Both.  Both will grow seeds than plant enough rounds
 +
//                of flax to leave you with the original 21 seeds.
 +
//"Seed Plants"  = Number of beds you want to plant for harvesting seeds.  This must
 +
//                be an even number.
 +
//"Batch"        = Number of times you want to run the macro on current settings.
 +
//"Pick Rounds"  = The number of times you want to harvest seeds from each bed.
 +
//"Weed #"      = the number of times you need to weed flax before harvest.  This number
 +
//                should be set to 3 for Nile Green or 2 for most of the newer varieties.
 +
//                It counts the "Harvest Seeds" phase as a round.
 +
//"Seeds / Pick" = How many seeds you get from each bed when you harvest seeds.
 +
//# of seeds    = The number of seeds in inventory.  I re-wrote the calculations a bit to
 +
//                always plant flax in increments of 20 but always leave you with at least
 +
//                21 seeds.  I need to tweak this more since if you dont have at least 41 in
 +
//                this blank, it wont plant.
 +
//"Dump"        = If you want to dump flax into a warehouse. (See Above)
 +
//"Rot"          = If you want to rot flax in water.  You must see a water icon to do this.
 +
//"Left to Right"= Future Addon to plant on East side of water.
 +
//"Need Water"  = Toggle to collect water before planting.
 +
//"Resolution"  = This is the latest feature of this and other macros.  Pick the resolution
 +
//                you would like to use.  If you are planting in a diagonal line, this is set
 +
//                wrong.
 +
//
 +
//
 +
//Let me know if you have any problems.  It's good to be back and nice to see even my old
 +
//macro's are still being used today. :)
 +
//
 +
//Finally cleaned the instructions this Tale :)
 +
//
 +
//Enjoy!  Anka
 +
 
 +
 
 +
constants      //For 1920x1080
 +
  SeedX = 2
 +
  Seeds = 0
 +
  SSeeds = 0
 +
  Rounds = 2
 +
  Button = 0
 +
  ButtonX = 475
 +
  ButtonY = 98
 +
  Count = 475
 +
  CenterX = 0
 +
  CenterY = 0
 +
  DumpX = 0
 +
  DumpY = 0
 +
  SubX = 20
 +
  PickX = 0
 +
  TempX = 0
 +
  TempY = 0
 +
  Left2X = 620
 +
  LeftX = 750
 +
  LeftY = 561
 +
  RightX = 1146
 +
  RightY = 561
 +
  Right2X = 1320
 +
  DownX = 960
 +
  DownY = 781
 +
  TextX = 0
 +
  TextY = 0
 +
  RipX = 0
 +
  RipY = 0
 +
  RipD0 = 210
 +
  RipD1 = 190
 +
  SkillsX = 0
 +
  SKillsY = 0
 +
  SkillsB = 0
 +
  WeedX = 1364
 +
  WeedY = 215
 +
  LSide1X = 415
 +
  LSide2X = 910
 +
  LSide1Y = 780
 +
  LSide2Y = 561
 +
  RSide1X = 1415
 +
  RSide2X = 996
 +
  RSide1Y = 331
 +
  RSide2Y = 561
 +
  RSide3X = 1230
 +
  RSide3Y = 354
 +
  ObjX = 1375
 +
  ObjY = 202
 +
  SS1X = 0
 +
  SS2X = 0
 +
  SS1Y = 0
 +
  SS2Y = 0
 +
  Mod1 = 205
 +
  Mod2 = 291
 +
  Mod3 = 226
 +
  NewX = 0
 +
  NewY = 0
 +
  FlaxSet = 0
 +
  XPlant = 60
 +
  YPlant = 40
 +
  LeftStep = 756, 561
 +
  RightStep = 1155, 561
 +
  RightStep2 = 1563, 250
 +
  Picked = 0
 +
  Direction = 0
 +
  Pick = 3
 +
  Rip = 0
 +
  Flax = 1
 +
  Reset = 825, 113
 +
  Weed = 0
 +
  Job = 0
 +
  FMX = 564
 +
  FMY = 193
 +
  FR3Y = 840
 +
  Dump = 0
 +
  Rot = 0
 +
  RotX = 0
 +
  RotY = 0
 +
  RotB = 0
 +
  FRot = 0
 +
  MDelay = 190
 +
  SDelay = 250
 +
  Water = 0
 +
  WaterX = 475
 +
  WaterY = 98
 +
  WaterB = 0
 +
  ResetX = 850
 +
  ResetY = 570
 +
  PlantDir = 0
 +
  Res = 0
 +
  Harvest = HarvestSF
 +
  WeedF = WeedF
 +
  Res1920x1080X = 630
 +
  Res1920x1080Y = 556
 +
  Res1360x768X = 435
 +
  Res1360x768Y = 390
 +
end
 +
 
 +
Object HarvestSF
 +
  235=2,0|232=2,2|234=2,6|227=2,8
 +
  234=4,0|230=4,2|235=4,6|225=4,8
 +
  222=8,0|216=8,2|219=8,4|168=8,8
 +
  223=10,0|217=10,4|214=10,6
 +
  220=12,0|216=12,4|214=12,6|154=12,8
 +
  228=14,0|223=14,2|225=14,4|224=14,6|206=14,8
 +
End
 +
 
 +
Object WeedF
 +
  170=0,0|232=0,2|235=0,4
 +
  235=2,0|174=2,2|58=2,4
 +
  234=4,0|230=4,2|173=4,4
 +
  167=6,2|222=6,4
 +
End
 +
 
 +
 
 +
Object Water
 +
  222=0,0|229=0,2|225=0,4|219=0,6|225=0,8|236=0,10
 +
  206=2,0|191=2,2|220=2,4|223=2,6|224=2,8|250=2,10
 +
  215=4,0|221=4,2|217=4,4|206=4,6|235=4,8|253=4,10
 +
  191=6,0|211=6,2|222=6,4|238=6,6|245=6,8|249=6,10
 +
  217=8,0|233=8,2|214=8,4|213=8,6|230=8,8|250=8,10
 +
  224=10,0|217=10,2|222=10,4|229=10,6|232=10,8|248=10,10
 +
End
 +
 
 +
SetConst DumpX = {MouseX}
 +
SetConst DumpY = {MouseY}
 +
 
 +
Form Flax, Settings
 +
  ed1=Combobox:Job:Seeds, Flax, Both              //Job Type
 +
  ed2=Editbox:Seed Plants  (Even Number):2      //Number of beds you want to plant for seeds
 +
  ed3=Editbox:Batch:1                            //Number of times to run Job
 +
  ed4=Combobox:Pick Rounds:1, 2, 3, 4, 5          //Number of times to harvest seeds before ripping out beds
 +
  ed5=Combobox:Weed #:3, 2                        //Total number to Weed and Water a variety of flax
 +
  ed9=Editbox:Seeds / Pick:1                      //Number of seeds per picking
 +
  ed12=Editbox: # of Seeds in Inventory:0        //Number of seeds in Inventory
 +
  ed6=CheckBox:Dump:False                        //Toggle to Dump flax in chest
 +
  ed7=CheckBox:Rot:False                          //Toggle to Rot flax
 +
  ed11=CheckBox:Left to Right?:False              //Future Addon
 +
  ed10=CheckBox:Need Water:True                  //Toggle if flax needs to be watered
 +
  ed8=Combobox:Resolution:1920x1080, 1360x768, 1280x1024
 +
end
 +
 
 +
FormLoad Flax, Flax.frm
 +
 
 +
if ShowForm Flax
 +
  Set Res = Flax[ed8]
 +
  Set Seeds = Flax[ed9]
 +
  Set SSeeds = Flax[ed12]
 +
  if Flax[ed10] = True
 +
    Set Water = 1
 +
  Else
 +
    Set Water = 0
 +
  End
 +
  If Flax[ed1] = Seeds
 +
    Set Button = 1
 +
  End
 +
  Compute SeedX = Flax[ed2]/2 - 1
 +
  Set Rounds = Flax[ed3]
 +
  Set Pick = Flax[ed4]
 +
  Set Weed = Flax[ed5]
 +
  If Flax[ed11] = True
 +
    Set PlantDir = 1
 +
  End
 +
  Case
 +
  When Flax[ed1] = Flax
 +
    Set Pick = 2
 +
  End
 +
else
 +
  stop
 +
end
 +
 
 +
FormSave Flax, Flax.frm
 +
 
 +
MousePos 100, 20
 +
LeftClick
 +
Delay 400
 +
 
 +
Compute CenterX = {ScreenWidth} / 2
 +
Compute CenterY = {ScreenHeight} / 2
 +
 
 +
// test
 +
 
 +
//
 +
 
 +
Call Resolution
 +
Call UnZoom
 +
Delay 2000
 +
 
 +
Compute FlaxSet = floor(((Flax[ed2] * (($Pick * $Seeds) - 1) + $SSeeds) - 21) / 20)
 +
 
 +
Loop $Rounds
 +
  If Flax[ed1] = Seeds or Flax[ed1] = Both
 +
    Call Seeds
 +
  End
 +
  Loop $FlaxSet
 +
    If Flax[ed1] = Flax or Flax[ed1] = Both
 +
      Call Flax
 +
    End
 +
    If Flax[ed7] = True and Flax[ed1] <> Seeds
 +
      Call Rot
 +
    End
 +
    Delay 2000
 +
    If Flax[ed6] = True and Flax[ed1] <> Seeds
 +
      Call Dump  //Dumps raw flax into a chest
 +
    End
 +
  End
 +
End
 +
 
 +
Call Zoom
 +
 
 +
Procedure Seeds
 +
  If $PlantDir = 0
 +
    MousePos $LeftStep
 +
  Else
 +
    MousePos $RightStep
 +
  End
 +
  Leftclick
 +
  delay 500
 +
 
 +
  Call Plant
 +
 
 +
  Loop $SeedX
 +
    If $PlantDir = 0
 +
      Call MoveLeft
 +
    Else
 +
      Call MoveRight
 +
    End
 +
  End
 +
 
 +
  Call MoveDown
 +
 
 +
  Loop $SeedX
 +
    Call MoveRight
 +
  End
 +
 
 +
  SetConst SS1X = $RSide3X
 +
  SetConst SS1Y = $RSide3Y
 +
  SetConst SS2X = $RSide2X
 +
  SetConst SS2Y = $RSide2Y
 +
  Call SideStep
 +
 
 +
  Delay 2000
 +
 
 +
  Loop $Pick
 +
    Set Rip = {loopno}
 +
    //Check for Seeds Left
 +
    SetConst Direction = 0
 +
    Compute PickX = $SeedX + 1
 +
    SetConst NewX = $Left2X
 +
    Call PickSeeds
 +
    //    //Move to 2nd row
 +
    SetConst SS1X = $LSide1X
 +
    SetConst SS1Y = $LSide1Y
 +
    SetConst SS2X = $LSide2X
 +
    SetConst SS2Y = $LSide2Y
 +
    Call SideStep
 +
   
 +
    //Check for Seeds Right
 +
    SetConst Direction = 1
 +
    Compute NewX = $Right2X
 +
    Call PickSeeds
 +
    //Move to 1st Row
 +
    SetConst SS1X = $RSide1X
 +
    SetConst SS1Y = $RSide1Y
 +
    SetConst SS2X = $RSide2X
 +
    SetConst SS2Y = $RSide2Y
 +
    Call SideStep
 +
  End
 +
 
 +
  MousePos $ResetX, $ResetY
 +
  Delay $MDelay
 +
  Leftclick
 +
  delay 3000
 +
End
 +
 
 +
Procedure Flax
 +
  If $Water = 1
 +
    If $WaterB = 0
 +
      Call FindButton
 +
    End
 +
    Call Water
 +
  End
 +
 
 +
  MousePos $LeftStep
 +
  Leftclick
 +
  Delay 2000
 +
  Call Group
 +
 
 +
  MousePos $CenterX, $FR3Y
 +
  Delay $MDelay
 +
  LeftClick
 +
  Delay 500
 +
 
 +
  Call Group
 +
 
 +
  MousePos $FMX, $FMY
 +
  Delay 350
 +
  LeftClick
 +
  Delay 3000
 +
 
 +
  loop $Weed
 +
    Set Flax = {loopno}
 +
    Call WeedLeft
 +
    compute WeedY = $WeedY + $Mod1
 +
    Call WeedRight
 +
    compute WeedY = $WeedY + $Mod2
 +
    Call WeedLeft
 +
    compute WeedY = $WeedY + $Mod3
 +
    Call WeedRight
 +
   
 +
    Call ResReset
 +
    Delay 1000
 +
  end
 +
 
 +
  SetConst Flax = 1
 +
  MousePos $RightStep2
 +
  Leftclick
 +
  Delay 3500
 +
End
 +
 
 +
Procedure Rot
 +
  Compute TempX = $CenterX / 2
 +
  MousePos $TempX, $CenterY
 +
  Delay $MDelay
 +
  Keys {ESC}
 +
  Delay $MDelay
 +
 
 +
  Compute TempX = {MouseX} + 19
 +
  Compute TempY = {MouseY} + 55
 +
  MousePos $TempX, $TempY
 +
  Delay $MDelay
 +
  rightclick
 +
  Delay $MDelay
 +
 
 +
  Compute TempX = {MouseX} + 21
 +
  Compute TempY = {MouseY} + 24
 +
  MousePos $TempX, $TempY
 +
  Delay $MDelay
 +
  rightclick
 +
  Delay $MDelay
 +
 
 +
  Compute TempY = $CenterY + 55
 +
  MousePos $CenterX, $TempY
 +
  Delay $MDelay
 +
  Rightclick
 +
  Delay $MDelay
 +
  Compute TempY = $CenterY + 108
 +
  MousePos $CenterX, $TempY
 +
  Delay $MDelay
 +
  Rightclick
 +
  Delay $MDelay
 +
End
 +
 
 +
Procedure Dump
 +
  MousePos $DumpX, $DumpY
 +
  Delay $MDelay
 +
  Leftclick
 +
  Delay 200
 +
  Compute NewX = $DumpX + 10
 +
  MousePos $NewX, $DumpY
 +
  Delay $MDelay
 +
  Rightclick
 +
  Delay 200
 +
  Compute TempY = $CenterY + 55
 +
  MousePos $CenterX, $TempY
 +
  Delay $MDelay
 +
  Rightclick
 +
  Delay $MDelay
 +
end
 +
 
 +
Procedure MoveLeft
 +
  MousePos $LeftX, $LeftY
 +
  Delay 350
 +
  LeftClick
 +
  Delay 350
 +
  Call Plant
 +
End
 +
 
 +
Procedure MoveRight
 +
  MousePos $RightX, $RightY
 +
  Delay 350
 +
  LeftClick
 +
  Delay 350
 +
  Call Plant
 +
End
 +
 
 +
Procedure Plant
 +
  MousePos $XPlant, $YPlant
 +
  Delay 350
 +
  LeftClick
 +
  Delay 350
 +
End
 +
 
 +
Procedure Group
 +
  Call Plant
 +
  loop 4
 +
    Call MoveLeft
 +
  end
 +
 
 +
  Call MoveDown
 +
 
 +
  loop 4
 +
    Call MoveRight
 +
  end
 +
End
 +
 
 +
Procedure MoveDown
 +
  MousePos $DownX, $DownY
 +
  Delay 350
 +
  LeftClick
 +
  Delay 350
 +
  Call Plant
 +
End
 +
 
 +
Procedure Weed
 +
  SetConst Picked = 0
 +
  While $Picked = 0
 +
    MousePos $WeedX, $WeedY
 +
    Delay 100
 +
    Compute ResX = {MouseX} + 10
 +
    Compute ResY = {MouseY} - 13
 +
    Rightclick
 +
    Delay $MDelay
 +
    Case
 +
    When $Flax = $Weed
 +
      Timestamp {MouseX}, {MouseY}
 +
      IsObject $Harvest at $ResX, $ResY  //$ObjX, $ObjY
 +
        Compute TempX = $WeedX + 20
 +
        Compute TempY = $WeedY - 7
 +
        MousePos $TempX, $TempY
 +
        Delay 200
 +
        Rightclick
 +
        Delay 100
 +
        SetConst Picked = 1
 +
        Break
 +
      End
 +
    Else
 +
      IsObject $WeedF at $ResX, $ResY  //$ObjX, $ObjY
 +
        Compute TempX = $WeedX + 20
 +
        Compute TempY = $WeedY - 7
 +
        MousePos $TempX, $TempY
 +
        Delay 200
 +
        Rightclick
 +
        Delay 100
 +
        SetConst Picked = 1
 +
        Break
 +
      End
 +
    End
 +
   
 +
    Compute TempX = $WeedX - 2
 +
    MousePos $TempX, $WeedY
 +
    Delay $MDelay
 +
    Rightclick
 +
  End
 +
End
 +
 
 +
Procedure WeedLeft
 +
  Call Weed
 +
  Loop 4
 +
    compute WeedX = $WeedX - $Mod1
 +
    //Compute ResX = $ResX - $Mod1
 +
    Call Weed
 +
  End
 +
End
 +
 
 +
Procedure WeedRight
 +
  Call Weed
 +
  loop 4
 +
    compute WeedX = $WeedX + $Mod1
 +
    //Compute ResX = $ObjX + $Mod1
 +
    Call Weed
 +
  end
 +
End
 +
 
 +
Procedure PickSeeds
 +
  Loop $PickX
 +
    MousePos $NewX, $LeftY
 +
    Delay $SDelay
 +
    SetConst Picked = 0
 +
    While $Picked = 0
 +
      MousePos $NewX, $LeftY
 +
      Delay $SDelay
 +
      Rightclick
 +
      Delay $SDelay
 +
      Compute ResX = {MouseX} + 10
 +
      Compute ResY = {MouseY} - 13
 +
      Case
 +
      When $Direction = 0
 +
        IsObject $Harvest at $ResX, $ResY
 +
          Compute TempX = $ResX + 5  //1920x1080
 +
          Compute TempY = $ResY + 5  //- 10 //1920x1080
 +
          MousePos $TempX, $TempY
 +
          Delay $SDelay
 +
          rightclick
 +
          Inc Picked
 +
          Delay 1800
 +
          If $Rip = $Pick
 +
            Compute TempX = $NewX + $RipD0
 +
            timestamp $NewX
 +
            MousePos $TempX, $LeftY
 +
            Delay $MDelay
 +
            Rightclick
 +
            Delay $MDelay
 +
            Compute RipX = $TempX + 17
 +
            Compute RipY = $LeftY + 22
 +
            Mousepos $RipX, $RipY
 +
            Delay $MDelay
 +
            Rightclick  //Opens Util menu
 +
            Delay $MDelay
 +
            Compute RipX = $RipX + 15
 +
            Compute RipY = $RipY - 25
 +
            MousePos $RipX, $RipY
 +
            Delay $MDelay
 +
            Rightclick //Rips
 +
            Delay $MDelay
 +
          End
 +
          Continue
 +
        Else
 +
          Compute TempX = $NewX - 2
 +
          MousePos $TempX, $LeftY
 +
          Delay $SDelay
 +
          Rightclick
 +
        End
 +
       
 +
      When $Direction = 1
 +
        IsObject $Harvest at $ResX, $ResY
 +
          Compute TempX = $ResX + 5
 +
          Compute TempY = $ResY + 5
 +
          MousePos $TempX, $TempY
 +
          Delay $SDelay
 +
          rightclick
 +
          Inc Picked
 +
          Delay 1800
 +
          If $Rip = $Pick
 +
            Compute TempX = $NewX - $RipD1
 +
            MousePos $TempX, $LeftY
 +
            Delay $SDelay
 +
            Rightclick
 +
            Delay $SDelay
 +
            Compute RipX = $TempX + 17
 +
            Compute RipY = $LeftY + 22
 +
            Mousepos $RipX, $RipY
 +
            Delay $SDelay
 +
            Rightclick //Opens Util menu
 +
            Delay $MDelay
 +
            Compute RipX = $RipX + 15
 +
            Compute RipY = $RipY - 25
 +
            MousePos $RipX, $RipY
 +
            Delay $MDelay
 +
            Rightclick //Rips
 +
            Delay $MDelay
 +
          End
 +
          Continue
 +
        Else
 +
          SetConst TempX = $NewX
 +
          SetConst TempY = $LeftY
 +
          Compute TempX = $NewX - 2
 +
          MousePos $TempX, $LeftY
 +
          Delay $MDelay
 +
          Rightclick
 +
        End
 +
      End
 +
    End
 +
  End
 +
End
 +
 
 +
Procedure SideStep
 +
  MousePos $SS1X, $SS1Y
 +
  Delay $MDelay
 +
  Leftclick
 +
  Delay 2250
 +
  MousePos $SS2X, $SS2Y
 +
  Delay $MDelay
 +
  Leftclick
 +
  Delay 850
 +
End
 +
 
 +
Procedure Coords
 +
  Bell Asterisk
 +
  Delay 10000
 +
  //Loadrgb {mousey}, {mousey}
 +
  //keys {rgbred},{rgbgreen},{rgbblue}
 +
  Keys {mousex}, {mousey}
 +
End
 +
 
 +
Procedure FindButton
 +
  MousePos $WaterX, $WaterY
 +
  Delay $MDelay
 +
  While $count > 295
 +
    MousePos $WaterX, $WaterY
 +
    IsObject Water at {mousex}, {mousey}
 +
      SetConst WaterX = {mousex}
 +
      SetConst WaterY = {mousey}
 +
      SetConst WaterB = 1
 +
      Set Count = 294
 +
    Else
 +
      Compute WaterX = $WaterX - 1
 +
      dec count
 +
    End
 +
  End
 +
End
 +
 
 +
Procedure Water
 +
  MousePos $WaterX, $WaterY
 +
  Delay 200
 +
  Rightclick
 +
  Delay $MDelay
 +
  Compute TempY = $CenterY + 55
 +
  MousePos $CenterX, $TempY
 +
  Delay $MDelay
 +
  Rightclick
 +
  Delay 3000
 +
End
 +
 
 +
Procedure Zoom
 +
  MousePos 100, 20
 +
  Delay 1000
 +
  MousePos 600, 600
 +
  Delay $MDelay
 +
End
 +
 
 +
Procedure UnZoom
 +
  Mousepos 989, 1079
 +
  Delay 900
 +
  Mousepos 600, 600
 +
  Delay $MDelay
 +
End
 +
 
 +
Procedure ResReset
 +
  Case
 +
  When $Res = 1280x1024
 +
    SetConst WeedX = 916
 +
    SetConst WeedY = 284
 +
  When $Res = 1360x768
 +
    SetConst WeedX = 952
 +
    SetConst WeedY = 153
 +
  When $Res = 1920x1080
 +
    SetConst WeedX = 1364
 +
    SetConst WeedY = 215
 +
  End
 +
End
 +
 
 +
Procedure Resolution
 +
  Case
 +
  When $Res = 1280x1024
 +
    Set Leftstep = 559, 531
 +
    Set LeftX = 494
 +
    Set LeftY = 531
 +
    Compute DownX = $CenterX - 5
 +
    Set DownY = 670
 +
    Compute RightX = $CenterX + 134
 +
    Set RightY = 531
 +
    Set RSide3X = 800
 +
    Set RSide3Y = 389
 +
    Set RSide2X = 663
 +
    Set RSide2Y = 531
 +
    Set Left2X = 396
 +
    Set LSide1X = 322
 +
    Set LSide1Y = 653
 +
    Set LSide2X = 609
 +
    Set LSide2Y = 531
 +
    Set Right2X = 877
 +
    Set RSide1X = 937
 +
    Set RSide1Y = 395
 +
    Set RipD0 = 148
 +
    Set RipD1 = 152
 +
    Set ResetX = 506
 +
    Set ResetY = 526
 +
    Set FMX = 351
 +
    Set FMY = 279
 +
    Set FR3Y = 733
 +
    Set WeedX = 916
 +
    Set WeedY = 284
 +
    Set Mod1 = 140
 +
    Set Mod2 = 220
 +
    Set Mod3 = 132
 +
    Set RightStep2 = 974, 294
 +
    Set WeedF = WeedF
 +
    Set Harvest = Harvest
 +
  When $Res = 1360x768        //1360x768
 +
    Set Leftstep = 593, 403
 +
    Set LeftX = 525
 +
    Set LeftY = 403
 +
    Compute DownX = $CenterX - 5
 +
    Set DownY = 545
 +
    Compute RightX = $CenterX + 142
 +
    Set RightY = 403
 +
    Set RSide3X = 850
 +
    Set RSide3Y = 253
 +
    Set RSide2X = 714
 +
    Set RSide2Y = 403
 +
    Set Left2X = 425
 +
    Set LSide1X = 344
 +
    Set LSide1Y = 541
 +
    Set LSide2X = 632
 +
    Set LSide2Y = 403
 +
    Set Right2X = 940
 +
    Set RSide1X = 994
 +
    Set RSide1Y = 255
 +
    Set RipD0 = 152
 +
    Set RipD1 = 163
 +
    Set ResetX = 527
 +
    Set ResetY = 420
 +
    Set FMX = 376
 +
    Set FMY = 145
 +
    Set FR3Y = 614
 +
    Set WeedX = 952
 +
    Set WeedY = 153
 +
    Set Mod1 = 147
 +
    Set Mod2 = 213
 +
    Set Mod3 = 150
 +
    Set RightStep2 = 1037, 162
 +
    Set WeedF = WeedF
 +
    Set Harvest = Harvest
 +
  End
 +
End
 +
Bell Exclamation
 +
//Written with ACTool 5.4.0 by Anka
 +
</pre>

Revision as of 02:04, 10 November 2010

//Anka's Flax Macro v.5.0.1

//This macro will plant beds for seeds.  After Seeds are
//done, it will find your water icon and save its position. It will then plant 20
//beds of flax and either keep the flax in inventory, store flax into a chest, or
//throw flax in the water to rot.
//
//Setup
//1. Now has a resolution selector in the menu.  Chat me to get more added.
//2. Have 21 seeds and jugs with at least 1 jug empty.(If water is needed)
//3. Make sure you see the water action button in your starting location.
//3. This telling, I'm using regular sized action buttons.
//3. Pin open your planting window and drag it to the upper left corner.
//4. Make sure your ATITD window is maximized.
//4. Enter Cartagropher View and zoom all the way in.
//
//If you are using Win95, do not use autohide on windows taskbar.  It throws the numbers
// off.  Win7 does not seem to have this problem.
//If you want to store the flax in a chest.  Click on the chest, pick stash then pin that
//window to the top half of the right side. Place your pointer on the edge of that
//window to the left of "Flax".  When stashing, the macro will click on this
//window to update it then, click on flax to dump it into the chest.  Have 1
//flax in inventory to do this.  Once you have the pointer on the edge of the
//window, alt tab to ACTool without moving the mouse and press F2 to start.
//You can move the mouse once the menu comes up.  If you are not using the dump
//feature, you can simply alt tab and press start or F2.
//
//I wrote this macro being on the "West" side of water with lots of room to the West.
//It should work with water to your north also.
//
//This macro doesn't run on timers.  It uses Objects for this Tale.  One issue that might
//come up is that the macro may run slow on older computers.  The harvest seeds section is
//a bit slow to me but you can tweek it with MDelay and SDelay.  MDelay is the normal delay
//after a mouse click.  The lower the number, the lower the delay.  If you are having problems,
//raise it higher.  SDelay is a bit longer delay during Seed Harvesting.  I did not have any
//problems with this during testing so you may be able to lower it a bit.  The last version
//would sometimes hang here.
//
//Menu Settings
//"Job"          = Seeds, Flax or Both.  Both will grow seeds than plant enough rounds
//                 of flax to leave you with the original 21 seeds.
//"Seed Plants"  = Number of beds you want to plant for harvesting seeds.  This must
//                 be an even number.
//"Batch"        = Number of times you want to run the macro on current settings.
//"Pick Rounds"  = The number of times you want to harvest seeds from each bed.
//"Weed #"       = the number of times you need to weed flax before harvest.  This number
//                 should be set to 3 for Nile Green or 2 for most of the newer varieties.
//                 It counts the "Harvest Seeds" phase as a round.
//"Seeds / Pick" = How many seeds you get from each bed when you harvest seeds.
//# of seeds     = The number of seeds in inventory.  I re-wrote the calculations a bit to
//                 always plant flax in increments of 20 but always leave you with at least
//                 21 seeds.  I need to tweak this more since if you dont have at least 41 in
//                 this blank, it wont plant.
//"Dump"         = If you want to dump flax into a warehouse. (See Above)
//"Rot"          = If you want to rot flax in water.  You must see a water icon to do this.
//"Left to Right"= Future Addon to plant on East side of water.
//"Need Water"   = Toggle to collect water before planting.
//"Resolution"   = This is the latest feature of this and other macros.  Pick the resolution
//                 you would like to use.  If you are planting in a diagonal line, this is set
//                 wrong.
//
//
//Let me know if you have any problems.  It's good to be back and nice to see even my old
//macro's are still being used today. :)
//
//Finally cleaned the instructions this Tale :)
//
//Enjoy!  Anka


constants      //For 1920x1080
  SeedX = 2
  Seeds = 0
  SSeeds = 0
  Rounds = 2
  Button = 0
  ButtonX = 475
  ButtonY = 98
  Count = 475
  CenterX = 0
  CenterY = 0
  DumpX = 0
  DumpY = 0
  SubX = 20
  PickX = 0
  TempX = 0
  TempY = 0
  Left2X = 620
  LeftX = 750
  LeftY = 561
  RightX = 1146
  RightY = 561
  Right2X = 1320
  DownX = 960
  DownY = 781
  TextX = 0
  TextY = 0
  RipX = 0
  RipY = 0
  RipD0 = 210
  RipD1 = 190
  SkillsX = 0
  SKillsY = 0
  SkillsB = 0
  WeedX = 1364
  WeedY = 215
  LSide1X = 415
  LSide2X = 910
  LSide1Y = 780
  LSide2Y = 561
  RSide1X = 1415
  RSide2X = 996
  RSide1Y = 331
  RSide2Y = 561
  RSide3X = 1230
  RSide3Y = 354
  ObjX = 1375
  ObjY = 202
  SS1X = 0
  SS2X = 0
  SS1Y = 0
  SS2Y = 0
  Mod1 = 205
  Mod2 = 291
  Mod3 = 226
  NewX = 0
  NewY = 0
  FlaxSet = 0
  XPlant = 60
  YPlant = 40
  LeftStep = 756, 561
  RightStep = 1155, 561
  RightStep2 = 1563, 250
  Picked = 0
  Direction = 0
  Pick = 3
  Rip = 0
  Flax = 1
  Reset = 825, 113
  Weed = 0
  Job = 0
  FMX = 564
  FMY = 193
  FR3Y = 840
  Dump = 0
  Rot = 0
  RotX = 0
  RotY = 0
  RotB = 0
  FRot = 0
  MDelay = 190
  SDelay = 250
  Water = 0
  WaterX = 475
  WaterY = 98
  WaterB = 0
  ResetX = 850
  ResetY = 570
  PlantDir = 0
  Res = 0
  Harvest = HarvestSF
  WeedF = WeedF
  Res1920x1080X = 630
  Res1920x1080Y = 556
  Res1360x768X = 435
  Res1360x768Y = 390
end

Object HarvestSF
  235=2,0|232=2,2|234=2,6|227=2,8
  234=4,0|230=4,2|235=4,6|225=4,8
  222=8,0|216=8,2|219=8,4|168=8,8
  223=10,0|217=10,4|214=10,6
  220=12,0|216=12,4|214=12,6|154=12,8
  228=14,0|223=14,2|225=14,4|224=14,6|206=14,8
End

Object WeedF
  170=0,0|232=0,2|235=0,4
  235=2,0|174=2,2|58=2,4
  234=4,0|230=4,2|173=4,4
  167=6,2|222=6,4
End


Object Water
  222=0,0|229=0,2|225=0,4|219=0,6|225=0,8|236=0,10
  206=2,0|191=2,2|220=2,4|223=2,6|224=2,8|250=2,10
  215=4,0|221=4,2|217=4,4|206=4,6|235=4,8|253=4,10
  191=6,0|211=6,2|222=6,4|238=6,6|245=6,8|249=6,10
  217=8,0|233=8,2|214=8,4|213=8,6|230=8,8|250=8,10
  224=10,0|217=10,2|222=10,4|229=10,6|232=10,8|248=10,10
End

SetConst DumpX = {MouseX}
SetConst DumpY = {MouseY}

Form Flax, Settings
  ed1=Combobox:Job:Seeds, Flax, Both              //Job Type
  ed2=Editbox:Seed Plants   (Even Number):2       //Number of beds you want to plant for seeds
  ed3=Editbox:Batch:1                             //Number of times to run Job
  ed4=Combobox:Pick Rounds:1, 2, 3, 4, 5          //Number of times to harvest seeds before ripping out beds
  ed5=Combobox:Weed #:3, 2                        //Total number to Weed and Water a variety of flax
  ed9=Editbox:Seeds / Pick:1                      //Number of seeds per picking
  ed12=Editbox: # of Seeds in Inventory:0         //Number of seeds in Inventory
  ed6=CheckBox:Dump:False                         //Toggle to Dump flax in chest
  ed7=CheckBox:Rot:False                          //Toggle to Rot flax
  ed11=CheckBox:Left to Right?:False              //Future Addon
  ed10=CheckBox:Need Water:True                   //Toggle if flax needs to be watered
  ed8=Combobox:Resolution:1920x1080, 1360x768, 1280x1024
end

FormLoad Flax, Flax.frm

if ShowForm Flax
  Set Res = Flax[ed8]
  Set Seeds = Flax[ed9]
  Set SSeeds = Flax[ed12]
  if Flax[ed10] = True
    Set Water = 1
  Else
    Set Water = 0
  End
  If Flax[ed1] = Seeds
    Set Button = 1
  End
  Compute SeedX = Flax[ed2]/2 - 1
  Set Rounds = Flax[ed3]
  Set Pick = Flax[ed4]
  Set Weed = Flax[ed5]
  If Flax[ed11] = True
    Set PlantDir = 1
  End
  Case
  When Flax[ed1] = Flax
    Set Pick = 2
  End
else
  stop
end

FormSave Flax, Flax.frm

MousePos 100, 20
LeftClick
Delay 400

Compute CenterX = {ScreenWidth} / 2
Compute CenterY = {ScreenHeight} / 2

// test

//

Call Resolution
Call UnZoom
Delay 2000

Compute FlaxSet = floor(((Flax[ed2] * (($Pick * $Seeds) - 1) + $SSeeds) - 21) / 20)

Loop $Rounds
  If Flax[ed1] = Seeds or Flax[ed1] = Both
    Call Seeds
  End
  Loop $FlaxSet
    If Flax[ed1] = Flax or Flax[ed1] = Both
      Call Flax
    End
    If Flax[ed7] = True and Flax[ed1] <> Seeds
      Call Rot
    End
    Delay 2000
    If Flax[ed6] = True and Flax[ed1] <> Seeds
      Call Dump   //Dumps raw flax into a chest
    End
  End
End

Call Zoom

Procedure Seeds
  If $PlantDir = 0
    MousePos $LeftStep
  Else
    MousePos $RightStep
  End
  Leftclick
  delay 500
  
  Call Plant
  
  Loop $SeedX
    If $PlantDir = 0
      Call MoveLeft
    Else
      Call MoveRight
    End
  End
  
  Call MoveDown
  
  Loop $SeedX
    Call MoveRight
  End
  
  SetConst SS1X = $RSide3X
  SetConst SS1Y = $RSide3Y
  SetConst SS2X = $RSide2X
  SetConst SS2Y = $RSide2Y
  Call SideStep
  
  Delay 2000
  
  Loop $Pick
    Set Rip = {loopno}
    //Check for Seeds Left
    SetConst Direction = 0
    Compute PickX = $SeedX + 1
    SetConst NewX = $Left2X
    Call PickSeeds
    //    //Move to 2nd row
    SetConst SS1X = $LSide1X
    SetConst SS1Y = $LSide1Y
    SetConst SS2X = $LSide2X
    SetConst SS2Y = $LSide2Y
    Call SideStep
    
    //Check for Seeds Right
    SetConst Direction = 1
    Compute NewX = $Right2X
    Call PickSeeds
    //Move to 1st Row
    SetConst SS1X = $RSide1X
    SetConst SS1Y = $RSide1Y
    SetConst SS2X = $RSide2X
    SetConst SS2Y = $RSide2Y
    Call SideStep
  End
  
  MousePos $ResetX, $ResetY
  Delay $MDelay
  Leftclick
  delay 3000
End

Procedure Flax
  If $Water = 1
    If $WaterB = 0
      Call FindButton
    End
    Call Water
  End
  
  MousePos $LeftStep
  Leftclick
  Delay 2000
  Call Group
  
  MousePos $CenterX, $FR3Y
  Delay $MDelay
  LeftClick
  Delay 500
  
  Call Group
  
  MousePos $FMX, $FMY
  Delay 350
  LeftClick
  Delay 3000
  
  loop $Weed
    Set Flax = {loopno}
    Call WeedLeft
    compute WeedY = $WeedY + $Mod1
    Call WeedRight
    compute WeedY = $WeedY + $Mod2
    Call WeedLeft
    compute WeedY = $WeedY + $Mod3
    Call WeedRight
    
    Call ResReset
    Delay 1000
  end
  
  SetConst Flax = 1
  MousePos $RightStep2
  Leftclick
  Delay 3500
End

Procedure Rot
  Compute TempX = $CenterX / 2
  MousePos $TempX, $CenterY
  Delay $MDelay
  Keys {ESC}
  Delay $MDelay
  
  Compute TempX = {MouseX} + 19
  Compute TempY = {MouseY} + 55
  MousePos $TempX, $TempY
  Delay $MDelay
  rightclick
  Delay $MDelay
  
  Compute TempX = {MouseX} + 21
  Compute TempY = {MouseY} + 24
  MousePos $TempX, $TempY
  Delay $MDelay
  rightclick
  Delay $MDelay
  
  Compute TempY = $CenterY + 55
  MousePos $CenterX, $TempY
  Delay $MDelay
  Rightclick
  Delay $MDelay
  Compute TempY = $CenterY + 108
  MousePos $CenterX, $TempY
  Delay $MDelay
  Rightclick
  Delay $MDelay
End

Procedure Dump
  MousePos $DumpX, $DumpY
  Delay $MDelay
  Leftclick
  Delay 200
  Compute NewX = $DumpX + 10
  MousePos $NewX, $DumpY
  Delay $MDelay
  Rightclick
  Delay 200
  Compute TempY = $CenterY + 55
  MousePos $CenterX, $TempY
  Delay $MDelay
  Rightclick
  Delay $MDelay
end

Procedure MoveLeft
  MousePos $LeftX, $LeftY
  Delay 350
  LeftClick
  Delay 350
  Call Plant
End

Procedure MoveRight
  MousePos $RightX, $RightY
  Delay 350
  LeftClick
  Delay 350
  Call Plant
End

Procedure Plant
  MousePos $XPlant, $YPlant
  Delay 350
  LeftClick
  Delay 350
End

Procedure Group
  Call Plant
  loop 4
    Call MoveLeft
  end
  
  Call MoveDown
  
  loop 4
    Call MoveRight
  end
End

Procedure MoveDown
  MousePos $DownX, $DownY
  Delay 350
  LeftClick
  Delay 350
  Call Plant
End

Procedure Weed
  SetConst Picked = 0
  While $Picked = 0
    MousePos $WeedX, $WeedY
    Delay 100
    Compute ResX = {MouseX} + 10
    Compute ResY = {MouseY} - 13
    Rightclick
    Delay $MDelay
    Case
    When $Flax = $Weed
      Timestamp {MouseX}, {MouseY}
      IsObject $Harvest at $ResX, $ResY   //$ObjX, $ObjY
        Compute TempX = $WeedX + 20
        Compute TempY = $WeedY - 7
        MousePos $TempX, $TempY
        Delay 200
        Rightclick
        Delay 100
        SetConst Picked = 1
        Break
      End
    Else
      IsObject $WeedF at $ResX, $ResY   //$ObjX, $ObjY
        Compute TempX = $WeedX + 20
        Compute TempY = $WeedY - 7
        MousePos $TempX, $TempY
        Delay 200
        Rightclick
        Delay 100
        SetConst Picked = 1
        Break
      End
    End
    
    Compute TempX = $WeedX - 2
    MousePos $TempX, $WeedY
    Delay $MDelay
    Rightclick
  End
End

Procedure WeedLeft
  Call Weed
  Loop 4
    compute WeedX = $WeedX - $Mod1
    //Compute ResX = $ResX - $Mod1
    Call Weed
  End
End

Procedure WeedRight
  Call Weed
  loop 4
    compute WeedX = $WeedX + $Mod1
    //Compute ResX = $ObjX + $Mod1
    Call Weed
  end
End

Procedure PickSeeds
  Loop $PickX
    MousePos $NewX, $LeftY
    Delay $SDelay
    SetConst Picked = 0
    While $Picked = 0
      MousePos $NewX, $LeftY
      Delay $SDelay
      Rightclick
      Delay $SDelay
      Compute ResX = {MouseX} + 10
      Compute ResY = {MouseY} - 13
      Case
      When $Direction = 0
        IsObject $Harvest at $ResX, $ResY
          Compute TempX = $ResX + 5  //1920x1080
          Compute TempY = $ResY + 5  //- 10 //1920x1080
          MousePos $TempX, $TempY
          Delay $SDelay
          rightclick
          Inc Picked
          Delay 1800
          If $Rip = $Pick
            Compute TempX = $NewX + $RipD0
            timestamp $NewX
            MousePos $TempX, $LeftY
            Delay $MDelay
            Rightclick
            Delay $MDelay
            Compute RipX = $TempX + 17
            Compute RipY = $LeftY + 22
            Mousepos $RipX, $RipY
            Delay $MDelay
            Rightclick  //Opens Util menu
            Delay $MDelay
            Compute RipX = $RipX + 15
            Compute RipY = $RipY - 25
            MousePos $RipX, $RipY
            Delay $MDelay
            Rightclick //Rips
            Delay $MDelay
          End
          Continue
        Else
          Compute TempX = $NewX - 2
          MousePos $TempX, $LeftY
          Delay $SDelay
          Rightclick
        End
        
      When $Direction = 1
        IsObject $Harvest at $ResX, $ResY
          Compute TempX = $ResX + 5
          Compute TempY = $ResY + 5
          MousePos $TempX, $TempY
          Delay $SDelay
          rightclick
          Inc Picked
          Delay 1800
          If $Rip = $Pick
            Compute TempX = $NewX - $RipD1
            MousePos $TempX, $LeftY
            Delay $SDelay
            Rightclick
            Delay $SDelay
            Compute RipX = $TempX + 17
            Compute RipY = $LeftY + 22
            Mousepos $RipX, $RipY
            Delay $SDelay
            Rightclick //Opens Util menu
            Delay $MDelay
            Compute RipX = $RipX + 15
            Compute RipY = $RipY - 25
            MousePos $RipX, $RipY
            Delay $MDelay
            Rightclick //Rips
            Delay $MDelay
          End
          Continue
        Else
          SetConst TempX = $NewX
          SetConst TempY = $LeftY
          Compute TempX = $NewX - 2
          MousePos $TempX, $LeftY
          Delay $MDelay
          Rightclick
        End
      End
    End
  End
End

Procedure SideStep
  MousePos $SS1X, $SS1Y
  Delay $MDelay
  Leftclick
  Delay 2250
  MousePos $SS2X, $SS2Y
  Delay $MDelay
  Leftclick
  Delay 850
End

Procedure Coords
  Bell Asterisk
  Delay 10000
  //Loadrgb {mousey}, {mousey}
  //keys {rgbred},{rgbgreen},{rgbblue}
  Keys {mousex}, {mousey}
End

Procedure FindButton
  MousePos $WaterX, $WaterY
  Delay $MDelay
  While $count > 295
    MousePos $WaterX, $WaterY
    IsObject Water at {mousex}, {mousey}
      SetConst WaterX = {mousex}
      SetConst WaterY = {mousey}
      SetConst WaterB = 1
      Set Count = 294
    Else
      Compute WaterX = $WaterX - 1
      dec count
    End
  End
End

Procedure Water
  MousePos $WaterX, $WaterY
  Delay 200
  Rightclick
  Delay $MDelay
  Compute TempY = $CenterY + 55
  MousePos $CenterX, $TempY
  Delay $MDelay
  Rightclick
  Delay 3000
End

Procedure Zoom
  MousePos 100, 20
  Delay 1000
  MousePos 600, 600
  Delay $MDelay
End

Procedure UnZoom
  Mousepos 989, 1079
  Delay 900
  Mousepos 600, 600
  Delay $MDelay
End

Procedure ResReset
  Case
  When $Res = 1280x1024
    SetConst WeedX = 916
    SetConst WeedY = 284
  When $Res = 1360x768
    SetConst WeedX = 952
    SetConst WeedY = 153
  When $Res = 1920x1080
    SetConst WeedX = 1364
    SetConst WeedY = 215
  End
End

Procedure Resolution
  Case
  When $Res = 1280x1024
    Set Leftstep = 559, 531
    Set LeftX = 494
    Set LeftY = 531
    Compute DownX = $CenterX - 5
    Set DownY = 670
    Compute RightX = $CenterX + 134
    Set RightY = 531
    Set RSide3X = 800
    Set RSide3Y = 389
    Set RSide2X = 663
    Set RSide2Y = 531
    Set Left2X = 396
    Set LSide1X = 322
    Set LSide1Y = 653
    Set LSide2X = 609
    Set LSide2Y = 531
    Set Right2X = 877
    Set RSide1X = 937
    Set RSide1Y = 395
    Set RipD0 = 148
    Set RipD1 = 152
    Set ResetX = 506
    Set ResetY = 526
    Set FMX = 351
    Set FMY = 279
    Set FR3Y = 733
    Set WeedX = 916
    Set WeedY = 284
    Set Mod1 = 140
    Set Mod2 = 220
    Set Mod3 = 132
    Set RightStep2 = 974, 294
    Set WeedF = WeedF
    Set Harvest = Harvest
  When $Res = 1360x768         //1360x768
    Set Leftstep = 593, 403
    Set LeftX = 525
    Set LeftY = 403
    Compute DownX = $CenterX - 5
    Set DownY = 545
    Compute RightX = $CenterX + 142
    Set RightY = 403
    Set RSide3X = 850
    Set RSide3Y = 253
    Set RSide2X = 714
    Set RSide2Y = 403
    Set Left2X = 425
    Set LSide1X = 344
    Set LSide1Y = 541
    Set LSide2X = 632
    Set LSide2Y = 403
    Set Right2X = 940
    Set RSide1X = 994
    Set RSide1Y = 255
    Set RipD0 = 152
    Set RipD1 = 163
    Set ResetX = 527
    Set ResetY = 420
    Set FMX = 376
    Set FMY = 145
    Set FR3Y = 614
    Set WeedX = 952
    Set WeedY = 153
    Set Mod1 = 147
    Set Mod2 = 213
    Set Mod3 = 150
    Set RightStep2 = 1037, 162
    Set WeedF = WeedF
    Set Harvest = Harvest
  End
End
Bell Exclamation
//Written with ACTool 5.4.0 by Anka