Beiträge von alpines

    Das sollte auch nicht überraschen, du sprincst von der Funktion kopieren() in pause() dann wieder in kopieren() aber verlässt nie die Funktionsinstanz.

    Irgendwann sagt AutoIt: Jetzt ist Feierabend, du hast eine zu hohe Rekursionstiefe erreicht.


    Strukturiere deinen Code um und verwende lieber Schleifen.

    Ich hatte dazu mal einen Beitrag geschrieben: RE: PandaRunner Reworked - Ein Autoit Game


    Für jene die es interessiert.

    Etwas spartanisch aber verdeutlicht es auch. Kurz zusammengeschustert.

    Braucht definitiv noch ein bisschen Arbeit aber wow, sieht richtig gut aus, gefällt mir sehr gut.


    Kleiner Tipp: Nimm als Berechnung der Zeichenstrecke nicht die Iteration * Schritt, da diese unterschiedlich oft ausgeführt wird auf stärkeren/schwächeren PCs.

    Erstell dir eine Timer-Variable und setze sie mit jeder Schleifeniteration neu und speichere dabei die Differenz zur letzten Schleife.


    Dann normalisierst du den Wert auf eine Sekunde bspw. und multiplizierst ihn mit dem Faktor den ein Kreis zurücklegen soll pro Sekunde.

    Dann ist das ganze FPS unabhängig.

    Hallo Cuddlesdarkcloud und herzlich willkommen im De-Forum (der hellen Seite der Macht).


    Prinizipiell ist es mit AutoIt natürlich möglich, nur ist es so, dass neue User oftmals den Wald vor lauter Bäumen nicht sehen und eine Lösung für ein Symptom suchen statt das eigentliche Problem anzugehen.

    Wenn du uns erzählst auf welcher Internetseite du rumklicken möchtest oder was du im Allgemeinen vorhast können wir dir vielleicht noch besser helfen, damit du direkt einen geschmeidigen Einstieg in AutoIt hast.

    Erfüllt doch die Bedingung.

    Es sollen "Funktionsköpfe" gefunden werden, die gültig sind. Und diese Anforderung wird erfüllt.

    Von Prüfung auf Gültigkeit der Deklaration der Funktion selbst war keine Rede.

    Es versteht sich glaube ich von selbst, das nur gültige Funktionen geparst werden sollen. Fehlt das EndFunc, ist die Funktion ungültig.

    Trotzdem kann man das EndFunc natürlich weglassen, die Frage ist nur wie penibel man sein möchte beim Parsen und wie viele der Fälle man abdecken will.

    Das war schon beim Calltipviewer ein großes Thema.

    Wo liegt der Vorteil von

    _FileListToArrayRec

    gegenüber der von Oscar verwendeten Funktion

    _RecursiveFileListToArray?

    Funktion lesen!


    Oscars Funktion erlaubt es mit einem RegEx-Pattern das Dateisystem zu durchsuchen. Mit einem RegEx Pattern kannst du bestimmte Dateinamenstrukturen angeben. Z.B. Dateiname soll fünf As enthalten, wobei die Zahlenfolge 111 vorangestellt und die Zahlenfolge 222 hintangestellt ist.

    Du schaffst es doch mit Opt("SendKeyDelay", 150) das anzupassen, was spricht dagegen am Anfang eines solchen Bereiches einfach die Zeit zu setzen, und beim Verlassen einfach die vorherige Zeit wiederherzustellen?

    Eine Generalisierung ist letztlich nur so lange richtig, bis sie widerlegt wird. Natürlich spielt hier ein gewisser Erfahrungswert eine Rolle, dennoch rechtfertigt dieser nicht, dass man über andere urteilt oder einfach freiheraus Dinge unterstellt. Innerhalb der Zeit hätte man genauso gut freundlich nachfragen können, um weitere Informationen einzuholen.

    Ich werde mit dir hier nicht darüber streiten wer recht hat oder wann man wen verdächtigt, denn all die Jahre Forenbetrieb haben einen gewissen Geschmack hinterlassen der sich auch in fast allen Fällen bewahrheitet hat.


    Geholfen wurde mir mit der Antwort sowieso nicht, auch kein Versuch dafür unternommen hilfreich zu sein. Hätte man sich schlicht sparen können.

    Mir (und schon gar nicht dir) hilfst du auch nicht wenn du dein Anliegen nicht erklärst obwohl ich dich seit zwei... jetzt sind es drei Posts frage was du eigentlich vor hast. ;)



    Zurück zum eigentlichen Thema:


    Deine Lösung ist für HotKeySet nicht wirklich geeignet wenn du mehr Code drin hast, da du dich in verschiedenen Funktionsinstanzen verrennen kannst.

    Besser wäre es gewesen wenn du den Hotkey deregistrierst beim Betritt der Funktion und ihn anschließend wieder registrierst wenn du sie verlässt, so lässt du gar nicht zu, die Funktion nochmal aufzurufen.

    Noch besser wäre es natürlich gewesen wenn du uns dein eigentliches Problem erklärst und wir vielleicht eine noch bessere Lösung finden könnten.


    Wir empfehlen immer Ursachen zu bekämpfen und keine Symptome, vielleicht bist du einfach zu nah am Problem dran um eine bessere Lösung zu finden?

    Deshalb solltest du uns ja erzählen wo das eigentliche Problem ist, nicht nur wie du es zu lösen gedenkst.

    Ach, es ist nur ein kleines Skript, weil meinem Laptop ein Numblock fehlt und ich nicht ständig die Einstellungen des Programms deswegen ändern wollte, wenn ich unterwegs bin.

    Siehst du, und schon fängt das XY-Problem an.

    Einstellungen ändern von welchem Programm? Deine Funktion heißt "attack", das hat doch mit Einstellungen nichts zu tun?


    Die meisten Leute die hier Fragen stellen wollen sich scheinbar nicht helfen lassen und man muss ihnen jegliche Informationen aus der Nase ziehen bis man etwas hat womit man arbeiten kann.

    Und dann meinen einige sogar noch nicht auf die Ratschläge zu hören und am Ende kleinlaut zugeben zu müssen "ja war doch das problem".

    Hat zwar nichts mit einem Bot, aber sei's drum.

    Ach und gelesen habe ich sie. Danke, für den sehr freundlichen Hinweis. :)

    Neue User, insbesondere Anfänger, versuchen immer am falschen Ast zu sägen, da sie sehr unerfahren sind.


    Erzähl uns doch mal genau was du wo machen möchtest (in welchem Programm willst du Controls betätigen, Mausklicks senden, etc), dann können wir dir vielleicht besser helfen.

    Eventuell kommst du ohne Send-Funktionen aus, dann läuft dein Skript auch robuster.


    Vielleicht kannst du dir deine Arbeit direkt sparen, weil jemand dir zuvorkam und bereits eine Lösung hat?