|
You last visited: Today at 02:02
Advertisement
[Q] Wenn ein Counter so viel erreicht hat, dann Counter wieder resetten
Discussion on [Q] Wenn ein Counter so viel erreicht hat, dann Counter wieder resetten within the AutoIt forum part of the Coders Den category.
12/08/2010, 18:01
|
#1
|
elite*gold: 29
Join Date: Nov 2010
Posts: 502
Received Thanks: 127
|
[Q] Wenn ein Counter so viel erreicht hat, dann Counter wieder resetten
Hallo.
Ich möchte gerne einen Script schreiben, der einen Counter resettet nachdem der einen bestimmten wert erreicht hat.
Code:
$zaehler = 0
While $zaehler < 5
MouseClick ("left", 683, 439)
$zaehler = $zaehler +1
Sleep (2000)
MouseClick ("left", 682, 673)
Sleep(1000)
WEnd
While $zaehler > 5
MouseClick ("left", 0, 0)
$zaehler = $zaehler +1
Sleep (10000)
WEnd
jetzt hätte ich gern, dass sich der counter, wenn er bei 183 angelangt ist, wieder resettet.
geht das?
|
|
|
12/08/2010, 18:10
|
#2
|
elite*gold: 0
Join Date: Apr 2008
Posts: 159
Received Thanks: 9
|
Quote:
Originally Posted by u_failed
Hallo.
Ich möchte gerne einen Script schreiben, der einen Counter resettet nachdem der einen bestimmten wert erreicht hat.
Code:
While 1
$zaehler = 0
While $zaehler < 5
MouseClick ("left", 683, 439)
$zaehler = $zaehler +1
Sleep (2000)
MouseClick ("left", 682, 673)
Sleep(1000)
WEnd
While $zaehler < 183
MouseClick ("left", 0, 0)
$zaehler = $zaehler +1
Sleep (10000)
WEnd
WEnd
jetzt hätte ich gern, dass sich der counter, wenn er bei 183 angelangt ist, wieder resettet.
geht das?
|
Oder <= :P
|
|
|
12/08/2010, 18:16
|
#3
|
elite*gold: 29
Join Date: Nov 2010
Posts: 502
Received Thanks: 127
|
Quote:
Originally Posted by Ch1ll3n
Oder <= :P
|
neh. ich hätte das gern so, dass der bis 5 das eine macht. ab 5 das eine macht bis 183. und das ganze dann wieder von vorne los geht  .
|
|
|
12/08/2010, 18:47
|
#4
|
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
|
so ?
PHP Code:
While 1 for $i = 1 to 5 MouseClick ("left", 683, 439) Sleep (2000) MouseClick ("left", 682, 673) Sleep(1000) Next For $I = 1 to 178 MouseClick ("left", 0, 0) Sleep (10000) Next WEnd
|
|
|
12/08/2010, 19:23
|
#5
|
elite*gold: 115
Join Date: Feb 2009
Posts: 353
Received Thanks: 44
|
Einfach so  (wenn man dein Script Verwendet ^^)
PHP Code:
$zaehler = 0
While $zaehler < 5
If $zaehler = 183 Then $zaehler = 0 Endif
MouseClick ("left", 683, 439) $zaehler = $zaehler +1 Sleep (2000) MouseClick ("left", 682, 673) Sleep(1000) WEnd While $zaehler > 5
If $zaehler = 183 Then $zaehler = 0 Endif
MouseClick ("left", 0, 0) $zaehler = $zaehler +1 Sleep (10000) WEnd
Sollte eigentlich gehen 
Hab mal (für meine sicht) bissl schöner eingerückt ^^.
Lg Magic
|
|
|
12/08/2010, 19:29
|
#6
|
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
|
in der schleife: While $zaehler < 5 bringt dir das doch nix:
If $zaehler = 183 Then
$zaehler = 0
Endif
2.
While $zaehler < 5 ; mach dies und das,
While $zaehler > 5 ;mach dies und das
und wenn $zaehler 5 passiert was dann??
teste es mal, wenn du nicht drauf kommst
wenn meine funzt (müsste sie eig.)
ist das doch die "beste" variante, würd ich jetz mal behaupten...
|
|
|
12/08/2010, 20:25
|
#7
|
elite*gold: 115
Join Date: Feb 2009
Posts: 353
Received Thanks: 44
|
Ehm so wie ichs verstanden hab will sie nicht dass es nach dem 183ten mal aufhört,
sondern dass einfach der Zähler wieder auf 0 gestellt wird
Deswegen hab ichs auch so geschrieben
naja mal warten bis sie was sagt ^^ dann wissen wirs..
lg Magic
€dit:
Ah danke habs übersehn ^^ das wird ja nie größer als 5. Weils das ja nur so lange macht
wie $zaehler kleiner 5 ist : DDD
|
|
|
12/08/2010, 21:11
|
#8
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
das ganze könnte man übrigens auch sehr schön rekursiv lösen =)
Code:
Func go($zaehler=0)
If $zaehler<=5 Then
MouseClick("left", 683, 439)
Sleep(2000)
MouseClick("left", 682, 673)
Sleep(1000)
Return go(Mod($zaehler+1,183))
EndIf
MouseClick("left", 0, 0)
Sleep(10000)
Return go(Mod($zaehler+1,183))
EndFunc
go()
|
|
|
12/09/2010, 06:01
|
#9
|
elite*gold: 29
Join Date: Nov 2010
Posts: 502
Received Thanks: 127
|
Quote:
Originally Posted by lolkop
das ganze könnte man übrigens auch sehr schön rekursiv lösen =)
Code:
Func go($zaehler=0)
If $zaehler<=5 Then
MouseClick("left", 683, 439)
Sleep(2000)
MouseClick("left", 682, 673)
Sleep(1000)
Return go(Mod($zaehler+1,183))
EndIf
MouseClick("left", 0, 0)
Sleep(10000)
Return go(Mod($zaehler+1,183))
EndFunc
go()
|
Danke, funktioniert perfekt. Mit den anderen hab ich noch Probleme.
|
|
|
12/09/2010, 15:58
|
#10
|
elite*gold: 1
Join Date: Jun 2009
Posts: 570
Received Thanks: 68
|
Aber die rekursive Methode ist mit Vorsicht zu verwenden. Falls du die Durchgänge von 183 erhöhst, könnte es schnell passieren, dass dein Skript sich mal eben verabschieden wird
|
|
|
12/09/2010, 19:03
|
#11
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
Quote:
Originally Posted by Dimension0x00
Aber die rekursive Methode ist mit Vorsicht zu verwenden. Falls du die Durchgänge von 183 erhöhst, könnte es schnell passieren, dass dein Skript sich mal eben verabschieden wird 
|
das es sich dabei um eine endlosschleife handelt is dir klar? :P
das tool schaft auch nicht mehr als 21 komplette durchgänge...
da allerdings eine sleep zeit von 10sekunden eingebaut ist, schafft das tool so etwa 30min^^
man könnte natürlich auch die rekursion nur auf den ineren teil verschieben, und den äusseren mit einer schleife lösen... dachte allerdings das thema ist schon lange gelöst und wollte nochmal eine version komplett ohne iterative schleifen zeigen =)
|
|
|
Similar Threads
|
Wenn man 3 GB Ram hat wie viel dann auf Server?
12/28/2009 - Metin2 Private Server - 10 Replies
huhu,
Wenn man 3GB Ram aufm PC hat wie viel GB Ram sollte man dann auf nen Server machen so das das I-Net net laagt?
Mfg xCr4nKx
|
All times are GMT +1. The time now is 02:05.
|
|