While Problem

05/10/2010 17:50 Mysthik#1
So nun bin ich leider auf ein weiteres Problem gestoßen.(es ist ein bot für "Die Stämme" nicht wundern)

Code:
while $variable = 0
_IEFormElementSetValue($spear, $sper)
_IEFormElementSetValue($sword, $schwert)
_IEFormElementSetValue($axe, $axt)

ControlSend($hwnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "{Enter}")
WinWait("Windows Internet Explorer", "ExampleFormSubmitted")
ControlClick("Windows Internet Explorer", "ExampleFormSubmitted", "[CLASS:Button; TEXT:OK; Instance:1;]")
_IELoadWait ($IE)




sleep($Zeit)
WEnd
Das Problem ist nun das alles Funktioniert er trägt die Daten ein und sendet die ein erstes mal aber trotz einer while-schleife wiederholt das Programm den vorgang nicht es werden nicht mal die Werte von
Code:
_IEFormElementSetValue($spear, $sper)
_IEFormElementSetValue($sword, $schwert)
_IEFormElementSetValue($axe, $axt)
neu eingetragen. Obwohl die Bedingung in der While schleife erfüllt ist $variable ist immer 0..

hoffe mir kann da jemand weiter helfen und bei bedarf kann ich den kompletten code noch mal posten.
Danke
05/10/2010 18:53 Shadow992#2
Quote:
Originally Posted by Mysthik View Post
So nun bin ich leider auf ein weiteres Problem gestoßen.(es ist ein bot für "Die Stämme" nicht wundern)

Code:
while $variable = 0
_IEFormElementSetValue($spear, $sper)
_IEFormElementSetValue($sword, $schwert)
_IEFormElementSetValue($axe, $axt)

ControlSend($hwnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "{Enter}")
WinWait("Windows Internet Explorer", "ExampleFormSubmitted")
ControlClick("Windows Internet Explorer", "ExampleFormSubmitted", "[CLASS:Button; TEXT:OK; Instance:1;]")
_IELoadWait ($IE)




sleep($Zeit)
WEnd
Das Problem ist nun das alles Funktioniert er trägt die Daten ein und sendet die ein erstes mal aber trotz einer while-schleife wiederholt das Programm den vorgang nicht es werden nicht mal die Werte von
Code:
_IEFormElementSetValue($spear, $sper)
_IEFormElementSetValue($sword, $schwert)
_IEFormElementSetValue($axe, $axt)
neu eingetragen. Obwohl die Bedingung in der While schleife erfüllt ist $variable ist immer 0..

hoffe mir kann da jemand weiter helfen und bei bedarf kann ich den kompletten code noch mal posten.
Danke
Du musst auch immer wieder die _IEFormGetCollection(...) aufrufen , wenn du die Seite erneut besuchst , dieser Befehl muss also mit in die Schleife , sonst geht nix ;)

Und btw .

Mach das doch so , wenn du eine Endlosschleife willst :
Code:
While 1

Wend
05/10/2010 19:47 Mysthik#3
Ok Danke aber leider löst das immer noch nicht mein Problem beim ersten Durchlauf der schleife geht alles ohne Probleme aber beim zweiten nicht mehr er ich hab hier noch mal den ganzen Quelltext

Code:
#include <IE.au3>

$sper = InputBox("Sperträger", "wie viele Speerträger willst du haben??")
$schwert = InputBox("Schwertkämpfer", "wie viele Schwertkämpfer willst du haben??")
$axt = InputBox("Axtkämpfer", "wie viele Axtkämpfer willst du haben??")
$zeit = Inputbox("Warten", "Wie lange soll immer gewartet werden in minuten?")
;$zeit = $zeit *1000 *60 ;zu test zwecken aus gemacht
$variable = 0


$IE = _IECreate("http://server/game.php?village=5&screen=barracks", 0, 1)

$Form = _IEFormGetObjByName($IE, 0);

$spear = _IEFormElementGetObjByName($Form, "unit_spear")
$sword = _IEFormElementGetObjByName($Form, "unit_sword")
$axe = _IEFormElementGetObjByName($Form, "unit_axe")
$oSubmit = _IEGetObjByName ($IE, "submit")
$hwnd = _IEPropertyGet($IE, "hwnd")

_IEAction ($oSubmit, "focus")
Tooltip ("Bot läuft!", 28, 28)
sleep (1000)

while 1

_IEFormElementSetValue($spear, $sper)
_IEFormElementSetValue($sword, $schwert)
_IEFormElementSetValue($axe, $axt)

ControlSend($hwnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "{Enter}")
WinWait("Windows Internet Explorer", "ExampleFormSubmitted")
ControlClick("Windows Internet Explorer", "ExampleFormSubmitted", "[CLASS:Button; TEXT:OK; Instance:1;]")
_IEAction ($oSubmit, "focus")
_IELoadWait ($IE)


sleep($Zeit)
WEnd
wenn ich aber den teil hier raus nehme setzt er wenigstens normal die Einheiten in das Feld ein und die schleife wird wiederholt ohne Fehler.
Code:
ControlSend($hwnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "{Enter}")
WinWait("Windows Internet Explorer", "ExampleFormSubmitted")
ControlClick("Windows Internet Explorer", "ExampleFormSubmitted", "[CLASS:Button; TEXT:OK; Instance:1;]")
_IEAction ($oSubmit, "focus")
_IELoadWait ($IE)
Das ganze sieht ein wenig durcheinander aus aber ich kann autoit erst seit 2 Tagen :o
Hoffe mal das da jemand den Fehler :handsdown:
05/10/2010 20:34 Shadow992#4
Quote:
Originally Posted by Mysthik View Post
Ok Danke aber leider löst das immer noch nicht mein Problem beim ersten Durchlauf der schleife geht alles ohne Probleme aber beim zweiten nicht mehr er ich hab hier noch mal den ganzen Quelltext

Code:
#include <IE.au3>

$sper = InputBox("Sperträger", "wie viele Speerträger willst du haben??")
$schwert = InputBox("Schwertkämpfer", "wie viele Schwertkämpfer willst du haben??")
$axt = InputBox("Axtkämpfer", "wie viele Axtkämpfer willst du haben??")
$zeit = Inputbox("Warten", "Wie lange soll immer gewartet werden in minuten?")
;$zeit = $zeit *1000 *60 ;zu test zwecken aus gemacht
$variable = 0


$IE = _IECreate("http://server/game.php?village=5&screen=barracks", 0, 1)

$Form = _IEFormGetObjByName($IE, 0);

$spear = _IEFormElementGetObjByName($Form, "unit_spear")
$sword = _IEFormElementGetObjByName($Form, "unit_sword")
$axe = _IEFormElementGetObjByName($Form, "unit_axe")
$oSubmit = _IEGetObjByName ($IE, "submit")
$hwnd = _IEPropertyGet($IE, "hwnd")

_IEAction ($oSubmit, "focus")
Tooltip ("Bot läuft!", 28, 28)
sleep (1000)

while 1

_IEFormElementSetValue($spear, $sper)
_IEFormElementSetValue($sword, $schwert)
_IEFormElementSetValue($axe, $axt)

ControlSend($hwnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "{Enter}")
WinWait("Windows Internet Explorer", "ExampleFormSubmitted")
ControlClick("Windows Internet Explorer", "ExampleFormSubmitted", "[CLASS:Button; TEXT:OK; Instance:1;]")
_IEAction ($oSubmit, "focus")
_IELoadWait ($IE)


sleep($Zeit)
WEnd
wenn ich aber den teil hier raus nehme setzt er wenigstens normal die Einheiten in das Feld ein und die schleife wird wiederholt ohne Fehler.
Code:
ControlSend($hwnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "{Enter}")
WinWait("Windows Internet Explorer", "ExampleFormSubmitted")
ControlClick("Windows Internet Explorer", "ExampleFormSubmitted", "[CLASS:Button; TEXT:OK; Instance:1;]")
_IEAction ($oSubmit, "focus")
_IELoadWait ($IE)
Das ganze sieht ein wenig durcheinander aus aber ich kann autoit erst seit 2 Tagen :o
Hoffe mal das da jemand den Fehler :handsdown:
So sollte es laufen :
PHP Code:
#include <IE.au3>

$sper InputBox("Sperträger""wie viele Speerträger willst du haben??")
$schwert InputBox("Schwertkämpfer""wie viele Schwertkämpfer willst du haben??")
$axt InputBox("Axtkämpfer""wie viele Axtkämpfer willst du haben??")
$zeit Inputbox("Warten""Wie lange soll immer gewartet werden in minuten?")
;
$zeit $zeit *1000 *60 ;zu test zwecken aus gemacht
$variable 
0


$IE 
_IECreate("http://server/game.php?village=5&screen=barracks"01)

$oSubmit _IEGetObjByName ($IE"submit")
$hwnd _IEPropertyGet($IE"hwnd")

_IEAction ($oSubmit"focus")
Tooltip ("Bot läuft!"2828)
sleep (1000)

while 
1
$Form 
_IEFormGetObjByName($IE0);
$spear _IEFormElementGetObjByName($Form"unit_spear")
$sword _IEFormElementGetObjByName($Form"unit_sword")
$axe _IEFormElementGetObjByName($Form"unit_axe")
_IEFormElementSetValue($spear$sper)
_IEFormElementSetValue($sword$schwert)
_IEFormElementSetValue($axe$axt)

ControlSend($hwnd"""[CLASS:Internet Explorer_Server; INSTANCE:1]""{Enter}")
WinWait("Windows Internet Explorer""ExampleFormSubmitted")
ControlClick("Windows Internet Explorer""ExampleFormSubmitted""[CLASS:Button; TEXT:OK; Instance:1;]")
_IEAction ($oSubmit"focus")
_IELoadWait ($IE)


sleep($Zeit)
WEnd 
05/10/2010 20:45 Mysthik#5
Danke
leider hat sich an meinem Problem nichts geändert ^^
05/11/2010 14:45 Shadow992#6
Quote:
Originally Posted by Mysthik View Post
Danke
leider hat sich an meinem Problem nichts geändert ^^
Und gehts so ?
PHP Code:
#include <IE.au3>

$sper InputBox("Sperträger""wie viele Speerträger willst du haben??")
$schwert InputBox("Schwertkämpfer""wie viele Schwertkämpfer willst du haben??")
$axt InputBox("Axtkämpfer""wie viele Axtkämpfer willst du haben??")
$zeit Inputbox("Warten""Wie lange soll immer gewartet werden in minuten?")
;
$zeit $zeit *1000 *60 ;zu test zwecken aus gemacht
$variable 
0


$IE 
_IECreate("http://server/game.php?village=5&screen=barracks"01)


$oSubmit _IEGetObjByName ($IE"submit")
_IEAction ($oSubmit"focus")
Tooltip ("Bot läuft!"2828)
sleep (1000)

while 
1

$Form 
_IEFormGetObjByName($IE0);
$spear _IEFormElementGetObjByName($Form"unit_spear")
$sword _IEFormElementGetObjByName($Form"unit_sword")
$axe _IEFormElementGetObjByName($Form"unit_axe")
_IEFormElementSetValue($spear$sper)
_IEFormElementSetValue($sword$schwert)
_IEFormElementSetValue($axe$axt)
$hwnd _IEPropertyGet($IE"hwnd")
$oSubmit _IEGetObjByName ($IE"submit")
_IEAction ($oSubmit"focus")
ControlSend($hwnd"""[CLASS:Internet Explorer_Server; INSTANCE:1]""{Enter}")
WinWait("Windows Internet Explorer""ExampleFormSubmitted")
ControlClick("Windows Internet Explorer""ExampleFormSubmitted""[CLASS:Button; TEXT:OK; Instance:1;]")

_IELoadWait ($IE)


sleep($Zeit)
WEnd 
05/11/2010 17:49 Mysthik#7
Nein leider nicht trotzdem danke das du es versucht hast!
Dann bleib ich bei meinen pixelsearch Funktionen oder es ergibt sich irgenwann noch mal =)
05/11/2010 19:05 Shadow992#8
Quote:
Originally Posted by Mysthik View Post
Nein leider nicht trotzdem danke das du es versucht hast!
Dann bleib ich bei meinen pixelsearch Funktionen oder es ergibt sich irgenwann noch mal =)
Machs dann lieber gleich mit Packets ...
Ist auch nicht viel schwerer als mit PixelSearch ...