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
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
