# Makro-Master 8.2

Ein visueller Makro-Editor für Windows. Jeder Arbeitsschritt bekommt eine
eigene Nummer (001, 002, 003 …) und wird genau in dieser Reihenfolge
abgearbeitet – vergleichbar mit einer Konstruktionshistorie in einem
CAD-Programm. Schritte lassen sich einzeln anwählen, ändern, verschieben,
deaktivieren und testen.

**Neu in Version 8.2**

* **Hauptschlüssel zum Entwickeln**: ein Schlüssel, der auf jedem Gerät passt.
  Solange er benutzt wird, steht überall **„Debug-Freischaltung"** statt
  „Freigeschaltet" – damit man es nicht verwechselt

**Aus Version 8.1**

* Das Programm lässt sich jetzt als **fertige `.exe`** ausliefern – Käufer
  brauchen kein Python mehr. Der Bauordner enthält alles dafür, ein
  Doppelklick auf `BAUEN.bat` genügt
* Als `.exe` liegen Makros, Bilder und Einstellungen in
  `%APPDATA%\Makro-Master` statt im Programmordner

**Aus Version 8.0**

* **★ Premium**: acht Schritte lassen sich nur noch mit Lizenz *einfügen* –
  geladen und abgespielt werden sie weiterhin von jedem
* **Webseite und Premium oben in der Leiste** erreichbar
* **Meldungen stehen wieder mittig** auf dem Bildschirm
* Die **Sprache schaltet sofort um**, nicht erst beim Schließen der
  Einstellungen – das war der Grund, warum oben noch „ungespeichert" stand

**Aus Version 7.8**

* **Die Übersetzung ist jetzt wirklich vollständig.** Rund 100 Beschriftungen
  standen noch auf Deutsch – der Knopf „Einstellungen", die Tipps im leeren
  Editor, die Erklärtexte in den Einstellungen, die Fehlermeldungen des
  Ablaufs
* **Eigene Ja/Nein-Fenster.** Die Meldungsfenster von Windows beschriften ihre
  Knöpfe in der Sprache des *Betriebssystems* – unter einer englischen Frage
  stand deshalb trotzdem „Ja / Nein / Abbrechen". Diese Fenster baut das
  Programm jetzt selbst
* Der Selbsttest baut die Oberfläche in **allen drei Sprachen komplett auf**
  und liest jede Beschriftung nach – ein vergessenes Wort fällt sofort auf

**Aus Version 7.7**

* Neuer Schritt **„Auf Uhrzeit warten"** – hält das Makro bis 14:30 an, auf
  Wunsch nur an bestimmten Wochentagen
* **Alle Extrafenster erscheinen erst, wenn sie fertig sind – und stehen dann
  im Fokus.** Das Editorfenster ging bei „Warten auf Bild" auf, ohne die
  Tastatur zu bekommen; das ist behoben

**Aus Version 7.6**

* Das Fenster **Schritt bearbeiten** öffnet sich **nur noch auf Zuruf**:
  Doppelklick auf den Schritt, Enter oder der Knopf „Bearbeiten". Beim
  Einfügen eines Schrittes und beim Programmstart bleibt es zu
* **Alle Meldungen im Protokoll und in der Statuszeile sind übersetzt** –
  „Bild gefunden", „Zeitüberschreitung", „Aufnahme beendet" und der Rest
* Ein **eigenes Logo**: im Fenstertitel, in der Taskleiste und im Startmenü

**Aus Version 7.5**

* In den **Profileinstellungen** ist die Zeichentastatur verschwunden – an
  ihrer Stelle steht jetzt der deutlich sichtbare Knopf **⌨ Taste wählen**
* Es gibt eine **Webseite** zum Programm: Infos, Funktionen und Download

**Aus Version 7.4**

* Beim **Position wählen** gibt es die Koordinaten nur noch **einmal**: das
  große zusätzliche Koordinatenfenster ist weg, geblieben ist der kleine
  Kasten direkt neben dem Zeiger
* Der Kasten kann **nie mehr vom Bildschirmrand abgeschnitten** werden – er
  klappt auf die andere Seite und wird zusätzlich in den sichtbaren Bereich
  geschoben

**Aus Version 7.3**

* Die **Koordinaten beim Position wählen** stehen jetzt direkt **neben dem
  Mauszeiger** – und der Fehler, der sie unsichtbar gemacht hat, ist behoben

**Aus Version 7.2**

**Aus Version 7.1**

* **Ohne „Sichtbar" wird nichts mehr auf den Bildschirm gemalt** – auch keine
  Fundrahmen
* **Jede Anzeige einzeln abschaltbar** (Zahnrad neben „Sichtbar")
* Tastendrücke und Wartezeiten stehen jetzt **oben links in der Ecke**
* Beim **Position wählen**: kein Mauszeiger mehr, Koordinaten weichen aus

**Aus Version 7.0**

* **Sichtbar zeigt viel mehr**: Tastendrücke als große Tastenkappen,
  Suchbereich, Fundstelle, Wartezeit als Balken
* **„Jetzt testen" umrandet den Fund immer** – auch wenn Fundrahmen aus sind
* **Einstellungen und die Liste der letzten Makros gehen nicht mehr verloren**:
  sofort gespeichert, sicher geschrieben, mit Sicherungskopie

**Aus Version 6.9**

* Das Startmenü **verschwindet, sobald ein Schritt da ist** und kommt zurück,
  wenn die Liste wieder leer ist – ohne ✕ und ohne „Ohne Makro anfangen"
* „Abstand der Messungen" heißt jetzt deutlicher **„nur bei Beobachtungsdauer"**
  und wird sofort aktiv, wenn du eine Dauer einträgst

**Aus Version 6.8**

* Das **Startmenü liegt jetzt im Programmfenster** statt in einem eigenen Fenster
* **Gleiche Schritte markieren** und **gemeinsam bearbeiten**
* Text bei der Tastenwahl: „Beliebige Taste oder Tastenkombination drücken"

**Aus Version 6.7**

* **Ton abspielen bricht das Makro nicht mehr ab** – klappt der Ton nicht,
  steht das im Protokoll und der Ablauf läuft weiter
* Neuer Ablaufschritt **„Schritte an- / ausschalten"**
* **Protokoll lässt sich einklappen**
* **Startmenü** beim Programmstart mit den letzten zehn Makros
* **Warnung bei doppelt vergebenen Tastenkürzeln**
* „Schritt testen" ist aus der Steuerleiste verschwunden (bleibt im Editor)

**Aus Version 6.6**

* **Bildvarianten sind ein eigener Schritt** – mit eigenem **Suchbereich** und
  eigenem Sprungziel je Vorlage
* **Pixelfarbe im Bereich suchen** statt nur an einem Punkt
* **„Schritt testen"** als Knopf in der Steuerleiste, mit einstellbarer Taste
  (Vorgabe **F8**)
* Fehler behoben: **Kürzel mit Zusatztaste** (z. B. Shift + C) haben keinen
  Schritt eingefügt

**Aus Version 6.5**

* **Bildvarianten**: mehrere Vorlagen je Bildschritt, die erste passende gewinnt
* **Jede Vorlage kann ihr eigenes Sprungziel haben** – das Makro springt je
  nachdem, *welche* Vorlage gefunden wurde
* Alle Sprungziele haben jetzt **„Keine"** und **„Makro beenden"** zur Auswahl

**Aus Version 6.4**

* **Mausposition merken / zurück** ist jetzt **ein** Schritt mit Auswahl
* Neuer Schritt **Zwischenablage**: Text hineinlegen, einfügen, kopieren,
  ausschneiden, Inhalt merken und zurückschreiben, leeren
* **Felder ohne Wirkung werden ausgegraut** – bleiben aber bedienbar
* **Enter schließt** das Editorfenster jetzt auch aus dem Textfeld heraus
  (neue Zeile mit **Shift + Enter**)

**Aus Version 6.3**

* Der Schritt-Editor öffnet sich **nur noch bei Tastatur- und Bildschritten**
  von selbst – nicht mehr bei jedem Schritt und nie beim Kopieren
* **Enter schließt** das Editorfenster
* Bei Tastaturschritten steht der **Eingabefokus direkt im Tasten- bzw.
  Textfeld**

**Aus Version 6.2**

* Zwei neue Schritte: **Mausposition merken** und **Mausposition
  wiederherstellen** (fünf Speicherplätze)
* **Zufällige Streuung** beim Klicken – trifft einen zufälligen Punkt im
  einstellbaren Umkreis statt immer denselben Pixel

**Aus Version 6.1**

* Nach einem Lauf **drängt sich das Fenster nicht mehr in den Vordergrund**
* **Das Fenster kann nicht mehr verschwinden**: ein Wachhund holt es zurück,
  wenn ein Lauf oder das Positionswählen unsauber abgebrochen ist
* **F12** holt das Fenster jederzeit zurück

**Aus Version 6.0**

* Der Knopf **„Öffnen ▾"** klappt ein Menü auf: Dateiauswahl und die
  **letzten fünf** geöffneten Makros mit Schrittzahl und Datum
* Die Startseite aus 5.9 ist wieder entfernt

**Aus Version 5.8**

* **Mausklick** fährt jetzt standardmäßig **„Sofort"** ans Ziel statt weich
* In den **Profileinstellungen** gibt es den Knopf **„Taste wählen"** mit der
  ganzen Tastenliste zum Anklicken

**Aus Version 5.7**

* **Das Makro hält sich nicht mehr selbst an**: Tasten wie ESC, F9, F10 oder
  F11, die das Makro selbst tippt, lösen keinen Not-Stopp und keine Pause mehr
  aus
* Bleibt ein Makro stehen, wird der **Grund sofort angezeigt** statt nur ins
  Protokoll geschrieben
* Neue Einstellung: **bei einem Fehler weiterlaufen** statt abbrechen
* Der **Not-Aus über die Bildschirmecke lässt sich abschalten**

**Aus Version 5.6**

* **„Gedrückt halten" funktioniert jetzt auch mit Strg, Alt, Shift und Win** –
  das Halten läuft über den Scancode der physischen Taste
* Gehaltene Tasten werden **am Ende automatisch freigegeben**, auch nach ESC
* Ein **markierter Schritt behält seine Farbe** und wird nicht mehr weiß
* Hauptfenster noch einmal **2 % breiter** (1642)

**Aus Version 5.5**

* Das **Schritt-Editor-Fenster schließt sich von selbst**, sobald man wieder
  im Hauptfenster arbeitet (abschaltbar)
* **Lautstärkeregler** bei „Ton abspielen", Standard 50 %
* **Hinweistexte** an den vier Schaltern der Steuerleiste
* Bei „Taste / Tastenkombination" ist **nichts mehr vorangekreuzt**, und eine
  einzelne Zusatztaste gilt nicht mehr als Fehler
* **Warnungen lassen sich in den Einstellungen abschalten**

**Aus Version 5.4**

* Fehlende Angaben werden **nur noch beim Abspielen** gemeldet, nicht mehr
  dauernd in Liste und Editor – dafür mit deutlicher Warnung und Rückfrage
* Die vier Schalter **Minimieren / Spiele-Modus / Sichtbar / Testlauf** stehen
  jetzt als **2 × 2** in der Steuerleiste und sind ohne Breitziehen sichtbar

**Aus Version 5.3**

* **Fehlermeldungen**: unvollständige Schritte werden in der Liste rot mit ⚠
  markiert, im Editor mit Klartext erklärt und vor dem Start gesammelt gezeigt
* Bei „Taste / Tastenkombination" lassen sich **Strg / Alt / Shift / Win
  direkt im Schritt ankreuzen**
* Beim **Wählen einer Position** wird jetzt auch das Editorfenster
  ausgeblendet

**Aus Version 5.2**

* Das Programm heißt jetzt **Makro-Master** (Datei `Makro_Master.py`)
* **Sichtbarer Ablauf**: Klicks, Wege, Tasten und der laufende Schritt werden
  live auf dem Bildschirm angezeigt
* **Testlauf**: das Makro läuft komplett durch, klickt und tippt aber nichts –
  ideal, um einen Ablauf gefahrlos zu prüfen
* **Zahnrad neben den Profilen** öffnet direkt die Profileinstellungen
* Hauptfenster **10 % breiter** (1610 statt 1460)
* Das Fenster „Schritt bearbeiten" steht jetzt **mittig auf dem Bildschirm**

**Aus Version 5.1**

* Das Fenster **„Schritt bearbeiten"** ist an das Hauptfenster gekoppelt und
  wird beim Minimieren mit ausgeblendet

**Aus Version 5.0**

* **Spiele-Modus** für 3D-Spiele wie Minecraft, Fortnite oder GTA: Tasten
  gehen als Scancode der physischen Taste raus, die Maus als rohe
  Relativbewegung – erst damit reagieren Spiele überhaupt auf ein Makro
* Neuer Schritt **„Kamera drehen (Spiel)"** für die Blickrichtung
* **Der Schritt-Editor sitzt in einem eigenen Fenster** – die Schrittliste
  bekommt die volle Breite des Hauptfensters
* **Keine Nachfrage mehr beim Löschen** – Strg + Z holt alles zurück

**Aus Version 4.9**

* **Schrifterkennung (OCR) entfernt** – sie war auf fremden Rechnern von einer
  Zusatzinstallation abhängig und zu unzuverlässig. Die Bilderkennung bleibt
  vollständig erhalten.
* Die Leistengruppe „Bild & Text" heißt jetzt nur noch **„Bild"**
* Der Knopf **„▶ Bereich"** in der Steuerleiste ist entfallen – die Befehle
  liegen weiterhin auf dem **Rechtsklick** auf einem Schritt
* **Tastenkürzel stehen überall in Klammern**, zum Beispiel `Start (F9)`
* Fehler behoben: beim Abspielen wurde **nur jeder zweite Schritt markiert**
* Fehler behoben: **„Jetzt testen" und „Diesen Schritt testen" umranden die
  Fundstelle jetzt ebenfalls** auf dem Bildschirm

**Aus Version 4.8**

* **Rechtsklick auf einen Schritt**: ab hier / bis hier abspielen, testen,
  kopieren, einfügen, verdoppeln, ein/aus, löschen, rückgängig
* **Gefundene Bilder werden auf dem Bildschirm umrandet** – die
  Umrandung nimmt keine Klicks entgegen und stört das Makro nicht

**Aus Version 4.7**

* **Bereich abspielen**: ab der Markierung, bis zur Markierung oder genau die
  markierten Schritte
* „Taste gedrückt halten" entfällt (das kann jetzt der Schritt *Taste*),
  alte Makros werden automatisch umgestellt
* **Benachrichtigung mit Ton**
* **Programm / Datei starten** hat jetzt eine Dateiauswahl
* Profile sind in der Steuerleiste als solche beschriftet

**Aus Version 4.6**

* **Strg+Z / Strg+Y** – Rückgängig und Wiederherstellen für alle Änderungen
* Neuer Schritt **Pixelfarbe prüfen**: Position beobachten und je nach Farbe
  springen – übereinstimmend, abweichend oder „Farbe ändert sich"
* Die Statusleiste zeigt **Fortschritt und Maximum**: `7.66 / 23.87 s` und
  `8 / 39 Schritte`
* Fehler behoben: **Benachrichtigungen blieben unsichtbar**, weil das Fenster
  während des Laufs minimiert wurde
* Fehler behoben: die aufgeklappten Schritte landeten bei zwei Bildschirmen auf
  dem falschen – die Leiste klappt jetzt **im Fenster selbst** auf
* Unbelegte Profile zeigen nicht mehr fälschlich „(aktuelles Makro)"

**Aus Version 4.5**

* **Tastenwähler** beim Schritt „Taste / Tastenkombination" – 154 Tasten zum
  Anklicken, dazu Strg/Alt/Shift/Win als Häkchen und ein „Taste drücken"-Knopf
* **Strg+C / Strg+X / Strg+V** für markierte Schritte
* **Löschen-Knopf ist rot**, zusätzlich per **Rücktaste** auslösbar
* **Gesamtzeit** des Durchlaufs unten in der Fußleiste
* Ein noch nicht eingerichtetes Profil öffnet jetzt wirklich die
  Profileinstellungen – auch über die Taste (in 4.3 war die Änderung nicht
  im Programm angekommen)

**Aus Version 4.4**

* Fehler behoben: beim Einrichten eines Kürzels wurde „Alt+" vorangestellt,
  obwohl kein Alt gedrückt war – Ursache war eingeschaltetes **NumLock**
* Das Aufnahmefenster zeigt jetzt live, welche Zusatztasten es erkennt

**Aus Version 4.3**

* **Mausklick** und **Taste**: Klick, Doppelklick, gedrückt halten und loslassen
* Drei neue Schritte unter *Sonstiges*: **Benachrichtigung**, **Ton abspielen**
  und **Makro einbetten** (führt eine andere Makrodatei mitten im Ablauf aus)
* **Kürzel mit einer einzelnen Taste** – ohne Strg oder Alt
* **Jedes Feld einzeln zurücksetzen** statt nur die ganze Seite
* Ein **leeres Profil** öffnet jetzt direkt die Profileinstellungen
* Die Gruppe „Favoriten" ist entfallen, das Register heißt jetzt *Tastenkürzel*
* Beiliegend: **selbsttest.py**, der die komplette Oberfläche durchspielt

**Aus Version 4.1**

* **Profile als kleine Quadrate** ganz links in der Steuerleiste – sichtbar ist
  nur die Taste, alles Weitere erscheint beim Überfahren
* **Beliebige Tasten** für Profile und Kürzel – auch ohne Strg oder Alt
* **Schleife mit Von–Bis**: ein Schritt wiederholt einen Bereich wie 003–024,
  „Schleife ENDE" entfällt (alte Makros werden automatisch umgestellt)
* Bei einem **Bildtreffer** wählbar: klicken, nur hinbewegen oder nur merken
* Fehler behoben: Zeiten landeten teilweise in der falschen Spalte oder fehlten

**Aus Version 4.0**

* Schrittleiste auf **fünf Symbole** eingedampft – Maus, Tastatur, Bild,
  Ablauf, Sonstiges. Maus drüberhalten klappt die Schritte auf.
* **Vier Profile** in einem auffälligen roten Kasten direkt über den Schritten,
  jedes mit eigener Makrodatei, Farbe und Hotkey
* **Wegvorschau**: bei pixelgenauer Bewegung zeigt eine halbtransparente rote
  Linie auf dem Bildschirm, welchen Weg die Maus nimmt
* **Sprachen**: Deutsch, English, Español – umschaltbar in den Einstellungen
* **Zeichentastatur** mit ~195 Symbolen für eigene Knopfbeschriftungen

**Aus Version 3.0**

* Spalten **DAUER** und **GESAMT**: gemessene Zeit jedes Schritts inklusive der
  Pause zwischen den Schritten
* **Bewegungsart** der Maus wählbar: Weich, Gleichmäßig, Sofort, **Pixelgenau**
* **Vier eigene Startknöpfe** mit Beschriftung, Farbe, eigener Makrodatei und
  globalem Hotkey (F1–F8)
* **Einstellungsmenü** mit den Standardwerten jeder einzelnen Funktion
* **Freie Farbe für jede Aktion**, dazu Beschriftung und Farbe der
  Hauptschaltflächen
* **Eigene Tastenkürzel** zum Einfügen von Schritten, Schnellzugriffsleiste frei
  bestückbar

**Aus Version 2.0**

* Design mit hellem und dunklem Thema (oben rechts umschaltbar)
* Schritte mit der Maus greifen und an eine andere Stelle ziehen
* Mehrere Schritte gleichzeitig markieren (Strg / Shift) und gemeinsam
  verschieben, kopieren, löschen, ein- und ausschalten
* Bilderkennung mit Ankerpunkt (Mitte, Ecken, Kanten), Pixel-Versatz und
  Graustufen-Suche

---

## Installation

### Als fertiges Programm (empfohlen)

Wenn du die Datei `Makro_Master.exe` oder `Makro-Master-Setup.exe` bekommen
hast: herunterladen, starten, fertig. **Python brauchst du dafür nicht.**

Deine Makros, Bildvorlagen und Einstellungen liegen dann in
`%APPDATA%\Makro-Master` – tipp das einfach in die Adresszeile des Explorers.
Ein Update überschreibt sie nicht, und beim Deinstallieren bleiben sie stehen.

### Aus dem Quelltext


1. Doppelklick auf **START.bat**
2. Beim allerersten Start werden automatisch eine Arbeitsumgebung und alle
   benötigten Pakete installiert (dauert 1–3 Minuten, nur einmalig).
3. Ist kein Python vorhanden, öffnet START.bat die Download-Seite.
   Beim Installieren unbedingt den Haken **„Add python.exe to PATH"** setzen,
   danach START.bat erneut ausführen.

Ab dem zweiten Mal startet das Programm in wenigen Sekunden.

---

## Die Oberfläche

| Bereich | Funktion |
|---|---|
| **Kopfzeile** | Dateiname, Datei-Schaltflächen, **Einstellungen**, Hilfe, Umschalter hell/dunkel |
| **Steuerleiste** | Vier Profilquadrate **mit Zahnrad**, Start/Pause/Stopp, Aufnahme, Wiederholungen, Tempo und die vier Schalter **Minimieren / Spiele-Modus / Sichtbar / Testlauf** als 2 × 2 |
| **Schnellzugriff** | „Schritt einfügen" – fünf Symbole, die die Schritte ihrer Gruppe direkt darunter aufklappen |
| **Liste** | Der nummerierte Ablauf über die volle Breite – Nr., Schritttyp, Einstellungen, Dauer, Gesamt, Notiz |
| **Editor (eigenes Fenster)** | Alle Einstellungen des markierten Schritts, bei Mehrfachauswahl die Sammelaktionen |
| **Protokoll unten** | Zeigt live, welcher Schritt gerade läuft, und alle Meldungen |
| **Statusleiste** | Links der aktuelle Zustand, in der Mitte **Gesamtzeit und Fortschritt** (`7.66 / 23.87 s` und `8 / 39 Schritte`), rechts die aktuelle Mausposition (X/Y) |

Der gerade laufende Schritt wird in der Liste hervorgehoben. Jede Aktion hat
eine eigene Farbe, die sich unter *Einstellungen → Farben* frei ändern lässt –
**auch markierte Schritte behalten ihre Farbe**, markiert wird nur der
Hintergrund.

---

## Wenn das Fenster verschwindet

Während ein Makro läuft, schiebt sich Makro-Master aus dem Blickfeld – sonst
würde es auf sein eigenes Fenster klicken. Zwei Dinge haben sich daran
geändert:

**Nach dem Lauf bleibt es im Hintergrund.** Das Fenster kehrt zwar an seine
Stelle zurück, holt sich aber nicht mehr den Vordergrund – du arbeitest in dem
Programm weiter, in dem das Makro gelaufen ist. Wer es anders will:
*Einstellungen → Ablauf und Anzeige → „Nach dem Lauf das Fenster wieder in den
Vordergrund holen"*.

**Es kann nicht mehr ganz verschwinden.** Bricht ein Lauf unsauber ab oder
wird das Positionswählen unterbrochen, blieb das Fenster früher hinter dem
Bildschirmrand oder durchsichtig zurück – es half nur ein Neustart. Jetzt
prüft ein Wachhund viermal pro Sekunde, ob das Fenster

* komplett hinter dem Bildschirmrand steht (dorthin wird es beim Lauf
  geschoben – von Hand kommt man da nicht hin), oder
* durchsichtig geblieben ist (das passiert beim Positionswählen),

und stellt es dann wieder her. Während ein Makro läuft oder du gerade eine
Position wählst, hält er sich natürlich zurück. Zusätzlich gibt es
**F12** als Nothelfer – die Taste holt das Fenster jederzeit zurück, auch wenn
ein anderes Programm im Vordergrund ist.

---

## Startmenü

Solange **kein Schritt** in der Liste steht – also beim Programmstart und nach
*Neu* – legt sich im Programmfenster eine Übersicht über die Schrittliste, mit
den **zuletzt gespeicherten zehn Makros** (Name, Schrittzahl, Datum, Ordner).

* Ein **Klick** auf einen Eintrag öffnet das Makro.
* **📁 Öffnen …** führt zur normalen Dateiauswahl.
* Das Häkchen **„Beim Start dieses Menü zeigen"** schaltet es dauerhaft ab.

Sobald du den **ersten Schritt einfügst, verschwindet die Übersicht von
selbst** – und sie kommt zurück, wenn die Liste wieder leer ist. Über das
**⌂-Symbol** in der Kopfzeile holst du sie jederzeit hervor. Gelöschte Dateien
stehen rot da und lassen sich nicht anklicken.

---

## Protokoll einklappen

Ein Klick auf **„▾ Protokoll"** unten links klappt das Protokoll zu – die
Schrittliste bekommt den Platz. Ein weiterer Klick holt es zurück. Der Zustand
wird gemerkt und beim nächsten Start wiederhergestellt. Geschrieben wird auch
im eingeklappten Zustand weiter; du siehst es sofort, wenn du wieder aufklappst.

---

## Zuletzt geöffnete Makros

Der Knopf **„Öffnen ▾"** oben rechts klappt ein kleines Menü auf:

```
Öffnen …   (Strg+O)
──────────────────────────────────────────────
1  Feierabend.makro        12 Schritte  •  16.08.2026  19:04
2  Anmeldung.makro          7 Schritte  •  15.08.2026  22:11
3  Screenshots.makro       23 Schritte  •  14.08.2026  09:37
4  Test.makro               3 Schritte  •  12.08.2026  18:02
5  Erste_Schritte.makro     9 Schritte  •  11.08.2026  20:45
──────────────────────────────────────────────
Liste leeren
```

Ein Klick öffnet das Makro sofort. Gemerkt wird beim Öffnen **und** beim
Speichern; Dateien, die es nicht mehr gibt, stehen grau da und lassen sich
nicht anklicken. **Strg + O** führt weiterhin direkt zur Dateiauswahl.

---

## Gleiche Schritte markieren und gemeinsam bearbeiten

Hast du zwanzig gleiche Klicks im Makro und willst bei allen die Bewegungsart
ändern, geht das jetzt in einem Rutsch.

**Markieren** – Rechtsklick auf einen Schritt:

* **Gleiche Schritte markieren** – alle Schritte derselben Art **und** mit
  denselben Einstellungen
* **Alle Schritte dieser Art markieren** – alle Schritte derselben Art,
  unabhängig von den Werten

Unten in der Statusleiste steht, wie viele gefunden wurden.

**Gemeinsam bearbeiten** – sind alle markierten Schritte von derselben Art,
zeigt der Editor unter den Sammelaktionen **alle Felder** an. Jede Änderung
gilt sofort für **alle** markierten Schritte. Felder, deren Werte sich
zwischen den Schritten unterscheiden, sind mit **„(unterschiedlich)"**
gekennzeichnet – dort steht der Wert des ersten markierten Schritts, und
sobald du ihn änderst, gilt er für alle.

**Strg + Z** nimmt eine Sammeländerung als Ganzes zurück.

Sind Schritte **verschiedener Art** markiert, bleibt es bei den
Sammelaktionen (ein-/ausschalten, kopieren, verschieben, löschen) – ein
Hinweis erklärt warum.

---

## Schritte ordnen

* **Ziehen**: Zeile mit der Maus greifen und an die neue Stelle ziehen –
  eine blaue Linie zeigt, wo der Schritt landet.
* **Strg + Klick** markiert einzelne Schritte, **Shift + Klick** einen Bereich.
  Markierte Schritte lassen sich gemeinsam ziehen, kopieren, löschen und
  ein-/ausschalten.
* Die Nummerierung passt sich nach jeder Änderung automatisch an, Sprungziele
  bleiben dabei korrekt.

| Taste | Wirkung |
|---|---|
| **Strg + C** | Markierte Schritte kopieren |
| **Strg + X** | Ausschneiden |
| **Strg + V** | Hinter der Auswahl einfügen |
| **Strg + D** | Sofort verdoppeln |
| **Entf** oder **Rücktaste** | Löschen (ohne Nachfrage – Strg + Z holt alles zurück) |
| **Alt + Pfeil hoch/runter** | Markierte Schritte verschieben |
| **Strg + Z** | Rückgängig |
| **Strg + Y** oder **Strg+Shift+Z** | Wiederherstellen |
| **Strg + A** | Alles markieren |
| **Leertaste** | Schritt ein-/ausschalten |
| **Enter** oder **Doppelklick** | Schritt-Editor öffnen |

---

## Tastenkürzel (funktionieren überall, auch im Hintergrund)

| Taste | Wirkung |
|---|---|
| **F9** | Makro starten |
| **F10** | Pause / Weiter |
| **ESC** | Not-Stopp |
| **F11** | Aufnahme starten / beenden |
| **F12** | Fenster zurückholen, falls es verschwunden ist |
| **F8** | Markierten Schritt testen (Taste frei wählbar) |
| Maus in die Ecke **oben links** | Zusätzlicher Not-Aus |

---

## ★ Premium

Acht der 26 Schritttypen gehören zur Premium-Version:

| Schritt | |
|---|---|
| Mausposition merken / zurück | Sprung zu Schritt |
| Wenn Bild gefunden → Sprung | Schleife |
| Bildvarianten | Programm / Datei starten |
| Pixelfarbe prüfen | Makro einbetten |

In der Einfügeleiste stehen sie mit einem **★**.

**Wichtig – was gesperrt ist und was nicht:** Gesperrt ist ausschließlich das
**Einfügen** neuer Schritte dieser Art (auch Verdoppeln und Einfügen aus der
Zwischenablage). **Laden und Abspielen geht immer**, auch ohne Lizenz. Ein
Makro, das dir jemand schickt, funktioniert also unverändert – sonst wären
fremde Makros plötzlich kaputt, und das wäre niemandem geholfen.

### Freischalten

1. Oben in der Leiste auf **★ Premium**. Dort steht deine **Geräte-ID**, zum
   Beispiel `ENM9-E7NE-D77Q`. Mit *Kopieren* liegt sie in der Zwischenablage.
2. Auf der Webseite die Geräte-ID und eine E-Mail-Adresse eintragen und
   bezahlen (einmalig, kein Abo).
3. Der Schlüssel kommt per E-Mail. Im Premium-Fenster einfügen, auf
   **Freischalten** klicken.

Der Schlüssel gilt für **genau ein Gerät** und läuft nicht ab. Neuer Rechner?
Neue Geräte-ID schicken, neuen Schlüssel bekommen – das kostet nichts.

Die Geräte-ID ist ein Hash aus Merkmalen deines Rechners. Aus ihr lässt sich
weder dein Name noch deine Hardware zurückrechnen, und sie verlässt deinen
Rechner nur, wenn du sie selbst irgendwo einträgst.

### Hauptschlüssel zum Entwickeln

Im Quelltext steht ganz oben:

```python
DEBUG_SCHLUESSEL = "ICHHABEKEINGELDFUERPREMIUM"
```

Dieser eine Schlüssel passt auf **jedem** Gerät. Er ist zum Ausprobieren da –
damit man die acht Premium-Schritte testen kann, ohne sich selbst einen
Schlüssel auszustellen. Groß- und Kleinschreibung, Bindestriche und
Leerzeichen sind egal.

Damit er nicht unbemerkt aktiv bleibt, ist er überall gekennzeichnet: In der
Kopfleiste steht **„★ Debug-Freischaltung"** in Rot statt „★ Premium", im
Premium-Fenster und in den Einstellungen dasselbe, und beim Start schreibt das
Protokoll eine Warnung.

> **Vor dem Verkaufen abschalten.** Die Zeichenkette steht im Quelltext und
> lässt sich auch aus der fertigen `.exe` herauslesen (`strings
> Makro_Master.exe`, zwei Minuten Arbeit). Wer sie kennt, hat Premium umsonst,
> auf jedem Rechner. Setz vor dem Verkauf entweder `DEBUG_SCHLUESSEL = ""` –
> das schaltet die Hintertür ganz ab – oder ersetze den Text durch eine lange
> zufällige Zeichenkette, die nur du kennst.

---

### Ehrlich zur Sicherheit

Das Programm wird als **lesbarer Python-Quelltext** ausgeliefert. Wer die
Datei öffnet, findet `def ist_premium(self)` und kann daraus `return True`
machen. Die Schlüsselprüfung verhindert, dass ein Schlüssel weitergereicht
wird – sie ist aber kein Kopierschutz und will auch keiner sein. Wer wirklich
verkaufen will, liefert eine `.exe` aus; wie das geht, steht in
`premium/PREMIUM-EINRICHTEN.md`.

### Die Adresse der Webseite ändern

Unter *Einstellungen → Ablauf und Anzeige → Premium und Webseite* steht die
Adresse, die der Knopf **🌐 Webseite** öffnet. Wer das Programm selbst
weitergibt, trägt dort die eigene Seite ein.

---

## Alle Schritttypen

### Maus

| Schritt | Was er macht |
|---|---|
| **Mausklick** | Aktion wählbar: **Klick**, **Doppelklick**, **gedrückt halten**, **loslassen**. Links/Rechts/Mitte, Mehrfachklick. Ziel wahlweise feste Koordinate, aktuelle Mausposition oder der letzte Bildfund. Die Bewegungsart steht auf **„Sofort"** – der Zeiger springt direkt ans Ziel; für einen sichtbaren Weg auf „Weich" umstellen. |
| **Mausbewegung** | Fährt zu X/Y, absolut oder relativ, mit einstellbarer Dauer, Bewegungsart und Schrittweite. |
| **Mausposition merken / zurück** | Oben wählst du *Merken* oder *Wiederherstellen*. Merken legt die aktuelle Position auf einen von fünf Plätzen, Wiederherstellen fährt mit Bewegungsart und Dauer wieder genau dorthin. Ist der Platz leer, wird der Schritt übersprungen oder das Makro hält an (einstellbar). |
| **Kamera drehen (Spiel)** | Rohe Relativbewegung der Maus – nur damit dreht sich die Blickrichtung in 3D-Spielen. `+200 / 0` dreht nach rechts, `-200 / 0` nach links, `0 / +150` nach unten. Dauer, Wiederholungen und Pause einstellbar. |
| **Drag & Drop** | Zieht von A nach B. Die Bewegung wird in viele Teilschritte zerlegt – dadurch erkennen auch anspruchsvolle Programme das Ziehen zuverlässig. Greif- und Haltezeit einstellbar. |
| **Scrollen** | Hoch/runter um X Rasten, optional vorher an eine Position fahren. |
| **Klick auf Bild** | Sucht eine Bildvorlage auf dem Bildschirm. Bei einem Treffer wahlweise **hinbewegen und klicken**, **nur hinbewegen** oder **nur merken** (Maus bleibt stehen). Mit Ankerpunkt, Versatz, Timeout und Verhalten bei Nichtfund. |

### Tastatur

| Schritt | Was er macht |
|---|---|
| **Text schreiben** | Beliebig langer Text. Methode „Zwischenablage" überträgt Umlaute und Sonderzeichen sicher, „Zeichen tippen" simuliert echtes Tippen. |
| **Zwischenablage** | *Text hineinlegen*, *Einfügen (Strg+V)*, *Kopieren (Strg+C)*, *Ausschneiden (Strg+X)*, *Inhalt merken*, *Gemerktes zurückschreiben*, *Leeren*. Damit lässt sich etwas kopieren, woanders einfügen und die alte Zwischenablage danach wiederherstellen. |
| **Taste / Tastenkombination** | **Strg / Alt / Shift / Win** werden direkt im Schritt angekreuzt, daneben steht nur die eigentliche Taste; rechts erscheint die fertige Kombination. Ein neuer Schritt ist leer – nichts ist vorangekreuzt, und eine einzelne Zusatztaste (nur Shift) ist ein gültiger Schritt. Über **„Taste wählen"** öffnet sich eine Liste mit 154 Tasten zum Anklicken – Buchstaben, Zahlen, F-Tasten, Ziffernblock, Sonderzeichen, Steuertasten, Medien- und Browsertasten. Strg/Alt/Shift/Win werden als Häkchen dazugeschaltet, oder man drückt die gewünschte Taste einfach. Aktion wählbar: **drücken und loslassen**, **doppelt drücken**, **gedrückt halten**, **loslassen**. |

### Ablauf

| Schritt | Was er macht |
|---|---|
| **Warten** | Feste Pause in Sekunden. |
| **Auf Uhrzeit warten** | Hält an, bis die Uhr eine bestimmte Zeit zeigt – `14:30` oder `14:30:05`. Wahlweise nur an bestimmten Wochentagen. Ist die Zeit heute schon vorbei: bis morgen warten, sofort weitermachen oder das Makro beenden. Mit Obergrenze gegen versehentliches Dauerwarten. |
| **Warten auf Bild** | Wartet, bis ein Bild erscheint **oder** verschwindet – mit Timeout. |
| **Wenn Bild gefunden → Sprung** | Prüft ein Bild und springt zu zwei frei wählbaren Schritten: einen für „gefunden", einen für „nicht gefunden". |
| **Pixelfarbe prüfen** | Beobachtet einen einzelnen Bildpunkt und springt je nach Ergebnis. Bedingung: **Farbe stimmt überein**, **Farbe ist anders** oder **Farbe ändert sich**. Mit Toleranz, Beobachtungsdauer und Messabstand. |
| **Sprung zu Schritt** | Unbedingter Sprung (GOTO). |
| **Schritte an- / ausschalten** | Schaltet andere Schritte um, sobald dieser erreicht wird: Von-Schritt, Bis-Schritt und *Ausschalten / Einschalten / Umschalten*. Bleibt „Bis" leer, betrifft es nur den einen Schritt. |
| **Schleife** | Wiederholt einen Bereich: Von-Schritt, Bis-Schritt, Anzahl – zum Beispiel 003 bis 024, fünfmal. `0` = endlos. Schleifen sind verschachtelbar. |
| **Makro beenden** | Beendet den Durchlauf sofort. |

### Sonstiges

| Schritt | Was er macht |
|---|---|
| **Kommentar / Marke** | Beschriftung zur Gliederung, tut sonst nichts. |
| **Benachrichtigung anzeigen** | Eigener Hinweis unten rechts – Überschrift, Text, Farbe, Anzeigedauer und **Benachrichtigungston**; auf Wunsch wartet das Makro, bis er wieder weg ist. |
| **Ton abspielen** | Signalton mit frei wählbarer Tonhöhe und Länge, eine eigene `.wav`-Datei oder ein Windows-Systemklang – mit **Lautstärkeregler 0–100 %** (Standard 50) und den Knöpfen *Leise / Mittel / Laut*. Der Regler wirkt beim Signalton und bei `.wav`-Dateien; Systemklänge behalten ihre Windows-Lautstärke. |
| **Makro einbetten** | Führt eine andere Makrodatei mitten im Ablauf aus – z. B. eine vom Desktop. Mehrfach hintereinander möglich, bis zu fünf Ebenen tief verschachtelbar. |
| **Screenshot speichern** | Legt einen Screenshot (ganzer Bildschirm oder Bereich) mit Zeitstempel ab. |
| **Programm / Datei starten** | Öffnet ein Programm oder eine Datei – per Dateiauswahl herausgesucht – und wartet danach. |

---

## Auf Uhrzeit warten

Der Schritt hält das Makro an, bis die Uhr eine bestimmte Zeit zeigt. Damit
lässt sich ein Ablauf auf einen Zeitpunkt legen, ohne das Programm morgens
selbst starten zu müssen: Makro abends mit F9 loslaufen lassen, es wartet und
macht um 06:00 Uhr weiter.

| Feld | Bedeutung |
|---|---|
| **Uhrzeit** | `14:30` oder sekundengenau `14:30:05`. Punkt und Komma gelten auch als Trenner – `14.30` tut es also ebenso. |
| **An welchen Tagen** | *Jeden Tag*, *Montag bis Freitag*, *Samstag und Sonntag* oder ein einzelner Wochentag. Passt heute nicht, wird bis zum nächsten passenden Tag gewartet. |
| **Wenn die Uhrzeit heute schon vorbei ist** | *Auf morgen warten* (Vorgabe), *Sofort weitermachen* oder *Makro beenden*. |
| **Höchstens … Stunden warten** | Notbremse. `0` heißt ohne Grenze. Wäre die Wartezeit länger, hält das Makro an oder überspringt den Schritt – je nach Einstellung darunter. |

Ein paar Feinheiten:

* **Pause verschiebt den Termin nicht.** Drückst du zwischendurch F10, bleibt
  14:30 trotzdem 14:30 – anders als beim normalen „Warten", das eine Pause
  hinten dranhängt.
* **ESC bricht auch während des Wartens sofort ab.**
* Bei eingeschaltetem **„Sichtbar"** läuft oben links ein Balken mit dem
  Zieltermin mit.
* Das Protokoll schreibt beim Start der Wartezeit hin, worauf gewartet wird:
  `wartet bis Do 06:00:00  (noch 8 h 12 min)`.
* Eine unleserliche Uhrzeit ist ein Fehler und hält das Makro an – so fällt ein
  Tippfehler sofort auf, statt still übergangen zu werden.

---

## Mausposition merken und zurückholen

Zwei Schritte in der Gruppe **Maus**:

* **Mausposition merken** – legt die aktuelle Position auf einen von **fünf
  Plätzen** (1–5).
* **Mausposition wiederherstellen** – fährt wieder genau dorthin, mit
  Bewegungsart und Dauer wie bei jeder anderen Bewegung.

Damit lässt sich mitten im Ablauf etwas ganz woanders anklicken und danach
genau da weitermachen, wo man war:

```
001  Mausposition merken            Platz 1  ←  Aktuelle Mausposition
002  Mausklick                      → X=1720 Y=40    [links Klick]
003  Warten                         0.5 s
004  Mausposition wiederherstellen  Platz 1  →  Maus   (Sofort)
005  Mausklick                      → Aktuelle Mausposition
```

Ist ein Platz noch leer, wird der Schritt still übersprungen – auf Wunsch hält
das Makro stattdessen an. Die Plätze gelten auch innerhalb eingebetteter
Makros.

---

## Ausgegraute Felder

Nicht jede Einstellung passt zu jeder anderen. Felder, die bei der aktuellen
Auswahl **keine Wirkung** haben, stehen jetzt **in Klammern und blass** da:

| Beispiel | Was verblasst |
|---|---|
| Mausklick auf *Aktuelle Mausposition* | Position X/Y, Bewegungsart, Dauer |
| Mausklick mit *Gedrückt halten* | Anzahl Klicks, Pause zwischen Klicks |
| Mausbewegung, nicht pixelgenau | Pixel je Zwischenschritt |
| Text schreiben über die *Zwischenablage* | Tipptempo |
| Ton als *Klangdatei* | Tonhöhe und Länge |
| Ton als *Windows-Systemklang* | Lautstärke (die kommt vom System) |
| Mausposition **merken** | Bewegungsart, Dauer, Verhalten bei leerem Platz |
| Klick auf Bild mit *Nur merken* | Ankerpunkt, Versatz, Maustaste, Klicks |

**Gesperrt ist nichts.** Du kannst jedes graue Feld weiterhin anklicken und
ändern – der Wert bleibt erhalten und wirkt sofort wieder, sobald du die
Einstellung zurückstellst. Fährst du mit der Maus über die Zeile, erklärt ein
Hinweis, warum sie gerade blass ist.

---

## Zufällige Streuung beim Klicken

**Mausklick** und **Klick auf Bild** haben das Feld **„Zufällige Streuung in
Pixeln"**. Steht dort `3`, wird nicht immer derselbe Bildpunkt getroffen,
sondern bei jedem Klick ein zufälliger Punkt im **Umkreis von 3 Pixeln** –
immer innerhalb des Kreises, nie daneben.

Der Grund: Immer exakt derselbe Pixel, auf die Millisekunde genau, sieht nach
Automatik aus. Ein paar Pixel Streuung wirken wie eine echte Hand. `0` (die
Vorgabe) trifft weiterhin exakt – wichtig bei kleinen Schaltflächen.

Die Streuung wirkt auch bei „Aktuelle Mausposition" als Ziel: dann wackelt der
Zeiger vor dem Klick um ein paar Pixel.

---

## Bewegungsart der Maus

Bei **Mausklick**, **Mausbewegung**, **Drag & Drop** und **Klick auf Bild** lässt
sich wählen, wie die Maus zum Ziel fährt:

| Art | Verhalten |
|---|---|
| **Weich** | Beschleunigt und bremst wieder ab – wirkt am natürlichsten. |
| **Gleichmäßig** | Konstante Geschwindigkeit über die eingestellte Dauer. |
| **Sofort** | Springt ohne Zwischenschritte ans Ziel. Am schnellsten. |
| **Pixelgenau** | Fährt in kleinen Schritten, standardmäßig Pixel für Pixel. Nötig bei Programmen, die jede Zwischenposition auswerten: Zeichenflächen, Schieberegler, Menüs die beim Überfahren aufklappen, Drag & Drop mit Einrast-Punkten. Die Schrittweite ist bei „Mausbewegung" einstellbar (1 = jeder Pixel). |

---

## Zeitmessung

Die Spalten **DAUER** und **GESAMT** füllen sich, während das Makro läuft:

* **DAUER** – wie lange dieser eine Schritt gebraucht hat, inklusive der Pause,
  die nach ihm eingelegt wird.
* **GESAMT** – wie viel Zeit vom Start bis zum Ende dieses Schritts vergangen ist.

Zeit, die das Makro im Pausenzustand (F10) verbringt, wird herausgerechnet.
Die Pause zwischen zwei Schritten stellst du unter *Einstellungen → Ablauf und
Anzeige* ein (Standard 0,05 s). `0` heißt ohne Pause – dann läuft das Makro am
schnellsten, manche Programme kommen dann aber nicht hinterher.
„Zeiten zurücksetzen" über dem Protokoll leert die beiden Spalten wieder.

---

## Schritte einfügen – fünf Symbole

Über der Liste stehen fünf Symbole statt einer langen Knopfleiste:

| Symbol | Gruppe | Enthält |
|---|---|---|
| Maus | **Maus** | Mausklick, Mausbewegung, Kamera drehen (Spiel), Drag & Drop, Scrollen, Mausposition merken / zurück |
| Tastatur | **Tastatur** | Text schreiben, Taste/Kombination, Zwischenablage |
| Bild | **Bild** | Klick auf Bild, Warten auf Bild, Wenn Bild, Bildvarianten (verzweigen), Pixelfarbe prüfen |
| Verzweigung | **Ablauf** | Warten, Sprung, Schleife, Schritte an-/ausschalten, Makro beenden |
| Punkte | **Sonstiges** | Kommentar, Screenshot, Programm starten |

Ein Klick auf ein Symbol klappt die Schritte der Gruppe **direkt darunter im
Fenster** auf; ein Klick auf einen Schritt fügt ihn hinter dem markierten ein.
Auf jedem Eintrag steht das zugehörige Tastenkürzel. Weil nichts in einem
eigenen Fenster liegt, kann auch bei mehreren Bildschirmen nichts mehr auf dem
falschen landen.

Ein Kürzel je Aktion vergibst du unter *Einstellungen → Tastenkürzel*.

---

## Profile

Ganz links in der Steuerleiste – dort, wo vorher nur der Start-Knopf saß –
liegen vier kleine farbige Quadrate. Sichtbar ist **nur die zugehörige Taste**
(F1, F2 … oder was du vergibst). Fährt die Maus darüber, erscheint ein
Hinweisfenster mit Name, Makrodatei und Taste.

Ein Klick oder der Tastendruck startet das Makro des Profils **sofort** –
unabhängig davon, was gerade im Editor offen ist. Ist für ein Profil noch keine
Datei hinterlegt, öffnen sowohl der Klick als auch die Taste direkt die
Profileinstellungen, statt irgendetwas abzuspielen. Nicht belegte Profile
werden blass dargestellt.

Als Taste ist **jede Taste** erlaubt, auch ohne Strg oder Alt, und sie wirkt
auch dann, wenn ein ganz anderes Fenster im Vordergrund ist. Eingerichtet wird
alles unter *Einstellungen → Profile*: Beschriftung, Farbe, Makrodatei, Taste.
Für die Taste gibt es dort zwei Wege: **⌨ „Taste wählen"** – der auffällige
Hauptknopf in der Zeile – öffnet dieselbe Tastenliste zum Anklicken wie beim
Schritt *Taste*, und **„Taste drücken"** nimmt einfach die Taste auf, die du
drückst. F9, F10 und
F11 sind für Start, Pause und Aufnahme reserviert; vergibst du eine Taste
doppelt, wird sie dem anderen Profil automatisch entzogen.
Am schnellsten geht das über das **Zahnrad ⚙ direkt neben den vier Quadraten**
– es springt sofort in die Profileinstellungen.

---

## Wegvorschau bei pixelgenauer Bewegung

Steht die Bewegungsart bei **Mausbewegung** oder **Drag & Drop** auf
**Pixelgenau**, zeigt das Programm den geplanten Mausweg direkt auf dem
Bildschirm – als halbtransparente rote Linie mit Pfeil, Start- und Endpunkt
sowie der Länge in Pixeln:

* **beim Setzen der Position** – während du das Ziel anklickst, hängt die Linie
  live am Mauszeiger
* **nach dem Setzen** – die Vorschau erscheint kurz zur Kontrolle
* **jederzeit** über die Schaltfläche **„Mausweg anzeigen"** im Editor

---

## Logo

Im Ordner `logo` liegt das Programmsymbol in mehreren Größen:

| Datei | Wofür |
|---|---|
| `makro_master.ico` | Fenstertitel und Taskleiste unter Windows |
| `symbol.png`, `symbol_256.png` | dasselbe Symbol als PNG (Taste **M** mit Mauszeiger) |
| `logo.png`, `logo_512/256/128/64.png` | das quadratische Logo mit Schriftzug |

Das Programm sucht die Dateien selbst und setzt das Symbol beim Start. Im
**Startmenü** steht das quadratische Logo neben dem Namen. Fehlt der Ordner,
läuft alles weiter wie bisher – nur eben ohne Symbol.

Für ganz kleine Größen (16 × 16 in der Taskleiste) wird bewusst nur die
**Taste M mit dem Mauszeiger** verwendet: Der volle Schriftzug wäre dort
unlesbar.

---

## Sprache

Unter *Einstellungen → Ablauf und Anzeige → Sprache* lässt sich zwischen
**Deutsch**, **English** und **Español** umschalten. Übersetzt sind die gesamte
Oberfläche, alle Schritt- und Feldnamen, die Auswahlwerte, die Kurzanleitung
und – seit Version 7.6 – **auch jede Meldung im Protokoll und in der
Statuszeile**: „Bild gefunden", „Zeitüberschreitung (bester Wert 0,71)",
„Aufnahme beendet", „Makro abgebrochen" und der ganze Rest. Der Selbsttest
prüft das mit: Eine neue Meldung, die nicht durch die Übersetzung läuft, lässt
ihn durchfallen.

Seit 8.0 wird die Sprache **sofort** umgeschaltet. Vorher wirkte die Auswahl
erst, wenn das Einstellungsfenster zuging – die Leiste dahinter stand so lange
noch auf Deutsch, weshalb dort „ungespeichert" statt „unsaved" zu lesen war.

Auch die **Ja/Nein-Fenster gehören dazu**. Die Meldungsfenster von Windows
beschriften ihre Knöpfe nämlich in der Sprache des *Betriebssystems*: Auf einem
deutschen Windows stand unter einer englischen Frage trotzdem
„Ja / Nein / Abbrechen". Deshalb baut Makro-Master diese Fenster selbst. Bei
„Änderungen speichern?" heißen die Knöpfe jetzt außerdem, was sie tun –
**Speichern und weiter**, **Ohne Speichern weiter**, **Abbrechen** – statt nur
Ja und Nein.

Der Selbsttest baut die komplette Oberfläche in allen drei Sprachen auf – jedes
Fenster, jeden Schritttyp, jedes Feld – und liest anschließend rund 1.900
Beschriftungen nach. Findet er darin auch nur ein deutsches Wort, fällt er
durch. Dazu prüft er, dass jeder Übersetzungsschlüssel existiert und dass
Platzhalter wie `%s` in allen drei Sprachen gleich sind.

Wichtig: Gespeicherte Makros bleiben davon unberührt – intern werden immer
dieselben Werte abgelegt. Eine Makrodatei lässt sich also in einer Sprache
bauen und in einer anderen weiterbearbeiten.

---

## Zeichentastatur

Beim Beschriften der Hauptschaltflächen (*Einstellungen → Schaltflächen*)
sitzt neben dem Textfeld ein kleines Tastatursymbol. In den
**Profileinstellungen gibt es sie bewusst nicht** – dort zählt die Taste, nicht
das Symbol. Es öffnet eine Palette mit rund 195
Zeichen in fünf Gruppen – Pfeile, Formen, Symbole, Sonderzeichen und
Buchstaben mit Akzenten. Ein Klick hängt das Zeichen an die Beschriftung an,
sodass Knöpfe zum Beispiel „▶ Anmeldung" oder „⚙ Backup" heißen können.

---

## Einstellungsmenü

Oben rechts über **⚙ Einstellungen**:

| Register | Inhalt |
|---|---|
| **Standardwerte** | Für jede einzelne Funktion die Werte, mit denen ein neuer Schritt angelegt wird – z. B. Genauigkeit 0.78 statt 0.85 oder Bewegungsart „Sofort" bei jedem neuen Mausklick. Bereits vorhandene Schritte bleiben unverändert. Über das kleine **↺** rechts neben einem Feld lässt sich **nur dieses eine Feld** zurücksetzen. |
| **Farben** | Freie Farbe für jede Aktion, einzeln zurücksetzbar. |
| **Tastenkürzel** | Ein frei wählbares Kürzel je Aktion, das den Schritt sofort einfügt. Erlaubt ist **jede Taste, auch eine einzelne ohne Strg oder Alt**. Beim Aufnehmen zählen nur Zusatztasten, die du wirklich gedrückt hältst – NumLock, Feststell- und Rollen-Taste haben keinen Einfluss. Während du in ein Textfeld schreibst, lösen Kürzel nicht aus. |
| **Profile** | Die vier Profile: Beschriftung, Farbe, Makrodatei, Taste. |
| **Schaltflächen** | Beschriftung (mit Zeichentastatur) und Farbe von Start, Pause, Stopp und Aufnahme. |
| **Ablauf und Anzeige** | Pause zwischen den Schritten, Zeitspalten ein/aus, Fenster minimieren, **Sprache**, Thema. |

Alles landet in `einstellungen.json` neben dem Programm und gilt beim nächsten
Start wieder. „Alles auf Werkseinstellung" setzt sämtliche Anpassungen zurück.

---

## Positionen, Bereiche und Bilder auswählen

* **„Position wählen"** – das Fenster verschwindet, der Bildschirm wird
  leicht abgedunkelt, oben steht laufend die Koordinate unter der Maus.
  Ein Klick übernimmt sie. ESC bricht ab.
* **„Bereich wählen"** – mit gedrückter Maustaste einen Rahmen aufziehen.

Während du eine Position oder einen Bereich wählst, werden **Hauptfenster,
Editorfenster und Einstellungen ausgeblendet** – du siehst genau das, was
darunter liegt.

Der **Mauszeiger ist dabei unsichtbar**: Ein feines Fadenkreuz über den ganzen
Bildschirm trifft genauer als die Zeigerspitze und verdeckt den Bildpunkt
nicht.

Die **Koordinaten** stehen in **einem** kleinen Kasten – `X = 1280   Y = 470` –
**direkt neben dem Zeiger**, schräg rechts unter ihm: nah genug, um sie im
Blick zu haben, weit genug, um den Bildpunkt nicht zu verdecken. Am rechten
oder unteren Bildschirmrand klappt der Kasten auf die andere Seite und wird
zusätzlich in den sichtbaren Bereich geschoben – er kann also **nie
abgeschnitten** werden. Beim Aufziehen eines Bereichs zeigt er die **Größe**
statt der Position.
* **„Bildausschnitt aufnehmen"** – Rahmen um das gesuchte Element ziehen
  (z. B. einen Button). Das Bild landet im Ordner `bilder` und wird im
  Editor als Vorschau angezeigt.
* **„Jetzt testen"** – prüft sofort, ob die Vorlage gerade gefunden wird,
  und meldet Fundort und Übereinstimmungswert.

### Einstellungen der Bilderkennung

| Einstellung | Bedeutung |
|---|---|
| **Genauigkeit** | 0.85 ist ein guter Startwert. Nichts gefunden → 0.75. Falsche Treffer → 0.92. |
| **Farben ignorieren (Graustufen)** | Sucht nur nach Helligkeitsmustern. Hilft, wenn sich Farbtöne, Akzentfarben oder das Windows-Design ändern. |
| **Suchbereich** | Schränkt die Suche auf einen Ausschnitt ein – schneller und deutlich treffsicherer. |
| **Mauszeiger auf** | Wohin die Maus im gefundenen Bild fährt: Mitte, Oben links, Oben Mitte, Oben rechts, Links Mitte, Rechts Mitte, Unten links, Unten Mitte, Unten rechts. |
| **Versatz X / Y** | Verschiebt den Punkt zusätzlich um Pixel (Minus geht nach links bzw. oben). |

**Beispiel:** Ein Eingabefeld wird als Vorlage aufgenommen, geklickt werden soll
aber der kleine Auswahlpfeil rechts daneben → Ankerpunkt „Rechts Mitte" plus
Versatz X = 20.

Bei „Warten auf Bild" und „Wenn Bild gefunden" legt der Ankerpunkt fest, welche
Stelle als *letzter Bildfund* gemerkt wird – ein späterer „Mausklick" mit dem
Ziel „Letzter Bildfund" klickt dann genau dorthin.

---

## Aufnahme-Modus

**F11** drücken und ganz normal arbeiten. Mitgeschnitten werden:
Klicks, Ziehbewegungen, Scrollen, getippter Text, Sondertasten – und die
Pausen dazwischen. **F11** oder **ESC** beendet die Aufnahme; die Schritte
hängen fertig nummeriert in der Liste und können dort nachbearbeitet werden.

---

## Pixelfarbe prüfen

Der Schritt beobachtet einen einzelnen Bildpunkt. **„Farbe vom Bildschirm"**
nimmt Position und Farbe in einem Zug auf: Fenster verschwindet, Punkt
anklicken, fertig.

| Einstellung | Bedeutung |
|---|---|
| **Bedingung** | *Farbe stimmt überein*, *Farbe ist anders* oder *Farbe ändert sich* (verglichen mit der Farbe beim Betreten des Schritts) |
| **Toleranz** | Wie weit die Farbe abweichen darf. `0` = exakt, `12` ist ein guter Startwert, `255` = alles |
| **Beobachtungsdauer** | `0` prüft einmal. Größer 0 misst so lange nach, bis die Bedingung zutrifft |
| **Abstand der Messungen** | Wie oft nachgemessen wird |

Je nach Ergebnis wird zu zwei frei wählbaren Schritten gesprungen. Praktisch,
um auf einen Ladebalken, eine Statusleuchte oder einen Farbwechsel zu warten,
ohne dafür ein Bild aufnehmen zu müssen.

---

## Spiele-Modus (Minecraft, Fortnite, GTA …)

Das übliche Problem mit Makroprogrammen: In 3D-Spielen passiert einfach
nichts. Der Grund ist keine Sperre, sondern die Art, wie Spiele lesen:

* Die **Tastatur** lesen sie über DirectInput bzw. Raw Input. Dort zählt der
  **Scancode der physischen Taste**, nicht der Buchstabe, den normale
  Makroprogramme schicken.
* Die **Maus** lesen sie als **rohe Relativbewegung**. Ein Mauszeiger, der
  irgendwohin gesetzt wird, dreht die Kamera überhaupt nicht.
* Ein Tastendruck, der nach einer Millisekunde wieder vorbei ist, fällt
  zwischen zwei Bilder und wird nie bemerkt.

Der Schalter **„🎮 Spiele-Modus"** in der Steuerleiste stellt alles um:

| | Normal | Spiele-Modus |
|---|---|---|
| Tasten | Buchstabe/Zeichen | Scancode der physischen Taste |
| Klicks | Systemklick | echtes Tastenereignis der Maus |
| Mausweg | Sprung zum Ziel | viele kleine Schritte |
| Haltezeit | sofort wieder los | mindestens 0,05 s (einstellbar) |
| Kamera | nicht möglich | Schritt „Kamera drehen (Spiel)" |

**Kamera drehen**: `+200 / 0` dreht nach rechts, `-200 / 0` nach links,
`0 / +150` nach unten. Die Drehung wird über die eingestellte Dauer in viele
kleine Bewegungen zerlegt, damit sie flüssig aussieht und das Spiel jede
Zwischenposition mitbekommt.

Damit es klappt:

* Das Spiel muss **im Vordergrund** sein.
* Am zuverlässigsten läuft **„Vollbild-Fenster"** bzw. **„randloses Fenster"**
  statt echtem Vollbild.
* Die Haltezeit unter *Einstellungen → Ablauf und Anzeige* notfalls erhöhen
  (0,08–0,12 s), wenn das Spiel mit wenigen Bildern pro Sekunde läuft.
* Manche Spiele mit Anti-Cheat-Schutz blockieren automatisierte Eingaben
  grundsätzlich – daran kann kein Programm etwas ändern.

---

## Fenster erscheinen fertig und im Fokus

Alle Extrafenster – Einstellungen, Zeichentastatur, „Taste wählen", „Taste
drücken", Kurzanleitung und das Editorfenster – werden **verborgen aufgebaut
und erst gezeigt, wenn sie fertig sind**. Danach holt sich das Fenster den
Tastaturfokus, und wo es sinnvoll ist, steht der Cursor gleich im richtigen
Feld.

Vorher konnte es passieren, dass ein Fenster erschien, während der Inhalt noch
gebaut wurde – beim Schritt **„Warten auf Bild"** ging das Editorfenster auf,
ohne die Tastatur zu bekommen. Ursache war die Reihenfolge: Das Fenster wurde
zuerst sichtbar gemacht und der Fokus gesetzt, danach wurden alle Felder neu
aufgebaut, wobei der Fokus wieder verloren ging. Jetzt kommt erst der Inhalt,
dann das Fenster.

Windows verweigert einen Fokuswechsel gelegentlich, wenn er zu früh kommt.
Deshalb wird er kurz danach noch einmal versucht – auffallen tut davon nichts.

---

## Schritt bearbeiten – eigenes Fenster

Der Editor liegt in einem **eigenen, großen Fenster mittig auf dem
Bildschirm**, damit die Schrittliste die ganze Breite behält.

* Es liegt **immer vor dem Hauptfenster** und rutscht nie dahinter.
* **Sobald du wieder im Hauptfenster arbeitest, schließt es sich von selbst** –
  so verdeckt es nie die Liste. Abschaltbar unter *Einstellungen → Ablauf und
  Anzeige*. Während du eine Position wählst, bleibt es natürlich zugeordnet
  und kommt danach zurück.
* Wird das Hauptfenster **minimiert**, verschwindet es mit – und kommt beim
  Wiederherstellen zurück.
* Während ein Makro **läuft**, ist es automatisch aus dem Weg.
* Es hat keinen eigenen Eintrag in der Taskleiste.

Geöffnet wird es

* mit **Doppelklick** auf einen Schritt,
* mit **Enter**,
* über den Knopf **„Bearbeiten"** über der Liste,
* per Rechtsklick → *Bearbeiten*.

**Sonst nie.** Das Fenster geht ausschließlich auf, wenn du es verlangst –
nicht beim Einfügen eines Schrittes, nicht beim Verdoppeln, Kopieren oder
Einfügen und auch nicht beim Programmstart. Nichts springt einem mehr
ungewollt ins Bild.

Bei einem **Tastaturschritt** steht der Eingabefokus gleich im Tasten- bzw.
Textfeld: Fenster geht auf, du tippst los.

Die Auswahl in der Liste wird sofort übernommen – anklicken genügt. Geschlossen
wird mit **Enter** (im mehrzeiligen Textfeld macht Enter weiterhin einen
Zeilenumbruch), mit **ESC** oder über das Fensterkreuz. Verschiebst oder
vergrößerst du das Fenster selbst, merkt sich das Programm **Größe und
Stelle**. Wer den Editor lieber ganz ohne eigenes Fenster hätte, schaltet ihn
unter *Einstellungen → Ablauf und Anzeige* ab.

---

## Wenn das Makro mitten drin stehen bleibt

Bleibt ein Makro unerwartet stehen, erscheint jetzt sofort ein Hinweisfenster
mit dem **Grund** – und derselbe Text steht in der Statuszeile und im
Protokoll. Die drei häufigsten Ursachen:

### 1. Das Makro hat sich selbst angehalten

Das war die häufigste und unangenehmste Falle: Makro-Master lauscht ständig
auf **ESC** (Not-Stopp), **F9** (Start), **F10** (Pause) und **F11**
(Aufnahme) – auch im Hintergrund. Tippt nun ein Schritt selbst ESC (etwa um
ein Fenster im Zielprogramm zu schließen), hörte das Programm seine eigene
Taste und hielt an. Genauso pausierte ein Makro sich selbst mit F10, und ein
getippter Buchstabe konnte eine Profiltaste auslösen.

Ab Version 5.7 merkt sich das Programm jede Taste, die es selbst schickt, und
ignoriert sie im Tastenlauscher. Im Protokoll steht dann:
`ESC kam vom Makro selbst – das Makro läuft weiter.` Deine eigenen
Tastendrücke wirken unverändert.

### 2. Not-Aus über die Bildschirmecke

Fährt der Mauszeiger genau in die **Ecke oben links**, bricht das Makro
absichtlich ab – die eingebaute Notbremse. Das kann auch ungewollt passieren,
wenn ein Schritt dort hin klickt. Die Meldung sagt das jetzt im Klartext,
und unter *Einstellungen → Ablauf und Anzeige* lässt sich die Notbremse
abschalten.

### 3. Ein Schritt ist fehlgeschlagen

Zum Beispiel, weil ein Bild nicht gefunden wurde. Bisher endete damit das
ganze Makro. Neu unter *Einstellungen → Ablauf und Anzeige*:

> **Bei einem Fehler nicht abbrechen, sondern mit dem nächsten Schritt
> weitermachen**

Der fehlerhafte Schritt wird dann übersprungen (mit Eintrag im Protokoll), und
am Ende steht, wie viele Schritte übersprungen wurden.

---

## Was fehlt noch? – Fehlermeldungen beim Abspielen

Ein Makro scheitert meistens an Kleinigkeiten: eine Bildsuche ohne Vorlage,
eine Taste ohne Tastennamen, ein Sprung auf einen gelöschten Schritt.

**Beim Bauen sagt das Programm dazu nichts** – erst wenn du auf Start (oder
Profil, Bereich, Einzeltest) drückst. Dann werden alle Schritte geprüft und
du bekommst eine Warnung:

```
⚠  Makro-Master

3 Punkte sind noch offen:

Schritt 002:  Keine Bildvorlage aufgenommen
Schritt 005:  Keine Taste ausgewählt
Schritt 009:  Sprungziel gibt es nicht mehr

Diese Schritte werden mit einem Fehler abbrechen.
Trotzdem abspielen?              [ Ja ]   [ Nein ]
```

Voreingestellt ist **Nein**. Wen das stört, schaltet die Warnung unter
*Einstellungen → Ablauf und Anzeige* ganz ab – dann landen die Punkte nur noch
im Protokoll und das Makro startet sofort. Dieselben Zeilen stehen auch im Protokoll, sodass
du sie nach dem Wegklicken noch nachlesen kannst. Bricht später doch ein
Schritt ab, nennt das Protokoll immer Schrittnummer, Art und Grund:
`FEHLER: Schritt 002 (Klick auf Bild): Keine Bildvorlage aufgenommen`

Geprüft wird unter anderem:

* Bildschritte: keine Vorlage aufgenommen, Bilddatei gelöscht, Genauigkeit
  außerhalb 0.30–1.00
* Taste: gar keine Taste, oder nur Zusatztasten ohne die eigentliche Taste
* Text schreiben: kein Text
* Sprung: kein Ziel oder Ziel gelöscht
* Schleife: Bereich fehlt oder zeigt auf gelöschte Schritte, negative Anzahl
* Eingebettetes Makro, Programm starten, Klangdatei: nichts ausgewählt oder
  Datei nicht mehr da
* Kamera drehen: Drehung 0

---

## Sichtbarer Ablauf und Testlauf

Zwei Kreuzchen in der Steuerleiste – beide auch unter
*Einstellungen → Ablauf und Anzeige*:

### 👁 Sichtbar

Legt eine durchsichtige Fläche über den ganzen Bildschirm. Darauf erscheint,
was das Makro gerade tut:

| Anzeige | Bedeutung |
|---|---|
| **Fadenkreuz** | Wo die Maus gerade steht |
| **Ring mit Wellen** | Ein Klick – daneben Maustaste und Klickart |
| **Pfeil mit Längenangabe** | Eine Mausbewegung, gestrichelt je nach Bewegungsart |
| **Dicker Pfeil mit zwei Kreisen** | Drag & Drop von A nach B |
| **Tastenkappen oben links** | **Jeder Tastendruck** – `Strg` + `S` als einzelne Tasten, darüber die Aktion. Auch getippter Text und Zwischenablage-Befehle |
| **Gestrichelter Rahmen** | Der Suchbereich, während eine Bildsuche läuft |
| **Rahmen mit Eckmarken** | Die **gefundene Stelle**, mit Dateiname und Übereinstimmung |
| **Balken oben links** | Eine Wartezeit, läuft sichtbar ab |
| **Schild am Zeiger** | Scrollen und Kameradrehung |
| **Banner oben** | Nummer, Art und Einstellungen des laufenden Schritts |

Die Fläche ist **klickdurchlässig** – sie kann dem Makro keinen Klick
wegnehmen und stört auch das Zielprogramm nicht.

**Ohne „Sichtbar" wird nichts gemalt** – auch keine Fundrahmen. Einzige
Ausnahme: **„Jetzt testen"** umrandet den Fund immer, danach fragst du ja
gerade.

### Einzeln wählbar

Über das **Zahnrad ⚙ neben „Sichtbar"** (oder *Einstellungen → Ablauf und
Anzeige*) wählst du aus, was gezeigt wird:

* Mausklicks und Wege
* Tastendrücke
* Suchbereich und Fundstelle
* Wartezeiten
* Laufender Schritt oben

Willst du nur die Tastendrücke sehen, schaltest du einfach die anderen vier
ab.

### 🧪 Testlauf

Spielt das Makro **komplett durch, führt aber nichts wirklich aus**:

* kein echter Klick, kein Tastendruck, kein Text
* die Maus bleibt stehen – gerechnet wird mit einem **gedachten Zeiger**,
  der den Schritten folgt
* **kein Programm** wird gestartet
* alles andere läuft normal: Bilderkennung, Pixelprüfung, Sprünge, Schleifen,
  Wartezeiten und die Zeitmessung

So lässt sich ein neuer Ablauf gefahrlos prüfen: Stimmen die Reihenfolge, die
Sprungziele und die Zeiten? Wird das Bild überhaupt gefunden? Der Testlauf
schaltet die Anzeige automatisch mit ein und schreibt vor jede Protokollzeile
ein **`[Test]`**.

---

## Nur einen Teil abspielen

Der **Rechtsklick** direkt auf einem Schritt öffnet die Befehle, mit denen sich
gezielt ein Ausschnitt laufen lässt:

* **Ab Markierung** – vom markierten Schritt bis zum Ende
* **Bis Markierung** – vom Anfang bis zum markierten Schritt
* **Nur Markierung** – genau die markierten Schritte

Praktisch beim Bauen, um einen Abschnitt zu prüfen, ohne jedes Mal von vorn
anzufangen. Sprünge, die aus dem Bereich hinauszeigen, werden übersprungen –
das Protokoll weist darauf hin.

Das Rechtsklick-Menü bietet zusätzlich Testen, Kopieren, Einfügen, Verdoppeln,
Ein/Aus, Löschen und Rückgängig.

---

## Fundstelle wird umrandet

Findet das Makro ein Bild, umrandet es die Stelle kurz auf dem Bildschirm –
violett, mit Eckmarken und dem Namen der Vorlage. Die Umrandung ist **klickdurchlässig**: sie kann einen Klick des
Makros nicht abfangen. Abschaltbar unter *Einstellungen → Ablauf und Anzeige*.

---

## Rückgängig machen

**Strg + Z** nimmt die letzte Änderung an der Schrittliste zurück – Löschen,
Einfügen, Verschieben, Ein-/Ausschalten und auch Änderungen an einzelnen
Feldern. **Strg + Y** (oder Strg+Shift+Z) stellt sie wieder her. Es werden bis
zu 80 Schritte Vorgeschichte behalten. Schnelles Tippen im selben Feld wird zu
einem Schritt zusammengefasst, damit nicht jeder Tastendruck einzeln
zurückgenommen werden muss.

---

## Halten und Loslassen

„Gedrückt halten" und „Loslassen" gehören immer paarweise zusammen. Zwischen
den beiden Schritten bleibt die Maustaste bzw. die Taste gedrückt – so lassen
sich Bereiche aufziehen, Mehrfachauswahlen treffen oder Umschalttasten über
mehrere Schritte hinweg halten.

Das gilt ausdrücklich auch für **Strg, Alt, Shift und Win**. Unter Windows
läuft das Halten über den **Scancode der physischen Taste** – nur so gilt die
Taste für alles, was danach kommt, wirklich als gedrückt.

Wird das Loslassen vergessen, ist das kein Problem mehr: **am Ende des Makros
werden alle noch gehaltenen Tasten und Maustasten automatisch freigegeben** –
auch nach einem Abbruch mit ESC. Im Protokoll steht dann zum Beispiel
`Losgelassen: Strg, Shift`.

---

## Eingebettete Makros

Der Schritt **Makro einbetten** führt eine komplette andere Makrodatei an
dieser Stelle aus. Praktisch für Bausteine, die in mehreren Abläufen
vorkommen: einmal bauen, überall einbetten. Der Dateidialog startet direkt auf
dem Desktop.

* **Wie oft** – das eingebettete Makro läuft mehrfach hintereinander
* Eingebettete Makros dürfen selbst wieder Makros einbetten, bis zu fünf Ebenen
* Ein „Makro beenden" im eingebetteten Makro beendet den **gesamten** Ablauf
* Im Protokoll sind die Schritte des eingebetteten Makros eingerückt
* Fehlt die Datei, wird der Schritt je nach Einstellung übersprungen oder das
  Makro angehalten

---

## Die Schleife

Ein einzelner Schritt wiederholt einen ganzen Bereich:

* **Von Schritt** und **Bis Schritt** aus der Liste wählen (z. B. 003 und 024)
* **Anzahl Durchläufe**, `0` bedeutet endlos (Abbruch mit ESC)

Der Schleifenschritt steht üblicherweise direkt hinter dem Bereich. Der
Durchlauf, der beim normalen Ablauf gerade gelaufen ist, **zählt mit**: bei
Anzahl 5 läuft der Bereich also insgesamt fünfmal, nicht sechsmal. Steht der
Schleifenschritt vor dem Bereich, springt er hinein und macht danach hinter dem
Bereich weiter.

Schleifen lassen sich verschachteln. Enthält ein Bereich den Schleifenschritt
selbst, wird die Schleife übersprungen und ein Hinweis ins Protokoll
geschrieben. Da die Bereichsgrenzen intern am Schritt hängen, bleiben sie auch
beim Umsortieren korrekt.

Makros aus älteren Versionen mit „Schleife ANFANG / ENDE" werden beim Öffnen
automatisch auf die neue Bereichsschleife umgestellt.

---

## Bildvarianten (eigener Schritt)

Der Schritt **„Bildvarianten (verzweigen)"** in der Gruppe *Bild* hält
beliebig viele Vorlagen. Sie werden der Reihe nach gesucht – **die erste, die
passt, gewinnt**. Jede Vorlage hat drei eigene Dinge:

| | |
|---|---|
| **Eigenes Bild** | aufnehmen, aus Datei wählen, einzeln testen, entfernen |
| **Eigener Suchbereich** | Vorlage 1 links oben, Vorlage 2 rechts unten – ohne Angabe wird der ganze Bildschirm durchsucht |
| **Eigenes Sprungziel** | „Wenn dieses Bild gefunden wird" |

```
003  Bildvarianten (verzweigen)
       1 anmelden.png   ▢ 0,0 400x300     → 010
       2 fehler.png     ▢ ganzer Schirm   → 025
       3 laden.png      ▢ 800,0 400x200   → 003
       Wenn KEINE gefunden:  Makro beenden
```

Das ersetzt eine ganze Kette einzelner Prüfschritte. Zusätzlich kann der
Schritt die Maus zur Fundstelle **hinbewegen** oder dort **klicken**, und der
Fundpunkt steht danach als *Letzter Bildfund* für folgende Schritte bereit.

Die Schritte *Klick auf Bild*, *Warten auf Bild* und *Wenn Bild gefunden*
haben wie früher **genau eine** Vorlage – sie bleiben damit einfach.

---

## Pixelfarbe im Bereich suchen

*Pixelfarbe prüfen* kennt jetzt zwei Arten:

* **Einzelner Punkt** – prüft eine feste Stelle (wie bisher), inklusive
  „Farbe ändert sich".
* **Bereich absuchen** – durchsucht einen ganzen Ausschnitt nach der Farbe.
  Gefunden/nicht gefunden entscheidet über den Sprung, und der **Fundpunkt
  wird zum letzten Fund** – ein folgender Mausklick mit Ziel *Letzter
  Bildfund* klickt also genau dorthin.

Mit **„Nur jeden n-ten Bildpunkt prüfen"** wird die Suche schneller: bei `2`
wird nur jeder zweite Punkt in beide Richtungen angesehen, das ist viermal so
schnell und reicht für Flächen völlig aus. Für einzelne Pixel dünner Linien
setzt du den Wert auf `1`.

---

## Sprungziele: Keine und Makro beenden

Jedes Sprungziel im Programm bietet jetzt drei Arten von Zielen:

| Auswahl | Wirkung |
|---|---|
| **Keine – weiter mit dem nächsten Schritt** | Es wird nicht gesprungen |
| **Makro beenden** | Der Ablauf endet sauber an dieser Stelle |
| **001, 002, 003 …** | Sprung zu genau diesem Schritt |

Das gilt für *Sprung zu Schritt*, *Wenn Bild gefunden* (beide Ausgänge),
*Pixelfarbe prüfen* und für jede einzelne Bildvariante. „Makro beenden"
verhält sich wie der Schritt *Makro beenden*: gehaltene Tasten werden
freigegeben, die Zeitmessung wird abgeschlossen.

---

## Sprünge bleiben korrekt

Sprungziele werden intern an den Schritt selbst gebunden, nicht an seine
Nummer. Wenn Schritte verschoben, eingefügt oder gelöscht werden, zeigen
alle Sprünge weiterhin auf den richtigen Schritt – die angezeigten Nummern
aktualisieren sich automatisch.

---

## Ordner

```
Claude_Makro_Program\
├─ START.bat                  <- hier starten
├─ Makro_Master.py            <- das Programm
├─ LIESMICH.md                <- diese Anleitung
├─ selbsttest.py              <- prüft, ob sich die Oberfläche sauber aufbaut
├─ einstellungen.json         <- alle Anpassungen (Farben, Kürzel, Knöpfe ...)
├─ bilder\                    <- aufgenommene Bildvorlagen, Screenshots
├─ makros\                    <- gespeicherte Makros (.makro)
│  └─ Beispiel_Erste_Schritte.makro
└─ .venv\                     <- Arbeitsumgebung (automatisch)
```

---

## Selbsttest

Neben dem Programm liegt `selbsttest.py`. Es baut die komplette Oberfläche
ohne Bildschirmausgabe auf und bedient sie durch – jeden Schritttyp einfügen,
sortieren, alle Menüs und Einstellungsregister öffnen, Sprachen umschalten,
speichern und laden. Wenn beim Start etwas hakt, zeigt es genau, an welcher
Stelle:

```
.venv\Scripts\python.exe selbsttest.py
```

---

## Wenn etwas nicht klappt

| Problem | Lösung |
|---|---|
| Bild wird nicht gefunden | Genauigkeit auf 0.75 senken, Vorlage neu aufnehmen, Suchbereich setzen. Vorlage sollte einen markanten, kontrastreichen Ausschnitt zeigen. |
| Klick landet daneben | Bildschirmskalierung wurde geändert oder das Fenster liegt anders. Position neu wählen. |
| Umlaute fehlen beim Tippen | Beim Schritt „Text schreiben" die Methode „Zwischenablage" verwenden. |
| Zielprogramm reagiert nicht | Vor dem Schritt ein kurzes „Warten" (0.3–1 s) einfügen. |
| Makro läuft ins Leere | Mit „Ab markiertem Schritt starten" oder „Nur markierten Schritt testen" (Menü *Ausführen*) einzeln prüfen. |
| Installation hakt | Ordner `.venv` löschen, START.bat erneut ausführen. |
| Einstellungen oder die Liste der letzten Makros sind weg | Ab Version 7.0 wird sofort und sicher gespeichert. Ist `einstellungen.json` beschädigt, holt sich das Programm beim Start automatisch `einstellungen.json.bak`. |
| Spiel reagiert nicht auf das Makro | **Spiele-Modus** einschalten. Spiel auf „Vollbild-Fenster" stellen und in den Vordergrund holen. Hilft das nicht, die Haltezeit auf 0,1 s erhöhen. |
| Kamera dreht sich nicht | Statt „Mausbewegung" den Schritt **„Kamera drehen (Spiel)"** nehmen – Spiele lesen nur Relativbewegung. |
| Spiel nimmt gar keine Eingaben an | Manche Spiele mit Anti-Cheat blockieren automatisierte Eingaben komplett. Das lässt sich von außen nicht umgehen. |
