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:Nisu Bastet/macro/combined
From A Tale in the Desert
Jump to navigationJump to searchintro
- ubar mega big multi macro
- just for copy paste, some are double
- all are for AHK
- 3 different text files, seperated with ---
- most macros needs ADD macros or FILE macros to help
- check if macro contains a filename or a () in it
basic settings, needed by all macros
^+[:: ;STRG SHIFT [ WinSet, Region, , A return ^+d:: ;STRG SHIFT d Winset, Disable, , A return ^+]:: ;STRG SHIFT ] Winset, Enable, , A return ^+e::Edit ;STRG SHIFT E ^+q::Pause, Toggle ;STRG SHIFT Q ^+r::Reload ;STRG SHIFT R ^+x::ExitApp ; Exit macro strg shift X
end click t3
; Atitd autohotkey macros ; watched for End timer and clicks when it runs out ; waits until mouse is not moving ^#d:: ;STRG WIN D Loop { IfWinactive, eGenesis Client { MouseGetPos, MouseX, MouseY Sleep, 100 MouseGetPos, MouseX2, MouseY2 DX = 0 DY = 0 DX += %MouseX% DX -= %MouseX2% DY += %MouseY% DY -= %MouseY2% if DX = 0 { if DY = 0 { MouseGetPos, MousX, MousY endadd() ;conadd() Mousemove, MousX, MousY } } } Sleep, 400 } return
constituion adding t3
conadd() { if contimer() = 0 { sleep 200 FileReadLine, conX, C:\ATITD2.txt, 1 FileReadLine, cony, C:\ATITD2.txt, 2 mouseclick, right, conX, conY, 1, 0 sleep 200 } }
focus adding t3
focadd() { if foctimer() = 0 { sleep 200 FileReadLine, focX, C:\ATITD2.txt, 1 FileReadLine, focy, C:\ATITD2.txt, 2 mouseclick, right, focX, focY, 1, 0 sleep 200 } }
endurance adding t3
endadd() { if endtimer() = 0 { ;eatfish() sleep 200 ;send s MouseClick, right ;,632, 125 , 1, 0 sleep 200 } } return
strength adding t3
stradd() { if strtimer() = 0 { sleep 300 MouseClick, right, 330, 488, 1, 0 sleep 300 } } return
papyrus planting t3
^+j:: ;strg shift j ;papy säen Loop { IfWinActive, eGenesis Client { ;checks for 0 in /clockloc ;Null is 5 coords wide ;Null is 3 coord high pixelgetcolor, null0, 686, 55 ;000000 pixelgetcolor, null1, 686, 58 ; pixelgetcolor, null2, 691, 55 pixelgetcolor, null3, 691, 58 ;000000 pixelgetcolor, null4, 684, 55 ;000000 pixelgetcolor, null5, 684, 58 ; pixelgetcolor, null6, 689, 55 pixelgetcolor, null7, 689, 58 ;000000 pixelgetcolor, null08, 683, 55 ;000000 pixelgetcolor, null09, 683, 58 ; pixelgetcolor, null10, 688, 55 pixelgetcolor, null01, 688, 58 ;000000 pixelgetcolor, null02, 681, 55 ;000000 pixelgetcolor, null03, 681, 58 ; pixelgetcolor, null04, 686, 55 pixelgetcolor, null11, 686, 58 ;000000 sleep 50 if (null0 = 0 or null4 = 0 or null08 = 0 or null01 = 0) { if (null1 = 0 or null5 = 0 or null09 = 0 or null02 = 0) { if (null2 = 0 or null6 = 0 or null10 = 0 or null03 = 0) { if (null3 = 0 or null7 = 0 or null11 = 0 or null04 = 0) { FileReadLine, filelineY, C:\ATITD2.txt, 2 if ( ErrorLevel <> 0 or filelineY = "" ) { break } FileReadLine, filelineX, C:\ATITD2.txt, 1 MouseGetPos, MouseX, MouseY sleep 120 Mouseclick, right, %filelineX%, %filelineY%, 1, 0 Sleep, 120 MouseMove, MouseX, MouseY sleep 5000 } } } } } } return
carving t3
;needs add macros from t3 ;schnitzen ^+p:: ;strg shift p Loop { IfWinActive, eGenesis Client { endadd() if foctimer() = 0 ;<===== { FileReadLine, filelineY, C:\ATITD2.txt, 2 if ( ErrorLevel <> 0 or filelineY = "" ) { break } FileReadLine, filelineX, C:\ATITD2.txt, 1 MouseGetPos, MouseX, MouseY sleep 120 Mouseclick, right, %filelineX%, %filelineY%, 1, 0 Sleep, 120 MouseMove, MouseX, MouseY } } sleep 500 } return
general file handle
;is needed by other macros ! ; for carving macro... ^9:: ;STRG 9 -löschen FileDelete, C:\ATITD2.txt return
position save to file
;is needed by other macros ! ; for carving macro... ^0:: ;STRG 0 -nimmt koords MouseGetPos, MouseX, MouseY FileAppend, %MouseX%`n, C:\ATITD2.txt FileAppend, %MouseY%`n, C:\ATITD2.txt return
carpentry shop
; boards bretter ; zimmerei carpentry.. uses unlimited spots and clicks permanent ; needs macro *position save to file* too ;mark spots with macro above ; need chat have minimized and use hotkey ^+u:: ;STRG shift U i = 2 Loop { IfWinActive, eGenesis Client { FileReadLine, filelineY, C:\ATITD2.txt, %i% if ( ErrorLevel <> 0 or filelineY = "" ) { if i=2 { break } else { i = 2 } } else { line := i-1 FileReadLine, filelineX, C:\ATITD2.txt, %line% Mousemove, %filelineX%, %filelineY% Sleep, 50 send, P i := i+2 } } } return
runs between saved spots
; runs between saved spots ^#g:: ;STRG WIN G i = 2 Loop { IfWinActive, eGenesis Client { FileReadLine, filelineY, C:\ATITD2.txt, %i% if ( ErrorLevel <> 0 or filelineY = "" ) { if i=2 { break } else { i = 2 } } else { line := i-1 FileReadLine, filelineX, C:\ATITD2.txt, %line% Mousemove, %filelineX%, %filelineY% sleep, 1300 Mouseclick, left, %filelineX%, %filelineY% Sleep, 1550 i := i+2 } } } return
brick racks stuff
;same as above carpentry shop macro, but more hotkeys used ; bricks firebricks ziegel !8:: ;alt 8 i = 2 Loop { IfWinActive, eGenesis Client { FileReadLine, filelineY, C:\ATITD2.txt, %i% if ( ErrorLevel <> 0 or filelineY = "" ) { if i=2 { break } else { i = 2 sleep 7000 } } else { line := i-1 FileReadLine, filelineX, C:\ATITD2.txt, %line% Sleep, 100 Mousemove, %filelineX%, %filelineY% Sleep, 100 send, t Sleep, 100 send, b ; for bricks ; send, C ; for wet clay bricks ; send, f ; for wet fire bricks i := i+2 ;popup() ; use this only if works on your screen settings } } } return popup() { pixelgetcolor,pop, 646, 576 ; might not work if pop = 0 { MsgBox, Pop Up ! } } return
brick racks stuff
^8:: ;STRG 8 acro moves 4 time each i = 2 Loop { IfWinActive, eGenesis Client { loop, 2 { FileReadLine, filelineY, C:\ATITD2.txt, %i% if ( ErrorLevel <> 0 or filelineY = "" ) { if i=2 { break } else { i = 2 } } else { line := i-1 FileReadLine, filelineX, C:\ATITD2.txt, %line% Mouseclick, right, %filelineX%, %filelineY% ,1 ,0 Sleep, 8000 } } i := i+2 } } return
Mining t3
; mining ; just random clicking on saved coords ^#!d:: ;STRG WIN ALT D i = 0 count = 0 Loop { i += 1 FileReadLine, fileline, C:\ATITD.txt, %i% if ( ErrorLevel <> 0 or fileline = "" ) { i -= 1 break } } filelineYPrev = "" Loop { IfWinActive, eGenesis Client { if ( strtimer() = 0 and pertimer() = 0 ) { j:= Floor(i/2) Random, line, 1, %j% line *= 2 FileReadLine, filelineY, C:\ATITD.txt, %line% if filelineYPrev != "" { ;MsgBox, %filelineY%, %filelineYPrev% if filelineY = %filelineYPrev% { continue } } filelineYPrev = %filelineY% line -= 1 FileReadLine, filelineX, C:\ATITD.txt, %line% MouseMove, %filelineX%, %filelineY% Sleep, 100 ;ab hier kann man auch send, w ; MouseGetPos, MouseX, MouseY ;MouseClick, right ;Sleep, 200 ;MouseClick, right, MouseX+30, MouseY-5, 1, 0 ;bis hier wahlweise send, w } } Sleep, 700 ;endadd() ;deepwell } return
smelter
;smelter schmelztopf !1:: ;alt 1 Send T sleep 150 MouseClick, L, 0, 0, 1, 0, , R Sleep, 150 MouseClick, L, 30, 0, 1, 0, , R Sleep, 150 MouseMove -30, 0, 0,R Sleep, 150 Send, 25 Sleep, 150 send {enter} Sleep, 150 MouseClick, L, 0, 0, 1, 0, , R Sleep, 150 MouseClick, L, 30, 10, 1, 0, , R Sleep, 150 MouseMove -30, -10, 0,R Sleep, 150 Send, 94 Sleep, 150 send {enter} Sleep, 150 MouseClick, L, 0, 0, 1, 0, , R Sleep, 150 MouseClick, L, 30, -20, 1, 0, , R Sleep, 150 MouseMove -30, 20, 0,R Sleep, 200 send t return
!4:: ;alt 4 checks for Max-dropdown menu and clicks it loop { IfWinActive, eGenesis Client { pixelgetcolor, max1, 634, 524 pixelgetcolor, max2, 634, 518 pixelgetcolor, max3, 713, 505 sleep 100 if (max1 = 0 and max2 = 0 and max3 = 0) { MouseGetPos, MouseX, MouseY sleep 50 mouseclick, right, 650, 525 sleep, 200 mousemove, mousex, mousey } else { sleep 350 } } } return
kettles
;kettles wasserkessel !3:: ;alt 3 IfWinActive, eGenesis Client { mousegetpos, mouseX, mouseY MouseClick, R, 0, 0, 1, 0, , R Sleep, 150 MouseClick, R, 50, 90, 1, 0, , R Sleep, 150 MouseClick, right, 645, 520, 1, 0 Sleep, 150 MouseClick, right, 665,75, 1, 0 Sleep, 150 mousemove, mouseX, mouseY } return
hookah
!5:: ;alt 5 rauchen loop { IfWinActive, eGenesis Client { conadd() } } return
auto run
; Auto run autorun ^#1:: ;STRG win 1 Loop { IfWinActive, eGenesis Client { MouseClick, Left Sleep, 43000 } Sleep, 100 } return
pigment lab
; special, needs to be set by your color settings ; for the idea the coords are from my scree ;pigment lab window must be top left ;makes colors... Farben ^+g:: ; strg shift g IfWinActive, eGenesis Client { loop,788 { ;here the coords of the points u have to click for each incredient, maybe different at your place ; cabbage 276.... carrot 294 ... Clay 312 ; deadtong 330 ... toadskin 348 .. earthlight 366 ; redsand 384 ... lead 402 ... silver 420 ; iron 438 ... copper 456 ... sulfur 474 ; potash 492 ... lime 510 ... saltpeter 528 ;gold=gold ;9 Carrot, 1 Sulfur, 1 Lime, 1 Saltpeter, 1 Clay ; below special color, to get the idea how it works mouseclick, right, 21, 384, 1, 0 sleep 150 mouseclick, right, 21, 384, 1, 0 sleep 150 mouseclick, right, 21, 384, 1, 0 sleep 150 mouseclick, right, 21, 384, 1, 0 sleep 150 mouseclick, right, 21, 384, 1, 0 sleep 150 mouseclick, right, 21, 384, 1, 0 sleep 150 mouseclick, right, 21, 384, 1, 0 sleep 150 mouseclick, right, 21, 384, 1, 0 sleep 150 mouseclick, right, 21, 384, 1, 0 sleep 150 mouseclick, right, 21, 384, 1, 0 sleep 1000 mouseclick, right, 95, 95, 1, 0 ;take color sleep 1000 } }
grass t3
; grass macro ; clicks on grass icon when you move your mouse over it ^#p:: ;STRG WIN p Loop { IfWinActive, eGenesis Client { Sleep, 100 PixelGetColor, color4, 1177, 68 if color4 = 0x9BCEFB { MouseGetPos, MouseX3, MouseY3 BlockInput, MouseMove mousemove, 1200, 40 sleep, 50 if color4 = 0x9BCEFB { MouseClick, right, 1200, 40, 1, 0 } MouseMove, %MouseX3%, %MouseY3%, 0 BlockInput, MouseMoveOff Sleep, 2500 } } } return
acro t3
; Acro. Clicks every 7 seconds. will wait until mouse stops moving before clicking. ^#b:: ;STRG WIN b Loop { IfWinActive, eGenesis Client { MouseGetPos, MouseX, MouseY Sleep, 200 MouseGetPos, MouseX2, MouseY2 DX = 0 DY = 0 DX += %MouseX% DX -= %MouseX2% DY += %MouseY% DY -= %MouseY2% if DX = 0 { if DY = 0 { MouseClick, left Sleep, 8500 } } } } return
clay t3
; clay gathering. a lot like the grass macro ^#c:: ;STRG WIN c Loop { IfWinActive, eGenesis Client { MouseGetPos, MouseX6, MouseY6 /* WinGetPos, x, y, w, h, eGenesis Client MouseGetPos, MouseX6, MouseY6 DX = %w% DX -= %MouseX6% if DX < 132 { if MouseY6 < 122 { if DX > 68 { */ PixelGetColor, color9, 1178, 62 if color9 = 0x1E19C5 { MouseClick, left, 1178, 62, 1, 0 sleep 50 Mousemove, MouseX6, MouseY6 Sleep, 900 } } /* } } } */ Sleep, 100 } return
fishing t3
; fishing ; eats grilled cabbage when off, ; needs eat macro for it too ^#f:: ;STRG WIN f Loop { IfWinActive, eGenesis Client { WinGetPos, x, y, w, h, eGenesis Client MouseGetPos, MouseX6, MouseY6 DX = %w% DX -= %MouseX6% if MouseY6 < 122 { eatfish() MouseClick, left Sleep, 18000 } } Sleep, 10 } return
onionhelper t3
!Y:: ;alt Y zwiebel making, grass IfWinActive, eGenesis Client { MouseClick, R, 0, 0, 1, 0, , R ; clickt wo Mauszeiger steht Sleep, 120 ;MouseClick, R, 30, +5, 1, 0, , R ;onions MouseClick, R, 30, -25, 1, 0, , R ;gras } return
flaxhelper t3
!<:: ;alt < flax making IfWinActive, eGenesis Client { MouseClick, R, 0, 0, 1, 0, , R ; clickt wo Mauszeiger steht Sleep, 120 MouseClick, R, 30, -5, 1, 0, , R ;flax } return
;uses numpad arrow keys and others ; baumenu ^Numpad8:: IfWinActive, eGenesis Client { mousemove, 63, 80 sleep, 20 mouseclick, left } return ^Numpad4:: IfWinActive, eGenesis Client { mousemove, 41, 104 sleep, 20 mouseclick, left } return ^Numpad6:: IfWinActive, eGenesis Client { mousemove, 84, 104 sleep, 20 mouseclick, left } return ^Numpad2:: IfWinActive, eGenesis Client { mousemove, 65, 127 sleep, 20 mouseclick, left } return ^Numpad7:: IfWinActive, eGenesis Client { mousemove, 49, 86 sleep, 20 mouseclick, left } return ^Numpad9:: IfWinActive, eGenesis Client { mousemove, 79, 90 sleep, 20 mouseclick, left } return ^Numpad3:: IfWinActive, eGenesis Client { mousemove, 82, 121 sleep, 20 mouseclick, left } return ^Numpad1:: IfWinActive, eGenesis Client { mousemove, 49, 117 sleep, 20 mouseclick, left } return ^Numpad5:: ;strg numpad5 bauen IfWinActive, eGenesis Client { mousemove, 40, 165 sleep, 20 mouseclick, left } return ^*:: ;strg shift * rotating IfWinActive, eGenesis Client { mousemove, 87, 46 sleep, 20 mouseclick, left } return
slate t3
;Looks for slate icon in two locations, ;moves the mouse to it and clicks on it ;then moves the mouse back ^#s:: ;STRG WIN s Loop { IfWinActive, eGenesis Client { Sleep, 80 PixelGetColor, color2, 1044, 115 PixelGetColor, color3, 1110, 114 PixelGetColor, color4, 980, 114 if color2 = 0x575757 { MouseGetPos, MouseX3, MouseY3 BlockInput, MouseMove Mouseclick, right, 1050, 74, 1, 0 MouseMove, %MouseX3%, %MouseY3%, 0 BlockInput, MouseMoveOff Sleep, 1000 } if color3 = 0x575757 { MouseGetPos, MouseX3, MouseY3 BlockInput, MouseMove Mouseclick, right, 1113, 70, 1, 0 MouseMove, %MouseX3%, %MouseY3%, 0 BlockInput, MouseMoveOff Sleep, 1000 } if color4 = 0x575757 { MouseGetPos, MouseX3, MouseY3 BlockInput, MouseMove Mouseclick, right, 980, 114, 1, 0 MouseMove, %MouseX3%, %MouseY3%, 0 BlockInput, MouseMoveOff Sleep, 1000 } } } return
endurance helper t3
; ONLY ONE click for end timer, eats fish/onions ; needs eat macro ^+k:: ;strg shift k MouseGetPos, MouseX0, MouseY0 Loop { IfWinActive, eGenesis Client { if ( endTimer() = 0 and GetKeyState("LButton") = 0 ) { eatFish() Sleep, 200 MouseGetPos, MouseX, MouseY MouseClick, right, MouseX0, MouseY0, 1, 0 MouseMove, MouseX, MouseY, 0 Reload } } Sleep, 200 }
marble t3
;needs lots of adjusting on your PC! ;needs eat macro and end macro ^+m:: ;Strg Shift m marmor marble ;Position of this quarry worker: 1 through 4 myPosition := 1 ; ich bin der erste der in der alphabetischen reihenfolge klicken muss ;The y coordinate of each dash (coords relative to window) /* ;private quarry y1 := 95 ;plus 27 mit titelbar (68) y2 := 111 ;plus mit titelbar y3 := 127 ;plus mit titelbar y4 := 143 ;plus mit titelbar */ ;gildenquarry +16 y1 := 111 y2 := 127 y3 := 143 y4 := 159 Loop { IfWinActive, eGenesis Client { if ( endTimer() = 0 and GetKeyState("LButton") = 0 ) { BlockInput, MouseMove MouseGetPos, MouseX, MouseY ;An empty part of the quarry window where it will click to refresh the window MouseClick, right, 70, 57, 1, 0 ; MouseMove, MouseX, MouseY, 0 BlockInput, MouseMoveOff Sleep, 400 yCount := 0 Loop, 4 { yCount += 1 ;163 is the x coordinate of the beginning of the -- dash after 'Eastern' count := 164 Loop, 14 { PixelGetColor, color%count%, count, y%yCount% count += 1 } ;same as above count := 164 match := 0 Loop, 14 { if ( match = 4 and color%count% != 0 ) { lastPixel := count - 1 } if ( color%count% = 0 ) { match += 1 } else { match := 0 } count += 1 } position%yCount% := 0 ; Here the numbers 166, 171, 173, and 175 are the x coords of the *last* pixel of each dash... ; 166 is the dash after Eastern, 171 after Western, 173 after Northern, 175 after Southern ; mel: x+4-3 y+34 if ( lastPixel = 167 ) ;east { position%yCount% := 0 } if ( lastPixel = 174 ) ;north { position%yCount% := 4 } if ( lastPixel = 176 ) ;south { position%yCount% := 8 } if ( lastPixel = 172 ) ;west { position%yCount% := 12 } PixelGetColor, color1, lastPixel+3, y%yCount%-4 PixelGetColor, color2, lastPixel+3, y%yCount%+4 PixelGetColor, color3, lastPixel+3, y%yCount%+1 PixelGetColor, color4, lastPixel+2, y%yCount%+3 if ( color1 = 0 and color2 = 0 ) { position%yCount% += 1 } if ( color1 != 0 and color2 = 0 ) { position%yCount% += 2 } if ( color3 = 0 ) { position%yCount% += 3 } if ( color4 != 0 ) { position%yCount% += 4 } } count := 16 place := 5 Loop, 16 { if ( position1 = count ) { place -= 1 if ( place = myPosition ) { clickPosition := 1 break } } if ( position2 = count ) { place -= 1 if ( place = myPosition ) { clickPosition := 2 break } } if ( position3 = count ) { place -= 1 if ( place = myPosition ) { clickPosition := 3 break } } if ( position4 = count ) { place -= 1 if ( place = myPosition ) { clickPosition := 4 break } } count -= 1 } ; ToolTip, lastPixel: %lastPixel%`nposition1: %position1%`nposition2: %position2%`nposition3: %position3%`nposition4: %position4%`nclickPosition: %clickPosition%, 500, 0, 5 if ( lastPosition1 != position1 or lastPosition2 != position2 or lastPosition3 != position3 or lastPosition4 != position4 ) { eatFish() ; MouseGetPos, MouseX, MouseY MouseClick, right, 34, y%clickPosition%, 1, 0 ;clicks quarry ; MouseMove, MouseX, MouseY, 0 } lastPosition1 := position1 lastPosition2 := position2 lastPosition3 := position3 lastPosition4 := position4 } } Sleep, 1000 } return
eat macro t3
;needed by lot of macros above eatFish() ; or onions { PixelGetColor, color, 199, 911 ;checks endurance ;geschicke kleinziehen aber nicht schliessen PixelGetColor, color2, 257, 898 ;checks if food avaible ;konsume gegrillten fisch neben geschicke fenster unten if ( color != 0 and color2 = 0 ) { MouseGetPos, MouseX, MouseY MouseClick, right, 354, 902, 1, 0 MouseMove, MouseX, MouseY, 0 return 1 } return 0 }
end macro t3
;needed by lot of macros above ; needs picture, useless in t4 endTimer() { WinGetPos, , , w, h, eGenesis Client ImageSearch, , , w-300, 0, w, 200, end.png if ErrorLevel = 0 ;bild da { return 1 } if ErrorLevel = 1 ;bild nicht da { return 0 } return 2 }
focus macro t3
;needed by lot of macros above ; needs picture, useless in t4 focTimer() { WinGetPos, , , w, h, eGenesis Client ImageSearch, , , w-200, 100, w, 200, foc.png if ErrorLevel = 0 ;bild da { return 1 } if ErrorLevel = 1 ;bild nicht da { return 0 } return 2 }
perception macro t3
;needed by lot of macros above ; needs picture, useless in t4 perTimer() { WinGetPos, , , w, h, eGenesis Client ImageSearch, , , w-300, 0, w, 200, per.png if ErrorLevel = 0 ;bild da { return 1 } if ErrorLevel = 1 ;bild nicht da { return 0 } return 2 }
strength macro t3
;needed by lot of macros above ; needs picture, useless in t4 strTimer() { WinGetPos, , , w, h, eGenesis Client ImageSearch, , , w-300, 0, w, 200, str.png if ErrorLevel = 0 ;bild da { return 1 } if ErrorLevel = 1 ;bild nicht da { return 0 } return 2 }
constitution macro t3
;needed by lot of macros above ; needs picture, useless in t4 conTimer() { WinGetPos, , , w, h, eGenesis Client ImageSearch, , , w-300, 0, w, 200, cons.png if ErrorLevel = 0 ;bild da { return 1 } if ErrorLevel = 1 ;bild nicht da { return 0 } return 2 }
image test macro t3
; needs picture, just for testing on macro technics ; only for pro ^+l:: ;strg shift L -imagesearch test { /* SendMessage, 0x201, 0, 65536*MouseY+MouseX, , eGenesis Client ;mouse down screen coords SendMessage, 0x202, 0, 65536*MouseY+MouseX, , eGenesis Client ;mouse up screen coords SendMessage, 0x201, 0, 65536*354+243, , eGenesis Client ;mouse down SendMessage, 0x202, 0, 65536*354+243, , eGenesis Client ;mouse up SendMessage, 0x201, 0, 65536*84+213, , eGenesis Client ;mouse down SendMessage, 0x202, 0, 65536*84+213, , eGenesis Client ;mouse up SendMessage, 0x201, 0, 65536*93+473, , eGenesis Client ;mouse down SendMessage, 0x202, 0, 65536*93+473, , eGenesis Client ;mouse up sleep 10 } return */ loop IfWinActive, eGenesis Client { WinGetPos, , , w, h, eGenesis Client ImageSearch, , , w-300, 0, w, 200, foc.png MsgBox, ErrorLevel: %ErrorLevel% if ErrorLevel = 0 ;bild da { send 0 } if ErrorLevel = 1 ;bild nicht da { send 1 } ;errorlevel = 2 ; bildfile fehlt sleep, 990 } } return
smelter afk macro t3
;smelter auto use !2:: ;ALT 2 i = 2 Loop { IfWinActive, eGenesis Client { FileReadLine, filelineY, C:\ATITD2.txt, %i% if ( ErrorLevel <> 0 or filelineY = "" ) { break } else { line := i-1 FileReadLine, filelineX, C:\ATITD2.txt, %line% Mousemove, %filelineX%, %filelineY% Sleep, 250 send, t Sleep, 250 MouseClick, L, 0, 0, 1, 0, , R Sleep, 250 MouseClick, L, 30, 0, 1, 0, , R Sleep, 250 MouseMove -30, 0, 0,R Sleep, 250 Send, 25 Sleep, 250 send {enter} Sleep, 250 MouseClick, L, 0, 0, 1, 0, , R Sleep, 250 MouseClick, L, 30, 10, 1, 0, , R Sleep, 250 MouseMove -30, -10, 0,R Sleep, 250 Send, 94 Sleep, 250 send {enter} Sleep, 250 MouseClick, L, 0, 0, 1, 0, , R Sleep, 250 MouseClick, L, 30, -20, 1, 0, , R Sleep, 250 MouseMove -30, 20, 0,R Sleep, 1000 i := i+2 } } } return
cc manual macro t3
;holzkohle CC charcoal ; ---->> OVEN set on guild <<----- ^+1:: ;strg shift 1 wood add IfWinActive, eGenesis Client { MouseClick, right, 40, 254, 1, 0 ;oven sleep, 15 MouseClick, right, 285, 254, 1, 0 ;245 sleep, 15 MouseClick, right, 530, 254, 1, 0 ;245 sleep, 15 MouseClick, right, 775, 254, 1, 0 ;new line sleep, 15 MouseClick, right, 40, 508, 1, 0 sleep, 15 MouseClick, right, 285, 508, 1, 0 sleep, 15 } return ;holzkohle wasser ^+2:: ;strg shift 2 h2o IfWinActive, eGenesis Client { MouseClick, right, 90, 254, 1, 0 ;245 sleep, 20 MouseClick, right, 335, 254, 1, 0 ;245 sleep, 20 MouseClick, right, 580, 254, 1, 0 ;245 sleep, 20 MouseClick, right, 825, 254, 1, 0 ;new line sleep, 20 MouseClick, right, 90, 508, 1, 0 sleep, 20 MouseClick, right, 335, 508, 1, 0 sleep, 20 } return ;cc close air 134 ^+3:: ;strg shift 3 IfWinActive, eGenesis Client { MouseClick, right, 134, 254, 1, 0 ;245 sleep, 20 MouseClick, right, 379, 254, 1, 0 ;245 sleep, 20 MouseClick, right, 624, 254, 1, 0 ;245 sleep, 20 MouseClick, right, 869, 254, 1, 0 ;new line sleep, 20 MouseClick, right, 134, 508, 1, 0 sleep, 20 MouseClick, right, 379, 508, 1, 0 ;245 sleep, 20 } return ;cc air normal 159 ^+4:: ;strg shift 4 IfWinActive, eGenesis Client { MouseClick, right, 159, 254, 1, 0 ;245 sleep, 20 MouseClick, right, 404, 254, 1, 0 ;245 sleep, 20 MouseClick, right, 649, 254, 1, 0 ;245 sleep, 20 MouseClick, right, 894, 254, 1, 0 ;new line sleep, 20 MouseClick, right, 159, 508, 1, 0 sleep, 20 MouseClick, right, 404, 508, 1, 0 ;245 sleep, 20 } return ;cc air full open ^+5:: ;strg shift 5 IfWinActive, eGenesis Client { MouseClick, right, 186, 254, 1, 0 ;245 sleep, 20 MouseClick, right, 431, 254, 1, 0 ;245 sleep, 20 MouseClick, right, 676, 254, 1, 0 ;245 sleep, 20 MouseClick, right, 921, 254, 1, 0 ;new line sleep, 20 MouseClick, right, 186, 508, 1, 0 sleep, 20 MouseClick, right, 431, 508, 1, 0 ;245 sleep, 20 } return ;cc start ^+6:: ;strg shift 6 IfWinActive, eGenesis Client { MouseClick, right, 120, 248, 1, 0 ;245 sleep, 15 MouseClick, right, 365, 248, 1, 0 ;245 sleep, 15 MouseClick, right, 610, 248, 1, 0 ;245 sleep, 15 MouseClick, right, 855, 248, 1, 0 ;new line sleep, 15 MouseClick, right, 120, 498, 1, 0 sleep, 15 MouseClick, right, 365, 498, 1, 0 ;245 sleep, 15 } return
flax rake macro t3
; needs end macro ^+T:: ;strgshift t loop { IfWinActive, eGenesis Client { if endtimer() = 0 { flachskamm() } sleep 500 } } return flachskamm() ; { if endtimer() = 0 { pixelgetcolor, kamm, 96, 46 if kamm != 0 { return } eatfish() sleep 400 mouseclick, right, 100,60, 1, 0 sleep 500 pixelgetcolor, reinigen1, 14, 96 pixelgetcolor, reinigen2, 66, 96 pixelgetcolor, weiter1, 16, 112 pixelgetcolor, weiter2, 123, 112 pixelgetcolor, zerteil1, 18, 91 pixelgetcolor, zerteil2, 238, 93 sleep 500 if (weiter1 = 0 and weiter2 = 0) { mouseclick, right, 40, 112, 1, 0 sleep 400 } if (zerteil1 = 0 and zerteil2 = 0) { mouseclick, right, 40, 96, 1, 0 sleep 400 } if (reinigen1 = 0 and reinigen2 = 0) { if (weiter2 != 0) { if (zerteil2 != 0) { mouseclick, right, 40, 96, 1, 0 sleep 400 } } } } } return
kiln macro t3
;firebricks, jugs ^#2:: ;strg win 2 IfWinActive, eGenesis Client { send T sleep, 20 send W sleep, 20 send B ; firebricks ;send J ; jugs sleep, 20 send F sleep, 20 } return
smelting pot sound macro t3
;plays a sound when smelting pots are done ^#!\:: ;STRG WIN ALT \ Sleep, 300000 SoundPlay, %WinDir%\Media\ding.wav Sleep, 100 SoundPlay, %WinDir%\Media\ding.wav Sleep, 100 SoundPlay, %WinDir%\Media\ding.wav return
mining helper macro t3
; for mining macro... ^+/:: ;STRG SHIFT / FileDelete, C:\ATITD.txt return ; for mining macro... ^+a:: ;STRG SHIFT A MouseGetPos, MouseX, MouseY ;FileOutput = %MouseX%, %MouseY% ;FileAppend, %FileOutput%`n, C:\ATITD.txt FileAppend, %MouseX%`n, C:\ATITD.txt FileAppend, %MouseY%`n, C:\ATITD.txt return
color test macro t3
!Numpad1:: ; color-test IfWinActive, eGenesis Client { WinGetPos,,, winWidth, winHeight bblue = 0 bred = 0 bgreen = 0 Loop ,16 { xindex := a_index + 191 Loop ,16 { yindex := a_index + 445 PixelGetColor, color, %xindex%, %yindex%, slow bblue += (color // (256*256))/256 bgreen += (mod((color // 256), 256))/256 bred += (mod(color, 256))/256 } } blue = 0 green = 0 red = 0 Loop ,16 { xindex := a_index + 246 Loop ,16 { yindex := a_index + 165 PixelGetColor, color, %xindex%, %yindex%, slow blue += (color // (256*256))/256 green += (mod((color // 256), 256))/256 red += (mod(color, 256))/256 } } cblue := round((blue - bblue)/(248/256) + bblue) cgreen := round((green - bgreen)/(248/256) + bgreen) cred := round((red - bred)/(248/256) + bred) sleep 100 MsgBox R:%cred% G:%cgreen% B:%cblue% } return
carpentry anvil t3
;line 1434 ;carpentry blades ;zimmerei klingen !Numpad2:: ; ; F8 double view, zoom all in, stand top right of anvil x := 422 ; the top left position of the carpentry blade y := 486 { loop { loop { pixelgetcolor, bbb, 43, 78 ;checks for B from sägeblatt sleep 300 if bbb != 0 { mouseclick, right, 166, 85, 1, 0 sleep 300 } if bbb = 0 { break } } mouseclick, right, 43, 78, 1, 0 ;choose sägeblatt sleep, 1300 Mousemove, x+80, y send, B sleep, 500 send, 9 sleep, 500 Mouseclick, right, x+69, y+21, 1,0 ; ???? -- mid top sleep, 500 Mouseclick, right, x+69, y+31, 1,0 ; B 9 sleep, 500 Mouseclick, right, x+71, y+183, 1, 0 ; ???? -- mid down sleep, 500 Mouseclick, right, x+71, y+193, 1, 0 ; B 9 sleep, 500 Mouseclick, right, x+17, y+188, 1, 0 ; B 9 left down sleep, 500 Mouseclick, right, x+7, y+177, 1, 0 ; B 9 sleep, 500 Mouseclick, right, x+21, y+44, 1, 0 ; B 9 left top sleep, 500 Mouseclick, right, x+5, y+48, 1, 0 ; B 9 sleep, 500 Mousemove, x+80, y sleep, 500 send, C sleep, 500 send, 9 sleep, 500 Mouseclick, right, x+144, y+38, 1, 0 ; C 9 sleep, 500 Mouseclick, right, x+144, y+88, 1, 0 ; C 9 sleep, 500 Mouseclick, right, x+144, y+138, 1, 0 ; C 9 sleep, 500 Mouseclick, right, x+144, y+188, 1, 0 ; C 9 sleep, 500 ; qualität 5150-5200 send, 6 sleep, 500 Mouseclick, right, x+134, y+38, 1, 0 ; C 6 sleep, 500 Mouseclick, right, x+134, y+88, 1, 0 ; C 6 sleep, 500 Mouseclick, right, x+134, y+138, 1, 0 ; C 6 sleep, 500 Mouseclick, right, x+134, y+188, 1, 0 ; C 6 sleep, 500 Mouseclick, right, x+144, y+38, 1, 0 ; C 6 sleep, 500 Mouseclick, right, x+144, y+88, 1, 0 ; C 6 sleep, 500 Mouseclick, right, x+144, y+138, 1, 0 ; C 6 sleep, 500 Mouseclick, right, x+144, y+188, 1, 0 ; C 6 ; qualität 5900-6000 sleep, 500 send, 9 sleep, 500 Mouseclick, right, x+144, y+38, 1, 0 ; C 9 ; qualität 6050-6150 sleep, 500 send, r sleep, 500 send, 5 sleep, 500 Mouseclick, right, x+114, y+23, 1, 0 ; C 9 sleep, 500 Mouseclick, right, x+114, y+43, 1, 0 ; C 9 sleep, 500 Mouseclick, right, x+30, y+172, 1, 0 ; C 9 sleep, 500 send, c sleep, 100 send, 5 sleep, 500 Mouseclick, right, x+107, y+46, 1, 0 ; C 9 sleep, 500 send, 9 sleep, 500 Mouseclick, right, x+144, y+22, 1, 0 ; C 9 sleep, 500 send, q sleep, 100 Mouseclick, right, x, 245, 1, 0 ; abschliessen sleep, 500 Mouseclick, right, 600, 535, 1, 0 ; JA! sleep, 1500 } } return ; 457 655 B 6 ...
mining2 t3
; mining(remember to pin menu first) ^!m:: { IfWinExist, eGenesis Client { WinActivate Gui, 2:Add, Text,, Recording mouse position`nPlease click on the button. Gui, 2:Show KeyWait, LButton, D MouseGetPos, MinePosX1, MinePosY1 Gui, 2:Destroy Sleep, 200 Gui, 2:Add, Text,, Recording mouse position`nPlease click on the button. Gui, 2:Show KeyWait, LButton, D MouseGetPos, MinePosX2, MinePosY2 Gui, 2:Destroy Sleep, 200 Gui, 2:Add, Text,, Recording mouse position`nPlease click on the button. Gui, 2:Show KeyWait, LButton, D MouseGetPos, MinePosX3, MinePosY3 Gui, 2:Destroy Sleep, 200 Gui, 2:Add, Text,, Recording mouse position`nPlease click on the button. Gui, 2:Show KeyWait, LButton, D MouseGetPos, MinePosX4, MinePosY4 Gui, 2:Destroy Sleep, 200 Gui, 2:Add, Text,, Recording mouse position`nPlease click on the button. Gui, 2:Show KeyWait, LButton, D MouseGetPos, MinePosX5, MinePosY5 Gui, 2:Destroy Sleep, 200 Gui, 2:Add, Text,, Recording mouse position`nPlease click on the button. Gui, 2:Show KeyWait, LButton, D MouseGetPos, MinePosX6, MinePosY6 Gui, 2:Destroy Sleep, 200 Gui, 2:Add, Text,, Recording mouse position`nPlease click on the button. Gui, 2:Show KeyWait, LButton, D MouseGetPos, MinePosX7, MinePosY7 Gui, 2:Destroy Sleep, 200 Gui, 2:Add, Text,, Click top left of timer. Gui, 2:Show Keywait, Lbutton, D MouseGetPos, Timer1X, Timer1Y Gui, 2:Destroy sleep, 200 Gui, 2:Add, Text,, Click bottom right of timer. Gui, 2:Show Keywait, Lbutton, D MouseGetPos, Timer2X, Timer2Y Gui, 2:Destroy sleep, 200 Gui, 2:Add, Text,, How many pulls/moves? Gui, 2:Add, Edit, Number vNumPulls Gui, 2:Add, Button, default gMineCommit, OK Gui, 2:Show return MineCommit: Gui, 2:Submit Gui, 2:Destroy CoordMode, Pixel, Screen loop, %NumPulls% { loop { Sleep, 1000 PixelSearch, Px, Py, %Timer1X%, %Timer1Y%, %Timer2X%, %Timer2Y%, 0xA8C9D9 if ErrorLevel = 1 { break } } WinGetActiveTitle, title MouseGetPos, X, Y WinActivate, eGenesis Client random, seed, 1, 7 if %seed% = 1 { MouseClick, left, %MinePosX1%, %MinePosY1% } if seed = 2 { MouseClick, left, %MinePosX2%, %MinePosY2% } if seed = 3 { MouseClick, left, %MinePosX3%, %MinePosY3% } if seed = 4 { MouseClick, left, %MinePosX4%, %MinePosY4% } if seed = 5 { MouseClick, left, %MinePosX5%, %MinePosY5% } if seed = 6 { MouseClick, left, %MinePosX6%, %MinePosY6% } if seed = 7 { MouseClick, left, %MinePosX7%, %MinePosY7% } WinActivate, %title% MouseMove, %X%, %Y% } return } }
grass3 t3
^!g:: IfWinExist eGenesis Client { WinActivate Gui, 2:Add, Text,, Click top left of grass button. Gui, 2:Show Keywait, Lbutton, D MouseGetPos, Timer1X, Timer1Y Gui, 2:Destroy sleep, 200 Gui, 2:Add, Text,, Click bottom right of grass button. Gui, 2:Show Keywait, Lbutton, D MouseGetPos, Timer2X, Timer2Y Gui, 2:Destroy sleep, 200 Gui, 2:Add, Text,, Click middle of grass button. Gui, 2:Show Keywait, Lbutton, D MouseGetPos, ClickX, ClickY Gui, 2:Destroy sleep, 200 Gui, 2:Add, Text,, How many pulls/moves? Gui, 2:Add, Edit, Number vCycles Gui, 2:Add, Button, default gGrassCommit, OK Gui, 2:Show return GrassCommit: Gui, 2:Submit Gui, 2:Destroy CoordMode, Pixel, Screen loop, %Cycles% { loop { Sleep, 250 PixelSearch, Px, Py, %Timer1X%, %Timer1Y%, %Timer2X%, %Timer2Y%, 0xE8302B if ErrorLevel = 0 { WinGetActiveTitle, title MouseGetPos, X, Y WinActivate, eGenesis Client MouseClick, left, %ClickX%, %ClickY% WinActivate, %title% MouseMove, %X%, %Y% break } } } return } return
slate 2 t3
^!s:: IfWinExist eGenesis Client { WinActivate WinGetPos,,, winWidth, winHeight widthOffset := winWidth - 300 heightOffset := 50 loop { CoordMode, Mouse, Relative Sleep, 5 PixelSearch, Px, Py, widthOffset, 20, winWidth, 50, 0x006AC0 if (ErrorLevel = 0 and WinActive("eGenesis Client")) { MouseGetPos, OldMX, OldMY MouseClick, left, %Px%, %Py%,, 0 MouseMove, %OldMX%, %OldMY%, 0 Sleep, 2000 } } } return
mining 4 t3
^!n:: { IfWinExist, eGenesis Client { WinActivate Gui, 2:Add, Text,, Recording mouse position`nPlease click on the button. Gui, 2:Show KeyWait, LButton, D MouseGetPos, MinePosX1, MinePosY1 Gui, 2:Destroy Sleep, 200 Gui, 2:Add, Text,, Click top left of timer. Gui, 2:Show Keywait, Lbutton, D MouseGetPos, Timer1X, Timer1Y Gui, 2:Destroy sleep, 200 Gui, 2:Add, Text,, Click bottom right of timer. Gui, 2:Show Keywait, Lbutton, D MouseGetPos, Timer2X, Timer2Y Gui, 2:Destroy sleep, 200 Gui, 2:Add, Text,, How many pulls/moves? Gui, 2:Add, Edit, Number vNumPulls Gui, 2:Add, Button, default gTimer, OK Gui, 2:Show return Timer: Gui, 2:Submit Gui, 2:Destroy CoordMode, Pixel, Screen loop, %NumPulls% { loop { Sleep, 1000 PixelSearch, Px, Py, %Timer1X%, %Timer1Y%, %Timer2X%, %Timer2Y%, 0xA8C9D9 if ErrorLevel = 1 { break } } WinGetActiveTitle, title MouseGetPos, X, Y WinActivate, eGenesis Client MouseClick, left, %MinePosX1%, %MinePosY1% WinActivate, %title% MouseMove, %X%, %Y% } return } }
file t4
; DATEI löschen ^+0:: ;strg shift 0 FileDelete, C:\Spiele\ATITD.txt return ; DATEI coords speichern ; speichert jedesmal immer 1 X/Y Wert dazu ^+9:: ;strg shift 9 MouseGetPos, MouseX, MouseY FileAppend, %MouseX%`n, C:\Spiele\ATITD.txt FileAppend, %MouseY%`n, C:\Spiele\ATITD.txt return ; Farbe testen und speichern ; checks Color on given coords !b:: ;Alt b MouseX = 70 MouseY = 23 MouseGetPos, MouseX, MouseY PixelGetColor, color659, MouseX, MouseY ;gets color FileAppend, %color659%`n, C:\Spiele\ATITD.txt FileAppend, %MouseX%`n, C:\Spiele\ATITD.txt FileAppend, %MouseY%`n, C:\Spiele\ATITD.txt return ; DATEI werte speichern ^+8:: ;strg shift 8 FileAppend, %winWidth%`n, C:\Spiele\ATITD.txt FileAppend, %winHeight%`n, C:\Spiele\ATITD.txt FileAppend, %wood01%`n, C:\Spiele\ATITD.txt FileAppend, %wood02%`n, C:\Spiele\ATITD.txt FileAppend, %wood03%`n, C:\Spiele\ATITD.txt FileAppend, %wood04%`n, C:\Spiele\ATITD.txt FileAppend, %wood05%`n, C:\Spiele\ATITD.txt return
screen view settings t4
;Set screen view F8 ^+F11:: ;strg shift S IfWinactive, eGenesis Client { sleep 200 MouseGetPos, OldMX, OldMY Sleep 200 Send {F5}{F8}{F8} Sleep 200 MouseMove, 2000,2000 Sleep 5000 MouseMove, %OldMX%, %OldMY%, 0 } return
screen size settings t4
; Atitd screen groesse 1143, 814 ^+F12:: ;strg shift f12 WinSet, Style, -0xC00000, eGenesis Client WinMove, eGenesis Client, , 0, 0, A_ScreenWidth-1, A_ScreenHeight-40 return
wood run t4
;needs adjustments on your site ; basic idea: ; pin each tree after the next on left side, then after 9 trees, next on right side ; then set coords to run to next tree ; remain to carry grilled cabbage, maybe set coords to eat again ;--------------------------------------------- ;------------------ W O O D ------------------ ;--------------------------------------------- ; F8 ganz rauszoomen, draufsicht! ^+w:: ; strg shift w MouseX = 13 ; sets F and G line MouseGetPos, woodx01, woodx02 loop { checkeatend() ; perception food sleep, 300 loop, 5 ;anzahl wood runs { IfWinactive, eGenesis Client { MouseClick, left, MouseX, 40 ;1. Baum fenster top left sleep, 200 checkwood() sleep, 300 MouseClick, left, MouseX, 124 ;2. Baum fenster unter 1. fenster top left sleep, 200 checkwood() sleep, 200 ;moving MouseClick, left, 819, 190 ; MOVING Sleep, 400 MouseClick, left, MouseX, 208 ;3 baum fenster sleep, 200 checkwood() sleep, 200 ;moving MouseClick, left, 819, 190 ; MOVING Sleep, 400 MouseClick, left, MouseX, 292 ;4 baum fenster sleep, 200 checkwood() sleep, 200 MouseClick, left, MouseX, 376 ;5 baum fenster sleep, 200 checkwood() sleep, 200 ;moving MouseClick, left, 819, 190 ; MOVING Sleep, 400 MouseClick, left, MouseX, 460 ;6 baum fenster checkwood() ;moving MouseClick, left, 819, 190 ; MOVING Sleep, 400 MouseClick, left, MouseX, 544 ;7 baum fenster, left checkwood() ;moving MouseClick, left, 819, 190 ; MOVING Sleep, 400 MouseClick, left, MouseX, 628 ;8 baum fenster, checkwood() ;moving MouseClick, left, 969, 288 ; MOVING Sleep, 400 MouseClick, left, MouseX, 712 ;9 baum fenster, LINKS checkwood() MouseClick, left, 843, 40 ;1 baum fenster, RECHTS bottle tree checkwood() ;moving MouseClick, left, 869, 418 ; MOVING Sleep, 400 MouseClick, left, 845, 124 ;2 baum fenster, RECHTS Royal Palm checkwood() ;moving back MouseClick, left, 417, 474 ; MOVING Sleep, 400 } } MouseClick, left, 446, 230 ; movig to stop point sleep 900 MouseClick, right, woodx01, woodx02 sleep 75000 MouseClick, right, woodx01, woodx02 sleep 1900 MouseClick, right, woodx01, woodx02 sleep 1900 MouseClick, right, 570, 449 sleep 3900 MouseClick, left, 547, 675 sleep 500 } return checkwood() { MouseGetPos, MouseX, MouseY Sleep, 200 wood02 := MouseY + 8 wood03 := MouseY + 12 woodi1 := MouseY - 20 Sleep, 200 loop ; checks ob holzfenster da is { Sleep, 250 MouseClick, left, MouseX, woodi1 ;check color Sleep, 1000 PixelGetColor, wood04, MouseX, wood03 ;G from Gather Wood PixelGetColor, wood06, MouseX, wood02 ;F from fertilize Sleep, 200 if (wood04 != 0) ; nix DA { Sleep, 300 wood06 := 1 } if (wood06 = 0) ;F from fertilize is DA! { Sleep, 200 wood04 := 1 Sleep, 200 MouseClick, right, 377, 197 ;STOP moving Sleep, 1000 } if (wood04 = 0) ; G from Gather Wood is DA! { MouseClick, left, MouseX, wood02 ;Get wood Sleep, 500 break } } sleep, 111 loop ; checks ob holz genommen { Sleep, 250 MouseClick, left, MouseX, woodi1 ;check color Sleep, 500 PixelGetColor, wood05, MouseX, wood02 ;F from fertilize Sleep, 200 if (wood05 != 0) { Sleep, 500 } if (wood05 = 0) { break } } } ; wood ende
flax helper for 40 fields t4
; ----------------------------------------- ; -------------- F L A X - links ---------- ; ----------------------------------------- ;Flax making !<:: ; ALT < links IfWinactive, eGenesis Client { MouseGetPos, MouseX, MouseY Mx := MouseX -30 MouseClick, R, 0, 0, 1, 0, , R Blockinput, MouseMove Sleep, 90 MouseClick, R, 30, -5, 1, 0, , R Sleep, 5 MouseMove, MX, MouseY Blockinput, MouseMoveOff } return ; ----------------------------------------- ; -------------- F L A X - Rechts ------- ; ----------------------------------------- ;Flax making !Y:: ; ALT Y rechts IfWinactive, eGenesis Client { MouseClick, R, 0, 0, 1, 0, , R MouseGetPos, MouseX, MouseY Blockinput, MouseMove Sleep, 120 MouseClick, R, 30, -5, 1, 0, , R MX := MouseX +30 MouseMove, MX, MouseY Blockinput, MouseMoveOff } return ; ----------------------------------------- ; -------------- F L A X - R I P ------- ; ----------------------------------------- ;Flax seed rip ^+7:: ;strg shift 7 - rechts IfWinactive, eGenesis Client { Blockinput, MouseMove MouseClick, R, 0, 0, 1, 0, , R MouseGetPos, MouseX, MouseY Sleep, 120 MouseClick, R, 30, 26, 1, 0, , R Sleep, 120 MouseClick, R, 46, -20, 1, 0, , R MX := MouseX +30 MouseMove, MX, MouseY Blockinput, MouseMoveOff } return
1 click ticks t4
;--------------------------------------------- ;---------------- 1 C L i C K --------------- ;--------------------------------------------- !F:: ; fish? 1 click blah MouseGetPos, MouseX2, MouseY2 loop { IfWinactive, eGenesis Client { BlockInput, MouseMove sleep 30 MouseGetPos, MouseX3, MouseY3 sleep 200 MouseClick, right, MouseX2, MouseY2 sleep 300 MouseMove, %MouseX3%, %MouseY3%, 0 sleep 30 BlockInput, MouseMoveOff sleep 17000 } } return
2 click ticks t4
;--------------------------------------------- ;---------------- 2 C L i C K --------------- ;--------------------------------------------- ^+h:: ; 2 click blah ;1143 814 loop { IfWinactive, eGenesis Client { MouseClick, right, 223, 57, 1, 0 sleep 1000 MouseClick, left, 563, 608, 1, 0 sleep 3000 MouseClick, right, 223, 57, 1, 0 sleep 1000 MouseClick, left, 563, 213, 1, 0 sleep 3000 } } return
grass 1spot t4
;--------------------------------------------- ;---------------- G R A S S --------------- ;--------------------------------------------- WinGetPos,,, winWidth, winHeight ; grass macro ; clicks on grass icon when you move your mouse over it ^+g:: ;STRG shift g Loop { IfWinActive, eGenesis Client { Sleep, 200 checkmessage() PixelGetColor, color4, 228, 54 if color4 = 0x4A6D9C { MouseGetPos, MouseX3, MouseY3 BlockInput, MouseMove mousemove, 228, 54 sleep, 250 if color4 = 0x4A6D9C { MouseClick, right Sleep, 200 MouseMove, 564, 218 sleep 1800 MouseClick, left } sleep, 250 MouseMove, %MouseX3%, %MouseY3%, 0 BlockInput, MouseMoveOff Sleep, 200 } Sleep, 500 PixelGetColor, color4, 228, 54 if color4 = 0x4A6D9C { MouseGetPos, MouseX3, MouseY3 BlockInput, MouseMove mousemove, 228, 54 sleep, 250 if color4 = 0x4A6D9C { MouseClick, right Sleep, 200 MouseMove, 564, 632 sleep 1800 MouseClick, left } sleep, 250 MouseMove, %MouseX3%, %MouseY3%, 0 BlockInput, MouseMoveOff Sleep, 200 } Sleep, 500 } } return
onions t4
need this for onion macro:
;needs special screen settings, so try it first ; 4 onions ; 1 jug, 4 seeds needed ; needs add macros for t4 ; ----------------------------------------- ; ------------- O N I O N ----------------- ; ----------------------------------------- ^+O:: ; strg shift O loop, { IfWinactive, eGenesis Client { ; plant -> place "plant onion windows" top left sleep 200 MouseClick, right, 87, 40, 1, 0 sleep 400 ; 1. seed rechts MouseClick, right, 44, 21, 1, 0 sleep 400 MouseClick, right, 87, 77, 1, 0 sleep 150 MouseClick, right, 87, 77, 1, 0 sleep 400 MouseClick, right, 33, 139, 1, 0 sleep 400 ; 2. seed, unten MouseClick, right, 44, 21 sleep 400 MouseClick, right, 64, 100 sleep 150 MouseClick, right, 64, 100 sleep 400 MouseClick, right, 33, 139 sleep 400 ; 3. seed, links MouseClick, right, 44, 21 sleep 400 MouseClick, right, 40, 76 sleep 150 MouseClick, right, 40, 76 sleep 400 MouseClick, right, 33, 139 sleep 400 ; 4. seed, oben MouseClick, right, 44, 21 sleep 400 MouseClick, right, 64, 54 sleep 150 MouseClick, right, 64, 54 sleep 400 MouseClick, right, 33, 139 sleep 400 ; ------------------------------------- ; Moves windows right plant MouseClick, right, 624, 409 MouseGetPos, Moov01, Moov02 sleep 200 MouseMove , Moov01+13, Moov02-21 sleep 51 Click down sleep 50 MouseMove , 205, 178 MouseGetPos, Moov01, Moov02 sleep 200 Click up sleep 150 MouseClick, right, Moov01+162, Moov02 sleep 350 ; Moves windows down plant MouseClick, right, 577, 466 MouseGetPos, Moov01, Moov02 sleep 200 MouseMove , Moov01+13, Moov02-21 sleep 51 Click down sleep 50 MouseMove , 465, 178 MouseGetPos, Moov01, Moov02 sleep 200 Click up sleep 150 MouseClick, right, Moov01+162, Moov02 sleep 350 ; Moves windows left plant MouseClick, right, 515, 418 MouseGetPos, Moov01, Moov02 sleep 200 MouseMove , Moov01+13, Moov02-21 sleep 51 Click down sleep 50 MouseMove , 685, 178 MouseGetPos, Moov01, Moov02 sleep 200 Click up sleep 150 MouseClick, right, Moov01+162, Moov02 sleep 350 ; Moves windows top plant MouseClick, right, 579, 360 MouseGetPos, Moov01, Moov02 sleep 200 MouseMove , Moov01+13, Moov02-21 sleep 51 Click down sleep 50 MouseMove , 910,178 MouseGetPos, Moov01, Moov02 sleep 200 Click up sleep 150 MouseClick, right , Moov01+162, Moov02 sleep 350 ; ------------------------------------- ; Water loop, 4 { checkwater() MouseClick, right, 250, 206 sleep 500 checkwater() MouseClick, right, 500, 205 sleep 500 checkwater() MouseClick, right, 710, 206 sleep 500 checkwater() MouseClick, right, 950, 205 sleep 1000 } loop ; 1. onion { click 250, 173 sleep 500 ImageSearch, Px, Py, 190, 190, 370, 230, *50 Find_Harvest_th.png sleep 150 if (ErrorLevel < 1) { Click 250 , 206 ;Click Harvest This sleep 400 Click 367, 175 ; unpin window break } } loop ; 2. onion { click 500, 173 sleep 500 ImageSearch, Px, Py, 450, 190, 610, 230, *50 Find_Harvest_th.png sleep 150 if (ErrorLevel < 1) { Click 500, 205 ;Click Harvest This sleep 400 Click 627, 177 ; unpin window break } } loop ; 3. onion { click 710, 173 sleep 500 ImageSearch, Px, Py, 670, 190, 840, 230, *50 Find_Harvest_th.png sleep 150 if (ErrorLevel < 1) { Click 710, 206 ;Click Harvest This sleep 400 Click 847, 175 ; unpin window break } } loop ; 4. onion { click 950, 173 sleep 500 ImageSearch, Px, Py, 890, 190, 1060, 230, *50 Find_Harvest_th.png sleep 150 if (ErrorLevel < 1) { Click 950, 205 ;Click Harvest This sleep 400 Click 1072, 176 ; unpin window break } } /* ; harvest onions 1.spot MouseClick, right, 250, 206 sleep 200 MouseClick, right, 250, 206 sleep 400 MouseClick, right, 367, 175 sleep 4200 ; harvest onions 2.spot MouseClick, right, 500, 205 sleep 200 MouseClick, right, 500, 205 sleep 400 MouseClick, right, 627, 177 sleep 4200 ; harvest onions 3. spot MouseClick, right, 710, 206 sleep 200 MouseClick, right, 710, 206 sleep 400 MouseClick, right, 847, 175 sleep 4200 ; harvest onions 4. spot MouseClick, right, 950, 205 sleep 200 MouseClick, right, 950, 205 sleep 400 MouseClick, right, 1072, 176 */ } sleep 5000 } return
pop add t4
;needed by some t4 macros ; popup with message checkmessage() { loop, 1 { Sleep, 150 PixelGetColor, mess01, 696, 623 ; popup da? PixelGetColor, mess02, 637, 469 ; popup da? PixelGetColor, mess03, 577, 508 ; popup da? Mousegetpos, mx2, my3 Sleep, 150 if (mess01 != 0 && mess02 != 0 && mess03 != 0) ;popup nicht da { Sleep, 33 break } if (mess01 = 0) ;popup da { MouseClick, right, 696, 623 ; click popup Sleep, 200 mousemove, mx2, my3 break } if (mess02 = 0) ;popup da { MouseClick, right, 637, 469 ; click popup Sleep, 300 mousemove, mx2, my3 break } if (mess03 = 0) ;popup da { MouseClick, right, 577, 499 ; click popup Sleep, 300 mousemove, mx2, my3 break } } } return
pop get t4
;needed by some t4 macros ; popup to get i.e. Water checkgather() { loop, 4 { PixelGetColor, gather01, 572, 451 ; popup da? Mousegetpos, mx2, my3 Sleep, 400 if (gather01 != 0) ;popup nicht da { Sleep, 400 } if (gather01 = 0) ;popup da { MouseClick, right, 572, 455 ; click popup Sleep, 500 mousemove, mx2, my3 Sleep, 200 break } } } return
pop water t4
;needed by some t4 macros ; ---- check Water ---- checkwater() { Sleep, 400 PixelGetColor, water01, 342, 66 ; 3. posi water PixelGetColor, water02, 277, 69 ; 2. posi water Mousegetpos, mx2, my3 Sleep, 400 if (water01 = 0xD6AA8C) ;Water 3. posi da { MouseClick, right, 345, 83 ; click water Sleep, 500 mousemove, mx2, my3 Sleep, 200 checkgather() checkwater() } if (water02 = 0xEFC7B5) ;Water 2. posi da { MouseClick, right, 277, 69 ; click water Sleep, 500 mousemove, mx2, my3 Sleep, 200 checkgather() checkwater() } } return
water t4
;needed by some t4 macros ; ----------------------------------------- ; ------------- water ----------------- ; ----------------------------------------- ^+T:: ;strg shift T ->> Water { checkwater() } return
endurance t4
; need set the coords of endurance in skill window and have skil window always same arrangement ; needs ADD macro from t4 ; for digs, can move mouse, for limestone, for dirt, flax processing, clothwork etc ; ----------------------------------------- ; ------------- endurance ----------------- ; ----------------------------------------- ; wenn schwarz klicken 0x000000 ; sobald rot, aufhören 0x0000FF ; check 17/809, endu skill musst visible !Z:: ;ALT Z ->> endu IfWinactive, eGenesis Client { Mousegetpos, mo2, mo3 loop { Sleep, 200 PixelGetColor, endu01, 17, 808 ; checks endu skill Sleep, 200 if (endu01 != 0x0000FF) ;nicht hellrot! { Mousegetpos, mx2, my3 Sleep, 200 checkeatend() MouseClick, right, mo2, mo3 Sleep, 300 mousemove, mx2, my3 Sleep, 600 } checkmessage() } } return
endurance ADD macro t4
; checks if on food ; will eat griled onions on given coords checkeatend() { sleep 300 Pixelgetcolor, eatend01, 198, 806 sleep 300 if (eatend01 !=0x009A00) { sleep 300 mouseclick, right, 333, 785 ; set here grilled food location sleep 300 } } return
strength AND endurance t4
; need set the coords of endurance in skill window and have skil window always same arrangement ; needs ADD macro from t4 ; for digs, can move mouse, for limestone, for dirt, for flax processing, clothwork, etc ; at SAME time for mining too or coconuts ; needs lots of coord settings ^+Z:: ;strg shift Z ->> endu / strg i := 0 Mousegetpos, mo2, mo3 IfWinactive, eGenesis Client { loop { Sleep, 200 PixelGetColor, endu01, 17, 808 ; checks endu skill PixelGetColor, strg01, 59, 781 ; checks strg skill if (endu01 != 0x0000FF) ;nicht hellrot! { ; MouseClick, right, mo2, mo3 ; Sleep, 2000 ; mousemove, 540,333 ; send p i := i + 1 if (i = 5) { ;send C i := 0 } checkeatend() MouseClick, right, 645, 164 Sleep, 431 } if (strg01 != 0x0000FF) ;nicht hellrot! { ; MouseClick, right, mo2, mo3 MouseClick, right, 474, 156 Sleep, 423 } checkmessage() } } return
Clay t4
; needs adjusting for running ; line with ";" needs to be tuned ; needs ADD macro ; ----------------------------------------- ; ------------- C L A Y ------------------- ; ----------------------------------------- !G:: ; gather clay 1 click blah IfWinActive, eGenesis Client { ;checkwater() ;sleep 300 loop ; anzahl south nord runs { ;sleep 1000 ;MouseClick, left, 561, 681 ; run south ;loop, 15 ; anzahl clay checks ; { checkclay() ; checkmessage() ; } ;sleep 1000 ;checkwater() ;checkmessage() ;checkgather() ;sleep 1000 ;MouseClick, left, 585, 145 ; run north ;loop, 15 ; anzahl clay checks ; { ; checkclay() ; checkmessage() ; } sleep 500 checkwater() checkmessage() ;checkgather() ;sleep 1000 } ; loop run north/south ende ;sleep 1000 ;checkwater() } return
clay ADD macro t4
checkclay() { ; checks clay posi 1 sleep 300 pixelgetcolor, clay01, 219, 67 ; 1. posi clay sleep 200 if (clay01 = 0xBDC3D6) { Mouseclick, right, 230, 81 sleep 200 Mousemove, 270, 100 sleep 300 } } return
another clay macro t4
; needs adjusting for running ; needs ADD macro ;--------------------------------------------- ;---------------- C L A Y --------------- ;--------------------------------------------- WinGetPos,,, winWidth, winHeight ; clay macro ; clicks on clay icon every 1 step back forth !t:: ;alt t { IfWinActive, eGenesis Client { checkwater() loop, 20 { Sleep, 200 checkmessage() PixelGetColor, color4, 219, 67 if color4 = 0xBDC3D6 { MouseGetPos, MouseX3, MouseY3 BlockInput, MouseMove checkclay() sleep 800 MouseMove, 564, 218 sleep 400 MouseClick, left sleep, 250 MouseMove, %MouseX3%, %MouseY3%, 0 BlockInput, MouseMoveOff Sleep, 200 } Sleep, 500 PixelGetColor, color4, 219, 67 if color4 = 0xBDC3D6 { MouseGetPos, MouseX3, MouseY3 BlockInput, MouseMove checkclay() sleep 800 MouseMove, 564, 632 sleep 400 MouseClick, left sleep, 250 MouseMove, %MouseX3%, %MouseY3%, 0 BlockInput, MouseMoveOff Sleep, 200 } Sleep, 500 } } } return
window helper macro t4
; adjusts placing of pinned windows by 1 coord ; ----------------------------------------- ; -------------- move window -------------- ; ----------------------------------------- !M:: ; moving 1 coords fenster MouseGetPos, Moov101, Moov102 sleep 251 Click down sleep 250 MouseMove , Moov101-1, Moov102-1 sleep 200 Click up return
carpentry macro t4
; needs FILE macro to mark carpentry shops ; ----------------------------------------- ; --------------- boards --------------- ; ----------------------------------------- ; boards bretter ; zimmerei carpentry.. uses 8 spots and clicks permanent ^+u:: ;STRG shift U i = 2 Loop { IfWinActive, eGenesis Client { FileReadLine, filelineY, C:\Spiele\ATITD.txt, %i% if ( ErrorLevel <> 0 or filelineY = "" ) { if i=2 { break } else { i = 2 } } else { line := i-1 FileReadLine, filelineX, C:\Spiele\ATITD.txt, %line% Mousemove, %filelineX%, %filelineY% Sleep, 50 send, P i := i+2 } } } return
auto kiln macro t4
; needs FILE macro to mark carpentry shops !2:: ;ALT 2 auto guild buildings at coord 1853 3938 loop, 12 ;after all fired, need 1 kiln in not fire mode top left { ;checkkiln() i = 2 Loop ; kilns { IfWinActive, eGenesis Client { FileReadLine, filelineY, C:\Spiele\ATITD.txt, %i% if ( ErrorLevel <> 0 or filelineY = "" ) { ;if i=2 { break } ; else ; { ; i = 2 ; } } else { line := i-1 FileReadLine, filelineX, C:\Spiele\ATITD.txt, %line% Sleep, 150 Mousemove, %filelineX%, %filelineY% Sleep, 250 ;send T ;sleep, 300 ;send W ;sleep, 300 ;send B ; firebricks ;send J ; jugs send c sleep, 300 ;send F sleep, 300 i := i+2 } } } sleep 200000 } return checkkiln() { ;if T from ture kiln da loop ; { Sleep, 550 MouseClick, left, 236, 40 ;check color Sleep, 1500 PixelGetColor, kiln1, 70, 23 ;T from true Sleep, 200 if (kiln1 != 0) ; nix DA { Sleep, 1000 } if (kiln1 = 0x000000) { Sleep, 300 break } } } return