Register for your free account! | Forgot your password?

You last visited: Today at 16:16

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Hilfe

Discussion on Hilfe within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
Lavora's Avatar
 
elite*gold: 3
Join Date: Dec 2010
Posts: 183
Received Thanks: 19
Hilfe

AutoItSetOption("WinTitleMatchMode", 4)
Global $Paused
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "Terminate")
$windowname="World of Warcraft"
$handle = WinGetHandle($windowname, "")
If @error Then
MsgBox(4096, "Error", "Could not find the correct window")
Else

while 1
ControlSend($windowname,'','',"Hi")
sleep(1500)
WEnd

Func TogglePause()
$Paused = Not $Paused
While $Paused
sleep(100)
WEnd
EndFunc

Func Terminate()
Exit 0
EndFunc

EndIf





Beim starten kommt die meldung:
Line 16 (XXXXXXXX) :
Func TogglePause()
Error: "If" statement has no matching "EndIf" statement.
Lavora is offline  
Old 01/01/2012, 19:33   #2
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
du kannst eine funktion nicht optional deklarieren.

funktions-definitionen immer ausserhalb von abfragen und schleifen anordnen.
lolkop is offline  
Thanks
1 User
Old 01/01/2012, 19:37   #3

 
Njahs's Avatar
 
elite*gold: 574
Join Date: Nov 2010
Posts: 2,498
Received Thanks: 726
Deklariere die Funktionen em Ende des Scripts

PHP Code:
AutoItSetOption("WinTitleMatchMode"4)

Global 
$Paused$windowname "World of Warcraft"$handle WinGetHandle($windowname"")

HotKeySet("{PAUSE}""TogglePause")

HotKeySet("{ESC}""Terminate")

   If 
$handle "" or @error Then
      MsgBox
(4096"Error""Could not find the correct window")
   Else
      while 
1
         ControlSend
($windowname,'','',"Hi")
         
sleep(1500)
      
WEnd
EndIf

Func Terminate()
   Exit
EndFunc

Func TogglePause
()
   If 
$Paused False then
      $Paused 
True
   
Elseif $Paused True then
      $Paused 
False
   
Endif
      While 
$Paused True
         sleep
(100)
      
WEnd
Endfunc 
Njahs is offline  
Thanks
1 User
Old 01/01/2012, 19:53   #4
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
Quote:
If $Paused = False then
$Paused = True
Elseif $Paused = True then
$Paused = False
Endif
oder gleich:
$Pause = Not $Pause
omer36 is offline  
Thanks
1 User
Old 01/01/2012, 23:56   #5
 
bollen's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 221
Received Thanks: 71
Code:
[FONT=Courier New][COLOR=#0000bb]Func TogglePause[/COLOR][/FONT][FONT=Courier New][COLOR=#007700]()[/COLOR][/FONT]
[FONT=Courier New][COLOR=#007700]If [/COLOR][COLOR=#0000bb]$Paused [/COLOR][COLOR=#007700]= [/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]False then[/COLOR][/FONT]
[FONT=Courier New][COLOR=#0000bb]$Paused [/COLOR][COLOR=#007700]= [/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]True[/COLOR][/FONT]
[FONT=Courier New][COLOR=#007700]Elseif [/COLOR][COLOR=#0000bb]$Paused [/COLOR][COLOR=#007700]= [/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]True then[/COLOR][/FONT]
[FONT=Courier New][COLOR=#0000bb]$Paused [/COLOR][COLOR=#007700]= [/COLOR][/FONT][COLOR=#0000bb][FONT=Courier New]False[/FONT][/COLOR]
[FONT=Courier New][COLOR=#007700]Endif[/COLOR][/FONT]
[FONT=Courier New][COLOR=#007700]While [/COLOR][COLOR=#0000bb]$Paused [/COLOR][COLOR=#007700]= [/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]True[/COLOR][/FONT]
[FONT=Courier New][COLOR=#0000bb]sleep[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]100[/COLOR][/FONT][COLOR=#007700][FONT=Courier New])[/FONT][/COLOR]
[COLOR=#0000bb][FONT=Courier New]WEnd[/FONT][/COLOR]
[FONT=Courier New][COLOR=#0000bb]Endfunc [/COLOR][/FONT]
so wie ich das sehe (verbesser mich wens falsch ist) ist das eine pause Funktion die ein und ausgeschalten werden (kann/sollte).
Sie lässt sich jedoch nur ein und nicht mehr abschalten da $Pause in der While Schleife nicht mehr abgefragt wird ändert sich der Zustand auch nicht mehr.
Du musst dort in die Schleife eine Abfrage einbauen
Code:
[FONT=Courier New][COLOR=#007700]While [/COLOR][COLOR=#0000bb]$Paused [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]True[/COLOR][/FONT]
[COLOR=#0000bb][FONT=Courier New][COLOR=#0000bb][COLOR=red]if .... then $pause=False[/COLOR][/COLOR][/FONT]
[COLOR=#0000bb][FONT=Courier New]sleep[/FONT][/COLOR][FONT=Courier New][COLOR=#007700]([/COLOR][COLOR=#0000bb]100[/COLOR][/FONT][COLOR=#007700][FONT=Courier New])[/FONT][/COLOR]
[COLOR=#0000bb][FONT=Courier New]WEnd[/FONT][/COLOR]
[/COLOR]
bollen is offline  
Thanks
1 User
Old 01/02/2012, 02:12   #6
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
hotkeys funktionieren in autoit als interrupts. dh das script springt aus der aktuellen schleife/funktion/abfrage, führt die hotkey funktion aus, und setzt die schleife/funktion/abfrage weiter fort.

dh, wird die pausefunktion aufgerufen, so wird der $pause zustand neu gesetzt, und die schleife wird mit dem neuen $pause zustand fortgesetzt. womit der schleifenkopf bei $pause=false direkt aus der schleife springt.

dennoch ist diese, unnötig komplizierte variante einer pause funktion, sehr ineffektiv und sollte immer durch eine einfache zustandswechselform, gepaart mit der zustandsabfrage in der main-schleife ersetzt werden.
lolkop is offline  
Thanks
1 User
Old 01/02/2012, 13:43   #7
 
Lavora's Avatar
 
elite*gold: 3
Join Date: Dec 2010
Posts: 183
Received Thanks: 19
ok danke leute.
Lavora is offline  
Reply


Similar Threads Similar Threads
HILFE HILFE HILFE MIT SjSro Startproblem
12/14/2009 - SRO Private Server - 4 Replies
Hi Leute hab ein Problem mit SjSro wenn ich auf starten klicke kommt diese Meldung Sorry.Failed to execute Silkroad. bitte helfen hab anti virus aus geht immer noch nicht wo liegt das problem thx schon mal im voraus BITTE HELFEN BITTE WILL UMBEDINGT ZOCKEN!!



All times are GMT +1. The time now is 16:17.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.