Code: Select all
#SingleInstance, Force
#NoEnv
SetBatchLines, -1
ListLines Off
Sleep, 100
IniRead,ReadSchloss,Daten/ini/Setup.ini,Schloss,Key1 ; seltsame Pfadangabe(n), gilt auch für nachfolgende Pfade ???
IniRead,ReadSchlossUser,Daten/ini/Setup.ini,Schloss,Key2
IniRead,ReadSchlossZeit,Daten/ini/Setup.ini,Schloss,Key3
#Include D:\Tools\AutoHotkey 1.1\Compiler\ToolTipOpt.ahk
IniRead,ReadAvatareWechseln,Daten/ini/Setup.ini,AvatareWechseln,Key1
IniRead,ReadAvatarJohann,Daten/ini/Setup.ini,AvatarJohann,Key1
IniRead,ReadAvatarHolzfaeller,Daten/ini/Setup.ini,AvatarHolzfaeller,Key1
IniRead,ReadAvatarSofie,Daten/ini/Setup.ini,AvatarSofie,Key1
IniRead,ReadAvatarCarl,Daten/ini/Setup.ini,AvatarCarl,Key1 ; keine der per IniRead ermittelten Werte wird im Funktionsaufruf übergeben. Also bleiben alle in der Funktion verwendeten Variablen leer.
ToolTipFont("s16", "arialbd")
CoordMode, Mouse, Screen
Sleep, 500
ToolTip, Plaziere das Schloss und drücke die Space Taste, 35, 120, 9
Gui, 3: -Caption +AlwaysOnTop
Gui, 3: Show, x70 y160 w400 h400 ;, NA
Gui, 3: Add, Picture, x0 y0 w400 h400, Bilder/Vorschau/SchlossRitter.jpg
Sleep, 500
MouseMove, 512, 969, 0
Sleep, 500
Sleep, %ReadSchlossZeit%
Click, Left, 1
KeyWait, Space, D
ToolTip, , , , 9
Gui, 3: Cancel
Sleep, 200
Var := 0 ; dieser Wert bleibt ohne Wirkung da er weder ausserhalb der Funktion verwendet, noch im Funktionsaufruf übergeben wird.
if (ReadAvatarJohann = 1)
KickAvatar(770)
if (ReadAvatarHolzfaeller = 1)
KickAvatar(900)
if (ReadAvatarSofie = 1)
KickAvatar(1030)
if (ReadAvatarCarl = 1)
Rückmeldung := KickAvatar(1160) ; da keine Rückmeldung aus der Funktion stattfindet, ist die Übergabe in eine Variable hier sinnlos
KickAvatar(Position) { ; hier beginnt die aufgerufene Funktion. Der Parameter im Funktionsaufruf wird hier in der Variablen "Position" gespeichert ...
Loop, %ReadSchloss% ; dieser Loop um"klammert" keinerlei nachfolgenden Code, deshalb wird lediglich die darauf folgende Zeile gelooped.
;{
Sleep, 100
Sleep, %ReadSchlossZeit%
MouseMove, 1340, 800, 0
Sleep, 50
Sleep, %ReadSchlossZeit%
Click, Left, 1 ; Schloss anklicken
Sleep, 1500
Sleep, %ReadSchlossZeit%
MouseMove, 960, 750, 0
Sleep, 50
Sleep, %ReadSchlossZeit%
Click, Left, 1 ; Abenteuer anklicken
Sleep, 1000
Sleep, %ReadSchlossZeit%
MouseMove, 770, 290, 0
Sleep, 50
Sleep, %ReadSchlossZeit%
Click, Left, 1 ; Alpenwiese anklicken
Sleep, 800
Sleep, %ReadSchlossZeit%
MouseMove, 1074, 838, 0
Sleep, 50
Sleep, %ReadSchlossZeit%
Click, Left, 1 ; Untertanen anklicken
Sleep, 1500
Sleep, %ReadSchlossZeit%
MouseMove, %Position%, 290, 0
Sleep, 50
Sleep, %ReadSchlossZeit%
Click, Left, 1 ; Holzfäller anklicken
Sleep, 1000
Sleep, %ReadSchlossZeit%
MouseMove, 1079, 838, 0
Sleep, 50
Sleep, %ReadSchlossZeit%
Click, Left, 1 ; Auf gehts
Sleep, 1200
Sleep, %ReadSchlossZeit%
MouseMove, 500, 1036, 0
Sleep, 500
Sleep, %ReadSchlossZeit%
Click, Left, 1
Sleep, 500
Sleep, %ReadSchlossZeit%
Click, Left, 1
;-------------- Countdown--------------
#Persistent ; an dieser Stelle im Code ???
; E sind die Minuten, F sind die Sekunden ; interessant. War "M" bzw. "S" (was wenigstens annähernd 'sprechend'/selbsterklärend gewesen wäre) schon vergeben?
E := 5
F := 5
StartOver1:
T := 0
W := (E * 60) + F
SubText := Format("{:02}:{:02}", W // 60, Mod(W, 60))
Progress, X50 Y930 M CBFF0000 CTBlack CWDDDDDD P%W% R0-%W%, %SubText%, Wir müssen warten, Countdowner
Loop {
Sleep, 1000
T++
Value := W - T
SubText := Format("{:02}:{:02}", Value // 60, Mod(Value, 60))
Progress, %Value%, %SubText%
} Until (T = W)
Progress, Off
MouseMove, 1354, 463, 0
Sleep, 100
Sleep, %ReadSchlossZeit%
Click, Left, 1
Sleep, 2500
MouseMove, 957, 850, 0
Sleep, 100
Sleep, %ReadSchlossZeit%
Click, Left, 1
Sleep, %ReadSchlossZeit%
Return ;% "Fertig" ; Return ohne jegliche Funktion
} ; hier endet dann die Funktion, wenn diese 'abschließende' Klammer bewusst gesetzt wurde.
Anmerkungen im Code.