Array - subscript used with non-array variable

  • Grüße!

    Ich mal wieder...
    In meinen Script hab ich vor kurzem nun die meisten Variablen in ein paar Arrays zusammengefasst.
    Speichern und Abruf (_ArrayDisplay()) funktioniert ohne Probleme, aber sobald ich den Wert des Array in ein Label des GUIs hinzufüge kommt der besagte Fehler

    subscript used with non-array variable

    Google und Forumssuche haben zwar was informatives zurückgegeben, aber nichts was zur Problemlösung beitragen könnte.

    Hoffe jemand findet meinen Fehler, welcher vermutlich ein Anfängerfehler ist... ;)

    Hier die Deklaration inkl. Datenabruf und Speicherung...

    Spoiler anzeigen
    [autoit]

    Global $LoLFixit_Launcher = GUICreate("LoL- Get it fixed! Launcher", 345, 136, 496, 308)
    GUISetFont(10, 400, 0, "Microsoft Sans Serif")
    $L_wait = GUICtrlCreateLabel("Bitte einen Moment Geduld.", 16, 16, 167, 20)
    $L_primary = GUICtrlCreateLabel("Das Fixing-Tool für League of Legends wird gestartet.", 16, 40, 320, 20)
    $Bar_status = GUICtrlCreateProgress(16, 104, 313, 14)
    GUICtrlSetColor(-1, 0x008000)
    GUICtrlSetBkColor(-1, 0xFFFBF0)
    GUICtrlSetTip(-1, "status")
    ;Global $B_exit = GUICtrlCreateButton("Abbrechen", 280, 98, 83, 25, 0)
    $Bar_label = GUICtrlCreateLabel("Status", 18, 80, 310, 19)
    GUICtrlSetFont(-1, 9, 800, 0, "Microsoft Sans Serif")
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEclick")
    GUISetState(@SW_SHOW)
    _GetInfos()
    GUIDelete($LoLFixit_Launcher)
    While 1
    Sleep(1000)
    WEnd
    ; # Launcher: GUI Ende #

    [/autoit] [autoit][/autoit] [autoit]

    Func _GetInfos()
    ; # Launcher: Start #
    GUICtrlSetData($Bar_status, 1)
    GUICtrlSetData($Bar_label, "Starte Informationssammlung")
    Sleep(1000)
    Global $Hardware[13], $System[11], $GameData[9]
    Global $Dump, $Dump2
    #cs
    Global $DirEU, $DirUS, $Dir, $Dir2, $DirFault, $rescdir ; => für LoL Verzeichnisse
    Global $inetcfg ; => Internet Explorer registry value
    Global $OS, $OS1, $OSarch, $OSinstall, $OSinstalltemp, $SP, $User, $PCName, $IP1, $IP2, $admin ; => allgemeine Systemdaten
    Global $temp, $name, $objItem ; => sonstiges
    Global $S_CPUName, $S_CPUmax, $S_CPUatm, $S_CPUcores, $S_CPUcoreSUM, $S_RAM, $S_RAMcount, $S_DispRAM, $S_DispTyp, $S_DispDriver, $S_DispDrivertemp, $S_MBoem, $S_MBmodel ; => Hardware Daten
    #ce
    GUICtrlSetData($Bar_status, 8)

    [/autoit] [autoit][/autoit] [autoit]

    ; # Launcher: read registry values #
    GUICtrlSetData($Bar_label, "Lese Daten aus Registrierung [LoL US]")
    Sleep(750)
    $Dump = StringSplit(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{868EC22E-7E82-4760-9265-3F2E705BF24B}", "InstallLocation"), "\")
    $i = 2
    $GameData[2] = $Dump[1]
    While $i < $Dump[0]
    $GameData[2] = $GameData[2] & "\" & $Dump[$i]
    GUICtrlSetData($Bar_status, $i + 10)
    $i = $i + 1
    WEnd
    Global $Dump = ""
    Global $Dump[20]
    GUICtrlSetData($Bar_status, 21)
    GUICtrlSetData($Bar_label, "Lese Daten aus Registrierung [LoL EU]")
    Sleep(750)
    $Dump = StringSplit(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\leagueoflegends\leagueoflegends", "UninstallPath"), "\")
    $i = 2
    $GameData[1] = $Dump[1]
    While $i < $Dump[0]
    $GameData[1] = $GameData[1] & "\" & $Dump[$i]
    GUICtrlSetData($Bar_status, $i + 30)
    $i = $i + 1
    WEnd
    GUICtrlSetData($Bar_status, $i + 40)
    GUICtrlSetData($Bar_label, "Lese Daten aus Registrierung [Internet Explorer]")
    Sleep(750)
    $System[10] = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Internet Settings", "GlobalUserOffline")
    GUICtrlSetData($Bar_status, $i + 43)

    [/autoit] [autoit][/autoit] [autoit]

    ; # Launcher: read environment data #
    GUICtrlSetData($Bar_status, $i + 46)
    GUICtrlSetData($Bar_label, "Lese Systemdaten [Betriebssystem]")
    Sleep(350)
    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $System[2] = @OSArch
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $Dump = StringSplit($objItem.InstallDate, "")
    $Dump2 = StringSplit($objItem.Name, "|")
    Next
    EndIf
    $System[1] = $Dump2[1]
    $System[4] = $Dump[7] & $Dump[8] & "." & $Dump[5] & $Dump[6] & "." & $Dump[1] & $Dump[2] & $Dump[3] & $Dump[4]
    GUICtrlSetData($Bar_status, $i + 49)
    GUICtrlSetData($Bar_label, "Lese Systemdaten [Update Status]")
    Sleep(350)
    $System[3] = @OSServicePack
    GUICtrlSetData($Bar_status, $i + 52)
    GUICtrlSetData($Bar_label, "Lese Systemdaten [PC-Name & Nutzer]")
    Sleep(350)
    $System[6] = @ComputerName
    $System[5] = @UserName
    GUICtrlSetData($Bar_status, $i + 56)
    GUICtrlSetData($Bar_label, "Lese Systemdaten [Netzwerk Status]")
    Sleep(350)
    $System[8] = @IPAddress1
    $System[9] = @IPAddress2
    GUICtrlSetData($Bar_status, $i + 60)

    [/autoit] [autoit][/autoit] [autoit]

    if IsAdmin() Then
    $System[7] = "Ja"
    Else
    $System[7] = "Nein"
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ; # Launcher: WMI queries to get hardware data #
    GUICtrlSetData($Bar_label, "Lese Systemdaten [Hardware]")
    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    GUICtrlSetData($Bar_status, $i + 62)

    [/autoit] [autoit][/autoit] [autoit]

    ; RAM
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMemoryArray", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    GUICtrlSetData($Bar_status, $i + 64)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $Hardware[6] = $objItem.MaxCapacity / 1024 / 1024 & " GB"
    $Hardware[7] = $objItem.MemoryDevices
    Next
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ; CPU
    GUICtrlSetData($Bar_status, $i + 66)
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Processor", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    GUICtrlSetData($Bar_status, $i + 68)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $Hardware[3] = $objItem.CurrentClockSpeed & " MHz"
    $Hardware[2] = $objItem.MaxClockSpeed & " MHz"
    $Hardware[1] = $objItem.Name
    $Hardware[4] = $objItem.NumberOfCores
    $Hardware[5] = $objItem.NumberOfLogicalProcessors
    Next
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ; Grafik
    GUICtrlSetData($Bar_status, $i + 70)
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_VideoController", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    GUICtrlSetData($Bar_status, $i + 72)
    If IsObj($colItems) then
    For $objItem In $colItems
    $strAcceleratorCapabilities = $objItem.AcceleratorCapabilities(0)
    $Hardware[9] = $objItem.AdapterRAM / 1024 / 1024 & " MB"
    $Hardware[8] = $objItem.Caption
    $Dump = StringSplit($objItem.DriverDate, "")
    Next
    Endif

    [/autoit] [autoit][/autoit] [autoit]

    $Hardware[10] = $Dump[5] & $Dump[6] & "." & $Dump[7] & $Dump[8] & "." & $Dump[1] & $Dump[2] & $Dump[3] & $Dump[4]

    [/autoit] [autoit][/autoit] [autoit]

    ; Mainboard
    GUICtrlSetData($Bar_status, $i + 74)
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    GUICtrlSetData($Bar_status, $i + 76)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $Hardware[11] = $objItem.Manufacturer
    $Hardware[12] = $objItem.Model
    Next
    EndIf
    GUICtrlSetData($Bar_status, $i + 80)

    [/autoit] [autoit][/autoit] [autoit]

    _ArrayDisplay($Hardware)

    [/autoit] [autoit][/autoit] [autoit]

    ; # Launcher: setting variables #
    GUICtrlSetData($Bar_label, "Initialisiere Daten")
    GUICtrlSetData($Bar_status, 82)
    $GameData[7] = "lol.launcher.exe"
    Sleep(100)
    GUICtrlSetData($Bar_status, 84)
    $GameData[6] = 0
    Sleep(100)
    GUICtrlSetData($Bar_status, 86)
    $GameData[4] = @TempDir
    Sleep(100)
    GUICtrlSetData($Bar_status, 88)
    Sleep(100)
    GUICtrlSetData($Bar_status, 90)
    GUICtrlSetData($Bar_label, "Lade Oberfläche")
    Global $Main_B_upcoming, $Laun_B_close, $Laun_B_play, $Laun_B_error, $Shop_B_blank, $Conn_B_analyse, $Info_B_notes, $Win_close, $run_lol
    Global $B_EU, $B_US
    Sleep(100)
    GUICtrlSetData($Bar_status, 92)
    Global $OS_label, $SP_label, $install_label, $PCname_label, $User_label, $admin_label, $arch_label ; => SysInfo: Allgemein
    GUICtrlSetData($Bar_status, 94)
    Global $CPU_typ_label, $CPU_curclock_label, $CPU_maxclock_label, $CPU_cores_label, $CPU_coreSUM_label ; => SysInfo: CPU
    Global $GPU_card_label, $GPU_RAM_label, $GPU_DriverDate_label ; => SysInfo: Grafik
    GUICtrlSetData($Bar_status, 96)
    Global $MB_OEM_label, $MB_model_label, $RAM_amount_label, $RAM_count_label, $SysInfo_B_ExportText, $SysInfo, $SysInfo_Export, $ExportDir, $SysInfo_BarL_status, $File ; => SysInfo: sonstiges
    GUICtrlSetData($Bar_status, 98)
    GUICtrlSetData($Bar_label, "Starte Programm")
    Sleep(500)
    GUICtrlSetData($Bar_status, 100)

    [/autoit] [autoit][/autoit] [autoit]

    ;MsgBox(64, "Test Box for variables", $OS & @CRLF & $OSinstall)

    [/autoit] [autoit][/autoit] [autoit]

    ; # Launcher: verify LoL data #
    If $System[3] = "" Then
    $System[3] = "kein Servicepack installiert"
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $Hardware[11] = "System manufacturer" Then
    $Hardware[11] = "Information nicht verfügbar"
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $Hardware[12] = "System Product Name" Then
    $Hardware[12] = "Information nicht verfügbar"
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $GameData[1] = "" And $GameData[2] = "" Then
    MsgBox(48, "LoL - Get it fixed!", "Es konnte keine LoL - Installation gefunden werden." & @CRLF & "Nachfolgend bitte den Installationsordner wählen.", 5)
    $GameData[3] = FileSelectFolder("Das Installationsverzeichnis konnte nicht automatisch erkannt werden." & @CRLF & "Bitte wähle dein LoL Installationsverzeichnis", "", 2, "C:\programme\")
    $GameData[8] = $GameData[3]
    main()
    ElseIf $GameData[1] <> "" And $GameData[2] <> "" Then
    launcher_EUandUS()
    EndIf
    EndFunc ;==>_GetInfos

    [/autoit]


    Hier das GUI in das die Daten am Ende sollen...
    In dem Fall z.B. der Fehler bei
    $OS_label = GUICtrlCreateLabel($System[1], 200, 64, 252, 23)
    oder
    $SP_label = GUICtrlCreateLabel($System[3], 200, 112, 252, 23)
    usw.

    Spoiler anzeigen
    [autoit]

    Func SysInfo()
    _ArrayDisplay($System)
    $SysInfo = GUICreate("Get it fixed! - System Überblick", 511, 838, 616, 96)
    GUISetFont(10, 800, 0, "Calibri")
    $System = GUICtrlCreateGroup("System", 24, 32, 465, 209)
    GUICtrlSetFont(-1, 15, 800, 0, "Calibri")
    $OS_prim = GUICtrlCreateLabel("Betriebssystem:", 32, 64, 111, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $OS_label = GUICtrlCreateLabel($System[1], 200, 64, 252, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $SP_prim = GUICtrlCreateLabel("Servicepack:", 32, 112, 89, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $SP_label = GUICtrlCreateLabel($System[3], 200, 112, 252, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $install_prim = GUICtrlCreateLabel("Installationsdatum:", 32, 208, 136, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $install_label = GUICtrlCreateLabel($System[4], 200, 208, 250, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $PCname_prim = GUICtrlCreateLabel("Computername:", 32, 136, 114, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $PCname_label = GUICtrlCreateLabel($System[6], 200, 136, 253, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $User_prim = GUICtrlCreateLabel("Benutzer:", 32, 160, 69, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $User_label = GUICtrlCreateLabel($System[5], 200, 160, 251, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $admin_prim = GUICtrlCreateLabel("administrative Rechte:", 32, 184, 158, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $admin_label = GUICtrlCreateLabel($System[7], 200, 184, 256, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $arch_prim = GUICtrlCreateLabel("Systemarchitektur:", 32, 88, 134, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $arch_label = GUICtrlCreateLabel($System[2], 200, 88, 249, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Hardware = GUICtrlCreateGroup("Hardware", 24, 256, 465, 457)
    GUICtrlSetFont(-1, 16, 800, 0, "Calibri")
    $CPU = GUICtrlCreateGroup("CPU", 40, 280, 433, 161)
    GUICtrlSetFont(-1, 14, 800, 0, "Calibri")
    $CPU_typ_prim = GUICtrlCreateLabel("Modell:", 48, 312, 56, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $CPU_curclock_prim = GUICtrlCreateLabel("akt. Taktung:", 48, 336, 94, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $CPU_maxclock_prim = GUICtrlCreateLabel("max. Taktung:", 48, 360, 100, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $CPU_cores = GUICtrlCreateLabel("phys. Kerne:", 48, 384, 88, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $CPU_coreSUM = GUICtrlCreateLabel("Kerne ges.:", 48, 408, 78, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $CPU_typ_label = GUICtrlCreateLabel($Hardware[1], 200, 312, 259, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $CPU_curclock_label = GUICtrlCreateLabel($Hardware[3], 200, 334, 263, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $CPU_maxclock_label = GUICtrlCreateLabel($Hardware[2], 200, 360, 267, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $CPU_cores_label = GUICtrlCreateLabel($Hardware[4], 200, 384, 258, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $CPU_coreSUM_label = GUICtrlCreateLabel($Hardware[5], 200, 408, 265, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Grafik = GUICtrlCreateGroup("Grafik", 40, 448, 433, 113)
    GUICtrlSetFont(-1, 14, 800, 0, "Calibri")
    $GPU_card_prim = GUICtrlCreateLabel("Karte:", 48, 480, 45, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $GPU_RAM_prim = GUICtrlCreateLabel("Speicher:", 48, 504, 67, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $GPU_DriverDate_prim = GUICtrlCreateLabel("Treiberdatum:", 48, 528, 102, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $GPU_card_label = GUICtrlCreateLabel($Hardware[8], 200, 480, 260, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $GPU_RAM_label = GUICtrlCreateLabel($Hardware[9], 200, 504, 263, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $GPU_DriverDate_label = GUICtrlCreateLabel($Hardware[10], 200, 528, 262, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $misc = GUICtrlCreateGroup("sonstiges", 40, 568, 433, 137)
    GUICtrlSetFont(-1, 14, 800, 0, "Calibri")
    $MB_oem_prim = GUICtrlCreateLabel("Mainboard OEM:", 48, 600, 121, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $MB_model_prim = GUICtrlCreateLabel("Mainboard Modell:", 48, 624, 136, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $RAM_amount_prim = GUICtrlCreateLabel("Arbeitsspeicher:", 48, 648, 114, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $RAM_count_prim = GUICtrlCreateLabel("Anzahl Module:", 48, 672, 111, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $MB_OEM_label = GUICtrlCreateLabel($Hardware[11], 200, 600, 258, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $MB_model_label = GUICtrlCreateLabel($Hardware[2], 200, 624, 258, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $RAM_amount_label = GUICtrlCreateLabel($Hardware[6], 200, 648, 260, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $RAM_count_label = GUICtrlCreateLabel($Hardware[7], 200, 672, 263, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $SysInfo_Main = GUICtrlCreateLabel("LoL - Get it fixed! Systemübersicht", 113, 8, 301, 30)
    GUICtrlSetFont(-1, 16, 800, 4, "Calibri")
    $SysInfo_L_Export = GUICtrlCreateLabel("Alle wichtigen Daten können auch exportiert werden um diese z.B. in", 32, 720, 450, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $SysInfo_L_Export2 = GUICtrlCreateLabel("einem Forum zu posten. Dafür einfach folgenden Button anklicken.", 40, 744, 435, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $SysInfo_B_ExportText = GUICtrlCreateButton("In Textdatei exportieren", 170, 800, 187, 33, 0)
    GUICtrlSetOnEvent(-1, "SysInfoExport")
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $SysInfo_Export = GUICtrlCreateProgress(171, 787, 185, 9, $PBS_SMOOTH)
    GUICtrlSetState(-1, $GUI_HIDE)
    GUICtrlSetLimit(-1, 20, 0)
    $SysInfo_BarL_status = GUICtrlCreateLabel("Exportiere Daten . ", 176, 768, 180, 19, $SS_CENTER)
    GUICtrlSetState(-1, $GUI_HIDE)
    GUISetState(@SW_SHOW)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEclick")
    EndFunc ; => SysInfo

    [/autoit]


    Gesamtes Script

    Spoiler anzeigen
    [autoit]

    #RequireAdmin
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=files\symbol.ico
    #AutoIt3Wrapper_Compression=4
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #cs ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    League of Legends - Get it fixed!
    Author: Matricus
    Version: 1.00

    [/autoit] [autoit][/autoit] [autoit]

    Program Function:
    Solve multiple issues with the League of Legends client.
    Provides a graphical user interface.
    Also provide some nice features to ''scan your PC'' for requirements
    or check the connection to the LoL-Servers.

    [/autoit] [autoit][/autoit] [autoit]

    Copyright by Aye Carumba Entertainment Studios

    [/autoit] [autoit][/autoit] [autoit]

    #ce ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <EditConstants.au3>
    #include <ButtonConstants.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <ProgressConstants.au3>
    #include <Array.au3>
    #include <File.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)

    [/autoit] [autoit][/autoit] [autoit]

    Global $LoL_EUandUS, $FixIt_Main, $workdir
    ; _____________________________________________________________________________________________________________
    ; ### Launcher Beginn###
    ; # Launcher: Installation der Schriftart Calibri #
    FileInstall(".\files\calibri.ttf", @WindowsDir & "\fonts\calibri.ttf")
    FileInstall(".\files\calibrib.ttf", @WindowsDir & "\fonts\calibrib.ttf")
    FileInstall(".\files\calibriz.ttf", @WindowsDir & "\fonts\calibriz.ttf")
    FileInstall(".\files\calibrii.ttf", @WindowsDir & "\fonts\calibrii.ttf")
    sleep(500)

    [/autoit] [autoit][/autoit] [autoit]

    FileDelete(@TempDir & "\upcoming.bat")
    FileDelete(@TempDir & "\upcoming_DE.txt")
    FileDelete(@TempDir & "\launcherfix.vbs")
    FileDelete(@TempDir & "\launcherfix.bat")
    FileDelete(@TempDir & "\winmtr.exe")
    FileDelete(@TempDir & "\trace.bat")
    FileDelete(@TempDir & "\changelog.bat")
    FileDelete(@TempDir & "\changelog_DE.txt")

    [/autoit] [autoit][/autoit] [autoit]

    ; # Launcher: GUI Beginn #
    Global $LoLFixit_Launcher = GUICreate("LoL- Get it fixed! Launcher", 345, 136, 496, 308)
    GUISetFont(10, 400, 0, "Microsoft Sans Serif")
    $L_wait = GUICtrlCreateLabel("Bitte einen Moment Geduld.", 16, 16, 167, 20)
    $L_primary = GUICtrlCreateLabel("Das Fixing-Tool für League of Legends wird gestartet.", 16, 40, 320, 20)
    $Bar_status = GUICtrlCreateProgress(16, 104, 313, 14)
    GUICtrlSetColor(-1, 0x008000)
    GUICtrlSetBkColor(-1, 0xFFFBF0)
    GUICtrlSetTip(-1, "status")
    ;Global $B_exit = GUICtrlCreateButton("Abbrechen", 280, 98, 83, 25, 0)
    $Bar_label = GUICtrlCreateLabel("Status", 18, 80, 310, 19)
    GUICtrlSetFont(-1, 9, 800, 0, "Microsoft Sans Serif")
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEclick")
    GUISetState(@SW_SHOW)
    _GetInfos()
    GUIDelete($LoLFixit_Launcher)
    While 1
    Sleep(1000)
    WEnd
    ; # Launcher: GUI Ende #

    [/autoit] [autoit][/autoit] [autoit]

    Func _GetInfos()
    ; # Launcher: Start #
    GUICtrlSetData($Bar_status, 1)
    GUICtrlSetData($Bar_label, "Starte Informationssammlung")
    Sleep(1000)
    Global $Hardware[13], $System[11], $GameData[9]
    Global $Dump, $Dump2
    #cs
    Global $DirEU, $DirUS, $Dir, $Dir2, $DirFault, $rescdir ; => für LoL Verzeichnisse
    Global $inetcfg ; => Internet Explorer registry value
    Global $OS, $OS1, $OSarch, $OSinstall, $OSinstalltemp, $SP, $User, $PCName, $IP1, $IP2, $admin ; => allgemeine Systemdaten
    Global $temp, $name, $objItem ; => sonstiges
    Global $S_CPUName, $S_CPUmax, $S_CPUatm, $S_CPUcores, $S_CPUcoreSUM, $S_RAM, $S_RAMcount, $S_DispRAM, $S_DispTyp, $S_DispDriver, $S_DispDrivertemp, $S_MBoem, $S_MBmodel ; => Hardware Daten
    #ce
    GUICtrlSetData($Bar_status, 8)

    [/autoit] [autoit][/autoit] [autoit]

    ; # Launcher: read registry values #
    GUICtrlSetData($Bar_label, "Lese Daten aus Registrierung [LoL US]")
    Sleep(750)
    $Dump = StringSplit(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{868EC22E-7E82-4760-9265-3F2E705BF24B}", "InstallLocation"), "\")
    $i = 2
    $GameData[2] = $Dump[1]
    While $i < $Dump[0]
    $GameData[2] = $GameData[2] & "\" & $Dump[$i]
    GUICtrlSetData($Bar_status, $i + 10)
    $i = $i + 1
    WEnd
    Global $Dump = ""
    Global $Dump[20]
    GUICtrlSetData($Bar_status, 21)
    GUICtrlSetData($Bar_label, "Lese Daten aus Registrierung [LoL EU]")
    Sleep(750)
    $Dump = StringSplit(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\leagueoflegends\leagueoflegends", "UninstallPath"), "\")
    $i = 2
    $GameData[1] = $Dump[1]
    While $i < $Dump[0]
    $GameData[1] = $GameData[1] & "\" & $Dump[$i]
    GUICtrlSetData($Bar_status, $i + 30)
    $i = $i + 1
    WEnd
    GUICtrlSetData($Bar_status, $i + 40)
    GUICtrlSetData($Bar_label, "Lese Daten aus Registrierung [Internet Explorer]")
    Sleep(750)
    $System[10] = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Internet Settings", "GlobalUserOffline")
    GUICtrlSetData($Bar_status, $i + 43)

    [/autoit] [autoit][/autoit] [autoit]

    ; # Launcher: read environment data #
    GUICtrlSetData($Bar_status, $i + 46)
    GUICtrlSetData($Bar_label, "Lese Systemdaten [Betriebssystem]")
    Sleep(350)
    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $System[2] = @OSArch
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $Dump = StringSplit($objItem.InstallDate, "")
    $Dump2 = StringSplit($objItem.Name, "|")
    Next
    EndIf
    $System[1] = $Dump2[1]
    $System[4] = $Dump[7] & $Dump[8] & "." & $Dump[5] & $Dump[6] & "." & $Dump[1] & $Dump[2] & $Dump[3] & $Dump[4]
    GUICtrlSetData($Bar_status, $i + 49)
    GUICtrlSetData($Bar_label, "Lese Systemdaten [Update Status]")
    Sleep(350)
    $System[3] = @OSServicePack
    GUICtrlSetData($Bar_status, $i + 52)
    GUICtrlSetData($Bar_label, "Lese Systemdaten [PC-Name & Nutzer]")
    Sleep(350)
    $System[6] = @ComputerName
    $System[5] = @UserName
    GUICtrlSetData($Bar_status, $i + 56)
    GUICtrlSetData($Bar_label, "Lese Systemdaten [Netzwerk Status]")
    Sleep(350)
    $System[8] = @IPAddress1
    $System[9] = @IPAddress2
    GUICtrlSetData($Bar_status, $i + 60)

    [/autoit] [autoit][/autoit] [autoit]

    if IsAdmin() Then
    $System[7] = "Ja"
    Else
    $System[7] = "Nein"
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ; # Launcher: WMI queries to get hardware data #
    GUICtrlSetData($Bar_label, "Lese Systemdaten [Hardware]")
    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    GUICtrlSetData($Bar_status, $i + 62)

    [/autoit] [autoit][/autoit] [autoit]

    ; RAM
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMemoryArray", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    GUICtrlSetData($Bar_status, $i + 64)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $Hardware[6] = $objItem.MaxCapacity / 1024 / 1024 & " GB"
    $Hardware[7] = $objItem.MemoryDevices
    Next
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ; CPU
    GUICtrlSetData($Bar_status, $i + 66)
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Processor", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    GUICtrlSetData($Bar_status, $i + 68)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $Hardware[3] = $objItem.CurrentClockSpeed & " MHz"
    $Hardware[2] = $objItem.MaxClockSpeed & " MHz"
    $Hardware[1] = $objItem.Name
    $Hardware[4] = $objItem.NumberOfCores
    $Hardware[5] = $objItem.NumberOfLogicalProcessors
    Next
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ; Grafik
    GUICtrlSetData($Bar_status, $i + 70)
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_VideoController", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    GUICtrlSetData($Bar_status, $i + 72)
    If IsObj($colItems) then
    For $objItem In $colItems
    $strAcceleratorCapabilities = $objItem.AcceleratorCapabilities(0)
    $Hardware[9] = $objItem.AdapterRAM / 1024 / 1024 & " MB"
    $Hardware[8] = $objItem.Caption
    $Dump = StringSplit($objItem.DriverDate, "")
    Next
    Endif

    [/autoit] [autoit][/autoit] [autoit]

    $Hardware[10] = $Dump[5] & $Dump[6] & "." & $Dump[7] & $Dump[8] & "." & $Dump[1] & $Dump[2] & $Dump[3] & $Dump[4]

    [/autoit] [autoit][/autoit] [autoit]

    ; Mainboard
    GUICtrlSetData($Bar_status, $i + 74)
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    GUICtrlSetData($Bar_status, $i + 76)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $Hardware[11] = $objItem.Manufacturer
    $Hardware[12] = $objItem.Model
    Next
    EndIf
    GUICtrlSetData($Bar_status, $i + 80)

    [/autoit] [autoit][/autoit] [autoit]

    _ArrayDisplay($Hardware)

    [/autoit] [autoit][/autoit] [autoit]

    ; # Launcher: setting variables #
    GUICtrlSetData($Bar_label, "Initialisiere Daten")
    GUICtrlSetData($Bar_status, 82)
    $GameData[7] = "lol.launcher.exe"
    Sleep(100)
    GUICtrlSetData($Bar_status, 84)
    $GameData[6] = 0
    Sleep(100)
    GUICtrlSetData($Bar_status, 86)
    $GameData[4] = @TempDir
    Sleep(100)
    GUICtrlSetData($Bar_status, 88)
    Sleep(100)
    GUICtrlSetData($Bar_status, 90)
    GUICtrlSetData($Bar_label, "Lade Oberfläche")
    Global $Main_B_upcoming, $Laun_B_close, $Laun_B_play, $Laun_B_error, $Shop_B_blank, $Conn_B_analyse, $Info_B_notes, $Win_close, $run_lol
    Global $B_EU, $B_US
    Sleep(100)
    GUICtrlSetData($Bar_status, 92)
    Global $OS_label, $SP_label, $install_label, $PCname_label, $User_label, $admin_label, $arch_label ; => SysInfo: Allgemein
    GUICtrlSetData($Bar_status, 94)
    Global $CPU_typ_label, $CPU_curclock_label, $CPU_maxclock_label, $CPU_cores_label, $CPU_coreSUM_label ; => SysInfo: CPU
    Global $GPU_card_label, $GPU_RAM_label, $GPU_DriverDate_label ; => SysInfo: Grafik
    GUICtrlSetData($Bar_status, 96)
    Global $MB_OEM_label, $MB_model_label, $RAM_amount_label, $RAM_count_label, $SysInfo_B_ExportText, $SysInfo, $SysInfo_Export, $ExportDir, $SysInfo_BarL_status, $File ; => SysInfo: sonstiges
    GUICtrlSetData($Bar_status, 98)
    GUICtrlSetData($Bar_label, "Starte Programm")
    Sleep(500)
    GUICtrlSetData($Bar_status, 100)

    [/autoit] [autoit][/autoit] [autoit]

    ;MsgBox(64, "Test Box for variables", $OS & @CRLF & $OSinstall)

    [/autoit] [autoit][/autoit] [autoit]

    ; # Launcher: verify LoL data #
    If $System[3] = "" Then
    $System[3] = "kein Servicepack installiert"
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $Hardware[11] = "System manufacturer" Then
    $Hardware[11] = "Information nicht verfügbar"
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $Hardware[12] = "System Product Name" Then
    $Hardware[12] = "Information nicht verfügbar"
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $GameData[1] = "" And $GameData[2] = "" Then
    MsgBox(48, "LoL - Get it fixed!", "Es konnte keine LoL - Installation gefunden werden." & @CRLF & "Nachfolgend bitte den Installationsordner wählen.", 5)
    $GameData[3] = FileSelectFolder("Das Installationsverzeichnis konnte nicht automatisch erkannt werden." & @CRLF & "Bitte wähle dein LoL Installationsverzeichnis", "", 2, "C:\programme\")
    $GameData[8] = $GameData[3]
    main()
    ElseIf $GameData[1] <> "" And $GameData[2] <> "" Then
    launcher_EUandUS()
    EndIf
    EndFunc ;==>_GetInfos

    [/autoit] [autoit][/autoit] [autoit]

    ;*****************************************************************************

    [/autoit] [autoit][/autoit] [autoit]

    ; ### Launcher Ende ###
    ; _______________________________________________________________________________________________________________
    ; _______________________________________________________________________________________________________________
    ; ### Functions Beginn ###

    [/autoit] [autoit][/autoit] [autoit]

    ; # Launcher: EU oder US (wenn beide gefunden) #
    Func launcher_EUandUS()
    Global $LoL_EUandUS = GUICreate("LoL - Get it fixed! Both", 423, 130, 484, 456)
    $L_primary = GUICtrlCreateLabel("Es wurde festgestellt das der EU und der US Client installiert ist.", 14, 16, 377, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    $L_sub = GUICtrlCreateLabel("Bitte Client auswählen für den das Programm Fehler beheben soll.", 8, 40, 393, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Microsoft Sans Serif")
    Local $B_EU = GUICtrlCreateButton("EU-Client", 72, 72, 107, 41, 0)
    GUICtrlSetFont(-1, 11, 800, 0, "Microsoft Sans Serif")
    Local $B_US = GUICtrlCreateButton("US-Client", 232, 72, 107, 41, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Microsoft Sans Serif")
    GUISetState(@SW_SHOW, $LoL_EUandUS)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEclick")
    GUICtrlSetOnEvent($B_EU, "Button_EU")
    GUICtrlSetOnEvent($B_US, "Button_US")
    EndFunc ;==>launcher_EUandUS

    [/autoit] [autoit][/autoit] [autoit]

    ; # misc: geplante Änderungen #
    Func upcoming()
    FileInstall(".\files\upcoming.bat", @TempDir & "\upcoming.bat")
    FileInstall(".\files\upcoming_DE.txt", @TempDir & "\upcoming_DE.txt")
    sleep(500)
    run(@TempDir & "\upcoming.bat","", @SW_HIDE)
    EndFunc ; => main_upcoming

    [/autoit] [autoit][/autoit] [autoit]

    ; # Fix: Schließen des Patchers nach Start #
    Func Launcher_closing()
    ;$workdir = $rescdir
    $GameData[0] = MsgBox(4, "Patcher Fix", "Es werden einige (temporäre) Dateien auf dem System gelöscht" & @CRLF & @CRLF & "Fortfahren?")
    if $GameData[0] = 6 Then
    if ProcessExists("lol.launcher.exe") OR ProcessExists("launcher.exe") OR ProcessExists("league of legends.exe") Then
    MsgBox(48, "Patcher Fix", "Mindestens 1 Prozess von League of Legends ist noch aktiv." & @CRLF & "Um das Problem beheben zu können müssen alle LoL-Prozesse geschlossen sein." & @CRLF & @CRLF & "In 5 Sekunden werden sie automatisch geschlossen", 6)
    ProcessClose("lol.launcher.exe")
    ProcessClose("launcher.exe")
    ProcessClose("league of legends.exe")
    EndIf
    FileInstall(".\files\LauncherFix.vbs", @TempDir & "\launcherfix.vbs")
    FileInstall(".\files\launcherfix.bat", @TempDir & "\launcherfix.bat")
    sleep(1000)
    if FileExists(@TempDir & "\launcherfix.vbs") AND FileExists(@TempDir & "\launcherfix.bat") Then
    run(@TempDir & "\launcherfix.bat","", @SW_HIDE)
    Else
    MsgBox(32, "Patcher Fix", "Es ist ein Fehler bei der Ausführung aufgetreten. Starte neuen Versuch", 5)
    FileInstall(".\files\LauncherFix.vbs", @TempDir & "\launcherfix.vbs")
    FileInstall(".\files\launcherfix.bat", @TempDir & "\launcherfix.bat")
    sleep(1000)
    if FileExists(@TempDir & "\launcherfix.vbs") AND FileExists(@TempDir & "\launcherfix.bat") Then
    run(@TempDir & "\launcherfix.bat","", @SW_HIDE)
    Else
    MsgBox(16, "Patcher Fix", "Konnte Skript aufgrund eines Fehlers nicht ausführen." & @CRLF & "Bitte diesen Fehler im Forum berichten mit den Systemdaten - Danke!" & @CRLF & @CRLF & "Fehlercode: 2" & @CRLF & "Beschreibung: can not execute launcherfix.vbs")
    EndIf
    EndIf
    MsgBox(64, "Patcher Fix", "Die temporären Dateien von LoL konnten erfolgreich gelöscht werden")
    if $GameData[6] = 1 Then
    MsgBox(64, "Run LoL", "Ich würde in v1.0 nun das starten: " & $workdir & "\" & $launcher)
    EndIf
    EndIf
    EndFunc ; Launcher_closing

    [/autoit] [autoit][/autoit] [autoit]

    ; # Fix: Play-Button nicht aktiv nach Patch #
    Func Launcher_play()
    ;$workdir = $rescdir
    $GameData[0] = MsgBox(4, "Spiel-Button Fix", "Es werden die Einstellungen des Internet Explorers zurückgesetzt." & @CRLF & @CRLF & "Fortfahren?")
    if $GameData[0] = 6 Then
    if ProcessExists("iexplore.exe") Then
    MsgBox(64, "Spiel-Button Fix", "Der Internet Explorer ist noch aktiv. Für diesen Fix muss er geschlossen sein." & @CRLF & "Er wird automatisch geschlossen...", 3)
    ProcessClose("iexplore.exe")
    EndIf
    run("control inetcpl.cpl,,6")
    BlockInput(1)
    WinWaitActive("Eigenschaften von Internet", "Internet Explorer-Einstellungen zurücksetzen")
    sleep(500)
    send("!z")
    WinWaitActive("Internet Explorer-Einstellungen zurücksetzen", "Möchten Sie wirklich alle Internet Explorer-Einstellungen zurücksetzen?")
    sleep(300)
    send("!p")
    sleep(300)
    send("!z")
    sleep(1000)
    WinWaitActive("Internet Explorer-Einstellungen zurücksetzen", "Internet Explorer-Einstellungen werden zurückgesetzt")
    sleep(5000)
    send("!s")
    if WinActive("Internet Explorer-Einstellungen zurücksetzen", "Internet Explorer-Einstellungen werden zurückgesetzt") Then
    sleep(5000)
    send("!s")
    EndIf
    BlockInput(0)
    MsgBox(64, "IE Zurücksetzung", "Die Einstellungen konnten erfolgreich zurückgesetzt werden.")
    sleep(1000)
    if $GameData[6] = 1 Then
    MsgBox(64, "variablen", "Ich würde in v1.0 nun das starten: " & $GameData[3] & "\" & $GameData[7])
    EndIf
    EndIf
    EndFunc ; Launcher_play

    [/autoit] [autoit][/autoit] [autoit]

    ; # Fix: Fehler im Startprogramm #
    Func Launcher_error()
    MsgBox(64, "launcher error", "This feature will come soon!")
    MsgBox(64, "launcher error", "It will do following: " & @CRLF & @CRLF & "- check the install path of LoL" & @CRLF & ">> prompt an information to reinstall the game" & @CRLF & "- install latest Adobe AIR" & @CRLF & "- install .NET Framework 3.5")
    EndFunc ; Launcher_error

    [/autoit] [autoit][/autoit] [autoit]

    ; # Fix: weiße/schwarze Seite im Shop #
    Func Shop_blank()
    MsgBox(64, "shop blank", "Dieser Fix ist noch nicht implementiert.")
    MsgBox(64, "shop blank", "It will do following: " & @CRLF & @CRLF & "- reset the configuration of Internet Explorer" & @CRLF & "- set https://shop.lol-europe.com as trusted site (to accept scripts)")
    EndFunc ; shop_blank

    [/autoit] [autoit][/autoit] [autoit]

    ; # helper: Verbindungsanalyse #
    Func Connection_trace()
    $GameData[0] = MsgBox(4, "Verbindungs Analyse", "Es wird das Programm WinMTR gestartet" & @CRLF & @CRLF & "Fortfahren?")
    ; => Überprüfung ob Firefox oder Internet Explorer laufen
    if $GameData[0] = 6 Then
    if ProcessExists("iexplore.exe") Then
    $GameData[0] = MsgBox(4, "Verbindungs Analyse", "Der Internet Explorer ist noch aktiv." & @CRLF & "Er kann das Ergebnis verfälschen, z.B. wenn Dateien heruntergeladen werden." & @CRLF & "Soll er geschlossen werden?", 7)
    If $GameData[0] = 6 Then
    ProcessClose("iexplore.exe")
    EndIf
    EndIf
    if ProcessExists("firefox.exe") Then
    $GameData[0] = MsgBox(4, "Verbindungs Analyse", "Der Firefox-Browser ist noch aktiv." & @CRLF & "Er kann das Ergebnis verfälschen, z.B. wenn Dateien heruntergeladen werden." & @CRLF & "Soll er geschlossen werden?", 7)
    If $GameData[0] = 6 Then
    ProcessClose("firefox.exe")
    EndIf
    EndIf
    ; => entpacken von WinMTR
    FileInstall(".\files\winmtr.exe", @TempDir & "\winmtr.exe")
    ; => start von WinMTR inkl. automatische Konfiguration und trace-Beginn
    sleep(500)
    run(@TempDir & "\winmtr.exe")
    WinWaitActive("WinMTR - 0.8")
    BlockInput(1)
    send("lol-europe.com")
    sleep(1000)
    send("!O")
    WinWaitActive("Options", "- WinMTR - 0.8 -")
    send("{del}")
    send("{del}")
    send("{del}")
    send("2.0")
    send("!O")
    sleep(500)
    BlockInput(0)
    ; => Hinweis auf Auswertungs-Helfer <> Angebot den Trace nach 5 Minuten zu stoppen, ein Log zu erzeugen und den "Helfer" zu starten.
    $answer = MsgBox(4, "Verbindungsanalyse", "Um ein genaueres Bild zu bekommen, sollte der Test mindestens 5 Minuten laufen." & @CRLF & "Soll der Test automatisch nach 5 Minuten angehalten werden?" & @CRLF & @CRLF & "Hinweis: Die Auswertung wird nur nach automatischen Abbruch unterstützt.")
    if $answer = 6 Then
    WinActivate("WinMTR - 0.8","")
    send("!S")
    sleep(500)
    MsgBox(64, "Verbindungsanalyse", "Für die Dauer der Analyse kann das Programm keine anderen Aktionen ausführen." & @CRLF & "Das Hauptfenster wird daher ausgeblendet und nach den 5 Minuten wieder eingeblendet.")
    GUISetState(@SW_HIDE, $FixIt_Main)
    WinSetOnTop("WinMTR - 0.8","",0)
    ;$savepath = "C:\Verbindungsanalyse.txt"
    sleep(300000)
    BlockInput(1)
    WinActivate("WinMTR - 0.8")
    send("!S")
    sleep(2000)
    send("!T")
    sleep(500)
    send($GameData[4] & "\Verbindungsanalyse.txt")
    sleep(500)
    send("!S")
    sleep(500)
    GUISetState(@SW_SHOW, $FixIt_Main)
    if WinActive("Speichern unter bestätigen") Then ; => sollte bereits eine Log-Datei vorhanden sein hier die Bestätigung zum Überschreiben
    send("!J")
    EndIf
    WinClose("WinMTR - 0.8")
    BlockInput(0)
    MsgBox(64, "Verbindungsanalyse", "Ablaufverfolgung beendet. Öffne Log...", 5)
    FileInstall(".\files\trace.bat", @TempDir & "\trace.bat")
    sleep(500)
    run( @TempDir & "\trace.bat","", @SW_HIDE)
    MsgBox(64, "Verbindungsanalyse", "Speicherort des Logs: %temp%\verbindungsanalyse.txt" & @CRLF & "Starte Auswertungs-Helfer", 5)
    sleep(500)
    Connection_trace_result()
    Else
    WinActivate("WinMTR - 0.8","")
    send("!S")
    EndIf
    EndIf
    endfunc ; connection_trace

    [/autoit] [autoit][/autoit] [autoit]

    ; # helper: Auswertung der Verbindungsanalyse #
    Func Connection_trace_result()
    MsgBox(64, "Auswertungs-Helfer", "Diese Funktion ist noch nicht implementiert." & @CRLF & "Bis dahin kannst du deine Ergebnisse jedoch im Forum veröffentlichen.")
    EndFunc ; => Connection_trace_result

    [/autoit] [autoit][/autoit] [autoit]

    ; # misc: Aktualisierungsnotizen #
    func Info_notes()
    FileInstall(".\files\changelog.bat", @TempDir & "\changelog.bat")
    FileInstall(".\files\changelog_DE.txt", @TempDir & "\changelog_DE.txt")
    sleep(500)
    run(@TempDir & "\changelog.bat","", @SW_HIDE)
    EndFunc ; Info_notes

    [/autoit] [autoit][/autoit] [autoit]

    ; # misc: Systeminformationen #
    Func SysInfo()
    _ArrayDisplay($System)
    $SysInfo = GUICreate("Get it fixed! - System Überblick", 511, 838, 616, 96)
    GUISetFont(10, 800, 0, "Calibri")
    $System = GUICtrlCreateGroup("System", 24, 32, 465, 209)
    GUICtrlSetFont(-1, 15, 800, 0, "Calibri")
    $OS_prim = GUICtrlCreateLabel("Betriebssystem:", 32, 64, 111, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $OS_label = GUICtrlCreateLabel($System[1], 200, 64, 252, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $SP_prim = GUICtrlCreateLabel("Servicepack:", 32, 112, 89, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $SP_label = GUICtrlCreateLabel($System[3], 200, 112, 252, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $install_prim = GUICtrlCreateLabel("Installationsdatum:", 32, 208, 136, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $install_label = GUICtrlCreateLabel($System[4], 200, 208, 250, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $PCname_prim = GUICtrlCreateLabel("Computername:", 32, 136, 114, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $PCname_label = GUICtrlCreateLabel($System[6], 200, 136, 253, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $User_prim = GUICtrlCreateLabel("Benutzer:", 32, 160, 69, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $User_label = GUICtrlCreateLabel($System[5], 200, 160, 251, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $admin_prim = GUICtrlCreateLabel("administrative Rechte:", 32, 184, 158, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $admin_label = GUICtrlCreateLabel($System[7], 200, 184, 256, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $arch_prim = GUICtrlCreateLabel("Systemarchitektur:", 32, 88, 134, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $arch_label = GUICtrlCreateLabel($System[2], 200, 88, 249, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Hardware = GUICtrlCreateGroup("Hardware", 24, 256, 465, 457)
    GUICtrlSetFont(-1, 16, 800, 0, "Calibri")
    $CPU = GUICtrlCreateGroup("CPU", 40, 280, 433, 161)
    GUICtrlSetFont(-1, 14, 800, 0, "Calibri")
    $CPU_typ_prim = GUICtrlCreateLabel("Modell:", 48, 312, 56, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $CPU_curclock_prim = GUICtrlCreateLabel("akt. Taktung:", 48, 336, 94, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $CPU_maxclock_prim = GUICtrlCreateLabel("max. Taktung:", 48, 360, 100, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $CPU_cores = GUICtrlCreateLabel("phys. Kerne:", 48, 384, 88, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $CPU_coreSUM = GUICtrlCreateLabel("Kerne ges.:", 48, 408, 78, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $CPU_typ_label = GUICtrlCreateLabel($Hardware[1], 200, 312, 259, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $CPU_curclock_label = GUICtrlCreateLabel($Hardware[3], 200, 334, 263, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $CPU_maxclock_label = GUICtrlCreateLabel($Hardware[2], 200, 360, 267, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $CPU_cores_label = GUICtrlCreateLabel($Hardware[4], 200, 384, 258, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $CPU_coreSUM_label = GUICtrlCreateLabel($Hardware[5], 200, 408, 265, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Grafik = GUICtrlCreateGroup("Grafik", 40, 448, 433, 113)
    GUICtrlSetFont(-1, 14, 800, 0, "Calibri")
    $GPU_card_prim = GUICtrlCreateLabel("Karte:", 48, 480, 45, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $GPU_RAM_prim = GUICtrlCreateLabel("Speicher:", 48, 504, 67, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $GPU_DriverDate_prim = GUICtrlCreateLabel("Treiberdatum:", 48, 528, 102, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $GPU_card_label = GUICtrlCreateLabel($Hardware[8], 200, 480, 260, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $GPU_RAM_label = GUICtrlCreateLabel($Hardware[9], 200, 504, 263, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $GPU_DriverDate_label = GUICtrlCreateLabel($Hardware[10], 200, 528, 262, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $misc = GUICtrlCreateGroup("sonstiges", 40, 568, 433, 137)
    GUICtrlSetFont(-1, 14, 800, 0, "Calibri")
    $MB_oem_prim = GUICtrlCreateLabel("Mainboard OEM:", 48, 600, 121, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $MB_model_prim = GUICtrlCreateLabel("Mainboard Modell:", 48, 624, 136, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $RAM_amount_prim = GUICtrlCreateLabel("Arbeitsspeicher:", 48, 648, 114, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $RAM_count_prim = GUICtrlCreateLabel("Anzahl Module:", 48, 672, 111, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $MB_OEM_label = GUICtrlCreateLabel($Hardware[11], 200, 600, 258, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $MB_model_label = GUICtrlCreateLabel($Hardware[2], 200, 624, 258, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $RAM_amount_label = GUICtrlCreateLabel($Hardware[6], 200, 648, 260, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $RAM_count_label = GUICtrlCreateLabel($Hardware[7], 200, 672, 263, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $SysInfo_Main = GUICtrlCreateLabel("LoL - Get it fixed! Systemübersicht", 113, 8, 301, 30)
    GUICtrlSetFont(-1, 16, 800, 4, "Calibri")
    $SysInfo_L_Export = GUICtrlCreateLabel("Alle wichtigen Daten können auch exportiert werden um diese z.B. in", 32, 720, 450, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $SysInfo_L_Export2 = GUICtrlCreateLabel("einem Forum zu posten. Dafür einfach folgenden Button anklicken.", 40, 744, 435, 23)
    GUICtrlSetFont(-1, 12, 400, 0, "Calibri")
    $SysInfo_B_ExportText = GUICtrlCreateButton("In Textdatei exportieren", 170, 800, 187, 33, 0)
    GUICtrlSetOnEvent(-1, "SysInfoExport")
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $SysInfo_Export = GUICtrlCreateProgress(171, 787, 185, 9, $PBS_SMOOTH)
    GUICtrlSetState(-1, $GUI_HIDE)
    GUICtrlSetLimit(-1, 20, 0)
    $SysInfo_BarL_status = GUICtrlCreateLabel("Exportiere Daten . ", 176, 768, 180, 19, $SS_CENTER)
    GUICtrlSetState(-1, $GUI_HIDE)
    GUISetState(@SW_SHOW)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEclick")
    EndFunc ; => SysInfo

    [/autoit] [autoit][/autoit] [autoit]

    Func SysExport()
    $GameData[0] = FileSelectFolder("Bitte das Zielverzeichnis für den Export auswählen.", "", 2, @MyDocumentsDir)
    GUICtrlSetState($SysInfo_Export, $GUI_SHOW)
    _FileCreate($GameData[0] & "\SystemInformationen.txt")
    GUICtrlSetState($SysInfo_BarL_status, $GUI_SHOW)
    GUICtrlSetData($SysInfo_Export, 10)
    $Dump = FileOpen($GameData[0] & "\SystemInformationen.txt", 2)
    GUICtrlSetData($SysInfo_Export, 20)
    GUICtrlSetData($SysInfo_BarL_status, "Exportiere Daten . .")
    FileWrite($Dump, "League of Legends - Get it fixed! Tool" & @CRLF & "Systeminformationen" & @CRLF)
    GUICtrlSetData($SysInfo_Export, 30)
    FileWrite($Dump, "______________________________________" & @CRLF & @CRLF)
    GUICtrlSetData($SysInfo_Export, 40)
    GUICtrlSetData($SysInfo_BarL_status, "Exportiere Daten . . .")
    FileWrite($Dump, "Betriebssystem: " & $System[1] & " - " & $System[2] & @CRLF)
    GUICtrlSetData($SysInfo_Export, 50)
    FileWrite($Dump, "Servicepack: " & $System[3] & @CRLF)
    GUICtrlSetData($SysInfo_Export, 60)
    GUICtrlSetData($SysInfo_BarL_status, "Exportiere Daten . ")
    ;FileWrite($File, "###############################" & @CRLF)
    FileWrite($Dump, "CPU Modell: " & $Hardware[1] & @CRLF)
    GUICtrlSetData($SysInfo_Export, 70)
    FileWrite($Dump, "CPU Taktung: " & $Hardware[4] & "x" & $Hardware[2] & " (aktuell: " & $Hardware[3] & ")" & @CRLF)
    GUICtrlSetData($SysInfo_Export, 75)
    GUICtrlSetData($SysInfo_BarL_status, "Exportiere Daten . .")
    ;FileWrite($File, "CPU Kerne: " & $S_CPUcoreSUM & @CRLF)
    ;FileWrite($File, "###############################" & @CRLF)
    FileWrite($Dump, "Grafikkarte: " & $Hardware[8] & @CRLF)
    FileWrite($Dump, "Grafikspeicher: " & $Hardware[9] & @CRLF)
    FileWrite($Dump, "Treiberdatum: " & $Hardware[10] & @CRLF)
    GUICtrlSetData($SysInfo_Export, 80)
    ;FileWrite($File, "###############################" & @CRLF)
    FileWrite($Dump, "Mainboard: " & $Hardware[12] & " (OEM: " & $Hardware[11] & ")" & @CRLF)
    FileWrite($Dump, "Arbeitsspeicher: " & $Hardware[6] & " (" & $Hardware[7] & " Modul(e))" &@CRLF)
    GUICtrlSetData($SysInfo_Export, 90)
    GUICtrlSetData($SysInfo_BarL_status, "Exportiere Daten . . .")
    Sleep(500)
    FileClose($Dump)
    Sleep(500)
    _FileCreate(@TempDir & "\SystemInformationen.bat")
    GUICtrlSetData($SysInfo_Export, 100)
    $Dump = FileOpen(@TempDir & "\SystemInformationen.bat", 2)
    sleep(100)
    FileWrite($Dump, "start " & $GameData[0] & "\Systeminformationen.txt")
    GUICtrlSetData($SysInfo_BarL_status, "Fertig! Öffne Exportdatei")
    FileClose($Dump)
    Run(@TempDir & "\SystemInformationen.bat")
    GUICtrlSetData($SysInfo_BarL_status, "Datei geöffnet!")
    GUICtrlSetState($SysInfo_Export, $GUI_HIDE)
    Sleep(3000)
    GUICtrlSetState($SysInfo_BarL_status, $GUI_HIDE)
    EndFunc
    ; ### Functions Ende ###
    ; _______________________________________________________________________________________________________
    ; _______________________________________________________________________________________________________

    [/autoit] [autoit][/autoit] [autoit]

    ; ### Beginn Haupt-Interface ###

    [/autoit] [autoit][/autoit] [autoit]

    Func Main()
    If WinExists("LoL - Get it fixed! Both") Then
    GUIDelete($LoL_EUandUS)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ; => Plausibilitätsprüfung ob $workdir mit Daten gefüllt ist, ggf. setzen der Variable mit EU/US-Pfad
    If $GameData[3] = "" Then
    If $GameData[1] <> "" Then
    $GameData[3] = $GameData[1]
    ElseIf $GameData[2] <> "" Then
    $GameData[3] = $GameData[2]
    EndIf
    EndIf
    If $GameData[8] = "" Then
    $GameData[8] = $GameData[3]
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ; => Zuweisung der korrekten Betriebssystemarchitektur-strings anhand der Daten
    If $System[2] = "X86" Then
    $System[2] = "32 bit"
    ElseIf $System[2] = "X64" Then
    $System[2] = "64 bit"
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ; # GUI Start #
    $FixIt_Main = GUICreate("LoL - Get it fixed!", 433, 355, 646, 248)
    GUISetIcon("D:\005.ico")
    GUISetFont(11, 400, 0, "Calibri")
    $Fix_TabCon = GUICtrlCreateTab(8, 8, 420, 312)
    GUICtrlSetFont(-1, 10, 800, 0, "Calibri")
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)

    [/autoit] [autoit][/autoit] [autoit]

    ; => Tab: Willkommen
    $T_welcome = GUICtrlCreateTabItem("Willkommen")
    $Welcome_Headline = GUICtrlCreateLabel("Willkommen!", 56, 49, 122, 30)
    GUICtrlSetFont(-1, 16, 800, 4, "Calibri")
    GUICtrlSetColor(-1, 0x008000)
    $Welcome_L_intro1 = GUICtrlCreateLabel("Dieses Programm wird dich bei der Fehlerbehebung für", 56, 97, 346, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $Welcome_L_intro2 = GUICtrlCreateLabel("League of Legends unterstützen.", 56, 121, 205, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $Welcome_L_intro3 = GUICtrlCreateLabel("Dafür einfach oben eine der Kategorien wählen.", 56, 145, 301, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $Welcome_L_info = GUICtrlCreateLabel("Doch zuvor solltest du einen Abstecher zu den Programm-", 56, 182, 361, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $Welcome_L_info2 = GUICtrlCreateLabel("optionen machen um es deinen Bedürfnissen anzupassen.", 56, 206, 364, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $Welcome_L_info3 = GUICtrlCreateLabel("Werf' zudem einen Blick auf die neuesten Änderungen.", 56, 230, 346, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $Welcome_B_options = GUICtrlCreateButton("Programmoptionen", 64, 269, 139, 33, 0)
    GUICtrlSetFont(-1, 11, 800, 0, "Calibri")
    GUICtrlSetOnEvent(-1, "OptionsClick"); => OptionsClick
    $Welcome_B_Pnotes = GUICtrlCreateButton("Änderungsnotizen", 232, 269, 139, 33, 0)
    GUICtrlSetFont(-1, 11, 800, 0, "Calibri")
    GUICtrlSetOnEvent(-1, "welcome_B_PnotesClick"); => welcome_B_PnotesClick

    [/autoit] [autoit][/autoit] [autoit]

    ; => Tab: Allgemein
    $T_general = GUICtrlCreateTabItem("Allgemein")
    $General_Headline = GUICtrlCreateLabel("Allgemeine Überprüfung", 98, 49, 219, 30)
    GUICtrlSetFont(-1, 16, 800, 4, "Calibri")
    GUICtrlSetColor(-1, 0x008000)
    $General_L_intro = GUICtrlCreateLabel("In diesem Bereich kannst du deinen Computer überprüfen", 56, 96, 364, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $General_L_intro2 = GUICtrlCreateLabel("lassen ob er alle Vorraussetzungen erfüllt um das Spiel", 56, 122, 342, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $General_L_intro3 = GUICtrlCreateLabel("League of Legends ordnungsgemäß auszuführen.", 56, 149, 305, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $General_L_info = GUICtrlCreateLabel("Die Überprüfung kann einen Moment dauern, da einiges", 56, 184, 352, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $General_L_info2 = GUICtrlCreateLabel("an Daten abgerufen wird. Danach erscheint ein Fenster", 56, 210, 343, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $General_L_info3 = GUICtrlCreateLabel("welches dir die Ergebnisse der Überprüfung anzeigt.", 56, 236, 326, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $General_B_systemcheck = GUICtrlCreateButton("Überprüfung starten", 144, 272, 147, 33, 0)
    GUICtrlSetFont(-1, 11, 800, 0, "Calibri")
    GUICtrlSetOnEvent(-1, "General_B_systemcheckClick"); => general_B_systemcheckClick

    [/autoit] [autoit][/autoit] [autoit]

    ; => Tab: Startprogramm
    $T_launcher = GUICtrlCreateTabItem("Startprogramm")
    $launcher_headline = GUICtrlCreateLabel("Probleme im Startprogramm", 90, 49, 251, 30)
    GUICtrlSetFont(-1, 16, 800, 4, "Calibri")
    GUICtrlSetColor(-1, 0x008000)
    $launcher_L_intro = GUICtrlCreateLabel("Dieser Bereich behandelt die Probleme mit dem LoL-Launcher.", 44, 96, 391, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $launcher_playfixlabel = GUICtrlCreateLabel("Sollte die Spielen-Schaltfläche auch nach einem erfolgreichem", 44, 168, 391, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $launcher_playfixlabel2 = GUICtrlCreateLabel("Patchvorgang grau bleiben, kannst du dies hier beheben lassen.", 44, 192, 397, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $launcher_errorlabel = GUICtrlCreateLabel("Dies behebt den Fehler", 148, 264, 149, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $launcher_errorlabel2 = GUICtrlCreateLabel("''Im Startprogramm ist ein Fehler aufgetreten, bitte neustarten.''", 34, 288, 401, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $launcher_B_playfix = GUICtrlCreateButton("Spielen-Schaltfläche", 144, 132, 139, 33, 0)
    GUICtrlSetFont(-1, 11, 800, 0, "Calibri")
    GUICtrlSetOnEvent(-1, "launcher_B_playClick"); => launcher_B_playClick
    $launcher_B_error = GUICtrlCreateButton("Startprogramm", 144, 226, 139, 33, 0)
    GUICtrlSetFont(-1, 11, 800, 0, "Calibri")
    GUICtrlSetOnEvent(-1, "launcher_B_errorClick"); => launcher_B_errorClick
    $launcher_divide = GUICtrlCreateLabel("__________________________________________________", 44, 107, 354, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $launcher_divide2 = GUICtrlCreateLabel("__________________________________________________", 44, 202, 354, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")

    [/autoit] [autoit][/autoit] [autoit]

    ; => Tab: Verbindung
    $T_connection = GUICtrlCreateTabItem("Verbindung")
    $connection_headline = GUICtrlCreateLabel("Verbindungsprobleme", 112, 49, 196, 30)
    GUICtrlSetFont(-1, 16, 800, 4, "Calibri")
    GUICtrlSetColor(-1, 0x008000)
    $connection_L_intro = GUICtrlCreateLabel("Solltest du Verbindungsabbrüche oder starke Verzögerungen", 48, 96, 381, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $connection_L_intro2 = GUICtrlCreateLabel("haben, so kannst du in diesem Bereich eine Analyse des", 48, 121, 349, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $connection_L_intro3 = GUICtrlCreateLabel("Verbindungsaufbaus zu den LoL-Servern durchführen.", 48, 145, 336, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $connection_tracelabel = GUICtrlCreateLabel("Für die Analyse der Verbindung wird das mitgelieferte", 48, 209, 340, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $connection_tracelabel2 = GUICtrlCreateLabel("Programm ''WinMTR'' (Freeware) gestartet.", 48, 235, 270, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $connection_tracehint = GUICtrlCreateLabel("Hinweis:", 48, 184, 58, 22)
    GUICtrlSetFont(-1, 11, 800, 4, "Calibri")
    $connection_B_trace = GUICtrlCreateButton("Analyse starten", 152, 265, 123, 33, 0)
    GUICtrlSetFont(-1, 10, 800, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "ConnectionAnalyseClick"); => ConnectionAnalyseClick

    [/autoit] [autoit][/autoit] [autoit]

    ; => Tab: Informationen
    $T_informationen = GUICtrlCreateTabItem("Informationen")
    $informationen_headline = GUICtrlCreateLabel("League of Legends - Get it fixed!", 48, 49, 285, 30)
    GUICtrlSetFont(-1, 16, 800, 4, "Calibri")
    GUICtrlSetColor(-1, 0x008000)
    $informationen_L_version = GUICtrlCreateLabel("aktuelle Version: 0.9", 48, 89, 131, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $informationen_L_coder = GUICtrlCreateLabel("Programmiert von Matricus", 48, 116, 172, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $Informationen_L_hint = GUICtrlCreateLabel("Alle Lösungen basieren auf meinen Erfahrungen - IT-Technik", 48, 161, 376, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $Informationen_L_hint2 = GUICtrlCreateLabel("im Allgemeinen, sowie LoL an sich. Einige Lösungen basieren", 48, 185, 379, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $Informationen_L_hint3 = GUICtrlCreateLabel("zudem auf Einträge aus der US Knowledge Base für LoL.", 48, 209, 343, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Calibri")
    $informationen_B_UCnotes = GUICtrlCreateButton("kommende Änderungen", 200, 257, 169, 33, 0)
    GUICtrlSetFont(-1, 11, 800, 0, "Calibri")
    GUICtrlSetOnEvent(-1, "Info_B_notesClick"); => Info_B_notesClick
    $informationen_B_SysInfo = GUICtrlCreateButton("Systemdaten", 56, 257, 107, 33, 0)
    GUICtrlSetFont(-1, 11, 800, 0, "Calibri")
    GUICtrlSetOnEvent(-1, "SysInfoClick"); => SysInfoClick
    GUICtrlCreateTabItem("")
    $B_close = GUICtrlCreateButton("&Beenden", 336, 323, 83, 25, 0)
    GUICtrlSetFont(-1, 11, 800, 0, "Calibri")
    GUICtrlSetOnEvent(-1, "CLOSEclick"); => CLOSEclick
    $B_options = GUICtrlCreateButton("&Optionen", 16, 323, 83, 25, 0)
    GUICtrlSetFont(-1, 11, 800, 0, "Calibri")
    GUICtrlSetOnEvent(-1, "OptionsClick"); => OptionsClick
    GUISetState(@SW_SHOW)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEclick")
    ; # GUI Ende #
    EndFunc
    ; ### Ende Haupt-Interface ###
    ; ___________________________________________________________________________________________________________
    ; ___________________________________________________________________________________________________________

    [/autoit] [autoit][/autoit] [autoit]

    ; ### window events ###

    [/autoit] [autoit][/autoit] [autoit]

    Func CLOSEclick()
    If @GUI_WinHandle = $LoLFixit_Launcher Or @GUI_WinHandle = $FixIt_Main Then
    Exit
    Else
    If @GUI_WinHandle = $LoL_EUandUS Then
    MsgBox(48, "LoL - Get it fixed!", "Achtung! Du hast keinen Client ausgewählt." & @CRLF & "Das Programm benötigt eine Entscheidung." & @CRLF & "Bitte Programm neustarten und Client auswählen.")
    Exit
    ;WinClose("LoL - Get it fixed! Both")
    ;GUIDelete($LoL_EUandUS)
    ;$workdir = $DirEU
    ;Main()
    Else
    If @GUI_WinHandle = $SysInfo Then
    GUIDelete($SysInfo)
    WinClose("Get it fixed! - System Überblick")
    WinActivate("LoL - Get it fixed!")
    EndIf
    EndIf
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ; ##################################
    ; ## Haupt-Interface ##

    [/autoit] [autoit][/autoit] [autoit]

    Func welcome_B_PnotesClick()
    Info_notes()
    EndFunc
    ; ----------------------------------
    Func general_B_systemcheckClick()

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc
    ; ----------------------------------
    Func Laun_B_closeClick() ; => Button für Patcher-Fix (sofortiges schließen)
    Launcher_closing()
    EndFunc
    ; ----------------------------------
    Func launcher_B_errorClick() ; => Button für Client-Fix
    Launcher_error()
    EndFunc
    ; ----------------------------------
    Func launcher_B_playClick(); => Button für Spiele-Button Fix
    Launcher_play()
    EndFunc
    ; ----------------------------------
    Func ConnectionAnalyseClick() ; => Button für Modul Verbindungsanalyse mit WinMTR
    connection_trace()
    EndFunc
    ; ----------------------------------
    Func SysInfoClick() ; => Button für Modul SysInfo
    SysInfo()
    EndFunc
    ; ----------------------------------
    Func Info_B_notesClick()
    upcoming()
    EndFunc
    ; ----------------------------------
    Func OptionsClick()

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ; ## Haupt-Interface ##
    ; ##################################
    ; ##################################
    ; ##Launcher Entscheidung ##

    [/autoit] [autoit][/autoit] [autoit]

    Func Button_EU() ; => Entscheidungsfenster ob EU/US >> Button für EU
    $GameData[3] = $GameData[1]
    Main()
    EndFunc
    ; ----------------------------------
    Func Button_US() ; => Entscheidungsfenster ob EU/US >> Button für US
    $GameData[3] = $GameData[2]
    Main()
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ; ##Launcher Entscheidung ##
    ; ##################################
    ; ##################################
    ; ## SysInformationen ##

    [/autoit] [autoit][/autoit] [autoit]

    Func SysInfoExport() ; => Button in Modul SysInfo für Datenexport
    SysExport()
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ; ## SysInformationen ##
    ; ##################################
    ; ##################################
    ; ## Optionen ##

    [/autoit] [autoit][/autoit] [autoit]

    Func Checkbox1Click() ; => Checkbox zum automatischen LoL Start nach Fix in main()
    $GameData[5] = GUICtrlRead($run_lol)
    if $GameData[5] = $GUI_CHECKED Then
    $GameData[6] = 1
    Else
    $GameData[6] = 0
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ; ## Optionen ##
    ; ##################################
    ; ##################################
    ; ## alte OnEvent's ##

    [/autoit] [autoit][/autoit] [autoit]

    #cs
    Func But_BPClick() ; => Button für Shop-Fix
    shop_blank()
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Main_B_upcomingClick(); => Button für geplante Änderungen
    main_upcoming()
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ;Func Button2Click(); => Beenden Button in main()
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func Info_B_notesClick() ; => Button für Patchnotizen
    Info_notes()
    EndFunc
    #ce

    [/autoit] [autoit][/autoit] [autoit]

    ; ## alte OnEvent's ##
    ; ##################################

    [/autoit]


    fG
    Matricus

    Einmal editiert, zuletzt von Matricus (7. März 2010 um 08:18)

  • Also bei mir funktionierts... liegt wohl bei dir dran, dass du die ganzen Dateien nicht hast die ich per Fileinstall an entsprechenden Stellen "installieren" lassen.

    ... lässt sich auch ohne Probleme kompilieren.. kannst dir ja mal von meinem rapidshare account den .exe runterladen (32bit) und starten, dann siehst das es funktioniert und auch lauffähig ist.

    Aber naja, vielleicht reicht ja auch schon ein Hinweis.

    Die Arrays werden ja im "Startvorgang" des Programmes deklariert (Global) und auch mit Daten gefüllt.
    Diese Daten sollen später im Script - in einer eigenen Funktion und GUI - ausgegeben werden als Labels (GUICtrlCreateLabel()), daher ja auch als Global deklariert.

    Wenn ich "normale" Variablen und keine Arrays verwende funktioniert das ohne Probleme, doch sobald die die Variablen mit den Arrays ersetze, kommt oben genannter Fehler.

    Muss ich der Funktion noch irgendwas übergeben, sodass diese die Arrays auch "findet"?

    2 Mal editiert, zuletzt von Matricus (6. März 2010 um 23:51)

  • Okay... guter Einwand.

    ... sind nun angehängt.

    Diese müssen in den Unterordner \files vom Scriptverzeichnis... zudem die Zeilen 39 bis 43 auskommentiert werden.
    Dort wird die Schriftart Calibri installiert... Dateien wären zu groß für's Archiv.
    GUI sieht dann zwar etwas... doof aus, aber sollte ausführbar sein.

    • Offizieller Beitrag

    Ist doch ganz einfacher Fehler, du überschreibst dein Array mit einer ControlID.

    [autoit]

    $System = GUICtrlCreateGroup("System", 24, 32, 465, 209);<----- Hier wird aus deinem Array eine ControlID
    GUICtrlSetFont(-1, 15, 800, 0, "Calibri")
    $OS_prim = GUICtrlCreateLabel("Betriebssystem:", 32, 64, 111, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Calibri")
    $OS_label = GUICtrlCreateLabel($System[1], 200, 64, 252, 23)

    [/autoit]

    Einfach das $System = weglassen, ich glaube nicht das du auf die ControlID der Gruppe im Script zugreifen mußt.Ggf. den V ariablennamen wechseln.

  • Öhm, ja ok... sag ja ist ein Anfängerfehler.. ;)
    Das ich das selbst nicht gesehen hab obwohl's direkt daneben stand /blush

    Danke Raupi und den anderen für die Hilfe. :)

    /solved