Hallo allerseits,
nach mehreren Stunden ergebnisloser Fehlersuche wende ich mich nun an euch. Auch habe ich schon Hilfevorschläge von Andy angewendet, leider hat nichts geholfen. Vorab erst einmal ein paar Sachen zur Funktionen des Scripts.
Es handelt sich um ein Script das das Programm League of Legends und den LoLRecorder startet. Desweiteren sorgt das Script dafür das man vom Patcher zum Login-Screen kommt. Solange League of Legends läuft, läuft auch der LoLRecorder. Wird jedoch League of Legends geschlossen so soll auch besagter LoLRecorder geschlossen werden.
Und nun zum Problem:
Eigentlich funktioniert alles wunderbar wenn ich jedoch das Script kompiliere will die .exe einfach nicht richtig funktionieren. Konkret bricht das Script nach Zeile 53 einfach ohne ersichtlichen Grund ab. Was habe ich falsch gemacht und wie lässt sich das beheben?
Und hier das Script:
Spoiler anzeigen
;AutoIt Optionen
Opt("MouseCoordMode", 0)
Opt("PixelCoordMode", 0)
Opt("MustDeclareVars", 1)
;Variablen
Dim $confpath
Dim $configda
Dim $launcher
Dim $recorder
Dim $col
Dim $bool
Dim $PID
;Prozesse killen
ProcessClose("LoLLauncher.exe")
ProcessClose("LolClient.exe")
ProcessClose("LOLRecorder.exe")
;Variablen für Config
$confpath = @HomeDrive & "\lolconf.ini"
$configda = FileExists($confpath);
;Checken ob Config da ist
if not $configda Then
IniWrite($confpath,"Path","LoLLauncher","Hier den vollständigen Link zum LoL Launcher! Bsp: C:\LoL\lol.launcher.exe")
IniWrite($confpath,"Path","LoLRecorder","Hier den vollständigen Link zum LoL Recorder! Bsp: C:\LOLReplay\LOLRecorder.exe")
TrayTip("LoLLauncher","Config wurde erstellt in " & $confpath & "!",5)
Run(@SystemDir & "\notepad.exe " & $confpath);
Sleep(5000);
Exit
EndIf;
;Config lesen
$launcher = IniRead($confpath,"Path", "LoLLauncher","derp")
$recorder = IniRead($confpath,"Path", "LoLRecorder","derp")
;LoL starten
Run($launcher)
TrayTip("LOLLauncher","LoL gestartet",10)
Sleep(1500)
TrayTip("","",0)
;Auf Patcherfenster warten
WinWait("PVP.net Patcher")
;LoLRecorder starten
Run($recorder)
TrayTip("LOLLauncher","LoLRecorder gestartet",10,1)
Sleep(1500)
TrayTip("","",0)
WinActivate("PVP.net Patcher")
;Checken ob es noch geupdatet werden muss
$col = PixelGetColor(655,519,0)
$bool = ($col = "11760930")
while not $bool
$col = PixelGetColor(655,519,0)
$bool = ($col = "11760930")
Sleep(100)
WEnd
MouseClick("Left", 655, 519)
;Prüfen ob LoL noch läuft
ProcessWait("LolClient.exe")
$PID = ProcessExists("LolClient.exe")
ProcessWaitClose($PID)
ProcessClose("LOLRecorder.exe")
TrayTip("LOLLauncher","LoLRecorder geschlossen",10)
Sleep(1500)
TrayTip("","",0)
PS: Ich würde mich über Optimierungsvorschläge freuen. ![]()