AutoIt

05/20/2009 10:25 Kay-Two#1
Hallo,

ich sitze gerade an einem AutoIt-Bot (Für Metin2 und andere).
Ich kann das nötigste Skripten hab aber gerade ein Problem (Der Auschnitts des Problems):

Code:
HotKeySet ("{z}", "Start")

Func Start()
Send ("{BACKSPACE}")
Send ("y")
EndFunc

HotKeySet ("{y}", "Start")

Func Start()
Send ("{BACKSPACE}")
Send ("z")
EndFunc
ich weiss dass man des nicht 2x verwenden kann, schonmal thx für antworten!
05/20/2009 17:40 Benhero#2
was willst du da genau machen?

mfg benhero!!!
05/20/2009 17:49 TheMan!!#3
Quote:
Originally Posted by Kay-Two View Post
Hallo,

ich sitze gerade an einem AutoIt-Bot (Für Metin2 und andere).
Ich kann das nötigste Skripten hab aber gerade ein Problem (Der Auschnitts des Problems):

Code:
HotKeySet ("{z}", "Start")

Func Start()
Send ("{BACKSPACE}")
Send ("y")
EndFunc

HotKeySet ("{y}", "Start")

Func Start()
Send ("{BACKSPACE}")
Send ("z")
EndFunc
ich weiss dass man des nicht 2x verwenden kann, schonmal thx für antworten!
Hier du muss einfach Start2 machen ;)
und noch while funktion ;)
Quote:
Code:
HotKeySet ("{F5}", "Start")
HotKeySet ("{F6}", "Start2")
while 1
Sleep (100)
WEnd

Func Start()
Send ("{BACKSPACE}")
Send ("y")
EndFunc



Func Start2()
Send ("{BACKSPACE}")
Send ("z")
EndFunc
€dit: Und das er funksoniert anstatt auf y und z zu drücken F5 und F6
05/20/2009 18:07 Benhero#4
wüsste ich wie der es machen wollte hätte ich das auch gekonnt :bandit:
....

Mfg. Behero
05/20/2009 18:13 TheMan!!#5
Quote:
Originally Posted by Benhero View Post
wüsste ich wie der es machen wollte hätte ich das auch gekonnt :bandit:
....

Mfg. Behero
Das weis ich aber ich weis nicht ob ich seine erwartungen schon erfüllt habe;)
05/20/2009 22:16 Kay-Two#6
Code:
HotKeySet ("{F5}", "Start")
HotKeySet ("{F6}", "Start2")

Func Start()
Send ("{BACKSPACE}")
Send ("y")
EndFunc

Func Start2()
Send ("{BACKSPACE}")
Send ("z")
EndFunc
Ich weiss selber das man da eine Schleife reinbringen muss wie gesagt weiss alles was ich brauch auser das... und ich mach nicht unabsichtlich z oder y rein. Es -MUSS- so sein oder der Bot bringt nichts. Ich hab doch gesagt das ist nur ein kleiner Teil des Skripts. Bitte nur die Frage beantworten... :pimp:
05/21/2009 03:00 Joshii139#7
Code:
HotKeySet ("{F5}", "Start")
HotKeySet ("{F6}", "Start2")

Func Start()
Send ("{BACKSPACE}")
Send ("y")
Send ("{BACKSPACE}")
Send ("y")
Send ("{BACKSPACE}")
Send ("y")
Send ("{BACKSPACE}")
Send ("y")
Send ("{BACKSPACE}")
Send ("y")
EndFunc
Willst du einen Pickup Bot bauen?
Da musst du schon genauer werden...
05/21/2009 14:11 Kay-Two#8
Sa oben steht alles was man wissen muss...

Es soll ein Sprachumwandler wrrden für viele Sachen (Auch M2)
Ich will das nach dem drücken von "z", "Backspace" und dann "y" gedrückt wird.
Wien gesagt hab alles andere die Schleife, die Send-Befehle und jetzt auch das mit Start und Start2 und 3 und des Zeug.

Also der Bot soll nach dem drücken von "z", "Backspace" und "y" gedrüxkt wird.
05/21/2009 16:44 YowDaw#9
So ein ähnliches Problem habe ich auch wie macht man dass das etwas passiert wenn man zum Biespiel "z" drückt... also Buchstaben
05/22/2009 14:17 YowDaw#10
*UP* Wie bringt man eine gewisse funtion zum laufen nach drücken eines Buchstabens wie z.B. "z"
05/22/2009 18:56 latemail#11
Na wo ist denn da Dein Problem ??

Quote:
Originally Posted by Kay-Two View Post

Code:
HotKeySet ("{z}", "_y")
HotKeySet ("{y}", "_z")

Func _y()
Send ("{BACKSPACE}")
Send ("y")
EndFunc

Func _z()
Send ("{BACKSPACE}")
Send ("z")
EndFunc
wenn Du das für alle Buchstaben machen willst, dann nimm doch ein Array:

Global array[50][50]

array[0][0]=y
array[0][1]=z

array[1][0]=z
array[1][1]=y

und frag dann erst die Eingabe ab (Tip: _ispressed) und ordne dann die alternative Taste zu, dann gibts ein super kurzes Script .......... ohne 30 Hotkeys!
05/22/2009 19:49 MrSebbler#12
Das Problem bei den ersten Skripts ist ein ganz einfaches:

Sobald ihr eine Funktion startet (z.B. "Z"), dann springt das Programm zur Funktion (Func Z () ) und drückt "Y" (Send("Y")).
Das drücken von Y verursacht ja wieder nichts anderes, als die Funktion (Func Y () ) zu öffnen. Diese Funktion ist im unseren Beispiel dazu da, "Z" zu schreiben (Send("Z") ). Das würde jedoch auch nur wieder die Funktion "Z" (Func Z () ) öffnen. (im Endeffekt eine unendliche Schleife).

Die Konsequenz daraus ist, dass das "Y" nie tatsächlich in den Chat geschrieben wird.

[Dazu ist Send("{BACKSPACE}") gar nicht nötig, da, wenn man "Z" drückt, es gar nicht erst im Chat geschrieben wird, sondern lediglich die Funktion aufruft. Problem ja oben beschrieben.]

Die Lösung von latemail ist demnach deutlich besser (und lösbar)!

@Quicknation:
Das Problem oben beachten!
Wenn es dann noch immer nicht funktioniert, dann musst definitiv noch irgendwo ne Schleife einbauen.
z.B.

Code:
HotKeySet("a", "b")
HotKeySet("c", "d")

While (1)
Sleep(1000) ;<= egal wie lange
WEnd

[b]oder[/b]

While (1)
HotKeySet("a", "b")
HotKeySet("c", "d")
WEnd
Mehrere Möglichkeiten mit HotKeySet zu arbeiten, fallen mir grad nicht ein ; )
05/22/2009 20:37 latemail#13
Der Hinweis mit der Dauerschleife ist natürlich richtig .... also vielleicht alle Buchstaben mit Strg - Buchstabe aufrufen ......


HotKeySet( "^{z}", "_y")

statt

HotKeySet( "{z}", "_y")
05/22/2009 21:13 MrSebbler#14
Guter Gedanke =)
Aber deine erste Idee mit _IsPressed ist besser.

Die Funktion des Programms soll es nämlich sein, bei einem normalen Chat die Buchstaben zu vertauschen.
D.h. aus "a" mach "b", aus "b" mach "c".
Und im normalen Chat schreibe ich für gewöhnlich nie mit "Strg" vor jeden Buchstaben ;)
05/22/2009 21:27 muffin986#15
Code:
HotKeySet ("{y}","start")
HotKeySet ("{F5}","ende")
while 1 
	sleep(50)
WEnd

func start()
	send ("{backspace}")
	send ("{z}")
EndFunc


func ende()
	Exit
EndFunc
war doch gar net sooo schwer xD