1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Schnitzel

Beiträge von Schnitzel

  • SelectBox in einem Programm ändern

    • Schnitzel
    • 15. Januar 2010 um 16:14

    wäre praktisch zu wissen welches programm es ist. dann könnte jeder selber bisschen testen.

    Controlsettext gäbs da auch noch, aber ich bezweifle das das funktioniert

  • Arbeitsspeicher auslesen

    • Schnitzel
    • 15. Januar 2010 um 16:10

    gut dass du teil 1 weggelassen hast. das ist nämlich der teil der ihm am meisten helfen würde :D

    Spoiler anzeigen

    [Tut 1]

    Hallo Leute!
    Dies ist eine Tutorial-Serie, anfangend bei einfachem Werte-cheaten bis hin zum erstellen von Trainern.
    Die folgende Teile werde ich nach und nach erstellen und hier posten.


    Tutorial 1 - Grundlagen

    Programme benötigt: Cheat Engine 5.4

    1) Allgemeines
    Alle Werte eines Spieles (Geld, Leben, Munition, ...), die wir gerne ändern würden sind in Speicheradressen abgelegt.
    Im Grunde müssen diese Speicheradressen nur gefunden und mit unserem eigenen Wert überschrieben werden.
    Man unterscheidet 2 verschiedene Arten von Speicheradressen:
    Statische und DMA's (Dynamic Memory Allocation), also dynamische
    Wenn ein Spiel einen Wert immer in die gleiche Speicheradresse schreibt dann spricht man von einer statischen Adresse, falls immer in eine andere von einer dynamischen.
    Dynamische haben natürlich den Nachteil (für uns Cheater) das bei jedem Programmstart eine andere Speicheradresse mit dem von uns zu abändern gewünschten Wert belegt wird und wir nicht wissen welche...
    Dies wird in einem späteren Tutorial wichtig wenn wir einen Trainer bauen wollen der aine dynamische Adresse finden und abändern soll.


    Genug der Theorie, auf zur Praxis!


    2) Speicheradresse finden und ändern

    Als Spiel nehmen wir Minesweeper, bei dem wir uns einen neuen Zeitrecord ercheaten wollen!
    Dieses Spiel sollte zumindest auf jedem Windows-Rechner vorhanden sein, falls nicht tut es jedes andere kleine Klick Spiel auch.

    Wir wollen nun die Zeit bei Minesweeper einfrieren!


    Startet Minesweeper
    Startet Cheat Engine (CE)

    Bei CE klickt auf den Knopf links oben und wählt den Prozess von Minesweeper aus. (Sollte winmine.exe heißen)

    Der Counter von Minesweeper startet sobald man den ersten Klick macht (keine Bombe treffen bitte Confused )

    Minimiert Minesweeper dann wenn er z.B. bei 5 sec ist (Pause für Minesweeper)

    Stellt bei CE Exact Value und 4 bytes ein und gebt bei Value 5 (eure verbrauchten sekunden) ein und sucht danach (Klick auf first scan)
    CE durchsucht nun alle von Minesweeper belegten Speicheradressen nach den Wert 5

    Ihr solltet einige Treffer erhalten, um von diesen jetzt unsere Zeit zu finden lässt Minesweeper den Zeitwert ändern und z.B auf 10 sec weiterlaufen.

    Wieder minimieren

    10 eingeben und auf NEXT SCAN klicken.
    Nun durchsucht CE nur mehr die vorher gefundenen Speicheradressen nach den Wert 10.
    Ihr solltet jetzt nur mehr eine Speicheradresse übrig haben.
    Falls nicht, Zeit nochmal steigen lassen und nochmal suchen bis nur mehr eine Speicheradresse übrig ist.
    Diese befördert ihr mit einem Doppelklick in unsere Liste unten.

    Ihr könnt hier z.B jetzt die Zeit ändern (Doppelklick in der Value-Spalte und neuen Wert eingeben) oder auch die Zeit einfrieren. (mit klick auf das Kästchen am Anfang der Spalte.

    Jetzt steht einem neuen Zeitrecord nichts mehr im Wege....


    4) Erklärung Suchfunktion

    Value Types:
    "1 byte" sucht nach Werten zwischen 0-255.
    "2 bytes" sucht nach Werten zwischen 0-65535.
    "4 bytes" sucht nach Werten zwischen 0-4294967295.
    "8 bytes" sucht nach Werten zwischen 0-18446744073709551615.
    "float" sucht nach Komma-Werten wie z.B. 5,4845

    Scan Types:
    "Exact Value" sucht nach Werten die exakt übereinstimmen sollen
    "Bigger Than" sucht nach Werten die grösser sind als der Suchwert
    "Smaller Than" ...die kleiner sind....
    "Value Between" ... die zwischen dem wert x und y liegen
    "Unknown Initial Value" wählt man aus wenn man den Wert nicht kennt...

    Sucht man zB nach einer Lebensenergie aber man hat nur einen Balken im Spiel und kann nicht erkennen was der Wert ist, kann in der ersten Suche "Unknown Initial Value" auswählen. Nun zurück ins Spiel, etwas Leben verlieren und per next scan nach "Smaller Than" suchen. Dies wiederholt man so lange bis nur mehr ein Wert übrig ist.

    Werte werden oft auch als Float abgespeichert. Oft ist dies der Fall bei zB Schildenergien eines Raumschiffes, Mana, Zeitmessungen, ...
    In diesem Fall sucht man mit "Float" wobei wenn man zB nach 5 mit "Exact Value" sucht, alle werte gesucht werden die zwischen 5 und 5,9999999... liegen


    Bei allen Spielen geht es also nach dem gleichen Prinzip:
    Wert im Spiel merken, danach suchen, Wert im Spiel ändern, erneut danach suchen, solange bis nur mehr eine Adresse übrig ist.

    Jedoch werdet ihr merken das diese Adressen oft bei neu-laden eines Levels oder bei Spielneustart nicht mehr gelten.
    Auch können einige Werte mit den hier erklärten Methoden nicht gefunden werden

    Mit diesen Problemen beschäftigt sich Tutorial 2 welches ich bald schreiben werde.

    Bitte eröffnet für Fragen zu dem Tutorial eigene Threads, damit andere diese leichter finden!

    lg, Phy

  • Ohne Scrollbar?

    • Schnitzel
    • 15. Januar 2010 um 16:05

    nicht dass ich wüsste. ich meine irgendwie unter umständen schon aber das ist doch sehr kompliziert.

    verwende bei browsern doch lieber die ie.au3 oder die ff.au3

  • Drag & Drop Background

    • Schnitzel
    • 15. Januar 2010 um 16:01

    puuh dazu wäre mehr beschreibung nicht schlecht.
    dateien hineinziehen klappt nicht im hintergrund. aber evtl kann man es anders ansteuern.
    welches programm ist es denn. weißt du evtl wie die hineingezogene datei verarbeitet wird?

  • Gleichgewicht halten (Spiel)

    • Schnitzel
    • 15. Januar 2010 um 15:57
    Zitat von Sprenger120

    8| soviel?! wie hast du das geschafft... büdde gib mir mal n paar tipps :D

    da weißt du was er seit gestern abend gemacht hat :D

    nur gezockt :rofl::rofl::rofl:

  • Prob mit Switch Cases zu MenuItems im ContextMenu - dynamisch

    • Schnitzel
    • 15. Januar 2010 um 15:48
    Zitat von SEuBo

    Mir würde es schon reichen, wenn ich mir Matrix-Like ein Kabel in den Nacken stecke, und so programmieren könnte. :rock:

    *g* aber wenndann ganz stylisch nur mit nullen und einsen

    01000100011000010111001100100000011101111110010001110010001000000110011101100101011010010110110000100001

  • Prob mit Switch Cases zu MenuItems im ContextMenu - dynamisch

    • Schnitzel
    • 15. Januar 2010 um 15:41
    Zitat von Karill Endusa

    damn danke ich hab gar nich dran gedacht dass man das ja in ID's umdenken muss... da haste natürlich recht ich dachte er springt da nur auf die variablen an xD

    ne der compiler hat leider keine künstliche intellegenz. :D

    wär schon geil, aber dann würden sich alle programme ja von selber schreiben :D

  • Prob mit Switch Cases zu MenuItems im ContextMenu - dynamisch

    • Schnitzel
    • 15. Januar 2010 um 15:11

    ohne mich jetzt groß mit deinem script zu beschäftigen.

    du gehst anscheinend so vor:
    1. Treeviewitem
    1.1. Treeviewunteritem
    2. Treeviewitem
    2.1 Treeviewunteritem
    3. Treeviewitem
    3.1 Treeviewunteritem

    von den id's sieht das dann zum Beispiel so aus
    1. ID 5
    1.1. ID 6
    2. ID 7
    2.1. ID 8
    3. ID 9
    3.1. ID 10

    und wenn du schreibst 6 to 10, dann macht er natürlich 6,7,8 ,9 ,10

    du muss also erst alle Treeviewitems erstellen und dann die unteritems dazu, dann hast du fortlaufende ID's


    Aufwendigere Lösung:
    OnEventModus, ich mag ihn sehr gerne, is aber wahrscheinlich bisschen arbeit das umzuschreiben

  • MouseMove(x,y)

    • Schnitzel
    • 15. Januar 2010 um 15:02

    hatte vorhin noch etwas zeit, hab's mal weitergemacht anhand von Word. (dürfte vom handling her Visual Studio sehr ähnlich sein)

    das ganze startet word und klickt auf das "Neues Dokument" icon direkt unter "Datei"

    Spoiler anzeigen
    [autoit]

    ShellExecute(@ProgramFilesDir & "\Microsoft Office\OFFICE11\WINWORD.EXE")
    ; kann sein dass der pfad bei dir etwas anders ist, insbesondere das OFFICE11
    WinWait("Dokument1 - Microsoft Word")
    ; warten bis das fenster existiert; winwait ist oft besser als winwaitactive
    Sleep(400)
    ; diese pause habe ich eingebaut da bei word anscheinend die MsoCommandBar nicht schnell genug geladen wird, und der controlclick sonst ins leere geht
    ; ist selten kommt aber vor
    ControlClick("Dokument1 - Microsoft Word", "", "[CLASS:MsoCommandBar; INSTANCE:3]", "", 20, 10)
    ; die ersten beiden parameter sind wiedermal Title und Text
    ; die restlichen parameter bekommst du am einfachsten indem du das window info tool benutzt
    ; stelle es am besten unter Options auf Freeze und ziehe dann das fadenkreuz auf das control das du clicken möchtest
    ; parameter 3 steht unter Control advanced class
    ; parameter 4 ist die maustaste bei "" nimmt er die linke
    ; parameter 5 und 6 braucht man zu 90% nicht. hier aber wiedermal schon :D
    ; man gibt damit die position des icons innerhalb des controls an, siehe ControlClick Coords

    [/autoit]
  • MouseMove(x,y)

    • Schnitzel
    • 15. Januar 2010 um 12:43

    ich schätze mal mit dem hier klickst du auf ein desktop icon um Visual Studio zu starten oder?

    Spoiler anzeigen
    [autoit]

    WinWait("Program Manager","")
    If Not WinActive("Program Manager","") Then WinActivate("Program Manager","")
    WinWaitActive("Program Manager","")
    MouseMove(212,878)
    MouseDown("left")
    MouseUp("left")

    [/autoit]

    das wäre sehr viel leichter mit:

    [autoit]

    Shellexecute(@ProgramFilesDir & "\Visual Studio\studio.exe") ; <--der pfad is 100%ig falsch, dient nur als beispiel wie es aussehen könnte ;)
    ; @ProgramFilesDir steht für den Programme-Ordner standardmäßig also für: C:\Programme

    [/autoit]

    und um in visual studio buttons anzuklicken usw ist wie nuts schon gesagt hat controlclick und die anderen controlfunktionen das beste ;)

  • Programm sperrt MouseClick und MouseMove

    • Schnitzel
    • 15. Januar 2010 um 11:19
    Zitat von chip

    Nunja muss ich dir wiedersprechen, hab das selber mal eine Monat lang aus spaß getestet und immerhin mit einem Gewinn von 150€ raus gekommen :).

    ja kann sein. aber langfristig funktioniert es nicht. also wenn du dir schon relativ sicher bist dass es immer funktionieren wird und wenn du schon einiges gewonnen hast, genau dann verlierst du auf einmal alles.
    und genau das ist das problem. wenn du was verlierst dann alles.

  • Programm sperrt MouseClick und MouseMove

    • Schnitzel
    • 15. Januar 2010 um 11:04

    da muss ich dir sogar recht geben.

    bots sind glaube ich echt nicht schlecht um autoit zu lernen. zumindest anfangs mit mousemove, send usw.
    nur sprechen hier die forenregeln dagegen.

    Such dir was das nicht gegen die Regeln verstößt dann helfen wir dir gerne ;)

    So standardprojekte wären zum beispiel automatische installationen

  • Gleichgewicht halten (Spiel)

    • Schnitzel
    • 15. Januar 2010 um 10:58

    *g* das mit bot war ja auch spaß :D

    und als ehemaliger Gamer bin ich die maus sehr gut so gewohnt wie sie ist. umstellen glaub ich ist bei mir eher kontraproduktiv ;)

  • Programm sperrt MouseClick und MouseMove

    • Schnitzel
    • 15. Januar 2010 um 10:55

    PS: Falls du auf youtube oder so videos gesehn hast die sagen "342 euro an einem wochenende" oder "4323 euro im monat"

    also mit diesem 100% sicherem system geld zu gewinnen indem man immer auf rot oder schwarz setzt.

    Das ganze is beschiss. Das system funktioniert auf dauer nicht.
    Es ist wie es immer heißt: Die Bank gewinnt immer!

  • Gleichgewicht halten (Spiel)

    • Schnitzel
    • 15. Januar 2010 um 07:51
    Zitat von GE IXI TIM

    ich muss schnitzel toppen xD

    na dann auf gehts, fehlen ja nur 2 sek ;)

    [ironie:on]
    wenn du mich schlägst mach ich gleich nen thread auf und frag ob mir jemand nen bot schreibt :D
    [ironie:off]

    oder noch besser: melden wir das spiel in der esl an. mit ner schönen liga :D

  • Gleichgewicht halten (Spiel)

    • Schnitzel
    • 14. Januar 2010 um 22:40

    etwas schwer, aber sehr schön umgesetzt.

    16 sek mehr is nich drin :D

    wow doch 18 :rock:

  • Wie ordnet man überlappende Controls an?

    • Schnitzel
    • 14. Januar 2010 um 22:25

    du suchst höchstwahrscheinlich guictrlsetstate

  • bild aus dem internet in ein gui

    • Schnitzel
    • 14. Januar 2010 um 18:24

    wie wärs mit bild in temp verzeichnis runterladen und einbinden.
    sehr einfach und sauber.

  • Spracheingabe

    • Schnitzel
    • 13. Januar 2010 um 20:58
    Zitat von SEuBo

    Ungetestet, bin grade an nem pc ohne autoit.

    dass es sowas nocht gibt....

    traurig traurig :P

  • GUI Bild wird nicht angezeit

    • Schnitzel
    • 13. Januar 2010 um 18:45

    es ging erst nachdem ich es mit paint geöffnet und unter test.jpg gespeichert hab.

    er hat mir angezeigt dass es eigentlich ein png ist...

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™