wenn Du dich mit 1.12.1 beschäftigst, kann ich Dir folgendes Framework empfehlen. Leider habe ich wegen mangelndem Interesse anderer nicht mehr weitergemacht.
Hier sind die Offsets (rebased natürlich), wie sie mit dem obigen Framework wunderbar funktionieren.
passt eventuell nicht hier rein aber wie genau nutzt man das ClickToMove?
einfach in die Y,X,Z Variablen die Location reinschreiben, und dann das Action von 0 zu 1 ändern?
passt eventuell nicht hier rein aber wie genau nutzt man das ClickToMove?
einfach in die Y,X,Z Variablen die Location reinschreiben, und dann das Action von 0 zu 1 ändern?
Na dann nutz doch du auch einen debugger aka ce, olly, ida um das herauszufinden. wer austeilt muss auch einstecken können
Ich hab schon mit Ida pro die funktion gefunden gehabt und damit experimentiert gehabt
Bisher gabs jedoch nur crashs beim testen..so das..ich da nicht viel rausbekam..außer das oben geschilderte, wobei ichs aber nichts ans laufen brachte ohne crash^-^
Hast du denn schonmal geschaut, was für Werte sich bei welchem Moment in CTM_Status befinden? Durch einen Write-Hook kann man ganz einfach sehen, wer diese Werte schreibt.
Nunja ich hab geschaut wo im Speicher sich X,Y,Z befinden für das CTM, habe die Action-Speicherstelle gesucht die auf 1 springt solange der Charakter läuft.. jedoch wenn ich diese manuell zu 1 ändere nach dem füllen von X,Y,Z ist es immer abgeschmiert^^ Sobald er das CTM beendet hat und am Zielpunkt angekommen ist ändert sich der Wert wieder zu 0, wärend des bewegen zum Ziel ist es 1.. demnach schließe ich daraus das er zu den Koordinaten läuft die in X,Y,Z angegeben werden sobald man den Wert der Action auf 1 setzt.. oder?
Na dann nutz doch du auch einen debugger aka ce, olly, ida um das herauszufinden. wer austeilt muss auch einstecken können
Tipp: Write-hook und dann reversen
Haha Eine bessere Antwort gebe es nicht.
Quote:
Originally Posted by Cambios
passt eventuell nicht hier rein aber wie genau nutzt man das ClickToMove?
einfach in die Y,X,Z Variablen die Location reinschreiben, und dann das Action von 0 zu 1 ändern?
Ich gebe Frosttall recht, aber will mal nicht so sein
Ich habe die keine vollständige Liste der Actions, hatte CTM nur zum experimentieren genutzt. Action ist ein enum, wie der Name schon sagst, gibt es verschiedene Commands: Bewegen, Interagieren usw. Hier mal ein Auszug aus dem Framework. Ich habe bisher nur mit WalkTo genutzt um den Char zu bewegen.
Nunja ich hab geschaut wo im Speicher sich X,Y,Z befinden für das CTM, habe die Action-Speicherstelle gesucht die auf 1 springt solange der Charakter läuft.. jedoch wenn ich diese manuell zu 1 ändere nach dem füllen von X,Y,Z ist es immer abgeschmiert^^ Sobald er das CTM beendet hat und am Zielpunkt angekommen ist ändert sich der Wert wieder zu 0, wärend des bewegen zum Ziel ist es 1.. demnach schließe ich daraus das er zu den Koordinaten läuft die in X,Y,Z angegeben werden sobald man den Wert der Action auf 1 setzt.. oder?
Nicht den Adresseninhalt beobachten, sondern die Funktionen, die auf diese Adresse schreiben.
Ich gebe Frosttall recht, aber will mal nicht so sein
Ich habe die keine vollständige Liste der Actions, hatte CTM nur zum experimentieren genutzt. Action ist ein enum, wie der Name schon sagst, gibt es verschiedene Commands: Bewegen, Interagieren usw. Hier mal ein Auszug aus dem Framework. Ich habe bisher nur mit WalkTo genutzt um den Char zu bewegen.
Nicht den Adresseninhalt beobachten, sondern die Funktionen, die auf diese Adresse schreiben.
Hatte ja auch die Funktionen angeschaut die auf die Adressen schrieben
Die taten eben genau das was ich beschrieben hatte, sie schrieben den Wert 1 an die bestimmte Speicherstelle, und er Charakter lief solange wie dort 1 stand. Wenn man es mit Cheatengine auf 0 gesetzt hatte, stoppte der Charakter. Wenn ich jedoch die X,Y,Z Variablen (speicherstellen die ich von den funktionen hatte) gefüllt habe, und dann den wert auf 1 gesetzt hatte crashte komplett alles Weiß auch nicht so genau was ich falsch gemacht hatte Mal beizeiten heut abend nochmal ransetzen, eventuell hab ich ja etwas übersehen
Koordinaten werden als float Werte gehandhabt und ein float Wert ist bekanntlich 4 Byte groß und nicht ein Byte.
Hast du denn die BaseAddress dazuaddiert, sprich BM.ReadFloat(BaseAddress + CTM_X)
Ihr versucht alle immer viel zu schnell irgendwas zu programmieren und dabei kommt sowas raus. Du probierst dich an Memory Reading und weißt nichtmal die Größe von float bzw hast dir anscheinend kein einziges Tutorial zum Thema wie finde ich Pointer rausgesucht.
Die CTM Adressen findet man mit CE ohne irgendwelche Programmierkenntnisse innerhalb von einer Minute.
Nicht böse gemeint, aber mit sowas stellt man sich manchmal selber ein Bein.
Koordinaten werden als float Werte gehandhabt und ein float Wert ist bekanntlich 4 Byte groß und nicht ein Byte.
Hast du denn die BaseAddress dazuaddiert, sprich BM.ReadFloat(BaseAddress + CTM_X)
Ihr versucht alle immer viel zu schnell irgendwas zu programmieren und dabei kommt sowas raus. Du probierst dich an Memory Reading und weißt nichtmal die Größe von float bzw hast dir anscheinend kein einziges Tutorial zum Thema wie finde ich Pointer rausgesucht.
Die CTM Adressen findet man mit CE ohne irgendwelche Programmierkenntnisse innerhalb von einer Minute.
Nicht böse gemeint, aber mit sowas stellt man sich manchmal selber ein Bein.
Bezieht sich das jetzt auf mein Post oder den vom TE?
Und wie meinst du das? Sagen wir meine Z Position ist 500 (reiner fantasiewert jetzt mal), und ich möchte zu Position Z 700, müsste ich dann in den CTM Z-Wert die 700 reinschreiben oder 300? Normal die 700 oder?