|
|
(3 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | <pre>
| |
− | // This currently works for my screen resolution 1024:768 with ATITD in full screen
| |
− | // Pin the crematory window in the upper left of the screen as far into the corner as possible
| |
− | // Load with stuff manually and make sure the window is fully refreshed so that the
| |
− | // "fire crematory" button appears and there is no slider bar!
| |
| | | |
− | // Start the macro - it will click the fire button which will also bring ATITD to the top
| |
− | // Once the crematory has finished go back to ACTOOL and stop the macro - it currently just
| |
− | // has a huge crude loop - it would be relatively easy to monitor the progress bar but I
| |
− | // haven't done that yet
| |
− |
| |
− | // For different screen resolutions I guess use "pixie" or something similar to get coords
| |
− | // Need to change slider and button numbers under slider control for your particular crematory
| |
− | // (The wiki explains how to analyse your crematory)
| |
− |
| |
− | //AMIGOS:
| |
− | //Sliders numbered left-to-right 1-7.
| |
− | //Buttons labeled left-to-right 1-5.
| |
− |
| |
− | //Button 1 -> 1, 7
| |
− | //Button 2 -> 5
| |
− | //Button 3 -> 2
| |
− | //Button 4 -> 4, 6
| |
− | //Button 5 -> 3
| |
− |
| |
− |
| |
− |
| |
− | Constants
| |
− |
| |
− |
| |
− |
| |
− | //Make sure the "Take..." option is NOT in the pinup menu or else this script will fail (burn your loaded resources).
| |
− | //Make sure the crematory is completely empty before pinning up the menu, in the upper left corner.
| |
− | //More instructions/screenshots at http://www.atitd.org/wiki/tale4/User:Cegaiel/Macros/Crematory
| |
− |
| |
− | //These settings will work on 1024x768. Only change these it you want it work at a different resolution.
| |
− |
| |
− | // Vertical position of middle of slider bar
| |
− | midSlider = 278
| |
− |
| |
− | // Vertical position of button centres
| |
− | vrtButton = 358
| |
− |
| |
− | // Horizontal positions of seven slider bars
| |
− | hrzSlider1 = 30
| |
− | hrzSlider2 = 66
| |
− | hrzSlider3 = 102
| |
− | hrzSlider4 = 138
| |
− | hrzSlider5 = 174
| |
− | hrzSlider6 = 210
| |
− | hrzSlider7 = 246
| |
− |
| |
− |
| |
− | // Horizontal positions of five button centres
| |
− | hrzButton1 = 57
| |
− | hrzButton2 = 97
| |
− | hrzButton3 = 137
| |
− | hrzButton4 = 177
| |
− | hrzButton5 = 217
| |
− |
| |
− |
| |
− | // Position of left most point of red line
| |
− | hrzRed = 35
| |
− | verRed = 187
| |
− |
| |
− |
| |
− |
| |
− | //Leave these alone
| |
− | count = 0
| |
− | counthi = 0
| |
− | countlo = 0
| |
− | clickflag = 0
| |
− | flag = 1
| |
− | posSlider1 = 0
| |
− | posSlider2 = 0
| |
− | posSlider3 = 0
| |
− | posSlider4 = 0
| |
− | posSlider5 = 0
| |
− | posSlider6 = 0
| |
− | posSlider7 = 0
| |
− | comSlider1 = 0
| |
− | comSlider2 = 0
| |
− | posSlider1old = 0
| |
− | posSlider2old = 0
| |
− | posSlider3old = 0
| |
− | posSlider4old = 0
| |
− | posSlider5old = 0
| |
− | posSlider6old = 0
| |
− | posSlider7old = 0
| |
− |
| |
− | // finndibaenn addition : avoid getting half yield, use single controlled sliders to compensate dual ones
| |
− | aboveCount = 0
| |
− | belowCount = 0
| |
− | // move the last single 5 pix away from bar to get
| |
− | offset = 0
| |
− | END
| |
− |
| |
− |
| |
− |
| |
− | //Click the top of menu to refresh the menu
| |
− | mousepos 104, 44
| |
− | delay 200
| |
− | LeftClick
| |
− |
| |
− |
| |
− | // Clicks to fire the crematory (need to specify centre of fire button)
| |
− | mousepos 62, 86
| |
− | delay 200
| |
− | LeftClick
| |
− |
| |
− | // First call to obtain initial positions of sliders
| |
− | call GETSLIDERPOS
| |
− | Compute posSlider1old = $posSlider1
| |
− | Compute posSlider2old = $posSlider2
| |
− | Compute posSlider3old = $posSlider3
| |
− | Compute posSlider4old = $posSlider4
| |
− | Compute posSlider5old = $posSlider5
| |
− | Compute posSlider6old = $posSlider6
| |
− | Compute posSlider7old = $posSlider7
| |
− |
| |
− | // Crude loop at the moment. Should really monitor the progress bar.
| |
− | LoadRGB $hrzRed,$verRed
| |
− | delay 100
| |
− |
| |
− | while {RGBRed} > 250
| |
− | Compute aboveCount = 0
| |
− | Compute belowCount = 0
| |
− |
| |
− |
| |
− |
| |
− | //Credit to Daniels for this sniplet of code to watch the red progress bar
| |
− | //and exit script when the bar disappears (when done).
| |
− |
| |
− | // Checks whether the batch is done, breaks loop if so
| |
− | // LoadRGB $hrzRed,$verRed
| |
− | // delay 100
| |
− | // if {RGBRed} < 250
| |
− | // break
| |
− | // END
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | call GETSLIDERPOS
| |
− |
| |
− | // One slider per button control
| |
− | // Need to alter slider and button numbers for particular crematory
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | // Two sliders per button control (use centre of mass, i.e. average)
| |
− | // Need to alter slider and button numbers for particular crematory
| |
− | //Note Editing a slider number is $posSlider#, not comSlider#. Do not change the 1 or 2 on $comSlider1 and $comSlider2
| |
− |
| |
− | //1st two slider/one button combo:
| |
− | //
| |
− | // Compute comSlider1 = ($posSlider1 + $posSlider7)/2
| |
− | // if $comSlider1 > 0
| |
− | // Compute clickflag = 0
| |
− | // if $posSlider1 > $posSlider1old
| |
− | // Compute clickflag = 1
| |
− | // END
| |
− | // if $posSlider7 > $posSlider7old
| |
− | // Compute clickflag = 1
| |
− | // END
| |
− | // if $clickflag = 1
| |
− | // mousepos $hrzButton1,$vrtButton
| |
− | // delay 200
| |
− | // LeftClick
| |
− | // END
| |
− | // END
| |
− | // if $comSlider1 < 0
| |
− | // Compute clickflag = 0
| |
− | // if $posSlider1 < $posSlider1old
| |
− | // Compute clickflag = 1
| |
− | // END
| |
− | // if $posSlider7 < $posSlider7old
| |
− | // Compute clickflag = 1
| |
− | // END
| |
− | // if $clickflag = 1
| |
− | // mousepos $hrzButton1,$vrtButton
| |
− | // delay 200
| |
− | // LeftClick
| |
− | // END
| |
− | // END
| |
− |
| |
− | if $posSlider1 > $posSlider1old
| |
− | if $posSlider1 > $posSlider7
| |
− | mousepos $hrzButton1,$vrtButton
| |
− | delay 200
| |
− | LeftClick
| |
− | END
| |
− | END
| |
− | if $posSlider1 < $posSlider1old
| |
− | if $posSlider1 < $posSlider7
| |
− | mousepos $hrzButton1,$vrtButton
| |
− | delay 200
| |
− | LeftClick
| |
− | END
| |
− | END
| |
− |
| |
− | if $posSlider1 > 0
| |
− | Compute aboveCount = 1
| |
− | END
| |
− | if $posSlider1 < 0
| |
− | Compute belowCount = 1
| |
− | END
| |
− |
| |
− | if $posSlider7 > 0
| |
− | Compute aboveCount = $aboveCount + 1
| |
− | END
| |
− | if $posSlider7 < 0
| |
− | Compute belowCount = $belowCount + 1
| |
− | END
| |
− |
| |
− |
| |
− | //2nd two slider/one button combo:
| |
− |
| |
− | Compute comSlider2 = ($posSlider4 + $posSlider6)/2
| |
− | if $comSlider2 > 0
| |
− | Compute clickflag = 0
| |
− | if $posSlider4 > $posSlider4old
| |
− | Compute clickflag = 1
| |
− | END
| |
− | if $posSlider6 > $posSlider6old
| |
− | Compute clickflag = 1
| |
− | END
| |
− | if $clickflag = 1
| |
− | mousepos $hrzButton4,$vrtButton
| |
− | delay 200
| |
− | LeftClick
| |
− | END
| |
− | END
| |
− | if $comSlider2 < 0
| |
− | Compute clickflag = 0
| |
− | if $posSlider4 < $posSlider4old
| |
− | Compute clickflag = 1
| |
− | END
| |
− | if $posSlider6 < $posSlider6old
| |
− | Compute clickflag = 1
| |
− | END
| |
− | if $clickflag = 1
| |
− | mousepos $hrzButton4,$vrtButton
| |
− | delay 200
| |
− | LeftClick
| |
− | END
| |
− | END
| |
− |
| |
− | if $posSlider4 > 0
| |
− | Compute aboveCount = $aboveCount + 1
| |
− | END
| |
− | if $posSlider4 < 0
| |
− | Compute belowCount = $belowCount + 1
| |
− | END
| |
− |
| |
− |
| |
− | if $posSlider6 > 0
| |
− | Compute aboveCount = $aboveCount + 1
| |
− | END
| |
− | if $posSlider6 < 0
| |
− | Compute belowCount = $belowCount + 1
| |
− | END
| |
− |
| |
− |
| |
− | //1st single slider/button combo:
| |
− |
| |
− | if $posSlider2 > 0
| |
− | if $posSlider2 > $posSlider2old
| |
− | mousepos $hrzButton3,$vrtButton
| |
− | delay 200
| |
− | LeftClick
| |
− | END
| |
− | END
| |
− | if $posSlider2 < 0
| |
− | if $posSlider2 < $posSlider2old
| |
− | mousepos $hrzButton3,$vrtButton
| |
− | delay 200
| |
− | LeftClick
| |
− | END
| |
− | END
| |
− | if $posSlider2 > 0
| |
− | Compute aboveCount = $aboveCount + 1
| |
− | END
| |
− | if $posSlider2 < 0
| |
− | Compute belowCount = $belowCount + 1
| |
− | END
| |
− |
| |
− |
| |
− | //2nd single slider/button combo:
| |
− | if $aboveCount < 1
| |
− | Compute offset = 3
| |
− | END
| |
− |
| |
− | if $belowCount < 1
| |
− | Compute offset = -3
| |
− | END
| |
− | if $posSlider3 > 0
| |
− | if $posSlider3 > $posSlider3old
| |
− | mousepos $hrzButton5,$vrtButton
| |
− | delay 200
| |
− | LeftClick
| |
− | END
| |
− | END
| |
− | if $posSlider3 < 0
| |
− | if $posSlider3 < $posSlider3old
| |
− | mousepos $hrzButton5,$vrtButton
| |
− | delay 200
| |
− | LeftClick
| |
− | END
| |
− | END
| |
− | if $posSlider3 > 0
| |
− | Compute aboveCount = $aboveCount + 1
| |
− | END
| |
− | if $posSlider3 < 0
| |
− | Compute belowCount = $belowCount + 1
| |
− | END
| |
− |
| |
− | if $aboveCount < 2
| |
− | Compute offset = 3
| |
− | END
| |
− |
| |
− | if $belowCount < 2
| |
− | Compute offset = -3
| |
− | END
| |
− |
| |
− | //3rd single slider/button combo:
| |
− |
| |
− | if $posSlider5 > $offset
| |
− | if $posSlider5 > $posSlider5old
| |
− | mousepos $hrzButton2,$vrtButton
| |
− | delay 200
| |
− | LeftClick
| |
− | END
| |
− | END
| |
− | if $posSlider5 < $offset
| |
− | if $posSlider5 < $posSlider5old
| |
− | mousepos $hrzButton2,$vrtButton
| |
− | delay 200
| |
− | LeftClick
| |
− | END
| |
− | END
| |
− | Compute posSlider1old = $posSlider1
| |
− | Compute posSlider2old = $posSlider2
| |
− | Compute posSlider3old = $posSlider3
| |
− | Compute posSlider4old = $posSlider4
| |
− | Compute posSlider5old = $posSlider5
| |
− | Compute posSlider6old = $posSlider6
| |
− | Compute posSlider7old = $posSlider7
| |
− |
| |
− | END
| |
− |
| |
− | // Procedure to find slider positions
| |
− |
| |
− | Procedure GETSLIDERPOS
| |
− |
| |
− | Compute counthi = $midSlider
| |
− | Compute countlo = $midSlider
| |
− | Compute flag = 1
| |
− | IsBlack $hrzSlider1, $midSlider
| |
− | Compute posSlider1 = 0
| |
− | Compute flag = 0
| |
− | END
| |
− | while $flag > 0
| |
− | Compute counthi = $counthi + 6
| |
− | IsBlack $hrzSlider1, $counthi
| |
− | Compute posSlider1 = $midSlider - $counthi
| |
− | Compute flag = 0
| |
− | END
| |
− | Compute countlo = $countlo - 6
| |
− | IsBlack $hrzSlider1, $countlo
| |
− | Compute posSlider1 = $midSlider - $countlo
| |
− | Compute flag = 0
| |
− | END
| |
− | END
| |
− |
| |
− | Compute counthi = $midSlider
| |
− | Compute countlo = $midSlider
| |
− | Compute flag = 1
| |
− | IsBlack $hrzSlider2, $midSlider
| |
− | Compute posSlider2 = 0
| |
− | Compute flag = 0
| |
− | END
| |
− | while $flag > 0
| |
− | Compute counthi = $counthi + 6
| |
− | IsBlack $hrzSlider2, $counthi
| |
− | Compute posSlider2 = $midSlider - $counthi
| |
− | Compute flag = 0
| |
− | END
| |
− | Compute countlo = $countlo - 6
| |
− | IsBlack $hrzSlider2, $countlo
| |
− | Compute posSlider2 = $midSlider - $countlo
| |
− | Compute flag = 0
| |
− | END
| |
− | END
| |
− |
| |
− | Compute counthi = $midSlider
| |
− | Compute countlo = $midSlider
| |
− | Compute flag = 1
| |
− | IsBlack $hrzSlider3, $midSlider
| |
− | Compute posSlider3 = 0
| |
− | Compute flag = 0
| |
− | END
| |
− | while $flag > 0
| |
− | Compute counthi = $counthi + 6
| |
− | IsBlack $hrzSlider3, $counthi
| |
− | Compute posSlider3 = $midSlider - $counthi
| |
− | Compute flag = 0
| |
− | END
| |
− | Compute countlo = $countlo - 6
| |
− | IsBlack $hrzSlider3, $countlo
| |
− | Compute posSlider3 = $midSlider - $countlo
| |
− | Compute flag = 0
| |
− | END
| |
− | END
| |
− |
| |
− | Compute counthi = $midSlider
| |
− | Compute countlo = $midSlider
| |
− | Compute flag = 1
| |
− | IsBlack $hrzSlider4, $midSlider
| |
− | Compute posSlider4 = 0
| |
− | Compute flag = 0
| |
− | END
| |
− | while $flag > 0
| |
− | Compute counthi = $counthi + 6
| |
− | IsBlack $hrzSlider4, $counthi
| |
− | Compute posSlider4 = $midSlider - $counthi
| |
− | Compute flag = 0
| |
− | END
| |
− | Compute countlo = $countlo - 6
| |
− | IsBlack $hrzSlider4, $countlo
| |
− | Compute posSlider4 = $midSlider - $countlo
| |
− | Compute flag = 0
| |
− | END
| |
− | END
| |
− |
| |
− | Compute counthi = $midSlider
| |
− | Compute countlo = $midSlider
| |
− | Compute flag = 1
| |
− | IsBlack $hrzSlider5, $midSlider
| |
− | Compute posSlider5 = 0
| |
− | Compute flag = 0
| |
− | END
| |
− | while $flag > 0
| |
− | Compute counthi = $counthi + 6
| |
− | IsBlack $hrzSlider5, $counthi
| |
− | Compute posSlider5 = $midSlider - $counthi
| |
− | Compute flag = 0
| |
− | END
| |
− | Compute countlo = $countlo - 6
| |
− | IsBlack $hrzSlider5, $countlo
| |
− | Compute posSlider5 = $midSlider - $countlo
| |
− | Compute flag = 0
| |
− | END
| |
− | END
| |
− |
| |
− | Compute counthi = $midSlider
| |
− | Compute countlo = $midSlider
| |
− | Compute flag = 1
| |
− | IsBlack $hrzSlider6, $midSlider
| |
− | Compute posSlider6 = 0
| |
− | Compute flag = 0
| |
− | END
| |
− | while $flag > 0
| |
− | Compute counthi = $counthi + 6
| |
− | IsBlack $hrzSlider6, $counthi
| |
− | Compute posSlider6 = $midSlider - $counthi
| |
− | Compute flag = 0
| |
− | END
| |
− | Compute countlo = $countlo - 6
| |
− | IsBlack $hrzSlider6, $countlo
| |
− | Compute posSlider6 = $midSlider - $countlo
| |
− | Compute flag = 0
| |
− | END
| |
− | END
| |
− |
| |
− | Compute counthi = $midSlider
| |
− | Compute countlo = $midSlider
| |
− | Compute flag = 1
| |
− | IsBlack $hrzSlider7, $midSlider
| |
− | Compute posSlider7 = 0
| |
− | Compute flag = 0
| |
− | END
| |
− | while $flag > 0
| |
− | Compute counthi = $counthi + 6
| |
− | IsBlack $hrzSlider7, $counthi
| |
− | Compute posSlider7 = $midSlider - $counthi
| |
− | Compute flag = 0
| |
− | END
| |
− | Compute countlo = $countlo - 6
| |
− | IsBlack $hrzSlider7, $countlo
| |
− | Compute posSlider7 = $midSlider - $countlo
| |
− | Compute flag = 0
| |
− | END
| |
− | END
| |
− | LoadRGB $hrzRed,$verRed
| |
− | delay 100
| |
− |
| |
− | END
| |
− | </pre>
| |