Hab gerade mal kurz drüber geschaut und ein paar Dinge verändert.
Bin etwas müde von der Arbeit, deshalb will ich auch nicht genauer auf die einzelnen Punkte eingehen. Schau es dir einfach mal an und frag, wenn du was nicht verstehen solltest.
Thx erstmal.
Leider ändert sich die Value wieder nicht.
Wie kann ich das für 4 Bytes mal machen?
In Cheat Engine ist es auf 4 Bytes, aber mit 2 gehts auch.
While 1 $Read = _MemoryRead($Read , $Handle) + 0x420 $Read = _MemoryRead($Read , $Handle) + 0x66A $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 _MemoryWrite($Read , $Handle , GUICtrlRead($Input1)) Case $Button2 _MemoryWrite($Read , $Handle , "WERT") EndSwitch Wend
Nicht getestet.
Hier ist der Befehl der glaub ich nicht in der Pointer.au3 steht.
Aber irgendwo in google( nicht von mir ):
PHP Code:
Func _MemoryModuleGetBaseAddress($iPID, $sModule) If Not ProcessExists($iPID) Then Return SetError(1, 0, 0)
If Not IsString($sModule) Then Return SetError(2, 0, 0)
Local $PSAPI = DllOpen("psapi.dll")
;Get Process Handle Local $hProcess Local $PERMISSION = BitOR(0x0002, 0x0400, 0x0008, 0x0010, 0x0020) ; CREATE_THREAD, QUERY_INFORMATION, VM_OPERATION, VM_READ, VM_WRITE
If $iPID > 0 Then Local $hProcess = DllCall("kernel32.dll", "ptr", "OpenProcess", "dword", $PERMISSION, "int", 0, "dword", $iPID) If $hProcess[0] Then $hProcess = $hProcess[0] EndIf EndIf
;EnumProcessModules Local $Modules = DllStructCreate("ptr[1024]") Local $aCall = DllCall($PSAPI, "int", "EnumProcessModules", "ptr", $hProcess, "ptr", DllStructGetPtr($Modules), "dword", DllStructGetSize($Modules), "dword*", 0) If $aCall[4] > 0 Then Local $iModnum = $aCall[4] / 4 Local $aTemp For $i = 1 To $iModnum $aTemp = DllCall($PSAPI, "dword", "GetModuleBaseNameW", "ptr", $hProcess, "ptr", Ptr(DllStructGetData($Modules, 1, $i)), "wstr", "", "dword", 260) If $aTemp[3] = $sModule Then DllClose($PSAPI) Return Ptr(DllStructGetData($Modules, 1, $i)) EndIf Next EndIf
Tut mir leid. Mir ist auf deinem Bild garnicht aufgefallen, dass man die Baseaddresse erst herausfinden muss.
Das, was BladeTiger12 zeigt, wäre eine Option, die aber suboptimal ist.
Außerdem viel zu aufwendig.
Die bessere und effizientere Methode ist ebenfalls recht einfach. Du kopierst den Text, der auf deinem Bild zu sehen ist ("Metin2.bin+002ED9B0") und drückst anschließend auf den button "Add address manually". Nun öffnet sich ein kleines Pop-Up-Fenster. In das erste input Feld, das für die Adresse zuständig ist, fügst du den kopierten Text ein und bestätigst das ganze einfach mit "OK". Nun befindet sich unten in der listview eine neue Zeile mit einer neuen Adresse und den dazugehörigen Werten (Description, Address, Type, Value). Die gesuchte Baseadresse befindet sich in dem Kategoriefeld "Address". Diese kannst du ganz simple in dein Script importieren.
Naja ob man das jetzt so macht oder wie ich es gemacht habe
kommt am schluss doch immer die gleiche raus.
Und warum erst mit Cheat Engine das machen.
Wenn man die Base Address auch so bekommt.
Und verändert kann man das ganze ja auch gleich.
Tut mir leid. Mir ist auf deinem Bild garnicht aufgefallen, dass man die Baseaddresse erst herausfinden muss.
Das, was BladeTiger12 zeigt, wäre eine Option, die aber suboptimal ist.
Außerdem viel zu aufwendig.
Die bessere und effizientere Methode ist ebenfalls recht einfach. Du kopierst den Text, der auf deinem Bild zu sehen ist ("Metin2.bin+002ED9B0") und drückst anschließend auf den button "Add address manually". Nun öffnet sich ein kleines Pop-Up-Fenster. In das erste input Feld, das für die Adresse zuständig ist, fügst du den kopierten Text ein und bestätigst das ganze einfach mit "OK". Nun befindet sich unten in der listview eine neue Zeile mit einer neuen Adresse und den dazugehörigen Werten (Description, Address, Type, Value). Die gesuchte Baseadresse befindet sich in dem Kategoriefeld "Address". Diese kannst du ganz simple in dein Script importieren.
Danke.
Hab ich gemacht.
Leider kommt da jetzt eine ganz andere Value bei raus.
Mfg. Easy
Hmm.
Komm mal in Skype und da kann ich dir besser helfen.
Und das da eine andere value raus kommt ist ja klar.
Da es keine Offsets hat wenn du es nur Addest.
Und du sollst ja auch nur wie er gesagt hat die Adresse rauskopieren
und sie in Autoit einfügen.
Metin2 Rüssi verändert wird nicht angezeigt 08/17/2012 - Metin2 Private Server - 2 Replies Heyho
Ich hab ein kleines problem ich habe die lvl 1 rüssi vom krieger umgeändert. Aber leider seh ich das nicht ingame es ist richtig eingefügt habe alles richtig wieder zusammen gepackt ich weiß nicht woran es liegt.
Screens:
http://img411.imageshack.us/img411/9239/unbenannt 2mb.th.png
http://img825.imageshack.us/img825/5690/unbenannt umi.th.png
[PHP] Warum wird das Bild nicht gepspeichert 04/06/2012 - Web Development - 3 Replies Abend.
Ich bin am verzweifeln, irgendwas simmt da nicht.
Alle Dateinen haben CHMOD 777 Rechte.
<?php
$bilder = array(
'bild1.png',
'bild2.png'
);
Warum wird das Bild nicht animniert ? 08/30/2011 - General Art - 13 Replies Einen schönen guten Morgen ElitePvpers,
ich habe mich heute morgen mal an eine ANimation rangemacht,
sie besteht aus 4 Bildern und es soll Regen dargestellt werden,
nur leider wenn ich sie als .gif abspeichere und im Browser öffne,
sehe ich nur ein normales Bild ohne Animationen.
Und wenn wir gerade bei diesem Thema sind, aus wievielen Bildern
kann eine Animation maximal bestehen ?
Fehler?!Warum Wird es nicht angezeigt?! 12/16/2010 - WarRock - 4 Replies Guten Abend
Ich habe mal eine kleine Frage?
Findet ihr den Fehler?
Sreen:http://img687.imageshack.us/img687/3786/feh leryu.png
Wenn nicht dann habe ich eine Frage :Warum wir bei mir oben rechts die kleine karte nicht angezeigt?