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:Mindl Bastet"
From A Tale in the Desert
Jump to navigationJump to searchMindl Bastet (talk | contribs) |
Mindl Bastet (talk | contribs) |
||
| Line 4: | Line 4: | ||
Macros: | Macros: | ||
| + | |||
| + | <pre> | ||
| + | //Charcoal Hearth - Mindl/Bastet | ||
| + | // Anka's CC macro modified to work at 1680x1050. Need to have game in window | ||
| + | // mode and not maximized....expand the window some but not all the way to the | ||
| + | // edge of the screen or when it click to active the window it will shrink back | ||
| + | // to 800x600 for some reason. Works with 8 hearths confirmed so far. Working | ||
| + | // testing 12. Added vent controls and improved the snuff procedure. Much more | ||
| + | // efficient I believe now. | ||
| + | // | ||
| + | // 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. | ||
| + | // Set Regulators?: Check this box to have the macro set all hearths to 0 | ||
| + | // 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 3500 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. | ||
| + | // | ||
| + | // Still in testing so no promises it will work for you. Also haven't modified | ||
| + | // the Mouse Test yet to check vent and oxygen settings. If all the macro does | ||
| + | // is add wood until full then it is not seeing the colors of the bars either | ||
| + | // A) because the Y screen coordinate for the bars is not correct for you screen | ||
| + | // or B) AC tool can see you screen. This usually only happens when the game is | ||
| + | // fullscreen mode. | ||
| + | |||
| + | Dataset Status | ||
| + | 1 = Integer | ||
| + | 2 = Integer | ||
| + | 3 = Integer | ||
| + | 4 = Integer | ||
| + | 5 = Integer | ||
| + | 6 = Integer | ||
| + | 7 = Integer | ||
| + | 8 = Integer | ||
| + | 9 = Integer | ||
| + | 10 = Integer | ||
| + | 11 = Integer | ||
| + | 12 = Integer | ||
| + | End | ||
| + | |||
| + | Dataset Snuffed | ||
| + | 1 = Integer | ||
| + | 2 = Integer | ||
| + | 3 = Integer | ||
| + | 4 = Integer | ||
| + | 5 = Integer | ||
| + | 6 = Integer | ||
| + | 7 = Integer | ||
| + | 8 = Integer | ||
| + | 9 = Integer | ||
| + | 10 = Integer | ||
| + | 11 = Integer | ||
| + | 12 = Integer | ||
| + | End | ||
| + | |||
| + | Constants | ||
| + | //User Definable variables | ||
| + | Hearths = 4 | ||
| + | HeatX = 170 | ||
| + | OxyMinX = 90 | ||
| + | OxyMaxX = 155 | ||
| + | WoodX = 117 | ||
| + | WaterX = 83 | ||
| + | DangerX = 160 | ||
| + | DangerX1 = 180 | ||
| + | OpenX1 = 138 | ||
| + | OpenX2 = 164 | ||
| + | OpenX3 = 190 | ||
| + | RGBBlue = 220 | ||
| + | RGBGreen = 240 | ||
| + | Guild = 1 | ||
| + | |||
| + | |||
| + | // Y Coordinates - Don't change unless you are having a problem. | ||
| + | RegY = 95 // Y coord for Regulator button | ||
| + | BeginY = 263 // Y coord for Begin Button | ||
| + | HeatY = 177 // Y coord for Heat Bar | ||
| + | OxyY = 187 // Y coord for Oxygen Bar | ||
| + | WoodY = 199 // Y coord for Wood Bar | ||
| + | WaterY = 212 // Y coord for Water Bar | ||
| + | DangerY = 223 // Y coord for Danger Bar | ||
| + | StatusY = 235 // Y coord for Status Bar | ||
| + | WoodBY = 271 // Y coord for Wood and Water buttons | ||
| + | OxyBY = 270 // Y coord for Vent Buttons | ||
| + | //End User variables | ||
| + | |||
| + | Hrow = 0 | ||
| + | Hrow1 = 0 | ||
| + | AddX = 212 | ||
| + | Add2X = 30 | ||
| + | Add1Y = 30 | ||
| + | Add2Y = 0 | ||
| + | Add3Y = 267 | ||
| + | RegX = 47 | ||
| + | BeginX = 111 | ||
| + | NewX = 0 | ||
| + | New2X = 0 | ||
| + | New2Y = 0 | ||
| + | New3X = 0 | ||
| + | New3Y = 0 | ||
| + | NewY = 0 | ||
| + | NewX1 = 0 | ||
| + | NewX2 = 0 | ||
| + | NewX3 = 0 | ||
| + | Heat = 0 | ||
| + | OxyMax = 0 | ||
| + | OxyMin = 0 | ||
| + | Wood = 0 | ||
| + | Water = 0 | ||
| + | Danger = 0 | ||
| + | Status = 0 | ||
| + | StatusX = 167 | ||
| + | WoodBX = 35 | ||
| + | WaterBX = 85 | ||
| + | Num = 0 | ||
| + | Jump = 5 | ||
| + | JumpM = 0 | ||
| + | Jumped = 0 | ||
| + | Used = 0 | ||
| + | MDelay = 200 | ||
| + | SDelay = 100 | ||
| + | S1Delay = 100 | ||
| + | Count = 0 | ||
| + | CountM = 0 | ||
| + | MouseX = 0 | ||
| + | MouseY = 0 | ||
| + | CheckDelay = 0 | ||
| + | Setup = 0 | ||
| + | SetX = 10 | ||
| + | SetY = 40 | ||
| + | SetAddX = 212 | ||
| + | SetAddY = 266 | ||
| + | SetLoop = 0 | ||
| + | Mouse = 1 | ||
| + | OrigX = 0 | ||
| + | OrigY = 0 | ||
| + | Closed = 0 | ||
| + | Open = 0 | ||
| + | FirstFire = 0 | ||
| + | Danger1 = 0 | ||
| + | Finished = 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 | ||
| + | ed17=Checkbox:"Set Regulators?":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):89 | ||
| + | ed5=Editbox:High Oxy (75-188):170 | ||
| + | ed6=Editbox:Wood (75-188):112 | ||
| + | ed7=Editbox:Water (75-188):83 | ||
| + | ed8=Editbox:RGBGreen:240 | ||
| + | ed9=Editbox:RGBBlue:220 | ||
| + | ed12=Editbox:Check Bars Interval (miliseconds):3500 | ||
| + | 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 OxyMinX = ccHearth[ed4] | ||
| + | SetConst OxyMaxX = 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 51, 44 //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 | ||
| + | |||
| + | if ccHearth[ed17] = True | ||
| + | Call SetReg | ||
| + | end | ||
| + | |||
| + | 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 :) | ||
| + | |||
| + | loop $Hearths | ||
| + | dsedit Status | ||
| + | setconst Status[{loopno}] = 0 | ||
| + | dspost status | ||
| + | dsedit Snuffed | ||
| + | setconst Snuffed[{loopno}] = 0 | ||
| + | dspost Snuffed | ||
| + | end | ||
| + | |||
| + | 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 | ||
| + | SetConst FirstFire = 1 | ||
| + | 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 $Finished < $Hearths | ||
| + | |||
| + | Call CheckBars | ||
| + | |||
| + | if Status[1] = 1 or Status[2] = 1 or Status[3] = 1 or Status[4] = 1 or Status[5] = 1 or Status[6] = 1 or Status[7] = 1 or Status[8] = 1 or Status[9] = 1 or Status[10] = 1 or Status[11] = 1 or Status[12] = 1 | ||
| + | |||
| + | Call Snuff | ||
| + | |||
| + | End | ||
| + | |||
| + | if $FirstFire = 1 | ||
| + | Call Wood | ||
| + | End | ||
| + | |||
| + | If $Heat = 0 and $Danger = 0 and $Wood = 0 | ||
| + | |||
| + | Call Wood | ||
| + | |||
| + | Else | ||
| + | |||
| + | If $Heat = 1 or $Danger = 1 | ||
| + | |||
| + | If $Water = 0 or $Danger1 = 1 | ||
| + | |||
| + | Call Water | ||
| + | |||
| + | End | ||
| + | End | ||
| + | End | ||
| + | |||
| + | Call Vent | ||
| + | |||
| + | Delay $CheckDelay | ||
| + | End | ||
| + | Compute CountM = $CountM + 1 | ||
| + | End | ||
| + | End | ||
| + | |||
| + | Procedure CheckBars | ||
| + | |||
| + | SetConst NewX = $StatusX | ||
| + | SetConst NewY = $StatusY | ||
| + | |||
| + | 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 $OxyMinX, $OxyY | ||
| + | Delay $S1Delay | ||
| + | end | ||
| + | LoadRGB $OxyMinX , $OxyY | ||
| + | if {RGBBlue} < $RGBBlue | ||
| + | SetConst OxyMin = 1 | ||
| + | Else | ||
| + | SetConst OxyMin = 0 | ||
| + | End | ||
| + | If $Mouse = 1 | ||
| + | MousePos $OxyMaxX, $OxyY | ||
| + | Delay $S1Delay | ||
| + | end | ||
| + | LoadRGB $OxyMaxX , $OxyY | ||
| + | if {RGBBlue} > $RGBBlue | ||
| + | SetConst OxyMax = 1 | ||
| + | Else | ||
| + | SetConst OxyMax = 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 $DangerX1, $DangerY | ||
| + | Delay $S1Delay | ||
| + | End | ||
| + | LoadRGB $DangerX1, $DangerY | ||
| + | if {RGBBlue} > $RGBBlue | ||
| + | SetConst Danger1 = 1 | ||
| + | Else | ||
| + | SetConst Danger1 = 0 | ||
| + | End | ||
| + | |||
| + | Loop $Hearths | ||
| + | |||
| + | IF {loopno} = $HRow1 //$Jump | ||
| + | SetConst NewX = $StatusX | ||
| + | Compute NewY = $StatusY + $Add3Y | ||
| + | End | ||
| + | |||
| + | If {loopno} > $Used | ||
| + | If $Mouse = 0 | ||
| + | Set OrigX = {mousex} | ||
| + | Set OrigY = {mousey} | ||
| + | End | ||
| + | |||
| + | If $Mouse = 1 | ||
| + | MousePos $NewX, $NewY | ||
| + | End | ||
| + | |||
| + | LoadRGB $NewX, $NewY | ||
| + | if {RGBGreen} > $RGBGreen | ||
| + | DSEdit Status | ||
| + | SetConst Status[{loopno}] = 1 | ||
| + | DSPost Status | ||
| + | End | ||
| + | |||
| + | Compute NewX = $NewX + $AddX | ||
| + | |||
| + | end | ||
| + | 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 | ||
| + | |||
| + | if Snuffed[{loopno}] = 0 | ||
| + | MousePos $NewX, $NewY | ||
| + | Delay $SDelay | ||
| + | Rightclick | ||
| + | Delay $SDelay | ||
| + | end | ||
| + | |||
| + | 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 | ||
| + | Setconst New3X = $OpenX3 | ||
| + | SetConst New3Y = $OxyBY | ||
| + | |||
| + | Compute Num = $Used + 1 | ||
| + | |||
| + | Loop $Hearths | ||
| + | |||
| + | IF {loopno} = $Hrow1 //$Jump | ||
| + | SetConst New2X = $WaterBX | ||
| + | Compute New2Y = $WoodBY + $Add3Y | ||
| + | SetConst New3X = $OpenX3 | ||
| + | Compute New3Y = $OxyBy + $Add3Y | ||
| + | End | ||
| + | |||
| + | if Status[{loopno}] = 1 | ||
| + | if Snuffed[{loopno}] = 0 | ||
| + | If $Mouse = 0 | ||
| + | Set OrigX = {mousex} | ||
| + | Set OrigY = {mousey} | ||
| + | End | ||
| + | MousePos $New2X, $New2Y | ||
| + | Loop 4 | ||
| + | Rightclick | ||
| + | End | ||
| + | MousePos $New3X, $New3Y | ||
| + | Rightclick | ||
| + | If $Mouse = 0 | ||
| + | Mousepos $OrigX, $OrigY | ||
| + | End | ||
| + | DSedit Snuffed | ||
| + | setconst Snuffed[{loopno}] = 1 | ||
| + | DSpost Snuffed | ||
| + | compute Finished = $Finished + 1 | ||
| + | End | ||
| + | End | ||
| + | |||
| + | Compute New2X = $New2X + $AddX | ||
| + | Compute New3X = $New3X + $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 | ||
| + | |||
| + | if Snuffed[{loopno}] = 0 | ||
| + | |||
| + | MousePos $NewX, $NewY | ||
| + | Delay $SDelay | ||
| + | Rightclick | ||
| + | if $FirstFire = 1 | ||
| + | Delay $S1Delay | ||
| + | Rightclick | ||
| + | End | ||
| + | Delay $SDelay | ||
| + | end | ||
| + | If $Mouse = 0 | ||
| + | MousePos $OrigX, $OrigY | ||
| + | End | ||
| + | |||
| + | End | ||
| + | |||
| + | Compute NewX = $NewX + $AddX | ||
| + | |||
| + | End | ||
| + | |||
| + | SetConst NewX = $WoodBX | ||
| + | |||
| + | if $FirstFire = 1 | ||
| + | SetConst FirstFire = 0 | ||
| + | end | ||
| + | |||
| + | End | ||
| + | |||
| + | Procedure Vent | ||
| + | SetConst NewX1 = $OpenX1 | ||
| + | SetConst NewX2 = $OpenX2 | ||
| + | SetConst NewX3 = $OpenX3 | ||
| + | Setconst NewY = $OxyBY | ||
| + | |||
| + | if $Open = 1 | ||
| + | Compute Open = $Open + 1 | ||
| + | end | ||
| + | |||
| + | if $Closed = 1 | ||
| + | Compute Closed = $Closed + 1 | ||
| + | end | ||
| + | |||
| + | if $OxyMin = 1 and $Open = 0 | ||
| + | |||
| + | Loop $Hearths | ||
| + | |||
| + | IF {loopno} = $HRow1 //$Jump | ||
| + | SetConst NewX1 = $OpenX1 | ||
| + | SetConst NewX2 = $OpenX2 | ||
| + | SetConst NewX3 = $OpenX3 | ||
| + | Compute NewY = $OxyBY + $Add3Y | ||
| + | End | ||
| + | |||
| + | If {loopno} > $Used | ||
| + | If $Mouse = 0 | ||
| + | Set OrigX = {mousex} | ||
| + | Set OrigY = {mousey} | ||
| + | End | ||
| + | |||
| + | if Snuffed[{loopno}] = 0 | ||
| + | MousePos $NewX3, $NewY | ||
| + | Delay $SDelay | ||
| + | Rightclick | ||
| + | Delay $SDelay | ||
| + | end | ||
| + | |||
| + | If $Mouse = 0 | ||
| + | MousePos $OrigX, $OrigY | ||
| + | End | ||
| + | |||
| + | SetConst Open = 1 | ||
| + | SetConst Closed = 0 | ||
| + | |||
| + | end | ||
| + | Compute NewX3 = $NewX3 + $AddX | ||
| + | end | ||
| + | end | ||
| + | |||
| + | if $OxyMax = 1 and $Closed = 0 | ||
| + | Loop $Hearths | ||
| + | |||
| + | IF {loopno} = $HRow1 //$Jump | ||
| + | SetConst NewX1 = $OpenX1 | ||
| + | SetConst NewX2 = $OpenX2 | ||
| + | SetConst NewX3 = $OpenX3 | ||
| + | Compute NewY = $OxyBY + $Add3Y | ||
| + | End | ||
| + | |||
| + | If {loopno} > $Used | ||
| + | If $Mouse = 0 | ||
| + | Set OrigX = {mousex} | ||
| + | Set OrigY = {mousey} | ||
| + | End | ||
| + | |||
| + | if Snuffed[{loopno}] = 0 | ||
| + | MousePos $NewX1, $NewY | ||
| + | Delay $SDelay | ||
| + | Rightclick | ||
| + | Delay $SDelay | ||
| + | end | ||
| + | |||
| + | If $Mouse = 0 | ||
| + | MousePos $OrigX, $OrigY | ||
| + | End | ||
| + | |||
| + | SetConst Closed = 1 | ||
| + | SetConst Open = 0 | ||
| + | |||
| + | End | ||
| + | Compute NewX1 = $NewX1 + $AddX | ||
| + | end | ||
| + | end | ||
| + | |||
| + | if $OxyMax = 0 and $Open = 2 | ||
| + | Loop $Hearths | ||
| + | |||
| + | IF {loopno} = $HRow1 //$Jump | ||
| + | SetConst NewX1 = $OpenX1 | ||
| + | SetConst NewX2 = $OpenX2 | ||
| + | SetConst NewX3 = $OpenX3 | ||
| + | Compute NewY = $OxyBY + $Add3Y | ||
| + | End | ||
| + | |||
| + | If {loopno} > $Used | ||
| + | If $Mouse = 0 | ||
| + | Set OrigX = {mousex} | ||
| + | Set OrigY = {mousey} | ||
| + | End | ||
| + | |||
| + | if Snuffed[{loopno}] = 0 | ||
| + | MousePos $NewX2, $NewY | ||
| + | Delay $SDelay | ||
| + | Rightclick | ||
| + | Delay $SDelay | ||
| + | end | ||
| + | |||
| + | If $Mouse = 0 | ||
| + | MousePos $OrigX, $OrigY | ||
| + | End | ||
| + | end | ||
| + | Compute NewX2 = $NewX2 + $AddX | ||
| + | end | ||
| + | |||
| + | SetConst Open = 0 | ||
| + | |||
| + | end | ||
| + | |||
| + | if $OxyMin = 0 and $Closed = 2 | ||
| + | Loop $Hearths | ||
| + | |||
| + | IF {loopno} = $HRow1 //$Jump | ||
| + | SetConst NewX1 = $OpenX1 | ||
| + | SetConst NewX2 = $OpenX2 | ||
| + | SetConst NewX3 = $OpenX3 | ||
| + | Compute NewY = $OxyBY + $Add3Y | ||
| + | End | ||
| + | |||
| + | If {loopno} > $Used | ||
| + | If $Mouse = 0 | ||
| + | Set OrigX = {mousex} | ||
| + | Set OrigY = {mousey} | ||
| + | End | ||
| + | |||
| + | if Snuffed[{loopno}] = 0 | ||
| + | MousePos $NewX2, $NewY | ||
| + | Delay $SDelay | ||
| + | Rightclick | ||
| + | Delay $SDelay | ||
| + | end | ||
| + | |||
| + | If $Mouse = 0 | ||
| + | MousePos $OrigX, $OrigY | ||
| + | End | ||
| + | |||
| + | end | ||
| + | Compute NewX2 = $NewX2 + $AddX | ||
| + | End | ||
| + | |||
| + | SetConst Closed = 0 | ||
| + | |||
| + | end | ||
| + | |||
| + | SetConst NewX1 = $OpenX1 | ||
| + | SetConst NewX2 = $OpenX2 | ||
| + | SetConst NewX3 = $OpenX3 | ||
| + | |||
| + | 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 | ||
| + | |||
| + | Bell Asterisk | ||
| + | |||
| + | |||
| + | </pre> | ||
Latest revision as of 01:19, 12 March 2010
Kinsman Life of Bastet
Student of Architecture
Macros:
//Charcoal Hearth - Mindl/Bastet
// Anka's CC macro modified to work at 1680x1050. Need to have game in window
// mode and not maximized....expand the window some but not all the way to the
// edge of the screen or when it click to active the window it will shrink back
// to 800x600 for some reason. Works with 8 hearths confirmed so far. Working
// testing 12. Added vent controls and improved the snuff procedure. Much more
// efficient I believe now.
//
// 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.
// Set Regulators?: Check this box to have the macro set all hearths to 0
// 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 3500 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.
//
// Still in testing so no promises it will work for you. Also haven't modified
// the Mouse Test yet to check vent and oxygen settings. If all the macro does
// is add wood until full then it is not seeing the colors of the bars either
// A) because the Y screen coordinate for the bars is not correct for you screen
// or B) AC tool can see you screen. This usually only happens when the game is
// fullscreen mode.
Dataset Status
1 = Integer
2 = Integer
3 = Integer
4 = Integer
5 = Integer
6 = Integer
7 = Integer
8 = Integer
9 = Integer
10 = Integer
11 = Integer
12 = Integer
End
Dataset Snuffed
1 = Integer
2 = Integer
3 = Integer
4 = Integer
5 = Integer
6 = Integer
7 = Integer
8 = Integer
9 = Integer
10 = Integer
11 = Integer
12 = Integer
End
Constants
//User Definable variables
Hearths = 4
HeatX = 170
OxyMinX = 90
OxyMaxX = 155
WoodX = 117
WaterX = 83
DangerX = 160
DangerX1 = 180
OpenX1 = 138
OpenX2 = 164
OpenX3 = 190
RGBBlue = 220
RGBGreen = 240
Guild = 1
// Y Coordinates - Don't change unless you are having a problem.
RegY = 95 // Y coord for Regulator button
BeginY = 263 // Y coord for Begin Button
HeatY = 177 // Y coord for Heat Bar
OxyY = 187 // Y coord for Oxygen Bar
WoodY = 199 // Y coord for Wood Bar
WaterY = 212 // Y coord for Water Bar
DangerY = 223 // Y coord for Danger Bar
StatusY = 235 // Y coord for Status Bar
WoodBY = 271 // Y coord for Wood and Water buttons
OxyBY = 270 // Y coord for Vent Buttons
//End User variables
Hrow = 0
Hrow1 = 0
AddX = 212
Add2X = 30
Add1Y = 30
Add2Y = 0
Add3Y = 267
RegX = 47
BeginX = 111
NewX = 0
New2X = 0
New2Y = 0
New3X = 0
New3Y = 0
NewY = 0
NewX1 = 0
NewX2 = 0
NewX3 = 0
Heat = 0
OxyMax = 0
OxyMin = 0
Wood = 0
Water = 0
Danger = 0
Status = 0
StatusX = 167
WoodBX = 35
WaterBX = 85
Num = 0
Jump = 5
JumpM = 0
Jumped = 0
Used = 0
MDelay = 200
SDelay = 100
S1Delay = 100
Count = 0
CountM = 0
MouseX = 0
MouseY = 0
CheckDelay = 0
Setup = 0
SetX = 10
SetY = 40
SetAddX = 212
SetAddY = 266
SetLoop = 0
Mouse = 1
OrigX = 0
OrigY = 0
Closed = 0
Open = 0
FirstFire = 0
Danger1 = 0
Finished = 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
ed17=Checkbox:"Set Regulators?":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):89
ed5=Editbox:High Oxy (75-188):170
ed6=Editbox:Wood (75-188):112
ed7=Editbox:Water (75-188):83
ed8=Editbox:RGBGreen:240
ed9=Editbox:RGBBlue:220
ed12=Editbox:Check Bars Interval (miliseconds):3500
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 OxyMinX = ccHearth[ed4]
SetConst OxyMaxX = 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 51, 44 //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
if ccHearth[ed17] = True
Call SetReg
end
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 :)
loop $Hearths
dsedit Status
setconst Status[{loopno}] = 0
dspost status
dsedit Snuffed
setconst Snuffed[{loopno}] = 0
dspost Snuffed
end
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
SetConst FirstFire = 1
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 $Finished < $Hearths
Call CheckBars
if Status[1] = 1 or Status[2] = 1 or Status[3] = 1 or Status[4] = 1 or Status[5] = 1 or Status[6] = 1 or Status[7] = 1 or Status[8] = 1 or Status[9] = 1 or Status[10] = 1 or Status[11] = 1 or Status[12] = 1
Call Snuff
End
if $FirstFire = 1
Call Wood
End
If $Heat = 0 and $Danger = 0 and $Wood = 0
Call Wood
Else
If $Heat = 1 or $Danger = 1
If $Water = 0 or $Danger1 = 1
Call Water
End
End
End
Call Vent
Delay $CheckDelay
End
Compute CountM = $CountM + 1
End
End
Procedure CheckBars
SetConst NewX = $StatusX
SetConst NewY = $StatusY
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 $OxyMinX, $OxyY
Delay $S1Delay
end
LoadRGB $OxyMinX , $OxyY
if {RGBBlue} < $RGBBlue
SetConst OxyMin = 1
Else
SetConst OxyMin = 0
End
If $Mouse = 1
MousePos $OxyMaxX, $OxyY
Delay $S1Delay
end
LoadRGB $OxyMaxX , $OxyY
if {RGBBlue} > $RGBBlue
SetConst OxyMax = 1
Else
SetConst OxyMax = 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 $DangerX1, $DangerY
Delay $S1Delay
End
LoadRGB $DangerX1, $DangerY
if {RGBBlue} > $RGBBlue
SetConst Danger1 = 1
Else
SetConst Danger1 = 0
End
Loop $Hearths
IF {loopno} = $HRow1 //$Jump
SetConst NewX = $StatusX
Compute NewY = $StatusY + $Add3Y
End
If {loopno} > $Used
If $Mouse = 0
Set OrigX = {mousex}
Set OrigY = {mousey}
End
If $Mouse = 1
MousePos $NewX, $NewY
End
LoadRGB $NewX, $NewY
if {RGBGreen} > $RGBGreen
DSEdit Status
SetConst Status[{loopno}] = 1
DSPost Status
End
Compute NewX = $NewX + $AddX
end
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
if Snuffed[{loopno}] = 0
MousePos $NewX, $NewY
Delay $SDelay
Rightclick
Delay $SDelay
end
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
Setconst New3X = $OpenX3
SetConst New3Y = $OxyBY
Compute Num = $Used + 1
Loop $Hearths
IF {loopno} = $Hrow1 //$Jump
SetConst New2X = $WaterBX
Compute New2Y = $WoodBY + $Add3Y
SetConst New3X = $OpenX3
Compute New3Y = $OxyBy + $Add3Y
End
if Status[{loopno}] = 1
if Snuffed[{loopno}] = 0
If $Mouse = 0
Set OrigX = {mousex}
Set OrigY = {mousey}
End
MousePos $New2X, $New2Y
Loop 4
Rightclick
End
MousePos $New3X, $New3Y
Rightclick
If $Mouse = 0
Mousepos $OrigX, $OrigY
End
DSedit Snuffed
setconst Snuffed[{loopno}] = 1
DSpost Snuffed
compute Finished = $Finished + 1
End
End
Compute New2X = $New2X + $AddX
Compute New3X = $New3X + $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
if Snuffed[{loopno}] = 0
MousePos $NewX, $NewY
Delay $SDelay
Rightclick
if $FirstFire = 1
Delay $S1Delay
Rightclick
End
Delay $SDelay
end
If $Mouse = 0
MousePos $OrigX, $OrigY
End
End
Compute NewX = $NewX + $AddX
End
SetConst NewX = $WoodBX
if $FirstFire = 1
SetConst FirstFire = 0
end
End
Procedure Vent
SetConst NewX1 = $OpenX1
SetConst NewX2 = $OpenX2
SetConst NewX3 = $OpenX3
Setconst NewY = $OxyBY
if $Open = 1
Compute Open = $Open + 1
end
if $Closed = 1
Compute Closed = $Closed + 1
end
if $OxyMin = 1 and $Open = 0
Loop $Hearths
IF {loopno} = $HRow1 //$Jump
SetConst NewX1 = $OpenX1
SetConst NewX2 = $OpenX2
SetConst NewX3 = $OpenX3
Compute NewY = $OxyBY + $Add3Y
End
If {loopno} > $Used
If $Mouse = 0
Set OrigX = {mousex}
Set OrigY = {mousey}
End
if Snuffed[{loopno}] = 0
MousePos $NewX3, $NewY
Delay $SDelay
Rightclick
Delay $SDelay
end
If $Mouse = 0
MousePos $OrigX, $OrigY
End
SetConst Open = 1
SetConst Closed = 0
end
Compute NewX3 = $NewX3 + $AddX
end
end
if $OxyMax = 1 and $Closed = 0
Loop $Hearths
IF {loopno} = $HRow1 //$Jump
SetConst NewX1 = $OpenX1
SetConst NewX2 = $OpenX2
SetConst NewX3 = $OpenX3
Compute NewY = $OxyBY + $Add3Y
End
If {loopno} > $Used
If $Mouse = 0
Set OrigX = {mousex}
Set OrigY = {mousey}
End
if Snuffed[{loopno}] = 0
MousePos $NewX1, $NewY
Delay $SDelay
Rightclick
Delay $SDelay
end
If $Mouse = 0
MousePos $OrigX, $OrigY
End
SetConst Closed = 1
SetConst Open = 0
End
Compute NewX1 = $NewX1 + $AddX
end
end
if $OxyMax = 0 and $Open = 2
Loop $Hearths
IF {loopno} = $HRow1 //$Jump
SetConst NewX1 = $OpenX1
SetConst NewX2 = $OpenX2
SetConst NewX3 = $OpenX3
Compute NewY = $OxyBY + $Add3Y
End
If {loopno} > $Used
If $Mouse = 0
Set OrigX = {mousex}
Set OrigY = {mousey}
End
if Snuffed[{loopno}] = 0
MousePos $NewX2, $NewY
Delay $SDelay
Rightclick
Delay $SDelay
end
If $Mouse = 0
MousePos $OrigX, $OrigY
End
end
Compute NewX2 = $NewX2 + $AddX
end
SetConst Open = 0
end
if $OxyMin = 0 and $Closed = 2
Loop $Hearths
IF {loopno} = $HRow1 //$Jump
SetConst NewX1 = $OpenX1
SetConst NewX2 = $OpenX2
SetConst NewX3 = $OpenX3
Compute NewY = $OxyBY + $Add3Y
End
If {loopno} > $Used
If $Mouse = 0
Set OrigX = {mousex}
Set OrigY = {mousey}
End
if Snuffed[{loopno}] = 0
MousePos $NewX2, $NewY
Delay $SDelay
Rightclick
Delay $SDelay
end
If $Mouse = 0
MousePos $OrigX, $OrigY
End
end
Compute NewX2 = $NewX2 + $AddX
End
SetConst Closed = 0
end
SetConst NewX1 = $OpenX1
SetConst NewX2 = $OpenX2
SetConst NewX3 = $OpenX3
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
Bell Asterisk