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.

Difference between revisions of "User:Tribisha"

From A Tale in the Desert
Jump to navigationJump to search
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''Anka's CC Oven Macro readjusted to run at 1680x1050 resolution for Tale 4, uses ACTool'''
+
'''[[User:Tribisha/Paints/Recipes|Paint Recipes]]'''
'''(I'm still testing this to get it to work at a more optimal speed but the main changes were to the Y-axis for all the detection stuff. Everything that has a comment with "Originally" next to it was changed by me.)'''
 
''' '''
 
  
// Charcoal Oven
+
'''[[User:Tribisha/Mines|Mine Locations Map]]'''
//
 
// 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.
 
//        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.
 
//
 
//  If you see anything odd, /chat me.
 
//
 
//  ENJOY! :)
 
//  Anka
 
//
 
 
 
Constants
 
  // User Definable variables
 
  Ovens = 1      // Number of Ovens you are running. 1-8
 
  HeatMinX = 119  // Originally 129
 
  HeatX = 157      // Threshold for Heat bar, increase or decrease as needed.
 
  HeatMaxX = 178
 
  Oxy1X = 82
 
  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 = 170  // Originally 162    //Threshold for Danger bar, increase or decrease as needed.
 
  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 = 2000
 
  Guild = 1      // 1 for Guilded or public ovens, 0 for Personal ovens
 
  // End User variables
 
  AddX = 212      // 215-Personal  212-Guilded
 
  Add2X = 15
 
  Add1Y = 65
 
  Add2Y = 17
 
  Add3Y = 233
 
  HeatMin = 0
 
  HeatMax = 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 = 135 // Originally 140
 
  OxyY = 147 // Originally 152
 
  WoodY = 159 // Originally 164
 
  WaterY = 171 // Originally 176
 
  DangerY = 183 // Originally 188
 
  StatusX = 172
 
  StatusY = 195 // Originally 200
 
  WoodBX = 35
 
  WoodBY = 229 // Originally 234
 
  WaterBX = 85
 
  Vent0 = 130
 
  Vent1 = 155
 
  Vent2 = 180
 
  VentBX = 0
 
  OldVent = 1
 
  Num = 0
 
  Jump = 5
 
  JumpM = 0
 
  Jumped = 0
 
  Used = 0
 
  WoodNum = 0
 
  MDelay = 100
 
  SDelay = 200 // original 200
 
  S1Delay = 100
 
  Count = 0
 
  CountM = 0
 
  MouseX = 0
 
  MouseY = 0
 
 
 
End
 
 
 
Form ccOven, Settings
 
  ed1=Combobox:Ovens:1, 2, 3, 4, 5, 6, 7, 8
 
  ed2=CheckBox:Guilded?:True
 
  ed3=Editbox:Heat                  (75-188):162
 
  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):109
 
  ed7=Editbox:Water                (75-188):77
 
  ed8=Editbox:RGBGreen:240
 
  ed9=Editbox:RGBBlue:220
 
  ed12=Editbox:Check Bars Interval  (miliseconds):4000
 
end
 
 
 
FormLoad ccOven, ccOven.frm
 
 
 
if ShowForm ccOven
 
  SetConst Ovens = ccOven[ed1]
 
  If ccOven[ed2] = True
 
    SetConst Guild = 1
 
  Else
 
    SetConst Guild = 0
 
  End
 
  SetConst HeatX = ccOven[ed3]
 
  SetConst Oxy1X = ccOven[ed4]
 
  SetConst Oxy2X = ccOven[ed5]
 
  SetConst WoodX = ccOven[ed6]
 
  SetConst WaterX = ccOven[ed7]
 
  SetConst RGBGreen = ccOven[ed8]
 
  SetConst RGBBlue = ccOven[ed9]
 
  SetConst HeatMin = ccOven[ed10]
 
  SetConst HeatMax = ccOven[ed11]
 
  SetConst CheckDelay = ccOven[ed12]
 
else
 
  Stop
 
end
 
 
 
FormSave ccOven, ccOven.frm
 
 
 
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 $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
 
  Loop $Ovens
 
    If $CountM = $Jump
 
      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 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 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 HeatMinX = $HeatMinX + $AddX
 
          Compute HeatX = $HeatX + $AddX
 
          Compute HeatMaxX = $HeatMaxX + $AddX
 
          Compute Oxy1X = $Oxy1X + $AddX
 
          Compute Oxy2X = $Oxy2X + $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
 
      Case
 
      When $HeatMin = 1
 
        Call Wood
 
        Set WoodNum = 1
 
      Else
 
        If $Heat = 0 and $Danger = 0
 
          If $WoodNum = 0  and $Wood = 0
 
            Call Wood
 
            Set WoodNum = 1
 
          else
 
            Set WoodNum = 0
 
          End
 
        Else
 
          If $Heat = 1 or $Danger = 1
 
            If $Water = 0 or $HeatMax = 1 or $DangerMax = 1
 
              Call Water
 
            End
 
          End
 
        End
 
      End
 
     
 
      If {loopno} > 3
 
        Case
 
        When $Oxy = 0
 
          // Open vent full
 
          If $OldVent <> $Oxy
 
            SetConst VentBX = $Vent2
 
            Call Vent
 
            SetConst OldVent = 0
 
            Delay 100
 
          End
 
        When $Oxy = 1
 
          // Oxy set normal
 
          If $OldVent <> $Oxy
 
            SetConst VentBX = $Vent1
 
            Call Vent
 
            SetConst OldVent = 1
 
            Delay 100
 
          End
 
        When $Oxy = 2
 
          // Close vent
 
          If $OldVent <> $Oxy
 
            SetConst VentBX = $Vent0
 
            Call Vent
 
            SetConst OldVent = 2
 
            Delay 100
 
          End
 
        End
 
      End
 
      Delay $CheckDelay
 
    End
 
    Compute CountM = $CountM + 1
 
    SetConst Status = 0
 
  End
 
End
 
 
 
Procedure CheckBars
 
  MousePos $HeatMinX, $HeatY
 
  Delay $SDelay
 
  LoadRGB {MouseX}, {MouseY}
 
  if {RGBBlue} < $RGBBlue
 
    SetConst HeatMin = 1
 
  else
 
    Set HeatMin = 0
 
  End
 
 
 
  MousePos $HeatX, $HeatY
 
  Delay $SDelay
 
  LoadRGB {MouseX}, {MouseY}
 
  if {RGBBlue} > $RGBBlue
 
    SetConst Heat = 1
 
  Else
 
    SetConst Heat = 0
 
  End
 
 
 
  MousePos $HeatMaxX, $HeatY
 
  Delay $SDelay
 
  LoadRGB {MouseX}, {MouseY}
 
  if {RGBBlue} > $RGBBlue
 
    SetConst HeatMax = 1
 
  Else
 
    SetConst HeatMax = 0
 
  End
 
 
 
  MousePos $Oxy1X, $OxyY
 
  Delay $SDelay
 
  LoadRGB {MouseX}, {MouseY}
 
  if {RGBBlue} > $RGBBlue
 
    SetConst Oxy = 1
 
  Else
 
    SetConst Oxy = 0
 
  End
 
 
 
  MousePos $Oxy2X, $OxyY
 
  Delay $SDelay
 
  LoadRGB {MouseX}, {MouseY}
 
  if {RGBBlue} > $RGBBlue
 
    SetConst Oxy = 2
 
  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 $HeatX, $DangerY
 
  Delay $S1Delay
 
  LoadRGB {MouseX}, {MouseY}
 
  if {RGBBlue} > $RGBBlue
 
    SetConst Danger = 1
 
  Else
 
    SetConst Danger = 0
 
  End
 
 
 
  MousePos $HeatMaxX, $DangerY
 
  Delay $S1Delay
 
  LoadRGB {MouseX}, {MouseY}
 
  if {RGBBlue} > $RGBBlue
 
    SetConst DangerMax = 1
 
  Else
 
    SetConst DangerMax = 0
 
  End
 
 
 
  MousePos $StatusX, $StatusY
 
  LoadRGB {MouseX}, {MouseY}
 
  if {RGBGreen} > $RGBGreen
 
    //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 $Ovens
 
    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 Vent
 
  SetConst NewX = $VentBX
 
  SetConst NewY = $WoodBY
 
  Loop $Ovens
 
    IF {loopno} = $Jump
 
      SetConst NewX = $VentBX
 
      Compute NewY = $WoodBY + $Add3Y
 
    End
 
    If {loopno} > $Used
 
      MousePos $NewX, $NewY
 
      Delay $SDelay
 
      Rightclick
 
      Delay $SDelay
 
    End
 
    Compute NewX = $NewX + $AddX
 
  End
 
  SetConst NewX = $VentBX
 
End
 
 
 
Procedure Snuff
 
  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 8
 
        Rightclick
 
      End
 
      MousePos $New3X, $WoodBY
 
      Delay 200
 
      Rightclick
 
    End
 
    Compute New2X = $New2X + $AddX
 
    Compute New3X = $New3X + $AddX
 
  End
 
End
 
 
 
Procedure Wood
 
  SetConst NewX = $WoodBX
 
  SetConst NewY = $WoodBY
 
  Loop $Ovens
 
    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 AddX = $AddX - 3
 
  Compute Add3Y = $Add3Y + 16
 
  Compute Add1Y = $Add1Y - 16
 
  Compute WoodBY = $WoodBY + 16
 
  //Compute HeatX = $HeatX - 4
 
  Compute HeatY = $HeatY + 16
 
  //Compute Oxy1X = $Oxy1X
 
  //Compute Oxy2X =
 
  Compute OxyY = $OxyY + 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
 

Latest revision as of 00:55, 24 January 2010