|
You last visited: Today at 01:38
Advertisement
While Problem
Discussion on While Problem within the AutoIt forum part of the Coders Den category.
05/10/2010, 17:50
|
#1
|
elite*gold: 0
Join Date: Jul 2009
Posts: 211
Received Thanks: 137
|
While Problem
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
|
#2
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by Mysthik
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 :
|
|
|
05/10/2010, 19:47
|
#3
|
elite*gold: 0
Join Date: Jul 2009
Posts: 211
Received Thanks: 137
|
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 
Hoffe mal das da jemand den Fehler
|
|
|
05/10/2010, 20:34
|
#4
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by Mysthik
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 
Hoffe mal das da jemand den Fehler 
|
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", 0, 1)
$oSubmit = _IEGetObjByName ($IE, "submit")
$hwnd = _IEPropertyGet($IE, "hwnd")
_IEAction ($oSubmit, "focus")
Tooltip ("Bot läuft!", 28, 28)
sleep (1000)
while 1
$Form = _IEFormGetObjByName($IE, 0);
$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
|
#5
|
elite*gold: 0
Join Date: Jul 2009
Posts: 211
Received Thanks: 137
|
Danke
leider hat sich an meinem Problem nichts geändert ^^
|
|
|
05/11/2010, 14:45
|
#6
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by Mysthik
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", 0, 1)
$oSubmit = _IEGetObjByName ($IE, "submit") _IEAction ($oSubmit, "focus") Tooltip ("Bot läuft!", 28, 28) sleep (1000)
while 1
$Form = _IEFormGetObjByName($IE, 0); $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
|
#7
|
elite*gold: 0
Join Date: Jul 2009
Posts: 211
Received Thanks: 137
|
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
|
#8
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by Mysthik
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 ...
|
|
|
Similar Threads
|
Metin 2 Pserver Problem/ Lösung für das Matrix Kartennummer Problem
01/04/2010 - Metin2 Private Server - 3 Replies
Hy Leute
Wie in der Überschrift genannt, hab ich gerade ein Problem mit meinem Metin 2Server.
Ich lasse ihn via Loopbackadapter laufen, funktioniert auch ganz gut.
Ich hab aber jetzt das Poblem, das in meinem Account nur noch Krieger mit Level null stehen.
Wie kann ich das Beheben??, das is auch manchmal da, wenn ich via Navicat n neuen Account mach. Hoffe einer hatt ne Lösung
Hab n Screenshot im Anhang
Aber ich hab ja auch ne Lösung für n anderes Problem.
Gestern hatte ich beim...
|
[Problem] Problem with server starting - cannot find quest index for PaxHeader
12/22/2009 - Metin2 Private Server - 1 Replies
Hello!
I have this same problem as here when i'm starting my server:
http://www.elitepvpers.com/forum/metin2-pserver-di scussions-questions/307143-metin2-serverfiles-ques t-index-fehler.html
But I didn't know the answer.. how to repair this?
Greetings
|
All times are GMT +1. The time now is 01:38.
|
|