|
You last visited: Today at 13:22
Advertisement
[Hilfe]Kompliziertes Problem :O
Discussion on [Hilfe]Kompliziertes Problem :O within the AutoIt forum part of the Coders Den category.
08/12/2011, 08:29
|
#1
|
elite*gold: 0
Join Date: Dec 2009
Posts: 1,622
Received Thanks: 2,070
|
[Hilfe]Kompliziertes Problem :O
Hey ich habe grade aus spaß folgendes vor.
Ich möchte, dass durch halten 2 verschiedener tasten, verschiedene tastenfunktionen an ein Spiel Gesendet werden.
z.B. Ich halte die Taste M, und es soll an das fenster eines Spieles folgendes Gesendet werden.
D taste down
Leertaste down
e taste down
Rechte maustaste down
und die linke maus soll gespammt werden.
Im Umkehr schluss, soll sobald die taste nicht gedrückt is, keine dieser funktionen erfolgen, aber die entsprechenden tasten sollen immer noch im spiel funktionieren, d.H. key up in eine schleife machen is nicht, sonst kann man ingame die taste nicht benutzen.
Ich steh vor einem rätsel wie das funktionieren soll.
Und WICHTIG ist, dass die tasten down sind, also nicht nur ein einer schleife gesendet werden.
Ich habe einen weg probiert, aber bei dem wird die key up kommands in einer schleife ausgeführt, und die tasten sind nutzlos.
Hoffe jemand hat ne ahnung wie/ob das funktionieren soll.
|
|
|
08/12/2011, 09:34
|
#2
|
elite*gold: 1826
Join Date: Mar 2009
Posts: 4,310
Received Thanks: 6,287
|
komische problembeschreibung. ich interpretier da immer komische dinge rein ..
könntest du das gemeint haben?
Code:
HotKeySet("{M}", "Main")
Global $Spam = 0
AdlibRegister("Left", 10)
Func Main()
Send("{SPACE down}")
Send("{D down}")
Send("{E down}")
MouseDown("right")
$Spam = 1
EndFunc
Func Left()
If $Spam Then MouseClick("left")
EndFunc
While 1
Sleep(100)
WEnd
|
|
|
08/12/2011, 09:37
|
#3
|
elite*gold: 0
Join Date: Dec 2009
Posts: 1,622
Received Thanks: 2,070
|
Nein das ist ja mit Hotkey, wo nur durch einmaliges drücken die funktion ausgeführt wird, und nicht gesteuert werden kann, wann diese aufhören soll.
Ich habe es mit While IsPressed gemacht, aber ich weiß einfach nicht wie ich die entsprechenden tasten auf up stellen soll, und das ohne eine schleife, damit man diese ingame noch benutzen kann.
|
|
|
08/12/2011, 10:37
|
#4
|
elite*gold: 0
Join Date: Aug 2011
Posts: 56
Received Thanks: 5
|
buffy`s lösung ist doch genau das was du willst
.....Durch das drücken wird diese function wie du gesehen hast doch nur einmal ausgeführt,durch nochmaliges drücken wird es wieder ausgeführt oder
*Edit
Sorry hab mich vertan :/
|
|
|
08/12/2011, 11:03
|
#5
|
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
|
du fragst in einer whileschleife ob der key down ist. am ender der schleife setzt du $a = true
dann eine schleife in der du fragst ob der key up ist und gleichzeitig $a = true, dann soller up an die tasten senden und danach $a = false setzen.
wird also in der schleife nur ausgeführt wenn zuvor m gedrückt wurde, so wrid nciht die ganze zeit up gesendet.
nur im kopf entworfen, keine garantie
|
|
|
08/12/2011, 12:30
|
#6
|
elite*gold: 1826
Join Date: Mar 2009
Posts: 4,310
Received Thanks: 6,287
|
Quote:
Originally Posted by freehuntx
Nein das ist ja mit Hotkey, wo nur durch einmaliges drücken die funktion ausgeführt wird, und nicht gesteuert werden kann, wann diese aufhören soll.
Ich habe es mit While IsPressed gemacht, aber ich weiß einfach nicht wie ich die entsprechenden tasten auf up stellen soll, und das ohne eine schleife, damit man diese ingame noch benutzen kann.
|
dann eben so?
Code:
HotKeySet("{m}", "Main")
Global $Spam = 0
AdlibRegister("Left", 10)
Func Main()
If $Spam = 0 Then
Send("{SPACE down}")
Send("{D down}")
Send("{E down}")
MouseDown("right")
ElseIf $Spam = 1 Then
Send("{SPACE up}")
Send("{D up}")
Send("{E up}")
MouseUp("right")
EndIf
$Spam = Not $Spam
EndFunc ;==>Main
Func Left()
If $Spam Then MouseClick("left")
EndFunc ;==>Left
While 1
Sleep(100)
WEnd
|
|
|
08/12/2011, 13:08
|
#7
|
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
|
dein programm benutz den hotkey als schalter für an und aus, er wollte es aber so, dass nur solange gesendet wird, bis der key losgelassen wird
|
|
|
08/12/2011, 13:37
|
#8
|
elite*gold: 1826
Join Date: Mar 2009
Posts: 4,310
Received Thanks: 6,287
|
Code:
$dll = DllOpen('user32.dll')
If $dll = -1 Then Exit
AdlibRegister("Left", 10)
Global Const $VK_M = 0x4D
Global $Spam = 0
While 1
If _IsPressed($VK_M, $dll) Then
Send("{SPACE down}")
Send("{D down}")
Send("{E down}")
MouseDown("right")
$Spam = 1
While _IsPressed($VK_M, $dll)
Sleep(10)
WEnd
Send("{SPACE up}")
Send("{D up}")
Send("{E up}")
MouseUp("right")
$Spam = 0
EndIf
Sleep(10)
WEnd
Func Left()
If $Spam Then MouseClick("left")
EndFunc ;==>Left
??
|
|
|
08/12/2011, 14:38
|
#9
|
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
|
Quote:
Originally Posted by freehuntx
Hey ich habe grade aus spaß folgendes vor.
Ich möchte, dass durch halten 2 verschiedener tasten, verschiedene tastenfunktionen an ein Spiel Gesendet werden.
z.B. Ich halte die Taste M, und es soll an das fenster eines Spieles folgendes Gesendet werden.
D taste down
Leertaste down
e taste down
Rechte maustaste down
und die linke maus soll gespammt werden.
Im Umkehr schluss, soll sobald die taste nicht gedrückt is, keine dieser funktionen erfolgen, aber die entsprechenden tasten sollen immer noch im spiel funktionieren, d.H. key up in eine schleife machen is nicht, sonst kann man ingame die taste nicht benutzen.
Ich steh vor einem rätsel wie das funktionieren soll.
Und WICHTIG ist, dass die tasten down sind, also nicht nur ein einer schleife gesendet werden.
Ich habe einen weg probiert, aber bei dem wird die key up kommands in einer schleife ausgeführt, und die tasten sind nutzlos.
Hoffe jemand hat ne ahnung wie/ob das funktionieren soll.
|
hmm ich habs so verstanden:
PHP Code:
#Include <Misc.au3>
$dll = DllOpen("user32.dll")
$go = False
While Sleep(10)
If _IsPressed("4D", $dll) Then
Send("{D down}")
Send("{SPACE down}")
Send("{E down}")
MouseDown("right")
MouseClick("left")
$go = True
Else
If $go = True Then
Send("{D up}")
Send("{SPACE up}")
Send("{E up}")
MouseUp("right")
$go = False
EndIf
EndIf
WEnd
|
|
|
08/13/2011, 07:58
|
#10
|
elite*gold: 0
Join Date: Dec 2009
Posts: 1,622
Received Thanks: 2,070
|
Quote:
Originally Posted by omer36
hmm ich habs so verstanden:
PHP Code:
#Include <Misc.au3>
$dll = DllOpen("user32.dll")
$go = False
While Sleep(10)
If _IsPressed("4D", $dll) Then
Send("{D down}")
Send("{SPACE down}")
Send("{E down}")
MouseDown("right")
MouseClick("left")
$go = True
Else
If $go = True Then
Send("{D up}")
Send("{SPACE up}")
Send("{E up}")
MouseUp("right")
$go = False
EndIf
EndIf
WEnd
|
Genau so hatte ich es selber gemacht, aber da ist das problem, dass wenn die bestimmte Taste nicht gedrückt ist, die entsprechenden tasten auf up gesetzt werden, und das in einer schleife.
Wenn man nun ingame z.B. e oder space drücken will, wird das nicht flüssig funktionieren, dar diese taste von autoit auf up gesetzt wird.
Das wollte ich egendlich beheben aber hab wirklich keine ahnung wie das funzen soll.
|
|
|
08/13/2011, 08:44
|
#11
|
elite*gold: 1826
Join Date: Mar 2009
Posts: 4,310
Received Thanks: 6,287
|
ich habs doch geschrieben xD
das geht mit while _ispressed(taste) { sleep(x) };
|
|
|
 |
Similar Threads
|
[S] kompliziertes avatar
06/04/2011 - elite*gold Trading - 16 Replies
hallo epvpgfxers :>
ich würde gerne etwas, meiner meinung nach sehr kompliziertes in auftrag geben.
dazu wird viel skill benötigt. ihr müsst wahrscheinlich folgendes können:
zeichen
animieren
es geht um ein bild wie dieses: http://www.elitepvpers.com/forum/customavatars/ava tar3403648_21.gif
oder das: http://img7.imagebanana.com/img/24x5s3ul/Benutzerb ildvonotomot95.gif
nur möchte ich kein schweinchen, sondern ein zebra'chen :>
außerdem muss es in diesem style sein.
|
[HILFE]Problem beim Starten von MT2-Pserver..[HILFE]
03/16/2011 - Metin2 Private Server - 0 Replies
Closerequest habe den Problem gelöst :)
|
[HILFE] FreeBSd auf Linux Root Problem +Belohnung[HILFE]
06/06/2010 - Metin2 Private Server - 2 Replies
Hi ich habe ein Großes Problem ich kann irgendwie keine Image erstellen kann mir jemand helfen
Natürlich mit Belohnung !
10er Psc oder mehr wenn man es hinbekommt !
Wenn mir jemand FreeBSD auf Ubuntu Root macht (32-bit)
Add mich dan Skype !
|
All times are GMT +1. The time now is 13:22.
|
|