|
You last visited: Today at 03:07
Advertisement
Pointer + Offsets in AutoIt beschreiben
Discussion on Pointer + Offsets in AutoIt beschreiben within the AutoIt forum part of the Coders Den category.
05/31/2010, 00:40
|
#31
|
elite*gold: 15
Join Date: Apr 2010
Posts: 987
Received Thanks: 2,101
|
Danke schonmal für die antworten 
werde es dann später ausprobieren da ich den pc grad runtergefahren hab.
Schau hier grad noch von meinem iPod aus rein ^^
will mich jez auch mal hinlegen..
Jedenfalls danke und gut Nacht.
|
|
|
05/31/2010, 01:33
|
#32
|
elite*gold: 0
Join Date: May 2010
Posts: 1,106
Received Thanks: 13,583
|
Quote:
Originally Posted by huberhans
Schonmal den indirekten Weg probiert?
PHP Code:
$Wert = _Memorypointerread($pointer,$open,$Offset)) GUICtrlSetData($Label1, $Wert[1])
|
Mit dieser Antwort hast du auch mir sehr geholfen huberhans. Möchte nur wissen warum das so sein soll. Also damit meine ich jetzt speziell die [1] nach dem $Wert.
Du hast ja $Wert bei Zeile 1 ganz normal definiert ohne dieses "[1]", warum aber muss das dann in der zweiten Zeile stehen?
Es funktioniert, aber ich möchte es auch gerne verstehen.
Auf jedenfall bekommst du dafür ein Thanks.
|
|
|
05/31/2010, 11:21
|
#33
|
elite*gold: 0
Join Date: Nov 2009
Posts: 927
Received Thanks: 1,317
|
Quote:
Originally Posted by Jack990
Mit dieser Antwort hast du auch mir sehr geholfen huberhans. Möchte nur wissen warum das so sein soll. Also damit meine ich jetzt speziell die [1] nach dem $Wert.
Du hast ja $Wert bei Zeile 1 ganz normal definiert ohne dieses "[1]", warum aber muss das dann in der zweiten Zeile stehen?
Es funktioniert, aber ich möchte es auch gerne verstehen.
Auf jedenfall bekommst du dafür ein Thanks.
|
Weil _memorypointerread aus der "Variable" $Wert ein Array macht, was ja mehrere Werte enthalten kann. mit der [1] "sagen" wir dem Script, daß es den ersten Wert des Arrays verwenden soll.
Gruß
|
|
|
05/31/2010, 12:51
|
#34
|
elite*gold: 33
Join Date: May 2010
Posts: 3,240
Received Thanks: 1,960
|
Huberhans kannste mir vllt auch nochmal helfen?? zur Not können wir das auch per pn machen damit das hier nicht so vollgespammt wirt mit dem freezen un zur Leiche telepotieren
|
|
|
05/31/2010, 12:58
|
#35
|
elite*gold: 0
Join Date: Nov 2009
Posts: 927
Received Thanks: 1,317
|
Quote:
Originally Posted by BestOfElite
Huberhans kannste mir vllt auch nochmal helfen?? zur Not können wir das auch per pn machen damit das hier nicht so vollgespammt wirt mit dem freezen un zur Leiche telepotieren
|
Freezen is einfach... per Button oder Checkbox eine Variable setzen bzw. Checkbox abfragen.
In der Hauptschleife eine Funktion aufrufen, in der die Memory geschrieben wird, etwa so:
PHP Code:
$CBX = Guictrlcreatecheckbox()
While 1
.
.
.
Freezefunktion()
WEnd
Func Freezefunktion()
If GUICtrlRead($CBX) = $GUI_CHECKED Then
_MemoryPointerWrite($Pointer, $Prozess, $Offset, $WERT)
EndIf
EndFunc
Damit läuft die Funktion immerzu mit durch und wenn die CBX gesetzt ist, wird die Memory geschrieben. Freezen an sich geht nicht, aber im Millisekundentakt neu schreiben klappt genauso.
Gruß
P.S.: Musste jetzt schnell gehen, muß gleich auf Arbeit... Wenn noch Fragen sind, dann bitte bis nach 23 Uhr warten.
|
|
|
05/31/2010, 13:28
|
#36
|
elite*gold: 33
Join Date: May 2010
Posts: 3,240
Received Thanks: 1,960
|
wenn u wieder da bist dann hab ich Die Frage wenn ich das per buttonklik machen will muss ich dann nicht überall checkbox eingeben sonder Butten oder
es soll ja auf einem Button gefrezzt werden und auf einem anderen defrezzt also muss er immer abfragen
ob der defrezzbutoon schon geklickt wurde oder?
|
|
|
05/31/2010, 20:50
|
#37
|
elite*gold: 15
Join Date: Apr 2010
Posts: 987
Received Thanks: 2,101
|
so danke jetzt gehts also HP wert auslesen und in einem label anzeigen^^.
habe jetzt aber ein kleines Problem weil der Wert in der GUI immer so flackert.
das hast du ja schon auf Seite 2 angesprochen aber so richtig verstanden hab ichs nicht, wie ich es nun vermeiden kann dass es nicht mehr flackert.
@BestOfElite schau auch mal Seite 2 da steht wie man die Adresse durch Buttonklick sozusagen freezen kann.
|
|
|
05/31/2010, 22:56
|
#38
|
elite*gold: 33
Join Date: May 2010
Posts: 3,240
Received Thanks: 1,960
|
Jaaaaaa hab ich grad gesehen  ich hab's mir vorher nicht so genau angeguck xD und das mit den hp muss ich mit auch noma anguckn
|
|
|
05/31/2010, 23:52
|
#39
|
elite*gold: 0
Join Date: Nov 2009
Posts: 927
Received Thanks: 1,317
|
So, jetzt nochmal zum flackern...
Wenn man den einfachen Weg nimmt:
PHP Code:
$Wert = _Memorypointerread($pointer,$open,$Offset)) GUICtrlSetData($Label1, $Wert[1])
flackert die GUI, da bei jedem Durchlauf des Scripts der Wert im Label neu geschrieben wird.
Um das zu umgehen, setzen wir einfach ne Bedingung, die das Label nur aktualisiert, wenn sich die HP geändert haben. Das sieht dann folgendermaßen aus:
1. Wir definieren VOR der Hauptschleife schonmal eine Variable:
2. In der While-Schleife machen wir das dann wie folgt:
PHP Code:
$HP = _Memorypointerread($pointer,$open,$Offset_HP)) If $HP[1] <> $AKT_HP Then $AKT_HP = $HP[1] GUICtrlSetData($Label_HP, $AKT_HP) EndIf
Zur Erklärung: - $HP wird von der Memory beschrieben
- wir vergleichen den Wert in $HP[1] mit $Akt_HP
- Wenn nun eine Differenz festgestellt wird, setzen wir $Akt_HP gleich $HP[1] (dem Wert aus der Memory)
- und beschriften $Label_HP in der GUI neu
Wird keine Abweichung festgestellt, wird auch das Label nicht neu gesetzt.
Hoffe es war verständlich jetzt
Gruß
|
|
|
06/01/2010, 03:19
|
#40
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
|
Das mit Buttons lässt sich in C++ besser umsetzen (wie so vieles), mit einem Trick funktioniert es aber auch mit AutoIt.
PHP Code:
;...
Global $Write
While True
$msg = GUIGetMsg()
Switch $msg
Case -3
Exit
Case $Button1
$Write = Not $Write
EndSwitch
If $Write Then
;_MemoryPointerWrite()
EndIf
WEnd
Ungetestet, sollte aber funktionieren.
|
|
|
06/01/2010, 07:16
|
#41
|
elite*gold: 33
Join Date: May 2010
Posts: 3,240
Received Thanks: 1,960
|
K werd's gleich Mal probieren
|
|
|
06/01/2010, 12:32
|
#42
|
elite*gold: 0
Join Date: Nov 2009
Posts: 927
Received Thanks: 1,317
|
Ich mach's halt so:
PHP Code:
Global $Write = 0
While True
$msg = GUIGetMsg()
Switch $msg
Case -3
Exit
Case $Button1
If $Write = 0 Then
$Write = 1
ElseIf $Write = 1 Then
$Write = 0
EndIf
EndSwitch
If $Write = 1 Then
;_MemoryPointerWrite()
EndIf
WEnd
|
|
|
06/01/2010, 13:08
|
#43
|
elite*gold: 33
Join Date: May 2010
Posts: 3,240
Received Thanks: 1,960
|
ok das mit dem button klappt jetzt und jetzt zum thema HP ^^ muss ich das in der while schleife aber nach endswitch mein label heißt label_HP mein offset Offset_HP aber wenn ich den code nehme dann passiert garnichts ;(
|
|
|
06/01/2010, 13:16
|
#44
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
|
PHP Code:
$HP = _Memorypointerread($pointer,$open,$Offset_HP)
$AKT_HP = GUICtrlRead($label_HP)
If $HP[1] <> $AKT_HP Then GUICtrlSetData($Label_HP, $HP[1])
|
|
|
06/01/2010, 13:57
|
#45
|
elite*gold: 33
Join Date: May 2010
Posts: 3,240
Received Thanks: 1,960
|
aso ich wusste es ich hatte $AKT_HP nicht beschrieben aber jetzt kommt
$HP = _Memorypointerread($pointer,$open,$Offset_HP)) <-- voführ die doppelklammer??
$HP = ^ ERROR
sagen wirs mal so in meinem label ist jetzt ein kleiner punkt
|
|
|
 |
|
Similar Threads
|
Offsets/Pointer
04/14/2010 - World of Warcraft - 4 Replies
Huhu,
hat wer die Offsets/Pointer für WoW 3.3.3a ?
Wäre n1!
|
ECSRO Pointer / Offsets
06/16/2009 - SRO PServer Guides & Releases - 28 Replies
I'll release it here for all coders out there.
Charname = A00340
Server name = A002C0
Max HP = A01624
Max MP = A01628
STR = A0162C
INT = A0162E
Dynamic things:
|
[Help] Pointer,Offsets,Etc.
05/29/2009 - Kal Online - 10 Replies
Heyjo,
Aaalso...
Ich hab mich vorher noch nie mit Artmoney befasst bzw. nur 1-2 mal für speedhack das wars aber auch schon.
Mir geht es jetzt um den Pointer, Offsets kram.
Wenn ich Pointer suchen möchte such ich erst mal die normale adresse...sagen wir jetzt von der X Coordinate
in meinem Fall jetzt:
085EBDA8
jetzt mach ich nen rechtsklick drauf --> Mehr... --> Suche.. --> Pointer zu dieser Adresse suchen:
0 Ergebnisse
Wenn ich Pointer ab Anfang des Speicherblocks suchen klicke, kriegt...
|
need help getting mob pointer and offsets
12/21/2008 - Silkroad Online - 1 Replies
well as the topic sais i wanna get the memory adresses to read mobdata like playerdata
so far i found the adress for mobhp in the memory
the adress changes with each mob so i've set a breakpoint in olly and got the offset 0x440
with that offset i got the pointer for that client
u can c that here:
http://silkroad-planet.de/Magic/mob_hp.jpg
the mob was a movia(54hp) and the pointer was 0x9CE4E6C
well now i'm able to get the data of that client for each mob i select...
|
All times are GMT +1. The time now is 03:07.
|
|