AHK Sleep

  • Hallo Leute ich habe eine kurze Frage
    und zwar würde ich gerne die Funktion Sleep anders nutzen
    weil wenn ich zB bei dem gleichen Timer eine Funktion mit sleep 6000 beende
    das script komplett pausiert bis diese 6 Sekunden vorbei sind.
    Ich würde das aber gerne nur auf die eine Funktion verwenden.


    Ich hoffe jemand versteht was ich meine^^


    Beispiel :


    Code
    fnTimedWait(ms,key)
    { end := (A_Tickcount + ms)
      While (A_Tickcount < end)
      { If (GetKeyState(key,"p"))
        { break
        }
      }
      return
    }

    hab es schon so versucht aber leider funktioniert das nicht


    wenn er zB jetzt die Funktion /zoll gemacht hat muss man trotzdem 4 Sekunden warten
    bis das Script weiter läuft

  • In der Zeit wo "funktion" aufgerufen wird, läuft das hauptsächliche Script weiter.

  • dankeschön für die Hilfe
    ich hätte noch eine Frage:



    und zwar will ich diese Zwei zeihlen auslesen aber er macht das nur bei der ersten Zeile..
    Würde gerne von anwalt2 staat1 abziehen und unten das Ergebniss anzeigen lassen aber irgendwie
    ließt er mir nur die erste rexex aus..



    Edit // kann mir da niemand helfen ?

  • also quasi so?
    das habe ich auch schon probiert

  • Siehe hier.
    Geht ums gleiche wenn ich mich nicht irre.

    danke nun funktioniert es aber leider braucht der ziemlich lange bis er mir das ausließt
    ist irgendwas an dem Script falsch?



    ich muss noch was hinzufügen mir ist aufgefallen wenn ich danach eine Nachricht zB einfach nur TEST schreibe
    kommt direkt die ChatMessage aber wieso ist das den so?

  • Code
    GetChatLine(0, moru)

    ist überflüssig. Er nimmt sowieso nur die Zeile 1, weil du 2x in die selbe Variable ("moru") speicherst.


    Das kann auch der Fehler für dein Test sein. Die Eingabe "Test" schiebt natürlich die Nachricht "hat deine Befreiung angenommen." eins nach oben. Da er ja nur die Zeile 1 ausliest, also eine Zeile über der letzten Chatnachricht (welche Zeile 0 wäre) liest er das erneut aus. Aber da bin ich mir nicht sicher. GetChatLine ist einfach nicht gut für sowas.


    Nimm einfach die Methode, die ich in dem anderen Beitrag geschrieben habe.
    Zum einen ist die schneller, zum anderen zuverlässiger. Die liest jede Zeile nur ein mal aus.