Beiträge von Madd92

    Wenn du es nebenbei mitloggen willst, ohne selber was zu drücken o.ä. brauchst du einen Timer. Wenn du immer das gesamte Chatlog auslesen würdest, wäre das 1. nach einiger Zeit relativ aufwendig und würde immer länger dauern, und 2. würde ein Neustart des Keybinders immer noch das gesamte Chatlog auslesen. Das mit dem einzeln speichern kannst du ja einfach in einem Array machen.^

    Soll das Geld gespeichert werden, wenn der Keybinder beendet wird, oder warum eine TXT-Datei? Ansonsten wie gesagt, mit SetTimer:

    Die Variable ernte könntest du natürlich noch in eine Datei speichern. Das Problem dabei ist allerdings, dass eine gleiche Zeile immer wieder ausgelesen würde, wenn keine neue Zeile dazukommt. Daher ist getChatLine hier nur bedingt geeignet, du könntest allerdings nach jedem Auslesen AddChatMessage aufrufen und eine Nachricht in den Chat schreiben lassen (Zeile 16), sodass die Ernte-Nachricht nicht mehr die neueste ist. Allerdings kann es auch passieren, dass eine Zeile nicht ausgelesen wird, weil z.B. Nachrichten sehr schnell hintereinander in den Chat geschrieben werden.

    Die Frage ist, ob du die Nachricht bei einem Tastendruck oder regelmäßig und automatisch auslesen willst. Wenn automatisch, musst du einen Timer setzen.

    Bei InStr passt du den String eben an deine Bedürfnisse an, er sollte ja möglichst nur bei der Server-Nachricht ausgelöst werden und nicht, wenn irgendjemand einfach "Ernten" in den Chat schreibt.


    Für 2. benutzt du am besten "Ernten (\d+)\.(\d+)\$" als Needle und kannst dann mit result1 (Dollar) und result2 (Cents) rechnen. Wenn du das ganze auch im Chat oder im Dialog verwenden willst, nimmst du einfach isInChat raus.

    Beim Konvertieren der ahk in eine exe musst du die Base File auf ANSI stellen. Wenn du Scite nutzt, sollte das voreingestellt sein, ansonsten musst du mal in den Optionen schauen.

    Mit Grundlage meint seegras sicherlich nicht deinen gesamten Keybinder, sondern wie du bisher versucht hast, ein Overlay zu erstellen. Lade am besten mal die komplette ZIP herunter (DX9-Overlay-API), entpacke sie und teste das AHK Beispiel. Achte darauf, dass du die EXE im ANSI Modus konvertierst. Dann können wir weitersehen, was funktioniert und was nicht :)

    Wobei geht's denn bei dem ganzen? Mit skalieren meine ich wenn 1920 100% sind, dann sind z.B. 1360 noch ca. 70%. Aber es kommt drauf an, was du damit erreichen willst und du musst auch den CoordMode bedenken, da die Auflösung des Spiels nicht unbedingt der Auflösung des Monitors entspricht. Möglicherweise gibt es für das, was du vor hast, nicht einfach so eine Universallösung.

    Die Expression sollte "Der Schatzsucher hat dir (\d+)€ für die Schätze gegeben!" sein. Du musst aber schauen, dass du dein Script in ANSI kompilierst und in UTF-8 (BOM) speicherst.

    So sollte es gehen, wenn ich richtig verstanden haben, was du machen willst.

    Ganz genauso. Du kannst einfach alle Strings die ersetzt werden sollen mit StringReplace ersetzen :)
    also z.B.

    PHP
    output := StrReplace(HotKey_1_Text, "{Stadt}" , getPlayerCity())
    output := StrReplace(output, "{Zone}" , getPlayerZone())

    Naja du musst es eben umschreiben auf deinen Hotkey:


    Ich denke mal so wolltest du es.