[FRAGE] AutoIT / Scripts via Script starten

04/09/2012 15:54 KOInfinity#1
Guten Tag.

Ich habe mich so schlau wie möglich gemacht und trozdem finde ich meinen Fehler nicht.

Mein Script sieht so aus:
Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("ArcherMacro by Infinity", 300, 200)
$Start = GUICtrlCreateButton("Starten", 50, 40, 200, 33, $WS_GROUP)
$Sleep = GUICtrlCreateButton("Pause", 50, 90, 200, 33, $WS_GROUP)
$Exit = GUICtrlCreateButton ("Exit", 50, 140, 200, 33, $WS_GROUP)

GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    If $nMsg = $GUI_EVENT_CLOSE Then
        Exit
	 ElseIf $nMsg = $Start Then
        Run("C:\Users\Infinity\Desktop\AUTOIT\AutoAttackREAL.au3")
        Run("C:\Users\Infinity\Desktop\AUTOIT\AutoEvade.au3")
		Run("C:\Users\Infinity\Desktop\AUTOIT\AutoSafety.au3")
		Run("C:\Users\Infinity\Desktop\AUTOIT\Auto7Wolf.au3")
	 EndIf
	 
	  $nMsg = GUIGetMsg()
    If $nMsg = $GUI_EVENT_CLOSE Then
        Exit
	 ElseIf $nMsg = $Sleep Then
        Sleep (50000)("C:\Users\Infinity\Desktop\AUTOIT\AutoAttackREAL.au3")
        Sleep (50000)("C:\Users\Infinity\Desktop\AUTOIT\AutoEvade.au3")
		Sleep (50000)("C:\Users\Infinity\Desktop\AUTOIT\AutoSafety.au3")
		Sleep (50000)("C:\Users\Infinity\Desktop\AUTOIT\Auto7Wolf.au3")
	 EndIf
	 
	 $nMsg = GUIGetMsg()
    If $nMsg = $GUI_EVENT_CLOSE Then
        Exit
	 ElseIf $nMsg = $Exit Then
        WinClose("C:\Users\Infinity\Desktop\AUTOIT\AutoAttackREAL.au3")
        WinClose("C:\Users\Infinity\Desktop\AUTOIT\AutoEvade.au3")
		WinClose("C:\Users\Infinity\Desktop\AUTOIT\AutoSafety.au3")
		WinClose("C:\Users\Infinity\Desktop\AUTOIT\Auto7Wolf.au3")
		Exit
	 EndIf

WEnd
Wenn ich Start drücke, passiert aber nichts
Wenn ich Pause drücke, weiss nicht ob das mit Sleep funktionieren wird
Wenn ich Exit drücke, Schliesst es wie es sein solte =)

Die namen der .au3 dateien so wie der pfad stimmt (mehrmals überprüft)

Wäre toll wenn mir jemand helfen könnte =)

Mit freundlichen Grüssen

KOInfinity
04/09/2012 16:17 lolkop#2
Im folgenden sind alle unsinnigen codestellen deines codes markiert:

Quote:
Originally Posted by KOInfinity View Post
While 1
$nMsg = GUIGetMsg()
If $nMsg = $GUI_EVENT_CLOSE Then
Exit
ElseIf $nMsg = $Start Then
Run("C:\Users\Infinity\Desktop\AUTOIT\AutoAttackRE AL.au3")
Run("C:\Users\Infinity\Desktop\AUTOIT\AutoEvade.au 3")
Run("C:\Users\Infinity\Desktop\AUTOIT\AutoSafety.a u3")
Run("C:\Users\Infinity\Desktop\AUTOIT\Auto7Wolf.au 3")
EndIf

$nMsg = GUIGetMsg()
If $nMsg = $GUI_EVENT_CLOSE Then
Exit
ElseIf $nMsg = $Sleep Then
Sleep (50000)("C:\Users\Infinity\Desktop\AUTOIT\AutoAtta ckREAL.au3")
Sleep (50000)("C:\Users\Infinity\Desktop\AUTOIT\AutoEvad e.au3")
Sleep (50000)("C:\Users\Infinity\Desktop\AUTOIT\AutoSafe ty.au3")
Sleep (50000)("C:\Users\Infinity\Desktop\AUTOIT\Auto7Wol f.au3")
EndIf

$nMsg = GUIGetMsg()
If $nMsg = $GUI_EVENT_CLOSE Then
Exit
ElseIf $nMsg = $Exit Then
WinClose("C:\Users\Infinity\Desktop\AUTOIT\AutoAtt ackREAL.au3")
WinClose("C:\Users\Infinity\Desktop\AUTOIT\AutoEva de.au3")
WinClose("C:\Users\Infinity\Desktop\AUTOIT\AutoSaf ety.au3")
WinClose("C:\Users\Infinity\Desktop\AUTOIT\Auto7Wo lf.au3")
Exit
EndIf

WEnd
04/09/2012 18:00 -DarkPuma-#3
Sooo ... das wäre meine Lösung.. habe es nicht getestet.

04/09/2012 20:04 Achat#4
Quote:
AutoIt3.exe [/ErrorStdOut] [/AutoIt3ExecuteScript] file [params ...]
To execute a standard AutoIt Script File 'myscript.au3', use the command:
'AutoIt3.exe myscript.au3'
[Only registered and activated users can see links. Click Here To Register...]

Helpfile durchlesen wäre vielleicht ganz sinnvoll ;)

Du kannst keine Autoit.au3 Dateien über ein AutoitScript starten -
Du kannst keine AutoIt Scripte mit einem Script ausführen, du müsstest sie zu einer exe kompilieren oder mit der AutoIt.exe ausführen, denn du brauchst einen Interpreter, der das Script ausführt.

[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
04/10/2012 12:37 K1ramoX#5
Achat du irrst dich D: Klar kann man AutoIt Script´s über ein anderes Script starten D: Wenn das nicht gehen würde, könnte man über die AutoIt IDE auch keine Scripts testen sondern müsste sie jedes mal compilen ;D

ShellExecute(), damit geht das ;D Aber dann muss der User AutoIt installiert haben. Oder du machst es anders und packst die AutoIt.exe in deinen Ordner rein wo sich die ganzen Scripts befinden und startest die AutoIt.exe mit den Parametern wo die Pfade der einzelnen Scripte drin sind.