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.
Guilds/Oasis/Mines/Macros
Mining Macros
Iron
Download ACTool and then copy/paste this into the window. You will have to adjust the following values
OELevel = 1 // change this to your Ore Extraction level totalpulls = 500 // How many times do you want it to pull the mine Compute MouseXN = MouseX[$OELvlset] + 15 // adjust this if you need to for the menu click <-- Mouse Position when it clicks Compute MouseYN = MouseY[$OELvlset] + 15 // If your mouse keeps clicking on TAKE, then adjust this to -10. Adjust as necessary Delay 4300 // Delay to manage the str/perc timer on mining, adjust as needed
// IRON Macro - Written by: Coyan/Mosaic Guild
// This is what I suggest for setting up for this macro
// First align your view so you can see all 7 crystals clearly
// second use Alt-L to lock your camera angle
// Third before starting this, I suggest you have your mouse sitting over
// the first crystal.
// You will have 3 seconds between the recording of each crystal's location
// place your mouse over a spot of average gem color for each crystal in turn
// Once it has identified the 7 crystals, it will run the mine
//
// Thank you Xyrrus for talking to me about using Hue
Delay 5000
Constructs MouseX=List MouseY=List CrysHue=List OEOffset=List END // This macro doesn't work 100%, I have gotten between 80% and 90% return // When it mis-id's a crystal it will fail as many times in a row as your OELevel is set Constants OELevel = 1 // change this to your Ore Extraction level totalpulls = 500 // How many times do you want it to pull the mine colordiff = 10 CDiff = 0 CurrHigh = 0 Compare = 0 Currcrys = 0 DIFFFOUND = 0 Minval = 0 Maxval = 0 Tmpval = 0 loopcnt = 1 Mousecnt = 1 MouseXN = 0 MouseYN = 0 ColorHS = 0 OElistcnt = 0 OELvlset = 1 CurrCrysHue = 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 7 sampling locations for the crystals // when it grabs the sampling spot, it will then echo a . to the chat window // make sure you are in your main chat tab. Loop 7 Delay 5000 Listadd MouseX, {MouseX} Listadd MouseY, {MouseY} SayPaste m END
ListClear OEOffset
loop $totalpulls Compute loopcnt = 1 ListClear CrysHue loop 7 mousepos MouseX[$loopcnt], MouseY[$loopcnt] LoadRGB MouseX[$loopcnt], MouseY[$loopcnt]
Call CALCHUECOLOR Compute loopcnt = $loopcnt + 1 Delay 100 END
CALL FindtheOdd
CALL OreExtractionstore
ListCount OEOffset, $OElistcnt IF $OELevel >= $OElistcnt Compute OELvlset = OEOffset[1] ELSE Compute OELvlset = OEOffset[$OELevel] END
mousepos MouseX[$OELvlset], MouseY[$OELvlset]
Delay 200
leftclick
Compute MouseXN = MouseX[$OELvlset] + 15 // adjust this if you need to for the menu click
Compute MouseYN = MouseY[$OELvlset] + 15 // If your mouse keeps clicking on TAKE, then adjust this to -10. Adjust this if you need to for the menu click
Mousepos $MouseXN, $MouseYN
Delay 200
Leftclick
Delay 4300 // Delay to manage the str/perc timer on mining, adjust as needed
end
Procedure CALCHUECOLOR Compute Minval = 0 Compute Maxval = 255 IF {RGBRed} > {RGBGreen} Compute Minval = {RGBGreen} Compute Maxval = {RGBRed} Else Compute Maxval = {RGBGreen} Compute Minval = {RGBRed} END IF {RGBBlue} < $Minval Compute Minval = {RGBBlue} ELSE IF {RGBBlue} > $Maxval Compute Maxval = {RGBBlue} END END
Compute Tmpval = $Maxval - $Minval
IF {RGBRed} = $Maxval Compute CurrCrysHue = {RGBGreen} - {RGBBlue} Compute CurrCrysHue = $CurrCrysHue/$Tmpval ELSE IF $Maxval = {RGBGreen} Compute CurrCrysHue = {RGBBlue} - {RGBRed} Compute CurrCrysHue = $CurrCrysHue/$Tmpval Compute CurrCrysHue = 2.0 + $CurrCrysHue ELSE IF $Maxval = {RGBBlue} Compute CurrCrysHue = {RGBRed} - {RGBGreen} Compute CurrCrysHue = $CurrCrysHue/$Tmpval Compute CurrCrysHue = 4.0 + $CurrCrysHue END END END Compute CurrCrysHue = $CurrCrysHue * 100 Listadd CrysHue, $CurrCrysHue END
Procedure FindtheOdd Call Findcompare Compute CDiff = 0 Compute CurrHigh = 0
Compute Currcrys = 1 loop 7 IF $Currcrys <> $Compare Compute ColorHS = CrysHue[$Currcrys] - CrysHue[$Compare] IF $ColorHS < 0 Compute ColorHS = 0 - $ColorHS END
IF $ColorHS > $CDiff Compute CDiff = $ColorHS Compute CurrHigh = $Currcrys END END
Compute Currcrys = $Currcrys + 1 END
Compute Mousecnt = $CurrHigh END
Procedure OreExtractionstore ListCount OEOffset, $OElistcnt IF $OElistcnt = 0 Listadd OEOffset, $Mousecnt ELSE IF $OElistcnt = 1 Listadd OEOffset, OEOffset[1] END IF $OElistcnt = 2 Listadd OEOffset, OEOffset[2] Compute OEOffset[2] = OEOffset[1] END IF $OElistcnt = 3 Listadd OEOffset, OEOffset[3] Compute OEOffset[3] = OEOffset[2] Compute OEOffset[2] = OEOffset[1] END IF $OElistcnt = 4 Listadd OEOffset, OEOffset[4] Compute OEOffset[4] = OEOffset[3] Compute OEOffset[3] = OEOffset[2] Compute OEOffset[2] = OEOffset[1] END IF $OElistcnt = 5 Listadd OEOffset, OEOffset[5] Compute OEOffset[5] = OEOffset[4] Compute OEOffset[4] = OEOffset[3] Compute OEOffset[3] = OEOffset[2] Compute OEOffset[2] = OEOffset[1] END IF $OElistcnt = 6 Listadd OEOffset, OEOffset[6] Compute OEOffset[6] = OEOffset[5] Compute OEOffset[5] = OEOffset[4] Compute OEOffset[4] = OEOffset[3] Compute OEOffset[3] = OEOffset[2] Compute OEOffset[2] = OEOffset[1] END IF $OElistcnt = 7 Compute OEOffset[7] = OEOffset[6] Compute OEOffset[6] = OEOffset[5] Compute OEOffset[5] = OEOffset[4] Compute OEOffset[4] = OEOffset[3] Compute OEOffset[3] = OEOffset[2] Compute OEOffset[2] = OEOffset[1] END
Compute OEOffset[1] = $Mousecnt END
END
Procedure FindCompare
Compute ColorHS = CrysHue[1] - CrysHue[2] IF $ColorHS < 0 Compute ColorHS = 0 - $ColorHS END
IF $ColorHS < $colordiff Compute Compare = 1 ELSE Compute ColorHS = CrysHue[1] - CrysHue[3] IF $ColorHS < 0 Compute ColorHS = 0 - $ColorHS END
IF $ColorHS < $colordiff Compute Compare = 1 ELSE Compute Compare = 2 END END
END