|
You last visited: Today at 16:44
Advertisement
GUI schließt sich automatisch...
Discussion on GUI schließt sich automatisch... within the AutoIt forum part of the Coders Den category.
04/04/2010, 13:24
|
#1
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,241
Received Thanks: 848
|
GUI schließt sich automatisch...
PHP Code:
WinWait("Fenster") $get1 = GUICtrlRead($resolution) $pixel1 = PixelSearch(720,418,721,419,0x3C4757) If $get1 = "1440x900" Then Do $pixel1 Until $pixel1 = 1 MsgBox(0,"Found","Found") EndIf
Es muss an der If-Abfrage liegen, kann nur nich sagen woran...
Gedanke is, dass es nach einem bestimmten Wert in einer Combobox (den Teil hab ich schon) ein bestimmtes Pixel sucht (je nach Auflösung eben).
Problem is, dass sich die GUI schließt, sobald das Fenster in dem es suchen soll auftaucht.
|
|
|
04/04/2010, 13:52
|
#2
|
elite*gold: 1
Join Date: Oct 2008
Posts: 1,078
Received Thanks: 276
|
kannste bitte den gesamten Code zeigen?
So kann man einige Fehler ausschließen.
Was ich mich nur Frage ist, was das $pixell in der Do/Until Schleife zusuchen hat, ohne einen Befehl der es verändert :P
|
|
|
04/04/2010, 13:56
|
#3
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,241
Received Thanks: 848
|
Quote:
Originally Posted by .nAno
kannste bitte den gesamten Code zeigen?
So kann man einige Fehler ausschließen.
Was ich mich nur Frage ist, was das $pixell in der Do/Until Schleife zusuchen hat, ohne einen Befehl der es verändert :P
|
Ich hab schon einiges probiert, immer mit dem selben Ergebnis (passiert bei mir irgendwie immer bei Do Until)
Aber hier das, was schon fertig is:
PHP Code:
#RequireAdmin
#include <GUIConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Const $select1 = "Resolution"
Const $select2 = "Server"
Const $select3 = "Channel"
$Auto = GUICreate("Auto-Login by mipez ver. 2.0", 571, 281, 193, 125)
GUISetFont(12, 400, 0, "Tahoma")
GUISetBkColor(0xC0DCC0)
$resolution = GUICtrlCreateCombo($select1, 16, 24, 153, 27)
GUICtrlSetData(-1, "1440x900")
$server = GUICtrlCreateCombo($select2, 193, 24, 153, 27)
GUICtrlSetData(-1,"English|German|French|Russian, Polish, Turkish|Spain, Italian, Portuguese")
$channel = GUICtrlCreateCombo($select3, 370, 24, 153, 27)
GUICtrlSetData(-1,"Rookie|Super Rookie|Pro|Free|Free 2|Free 3|Free 4")
$loadevery1 = GUICtrlCreateCheckbox("Want to load this every time?", 16, 68, 233, 17)
GUICtrlSetTip(-1 , "Not used yet")
$loadevery2 = GUICtrlCreateCheckbox("Want to load this every time?", 16, 195, 233, 17)
GUICtrlSetTip(-1 , "Not used yet")
$windowed = GUICtrlCreateCheckbox("Windowed", 16, 235, 105, 17)
GUICtrlSetTip(-1 , "Only if you use Window mode")
$news = GUICtrlCreateCheckbox("Click Announcement", 140, 235, 180, 17)
GUICtrlSetTip(-1 , "Only if you know that you haven't clicked it today")
$id = GUICtrlCreateInput("id", 16, 106, 153, 27)
$pw = GUICtrlCreateInput("pw", 193, 106, 153, 27)
$path = GUICtrlCreateInput("path", 16, 152, 329, 27)
$save1 = GUICtrlCreateButton("Save", 368, 106, 80, 27, 0)
$load1 = GUICtrlCreateButton("Load", 458, 106, 80, 27, 0)
$getpath = GUICtrlCreateButton("Get", 368, 152, 48, 27, 0)
$savepath = GUICtrlCreateButton("Save", 422, 152, 56, 27, 0)
$loadpath = GUICtrlCreateButton("Load", 482, 152, 56, 27, 0)
$start = GUICtrlCreateButton("Start", 336, 200, 193, 57, 0)
GUICtrlSetTip(-1 , "Starts S4 League and logs you in automatically")
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
GUIDelete()
Exit
Case $save1
save()
Case $load1
load()
Case $getpath
getpath()
Case $savepath
savepath()
Case $loadpath
loadpath()
Case $start
start()
EndSwitch
WEnd
Func save()
$write1 = GUICtrlRead($id)
IniWrite(@ScriptDir & "\config.ini", "ID", "ID", $write1)
$write2 = GUICtrlRead($pw)
IniWrite(@ScriptDir & "\config.ini", "PW", "PW", $write2)
EndFunc
Func load()
$read1 = IniRead("config.ini", "ID", "ID", "")
GUICtrlSetData($id, $read1)
$read2 = IniRead("config.ini", "PW", "PW", "")
GUICtrlSetData($pw, $read2)
EndFunc
Func getpath()
Global $i = 0
While True ; Get Path from S4 by using the software-installed information in registry
$i +=1
$keyname = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\", $i)
If @error Then ExitLoop
$result = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & $keyname, "DisplayName")
If $result = "S4 League_EU" Then
$s4path = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & $keyname, "InstallLocation")
ExitLoop
EndIf
WEnd
GUICtrlSetData( $path, $s4path)
EndFunc
Func savepath()
$write1 = GUICtrlRead($path)
IniWrite(@ScriptDir & "\config.ini", "Path", "Path", $write1)
EndFunc
Func loadpath()
$read1 = IniRead("config.ini", "Path", "Path", "")
GUICtrlSetData($path, $read1)
EndFunc
Func start()
$s4path = GUICtrlRead($path)
ShellExecute($s4path & "\patcher_s4.exe", "", $s4path)
WinWait("S4 League Game Launcher")
ControlClick("S4 League Game Launcher", "", "[CLASS:Button; INSTANCE:2]")
WinWait("S4 Client")
$get1 = GUICtrlRead($resolution)
$pixel1 = PixelSearch(720,418,721,419,0x3C4757)
If $get1 = "1440x900" Then
Do
$pixel1
Until $pixel1 = 1
MsgBox(0,"Found","Found")
EndIf
EndFunc
|
|
|
04/04/2010, 14:14
|
#4
|
elite*gold: 1
Join Date: Oct 2008
Posts: 1,078
Received Thanks: 276
|
kommt da ne Fehlermeldung, oder wie beendet er sich?
Die WhileSchleife wird nämlich nach Aufrufen der Funktion wieder aufgenommen und es gibt weder Exit noch ExitLoop --> nichts was das Programm geplant beendet und vllt. ausversehn aufgerufen wurde.
|
|
|
04/04/2010, 14:17
|
#5
|
elite*gold: 0
Join Date: Nov 2007
Posts: 81
Received Thanks: 33
|
.nAno hats dir doch schon gesagt
normalerweise solltest du auch einen compiler fehler kriegen
Code:
$pixel1 = PixelSearch(720,418,721,419,0x3C4757)
If $get1 = "1440x900" Then
Do
$pixel1
Until $pixel1 = 1
MsgBox(0,"Found","Found")
EndIf
^this 
wenn $pixel1 nicht aktualisiert wird, dann wird die schleife niemals beendet
Code:
$pixel1 = PixelSearch(720,418,721,419,0x3C4757)
If $get1 = "1440x900" Then
Do
$pixel1 = PixelSearch(720,418,721,419,0x3C4757)
Until $pixel1 = 1
MsgBox(0,"Found","Found")
EndIf
|
|
|
04/04/2010, 14:18
|
#6
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,241
Received Thanks: 848
|
Quote:
Originally Posted by .nAno
kommt da ne Fehlermeldung, oder wie beendet er sich?
Die WhileSchleife wird nämlich nach Aufrufen der Funktion wieder aufgenommen und es gibt weder Exit noch ExitLoop --> nichts was das Programm geplant beendet und vllt. ausversehn aufgerufen wurde.
|
Es geht einfach aus, ohne einen Mux... Aber eben nur nachdem das Fenster "S4 Client" aufgetaucht ist -> also muss es an der Do-Until-Schleife liegen...
EDIT:
Ich hab das mit
Code:
$pixel1 = PixelSearch(720,418,721,419,0x3C4757)
If $get1 = "1440x900" Then
Do
$pixel1 = PixelSearch(720,418,721,419,0x3C4757)
Until $pixel1 = 1
MsgBox(0,"Found","Found")
EndIf
schon probiert.... gleiches Ergebnis .___.
|
|
|
04/04/2010, 14:23
|
#7
|
elite*gold: 1
Join Date: Oct 2008
Posts: 1,078
Received Thanks: 276
|
Setz mal Debugger in die Do/Until Schleife und schau wieoft sie auftaucht, ob überhaupt oder immer (da sich der Wert von $pixel wie schon gesagt nicht ändern kann)
EDIT: außerdem müsstest du schon so nen Fehler haben, da PixelSearch nen Array returned, wenn dein Prog. überhaupt mal funktioniert wirst du da auch ein Problem bekommen, da du die Variable überhaupt nicht wie einen Array behandelst...
|
|
|
04/04/2010, 14:29
|
#8
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,241
Received Thanks: 848
|
Debugger crasht Oo
Was gäbs denn noch für Möglichkeiten um PixelSearch solange zu wiederholen bis es 1 is?
EDIT: Es kommt ja, wenn ich normal starte, keine Fehlermeldung >_<
|
|
|
04/04/2010, 15:08
|
#9
|
elite*gold: 1
Join Date: Oct 2008
Posts: 1,078
Received Thanks: 276
|
die Funktion retruned nie 1, sprich es kann nie 1 sein o0
|
|
|
04/04/2010, 17:14
|
#10
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,241
Received Thanks: 848
|
Quote:
Originally Posted by .nAno
die Funktion retruned nie 1, sprich es kann nie 1 sein o0
|
Ja, x,y returned die... bloß damit kann ich nix anfangen -> vllt True/False benutzen?
|
|
|
04/04/2010, 18:00
|
#11
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by mipez
Ja, x,y returned die... bloß damit kann ich nix anfangen -> vllt True/False benutzen?
|
Probiers mal mit PixelGetColor(...) bzw PixelChecksum , könnte vielleicht das erreichen was du willst .
Wenn du einfach nur überprüfen willst ob die Pixel in einem Bereich gefunden wurden , kannst du das so machen :
PHP Code:
do $pixel=PixelSearch(720,418,721,419,0x3C4757) until Isarray($pixel)<>1
Wobei man bei dir nicht umbedingt PixelSearch braucht , da du nur einen einzigen Pixel überprüfen lässt . PixelGetColor wäre wohl besser :
PHP Code:
do sleep(100) ;reduziert die CPU Auslastung until PixelGetColor ( 721 , 419)=0x3C4757
Falls du noch genaueres zu dem Pixel gezeugse haben willst :
|
|
|
04/04/2010, 18:13
|
#12
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,241
Received Thanks: 848
|
Quote:
Originally Posted by Shadow992
Probiers mal mit PixelGetColor(...) bzw PixelChecksum , könnte vielleicht das erreichen was du willst .
Wenn du einfach nur überprüfen willst ob die Pixel in einem Bereich gefunden wurden , kannst du das so machen :
PHP Code:
do
$pixel=PixelSearch(720,418,721,419,0x3C4757)
until Isarray($pixel)<>1
Wobei man bei dir nicht umbedingt PixelSearch braucht , da du nur einen einzigen Pixel überprüfen lässt . PixelGetColor wäre wohl besser :
PHP Code:
do
sleep(100) ;reduziert die CPU Auslastung
until PixelGetColor ( 721 , 419)=0x3C4757
Falls du noch genaueres zu dem Pixel gezeugse haben willst :

|
Letzteres hat mich schonmal soweit gebracht, dass es sucht, und nicht schließt. Jetzt findets nur nix Oo
Vllt ne Varianz von 5 oder so?
EDIT: Wenn ich es so mache:
PHP Code:
$get1 = GUICtrlRead($resolution)
If $get1 = "1440x900" Then
Do
$pixel=PixelSearch(720,418,721,419,0x3C4757)
Until Isarray($pixel)<>1
If Isarray($pixel)<>1 Then
MsgBox(0,"Found","Found")
ElseIf Isarray($pixel)<>0 Then
MsgBox(0,"Couldn't find", "Couldn't find")
EndIf
EndIf
Dann findets das Pixel sofort wenn der Prozess startet -.-
|
|
|
04/04/2010, 18:21
|
#13
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by mipez
Letzteres hat mich schonmal soweit gebracht, dass es sucht, und nicht schließt. Jetzt findets nur nix Oo
Vllt ne Varianz von 5 oder so?
EDIT: Wenn ich es so mache:
PHP Code:
$get1 = GUICtrlRead($resolution) If $get1 = "1440x900" Then Do $pixel=PixelSearch(720,418,721,419,0x3C4757) Until Isarray($pixel)<>1 If Isarray($pixel)<>1 Then MsgBox(0,"Found","Found") ElseIf Isarray($pixel)<>0 Then MsgBox(0,"Couldn't find", "Couldn't find") EndIf EndIf
Dann findets das Pixel sofort wenn der Prozess startet -.-
|
Bei dir findet er das Pixel eben nicht , wenn der Prozess startet .
Dir ist da nämlixh ein Fehler reingerutsch , so müsste es sein :
PHP Code:
$get1 = GUICtrlRead($resolution) If $get1 = "1440x900" Then Do $pixel=PixelSearch(720,418,721,419,0x3C4757) Until Isarray($pixel) If Isarray($pixel) Then MsgBox(0,"Found","Found") ElseIf Isarray($pixel)=0 Then MsgBox(0,"Couldn't find", "Couldn't find") EndIf EndIf
|
|
|
04/04/2010, 18:25
|
#14
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,241
Received Thanks: 848
|
Jetzt findets wieder nichts... hab auch nochmal die Farbe überprüft...
|
|
|
04/04/2010, 18:26
|
#15
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by mipez
Jetzt findets wieder nichts... hab auch nochmal die Farbe überprüft...
|
Vielleicht solltest du die Varianz bisschen höher stellen ?
Villeicht so auf 3 .
Edit : Oder es liegt einfach nur daran , dass er die Farbe theoretisch garnicht finden kann ?
(Ich weiß nicht so genau wie PixelSeach arbeitet) . Soviel wie ich mich erinnern kann , sucht PixelSearch immer das Gebiet zwischen den angegeben Koordinaten ab und welcher Pixel liegt zwischen 418 und 419 ? Etwa 418,5 ? Mach das eine mal eins hoch bzw eins runter (das selbe auch bei Y Koordinate) .
|
|
|
 |
|
Similar Threads
|
S4 schließt sich
07/02/2010 - S4 League - 8 Replies
Abend :)
Als ich heute mich engeloggt habe schaute ich nach meinem Clan. Ich schließte das Fenster. Spielte ne Runde. Gin Lobby und wollte nochmal nach schauen, aber s4 schloss sich. Ich loggte mich noch mal ein, aber s4 schloss sich wieder. Nach 4 Versuchen gab ich auf. Warum schließt sich immer S4?
|
wr schließt sich
05/08/2010 - WarRock - 4 Replies
hey,
wenn ich normal spiele, keine hacks oder so, mitten drin schließt sich warrock einfach, ohne meldung oder sonstwas. weiß jemand wieso? würd gerne normal spielen.
mfg pluschki
|
Fly for Fame schließt sich
03/04/2010 - Flyff - 1 Replies
Hallo,
habe alles patchen lassen und so,
aber immer wenn ich Fly for Fame starte, drücke auf Start -> öffnet sich flyff fenster, dann schließt sich einfach fly for fame automatisch..
was ist das?
wie beheebe ich das
|
Metin schließt sich
02/28/2010 - Metin2 - 4 Replies
Hey Leute
Wollte mal wieder in DE reinschaun .. er hat alles geladen und so .. dann hab ic mich eingeloggt ...
aber dann kam anmeldevorgang ... und dann schliießt sch das metin fenster ô.O
Hat wer ne ahnung was da los ist? ô.O
Is auf Server Phelon .. die anderen noch nich getestet!
|
P-Server schließt sich
12/30/2009 - Metin2 Private Server - 4 Replies
Hi leute ich habe folgendes problem:
ich habe einen pserver aufgemacht nach einem VTUT und bin soweit auch mit allem zurecht gekommen nur wenn ich mich mit den daten rain, 12345 einlogge
steht bei mir
1. du wirst mit dem server verbunden
2. anmeldevorgang läuf
3. schwarzes fenster (ganz kurz)
4. P-server schließt sich
Könnte es eventuell an fehlenden Ports liegen?
Hab folgende:
|
All times are GMT +1. The time now is 16:45.
|
|