The Wiki for Tale 5 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:Anka/Macros/Kettles
From ATITD5
Jump to navigationJump to search// Kettles by Anka - Created with AC Tool 5.3.2 in Tale 2 // Updated for Tale 5 // // This macro runs several kettles as long as you can fit them all on screen. // Be should the top and bottom row has enough screen space so the window can // open without hitting the edges of the screen. This would throw the positions // off and crash the macro. // // The macro has a menu with some options.. // Task - Stoke or Fertilizer // Kettles across and Down is simply your grid. It has to be complete rows and columns. // You can't have 3 kettles on first row and 4 on next. // Guilded Kettles - This is for spacing, check if guilded. // Venery - For spacing again for those on Venery test. // Need Setup - This macro sets up all of your windows for you. If you already made a // a batch and just need to reload, this option will bypass setup if unchecked. // Kettles Full? - This is for if you want to fill the kettles before starting. I do this // since I normally run 20 to 25 kettles at once and don't want to carry // that much water. Check if you have prefilled the kettles. // Resolution - Currently just 1920x1080 and 1024x768 my original resolution in Tale 2. // Chat me if you want a certain resolution and I can add it. // // Chat me if something is not working, I may have missed something during the rewrite. // // Fill kettles if needed. // Cartographer view // Put your mouse pointer over the top left kettle (Then dont touch the mouse) // Alt tab to ACTool and press F2 to start the macro. // Make sure your chat and inventory windows are not // in front of any kettles. A Settings box will appear. Set it to what // you need and click ok. // // Wood required is 522 for 18 kettles. 29 per Kettle. Constants Col = 6 Row = 2 StartX = 0 StartY = 0 varY = 0 R1X = 1 RY = 27 SetX = 0 SetY = 0 X1 = 70 Y1 = 242 Y2 = 60 Y3 = 74 AddX = 106 AddY = 260 AddDY = 260 Step = 105 PinX = 151 PinY = 110 CornerY = 20 NewX = 45 NewY = 0 MX = 510 MY = 440 MDelay = 200 Num = 1 Done = 0 Max = 512, 423 OK = 580, 410 Button = 0 Guild = 0 Temp = 0 Setup = 0 Wood = 0 TextX = 102 TextY = 172 Pass = 0 LoopCount = 0 Jump = 10 Jump1 = 0 JTrack = 1 Kettles = 0 End //Guild with Venery 102,200 Object Wood0 // Test at coords 102,188 0=0,0|0=2,2|0=2,3|0=2,4| 0=2,5| End Object Object Wood1 // Test at coords 102, 188 0=1,0|0=0,1|0=1,1|0=1,2|0=1,3| 0=1,4|0=1,5|0=1,6|0=0,7|0=1,7|0=2,7| End Object Object Done //4x8 92, 151 234=0,0|231=0,2|58=0,4|176=0,8 234=2,0|230=2,2|236=2,4|231=2,6 End SetConst StartX = {mousex} SetConst StartY = {mousey} Compute NewX = $StartX Compute NewY = $StartY Form Potash, Settings ed1=Combobox:Task:Grain Fertilizer, Stoke ed2=Editbox:Kettles Across:6 ed3=Editbox:Kettles Down:2 ed4=Checkbox:Guilded Kettles?:True ed8=Checkbox:Venery?:False ed5=Checkbox:Need Setup?:True ed7=Checkbox:Kettles Full?:False ed6=Combobox:Resolution:1024x768, 1920x1080 end FormLoad Potash, Potash.frm if ShowForm Potash If Potash[ed4] = True Call Guild End if Potash[ed8] = True Call Venery End If Potash[ed5] = True Set Setup = 1 Else Set Setup = 0 End Set Col = Potash[ed2] Set Row = Potash[ed3] Compute Jump1 = $Jump + 1 else Stop end FormSave Potash, Potash.frm KeyDown @{Tab} 200 Delay 2000 Call Resolution If $Setup = 1 Call Setup End If Potash[ed1] = Grain Fertilizer Call Grain else Call Run End Procedure Setup Loop $Row Loop $Col MousePos $NewX, $NewY Compute varY = $NewY Delay $MDelay Rightclick //Clicks on Kettle Compute NewY = {mousey} - $PinY Compute NewX = {mousex} + $PinX MousePos $NewX, $NewY Delay $MDelay Rightclick //Pins Compute NewX = $NewX - $PinX + 1 Compute NewY = $NewY - $CornerY + 1 MousePos $NewX, $NewY //Move to corner of window Delay $MDelay if $Kettles = $Jump Set R1X = 1 Compute RY = $RY + $AddDY Set Kettles = 0 Else If $Kettles <> 0 Compute R1X = $R1X + $AddX End End Dragto $R1X, $RY Compute NewX = $StartX + $Num * $Step Compute Num = $Num + 1 Compute NewY = $varY Compute Kettles = $Kettles + 1 //Compute R1X = $R1X + $AddX end Compute Num = 1 //Compute R1X = 1 Compute NewX = $StartX //Compute RY = $RY + $AddDY Compute NewY = $NewY + $Step End SetConst NewX = 45 End Procedure Run Set NewX = $X1 Set NewY = $Y1 Compute Kettles = $Row * $Col Loop $Kettles if {loopno} = $Jump1 SetConst NewX = $X1 Compute NewY = $NewY + $AddY inc JTrack Compute Jump1 = ($Jump + 1) * $JTrack End MousePos $NewX, $NewY Delay $MDelay Rightclick if Potash[ed7] = False Delay $MDelay Rightclick End Delay $MDelay MousePos $Max Delay $MDelay Rightclick Compute NewX = $NewX + $AddX End Compute Jump1 = $Jump + 1 SetConst JTrack = 1 Set NewX = $X1 Set NewY = $Y2 Loop $Kettles If {loopno} = $Jump1 SetConst NewX = $X1 Compute NewY = $NewY + $AddY inc JTrack Compute Jump1 = ($Jump + 1) * $JTrack End MousePos $NewX, $NewY Delay $MDelay Rightclick Compute NewX = $NewX + $AddX End Compute Jump1 = $Jump + 1 SetConst JTrack = 1 SetConst NewX = $X1 Delay 2000 //Add Wood Loop 5 SetConst Done = 0 SetConst NewX = $X1 SetConst NewY = $Y3 If {loopno} = 1 SetConst Wood = Wood1 Else SetConst Wood = Wood0 End While $Done = 0 IsObject $Wood at $TextX, $TextY Delay 7000 Loop $Kettles If {loopno} = $Jump1 SetConst NewX = $X1 Compute NewY = $NewY + $AddY inc JTrack Compute Jump1 = ($Jump + 1) * $JTrack End MousePos $NewX, $NewY Delay $MDelay RightClick Compute NewX = $NewX + $AddX End Compute Jump1 = $Jump + 1 SetConst JTrack = 1 inc Done Delay $MDelay End End End End //Maybe add detection for "done" and unload here Procedure Grain Loop $Row Loop $Col MousePos $NewX, $NewY Compute varY = $NewY Delay $MDelay Rightclick //if here to pin or start If $Pass = 0 Compute NewY = {mousey} - $PinY Compute NewX = {mousex} + $PinX MousePos $NewX, $NewY Delay $MDelay Rightclick Compute NewX = $NewX - 47 Compute NewY = $NewY + 155 MousePos $NewX, $NewY Delay $MDelay Rightclick Compute NewX = $NewX + 47 Compute NewY = $NewY - 155 Compute NewX = $NewX - $PinX + 1 Compute NewY = $NewY - $CornerY + 1 MousePos $NewX, $NewY Delay $MDelay Dragto $R1X, $RY Mousepos 40, 258 Delay $MDelay Rightclick Inc Pass Else Compute NewX = {mousex} + 111 Compute NewY = {mousey} + 44 MousePos $NewX, $NewY Delay $MDelay Rightclick Compute NewX = {mousex} - 67 Compute NewY = {mousey} + 50 MousePos $NewX, $NewY Delay $MDelay Rightclick MousePos 423, 117 Delay $MDelay Rightclick Delay 200 End Compute NewX = $StartX + $Num * 105 Compute Num = $Num + 1 Compute NewY = $varY Compute R1X = $R1X + $AddX end Compute Num = 1 Compute R1X = 1 Compute NewX = $StartX Compute RY = $RY + $AddY Compute NewY = $StartY + 105 End SetConst NewX = $StartX Compute NewY = $StartY While $Done = 0 IsObject Done at 92, 151 //100, 151 Delay 4000 Loop $Row Loop $Col MousePos $NewX, $NewY Compute varY = $NewY Delay $MDelay Rightclick Compute NewX = $NewX + 41 Compute NewY = $NewY + 94 MousePos $NewX, $NewY Delay $MDelay Rightclick MousePos 423, 117 Delay $MDelay Rightclick Delay 200 Compute NewX = $StartX + $Num * 105 Compute Num = $Num + 1 Compute NewY = $varY Compute R1X = $R1X + $AddX End Compute Num = 1 Compute R1X = 1 Compute NewX = $StartX Compute RY = $RY + $AddY Compute NewY = $StartY + $Step End Inc Done End End MousePos 150, 45 Delay $MDelay Rightclick End Procedure Guild Compute TextY = $TextY + 16 Compute PinY = $PinY + 8 Compute Y1 = $Y1 + 16 //Compute AddY = $AddY - 8 Compute Y3 = $Y3 + 16 End Procedure Venery Compute Y1 = $Y1 + 8 Compute TextY = $TextY + 12 Compute Y2 = $Y2 - 4 Compute Y3 = $Y3 - 2 //Compute AddY = $AddY - 4 End Procedure Resolution Case When Potash[ed6] = 1920x1080 SetConst Max = 960, 595 SetConst OK = 1026, 578 SetConst Step = 200 End End Bell