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.
User:Oni/Hearth
From A Tale in the Desert
< User:Oni
Jump to navigationJump to search- FULL credit for this goes to ANKA - I did not write this, just edited it slightly.
- Slightly edited - sped up to make more reliable.
- 1024x768 goodness :)
//Charcoal Hearth // // Setup: This handles from 1 to 8 charcoal hearths at a time. Pin the windows // in 2 rows of 4 starting in top left corner. But them up together but // Don't overlap them at all. I suggest at least 200 // wood per hearth and a normally hold about 150 water jugs. // All hearths are slightly different but I suggest that you put your // fastest burning hearths first in line. The current settings are set // for guilded hearths but its a bit more efficient atm with personal // hearths. You can tweak the settings below to alter Heat, Wood, Water // and danger thresholds. The macro doesn't watch Oxygen. If your oxygen // is getting too high, lower this by increasing WoodX in constants since // adding wood lowers oxygen. // // If you see anything odd, /chat me. // // Known Issues: You will see it add some wood during the snuff process. It's // not much wood but I'm looking into it. // // ENJOY! :) Come acro me in LE :) 780, 6956 // Anka // Constants //User Definable variables Hearths = 3 //Number of Hearths you are running. 1-8 HeatX = 168 //Threshold for Heat bar, increase or decrease as needed. WoodX = 107 //Wood threshold, adds wood/round up to this point. WaterX = 76 //Alowable water level, not much play here.. dont lower more than 2 DangerX = 164 //Threshold for Danger bar, increase or decrease as needed. RGBBlue = 220 //Threshold for detecting the color blue. Some video cards // are having problems with this. I will add a color test soon to // help. If you are having problems. Run just 1 hearth and try // lowering this number by 10 at a time. It's hard for me to see // what is going on without using your pc :( Guild = 1 // 1 for Guilded or public hearths, 0 for Personal hearths //End User variables AddX = 226 Add2X = 15 Add1Y = 65 Add2Y = 17 Add3Y = 250 RegX = 47 RegY = 74 BeginX = 111 BeginY = 245 NewX = 0 New2X = 0 New2Y = 0 NewY = 0 Heat = 0 Wood = 0 Water = 0 Danger = 0 Status = 0 HeatY = 156 OxyY = 168 WoodY = 180 WaterY = 192 DangerY = 204 StatusX = 167 StatusY = 216 WoodBX = 35 WoodBY = 250 WaterBX = 85 Num = 0 Jump = 5 JumpM = 0 Jumped = 0 Used = 0 MDelay = 50 SDelay = 50 S1Delay = 50 Count = 0 CountM = 0 MouseX = 0 MouseY = 0 End MousePos 100, 20 //Activates eGenesis window.. Don't run ACTool maximized. Delay $MDelay LeftClick Delay 2000 If $Guild = 1 Call Guild End Call SetReg SetConst NewX = $BeginX SetConst NewY = $BeginY SetConst Count = 1 Loop $Hearths If $Count = $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 Main SetConst CountM = 1 SetConst Status = 0 Compute JumpM = $Jump - 1 Loop $Hearths If $CountM = $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 1000 End Compute CountM = $CountM + 1 SetConst Status = 0 End End Procedure CheckBars MousePos $HeatX, $HeatY Delay $SDelay LoadRGB {MouseX}, {MouseY} if {RGBBlue} > $RGBBlue SetConst Heat = 1 Else SetConst Heat = 0 End MousePos $WoodX, $WoodY Delay $S1Delay LoadRGB {mousex}, {mousey} if {RGBBlue} > $RGBBlue SetConst Wood = 1 Else SetConst Wood = 0 End MousePos $WaterX, $WaterY Delay $S1Delay LoadRGB {mousex}, {mousey} if {RGBBlue} > $RGBBlue SetConst Water = 1 Else SetConst Water = 0 End MousePos $DangerX, $DangerY Delay $S1Delay LoadRGB {MouseX}, {MouseY} if {RGBBlue} > $RGBBlue SetConst Danger = 1 Else SetConst Danger = 0 End MousePos $StatusX, $StatusY LoadRGB {MouseX}, {MouseY} if {RGBRed} = 6 and {RGBGreen} = 254 and {RGBBlue} = 5 SetConst Status = 1 Else SetConst Status = 0 End End Procedure Water SetConst NewX = $WaterBX SetConst NewY = $WoodBY Loop $Hearths IF {loopno} = $Jump SetConst NewX = $WaterBX Compute NewY = $WoodBY + $Add3Y End If {loopno} > $Used MousePos $NewX, $NewY Delay $SDelay Rightclick Delay $SDelay 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} = $Jump SetConst New2X = $WaterBX Compute New2Y = $WoodBY + $Add3Y End If {loopno} = $Num MousePos $New2X, $New2Y Loop 8 Rightclick End End Compute New2X = $New2X + $AddX End End Procedure Wood SetConst NewX = $WoodBX SetConst NewY = $WoodBY Loop $Hearths IF {loopno} = $Jump SetConst NewX = $WoodBX Compute NewY = $WoodBY + $Add3Y End If {loopno} > $Used MousePos $NewX, $NewY Delay $SDelay Rightclick Delay $SDelay End Compute NewX = $NewX + $AddX End SetConst NewX = $WoodBX End Procedure SetReg SetConst NewX = $RegX SetConst Count = 1 Loop $Hearths If $Count = 5 SetConst NewX = $RegX Compute RegY = $RegY + $Add3Y End MousePos $NewX, $RegY Delay $MDelay Rightclick Compute NewX = $NewX + $Add2X If $Count > 4 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 End //Written with ACTool 5.3.0 by Anka Bell Asterisk