Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 08:27

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

Advertisement



Problem mit Script

Discussion on Problem mit Script within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: May 2013
Posts: 85
Received Thanks: 0
Problem mit Script

Hallo,

habe ein Problem mit einem Script welches leider nur teilweise funktioniert.
Es hakt bei Select. Alles was sich zwischen Select und Endselect befindet
wird ignoriert da ich etwas falsch gemacht habe. Vllt wird es ja auch nicht
ignoriert jedenfalls wird nicht auf die entsprechende Farbe geklickt.

Da es sonst zu lang werden würde poste ich nur einen Teil des Scripts:

Code:
#include <GUIConstantsEx.au3>

GUICreate("Part1", 500, 100)
GUICtrlCreateLabel("[F1] - Start", 8, 8)
GUICtrlCreateLabel("[ESC] - Ende", 8, 48)
GUISetState(@SW_SHOW)

HotKeySet("{F1}", "Start")
HotKeySet("{ESC}", "Ende")

While 1
	Sleep(500)
WEnd

Func Ende()
	Exit
EndFunc



Func Start()
	$PixelPosColorMark = PixelSearch(38 ,119 ,809 ,602 ,0x0B39FF ,4 )
	$PixelPosColorBanker = PixelSearch(38 ,119 ,809 ,602 ,0x31264A ,4 )



	MouseClick("Left",845, 267)

	Sleep(2000)


(......)
	

	MouseClick("Left",1013, 200)

	Sleep(10000)



	Select

	Case	IsArray($PixelPosColorMark)
			MouseClick("left", $PixelPosColorMark[0], $PixelPosColorMark[1], 1, 0)
	EndSelect

	Sleep(5000)


	Select

	Case	IsArray($PixelPosColorBanker)
			MouseClick("left", $PixelPosColorBanker[0], $PixelPosColorBanker[1], 1, 0)
	EndSelect

	Sleep(3000)

	Send("{Space}")

(......)

	Sleep(30000)


EndFunc
Ideen?
Danke fürs lesen
RF1T2 is offline  
Old 12/13/2013, 16:18   #2
 
butter123's Avatar
 
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
select case brauch wie if eine abfrage, die True oder false liefert. schau dir das doch mal in der hilfe an (google oder f1 in scite)
butter123 is offline  
Thanks
1 User
Old 12/13/2013, 17:01   #3
 
elite*gold: 0
Join Date: May 2013
Posts: 85
Received Thanks: 0
Sicher?
Denn ich habe auch dieses Script welches funktioniert:

Code:
Func Start()
While 1
	$PixelPos = PixelSearch(0,0,@DesktopWidth, @DesktopHeight, 0xD9D9BD, 0)




	Select
	Case	IsArray($PixelPos)
			MouseClick("left", $PixelPos[0], $PixelPos[1], 1, 0)
			Sleep(35000)

	Send	("{left}")


	EndSelect
WEnd
EndFunc
RF1T2 is offline  
Old 12/13/2013, 17:35   #4
 
butter123's Avatar
 
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
isarray liefert auch true oder false zurück
butter123 is offline  
Thanks
1 User
Old 12/13/2013, 18:29   #5
 
elite*gold: 0
Join Date: May 2013
Posts: 85
Received Thanks: 0
Aber wo liegt der Unterschied zwischen den beiden Beispielen?
RF1T2 is offline  
Old 12/13/2013, 19:24   #6
 
butter123's Avatar
 
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
ohh sorry peinlich, hab ich wohl nicht genau gelesen.
weiß spontan dann nicht worans liegt. probiers vllt mit ner if abfrage anstatt select
butter123 is offline  
Thanks
1 User
Old 12/13/2013, 20:02   #7
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Select kann er schon verwenden dann müsste er aber folgendes verwenden
Code:
Select
	IsArray($a) = 1
Eine If-Abfrage bietet sich aber besser an
Code:
If IsArray($a) Then ;...
alpines is offline  
Thanks
1 User
Old 12/13/2013, 21:14   #8
 
elite*gold: 0
Join Date: May 2013
Posts: 85
Received Thanks: 0
Ich werds mal ausprobieren danke
RF1T2 is offline  
Old 12/13/2013, 21:19   #9
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Switch würde sogar auch funktionieren, da würde es so aussehen
Code:
Switch IsArray($a)
	Case 1
		;Wenn es ein Array ist.

	Case 0
		;Wenn es kein Array ist.
EndSwitch
hier als Select
Code:
$iResult = IsArray($a)

Select
	Case $iResult = 1
		;Wenn es ein Array ist.

	Case $iResult = 0
		;Wenn es kein Array ist.
EndSelect
und zuletzt als If
Code:
If IsArray($a) Then
	;Wenn es ein Array ist.
Else
	;Wenn es kein Array ist.
EndIf
Es gibt verschiedene Möglichkeiten die Verzweigungen zu verwenden, aber bei IsArray würde ich auf jeden Fall die If-Verzweigung nutzen.
alpines is offline  
Thanks
1 User
Old 12/13/2013, 22:41   #10
 
elite*gold: 0
Join Date: May 2013
Posts: 85
Received Thanks: 0
Mit If hats geklappt, danke

Kurze Frage vllt noch:
Ist es möglich das Script, falls "Else" die Antwort ist, erst etwas
machen zu lassen z.B. einen Klick und danach wieder zurückgehen
zu lassen zu dem Punkt an dem die If Abfrage beginnt?
RF1T2 is offline  
Old 12/13/2013, 22:46   #11
 
elite*gold: 0
Join Date: Nov 2013
Posts: 442
Received Thanks: 29
Kann dich per Skype melden.
.Ghost. is offline  
Old 12/13/2013, 23:07   #12
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
Quote:
Originally Posted by RF1T2 View Post
Mit If hats geklappt, danke

Kurze Frage vllt noch:
Ist es möglich das Script, falls "Else" die Antwort ist, erst etwas
machen zu lassen z.B. einen Klick und danach wieder zurückgehen
zu lassen zu dem Punkt an dem die If Abfrage beginnt?
Einfach weitere Bedingungen verwenden (sofern nötig) und die Schleife durchlaufen lassen. Einen "goto" Befehl gibt es in AutoIt nicht.
KDeluxe is offline  
Old 12/15/2013, 07:06   #13
 
Claiver's Avatar
 
elite*gold: 0
Join Date: Nov 2013
Posts: 36
Received Thanks: 6
Quote:
Originally Posted by RF1T2 View Post
Mit If hats geklappt, danke

Kurze Frage vllt noch:
Ist es möglich das Script, falls "Else" die Antwort ist, erst etwas
machen zu lassen z.B. einen Klick und danach wieder zurückgehen
zu lassen zu dem Punkt an dem die If Abfrage beginnt?
Jaa ist möglich

Code:
Func _Array()
If IsArray($a) Then
	;Wenn es ein Array ist.
Else
	;Wenn es kein Array ist.
        MouseClick("left",0,0,1,1)
        _Array()
EndIf
EndFunc
Dann musst du aber noch irgendwo in deinem Script
Code:
_Array()
einfügen außer du machst es mit einem
Code:
HotKeySet("{F5}","_Array"
das heißt wenn du F5 drückst wird _Array abgespielt... und wenn du einfachso _Array() schreibst wird es einfachso abgespielt.
Wenn du willst das es erst passiert wenn man einen Button drückt musst du bei
Code:
Case $Button1
_Array()
einfügen )
Claiver is offline  
Thanks
1 User
Old 12/15/2013, 22:33   #14
 
elite*gold: 0
Join Date: May 2013
Posts: 85
Received Thanks: 0
Quote:
Originally Posted by Claiver View Post
Jaa ist möglich

Code:
Func _Array()
If IsArray($a) Then
	;Wenn es ein Array ist.
Else
	;Wenn es kein Array ist.
        MouseClick("left",0,0,1,1)
        _Array()
EndIf
EndFunc
(...)

DANKE!
Funktionert gut
RF1T2 is offline  
Old 12/15/2013, 22:38   #15
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Code:
Func _Array()
If IsArray($a) Then
	;Wenn es ein Array ist.
Else
	;Wenn es kein Array ist.
        MouseClick("left",0,0,1,1)
        _Array()
EndIf
EndFunc
Recursion-Error missile launched. Impact in 3, 2, 1...
Ich würde die Funktion anders formulieren.
alpines is offline  
Reply


Similar Threads Similar Threads
HP Script Problem
09/24/2011 - Metin2 Private Server - 2 Replies
Also hab nochn älteres Hp Script.. Und wollte mal fragen, was ich umstellen muss, damit das Kästchen nicht leer bleibt? http://h3.abload.de/img/catsueke.jpg Darunter ist dann noch ein 2. Wo was drin steht, wenn ich aber z.b das 1 Oben löschen will, lässt es sich nicht wirklich löschen, weil die Ränder immer da bleiben ect, oder der Platz bleibt frei blabla.. Was genau muss ich in der Index ändern das da ein Bild drin ist oder sonst was?
SQL Script Problem
07/03/2011 - Shaiya - 0 Replies
Fixed sorry for post
Problem VB 10 Patcher Script Problem
09/20/2010 - .NET Languages - 8 Replies
Hayho liebe Com. ich habe mal wieder einen ganz netten Patcher gescriptet, für einen metin2 P Server, da es nicht mein erster is, hab ich echt kp was da vorliegt, Hier der Script an sich: Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEv entArgs) Handles...
[HOW-TO]Hp-Script+Admin-script (weekly-updatet) problem!
06/21/2010 - Metin2 Private Server - 11 Replies
hallo leute ich hab ein problem und zwar bei dem hp script von masterboss kommt der fehler : http://img541.imageshack.us/img541/8140/24955249. png und wenn ich dann die datei öffne und in die zeile gehe kommt: while($row = mysql_fetch_array($ergebnis)) kann mir jmd helfen?
Problem Script
02/05/2009 - Cabal Online - 4 Replies
Ok i have a problem, i use a the script bot from camp. My problem is i can run the script on my pc starting it up from cabal without a bypass and run the script/bot this is with GG running as well. But when i try the same thing on my laptop it doesn't work i need to have a bypass up and because the bypass makes you d/c(i think its the programme am using) i can't seem to run the script/bot. Anyone got any ideas of how to make it work on my laptop with having to bypass it. The bot does work...



All times are GMT +1. The time now is 08:27.


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.