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.

User:Blethezar/Macros

From ATITD5
Jump to navigationJump to search

CC Macro - 1280x1024

//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 = 2
 HeatX = 168
 WoodX = 107
 WaterX = 76
 DangerX = 164
 RGBBlue = 220
 RGBGreen = 220
 Guild = 0
 // 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:220
 ed9=Editbox:RGBBlue:240
 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
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