|
|
Line 1: |
Line 1: |
− | *My macros:
| |
− | // This line is necessary to select the proper window
| |
− | SetActiveWindow Asheron's Call
| |
| | | |
− | //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 = 107
| |
− | WaterX = 76
| |
− | DangerX = 165
| |
− | 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 = 156 // Y coord for Heat Bar
| |
− | WoodY = 180 // Y coord for Wood Bar
| |
− | WaterY = 192 // Y coord for Water Bar
| |
− | DangerY = 204 // Y coord for Danger Bar
| |
− | StatusY = 216 // 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
| |
− | ________________________________________
| |
− | Constants
| |
− | Loops = 25 //Number of rounds you want to plant
| |
− | Water = 5
| |
− | P1Delay = 0
| |
− | MoveDelay = 0
| |
− | WDelay = 0
| |
− | Num = 4
| |
− | NewX = 0
| |
− | NewY = 0
| |
− | varOriginalMouseX = 0
| |
− | varOriginalMouseY = 0
| |
− | Ox = 476
| |
− | Oy = 380
| |
− | ODragX = 4
| |
− | ODragY = 90
| |
− | OWX = 50
| |
− | OWY = 120
| |
− | Onion = 1
| |
− | WaterX = 0
| |
− | WaterY = 0
| |
− | Plants = 0
| |
− | End
| |
− |
| |
− | Set WaterX = {MouseX}
| |
− | Set WaterY = {MouseY}
| |
− |
| |
− | Form Onions, Settings
| |
− | ed1=Editbox:Batch:1
| |
− | ed2=Combobox:# of Plants:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
| |
− | ed3=Editbox:Plant 1 wait time:1300
| |
− | ed4=Editbox:Move wait time:900
| |
− | ed5=Editbox:Time between Waterings:800
| |
− | end
| |
− |
| |
− | FormLoad Onions, Onions.frm
| |
− |
| |
− | if ShowForm Onions
| |
− | Set Loops = Onions[ed1]
| |
− | Set Plants = Onions[ed2]
| |
− | Set P1Delay = Onions[ed3]
| |
− | Set MoveDelay = Onions[ed4]
| |
− | Set WDelay = Onions[ed5]
| |
− | Else
| |
− | stop
| |
− | end
| |
− |
| |
− | FormSave Onions, Onions.frm
| |
− |
| |
− | //Activate ATITD Window
| |
− | MousePos 100, 10
| |
− | Delay 250
| |
− | Leftclick
| |
− | Delay 2000
| |
− |
| |
− | Call Onion
| |
− |
| |
− | Procedure Onion
| |
− | Loop $Loops
| |
− | Loop $Plants //Number of plants
| |
− | MousePos 50, 40
| |
− | Delay 400
| |
− | Rightclick
| |
− |
| |
− | Compute Num = $Onion * 2 - 1
| |
− | MousePos 37, 101
| |
− | Delay 400
| |
− | Loop $Num
| |
− | Rightclick
| |
− | End
| |
− |
| |
− | Compute Onion = $Onion + 1
| |
− |
| |
− | MousePos 32, 162
| |
− | Delay 400
| |
− | Rightclick
| |
− | End
| |
− |
| |
− | SetConst Onion = 1
| |
− | Loop $Plants //Find and Pin Plants
| |
− | Mousepos $Ox, $Oy
| |
− | Delay 200
| |
− | Call CheckOnions
| |
− | Compute Ox = $Ox - 38
| |
− | End
| |
− |
| |
− | SetConst Onion = 1
| |
− | Loop 5
| |
− | Loop $Plants // Number of plants
| |
− | If $Onion = 5
| |
− | Compute OWX = {mousex} + 168
| |
− | SetConst OWY = 120
| |
− | End
| |
− | If $Onion = 9
| |
− | Compute OWX = {mousex} + 168
| |
− | SetConst OWY = 120
| |
− | End
| |
− |
| |
− | Compute NewY = $OWY - 20
| |
− | MousePos $OWX, $NewY
| |
− | Delay 200
| |
− | Rightclick
| |
− | Delay 300
| |
− | Mousepos $OWX, $OWY
| |
− | Delay 200
| |
− | Rightclick
| |
− | Compute OWY = {MouseY} + 60
| |
− | If $Onion = 1
| |
− | Delay 1300 //Plant 1 time
| |
− | Else
| |
− | Delay 900 //Move Time
| |
− | End
| |
− | Compute Onion = $Onion + 1
| |
− | End
| |
− | Delay $WDelay //Pause between waterings
| |
− | SetConst Onion = 1
| |
− | Compute OWX = 50
| |
− | Compute OWY = 120
| |
− | End
| |
− |
| |
− | Compute NewX = 489
| |
− | Compute NewY = 270
| |
− | Loop 3
| |
− | Loop 4
| |
− | MousePos $NewX, $NewY
| |
− | Delay 250
| |
− | Rightclick
| |
− | Compute NewY = $NewY - 60
| |
− | End
| |
− | Compute NewX = $NewX - 168
| |
− | Compute NewY = 270
| |
− | End
| |
− | Mousepos 930, 385
| |
− | Leftclick
| |
− | Delay 3000
| |
− | // Mousepos 473, 397
| |
− | // Delay 250
| |
− | // Leftclick
| |
− | // Delay 2000
| |
− | // MousePos $WaterX, $WaterY
| |
− | // Delay 250
| |
− | // Leftclick
| |
− | // MousePos 512,423
| |
− | // Delay 250
| |
− | // Leftclick
| |
− | // Delay 5000
| |
− | Compute Onion = 1
| |
− | Compute ODragX = 4
| |
− | Compute ODragY = 90
| |
− | Compute Ox = 476
| |
− | Compute Oy = 380
| |
− | Compute OWX = 50
| |
− | Compute OWY = 120
| |
− | End
| |
− | End
| |
− |
| |
− |
| |
− | Procedure CheckOnions
| |
− | setconst varOriginalMouseX = {mousex}
| |
− | setconst varOriginalMouseY = {mousey}
| |
− | Compute NewY = $varOriginalMouseY
| |
− | Loop 15
| |
− | RightClick
| |
− | Delay 400
| |
− | LoadRGB {MouseX}, {MouseY}
| |
− | if {RGBBlue} > 220
| |
− | Compute NewX = {mousex} + 148
| |
− | Compute NewY = {mousey} - 23
| |
− | MousePos $NewX, $NewY
| |
− | Delay 200
| |
− | Leftclick
| |
− | Compute NewX = {mousex} - 145
| |
− | MousePos $NewX, $NewY
| |
− |
| |
− | if $Onion > 8
| |
− | Dragto $ODragX, $ODragY
| |
− | Compute ODragY = $ODragY + 60
| |
− | End
| |
− | if $Onion = 5 or $Onion = 6 or $Onion = 7 or $Onion = 8
| |
− | Dragto $ODragX, $ODragY
| |
− | Compute ODragY = $ODragY + 60
| |
− | End
| |
− | If $Onion = 2 or $Onion = 3 or $Onion = 4
| |
− | Dragto $ODragX, $ODragY
| |
− | Compute ODragY = $ODragY + 60
| |
− | End
| |
− | if $Onion = 1
| |
− | Dragto $ODragX, $ODragY
| |
− | Compute ODragY = $ODragY + 60
| |
− | End
| |
− | Compute Onion = $Onion + 1
| |
− | If $Onion = 5
| |
− | SetConst ODragY = 90
| |
− | Compute ODragX = $ODragX + 168
| |
− | End
| |
− | If $Onion = 9
| |
− | SetConst ODragY = 90
| |
− | Compute ODragX = $ODragX + 168
| |
− | END
| |
− | Break
| |
− | Else
| |
− | Compute Oy = $Oy + 1
| |
− | MousePos $varOriginalMouseX, $Oy
| |
− | Delay 200
| |
− | End
| |
− | End
| |
− | End
| |
− | ________________________________________
| |
− | // This line is necessary to select the proper window
| |
− | SetActiveWindow Asheron's Call
| |
− |
| |
− | // Multi Tool
| |
− | //
| |
− | // This macro does Digs, Mining , Limestone, Dirt, Loom, Hackling Rake.
| |
− | // This macro also does not work on timers and will watch your End, Str and Per
| |
− | // timers. It will do the next action as soon as the timers have expired.
| |
− | // Resolution 1024x768. If you have problems with the macro detecting colors, run
| |
− | // ColorTest.
| |
− | //
| |
− | //INSTRUCTIONS
| |
− | //
| |
− | // I use small action icons in Utility>Interface>Action icons appear in
| |
− | // smaller size. Have not tried with large icons.
| |
− | // ColorTest - Run this if you are having problems with the macro detecting colors.
| |
− | // Once the macro starts, it will ring a bell. You have 5 seconds
| |
− | // to place your mouse pointer over the spot you want to color test.
| |
− | // A bell will ring again when the macro is done. Look in the test
| |
− | // log to retrieve your RGB values for that color. You can use
| |
− | // these values for the Dirt and Limestone proceedures if needed.
| |
− | //
| |
− | // Dig - Pin the "Dig Deeper" window where ever you want it.
| |
− | // Put the mouse pointer over the "Dig Deeper" button.
| |
− | // Alt tab to ACTool(Don't move the mouse) and press F2
| |
− | // It will then dig whenever the END timer expires.
| |
− | //
| |
− | // Dirt - This one is a bit more automated.
| |
− | // Have a shovel in inventory and stand over dirt.
| |
− | // Start the macro.
| |
− | // This one will find the dirt icon on it's own and dig whenever
| |
− | // the timer is ready.
| |
− | //
| |
− | // Firepit - This one will run 1 firepit. The firepit has to have a certain
| |
− | // orientation so I'll be posting a screenshot on my user page. The
| |
− | // initial pointer position is crucial also. Pin the firepit window to
| |
− | // the top left corner. Place the pointer in the position expained on
| |
− | // my user page. Don't move the mouse and alt tab to ACTool. Press Start
| |
− | // or F2 to start the macro. It will switch to the ATITD client and after
| |
− | // a few seconds will ring a bell. All that is happened so far is that the
| |
− | // mouse position has been stored and the macro is paused. At this point,
| |
− | // put everything you want in your fire, have an iron poker in your
| |
− | // inventory. This is run on a guilded firepit, if you need one for a
| |
− | // personal firepit, chat me and I'll add that feature. Once the fire
| |
− | // starts, Alt tab to ACTool once again and press the resume button
| |
− | // (Next to start button). I'm not claiming this to be 100% but once you
| |
− | // get the pointer in the right spot, it hasn't failed any test so far.
| |
− | //
| |
− | // Hackling Rake - Have rotten flax on hand
| |
− | // Make sure rake is on step 1
| |
− | // Pin Rake window to top left corner.
| |
− | // Put mouse pointer over step 1 option.
| |
− | // Alt tab to windows (Don't touch mouse) Press F2
| |
− | // This also will watch the end timer and act when ready.
| |
− | //
| |
− | // Hookah - Simple macro that will smoke the hookah for you. Put the window any place
| |
− | // you want it. Place pointer over the smoke option. It will keep trying to
| |
− | // smoke even when the hookah is empty. I'll add in a safeguard soon.
| |
− | //
| |
− | // Limestone - Simply start this macro.
| |
− | // It will gather limestone when the timer is ready.
| |
− | //
| |
− | // Loom - Load the loom
| |
− | // Pin Loom window to top left corner.
| |
− | // Put the mouse pointer over the item you want to create.
| |
− | // Alt tab to windows (Dont touch mouse) Press F2
| |
− | // This will work the loom when the End timer is gone.
| |
− | //
| |
− | // Mine - Pin 18 crystals and put the windows stacked on top of each other
| |
− | // in the top left corner. Make sure the mine is empty (no Take
| |
− | // option). If you end up stopping the macro and want to restart
| |
− | // without going through the setup section, uncheck Mine Setup
| |
− | // when able. It will position the windows and randomly pull from a
| |
− | // window whenever the PerStr timers are gone. X Coord Work is there
| |
− | // if your mouse pointer is missing the work button. If the mouse is too
| |
− | // far to the right, decrease the number.
| |
− | //
| |
− | // Anka
| |
− |
| |
− | Include Objects.mac
| |
− |
| |
− | Constants
| |
− | Rounds = 0
| |
− | YWork = 163 //95 //75
| |
− | XWork = 89
| |
− | XOrig = 0
| |
− | YOrig = 0
| |
− | AddX = 249 //100
| |
− | AddY = 63 //95 //63
| |
− | MouseX = 0
| |
− | MouseY = 0
| |
− | FireX = 23
| |
− | FireY = 93
| |
− | Fire1 = 423,644
| |
− | Fire2 = 0
| |
− | Fire3 = 0
| |
− | Fire4 = 0
| |
− | Fire5 = 0
| |
− | Fire1X = 88
| |
− | Fire1Y = 32
| |
− | Fire2X = 74
| |
− | Fire2Y = 58
| |
− | Fire3X = 90
| |
− | Fire3Y = 65
| |
− | Fire4X = 107
| |
− | Fire4Y = 58
| |
− | Fire5X = 105
| |
− | Fire5Y = 44
| |
− | Red = 0
| |
− | Green = 0
| |
− | Blue = 0
| |
− | ButtonX = 1010
| |
− | ButtonY = 32
| |
− | SubX = 31
| |
− | Button = 0
| |
− |
| |
− | Num = 0
| |
− | First = 0
| |
− | WinX = 3
| |
− | WinY = 29 //625 //593
| |
− | DragX = 3
| |
− | DragY = 115 //49 //29
| |
− | NewX = 0
| |
− | NewY = 0
| |
− | Minval = 1
| |
− | Maxval = 18
| |
− | RanX = 0
| |
− | RanY = 0
| |
− | Setup = 0
| |
− | Guild = 0
| |
− | Done = 0
| |
− | SDelay = 100
| |
− | MDelay = 250
| |
− | End
| |
− |
| |
− | SetConst MouseX = {MouseX}
| |
− | SetConst MouseY = {MouseY}
| |
− |
| |
− | Form MultiTool, Choose your Job
| |
− | ed1=EditBox:Rounds:1
| |
− | ed2=Combobox:Which Job?:Dig,Dirt,FirePit,Hackling,Hookah,Limestone,Loom,Mine,ColorTest
| |
− | ed3=Checkbox:Guilded Mine:False
| |
− | ed4=Checkbox:Mine Setup:True
| |
− | ed5=Checkbox:StokeBell:True
| |
− | ed6=Checkbox:Mine Repaired:False
| |
− | ed7=EditBox:X Coord Work:240
| |
− | end
| |
− |
| |
− | FormLoad MultiTool, MultiTool.frm
| |
− |
| |
− | if ShowForm MultiTool
| |
− | Set Rounds = MultiTool[ed1]
| |
− | Set XWork = MultiTool[ed7]
| |
− | If MultiTool[ed4] = True
| |
− | setConst Setup = 0
| |
− | else
| |
− | setConst Setup = 1
| |
− | End
| |
− | else
| |
− | Stop
| |
− | end
| |
− | FormSave MultiTool, MultiTool.frm
| |
− |
| |
− | MousePos 100, 20
| |
− | Delay 250
| |
− | LeftClick
| |
− | MousePos 25, 60
| |
− | Delay 5000
| |
− |
| |
− | Loop $Rounds
| |
− | Call MultiTool[ed2]
| |
− | Call Checkforlostfocus
| |
− | End
| |
− |
| |
− | Procedure FirePit
| |
− | If $Setup = 0
| |
− | Bell Asterisk
| |
− | Pause
| |
− | SetConst Setup = 1
| |
− | End
| |
− |
| |
− | MousePos 100, 20
| |
− | Delay 250
| |
− | LeftClick
| |
− | Delay 1000
| |
− |
| |
− | MousePos 15, 45
| |
− | Delay 100
| |
− | Rightclick
| |
− | SetConst Done = 0
| |
− |
| |
− | If $Button = 0
| |
− | Compute NewX = $MouseX + $Fire1X
| |
− | Compute NewY = $MouseY + $Fire1Y
| |
− | SetConst Fire1 = $NewX,$NewY
| |
− | Compute NewX = $MouseX + $Fire2X
| |
− | Compute NewY = $MouseY + $Fire2Y
| |
− | SetConst Fire2 = $NewX,$NewY
| |
− | Compute NewX = $MouseX + $Fire3X
| |
− | Compute NewY = $MouseY + $Fire3Y
| |
− | SetConst Fire3 = $NewX,$NewY
| |
− | Compute NewX = $MouseX + $Fire4X
| |
− | Compute NewY = $MouseY + $Fire4Y
| |
− | SetConst Fire4 = $NewX,$NewY
| |
− | Compute NewX = $MouseX + $Fire5X
| |
− | Compute NewY = $MouseY + $Fire5Y
| |
− | SetConst Fire5 = $NewX,$NewY
| |
− | Inc Button
| |
− | End
| |
− |
| |
− | While $Done = 0
| |
− | Mousepos $Fire1
| |
− | Delay 100
| |
− | LoadRGB {mousex},{mousey}
| |
− | IF {RGBGreen} = 255
| |
− | MousePos $Fire2
| |
− | Delay 100
| |
− | LoadRGB {mousex},{mousey}
| |
− | IF {RGBGreen} = 255
| |
− | MousePos $Fire3
| |
− | Delay 100
| |
− | LoadRGB {mousex},{mousey}
| |
− | IF {RGBGreen} = 255
| |
− | MousePos $Fire4
| |
− | Delay 100
| |
− | LoadRGB {mousex},{mousey}
| |
− | IF {RGBGreen} = 255
| |
− | MousePos $Fire5
| |
− | Delay 100
| |
− | LoadRGB {mousex},{mousey}
| |
− | IF {RGBGreen} = 255
| |
− | //Stoke
| |
− | MousePos 37, 93
| |
− | Delay 200
| |
− | Rightclick
| |
− | If MultiTool[ed5] = True
| |
− | bell asterisk
| |
− | End
| |
− | Delay 26000
| |
− | MousePos 28, 61
| |
− | Delay 200
| |
− | Rightclick
| |
− | SetConst Done = 1
| |
− | End
| |
− | End
| |
− | End
| |
− | End
| |
− | End
| |
− | End
| |
− | End
| |
− |
| |
− | Procedure Dig
| |
− | SetConst Button = 0
| |
− | While $Button = 0
| |
− | IsObject Endur at 973, 79
| |
− | Delay 500
| |
− | Else
| |
− | SetConst XOrig = {mousex}
| |
− | SetConst YOrig = {mousey}
| |
− | MousePos $MouseX, $MouseY
| |
− | Delay 200
| |
− | Rightclick
| |
− | Delay 500
| |
− | End
| |
− | End
| |
− | SetConst Button = 1
| |
− | End
| |
− |
| |
− | Procedure Hookah
| |
− | SetConst Button = 0
| |
− | While $Button = 0
| |
− | IsObject Con at 975, 79
| |
− | Delay 500
| |
− | Else
| |
− | SetConst XOrig = {mousex}
| |
− | SetConst YOrig = {mousey}
| |
− | MousePos $MouseX, $MouseY
| |
− | Delay 200
| |
− | Rightclick
| |
− | End
| |
− | End
| |
− | SetConst Button = 1
| |
− | End
| |
− |
| |
− | Procedure Hackling
| |
− | Loop Num = 1 to 4
| |
− | SetConst Button = 0
| |
− | While $Button = 0
| |
− | IsObject Endur at 973, 79
| |
− | Delay 500
| |
− | Else
| |
− | SetConst XOrig = {mousex}
| |
− | SetConst YOrig = {mousey}
| |
− | MousePos 5, 32
| |
− | Delay 200
| |
− | Rightclick
| |
− | Delay 200
| |
− | If $Num < 2 or $Num > 3
| |
− | MousePos $MouseX, $MouseY
| |
− | Delay 250
| |
− | Rightclick
| |
− | Delay 200
| |
− | Else
| |
− | Compute MouseY = $MouseY + 15
| |
− | MousePos $MouseX, $MouseY
| |
− | Delay 250
| |
− | Rightclick
| |
− | Delay 200
| |
− | Compute MouseY = $MouseY - 15
| |
− | End
| |
− | Mousepos $XOrig, $YOrig
| |
− | SetConst Button = 1
| |
− | End
| |
− | End
| |
− | End
| |
− | End
| |
− |
| |
− | Procedure Loom
| |
− | SetConst Button = 0
| |
− | While $Button = 0
| |
− | IsObject Endur at 973, 79
| |
− | Delay 500
| |
− | Else
| |
− | SetConst XOrig = {mousex}
| |
− | SetConst YOrig = {mousey}
| |
− | MousePos $MouseX, $MouseY
| |
− | Delay 250
| |
− | Rightclick
| |
− | Delay 200
| |
− | Mousepos $XOrig, $YOrig
| |
− | SetConst Button = 1
| |
− | End
| |
− | End
| |
− | End
| |
− |
| |
− | Procedure Mine
| |
− | If $Guild = 0
| |
− | If MultiTool[ed3] = True
| |
− | Call GuildMine
| |
− | End
| |
− | if MultiTool[ed6] = true
| |
− | Call Guildmine
| |
− | End
| |
− | End
| |
− | If $Setup = 0
| |
− | Call Minesetup
| |
− | End
| |
− |
| |
− | SetConst Button = 0
| |
− | While $Button = 0
| |
− | IsObject PerStr at 924, 80
| |
− | Delay 500
| |
− | Else
| |
− | SetConst Num = $Random
| |
− | Timestamp $Num
| |
− | Case
| |
− | When $Num > 15 //12
| |
− | Compute NewY = $YWork + $AddY * 5 //2
| |
− | Compute NewX = $AddX * ($Num - 16) + $XWork
| |
− | When $Num > 12
| |
− | Compute NewY = $YWork + $AddY * 4
| |
− | Compute NewX = $AddX * ($Num - 13) + $XWork
| |
− | When $Num > 9
| |
− | Compute NewY = $YWork + $AddY * 3
| |
− | Compute NewX = $AddX * ($Num - 10) + $XWork
| |
− | When $Num > 6
| |
− | Compute NewY = $YWork + $AddY * 2
| |
− | Compute NewX = $AddX * ($Num - 7) + $XWork
| |
− | When $Num > 3
| |
− | Compute NewY = $YWork + $AddY
| |
− | Compute NewX = $AddX * ($Num - 4) + $XWork
| |
− | Else
| |
− | Compute NewX = $AddX * ($Num - 1) + $XWork
| |
− | Compute NewY = $YWork
| |
− | End
| |
− | MousePos $NewX, $NewY
| |
− | Timestamp $NewX, $NewY
| |
− | Delay 250
| |
− | Rightclick
| |
− | Delay 2250
| |
− | SetConst Button = 1
| |
− | End
| |
− | End
| |
− | End
| |
− |
| |
− | Procedure Limestone
| |
− | If $Button = 0
| |
− | SetConst Red = 113
| |
− | SetConst Green = 146
| |
− | SetConst Blue = 100
| |
− | Call FindButton
| |
− | End
| |
− | SetConst Button = 1
| |
− | While $Button = 1
| |
− | IsObject Endur at 973, 79
| |
− | Delay 200
| |
− | Else
| |
− | SetConst XOrig = {mousex}
| |
− | SetConst YOrig = {mousey}
| |
− | MousePos $ButtonX, $ButtonY
| |
− | Delay 150
| |
− | Rightclick
| |
− | Delay 100
| |
− | Mousepos $XOrig, $YOrig
| |
− | Delay 1000
| |
− | SetConst Button = 2
| |
− | End
| |
− | End
| |
− | End
| |
− |
| |
− | Procedure Dirt
| |
− | If $Button = 0
| |
− | SetConst Red = 91 //104
| |
− | SetConst Green = 138 //149
| |
− | SetConst Blue = 184 //192
| |
− | Call FindButton
| |
− | End
| |
− | SetConst Button = 1
| |
− | While $Button = 1
| |
− | IsObject Endur at 973, 79
| |
− | Delay 500
| |
− | Else
| |
− | SetConst XOrig = {mousex}
| |
− | SetConst YOrig = {mousey}
| |
− | MousePos $ButtonX, $ButtonY
| |
− | Delay 250
| |
− | Rightclick
| |
− | Delay 200
| |
− | Mousepos $XOrig, $YOrig
| |
− | Delay 10000
| |
− | SetConst Button = 2
| |
− | End
| |
− | End
| |
− | End
| |
− |
| |
− | Procedure Pull
| |
− | SetConst XOrig = {MouseX}
| |
− | SetConst YOrig = {MouseY}
| |
− | MousePos $RanX, $RanY
| |
− | Delay 200
| |
− | Rightclick
| |
− | Delay 100
| |
− | Compute RanX = $RanX + 14
| |
− | Compute RanY = $RanY - 3
| |
− | MousePos $RanX, $RanY
| |
− | Delay 250
| |
− | Rightclick
| |
− | Delay 100
| |
− | MousePos $XOrig, $YOrig
| |
− | Delay 100
| |
− | End
| |
− |
| |
− | Procedure FindButton
| |
− | MousePos $ButtonX, $ButtonY
| |
− | Delay 200
| |
− | LoadRGB {mousex}, {mousey}
| |
− | While {rgbred} <> $Red and {rgbgreen} <> $Green and {rgbblue} <> $Blue
| |
− | Compute ButtonX = $ButtonX - $SubX
| |
− | MousePos $ButtonX, $ButtonY
| |
− | Delay 200
| |
− | LoadRGB {mousex}, {mousey}
| |
− | End
| |
− | SetConst ButtonX = {mousex}
| |
− | SetConst ButtonY = {mousey}
| |
− | SetConst Button = 1
| |
− | End
| |
− |
| |
− | Procedure MineSetup
| |
− | Loop 6
| |
− | Loop 3
| |
− | MousePos $WinX, $WinY
| |
− | Delay $MDelay
| |
− | Dragto $DragX, $DragY
| |
− | Compute DragX = $DragX + $AddX
| |
− | Call Checkforlostfocus
| |
− | End
| |
− | SetConst DragX = 3
| |
− | Compute DragY = $DragY + $AddY
| |
− | End
| |
− | SetConst Setup = 1
| |
− | End
| |
− |
| |
− | Procedure Generate
| |
− | Compute Minval = $MouseX - 49
| |
− | Compute Maxval = $MouseX + 50
| |
− | SetConst RanX = $Random
| |
− | Compute Minval = $MouseY - 57
| |
− | Compute Maxval = $MouseY + 83
| |
− | SetConst RanY = $Random
| |
− | End
| |
− |
| |
− | Procedure GuildMine
| |
− | //Compute WinY = $WinY - 16
| |
− | Compute AddY = $AddY + 16
| |
− | Compute YWork = $YWork + 16
| |
− | //Compute DragY = $DragY + 16
| |
− | Set Guild = 1
| |
− | End
| |
− |
| |
− | Procedure ColorTest
| |
− | Bell Asterisk
| |
− | Delay 5000
| |
− | LoadRGB {mousex},{mousey}
| |
− | Timestamp RGB - {rgbred}, {rgbgreen}, {rgbblue}
| |
− | End
| |
− |
| |
− | Procedure CheckforLostFocus
| |
− | if {activewindow} contains eGenesis
| |
− | Exit
| |
− | Else
| |
− | Stop
| |
− | End
| |
− | End
| |
− |
| |
− | Function Random
| |
− | Compute Result = int(($Maxval - $Minval + 1) * rnd(1)) + $Minval
| |
− | End
| |
− | Bell Asterisk
| |
− | //Written with ACTool 5.3.0 by Anka
| |
− | _____________________________________
| |
− | Limestone
| |
− |
| |
− | // This line is necessary to select the proper window
| |
− | SetActiveWindow Asheron's Call
| |
− |
| |
− | delay 10000 // 10 second delay
| |
− | MousePos 116, 103 // Change this to the location of the limestone icon
| |
− |
| |
− | loop 10000 // Run this x times
| |
− |
| |
− | loop 3
| |
− | delay 1000
| |
− | leftclick
| |
− | end
| |
− |
| |
− | delay 42500
| |
− |
| |
− | end
| |