The Wiki for Tale 6 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:Arahgon

From ATITD6
Revision as of 19:16, 10 January 2012 by Arahgon (talk | contribs) (Created page with "//Charcoal Hearth // // I've made some improvements to the Hearth macro. Depending on your resolution, // the macro will run up to 12 guilded hearths. I've tested it in 128...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

//Charcoal Hearth // // I've made some improvements to the Hearth macro. Depending on your resolution, // the macro will run up to 12 guilded hearths. I've tested it in 1280x960 // resolution without any need to change values. It may work in other resolutions // also but I have not been able to test it. If you are using personal hearths, // it will run up to 10 in 1280x960. Maximum number in 1024x768 is 8. // // 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! :) Come visit me in LE :) 780, 6956 I have a large bar with tasting // tables and hookahs. // Anka // Constants

 //User Definable variables
 Hearths = 4
 HeatX = 165
 WoodX = 120
 WaterX = 76
 DangerX = 164
 RGBBlue = 220
 RGBGreen = 240
 Guild = 1
 
 // 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 = 149   // Y coord for Heat Bar
 WoodY = 172    // Y coord for Wood Bar
 WaterY = 187   // Y coord for Water Bar
 DangerY = 198  // Y coord for Danger Bar
 StatusY = 210  // 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:240
 ed9=Editbox:RGBBlue:220
 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

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

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