Ja , das geht schon in die richtige Richtung =).
Funktioniert das denn auch bei Gw2 ?
Und wie würde das denn aussehen wenn man nur einen Doppelklick haben möchte für einen Hotkey ?
Und was würde man dann wiederum machen, ähnlich wie bei dir. Wenn man in einem Bestimmtem Zeitintervall klicken möchte z.B: alle 10 Sekunden.
Das habe ich mir so ähnlich gedacht.
Wie würde man das denn machen können mit AutoIT?
Edit: Man müsste das Script dann auch jedesmal Starten ?
mit _IsPressed für die Hotkeyabfrage und MouseClick für den Klick.
Könnte man Theoretisch dann kompilieren und in den Autostart gucken.
Mit WinExists/ProcessExists kannst du schauen ob Gw2 läuft.
Ja , das geht schon in die richtige Richtung =).
Funktioniert das denn auch bei Gw2 ?
Und wie würde das denn aussehen wenn man nur einen Doppelklick haben möchte für einen Hotkey ?
Und was würde man dann wiederum machen, ähnlich wie bei dir. Wenn man in einem Bestimmtem Zeitintervall klicken möchte z.B: alle 10 Sekunden.
Ein Doppelklick für einen Hotkey:
So wie buffy schon geschrieben hat
In einem bestimmten Zeitintervall: einfach noch ein Sleep (10000) zwischen MouseClick setzen
Jop , danke für die Hilfe schonmal!
Ich wüsst noch gerne wie ich Autoit sagen kann wo der Doppelklick stattfinden soll.
z.B bei C im Platz 1 , bei Alt im Platz 2, etc.
AutoItSetOption("MouseCoordMode", 2);relative to client
HotKeySet("{End}", "_exit")
Func _exit()
Exit 1
EndFunc
Global $title = "Guild Wars 2"
Global $hwnd = WinGetHandle($title)
if (NOT $hwnd) Then
MsgBox("", "Error", "No window found with title " & $title)
Exit 2
EndIf
HotKeySet("{c}", "_doubleClickOnMousePos")
Global $isClicking = false
Func _doubleClickOnMousePos()
$isClicking = NOT $isClicking
if ($isClicking) Then
local $mousePos = MouseGetPos()
ToolTip("clicking", 0, 0)
local $countClicks = 0
while $isClicking
$countClicks = $countClicks + 1
ControlClick($hwnd, "", "", "left", 2, $mousePos[0], $mousePos[1])
ToolTip("clicking : " & $countClicks, 0, 0)
sleep(100)
WEnd
ToolTip("", 0, 0)
EndIf
EndFunc
While True
sleep(0)
WEnd
Sobald du "c" drückst wird so lange Doppelklicks gesendet an die MousePosition zu dem Zeitpunkt als du c gedrückt hast, bis du noch einmal c drückst.
das ganze läuft über Controllclicks, damit deine Mouse frei bleibt, MouseClicks bewegen tatsächlich deine Mouse und lösen darüber klicks aus, willst du womöglich aber nicht.
Mit Controllclicks kannst du die clicks auch im Hintergrund machen lassen und in der Zeit etwas anderes tun, da alle Kommandos an das Window ($hwnd) gesendet werden von Guild Wars 2.
Im großen und ganzen dürfte das sein was du willst.
AutoItSetOption("MouseCoordMode", 2);relative to client
HotKeySet("{End}", "_exit")
Func _exit()
Exit 1
EndFunc
Global $title = "Guild Wars 2"
Global $hwnd = WinGetHandle($title)
if (NOT $hwnd) Then
MsgBox("", "Error", "No window found with title " & $title)
Exit 2
EndIf
HotKeySet("{c}", "_doubleClickOnMousePos")
Global $isClicking = false
Func _doubleClickOnMousePos()
$isClicking = NOT $isClicking
if ($isClicking) Then
local $mousePos = MouseGetPos()
ToolTip("clicking", 0, 0)
local $countClicks = 0
while $isClicking
$countClicks = $countClicks + 1
ControlClick($hwnd, "", "", "left", 2, $mousePos[0], $mousePos[1])
ToolTip("clicking : " & $countClicks, 0, 0)
sleep(100)
WEnd
ToolTip("", 0, 0)
EndIf
EndFunc
While True
sleep(0)
WEnd
Sobald du "c" drückst wird so lange Doppelklicks gesendet an die MousePosition zu dem Zeitpunkt als du c gedrückt hast, bis du noch einmal c drückst.
das ganze läuft über Controllclicks, damit deine Mouse frei bleibt, MouseClicks bewegen tatsächlich deine Mouse und lösen darüber klicks aus, willst du womöglich aber nicht.
Mit Controllclicks kannst du die clicks auch im Hintergrund machen lassen und in der Zeit etwas anderes tun, da alle Kommandos an das Window ($hwnd) gesendet werden von Guild Wars 2.
Im großen und ganzen dürfte das sein was du willst.
Du kannst es natürlich beliebig ausbauen.
Wird wahrscheinlich nicht mit ControlClick gehen, weil ControlClick kein WM_MOUSEMOVE sendet.
Muss man dann also mit PostMessage/SendMessage machen. Oder man nutzt eben die Mousefuncs.
Wird wahrscheinlich nicht mit ControlClick gehen, weil ControlClick kein WM_MOUSEMOVE sendet.
Muss man dann also mit PostMessage/SendMessage machen. Oder man nutzt eben die Mousefuncs.
Bei meinem schnellen test ging es ^^
Dem Inventar "button" ist es im Prinzip egal ob sich die Maus tatsächlich darüber befindet.
Durchaus denkbar das es in manchen Situationen nicht funktioniert.
Ich glaub beim Wiederverwerten dürfte das nicht gehen.
Faktisch wenn du mit dem Kit über das Item gehen würdest.
Bei allem wo nur ein einfacher Doppelklick gebraucht wird funktioniert das.
Beim Salvagen brauchts mehr, da wird doppelklick damit sich der Cursor State ändert, dann überprüft der beim MouseOver ob er überhaupt das Item salvagen kann und "dann" darf man erst klicken zum salvagen.
Will man also salvagen muss man mit der Mouse kurz über die entsprechenden items "hovern", kostet ja effektiv auch keine Zeit da ja nahezu sofort alle stacks des Salvage Kit weggebombt sind.
Bei allem wo nur ein einfacher Doppelklick gebraucht wird funktioniert das.
Beim Salvagen brauchts mehr, da wird doppelklick damit sich der Cursor State ändert, dann überprüft der beim MouseOver ob er überhaupt das Item salvagen kann und "dann" darf man erst klicken zum salvagen.
Will man also salvagen muss man mit der Mouse kurz über die entsprechenden items "hovern", kostet ja effektiv auch keine Zeit da ja nahezu sofort alle stacks des Salvage Kit weggebombt sind.
[S]Doppelklick Script [B]4 egold 08/19/2012 - elite*gold Trading - 5 Replies hey leute.
ich bin auf der suche nach einem "doppelklick" script.
es sollte beim zocken funktionieren.
also wenn ich einmal klicke mit der linken maustaste soll er von alleine gleich nach dem ersten klick nocheinmal klicken.
cool wäre noch wenn man einstellen könnte wie oft er hintereinander klickt.
wenn einer sowas für mich hat, bekommt er 4 egold.
Doppelklick-Bot 12/19/2010 - AutoIt - 17 Replies Servus,
ja, ich weiß, es ist wahrscheinlich nur eine Kleinigkeit, trotzdem würd ich gerne wissen, was ich hierbei falschgemacht habe.
HotKeySet ("{F5},Start")
HotKeySet ("{F6},Close")
While 1
Func Start()
$Klick = MouseClick("left")
If $Klick Then
Doppelklick-Bot 12/05/2010 - AutoIt - 1 Replies Sorry für den Doppelpost
War keine Absicht.
Bitte Löschen
Doppelklick auf Liste? 05/11/2010 - AutoIt - 21 Replies Ich habe eine Liste (GUICtrlCreateList)... wenn ich einen Doppelklick auf einen Eintrag mache, soll eine Funktion ausgeführt werden.
Mir gehts also um den Doppelklick, ne Idee?
EDIT: Vllt ist's wichtig - ich benutz OnEventMode
DoppelKlick 08/21/2008 - General Coding - 2 Replies Also ich benutze seit heute AutoITv3
und einen Mouseklick macht man ja so:
MouseClick("left", 50, 665)
Aber wie macht man einen doppelklick und wie hält man die Mouse gedrückt und läst sie wieder los ??