Dann folgt die "problemlösende Antwort" halt an dieser Stelle von mir:
Vorgeschichte:
Ich selbst habe auch keine Verkaufsdrohne und das Veredeln führt bei mir immer wieder zu Fehlern (es wird nicht korrekt veredelt), weshalb ich den Vorgang ständig wiederholen muss. Dies hat mich extrem genervt und aus diesem Grunde habe ich mich vor einigen Wochen in Autohotkey eingearbeitet, um - genau wie du - ein entsprechendes Skript zu erstellen.
Inzwischen ist aus dem einfachen Skript ein fast vollständiges Multi-Tool mit sämtlichen Funktionen geworden. Die Veredelungs-Funktion ist bei mir bereits seit Wochen fertig (anders als bei dir jedoch unabhängig von Fenstergröße und -position).
Dein Fehler:
Ob dein AutoIt oder mein AHK Skript, eine entscheidende Schwachstelle haben beide gemein: sie führen stumpfsinnig Befehle aus, ohne auf tatsächliche Veränderungen im Spiel zu reagieren. Ist ein Fenster nicht geladen oder befindet es sich nicht an der vorgesehenen Position, wird dennoch geklickt, falls dieses im Skript steht. Die Konsequenzen daraus sind schwer absehbar und teilweise fatal!
Du selbst hast direkt zu Beginn ein "Sleep(1000)" in dein Skript gesetzt. Warum? Ganz einfach: dein Skript wartet nicht, bis das Veredelungsfenster geladen ist. Da der Server aber nicht direkt reagiert und das Fenster zudem noch animiert eingeblendet wird, hast du also eine manuelle Wartezeit eingebaut, bis sich das Fenster auf jeden Fall geöffnet hat. Gut so!
Warum aber gibst du dem Server nicht auch beim Veredeln selbst die benötigte Zeit? Ich selbst habe dein Skript nicht laufen lassen, bin mir aber sicher, du hast folgendes bemerken können: alles funktioniert einwandfrei, jedoch "hakt" es ab und an aus irgendeinem Grund und absolut nichts funktioniert mehr.
Dein Skript ist halt einfach zu schnell für den Server! Deine "Clicks" werden in Millisekunden direkt hintereinander ausgeführt! Hast du mal daran gedacht, dass zunächst dein PC diese Clicks verarbeiten und über das Internet senden muss? Auch der Spieleserver brauch dann noch mal Zeit zum reagieren. Gib ihm die Zeit!
Die Lösung:
Wartezeiten einbauen - und zwar folgende:
- Warten auf Öffnen des Fensters: 1000 (richtig)
- Nach (jedem!) Dropdown: 120
- Vor Click auf 2. Rohstoff: 200 (ganz wichtig!!)
- Vor Schließen des Fensters: 200 (ganz wichtig, jedoch sind deine 1000 deutlich übertrieben)
Ich gehe mal davon aus, dass ich dir weiterhelfen konnte und wünsche dir noch viel Spaß beim Skripten!