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.
User:Hilly/Macros
From A Tale in the Desert
Jump to navigationJump to searchKilns
// Written by: Coyan/Mosaic Guild originally as a mining Macro // Adjusted by Menhotep for woodplane work. // Adjusted By Hilly for Kilns // with minor adjustments // This is what I suggest for setting up for this macro Constructs MouseX=List // this is an array of mouse X coords for gem sample points MouseY=List // this is an array of mouse X coords for gem sample points END Constants totalpulls = 16 // How many times do you want it to run all kilns? (make sure you have wood and brick in inventory) loopcnt = 1 Mousecnt = 1 MouseXN = 0 MouseYN = 0 End // First part that requires a detailed explanation // this loop will pause for 3 seconds then grab the current mouse location // its purpose is to identify the locations for the Kilns(or however // many) when it grabs the spot(s), it will then echo a . to the chat window // make sure you are in your main chat tab. After it finds all the Kilns, you // may need to minimize your chat window. BE SURE TO BE IN MAIN TAB! // Adjust this Loop numer to the number of kilns being used Loop 20 Delay 3000 Listadd MouseX, {MouseX} Listadd MouseY, {MouseY} SayPaste .. END loop $totalpulls Compute loopcnt = 1 // Adjust this Loop numer to the number of kins being used loop 20 mousepos MouseX[$loopcnt], MouseY[$loopcnt] Delay 150 keys t Delay 150 keys c // c=Clay brick, b=fire bricks, ext Delay 150 keys w Delay 150 keys f Compute loopcnt = $loopcnt + 1 Delay 100 END Delay 150000 end
Barley
(* Brute Force Barley Macro for ATITD 1280 1080 . This version by Silentdeth. T2 Original by Draeton. To use pin the plant window to the upper RIGHT (not left), switch the view to double-f8 view and zoom all the way in. *) Constants // Insert constants here NumberOfLoops = 14 //This is the number of loops, and with luck is the only thing you will //have to change to suit your own needs. I personally use 8 with +2str //(and dex from acro). SleepTime = 200 //If you're having major problems with lag try moving this to a higher //number (these are in milliseconds). This delay is used between most //commands MoveSleepTime = 1500 //This is the delay used for when the character is actually moving. //Again this is in milliseconds, if lag is troubling you, try //Upping this number. LoopWaitTime = 11000 //This is used in the loop to check if it should feed or water the //barley more. If you Change the times above up or down you may need //to do the inverse with this in order to not waste fertilizer or //worse, harvest the barley before it's done. XCoordsOfPlantBarley =1229 //973 //If you don't want the barley planting box in the upper right, //can change this (and the Y value below this). YCoordsOfPlantBarley = 41 //47 //See above comment NumToDo = 18 //This is actually equipped to handle doing anywhere between 1 and 18 //patches of barley at a time. Use this to set the number. 18 is the current maximum, I may // increase if further in the furture but right now I cant carry enouph to make increaseing it //worth my time. // How far over and up and down to move MoveDeltaX=260 MoveDeltaY=226 //The center for calculating the movment PlayerCenterX=625 PlayerCenterY=524 //How many patches of barley to plant per row PlantsPerRow = 5 //If you want to have the macro save a bit of fert set ExtraTickOffset=1 and it will wait // 1 extra tick to fertalize or water. ExtraTickOffset = 1 ExtraTickX=25 //dont change these ResolutionX=1280//1024 ResolutionY=1024//768 varX = 0 varY = 0 Adding = 0 LoopNum = 0 NumberAdded = 0 varColourY = 0 varColourX = 0 varAddX = 0 varOriginalMouseX = 0 varOriginalMouseY = 0 MousePosX = 0 MousePosY = 0 varDelay = 0 TempMouseX=0 TempMouseY=0 //The Size of the barley window BarleyWindowX=212 BarleyWindowY=221 multiplyer = 0 LeftRightSwitch = 0 End call MakeBarley //call GetPixelAtMouse Procedure MakeBarley //SetActiveWindow eGenesis Client //On my computer I commented this line because it messes my computer up. Try that if you're having issues loop $NumberOfLoops //How many times to run through the loop. I use 8 usually and have carry food going (+2 str, +3 or more dex will do for 8) //SetConst NumToDo = 8 //Possible to do less than 8 at a time. <1 or >8 will break this //SetConst sleeptime = 200 //How much time to wait SetConst Adding = 1 //Tells it we're still adding, used in a later Function SetConst LoopNum = 0 //Which Loop Number we're at. Used in the main loop loop $NumToDo //A statement like this that will be gone through for each number >1 if {LoopNo} = 1 else //pause Compute LeftRightSwitch = $NumberAdded MOD $PlantsPerRow if $LeftRightSwitch = 0 call MoveDown else Compute LeftRightSwitch = ($NumberAdded DIV $PlantsPerRow) MOD 2 if $LeftRightSwitch = 0 call MoveRight else call MoveLeft end //if LR switch end //if new row end// if first click call plant call drag $NumberAdded delay $sleeptime Compute MousePosX = $TempMouseX + 91 //411 Compute MousePosY = $TempMouseY - 125//48 call RightClick2 //DragTo 105, 265 //call LeftClick2 Delay $sleeptime Inc NumberAdded Call TestColourWhich end //end loop SetConst Adding = 0 loop 6//This is the main loop SetConst LoopNum = {LoopNo} //Need this variable below so we don't keep feeding the early ones Delay $LoopWaitTime Call TestColourWhich //Go to the functions to test the colour, see if we need to add end //loop 16 delay $sleeptime call Harvest compute multiplyer = ($NumberAdded DIV $PlantsPerRow) loop $multiplyer call MoveUP end compute multiplyer = ($NumberAdded DIV $PlantsPerRow) MOD 2 if $multiplyer = 0 compute multiplyer = ($NumberAdded MOD $PlantsPerRow) loop $multiplyer call MoveLeft end // move left loop else compute multiplyer = ($NumberAdded MOD $PlantsPerRow) loop $multiplyer call MoveRight end //move right loop end //if LR end //end number of loop end //end procedure procedure Harvest SetConst MousePosX = {MouseX} SetConst MousePosY = {MouseY} MousePos 190, 109 loop $NumberAdded //This is for harvesting Compute multiplyer= {LoopNo} - 1 if {LoopNo} > 5 Compute multiplyer= $multiplyer + 1 //pause end //if if {LoopNo} > 12 Compute multiplyer= $multiplyer + 4 end //if if {LoopNo} > 15 Compute multiplyer= $multiplyer + 1 end //if Compute MousePosX = 110 + $BarleyWindowX * ($multiplyer MOD 6 ) Compute MousePosY= 230 + $BarleyWindowY * ($multiplyer DIV 6 ) call RightClick2 Delay $sleeptime Compute MousePosX = $MousePosX + 80 Compute MousePosY = $MousePosY - 120 call RightClick2 Delay $sleeptime SetConst NumberAdded = 0 end //loop end //procedure Procedure TestColourWhich //This function figures out which coordinates to call. //No it is not terribly good code, but this was written first for AutoHotKey //your right, so im gonna make it pretty loop $NumberAdded //This is for the water Compute multiplyer= {LoopNo} - 1 if {LoopNo} > 5 Compute multiplyer= $multiplyer + 1 //pause end //if if {LoopNo} > 12 Compute multiplyer= $multiplyer + 4 end //if if {LoopNo} > 15 Compute multiplyer= $multiplyer + 1 end //if Compute varColourX = 179 + $BarleyWindowX * ($multiplyer MOD 6 ) - $ExtraTickX * $ExtraTickOffset Compute varColourY= 164 + $BarleyWindowY * ($multiplyer DIV 6 ) Compute varAddX = $varColourX + 18 + $ExtraTickX * $ExtraTickOffset Call TestColour Compute varColourY = $varColourY + 20 Call TestColour if $adding = 1 //This little section is to click a 2nd time when first planting the barley if {LoopNo} = $numberadded Call TestColour Compute varColourY = $varColourY - 20 Call TestColour end//end if adding =1 end // end if loopno=number added end// end loop end//end proceedure Procedure TestColour //This actually tests the colours based on the position set in TestColourWhich LoadRGB $varColourX, $varColourY if {RGBBlue} > 220 //If it's really high in blue content else Call GetMousePos SetConst MousePosX = $varAddX SetConst MousePosY = $varColourY call RightClick2 Call SetMousePos Delay 100 end end procedure drag using numberPlanted SetConst multiplyer= $numberPlanted loop 1000 Delay $sleeptime SetConst varDelay = 1 Compute MousePosX = INT(510/1024*$ResolutionX) Compute MousePosY = INT(425/768*$ResolutionY) call RightClick2 Delay $sleeptime Delay $sleeptime call GetMousePos Compute TempMouseX=(INT(510/1024*$ResolutionX) + 100) Compute TempMouseY=(INT(425/768*$ResolutionY) - 95) MousePos $TempMouseX,$TempMouseY // NumberAdded //DragTo 105, 265 Compute TempMouseX=103 + $BarleyWindowX*$numberPlanted Compute TempMouseY=44 if $numberPlanted > 4 Compute multiplyer= $numberPlanted + 1 // pause end //if if $numberPlanted > 11 Compute multiplyer= $multiplyer + 4 end //if if $numberPlanted > 14 Compute multiplyer= $multiplyer + 1 end //if Compute TempMouseX=103 + $BarleyWindowX * ($multiplyer MOD 6 ) Compute TempMouseY=44 + $BarleyWindowY * ($multiplyer DIV 6 ) DragTo $TempMouseX,$TempMouseY Compute TempMouseX={MouseX} + 2 Compute TempMouseY={MouseY} + 122 Call SetMousePos LoadRGB $TempMouseX,$TempMouseY if {RGBBlue} > 240 break else Delay $sleeptime SetConst MousePosX = 743 SetConst MousePosY = 611 call RightClick2 end //end if end //end loop end// end proceedure procedure plant SetConst MousePosX = $XCoordsOfPlantBarley SetConst MousePosY = $YCoordsOfPlantBarley call RightClick2 end procedure MoveLeft //SetConst MousePosX = 245 //SetConst MousePosY = 393 Compute MousePosX= $PlayerCenterX - $MoveDeltaX Compute MousePosY= $PlayerCenterY MousePos $MousePosX,$MousePosY Call LeftClick2 Delay $MoveSleepTime end procedure MoveDown //SetConst MousePosX = 500 //SetConst MousePosY = 620 Compute MousePosX= $PlayerCenterX Compute MousePosY= $PlayerCenterY + $MoveDeltaY MousePos $MousePosX,$MousePosY Call LeftClick2 Delay $MoveSleepTime end procedure MoveUp //SetConst MousePosX = 500 //SetConst MousePosY = 167 Compute MousePosX= $PlayerCenterX Compute MousePosY= $PlayerCenterY - $MoveDeltaY MousePos $MousePosX,$MousePosY Call LeftClick2 Delay $MoveSleepTime end procedure MoveRight //MousePos 880, 512 //SetConst MousePosX = 760 //SetConst MousePosY = 392 Compute MousePosX= $PlayerCenterX + $MoveDeltaX Compute MousePosY= $PlayerCenterY MousePos $MousePosX,$MousePosY Call LeftClick2 Delay $MoveSleepTime end Procedure LeftClick2 call GetMousePos MousePos $MousePosX, $MousePosY if $varDelay = 1 delay 200 end LeftClick //delay 200 SetConst varDelay = 0 Call SetMousePos End Procedure RightClick2 Call GetMousePos MousePos $MousePosX, $MousePosY if $varDelay = 1 delay 200 end RightClick SetConst varDelay = 0 //delay 400 Call SetMousePos End Procedure GetMousePos //find the original coords of the mouse SetConst varOriginalMouseX = {MouseX} SetConst varOriginalMouseY = {MouseY} End Procedure SetMousePos //set the mouse back where it came from MousePos $varOriginalMouseX, $varOriginalMouseY End
Clay
// Clay loop 890 delay 600 MousePos 107, 96 leftclick delay 100 MousePos 1762, 600 leftclick delay 600 MousePos 107, 96 leftclick delay 100 MousePos 68, 600 leftclick end
Onion
// Onion Growing macro made by Oni - Updated 6/16/09 // Works only with Aqueduct window pinned up in TOP RIGHT! // Pin plant window in TOP LEFT! // see image for mouse start location. constants Batch = 0 StartX = 0 StartY = 0 NewX = 0 NewY = 0 Job = 0 MDelay = 100 SDelay = 200 End SetConst StartX = {MouseX} SetConst StartY = {MouseY} TimeStamp $StartX, $StartY Form Veggie, Settings ed1=Editbox:Batch:1 ed2=ComboBox:Project:Onions End FormLoad Veggie, Veggie.frm if ShowForm Veggie set Batch = Veggie[ed1] case When Veggie[ed2] = Onions set Job = Onions End else Stop End FormSave Veggie, Veggie.frm Loop $Batch Call $Job End Procedure Onions MousePos 40, 10 leftclick delay 1000 MousePos 86, 160 // close plant window delay 50 rightclick delay 50 /// Plant 8 onions /// // (1) // MousePos 52, 43 // plant click delay 300 rightclick delay 1077 MousePos 45, 84 // NW delay 300 rightclick delay 300 MousePos 31, 162 // click "build" delay 300 rightclick Delay 75 // (2) // MousePos 52, 43 // plant click Delay 75 rightclick delay 1077 MousePos 59, 78 // N // Delay 75 rightclick delay 50 MousePos 31, 162 // click "build" delay 50 rightclick Delay 75 // (3) // MousePos 52, 43 // plant click Delay 75 rightclick delay 1077 MousePos 74, 84 // NE // Delay 75 rightclick delay 50 MousePos 31, 162 // click "build" delay 50 rightclick Delay 75 // (4) // MousePos 52, 43 // plant click Delay 75 rightclick delay 1077 MousePos 82, 100 // E // Delay 75 rightclick delay 50 MousePos 31, 162 // click "build" delay 50 rightclick Delay 75 // (5) // MousePos 52, 43 // plant click Delay 75 rightclick delay 1077 MousePos 73, 115 // SE // Delay 75 rightclick delay 50 MousePos 31, 162 // click "build" delay 50 rightclick Delay 75 // (6) // MousePos 52, 43 // plant click Delay 75 rightclick delay 1077 MousePos 59, 123 // S // Delay 75 rightclick delay 50 MousePos 31, 162 // click "build" delay 50 rightclick Delay 75 // (7) // MousePos 52, 43 // plant click Delay 75 rightclick delay 1077 MousePos 44, 114 // SW // Delay 75 rightclick delay 50 MousePos 31, 162 // click "build" delay 50 rightclick Delay 75 // (8) // MousePos 52, 43 // plant click Delay 75 rightclick delay 1077 MousePos 35, 101 // W // Delay 75 rightclick delay 50 MousePos 31, 162 // click "build" delay 50 rightclick Delay 75 ///// END PLANT //// // PIN 1 // Compute NewX = $StartX + 3 Compute NewY = $StartY - 7 mousepos $NewX, $NewY Delay 75 rightclick Delay 75 Compute NewX = $NewX + 78 Compute NewY = $NewY - 24 mousepos $NewX, $NewY Delay 75 dragto 76, 92 MousePos 174, 92 // pin 1 Delay 75 rightclick Delay 75 // PIN 2 // Compute NewX = $StartX + 41 Compute NewY = $StartY - 28 mousepos $NewX, $NewY Delay 75 rightclick Delay 75 Compute NewX = $NewX + 78 Compute NewY = $NewY - 24 mousepos $NewX, $NewY Delay 75 dragto 76, 177 MousePos 172, 178 Delay 75 rightclick Delay 75 // PIN 3 // Compute NewX = $StartX + 74 Compute NewY = $StartY - 27 mousepos $NewX, $NewY Delay 75 rightclick Delay 75 Compute NewX = $NewX + 78 Compute NewY = $NewY - 24 mousepos $NewX, $NewY Delay 75 dragto 76, 261 MousePos 173, 261 Delay 75 rightclick Delay 75 // PIN 4 // Compute NewX = $StartX + 112 Compute NewY = $StartY + 48 mousepos $NewX, $NewY Delay 75 rightclick Delay 75 Compute NewX = $NewX + 78 Compute NewY = $NewY - 24 mousepos $NewX, $NewY Delay 75 dragto 76, 345 MousePos 172, 347 Delay 75 rightclick Delay 75 // PIN 5 // Compute NewX = $StartX + 118 Compute NewY = $StartY + 83 mousepos $NewX, $NewY Delay 75 rightclick Delay 75 Compute NewX = $NewX + 78 Compute NewY = $NewY - 24 mousepos $NewX, $NewY Delay 75 dragto 76, 429 MousePos 173, 430 Delay 75 rightclick Delay 75 // PIN 6 // Compute NewX = $StartX + 63 Compute NewY = $StartY + 93 mousepos $NewX, $NewY Delay 75 rightclick Delay 75 Compute NewX = $NewX + 78 Compute NewY = $NewY - 24 mousepos $NewX, $NewY Delay 75 dragto 76, 513 MousePos 172, 514 Delay 75 rightclick Delay 75 // PIN 7 // Compute NewX = $StartX - 27 Compute NewY = $StartY + 84 mousepos $NewX, $NewY Delay 75 rightclick Delay 75 Compute NewX = $NewX + 78 Compute NewY = $NewY - 24 mousepos $NewX, $NewY Delay 75 dragto 76, 599 MousePos 173, 598 Delay 75 rightclick Delay 75 // PIN 8 // Compute NewX = $StartX - 12 Compute NewY = $StartY + 40 mousepos $NewX, $NewY Delay 75 rightclick Delay 75 Compute NewX = $NewX + 78 Compute NewY = $NewY - 24 mousepos $NewX, $NewY Delay 75 dragto 76, 683 MousePos 173, 682 Delay 75 rightclick Delay 75 keys {F4} /////WATER//////// /////Set1///// MousePos 55, 123 Delay 75 rightclick Delay 75 MousePos 55, 210 Delay 75 rightclick Delay 75 MousePos 55, 291 Delay 75 rightclick Delay 75 MousePos 55, 376 Delay 75 rightclick Delay 75 MousePos 55, 461 Delay 75 rightclick Delay 75 MousePos 55, 546 Delay 75 rightclick Delay 75 MousePos 55, 631 Delay 75 rightclick Delay 75 MousePos 55, 717 Delay 75 rightclick Delay 75 ////////Fill Jugs/////// MousePos 1418, 60 delay 50 leftclick delay 50 MousePos 1415, 123 delay 50 leftclick delay 50 //// LOOP 1 keys {F4} Compute NewX = $StartX + 110 Compute NewY = $StartY - 16 delay 10 mousepos $NewX, $NewY LoadRGB $newX, $NewY while {RGBgreen} < 130 delay 10 LoadRGB $newX, $NewY delay 10 keys {F4} delay 10 End delay 3500 keys {F4} MousePos 55, 123 Delay 75 rightclick Delay 75 MousePos 55, 210 Delay 75 rightclick Delay 75 MousePos 55, 291 Delay 75 rightclick Delay 75 MousePos 55, 376 Delay 75 rightclick Delay 75 MousePos 55, 461 Delay 75 rightclick Delay 75 MousePos 55, 546 Delay 75 rightclick Delay 75 MousePos 55, 631 Delay 75 rightclick Delay 75 MousePos 55, 717 Delay 75 rightclick Delay 75 ////////Fill Jugs/////// MousePos 1418, 60 delay 50 leftclick delay 50 MousePos 1415, 123 delay 50 leftclick delay 50 /////Set2///// keys {F4} Compute NewX = $StartX + 121 Compute NewY = $StartY - 25 delay 10 mousepos $NewX, $NewY LoadRGB $newX, $NewY while {RGBgreen} < 130 delay 10 LoadRGB $newX, $NewY delay 10 keys {F4} delay 10 End delay 3500 keys {F4} MousePos 55, 123 Delay 75 rightclick Delay 75 MousePos 55, 210 Delay 75 rightclick Delay 75 MousePos 55, 291 Delay 75 rightclick Delay 75 MousePos 55, 376 Delay 75 rightclick Delay 75 MousePos 55, 461 Delay 75 rightclick Delay 75 MousePos 55, 546 Delay 75 rightclick Delay 75 MousePos 55, 631 Delay 75 rightclick Delay 75 MousePos 55, 717 Delay 75 rightclick Delay 75 ////////Fill Jugs/////// MousePos 1418, 60 delay 50 leftclick delay 50 MousePos 1415, 123 delay 50 leftclick delay 50 /////Set3///// keys {F4} Compute NewX = $StartX + 127 Compute NewY = $StartY - 30 delay 10 mousepos $NewX, $NewY LoadRGB $newX, $NewY while {RGBgreen} < 130 delay 10 LoadRGB $newX, $NewY delay 10 keys {F4} delay 10 End delay 3500 keys {F4} MousePos 55, 123 Delay 75 rightclick Delay 75 MousePos 55, 210 Delay 75 rightclick Delay 75 MousePos 55, 291 Delay 75 rightclick Delay 75 MousePos 55, 376 Delay 75 rightclick Delay 75 MousePos 55, 461 Delay 75 rightclick Delay 75 MousePos 55, 546 Delay 75 rightclick Delay 75 MousePos 55, 631 Delay 75 rightclick Delay 75 MousePos 55, 717 Delay 75 rightclick Delay 75 ////////Fill Jugs/////// MousePos 1418, 60 delay 50 leftclick delay 50 MousePos 1415, 123 delay 50 leftclick delay 50 /////Set4///// keys {F4} Compute NewX = $StartX + 137 Compute NewY = $StartY - 37 delay 10 mousepos $NewX, $NewY LoadRGB $newX, $NewY while {RGBgreen} < 130 delay 10 LoadRGB $newX, $NewY Delay 75 keys {F4} delay 10 End delay 3500 keys {F4} MousePos 55, 123 Delay 75 rightclick Delay 75 MousePos 55, 210 Delay 75 rightclick Delay 75 MousePos 55, 291 Delay 75 rightclick Delay 75 MousePos 55, 376 Delay 75 rightclick Delay 75 MousePos 55, 461 Delay 75 rightclick Delay 75 MousePos 55, 546 Delay 75 rightclick Delay 75 MousePos 55, 631 Delay 75 rightclick Delay 75 MousePos 55, 717 Delay 75 rightclick Delay 750 ////// Harvest//////// MousePos 55, 123 Delay 75 rightclick Delay 75 MousePos 55, 210 Delay 75 rightclick Delay 75 MousePos 55, 291 Delay 75 rightclick Delay 75 MousePos 55, 376 Delay 75 rightclick Delay 75 MousePos 55, 461 Delay 75 rightclick Delay 75 MousePos 55, 546 Delay 75 rightclick Delay 75 MousePos 55, 631 Delay 75 rightclick Delay 75 MousePos 55, 717 Delay 75 rightclick Delay 75 ////////close pin/////// MousePos 173, 93 Delay 75 rightclick Delay 75 MousePos 173, 177 Delay 75 rightclick Delay 75 MousePos 171, 262 Delay 75 rightclick Delay 75 MousePos 173, 346 Delay 75 rightclick Delay 75 MousePos 173, 431 Delay 75 rightclick Delay 75 MousePos 173, 514 Delay 75 rightclick Delay 75 MousePos 172, 600 Delay 75 rightclick Delay 75 MousePos 174, 685 Delay 75 rightclick Delay 75 delay 6001 End
Grinder
delay 18000 loop 10000 MousePos 1762, 120 // Change these locations to the pinned windows leftclick delay 18000 MousePos 68, 120 leftclick delay 18000 end