|
You last visited: Today at 15:22
Advertisement
Metin Wert einlesen
Discussion on Metin Wert einlesen within the AutoIt forum part of the Coders Den category.
08/13/2010, 13:33
|
#1
|
elite*gold: 11
Join Date: Jan 2009
Posts: 247
Received Thanks: 100
|
Metin Wert einlesen
Hallo Com,
da ich mich schon ne Weile nicht mehr mit AutoIt beschäftigt habe, und jetzt wieder mal auf nem PServer zocke habe ich eine Frage bezügliche der Realisierung eine Switchbots.
Also ich will den DSS-Wert einlesen, vergleichen und je nach Ergebniss reagieren.
Das Switchen ist kein Problem, jedoch muss ich die ganze Zeit vorm PC sitzen und ggf. den Bot manuell beenden.
Ist es irgendwie möglcih den Dss-Wert meiner Waffe einzulesen?
Danke für die Antworten!
|
|
|
08/13/2010, 15:16
|
#2
|
elite*gold: 0
Join Date: Mar 2008
Posts: 1,524
Received Thanks: 285
|
gibt es schon, die einzigste möglichkeit wäre es via imagesearch, ist aber ein langwirieger prozess bist du jeden einzelnen dss wert als image hast
|
|
|
08/14/2010, 14:52
|
#3
|
elite*gold: 11
Join Date: Jan 2009
Posts: 247
Received Thanks: 100
|
Keine Andere Alternative?
|
|
|
08/14/2010, 15:14
|
#4
|
elite*gold: 1
Join Date: Jun 2009
Posts: 1,142
Received Thanks: 158
|
Per MemorySearch geht es vllt. auch bin mir aber nicht sicher. Probers einfach ml aus.
|
|
|
08/14/2010, 16:11
|
#5
|
elite*gold: 0
Join Date: Mar 2008
Posts: 1,524
Received Thanks: 285
|
na da gab es glaub ich sogar mal nen tool um die items auszulesen aber wie man das tut und ob das beim dss wert geht weiß ich net
|
|
|
08/14/2010, 16:28
|
#6
|
elite*gold: 255
Join Date: Nov 2009
Posts: 2,900
Received Thanks: 1,408
|
Gibt eine möglichkeit per cheat engine. Aber man findet keine Pointer deshalb muss man man für jede Anwendung des Bot's neue adressen suchen.
und zwar so:
- Exact Value - 2 Bytes
- Scan nach deinen aktuellen Dss Wert deiner Waffe, die du trägst
- Lege die Waffe ab und Scanne nach 0
- Zieh die Waffe wieder an & scanne nach den DSS Wert
Mach immer so weiter und du hast irgendwann deine Adresse.
Die kannste dann halt wie du willst verarbeiten.
PHP Code:
#include <pointer.au3> oder <Nomadmemory.au3> #RequireAdmin $pid = WinGetProcess("METIN2") $open = _MemoryOpen($pid) $dss = _MemoryRead(0x00000000,$open,"word") ;$fks = _MemoryRead(0x00000000,$open,"word") While 1 if $dss > 40 Then MsgBox(0,"Info","Waffe mit über 40 Dss!") EndIf Wend
|
|
|
08/14/2010, 16:49
|
#7
|
elite*gold: 0
Join Date: Mar 2008
Posts: 1,524
Received Thanks: 285
|
downtime ich glaube wenn er es mit imagesearch macht geht das einfacher oder?
|
|
|
08/14/2010, 22:40
|
#8
|
elite*gold: 11
Join Date: Jan 2009
Posts: 247
Received Thanks: 100
|
Also ich habe einen ersten Prototyp, der jedoch nicht ganz funktioniert
Ich habe mir eine Methode mit MemoryRead überlegt.
Vorm Programmstart muss man manuell mit CE die Adresse des DSS-Wert einer Waffe auslesen. In CE habe ich beobachtet, das sich die Value ändert, sobald man switch und danach die Waffe anzieht.
Also: Ich ziehe das SwitchItem auf meine Waffe, zieh sie an, lese den Wert aus, überprüfe ihn, beende ggf, oder ziehe die Waffe wieder aus und beginne von vorne.
Soweit die Theorie. Jedoch habe ich Probleme beim Auslesen. Irgendwie wird der Wert nicht ausgelesen, oder nicht in der Variable gespeichert. Aufjedenfall ist die Überprüfung eigentlich für den A****. Stelle ich ein, dass das Programm bei einem DSS-Wert über 20 stoppen soll, tut es das einfach nicht, sondern switch einfach weiter.
Mein Quellcode:
Code:
HotKeySet("{F1}","starten")
HotKeySet("{F2}","beenden")
#RequireAdmin
#include <NomadMemory.au3>
SetPrivilege("SeDebugPrivilege", 1)
$Adresse = InputBox("Adresseneingabe", "Gib hier bitte die Adresse deiner Waffe, die den DSS-Wert speichert ein. Wie du diese herausfindest sihee Anleitung!");Eingabe der
;Adresse des DSS-Wertes
While Not ProcessExists("metin2client.bin"); Prozessname
Sleep(200)
WEnd
$open = _MemoryOpen(ProcessExists("metin2client.bin"))
MsgBox(0,"Info","Bereit",5)
While 1
Sleep(100)
WEnd
Func starten()
While 1
MouseClick("",684,293)
MouseClick("",654,293)
Sleep(500)
MouseClick("right")
Sleep(200)
$Dss = _MemoryRead($Adresse,$open,"short")
If $Dss>20 And $Dss<100 Then ;Der Typ der Value ist unsigned, also werden -Dss zu Zahlen der Größenordnung von 65000.
Exit
EndIf
Sleep(200)
MouseClick("right",655,97)
Sleep(200)
WEnd
EndFunc
Func beenden()
Exit
EndFunc
Wie krieg ich es hin, das die Überprüfung funktioniert?
Danke
|
|
|
08/15/2010, 14:38
|
#9
|
elite*gold: 255
Join Date: Nov 2009
Posts: 2,900
Received Thanks: 1,408
|
Quote:
Originally Posted by metincheater :D
Code:
HotKeySet("{F1}","starten")
HotKeySet("{F2}","beenden")
#RequireAdmin
#include <NomadMemory.au3>
SetPrivilege("SeDebugPrivilege", 1)
$Adresse = InputBox("Adresseneingabe", "Gib hier bitte die Adresse deiner Waffe, die den DSS-Wert speichert ein. Wie du diese herausfindest sihee Anleitung!");Eingabe der
;Adresse des DSS-Wertes
While Not ProcessExists("metin2client.bin"); Prozessname
Sleep(200)
WEnd
$open = _MemoryOpen(ProcessExists("metin2client.bin"))
MsgBox(0,"Info","Bereit",5)
While 1
Sleep(100)
WEnd
Func starten()
While 1
MouseClick("",684,293)
MouseClick("",654,293)
Sleep(500)
MouseClick("right")
Sleep(200)
$Dss = _MemoryRead($Adresse,$open,"short")
If $Dss>20 And $Dss<100 Then ;Der Typ der Value ist unsigned, also werden -Dss zu Zahlen der Größenordnung von 65000.
Exit
EndIf
Sleep(200)
MouseClick("right",655,97)
Sleep(200)
WEnd
EndFunc
Func beenden()
Exit
EndFunc
|
Gibst du die Adresse auch mit einem "0x" an?
|
|
|
08/15/2010, 15:03
|
#10
|
elite*gold: 11
Join Date: Jan 2009
Posts: 247
Received Thanks: 100
|
Quote:
Originally Posted by _DownTime
Gibst du die Adresse auch mit einem "0x" an?
|
Hm... Bis jetzt nicht, doch als ichs jetzt probiert habe (mit 0x davor) gings tdm. nicht
€: Jetzt Funktioniert!
Dankesehr!
|
|
|
08/15/2010, 15:11
|
#11
|
elite*gold: 0
Join Date: Mar 2008
Posts: 1,524
Received Thanks: 285
|
was für adressen benutzt du?
|
|
|
08/31/2010, 05:00
|
#12
|
elite*gold: 205
Join Date: Jun 2010
Posts: 264
Received Thanks: 686
|
hallu =)
wieso nutzt du nicht einfach mein bot un ersprachst dir viiel viiel arbeit xD
wenn dir die arbeit trotzdem machen willst
dashier wird dir sicherlich helfen:
Brauchst 2 Memory Adressen pro Boni
1. Adresse Boniart (2 Byte)
2. Adresse Bonihöhe (Byte)
Dann brauchste den Pointer (dasfür hat CE ne nette Funktion die da zuverlässig funkt)
Wennde nachhder die Pointer "ansteuerst" vergess nicht das der Prozess mit in der Adresse steht =)
Bei weiteren Frage melde dich ^^
|
|
|
|
Similar Threads
|
5.Stunde – Einlesen und Ausgabe
07/20/2011 - Coding Tutorials - 4 Replies
5.Stunde – Einlesen und Ausgabe
Guten Abend,
kommen wir zu Stunde 5 ;D
Dem Einlesen von Daten bzw. deren Ausgabe aus Dateien.
Dafür brauchen wir erstmal eine neue Bibliothek <fstream> und 2 Neue Variablen
ifstream fürs einlesen und ofstream für die ausgabe also:
ifstream dat_ein;
|
Programm hilfe-Input einlesen usw. pls help!
06/08/2010 - AutoIt - 5 Replies
Hallo E*PVP Community,
ich habe mal wieder ein Problem in AutoIt.
Und dazu noch einige Fragen.
Ich möchte eine GUI erstellen in der was eingelesen werden soll und dann soll diese varibal in der For schleife genutzt werden .
Die For schleife soll dann ganz viele GUI's mit der Random funktion an verschiedene Positionen auf dem desktop erstellen. Die Main GUI soll dann gelöscht werden nachdem man auf Ok gedrückt hat.
Jedoch man soll sie nicht beenden können ausßer mit einem Hotkey.
...
|
Pixel einlesen
05/09/2010 - AutoIt - 1 Replies
Hallo
ich habe folgendes Problem ich will mit der inputbox einen pixel einlesen
$pixel = InputBox ("Eingabe", "Pixeleingeben")
und dann soll die maus mir dem Befehl
MouseClick ("left", $pixel)
auf den Pixel klicken. Die eingabe soll z.B. aussehen so 333,555. Mein Problem ist nun das er den Pixel einliest aber nicht die Maus bewegt.
Ich hoffe mir kann da jemand weiter helfen :handsdown:
|
[How To] Mein2 Passwort einlesen!
12/07/2009 - Metin2 Guides & Templates - 11 Replies
Hallo Com.
Ihr müsst einfach in euerm Regi script die verse $Password suchen und darum müsten () und " um $Password sein also einfach die () ausserhalb des $Password entfernen und sie werden unverschlüsselt gespeichert.
Nachteile Server läuft nicht xD
Edit: Sry falsche Section, bitte verschieben!
|
All times are GMT +2. The time now is 15:22.
|
|