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:Galagah"

From A Tale in the Desert
Jump to navigationJump to search
(New page: Simple Grass macro using ACTool , works on vista and xp ( vista run as administrator ). Resolution of 1440x900 // Grass gathering macro -- 1440X900 resolution only // Set camera to cart...)
 
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
Simple Grass macro using ACTool , works on vista and xp ( vista run as administrator ). Resolution of 1440x900
+
'''Elder in Lost Souls'''
  
// Grass gathering macro --  1440X900 resolution only
+
'''Simple Grass macro using ACTool , works on vista and xp ( vista run as administrator ). Resolution of 1440x900'''
// Set camera to cartographer view (F8 twice)
 
// and zoom all the way in. and make sure you have a full screen of grass/clay before starting
 
// Set line 15 for the total grass you want to collect
 
// Remember to divide the total you want by the amount picker at a time ( ie 1/3 if RS @ 7 using glass scythe and baslet )
 
  
Procedure Clicky
+
// Grass gather macro -- 1440x900 resolution
MousePos 1339, 84 |100
+
// Set camera to cartographer view (F8 twice)
Leftclick | 200
+
// and zoom all the way in making sure you have a full screen of grass
End
+
// Set line 13 to the total grass you want to collect
 +
// Remember to divide total grass by amount per pick ( ie 1/3 @ RS 7 with scythe and basket)
 +
// Action icons are large , if you use small , change line 9 to correct position
 +
 +
Procedure Clicky
 +
MousePos 1339, 84|100
 +
  Leftclick | 200
 +
End
 +
 +
Loop 75 // change this to the amount you want
 +
Call Clicky
 +
MousePos 923, 469|550
 +
  LeftClick
 +
  Delay 2700
 +
Call Clicky
 +
MousePos 498, 469|550
 +
  LeftClick
 +
  Delay 2700
 +
Call Clicky
  
Loop 75   
+
'''Anka's CC Hearth Macro readjusted to run at 1680x1050 resolution , uses ACTool'''
MousePos 1023, 475|600
+
 
LeftClick
+
//Charcoal Hearth
Delay 3000
+
//        this is Anka's CC hearth Macro from T3
Call Clicky
+
//        I've re-adjusted this macro to run in 1680x1050 resolution , only tried it with 4 hearths so far , but works fine.
MousePos 423, 475 |600
+
//        Not lost a batch yet ( Galagah)
LeftClick
+
//
Delay 3000
+
// Setup:  I've added a setup routine to the macro.  Pin the windows on top of each
Call Clicky
+
//        other in the top left corner.  I suggest at least 200 wood per hearth
End
+
//        and about 15 water per hearth to be safe.  All hearths are slightly
 +
//        different but I suggest that you put your fastest burning hearths first
 +
//        in line.  You can tweak the settings in the built in menu.
 +
//
 +
//        Hearths: Total number of hearths you are running.
 +
//        Hearths Across: How many Hearths on the top row of windows.  Make sure
 +
//                        you set this each time even if you are running 1 hearth.
 +
//                        Variables in the macro are set off of this number.
 +
//        Guilded?: Check this box if you are using guilded hearths.
 +
//        Need Setup?: Check this box if you need the macro to position your
 +
//                      windows that are stacked in top left corner.  This is
 +
//                      usefull if you run another round on the hearths and your
 +
//                      windows are set up already.  Check if needed or not.
 +
//        Stealth Mouse: Check this if you don't want to see the mouse move around
 +
//                        on the hearth windows.  When checked, it will save your
 +
//                        mouse position, move to the spot it needs, perform its
 +
//                        action then return the pointer to where it started.  Alows
 +
//                        you to change chat windows are dig in chest while the
 +
//                        macro is running :)
 +
//        Heat: Threshold for Heat bar, increase or decrease as needed. If heat
 +
//              reaches this lvl, water will be added.
 +
//        Wood: Wood threshold, adds wood up to this point.
 +
//        Water: Alowable water level, not much play here. If the water lvl is above
 +
//                this lvl, water will not be added. Prevents drowning the hearth.
 +
//        RGBGreen: Used to detect completion bar. If the macro adds a bunch of water
 +
//                  before the macro is done then moves to the next hearth, increase
 +
//                  this number. Or lower it if it doesnt see green.
 +
//        RGBBlue: Works just like RGBGreen but for blue bars.  If the macro keeps
 +
//                  adding wood till the hearth is full, it's not seeing blue.  If
 +
//                  this happens, lower this number.  Other problem may be that the
 +
//                  mouse pointer is not lining up over the bar correctly.  Run the
 +
//                  Mouse Test.
 +
//        Check Bars Interval: This is the pause time between bar checks.  The
 +
//                              default value of 4000 works well for 1-8 hearths
 +
//                              but you may need to decrease this number if you
 +
//                              are running more than 8.
 +
//        Mouse Test: This is to test if the mouse pointer is lining up correctly
 +
//                    with your windows.  Run 1 hearth manually and start the macro
 +
//                    with this option checked.  You don't need to worry about any
 +
//                    other option.  It will move over the Heat, Wood, Water, Danger,
 +
//                    and Status bar then over the Wood and Water buttons 10 times
 +
//                    before it stops.  If these positions are off a bit, you can
 +
//                    change the Y coordinates below in the constants section.
 +
//
 +
//        The macro doesn't watch Oxygen.  I was going to add a vent option but this
 +
//        macro runs very well and never fails for me.  If your oxygen is getting too
 +
//        high, try adding more wood.  But, by adding more wood, you add more heat
 +
//        which may require you adding more water.  A small amount of water in the
 +
//        presence of heat evaporates producing more Oxygen. :)  Find the balance
 +
//        you want.
 +
//
 +
//  ENJOY! :) 
 +
//  Anka
 +
//
 +
Constants
 +
  //User Definable variables
 +
  Hearths = 4
 +
  HeatX = 165
 +
  WoodX = 107
 +
  WaterX = 76
 +
  DangerX = 165
 +
  RGBBlue = 220
 +
  RGBGreen = 240
 +
  Guild = 1
 +
 
 +
  // Y Coordinates - Don't change unless you are having a problem.
 +
  RegY = 74      // Y coord for Regulator button
 +
  BeginY = 245  // Y coord for Begin Button
 +
  HeatY = 156    // Y coord for Heat Bar
 +
  WoodY = 180    // Y coord for Wood Bar
 +
  WaterY = 192  // Y coord for Water Bar
 +
  DangerY = 204  // Y coord for Danger Bar
 +
  StatusY = 216  // Y coord for Status Bar
 +
  WoodBY = 250  // Y coord for Wood and Water buttons
 +
  //End User variables
 +
 
 +
  Hrow = 0
 +
  Hrow1 = 0
 +
  AddX = 226
 +
  Add2X = 15
 +
  Add1Y = 65
 +
  Add2Y = 17
 +
  Add3Y = 250
 +
  RegX = 47
 +
  BeginX = 111
 +
  NewX = 0
 +
  New2X = 0
 +
  New2Y = 0
 +
  NewY = 0
 +
  Heat = 0
 +
  Wood = 0
 +
  Water = 0
 +
  Danger = 0
 +
  Status = 0
 +
  OxyY = 168
 +
  StatusX = 167
 +
  WoodBX = 35
 +
  WaterBX = 85
 +
  Num = 0
 +
  Jump = 5
 +
  JumpM = 0
 +
  Jumped = 0
 +
  Used = 0
 +
  MDelay = 250
 +
  SDelay = 200
 +
  S1Delay = 100
 +
  Count = 0
 +
  CountM = 0
 +
  MouseX = 0
 +
  MouseY = 0
 +
  CheckDelay = 0
 +
  Setup = 0
 +
  SetX = 10
 +
  SetY = 40
 +
  SetAddX = 227
 +
  SetAddY = 250
 +
  SetLoop = 0
 +
  Mouse = 1
 +
  OrigX = 0
 +
  OrigY = 0
 +
End
 +
 +
Form ccHearth, Settings
 +
  ed1=Combobox:Hearths:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
 +
  ed13=Editbox:Hearths Across:4
 +
  ed2=CheckBox:Guilded?:True
 +
  ed14=Checkbox:Need Setup?:True
 +
  ed15=Checkbox:Stealth Mouse:True
 +
  ed3=Editbox:Heat                  (75-188):165
 +
  //ed10=Editbox:HeatMin            (75-188):116
 +
  //ed11=Editbox:HeatMax          (75-188):184
 +
  //ed4=Editbox:Low Oxy            (75-188):82
 +
  //ed5=Editbox:High Oxy          (75-188):134
 +
  ed6=Editbox:Wood                (75-188):107
 +
  ed7=Editbox:Water                (75-188):76
 +
  ed8=Editbox:RGBGreen:240
 +
  ed9=Editbox:RGBBlue:220
 +
  ed12=Editbox:Check Bars Interval  (miliseconds):4000
 +
  ed16=Checkbox:Mouse Check:False
 +
end
 +
 
 +
  FormLoad ccHearth, ccHearth.frm
 +
 +
if ShowForm ccHearth
 +
  SetConst Hearths = ccHearth[ed1]
 +
  If ccHearth[ed2] = True
 +
    SetConst Guild = 1
 +
  Else
 +
    SetConst Guild = 0
 +
  End
 +
  SetConst HeatX = ccHearth[ed3]
 +
  //SetConst Oxy1X = ccHearth[ed4]
 +
  //SetConst Oxy2X = ccHearth[ed5]
 +
  SetConst WoodX = ccHearth[ed6]
 +
  SetConst WaterX = ccHearth[ed7]
 +
  SetConst RGBGreen = ccHearth[ed8]
 +
  SetConst RGBBlue = ccHearth[ed9]
 +
  //SetConst HeatMin = ccHearth[ed10]
 +
  //SetConst HeatMax = ccHearth[ed11]
 +
  SetConst CheckDelay = ccHearth[ed12]
 +
  Set HRow = ccHearth[ed13]
 +
  Compute SetLoop = $Hearths - 1
 +
  Compute HRow1 = $Hrow + 1
 +
  If ccHearth[ed15] = True
 +
    Set Mouse = 0
 +
  End
 +
else
 +
  Stop
 +
end
 +
 +
FormSave ccHearth, ccHearth.frm
 +
 +
MousePos 100, 20  //Activates eGenesis window.. Don't run ACTool maximized.
 +
Delay $MDelay
 +
LeftClick
 +
Delay 2000 
 +
 +
If $Guild = 1
 +
  Call Guild
 +
End
 +
if ccHearth[ed16] = True
 +
  Call HearthTest
 +
End
 +
If ccHearth[ed14] = True
 +
  Call Setup
 +
End
 +
 +
Call SetReg
 +
SetConst NewX = $BeginX
 +
SetConst NewY = $BeginY
 +
SetConst Count = 1
 +
Loop $Hearths
 +
  If $Count = $HRow1 //$Jump
 +
    SetConst NewX = $BeginX
 +
    Compute NewY = $BeginY + $Add3Y
 +
  End
 +
  MousePos $NewX, $NewY
 +
  Delay $MDelay
 +
  Rightclick
 +
  Delay $MDelay
 +
  Compute NewX = $NewX + $AddX
 +
  Compute Count = $Count + 1
 +
End
 +
SetConst NewX = $BeginX  //Dont remember why this is here :)
 +
Call Main
 +
 +
Procedure Setup
 +
  Set NewX = $SetX
 +
  Set NewY = $SetY
 +
  Loop $SetLoop
 +
    Mousepos $SetX, $SetY
 +
    if {loopno} = $HRow
 +
      Set NewX = $SetX
 +
      Compute NewY = $SetY + $SetAddY
 +
    else
 +
      Compute NewX = $NewX + $SetAddX
 +
    End
 +
    Dragto $NewX, $NewY
 +
  End
 +
End
 +
 +
Procedure Main
 +
  SetConst CountM = 1
 +
  SetConst Status = 0
 +
  Compute JumpM = $HRow1 - 1 //$Jump - 1
 +
  Loop $Hearths
 +
    If $CountM = $HRow1 //$Jump
 +
      // may have to use New Newx and newy variables in Main
 +
      SetConst NewX = $StatusX
 +
      Compute NewY = $StatusY + $Add3Y
 +
      SetConst New2X = $WaterBX
 +
      Compute New2Y = $WoodBY + $Add3Y
 +
    End
 +
   
 +
    While $Status = 0
 +
      Call CheckBars
 +
      If $Status = 1
 +
        Call Snuff
 +
        //code to advance to next hearth
 +
        Compute Used = $Used + 1
 +
        If $Used = $JumpM
 +
          Compute HeatX = $HeatX - (($Used - 1) * $AddX)
 +
          Compute HeatY = $HeatY + $Add3Y
 +
          Compute WoodX = $WoodX - (($Used - 1) * $AddX)
 +
          Compute WoodY = $WoodY + $Add3Y
 +
          Compute WaterX = $WaterX - (($Used - 1) * $AddX)
 +
          Compute WaterY = $WaterY + $Add3Y
 +
          Compute DangerX = $DangerX - (($Used - 1) * $AddX)
 +
          Compute DangerY = $DangerY + $Add3Y
 +
          Compute StatusX = $StatusX - (($Used - 1) * $AddX)
 +
          Compute StatusY = $StatusY + $Add3Y
 +
          //Compute WaterBX = $WaterBX - (($Used -1) * $AddX)
 +
          //Compute WoodBX = $WoodBX - (($Used - 1 ) * $AddX)
 +
          //Compute WoodBY = $WoodBY + $Add3Y
 +
          SetConst Jumped = 1
 +
          Continue
 +
        Else
 +
          Compute HeatX = $HeatX + $AddX
 +
          Compute WoodX = $WoodX + $AddX
 +
          Compute WaterX = $WaterX + $AddX
 +
          Compute DangerX = $DangerX + $AddX
 +
          Compute StatusX = $StatusX + $AddX
 +
          //Compute WaterBX = $WaterBX + $AddX
 +
          //Compute WoodBX = $WoodBX + $AddX
 +
        End
 +
        Continue
 +
      End
 +
      If $Heat = 0 and $Danger = 0 and $Wood = 0
 +
        Call Wood
 +
      Else
 +
        If $Heat = 1 or $Danger = 1
 +
          If $Water = 0
 +
            Call Water
 +
          End
 +
        End
 +
      End
 +
     
 +
      Delay $CheckDelay
 +
    End
 +
    Compute CountM = $CountM + 1
 +
    SetConst Status = 0
 +
  End
 +
End
 +
 +
Procedure CheckBars
 +
  If $Mouse = 1
 +
    MousePos $HeatX, $HeatY
 +
    Delay $SDelay
 +
  end
 +
  LoadRGB $HeatX, $HeatY
 +
  if {RGBBlue} > $RGBBlue
 +
    SetConst Heat = 1
 +
  Else
 +
    SetConst Heat = 0
 +
  End
 +
  If $Mouse = 1
 +
    MousePos $WoodX, $WoodY
 +
    Delay $S1Delay
 +
  end
 +
  LoadRGB $WoodX, $WoodY
 +
  if {RGBBlue} > $RGBBlue
 +
    SetConst Wood = 1
 +
  Else
 +
    SetConst Wood = 0
 +
  End
 +
  If $Mouse = 1
 +
    MousePos $WaterX, $WaterY
 +
    Delay $S1Delay
 +
  End
 +
  LoadRGB $WaterX, $WaterY
 +
  if {RGBBlue} > $RGBBlue
 +
    SetConst Water = 1
 +
  Else
 +
    SetConst Water = 0
 +
  End
 +
  If $Mouse = 1
 +
    MousePos $DangerX, $DangerY
 +
    Delay $S1Delay
 +
  End
 +
  LoadRGB $DangerX, $DangerY
 +
  if {RGBBlue} > $RGBBlue
 +
    SetConst Danger = 1
 +
  Else
 +
    SetConst Danger = 0
 +
  End
 +
  If $Mouse = 1
 +
    MousePos $StatusX, $StatusY
 +
  End
 +
  LoadRGB $StatusX, $StatusY
 +
  if {RGBGreen} > $RGBGreen
 +
    SetConst Status = 1
 +
  Else
 +
    SetConst Status = 0
 +
  End
 +
End
 +
 +
Procedure Water
 +
  SetConst NewX = $WaterBX
 +
  SetConst NewY = $WoodBY
 +
  Loop $Hearths
 +
    IF {loopno} = $HRow1 //$Jump
 +
      SetConst NewX = $WaterBX
 +
      Compute NewY = $WoodBY + $Add3Y
 +
    End
 +
    If {loopno} > $Used
 +
      If $Mouse = 0
 +
        Set OrigX = {mousex}
 +
        Set OrigY = {mousey}
 +
      End
 +
      MousePos $NewX, $NewY
 +
      Delay $SDelay
 +
      Rightclick
 +
      Delay $SDelay
 +
      If $Mouse = 0
 +
        Mousepos $OrigX, $OrigY
 +
      End
 +
    End
 +
    Compute NewX = $NewX + $AddX
 +
  End
 +
  SetConst NewX = $WaterBX
 +
End
 +
 +
Procedure Snuff
 +
  SetConst New2X = $WaterBX
 +
  SetConst New2Y = $WoodBY
 +
  Compute Num = $Used + 1
 +
  Loop $Hearths
 +
    IF {loopno} = $Hrow1 //$Jump
 +
      SetConst New2X = $WaterBX
 +
      Compute New2Y = $WoodBY + $Add3Y
 +
    End
 +
    If {loopno} = $Num
 +
      If $Mouse = 0
 +
        Set OrigX = {mousex}
 +
        Set OrigY = {mousey}
 +
      End
 +
      MousePos $New2X, $New2Y
 +
      Loop 8
 +
        Rightclick
 +
      End
 +
      If $Mouse = 0
 +
        Mousepos $OrigX, $OrigY
 +
      End
 +
    End
 +
    Compute New2X = $New2X + $AddX
 +
  End
 +
End
 +
 
 +
Procedure Wood
 +
  SetConst NewX = $WoodBX
 +
  SetConst NewY = $WoodBY
 +
  Loop $Hearths
 +
    IF {loopno} = $HRow1 //$Jump
 +
      SetConst NewX = $WoodBX
 +
      Compute NewY = $WoodBY + $Add3Y
 +
      End
 +
    If {loopno} > $Used
 +
      If $Mouse = 0
 +
        Set OrigX = {mousex}
 +
        Set OrigY = {mousey}
 +
      End
 +
      MousePos $NewX, $NewY
 +
      Delay $SDelay
 +
      Rightclick
 +
      Delay $SDelay
 +
      If $Mouse = 0
 +
        MousePos $OrigX, $OrigY
 +
      End
 +
    End
 +
    Compute NewX = $NewX + $AddX
 +
  End
 +
  SetConst NewX = $WoodBX
 +
End
 +
 
 +
Procedure SetReg
 +
  SetConst NewX = $RegX
 +
  SetConst Count = 1
 +
  Loop $Hearths
 +
    If $Count = $HRow1
 +
      SetConst NewX = $RegX
 +
      Compute RegY = $RegY + $Add3Y
 +
    End
 +
    MousePos $NewX, $RegY
 +
    Delay $MDelay
 +
    Rightclick
 +
    Compute NewX = $NewX + $Add2X
 +
    If $Count > $HRow
 +
      Compute NewY = $RegY + $Add2Y
 +
    else
 +
      Compute NewY = $RegY + $Add1Y
 +
    end
 +
    MousePos $NewX, $NewY
 +
    Delay $MDelay
 +
    Rightclick
 +
    Delay $MDelay
 +
    Compute NewX = $NewX + $AddX
 +
    Compute Count = $Count + 1
 +
  End
 +
  SetConst NewX = $RegX
 +
  SetConst Count = 1
 +
End
 +
 
 +
Procedure Guild
 +
  Compute BeginX = $BeginX - 7
 +
  Compute BeginY = $BeginY + 16
 +
  Compute RegY = $RegY + 16
 +
  Compute RegX = $RegX - 14
 +
  Compute AddX = $AddX - 15
 +
  Compute Add3Y = $Add3Y + 16
 +
  Compute Add1Y = $Add1Y - 16
 +
  Compute WoodBY = $WoodBY + 16
 +
  Compute HeatX = $HeatX - 4
 +
  Compute HeatY = $HeatY + 16
 +
  Compute WoodX = $WoodX - 1
 +
  Compute WoodY = $WoodY + 16
 +
  Compute WaterY = $WaterY + 16
 +
  Compute DangerX = $DangerX - 4
 +
  Compute DangerY = $DangerY + 16
 +
  Compute StatusX = $StatusX - 5
 +
  Compute StatusY = $StatusY + 16
 +
  Set SetAddX = 212
 +
  Set SetAddY = 266
 +
End
 +
 
 +
Procedure HearthTest
 +
  Loop 10
 +
    MousePos $HeatX, $HeatY
 +
    Delay 2000
 +
   
 +
    MousePos $WoodX, $WoodY
 +
    Delay 2000
 +
   
 +
    MousePos $WaterX, $WaterY
 +
    Delay 2000
 +
   
 +
    MousePos $DangerX, $DangerY
 +
    Delay 2000
 +
   
 +
    MousePos $StatusX, $StatusY
 +
    Delay 2000
 +
   
 +
    MousePos $WoodBX, $WoodBY
 +
    Delay 2000
 +
   
 +
    MousePos $WaterBX, $WoodBY
 +
    Delay 2000
 +
  end
 +
  Stop
 +
End
 +
//Written with ACTool 5.3.0 by Anka
 +
Bell Asterisk
 +
 +
 +
  End

Latest revision as of 12:29, 17 January 2009

Elder in Lost Souls

Simple Grass macro using ACTool , works on vista and xp ( vista run as administrator ). Resolution of 1440x900

// Grass gather macro -- 1440x900 resolution
// Set camera to cartographer view (F8 twice)
// and zoom all the way in making sure you have a full screen of grass
// Set line 13 to the total grass you want to collect
// Remember to divide total grass by amount per pick ( ie 1/3 @ RS 7 with scythe and basket)
// Action icons are large , if you use small , change line 9 to correct position

Procedure Clicky
MousePos 1339, 84|100
  Leftclick | 200
End

Loop 75 // change this to the amount you want
Call Clicky
MousePos 923, 469|550
  LeftClick
  Delay 2700
Call Clicky
MousePos 498, 469|550
  LeftClick
  Delay 2700
Call Clicky

Anka's CC Hearth Macro readjusted to run at 1680x1050 resolution , uses ACTool

//Charcoal Hearth
//         this is Anka's CC hearth Macro from T3
//         I've re-adjusted this macro to run in 1680x1050 resolution , only tried it with 4 hearths so far , but works fine.
//         Not lost a batch yet ( Galagah)
//
// Setup:  I've added a setup routine to the macro.  Pin the windows on top of each
//         other in the top left corner.  I suggest at least 200 wood per hearth
//         and about 15 water per hearth to be safe.  All hearths are slightly
//         different but I suggest that you put your fastest burning hearths first
//         in line.  You can tweak the settings in the built in menu.
//
//         Hearths: Total number of hearths you are running.
//         Hearths Across: How many Hearths on the top row of windows.  Make sure
//                         you set this each time even if you are running 1 hearth.
//                         Variables in the macro are set off of this number.
//         Guilded?: Check this box if you are using guilded hearths.
//         Need Setup?: Check this box if you need the macro to position your
//                      windows that are stacked in top left corner.  This is
//                      usefull if you run another round on the hearths and your
//                      windows are set up already.  Check if needed or not.
//         Stealth Mouse: Check this if you don't want to see the mouse move around
//                        on the hearth windows.  When checked, it will save your
//                        mouse position, move to the spot it needs, perform its
//                        action then return the pointer to where it started.  Alows
//                        you to change chat windows are dig in chest while the
//                        macro is running :)
//         Heat: Threshold for Heat bar, increase or decrease as needed. If heat
//               reaches this lvl, water will be added.
//         Wood: Wood threshold, adds wood up to this point.
//         Water: Alowable water level, not much play here. If the water lvl is above
//                this lvl, water will not be added. Prevents drowning the hearth.
//         RGBGreen: Used to detect completion bar. If the macro adds a bunch of water
//                   before the macro is done then moves to the next hearth, increase
//                   this number. Or lower it if it doesnt see green.
//         RGBBlue: Works just like RGBGreen but for blue bars.  If the macro keeps
//                  adding wood till the hearth is full, it's not seeing blue.  If
//                  this happens, lower this number.  Other problem may be that the
//                  mouse pointer is not lining up over the bar correctly.  Run the
//                  Mouse Test.
//         Check Bars Interval: This is the pause time between bar checks.  The
//                              default value of 4000 works well for 1-8 hearths
//                              but you may need to decrease this number if you
//                              are running more than 8.
//         Mouse Test: This is to test if the mouse pointer is lining up correctly
//                     with your windows.  Run 1 hearth manually and start the macro
//                     with this option checked.  You don't need to worry about any
//                     other option.  It will move over the Heat, Wood, Water, Danger,
//                     and Status bar then over the Wood and Water buttons 10 times
//                     before it stops.  If these positions are off a bit, you can
//                     change the Y coordinates below in the constants section.
//
//         The macro doesn't watch Oxygen.  I was going to add a vent option but this
//         macro runs very well and never fails for me.  If your oxygen is getting too
//         high, try adding more wood.  But, by adding more wood, you add more heat
//         which may require you adding more water.  A small amount of water in the
//         presence of heat evaporates producing more Oxygen. :)  Find the balance
//         you want.
//
//  ENJOY! :)  
//  Anka
//
Constants
  //User Definable variables
  Hearths = 4
  HeatX = 165
  WoodX = 107
  WaterX = 76
  DangerX = 165
  RGBBlue = 220
  RGBGreen = 240
  Guild = 1
  
  // Y Coordinates - Don't change unless you are having a problem.
  RegY = 74      // Y coord for Regulator button
  BeginY = 245   // Y coord for Begin Button
  HeatY = 156    // Y coord for Heat Bar
  WoodY = 180    // Y coord for Wood Bar
  WaterY = 192   // Y coord for Water Bar
  DangerY = 204  // Y coord for Danger Bar
  StatusY = 216  // Y coord for Status Bar
  WoodBY = 250   // Y coord for Wood and Water buttons
  //End User variables
  
  Hrow = 0
  Hrow1 = 0
  AddX = 226
  Add2X = 15
  Add1Y = 65
  Add2Y = 17
  Add3Y = 250
  RegX = 47
  BeginX = 111
  NewX = 0
  New2X = 0
  New2Y = 0
  NewY = 0
  Heat = 0
  Wood = 0
  Water = 0
  Danger = 0
  Status = 0
  OxyY = 168
  StatusX = 167
  WoodBX = 35
  WaterBX = 85
  Num = 0
  Jump = 5
  JumpM = 0
  Jumped = 0
  Used = 0
  MDelay = 250
  SDelay = 200
  S1Delay = 100
  Count = 0
  CountM = 0
  MouseX = 0
  MouseY = 0
  CheckDelay = 0
  Setup = 0
  SetX = 10
  SetY = 40
  SetAddX = 227
  SetAddY = 250
  SetLoop = 0
  Mouse = 1
  OrigX = 0
  OrigY = 0
End

Form ccHearth, Settings
  ed1=Combobox:Hearths:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
  ed13=Editbox:Hearths Across:4
  ed2=CheckBox:Guilded?:True
  ed14=Checkbox:Need Setup?:True
  ed15=Checkbox:Stealth Mouse:True
  ed3=Editbox:Heat                  (75-188):165
  //ed10=Editbox:HeatMin            (75-188):116
  //ed11=Editbox:HeatMax           (75-188):184
  //ed4=Editbox:Low Oxy            (75-188):82
  //ed5=Editbox:High Oxy           (75-188):134
  ed6=Editbox:Wood                (75-188):107
  ed7=Editbox:Water                (75-188):76
  ed8=Editbox:RGBGreen:240
  ed9=Editbox:RGBBlue:220
  ed12=Editbox:Check Bars Interval  (miliseconds):4000
  ed16=Checkbox:Mouse Check:False
end
 
FormLoad ccHearth, ccHearth.frm 

if ShowForm ccHearth
  SetConst Hearths = ccHearth[ed1]
  If ccHearth[ed2] = True
    SetConst Guild = 1
  Else
    SetConst Guild = 0
  End
  SetConst HeatX = ccHearth[ed3]
  //SetConst Oxy1X = ccHearth[ed4]
  //SetConst Oxy2X = ccHearth[ed5]
  SetConst WoodX = ccHearth[ed6]
  SetConst WaterX = ccHearth[ed7]
  SetConst RGBGreen = ccHearth[ed8]
  SetConst RGBBlue = ccHearth[ed9]
  //SetConst HeatMin = ccHearth[ed10]
  //SetConst HeatMax = ccHearth[ed11]
  SetConst CheckDelay = ccHearth[ed12]
  Set HRow = ccHearth[ed13]
  Compute SetLoop = $Hearths - 1
  Compute HRow1 = $Hrow + 1
  If ccHearth[ed15] = True
    Set Mouse = 0
  End
else
  Stop
end 

FormSave ccHearth, ccHearth.frm 

MousePos 100, 20  //Activates eGenesis window.. Don't run ACTool maximized.
Delay $MDelay
LeftClick
Delay 2000   

If $Guild = 1
  Call Guild
End
if ccHearth[ed16] = True
  Call HearthTest
End
If ccHearth[ed14] = True
  Call Setup
End 

Call SetReg
SetConst NewX = $BeginX
SetConst NewY = $BeginY
SetConst Count = 1
Loop $Hearths
  If $Count = $HRow1 //$Jump
    SetConst NewX = $BeginX
    Compute NewY = $BeginY + $Add3Y
  End
  MousePos $NewX, $NewY
  Delay $MDelay
  Rightclick
  Delay $MDelay
  Compute NewX = $NewX + $AddX
  Compute Count = $Count + 1
End
SetConst NewX = $BeginX  //Dont remember why this is here :)
Call Main 

Procedure Setup
  Set NewX = $SetX
  Set NewY = $SetY
  Loop $SetLoop
    Mousepos $SetX, $SetY
    if {loopno} = $HRow
      Set NewX = $SetX
      Compute NewY = $SetY + $SetAddY
    else
      Compute NewX = $NewX + $SetAddX
    End
    Dragto $NewX, $NewY
  End
End

Procedure Main
  SetConst CountM = 1
  SetConst Status = 0
  Compute JumpM = $HRow1 - 1 //$Jump - 1
  Loop $Hearths
    If $CountM = $HRow1 //$Jump
      // may have to use New Newx and newy variables in Main
      SetConst NewX = $StatusX
      Compute NewY = $StatusY + $Add3Y
      SetConst New2X = $WaterBX
      Compute New2Y = $WoodBY + $Add3Y
    End
    
    While $Status = 0
      Call CheckBars
      If $Status = 1
        Call Snuff
        //code to advance to next hearth
        Compute Used = $Used + 1
        If $Used = $JumpM
          Compute HeatX = $HeatX - (($Used - 1) * $AddX)
          Compute HeatY = $HeatY + $Add3Y
          Compute WoodX = $WoodX - (($Used - 1) * $AddX)
          Compute WoodY = $WoodY + $Add3Y
          Compute WaterX = $WaterX - (($Used - 1) * $AddX)
          Compute WaterY = $WaterY + $Add3Y
          Compute DangerX = $DangerX - (($Used - 1) * $AddX)
          Compute DangerY = $DangerY + $Add3Y
          Compute StatusX = $StatusX - (($Used - 1) * $AddX)
          Compute StatusY = $StatusY + $Add3Y
          //Compute WaterBX = $WaterBX - (($Used -1) * $AddX)
          //Compute WoodBX = $WoodBX - (($Used - 1 ) * $AddX)
          //Compute WoodBY = $WoodBY + $Add3Y
          SetConst Jumped = 1
          Continue
        Else
          Compute HeatX = $HeatX + $AddX
          Compute WoodX = $WoodX + $AddX
          Compute WaterX = $WaterX + $AddX
          Compute DangerX = $DangerX + $AddX
          Compute StatusX = $StatusX + $AddX
          //Compute WaterBX = $WaterBX + $AddX
          //Compute WoodBX = $WoodBX + $AddX
        End
        Continue
      End
      If $Heat = 0 and $Danger = 0 and $Wood = 0
        Call Wood
      Else
        If $Heat = 1 or $Danger = 1
          If $Water = 0
            Call Water
          End
        End
      End
     
      Delay $CheckDelay
    End
    Compute CountM = $CountM + 1
    SetConst Status = 0
  End
End

Procedure CheckBars
  If $Mouse = 1
    MousePos $HeatX, $HeatY
    Delay $SDelay
  end
  LoadRGB $HeatX, $HeatY
  if {RGBBlue} > $RGBBlue
    SetConst Heat = 1
  Else
    SetConst Heat = 0
  End
  If $Mouse = 1
    MousePos $WoodX, $WoodY
    Delay $S1Delay
  end
  LoadRGB $WoodX, $WoodY
  if {RGBBlue} > $RGBBlue
    SetConst Wood = 1
  Else
    SetConst Wood = 0
  End
  If $Mouse = 1
    MousePos $WaterX, $WaterY
    Delay $S1Delay
  End
  LoadRGB $WaterX, $WaterY
  if {RGBBlue} > $RGBBlue
    SetConst Water = 1
  Else
    SetConst Water = 0
  End
  If $Mouse = 1
    MousePos $DangerX, $DangerY
    Delay $S1Delay
  End
  LoadRGB $DangerX, $DangerY
  if {RGBBlue} > $RGBBlue
    SetConst Danger = 1
  Else
    SetConst Danger = 0
  End
  If $Mouse = 1
    MousePos $StatusX, $StatusY
  End
  LoadRGB $StatusX, $StatusY
  if {RGBGreen} > $RGBGreen
    SetConst Status = 1
  Else
    SetConst Status = 0
  End
End

Procedure Water
  SetConst NewX = $WaterBX
  SetConst NewY = $WoodBY
  Loop $Hearths
    IF {loopno} = $HRow1 //$Jump
      SetConst NewX = $WaterBX
      Compute NewY = $WoodBY + $Add3Y
    End
    If {loopno} > $Used
      If $Mouse = 0
        Set OrigX = {mousex}
        Set OrigY = {mousey}
      End
      MousePos $NewX, $NewY
      Delay $SDelay
      Rightclick
      Delay $SDelay
      If $Mouse = 0
        Mousepos $OrigX, $OrigY
      End
    End
    Compute NewX = $NewX + $AddX
  End
  SetConst NewX = $WaterBX
End

Procedure Snuff
  SetConst New2X = $WaterBX
  SetConst New2Y = $WoodBY
  Compute Num = $Used + 1
  Loop $Hearths
    IF {loopno} = $Hrow1 //$Jump
      SetConst New2X = $WaterBX
      Compute New2Y = $WoodBY + $Add3Y
    End
    If {loopno} = $Num
      If $Mouse = 0
        Set OrigX = {mousex}
        Set OrigY = {mousey}
      End
      MousePos $New2X, $New2Y
      Loop 8
        Rightclick
      End
      If $Mouse = 0
        Mousepos $OrigX, $OrigY
      End
    End
    Compute New2X = $New2X + $AddX
  End
End 
 
Procedure Wood
  SetConst NewX = $WoodBX
  SetConst NewY = $WoodBY
  Loop $Hearths
    IF {loopno} = $HRow1 //$Jump
      SetConst NewX = $WoodBX
      Compute NewY = $WoodBY + $Add3Y
     End
    If {loopno} > $Used
      If $Mouse = 0
        Set OrigX = {mousex}
        Set OrigY = {mousey}
      End
      MousePos $NewX, $NewY
      Delay $SDelay
      Rightclick
      Delay $SDelay
      If $Mouse = 0
        MousePos $OrigX, $OrigY
      End
    End
    Compute NewX = $NewX + $AddX
  End
  SetConst NewX = $WoodBX
End
 
Procedure SetReg
  SetConst NewX = $RegX
  SetConst Count = 1
  Loop $Hearths
    If $Count = $HRow1
      SetConst NewX = $RegX
      Compute RegY = $RegY + $Add3Y
    End
    MousePos $NewX, $RegY
    Delay $MDelay
    Rightclick
    Compute NewX = $NewX + $Add2X
    If $Count > $HRow
      Compute NewY = $RegY + $Add2Y
    else
      Compute NewY = $RegY + $Add1Y
    end
    MousePos $NewX, $NewY
    Delay $MDelay
    Rightclick
    Delay $MDelay
    Compute NewX = $NewX + $AddX
    Compute Count = $Count + 1
  End
  SetConst NewX = $RegX
  SetConst Count = 1
End 
 
Procedure Guild
  Compute BeginX = $BeginX - 7
  Compute BeginY = $BeginY + 16
  Compute RegY = $RegY + 16
  Compute RegX = $RegX - 14
  Compute AddX = $AddX - 15
  Compute Add3Y = $Add3Y + 16
  Compute Add1Y = $Add1Y - 16
  Compute WoodBY = $WoodBY + 16
  Compute HeatX = $HeatX - 4
  Compute HeatY = $HeatY + 16
  Compute WoodX = $WoodX - 1
  Compute WoodY = $WoodY + 16
  Compute WaterY = $WaterY + 16
  Compute DangerX = $DangerX - 4
  Compute DangerY = $DangerY + 16
  Compute StatusX = $StatusX - 5
  Compute StatusY = $StatusY + 16
  Set SetAddX = 212
  Set SetAddY = 266
End
 
Procedure HearthTest
  Loop 10
    MousePos $HeatX, $HeatY
    Delay 2000
    
    MousePos $WoodX, $WoodY
    Delay 2000
    
    MousePos $WaterX, $WaterY
    Delay 2000
    
    MousePos $DangerX, $DangerY
    Delay 2000
    
    MousePos $StatusX, $StatusY
    Delay 2000
    
    MousePos $WoodBX, $WoodBY
    Delay 2000
    
    MousePos $WaterBX, $WoodBY
    Delay 2000
  end
  Stop
End
//Written with ACTool 5.3.0 by Anka
Bell Asterisk 


 End