Randoms mischen?

03/06/2008 17:26 muuhN#1
Hi,
das is mein erster Post und ich hätte gleich ne frage :o ^^
Ich gucke mich jetzt schon seit ner weile hier im forum um und beschäftige mich so n bisschen mit autoIT
nicht des geldes wegen, sondern weils mir einfach spaß macht, an sowas zu basteln und dann zu sehen, dass es geht :)
Jetzt mach ich mir gerade ein simples Säufermacro (nicht, dass der DrunkenMaster von guild_wars_gamer schlecht wäre - der ist sogar ziemlich geil^^ - aber mir macht das Basteln halt spaß) und bin bis jetzt so weit:

Code:
$x = Random(175, 197)
$y = Random(623, 657)

func normTrink()
	MouseClick("left", $x, $y, 2)
    RandomSleep(3000, 4000) ; nur zum Angucken (eigtl knapp 1 minute)
	MouseClick("left", $x, $y, 2)
	RandomSleep(3000, 4000)
EndFunc

RandomSleep(800, 1200)

While 1
Call ("normTrink")
	WEnd
Klappt auch ganz gut, aber jetzt mein Problem:
Während dem While 1 klickt er die ganze Zeit auf dieselbe Stelle.
Das möchte ich ändern, und irgendwo hab ich hier auch gelesen, dass jemand einen Bot benutzt, der alle Randoms im laufe des scripts wieder neu mischt.
Wie geht das??!elf?

Naja... wie gesagt, nur ein kleines Problem, aber danke schonmal für antworten =)
03/06/2008 17:49 Term!nX#2
Bau eine Funktion RandomClick zb.

func RandomClick($button, $x, $y, $times, $änderungsrate)
$x1 = Random(($x - ($änderungsrate / 2)), ($x + ($änderungsrate / 2)))
$y1 = Random(($y - ($änderungsrate / 2)), ($y + ($änderungsrate / 2)))
MouseClick($button, $x1, $y1, $times)
endfunc

Erklärung:
$x, $y der Funktionsparameter sind der Punkt wo hingeglickt werden soll. $times die Anzahl, wie oft geklickt werden soll.
Die änderungsrate ist eine Zahl, die bestimmt, wie stark der Klick von der bestimmten Position zufällig abweicht.
Beispiel:
RandomClick("left", 100, 200, 2, 10)
Links 2 Mal klicken. Und zwar auf X um 5 Pixel nach rechts und links abweichend. X liegt also zwischen 95 und 105. Das gleiche mit Y.
Die Funktion klickt also bei jedem Aufruf irgendwo zufällig in das Quadrat 95, 95, 105, 105
03/06/2008 17:52 Azunai#3
oder einfach bei deinem script
Code:
dim ,

func normTrink()
	MouseClick("left", , , 2)
    RandomSleep(3000, 4000) ; nur zum Angucken (eigtl knapp 1 minute)
	MouseClick("left", , , 2)
	RandomSleep(3000, 4000)
EndFunc

func shuffle_randoms()
 = Random(175, 197)
 = Random(623, 657)
endfunc

RandomSleep(800, 1200)

While 1
normTrink()
shuffle_randoms()
WEnd
03/06/2008 17:55 Azunai#4
POAH! wie ungerecht...

bei muuhN bleiben die $$$ erhalten bei mir nicht 0o

--- code
dim $x,$y

func shuffle_randoms()
$x = Random(175, 197)
$y = Random(623, 657)
endfunc


func normTrink()
MouseClick("left", $x, $y, 2)
RandomSleep(3000, 4000) ; nur zum Angucken (eigtl knapp 1 minute)
MouseClick("left", $x, $y, 2)
RandomSleep(3000, 4000)
EndFunc

RandomSleep(800, 1200)

While 1
normTrink()
shuffle_randoms()
WEnd

--- end
03/06/2008 18:00 muuhN#5
Aah... ich verstehe :D
Die Änderungsrate und die shuffle_func sind genau das, was ich brauche

Danke an euch :))