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

From A Tale in the Desert
Revision as of 21:35, 6 October 2009 by Hilly (talk | contribs)
Jump to navigationJump to search
//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.
//  Known Issues:  You will see it add some wood during the snuff process.  It's
//                 not much wood but I'm looking into it.
//  Make sure all the Regulaters are set at 1
//  Anka's CC Hearth Macro readjusted to run at 1680x1050 resolution , uses ACTool 
//
Constants
 //User Definable variables
 Hearths = 1       //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 = 0       // 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
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 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