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
< User:Nisu Bastet
Jump to navigationJump to searchRevision as of 09:18, 24 May 2010 by Nisu Bastet (talk | contribs) (New page: ;ubar mega big multi macro ; just for copy paste, some are double ; all are for AHK ; 3 different text files, seperated with --- <pre> ; Atitd autohotkey macros ; watched for End timer ...)
- ubar mega big multi macro
- just for copy paste, some are double
- all are for AHK
- 3 different text files, seperated with ---
; 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
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
}
}
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
}
}
endadd()
{
if endtimer() = 0
{
;eatfish()
sleep 200
;send s
MouseClick, right ;,632, 125 , 1, 0
sleep 200
}
}
return
stradd()
{
if strtimer() = 0
{
sleep 300
MouseClick, right, 330, 488, 1, 0
sleep 300
}
}
return
^+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
;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
; for schnitzen macro...
^9:: ;STRG 9 -löschen
FileDelete, C:\ATITD2.txt
return
; for schnitzen macro...
^0:: ;STRG 0 -nimmt koords
MouseGetPos, MouseX, MouseY
FileAppend, %MouseX%`n, C:\ATITD2.txt
FileAppend, %MouseY%`n, C:\ATITD2.txt
return
; boards bretter
; zimmerei carpentry.. uses 8 spots and clicks permanent
^+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
; grass clay
^#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
; 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
i := i+2
popup()
}
}
}
return
popup()
{
pixelgetcolor,pop, 646, 576
if pop = 0
{
MsgBox, Pop Up !
}
}
return
^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
^#!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 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 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
!5:: ;alt 5 rauchen
loop
{
IfWinActive, eGenesis Client
{
conadd()
}
}
return
; Auto run autorun
^#1:: ;STRG win 1
Loop
{
IfWinActive, eGenesis Client
{
MouseClick, Left
Sleep, 43000
}
Sleep, 100
}
return
^+g:: ; strg shift g
;pigment lab window must be top left
;makes colors... Farben
IfWinActive, eGenesis Client
{
loop,788
{
; 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
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 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. 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 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
^#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
!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
!<:: ;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
; 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 * drehen
IfWinActive, eGenesis Client
{
mousemove, 87, 46
sleep, 20
mouseclick, left
}
return
;END bau menu
;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
^+k:: ;strg shift k -- ONLY ONE click for end timer, eats fish
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
}
^+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)
/*
y1 := 95 ;plus 27 mit titelbar (68)
y2 := 111 ;plus mit titelbar
y3 := 127 ;plus mit titelbar
y4 := 143 ;plus mit titelbar
*/
y1 := 111 ;gildenquarry +16
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
;funktionen welche von allen aufgerufen werden
eatFish()
{
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
}
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
}
;end marmor macro inclusiv function
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
}
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
}
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
}
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
}
; line 645 around
^+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 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
;holzkohle CC charcoal
; ---->> OVEN auf anwärter <<-----
^+1:: ;strg shift 1 holz
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
;holzkohle luft zu 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
;holzkohle luft 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
;holzkohle luft auf
^+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
;holzkohle 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
^+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
;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
;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
; 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
!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
^+[:: ;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
;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 ...
-------------
-------------
; 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
}
}
; grass collector
^!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
^!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
^!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
}
}
--------------
--------------
;atitd.ahk
^+[:: ;strg shift [
WinSet, Region, , A
return
^+d:: ; strg shift D
WinSet, disable, , A
return
^+]:: ;strg shift ]
Winset, Enable, , A
return
^+q::Pause, Toggle ; strg shift Q
^+r::Reload ; strg shift R
^+x::ExitApp ;exit macro
return
; 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
;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
; 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
;---------------------------------------------
;------------------ 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
;---------------------------------------------
;------------------ F L A X ------------------
;---------------------------------------------
;Flax making
!<:: ; ALT <
IfWinactive, eGenesis Client
{
MouseClick, R, 0, 0, 1, 0, , R ; clickt wo Mauszeiger steht
BlockInput, MouseMove
Sleep, 120
MouseClick, R, 30, -5, 1, 0, , R
BlockInput, MouseMoveOff
}
return
;---------------------------------------------
;---------------- 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 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
;---------------------------------------------
;---------------- 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
; -----------------------------------------
; ------------- 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
; 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
; 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
; ---- 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 -----------------
; -----------------------------------------
^+T:: ;strg shift T ->> Water
{
checkwater()
}
return
; -----------------------------------------
; ------------- endurance -----------------
; -----------------------------------------
; wenn schwarz klicken 0x000000
; sobald rot, aufhören 0x0000FF
; check 17/809, endu skill muss sichtbar sein
!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
checkeatend()
{
sleep 300
Pixelgetcolor, eatend01, 198, 806
sleep 300
if (eatend01 !=0x009A00)
{
sleep 300
mouseclick, right, 333, 785
sleep 300
}
}
return
^+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
; -----------------------------------------
; ------------- 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
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
;---------------------------------------------
;---------------- 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
; -----------------------------------------
; -------------- 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
; -----------------------------------------
; --------------- 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
!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