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.

Alpha/cc

From ATITD5
Revision as of 03:03, 22 September 2010 by AlphaBob (talk | contribs) (Created page with "//Charcoal Oven - modified Ver 2.2 // // Setup: This handles from 1 to 8 charcoal ovens at a time. Pin the windows // in 2 rows of 4 starting in top left corner. But t...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

//Charcoal Oven - modified Ver 2.2 // // Setup: This handles from 1 to 8 charcoal ovens 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 300 // wood per oven and a normally hold about 150 water jugs (for 8 ovens). // All ovens are slightly different but I suggest that you put your // fastest burning oven first in line. You can tweak the settings // to your liking in the new GUI window. Your settings will be saved. // SETUP ADDENUM BELOW // // If you see anything odd, /chat me. // // ENJOY! :) // Anka // // This version has been modified by rwindmtg // // Follow setup as writen by anka and adust the check bars interval acording to // the number of ovens used (more ovens less time) // // Settings provided are those for 4 ovens and have done 3 whole runs without probs for me // // ineterval increace on the menu will increce the wait between checks delay // when an oven finishes. hopefully this will keep the chk interval for each // oven the same. // if win setup is checked place all the windows in the top left corner on top of eachother // // The modifications are to allow the macro to moniter each oven indervidually //

Constants

 //User Definable variables
 Ovens = 1       //Number of Ovens you are running. 1-8
 HeatMinX = 129
 HeatX = 157      //Threshold for Heat bar, increase or decrease as needed.
 HeatMaxX = 178
 Oxy1X = 90
 Oxy2X = 133
 WoodX = 109      //Wood threshold, adds wood/round up to this point.
 WaterX = 76      //Alowable water level, not much play here.. dont lower more than 2
 DangerX = 150    //Threshold for Danger bar, increase or decrease as needed.
 DangerMaxX = 160 // maximum danger lvl
 RGBBlue = 220    //Threshold for detecting the color blue.
 RGBGreen = 250   //Threshold for detecting the color green.  Some video cards
 //                 are having problems with this.  If you are having problems, run
 //                 just 1 oven 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 :(
 //                 This method is used for RGBBlue and RGBGreen.
 CheckDelay = 1100
 Guild = 0       // 1 for Guilded or public ovens, 0 for Personal ovens
 //End User variables
 AddX = 215      // 215-Personal   212-Guilded
 Add2X = 15
 Add1Y = 65
 Add2Y = 17
 Add3Y = 233
 HeatMin = 0
 HeatMax = 0
 maxwoodx = 160
 maxwood = 0
 DangerMax = 0
 BeginX = 103
 BeginY = 229
 NewX = 0
 New2X = 0
 New3X = 0
 New2Y = 0
 NewY = 0
 Heat = 0
 Oxy = 0
 Wood = 0
 Water = 0
 Danger = 0
 Status = 0
 HeatY = 140
 OxyY = 152
 WoodY = 164
 WaterY = 176
 DangerY = 188
 StatusX = 172
 StatusY = 200
 WoodBX = 35
 WoodBY = 234
 WaterBX = 85
 Vent0 = 130
 Vent1 = 155
 Vent2 = 180
 VentBX = 0
 Num = 0
 Jump = 5 // should be 5
 JumpM = 0
 Jumped = 0
 Used = 0
 MDelay = 250
 SDelay = 180 // 200
 S1Delay = 85 // 100
 Count = 0
 CountM = 0
 MouseX = 0
 MouseY = 0
 // oven stas chks
 oven1 = 0
 oven2 = 0
 oven3 = 0
 oven4 = 0
 oven5 = 0
 oven6 = 0
 oven7 = 0
 oven8 = 0
 curentoven = 1
 looped = 1
 sHeatMinX = 0
 sHeatX = 0
 sHeatMaxX = 0
 sHeatY = 0
 sOxy1X = 0
 sOxy2X = 0
 sOxyY = 0
 sWoodX = 0
 sWoodY = 0
 sWaterX = 0
 sWaterY = 0
 sDangerY = 0
 sStatusX = 0
 sStatusY = 0
 sDangerX = 0
 sDangermaxX = 0
 smaxwoodx = 0
 amaxwood = 0
 ovenfinidhed = 0
 OldVent1 = 1
 OldVent2 = 1
 OldVent3 = 1
 OldVent4 = 1
 OldVent5 = 1
 OldVent6 = 1
 OldVent7 = 1
 OldVent8 = 1
 WoodNum1 = 0
 WoodNum2 = 0
 WoodNum3 = 0
 WoodNum4 = 0
 WoodNum5 = 0
 WoodNum6 = 0
 WoodNum7 = 0
 WoodNum8 = 0
 interval = 0
 ovendone = 0
 setup = 0
 WinX = 3
 WinY = 29
 dragX = 3
 dragY = 115
 m = 1

End

// safty message ShowMessage m = Infomation, OK:Cancel, Do not Leave Macros running unatended! if $m = 2

 stop

end

Form ccOven, Settings // settings listed here are for 4 ovens

 ed1=Combobox:Ovens:1, 2, 3, 4, 5, 6, 7, 8
 ed2=CheckBox:Guilded?:True
 ed16=checkbox:Window Setup :True
 ed3=Editbox:Heat                  (75-188):162
 ed10=Editbox:HeatMin            (75-188):116
 ed11=Editbox:HeatMax           (75-188):174
 ed4=Editbox:Low Oxy            (75-188):95
 ed5=Editbox:High Oxy           (75-188):134
 ed6=Editbox:Wood                (75-188):104
 ed7=Editbox:Water                (75-188):77
 ed13=Editbox:Danger              (75-188):160 // now used
 ed15=Editbox:Max Danger					(75-188):170	// companion value
 ed8=Editbox:RGBGreen:240
 ed9=Editbox:RGBBlue:220
 ed12=Editbox:Check Bars Interval  (miliseconds):1100
 ed14=Editbox:Interval Increace    (miliseconds):150

end

FormLoad ccOven, ccOvenall.frm

if ShowForm ccOven

 SetConst Ovens = ccOven[ed1]
 If ccOven[ed2] = True
   SetConst Guild = 1
 Else
   SetConst Guild = 0
 End
 If ccOven[ed16] = True
   Setconst setup = 1
 Else
   Setconst setup = 0
 End
 SetConst HeatX = ccOven[ed3]
 SetConst Oxy1X = ccOven[ed4]
 SetConst Oxy2X = ccOven[ed5]
 SetConst WoodX = ccOven[ed6]
 SetConst WaterX = ccOven[ed7]
 Setconst DangerX = ccOven[ed13]
 setconst DangerMaxX = ccOven[ed15]
 SetConst RGBGreen = ccOven[ed8]
 SetConst RGBBlue = ccOven[ed9]
 SetConst HeatMin = ccOven[ed10]
 SetConst HeatMax = ccOven[ed11]
 SetConst CheckDelay = ccOven[ed12]
 Setconst interval = ccOven[ed14]

else

 Stop

end

FormSave ccOven, ccOvenall.frm

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

If $Guild = 1

 Call Guild

End

If $setup = 1

 call WindowSetup

end

Procedure WindowSetup

 SetConst DragX = $winx
 setconst Dragy = $winy
 setconst count = 1
 Loop $ovens
   if $count = $jump
     Compute DragX = $DragX - (($count - 1) * $AddX)
     Compute DragY = $DragY + $Add3Y
   End
   MousePos $WinX, $WinY
   Delay $MDelay
   Dragto $DragX, $DragY
   Compute DragX = $DragX + $AddX
   compute count = $count + 1
 End

End

SetConst NewX = $BeginX SetConst NewY = $BeginY SetConst Count = 1 Loop $Ovens

 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
 
 // rwinds ver
 //stores some vars
 setconst sHeatMinX = $HeatMinX
 setconst sHeatX = $HeatX
 setconst sHeatMaxX = $HeatMaxX
 setconst sHeatY = $HeatY
 setconst sOxy1X = $Oxy1X
 setconst sOxy2X = $Oxy2X
 setconst sOxyY = $OxyY
 setconst sWoodX = $WoodX
 setconst sWoodY = $WoodY
 setconst sWaterX = $WaterX
 setconst sWaterY = $WaterY
 setconst sDangerY = $DangerY
 setconst sStatusX = $StatusX
 setconst sStatusY = $StatusY
 setconst sDangerX = $DangerX
 setconst sDangermaxX = $DangermaxX
 setconst smaxwoodx = $maxwoodx
 
 While $Status < $Ovens
   Loop $Ovens
     setconst curentoven = {loopno}
     If $CountM = $Jump
       SetConst NewX = $StatusX
       Compute NewY = $StatusY + $Add3Y
       SetConst New2X = $WaterBX
       Compute New2Y = $WoodBY + $Add3Y
     End
     // next 8 ifs determine if current oven has finished
     If $curentoven = 1 and $oven1 = 1
       setconst ovenfinidhed = 1
     End
     If $curentoven = 2 and $oven2 = 1
       setconst ovenfinidhed = 1
     End
     If $curentoven = 3 and $oven3 = 1
       setconst ovenfinidhed = 1
     End
     If $curentoven = 4 and $oven4 = 1
       setconst ovenfinidhed = 1
     End
     If $curentoven = 5 and $oven5 = 1
       setconst ovenfinidhed = 1
     End
     If $curentoven = 6 and $oven6 = 1
       setconst ovenfinidhed = 1
     End
     If $curentoven = 7 and $oven7 = 1
       setconst ovenfinidhed = 1
     End
     If $curentoven = 8 and $oven8 = 1
       setconst ovenfinidhed = 1
     End
     
     If $ovenfinidhed = 0 //skips if set to 1
       Call CheckBars
       
       if $curentoven = 1
         Case
         When $HeatMin = 1
           Call Wood
           Set WoodNum1 = 1
         Else
           If $Heat = 0 and $Danger = 0
             If $WoodNum1 = 0  and $Wood = 0
               Call Wood
               Set WoodNum1 = 1
             else
               Set WoodNum1 = 0
             End
           Else
             If $Heat = 1 or $Danger = 1
               If $Water = 0 or $HeatMax = 1 or $DangerMax = 1
                 Call Water
               End
             End
           End
         End
       End
       if $curentoven = 2
         Case
         When $HeatMin = 1
           Call Wood
           Set WoodNum2 = 1
         Else
           If $Heat = 0 and $Danger = 0
             If $WoodNum2 = 0  and $Wood = 0
               Call Wood
               Set WoodNum2 = 1
             else
               Set WoodNum2 = 0
             End
           Else
             If $Heat = 1 or $Danger = 1
               If $Water = 0 or $HeatMax = 1 or $DangerMax = 1
                 Call Water
               End
             End
           End
         End
       End
       if $curentoven = 3
         Case
         When $HeatMin = 1
           Call Wood
           Set WoodNum3 = 1
         Else
           If $Heat = 0 and $Danger = 0
             If $WoodNum3 = 0  and $Wood = 0
               Call Wood
               Set WoodNum3 = 1
             else
               Set WoodNum3 = 0
             End
           Else
             If $Heat = 1 or $Danger = 1
               If $Water = 0 or $HeatMax = 1 or $DangerMax = 1
                 Call Water
               End
             End
           End
         End
       End
       if $curentoven = 4
         Case
         When $HeatMin = 1
           Call Wood
           Set WoodNum4 = 1
         Else
           If $Heat = 0 and $Danger = 0
             If $WoodNum4 = 0  and $Wood = 0
               Call Wood
               Set WoodNum4 = 1
             else
               Set WoodNum4 = 0
             End
           Else
             If $Heat = 1 or $Danger = 1
               If $Water = 0 or $HeatMax = 1 or $DangerMax = 1
                 Call Water
               End
             End
           End
         End
       End
       if $curentoven = 5
         Case
         When $HeatMin = 1
           Call Wood
           Set WoodNum5 = 1
         Else
           If $Heat = 0 and $Danger = 0
             If $WoodNum5 = 0  and $Wood = 0
               Call Wood
               Set WoodNum5 = 1
             else
               Set WoodNum5 = 0
             End
           Else
             If $Heat = 1 or $Danger = 1
               If $Water = 0 or $HeatMax = 1 or $DangerMax = 1
                 Call Water
               End
             End
           End
         End
       End
       if $curentoven = 6
         Case
         When $HeatMin = 1
           Call Wood
           Set WoodNum6 = 1
         Else
           If $Heat = 0 and $Danger = 0
             If $WoodNum6 = 0  and $Wood = 0
               Call Wood
               Set WoodNum6 = 1
             else
               Set WoodNum6 = 0
             End
           Else
             If $Heat = 1 or $Danger = 1
               If $Water = 0 or $HeatMax = 1 or $DangerMax = 1
                 Call Water
               End
             End
           End
         End
       End
       if $curentoven = 7
         Case
         When $HeatMin = 1
           Call Wood
           Set WoodNum7 = 1
         Else
           If $Heat = 0 and $Danger = 0
             If $WoodNum7 = 0  and $Wood = 0
               Call Wood
               Set WoodNum7 = 1
             else
               Set WoodNum7 = 0
             End
           Else
             If $Heat = 1 or $Danger = 1
               If $Water = 0 or $HeatMax = 1 or $DangerMax = 1
                 Call Water
               End
             End
           End
         End
       End
       if $curentoven = 8
         Case
         When $HeatMin = 1
           Call Wood
           Set WoodNum8 = 1
         Else
           If $Heat = 0 and $Danger = 0
             If $WoodNum8 = 0  and $Wood = 0
               Call Wood
               Set WoodNum8 = 1
             else
               Set WoodNum8 = 0
             End
           Else
             If $Heat = 1 or $Danger = 1
               If $Water = 0 or $HeatMax = 1 or $DangerMax = 1
                 Call Water
               End
             End
           End
         End
       End
       
       If $looped > 3
         
         if $curentoven = 1/// Work in progress .......................... isolate ovens vents
           Case
           When $Oxy = 0
             // Open vent full
             If $OldVent1 <> $Oxy
               SetConst VentBX = $Vent2
               Call Vent
               SetConst OldVent1 = 0
               Delay 100
             End
           When $Oxy = 1
             // Oxy set normal
             If $OldVent1 <> $Oxy
               SetConst VentBX = $Vent1
               Call Vent
               SetConst OldVent1 = 1
               Delay 100
             End
           When $Oxy = 2
             // Close vent
             If $OldVent1 <> $Oxy
               SetConst VentBX = $Vent0
               Call Vent
               SetConst OldVent1 = 2
               Delay 100
             End
           End
         End ///// Work in progresss ...............
         if $curentoven = 2/// Work in progress .......................... isolate ovens vents
           Case
           When $Oxy = 0
             // Open vent full
             If $OldVent2 <> $Oxy
               SetConst VentBX = $Vent2
               Call Vent
               SetConst OldVent2 = 0
               Delay 100
             End
           When $Oxy = 1
             // Oxy set normal
             If $OldVent2 <> $Oxy
               SetConst VentBX = $Vent1
               Call Vent
               SetConst OldVent2 = 1
               Delay 100
             End
           When $Oxy = 2
             // Close vent
             If $OldVent2 <> $Oxy
               SetConst VentBX = $Vent0
               Call Vent
               SetConst OldVent2 = 2
               Delay 100
             End
           End
         End ///// Work in progresss ...............
         if $curentoven = 3/// Work in progress .......................... isolate ovens vents
           Case
           When $Oxy = 0
             // Open vent full
             If $OldVent3 <> $Oxy
               SetConst VentBX = $Vent2
               Call Vent
               SetConst OldVent3 = 0
               Delay 100
             End
           When $Oxy = 1
             // Oxy set normal
             If $OldVent3 <> $Oxy
               SetConst VentBX = $Vent1
               Call Vent
               SetConst OldVent3 = 1
               Delay 100
             End
           When $Oxy = 2
             // Close vent
             If $OldVent3 <> $Oxy
               SetConst VentBX = $Vent0
               Call Vent
               SetConst OldVent3 = 2
               Delay 100
             End
           End
         End ///// Work in progresss ...............
         if $curentoven = 4/// Work in progress .......................... isolate ovens vents
           Case
           When $Oxy = 0
             // Open vent full
             If $OldVent4 <> $Oxy
               SetConst VentBX = $Vent2
               Call Vent
               SetConst OldVent4 = 0
               Delay 100
             End
           When $Oxy = 1
             // Oxy set normal
             If $OldVent4 <> $Oxy
               SetConst VentBX = $Vent1
               Call Vent
               SetConst OldVent4 = 1
               Delay 100
             End
           When $Oxy = 2
             // Close vent
             If $OldVent4 <> $Oxy
               SetConst VentBX = $Vent0
               Call Vent
               SetConst OldVent4 = 2
               Delay 100
             End
           End
         End ///// Work in progresss ...............
         if $curentoven = 5/// Work in progress .......................... isolate ovens vents
           Case
           When $Oxy = 0
             // Open vent full
             If $OldVent5 <> $Oxy
               SetConst VentBX = $Vent2
               Call Vent
               SetConst OldVent5 = 0
               Delay 100
             End
           When $Oxy = 1
             // Oxy set normal
             If $OldVent5 <> $Oxy
               SetConst VentBX = $Vent1
               Call Vent
               SetConst OldVent5 = 1
               Delay 100
             End
           When $Oxy = 2
             // Close vent
             If $OldVent5 <> $Oxy
               SetConst VentBX = $Vent0
               Call Vent
               SetConst OldVent5 = 2
               Delay 100
             End
           End
         End ///// Work in progresss ...............
         if $curentoven = 6/// Work in progress .......................... isolate ovens vents
           Case
           When $Oxy = 0
             // Open vent full
             If $OldVent6 <> $Oxy
               SetConst VentBX = $Vent2
               Call Vent
               SetConst OldVent6 = 0
               Delay 100
             End
           When $Oxy = 1
             // Oxy set normal
             If $OldVent6 <> $Oxy
               SetConst VentBX = $Vent1
               Call Vent
               SetConst OldVent6 = 1
               Delay 100
             End
           When $Oxy = 2
             // Close vent
             If $OldVent6 <> $Oxy
               SetConst VentBX = $Vent0
               Call Vent
               SetConst OldVent6 = 2
               Delay 100
             End
           End
         End ///// Work in progresss ...............
         if $curentoven = 7/// Work in progress .......................... isolate ovens vents
           Case
           When $Oxy = 0
             // Open vent full
             If $OldVent7 <> $Oxy
               SetConst VentBX = $Vent2
               Call Vent
               SetConst OldVent7 = 0
               Delay 100
             End
           When $Oxy = 1
             // Oxy set normal
             If $OldVent7 <> $Oxy
               SetConst VentBX = $Vent1
               Call Vent
               SetConst OldVent7 = 1
               Delay 100
             End
           When $Oxy = 2
             // Close vent
             If $OldVent7 <> $Oxy
               SetConst VentBX = $Vent0
               Call Vent
               SetConst OldVent7 = 2
               Delay 100
             End
           End
         End ///// Work in progresss ...............
         if $curentoven = 8/// Work in progress .......................... isolate ovens vents
           Case
           When $Oxy = 0
             // Open vent full
             If $OldVent8 <> $Oxy
               SetConst VentBX = $Vent2
               Call Vent
               SetConst OldVent8 = 0
               Delay 100
             End
           When $Oxy = 1
             // Oxy set normal
             If $OldVent8 <> $Oxy
               SetConst VentBX = $Vent1
               Call Vent
               SetConst OldVent8 = 1
               Delay 100
             End
           When $Oxy = 2
             // Close vent
             If $OldVent8 <> $Oxy
               SetConst VentBX = $Vent0
               Call Vent
               SetConst OldVent8 = 2
               Delay 100
             End
           End
         End ///// Work in progresss ...............
         
       End
     End
     if $ovendone = 1
       setconst ovendone = 0
       call snuff
     End
     // nxt oven
     setconst ovenfinidhed = 0
     Compute Used = $Used + 1
     If $Used = $JumpM
       Compute HeatMinX = $HeatMinX - (($Used - 1) * $AddX)
       Compute HeatX = $HeatX - (($Used - 1) * $AddX)
       Compute HeatMaxX = $HeatMaxX - (($Used - 1) * $AddX)
       Compute HeatY = $HeatY + $Add3Y
       Compute Oxy1X = $Oxy1X - (($Used - 1) * $AddX)
       Compute Oxy2X = $Oxy2X - (($Used - 1) * $AddX)
       Compute OxyY = $OxyY + $Add3Y
       Compute WoodX = $WoodX - (($Used - 1) * $AddX)
       Compute maxwoodx = $maxwoodx - (($Used - 1) * $AddX)
       Compute WoodY = $WoodY + $Add3Y
       Compute WaterX = $WaterX - (($Used - 1) * $AddX)
       Compute WaterY = $WaterY + $Add3Y
       Compute DangerX = $DangerX - (($Used - 1) * $AddX)
       Compute DangermaxX = $DangermaxX - (($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 HeatMinX = $HeatMinX + $AddX
       Compute HeatX = $HeatX + $AddX
       Compute HeatMaxX = $HeatMaxX + $AddX
       Compute Oxy1X = $Oxy1X + $AddX
       Compute Oxy2X = $Oxy2X + $AddX
       Compute WoodX = $WoodX + $AddX
       Compute maxwoodx = $maxwoodx + $AddX
       Compute WaterX = $WaterX + $AddX
       Compute DangerX = $DangerX + $AddX
       Compute DangermaxX = $DangermaxX + $AddX
       Compute StatusX = $StatusX + $AddX
       //Compute WaterBX = $WaterBX + $AddX
       //Compute WoodBX = $WoodBX + $AddX
     End
     Continue
   End
   // resets positions
   Compute Used = 0
   Compute HeatMinX = $sHeatMinX
   Compute HeatX = $sHeatX
   Compute HeatMaxX = $sHeatMaxX
   Compute HeatY = $sHeatY
   Compute Oxy1X = $sOxy1X
   Compute Oxy2X = $sOxy2X
   Compute OxyY = $sOxyY
   Compute WoodX = $sWoodX
   Compute WoodY = $sWoodY
   Compute WaterX = $sWaterX
   Compute WaterY = $sWaterY
   Compute DangerY = $sDangerY
   Compute StatusX = $sStatusX
   Compute StatusY = $sStatusY
   compute DangerX = $sDangerX
   compute DangermaxX = $sDangermaxX
   compute maxwoodx = $smaxwoodx
   Delay $CheckDelay
   compute looped = $looped +1 // incremts loop for vent enable
 End

End // end rwinds ver

Procedure CheckBars //reads the data

 MousePos $HeatMinX, $HeatY	//heat min
 Delay $SDelay
 LoadRGB {MouseX}, {MouseY}
 if {RGBBlue} < $RGBBlue
   SetConst HeatMin = 1
 else
   Set HeatMin = 0
 End
 
 MousePos $HeatX, $HeatY		//heat target
 Delay $SDelay
 LoadRGB {MouseX}, {MouseY}
 if {RGBBlue} > $RGBBlue
   SetConst Heat = 1
 Else
   SetConst Heat = 0
 End
 
 MousePos $HeatMaxX, $HeatY // heat max
 Delay $SDelay
 LoadRGB {MouseX}, {MouseY}
 if {RGBBlue} > $RGBBlue
   SetConst HeatMax = 1
 Else
   SetConst HeatMax = 0
 End
 
 MousePos $Oxy1X, $OxyY	// oxy min
 Delay $SDelay
 LoadRGB {MouseX}, {MouseY}
 if {RGBBlue} > $RGBBlue
   SetConst Oxy = 1
 Else
   SetConst Oxy = 0
 End
 
 MousePos $Oxy2X, $OxyY // oxy max
 Delay $SDelay
 LoadRGB {MouseX}, {MouseY}
 if {RGBBlue} > $RGBBlue
   SetConst Oxy = 2
 End
 
 MousePos $WoodX, $WoodY // wood target
 Delay $S1Delay
 LoadRGB {mousex}, {mousey}
 if {RGBBlue} > $RGBBlue
   SetConst Wood = 1
 Else
   SetConst Wood = 0
 End
 
 MousePos $maxwoodx, $WoodY // maxwood target
 Delay $S1Delay
 LoadRGB {mousex}, {mousey}
 if {RGBBlue} > $RGBBlue
   SetConst maxwood = 1
 Else
   SetConst maxwood = 0
 End
 
 MousePos $WaterX, $WaterY // water max
 Delay $S1Delay
 LoadRGB {mousex}, {mousey}
 if {RGBBlue} > $RGBBlue
   SetConst Water = 1
 Else
   SetConst Water = 0
 End
 
 MousePos $DangerX, $DangerY // danger warn??
 Delay $S1Delay
 LoadRGB {MouseX}, {MouseY}
 if {RGBBlue} > $RGBBlue
   SetConst Danger = 1
 Else
   SetConst Danger = 0
 End
 
 MousePos $DangerMaxX, $DangerY // danger out of controll??
 Delay $S1Delay
 LoadRGB {MouseX}, {MouseY}
 if {RGBBlue} > $RGBBlue
   SetConst DangerMax = 1
 Else
   SetConst DangerMax = 0
 End
 
 MousePos $StatusX, $StatusY  // checks to see if it is done
 LoadRGB {MouseX}, {MouseY}
 if {RGBGreen} > $RGBGreen
   //if {RGBRed} = 6 and {RGBGreen} = 254 and {RGBBlue} = 5
   compute Status = $Status + 1
   // say  yes // debuging code
   setconst ovendone = 1
   compute $CheckDelay = $CheckDelay + $interval
   If $curentoven = 1
     setconst oven1 = 1
   End
   If $curentoven = 2
     setconst oven2 = 1
   End
   If $curentoven = 3
     setconst oven3 = 1
   End
   If $curentoven = 4
     setconst oven4 = 1
   End
   If $curentoven = 5
     setconst oven5 = 1
   End
   If $curentoven = 6
     setconst oven6 = 1
   End
   If $curentoven = 7
     setconst oven7 = 1
   End
   If $curentoven = 8
     setconst oven8 = 1
   End
   
 Else
   // SetConst Status = 0
   compute Status = $Status + 0 // dummy line
   //say  no // debuging code
 End

End

Procedure Water // adds water

 SetConst NewX = $WaterBX
 SetConst NewY = $WoodBY
 Loop $Ovens
   IF {loopno} = $Jump
     SetConst NewX = $WaterBX
     Compute NewY = $WoodBY + $Add3Y
   End
   If {loopno} = $curentoven
     MousePos $NewX, $NewY
     Delay $SDelay
     Rightclick
     Delay $SDelay
   End
   Compute NewX = $NewX + $AddX
 End
 SetConst NewX = $WaterBX

End

Procedure Vent // sets vent

 SetConst NewX = $VentBX
 SetConst NewY = $WoodBY
 Loop $Ovens
   IF {loopno} = $Jump
     SetConst NewX = $VentBX
     Compute NewY = $WoodBY + $Add3Y
   End
   If {loopno} = $curentoven
     MousePos $NewX, $NewY
     Delay $SDelay
     Rightclick
     Delay $SDelay
   End
   Compute NewX = $NewX + $AddX
 End
 SetConst NewX = $VentBX

End

Procedure Snuff // kills the oven

 SetConst New2X = $WaterBX
 SetConst New3X = $Vent2
 SetConst New2Y = $WoodBY
 Compute Num = $Used + 1
 Loop $Ovens
   IF {loopno} = $Jump
     SetConst New2X = $WaterBX
     SetConst New3X = $Vent2
     Compute New2Y = $WoodBY + $Add3Y
   End
   If {loopno} = $Num
     MousePos $New2X, $New2Y
     Loop 10
       Rightclick
     End
     MousePos $New3X, $WoodBY
     Delay 200
     Rightclick
   End
   Compute New2X = $New2X + $AddX
   Compute New3X = $New3X + $AddX
 End

End

Procedure Wood // adds some wood if $ovendone = 0

 if $maxwood = 0
   SetConst NewX = $WoodBX
   SetConst NewY = $WoodBY
   Loop $Ovens
     IF {loopno} = $Jump
       SetConst NewX = $WoodBX
       Compute NewY = $WoodBY + $Add3Y
     End
     If {loopno} = $curentoven
       MousePos $NewX, $NewY
       Delay $SDelay
       Rightclick
       Delay $SDelay
     End
     Compute NewX = $NewX + $AddX
   End
   SetConst NewX = $WoodBX
 End

end end

Procedure Guild // adjusts positions for guilded ovens

 //Compute BeginX = $BeginX - 7
 Compute BeginY = $BeginY + 12
 Compute AddX = $AddX - 3
 Compute Add3Y = $Add3Y + 12
 Compute Add1Y = $Add1Y - 12
 Compute WoodBY = $WoodBY + 12
 //Compute HeatX = $HeatX - 4
 Compute HeatY = $HeatY + 12
 //Compute Oxy1X = $Oxy1X
 //Compute Oxy2X =
 Compute OxyY = $OxyY + 12
 //Compute WoodX = $WoodX - 1
 Compute WoodY = $WoodY + 12
 Compute WaterY = $WaterY + 12
 //Compute DangerX = $DangerX - 4
 Compute DangerY = $DangerY + 12
 //Compute StatusX = $StatusX - 5
 Compute StatusY = $StatusY + 12

End //Written with ACTool 5.3.0 by Anka //Modified with ACTool 5.4.0 by rwindmtg Bell Asterisk