Mauszeiger auslesen

08/01/2011 20:49 ouka#1
Edit
08/01/2011 20:54 uragan#2
[Only registered and activated users can see links. Click Here To Register...]

dann

[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
08/01/2011 21:15 ouka#3
Quote:
Originally Posted by uragan View Post
[Only registered and activated users can see links. Click Here To Register...]

dann

[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
Super gemacht danke :)

Leider sagt er mir immer das die ID = 0 ist, heit unbekannt, das spiel benutzt 2 mausarten, einmal nen eigenen arrowartigen und das schwert wenn man irgendwo drüber geht, beides wird als 0 gekennzeichnet was mach ich?^^

also wie kann ich 2 unbekannte mousecursor identifizieren? ^^ dllcall? :P
08/01/2011 22:12 uragan#4
hmm, da musste dich mit Memoryread befassen und die Adresse suchen,
Damit kann ich leider nicht helfen
08/01/2011 22:15 BlackHybrid#5
Ich denke auch, dass dir das ganze etwas zu weit für einen anfänger ist. Wenn das ganze nicht hidden sein soll wäre eine Variante Image oder auch nur Pixelsearch.
08/01/2011 22:18 ouka#6
Quote:
Originally Posted by BlackHybrid View Post
Ich denke auch, dass dir das ganze etwas zu weit für einen anfänger ist. Wenn das ganze nicht hidden sein soll wäre eine Variante Image oder auch nur Pixelsearch.
Pixelsearch und imagesearch würden den script massiv leider verlangsamen, wie wäre die lösung um im speicher danach zu suchen?

Vielleicht hat ja jemand ne idee oder nen script schnipsel dafür ^^ Wird denke ich mal schon in mehreren spielen ein problem gewesen sein :)

Code:
$choose = FileOpenDialog("Waehle einen Cursor", @WindowsDir & "\Cursors", "Cursor und Icon(*.ani;*.cur;*.ico)")
$hCursor = DllCall("user32.dll", "ptr", "LoadCursorFromFile", "str", $choose)
$hCopyCursor = DllCall("user32.dll", "ptr", "CopyImage", "ptr", $hCursor[0], "uint", 2, "int", 0, "int", 0, "uint", 0)
damit kann man zumindestens den mauscurser festlegen ^^ und auslesen? ^^
08/01/2011 22:38 BlackHybrid#7
Naja mit dlls und der Memory kenn ich mich nicht wirklich gut aus, weil ich ehr Tools etc mach.
Aber wenn du es auf die Art machen willst könnte man gleich über die Memory den Gegner als Target nehmen :P

Pixelsearch muss nicht unbedingt langsamer sein, da du ja lediglich in einen Bereich von mindestens 2 Pixeln suchen musst (Bereich mit MouseGetPos bestimmen).
08/02/2011 03:44 ♥ Jessica ♥#8
Probier dochmal das hier :

PHP Code:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 GUICreate("Cross Curser"31870192124)
GUISetCursor (3)
GUISetState(@SW_SHOW)

While 
1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit

    EndSwitch
WEnd 
das kannst du aber auch in ' [Only registered and activated users can see links. Click Here To Register...] '
08/02/2011 07:42 ouka#9
Quote:
Originally Posted by ♥ Jessica ♥ View Post
Probier dochmal das hier :

PHP Code:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 GUICreate("Cross Curser"31870192124)
GUISetCursor (3)
GUISetState(@SW_SHOW)

While 
1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit

    EndSwitch
WEnd 
das kannst du aber auch in ' [Only registered and activated users can see links. Click Here To Register...] '
Ne darum geht es nicht ^^

also ich möchte 2 unbekannte mauszeiger identifizieren können ^^
08/02/2011 14:09 buFFy!#10
Code:
Func hGetCursor()
	$ret = DllCall('user32.dll', 'handle', 'GetCursor')
	Return $ret[0]
EndFunc   ;==>hGetCursor
gut möglich das die au3 funktion da was anders macht, drum das mal ausprobieren bitte.
1 pixel zu scannen ist zwar nicht unbedingt performance lastig, kann aber von pc zu pc variieren.
08/02/2011 18:19 ouka#11
Quote:
Originally Posted by buFFy! View Post
Code:
Func hGetCursor()
	$ret = DllCall('user32.dll', 'handle', 'GetCursor')
	Return $ret[0]
EndFunc   ;==>hGetCursor
gut möglich das die au3 funktion da was anders macht, drum das mal ausprobieren bitte.
1 pixel zu scannen ist zwar nicht unbedingt performance lastig, kann aber von pc zu pc variieren.
Jo danke :) funktioniert schon besser, allerings wirds immer nen 1003 egal was sich im spiel verändert hm..
08/02/2011 18:37 buFFy!#12
vermutlich ist das ganze ein boolen. such mal mit cheatengine nach 1 wenn schwert, und nach 0 wenn kein schwert.
08/02/2011 18:42 yihaaa#13
Quote:
such mal mit cheatengine nach 1 wenn schwert, und nach 0 wenn kein schwert.
Oder auch umgekehrt.


MfG
08/02/2011 18:48 buFFy!#14
Quote:
Originally Posted by yihaaa View Post
Oder auch umgekehrt.


MfG
wohl kaum. ist zwar durchaus möglich, wäre aber absolut unsinnig.
08/02/2011 18:53 yihaaa#15
Die Antwort fasse ich als Witz auf. Oder weißt du wie mans definiert hat?

MfG