• Hi @ All,

    ich wollte hier ein Programm vorstellen, wleches das Überfüllen des Mointors mit Spielverknüpfungen verhindert. Es ist eine Art Spiele Start Center. Die Bedienung ist sehr einfach gehalten, einfach eine Verknüpfung von dem Spiel und ein Bild, welches den gleichen Namen hat wie die Verknüpfung in dem Ordner und fertig(Die Bilder finden sich gut bei Google, einfach Spiel xyz Cover und schon findet man welche). Um durch die Spiele zu blättern einfach linke Maustaste gedrückt halten und die Maus nach links oder rechts bewegen oder Pfeil links bzw rechts zum druchblättern. Um ein Spiel zu starten einfach eines anklicken oder Enter drücken dann wird das spiel welches gerade in der mitte ist gestartet.

    Ich hoffe es gefällt euch, da ich viel Zeit in das Design gesteckt habe 8)

    [Blockierte Grafik: http://img262.imageshack.us/img262/2518/bsp1.jpg
    [Blockierte Grafik: http://img262.imageshack.us/img262/1438/bsp2.png]

    Ich würde mich über feedback freuen :)

    Hier noch der Quelltext:

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #Include <Constants.au3>
    #include <GuiConstants.au3>
    #include <Misc.au3>
    #include <IE.au3>
    #include <Array.au3>
    #include <WinAPI.au3>
    #include <GuiConstantsEx.au3>
    #include <Color.au3>
    #include <IrrlichtPluginUtils.au3>
    #NoTrayIcon

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

    Opt('MouseCoordMode', 0)

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

    HotKeySet('{Esc}', '_Ende')

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

    Global $Titel = "Spiele Center by Moritz1243 ;-)"

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

    Global Const $INI = @ScriptDir & "\Info.ini"
    Global Const $CONFIG = @ScriptDir & "\Config.ini"
    Global Const $Bilder_dir = @ScriptDir & "\Bilder\"
    Global Const $Spiel_dir = @ScriptDir & "\Verknüpfungen\"

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

    Global $datei[1][1], $icon[1], $name[1], $position, $mouse_pos, $mouse_pos_now, $Spiele_Anzahl = 0, $bewegung, $bewegung_letzte
    Global $button_autostart, $button_exit
    Local $aktuelles_spiel, $letztes_spiel, $spiel_blinken
    Local $Icon_Position[1]
    Global $Icon_Distance = 30

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

    Global $icolor_red = Number(IniRead(@scriptdir & "\config.ini","Config","Hintergrund Farbe Rot",-1))
    Global $icolor_green = Number(IniRead(@scriptdir & "\config.ini","Config","Hintergrund Farbe Gruen",-1))
    Global $icolor_blue = Number(IniRead(@scriptdir & "\config.ini","Config","Hintergrund Farbe Blau",-1))
    If $icolor_red = -1 Then
    IniWrite($CONFIG,"Config","Hintergrund Farbe Rot",64)
    IniWrite($CONFIG,"Config","Hintergrund Farbe Gruen",64)
    IniWrite($CONFIG,"Config","Hintergrund Farbe Blau",255)
    $icolor_red = 64
    $icolor_green = 64
    $icolor_blue = 255
    EndIf

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

    Global $switch[4]

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

    Global $Reload

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

    Global $width = 1024
    Global $height = 600

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

    Global $Flow_type = IniRead($CONFIG,"Config","Flow Type",-1)
    If $Flow_type = -1 Then
    IniWrite($CONFIG,"Config","Flow Type",1)
    $Flow_type = 1
    EndIf

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

    Global $Window_type = IniRead($CONFIG,"Config","Window_type",-1)
    If $Window_type = -1 Then
    IniWrite($CONFIG,"Config","Window_type",1)
    $Window_type = 1
    EndIf

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

    Global $BK_type = IniRead($CONFIG,"Config","BK_type",-1)
    If $BK_type = -1 Then
    IniWrite($CONFIG,"Config","BK_type",1)
    $BK_type = 1
    EndIf

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

    If $Window_type = 0 Then Global $Hwnd = CreateLayeredDevice("SpieleCenter", 0,@DesktopHeight * 1 / 8, @DesktopWidth, @DesktopHeight * 6 / 8,255, 0, 128, 0 )
    If $Window_type = 1 Then Global $Hwnd = CreateDevice($EDT_DIRECT3D9, 1024, 600, 16, 0, 0, 0)
    If $Window_type = 2 Then Global $Hwnd = CreateDevice($EDT_DIRECT3D9, @DesktopWidth,@DesktopHeight, 32, True, 0, 0)
    SetWindowCaption($Titel)
    WinSetOnTop($Hwnd, "", 1 )

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

    Global $Timer_aktive = IniRead($CONFIG,"Config","Timer",-1)
    If $Timer_aktive = -1 Then
    IniWrite($CONFIG,"Config","Timer",1)
    $Timer_aktive = 1
    EndIf

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

    Local $compare[2]

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

    Global $Camera = AddCameraSceneNode(0, 0, 0, 250, 0, 0, 0)

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

    Global $Light1 = AddLightSceneNode( 0, -1000, 1000, -1000, 0, 0, 0, 0 )
    Global $SLight = AddNewSLight( 1, 50, 1, 500, 3000, $ELT_POINT)
    SetSLightSpecularColor( $SLight, 0.1, 0.1, 0.1 )
    SetLightData( $Light1, $SLight )

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

    Global $Light2 = AddLightSceneNode( 0, 1000, 1000, 1000, 0, 0, 0, 0 )
    SetLightData( $Light2, $SLight )

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

    Global $Bilder[1]
    Global $Node[1]
    Global $Node_Back[1]
    Global $Bilder_alpha[1]

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

    Global $pointer[1]

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

    Global $sortieren_type = 0

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

    Global $search_txt

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

    Global $Info_Text = AddStaticText("", 422, 200, 602, 400); [, Border [, WordWrap [, iParent [, FillBackground ]]]] )
    Global $Button_Einstellungen = AddImage(GetTexture($Bilder_dir & "einstellungen.png"), $width - 58, $height - 58)
    Global $Button_Sortieren = AddImage(GetTexture($Bilder_dir & "sortieren.png"), $width - 116, $height - 58)

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

    draw(0)
    Global $anzahl_spiele
    Spiele_laden()

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

    Global $Particle[1][4]
    Global $Node_Particle[1]
    Global $Anzahl_Particle = 120
    Global $Partikel_onoff = IniRead($CONFIG,"Config","Partikel",-1)
    If $Partikel_onoff = -1 Then
    IniWrite($CONFIG,"Config","Partikel",1)
    $Partikel_onoff = 1
    EndIf

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

    If $Partikel_onoff = 1 Then _particle_create()

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

    ReDim $icon[$Spiele_Anzahl + 1]
    ReDim $name[$Spiele_Anzahl + 1]
    ReDim $Icon_Position[$Spiele_Anzahl + 1]

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

    draw(0)

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

    AdlibEnable("_bus",12)

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

    Local $msg

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

    While True

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

    If WinActive($Titel) Then

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

    If _IsPressed(44) Then Spiele_ordnen(0)

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

    If _IsPressed("0D") Then Spiel_starten($aktuelles_spiel)

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

    ; $compare[0] = GUICtrlRead($search)

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

    If $compare[0] <> $compare[1] Then
    $compare[1] = $compare[0]
    ;If $compare[0] <> "search" And $compare[0] <> "" Then

    For $i = 0 To $Spiele_Anzahl Step 1

    $search_txt = $compare[0]

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

    If StringLeft($datei[$i][2],StringLen($compare[0])) = StringLeft($compare[0],StringLen($compare[0])) Then
    $Bewegung = $Icon_Distance * -$i
    $position = $bewegung
    ;draw($Bewegung)
    $aktuelles_spiel = Int((-$bewegung + 15) / $Icon_Distance)
    If $aktuelles_spiel > $Spiele_Anzahl - 1 Then $aktuelles_spiel = $Spiele_Anzahl - 1
    If $aktuelles_spiel < 0 Then $aktuelles_spiel = 0
    ; GUICtrlSetData($info_titel, $datei[$aktuelles_spiel][2])
    ExitLoop
    EndIf

    Next
    ;EndIf
    EndIf

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

    If _IsPressed ("01") Then ; Spiele mit Maus bewegen oder Starten

    $mouse_pos_now = MouseGetPos()

    If $mouse_pos_now[1] - 25 > $height - 58 And $mouse_pos_now[1] - 25 < $height - 10 Then
    If $mouse_pos_now[0] > $width - 58 And $mouse_pos_now[0] < $width - 10 Then
    einstellungen()
    ElseIf $mouse_pos_now[0] > $width - 116 And $mouse_pos_now[0] < $width - 68 Then
    Spiele_ordnen($sortieren_type)
    $sortieren_type += 1
    If $sortieren_type = 3 Then $sortieren_type = 0
    Draw(0)
    Do
    Sleep(100)
    Until Not _IsPressed ("01")
    EndIf
    EndIf

    If Mod($Bewegung,$Icon_Distance) = 0 Then
    SetText($info_text,"")
    SetRotation($Node[$aktuelles_spiel],0,0,0)
    EndIf

    $mouse_pos = MouseGetPos(0)
    Local $coll = GetSceneNodeFromScreenCoordinatesBB(MouseGetPos(0),MouseGetPos(1))

    For $i = 0 To $Spiele_Anzahl Step 1
    If $coll = $Node[$i] Or $coll = $Node_Back[$i] Then Spiel_starten($i)
    Next

    $position = $bewegung

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

    Do
    $mouse_pos_now = MouseGetPos(0)

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

    $bewegung = ($mouse_pos_now - $mouse_pos) + $position
    If $bewegung > ($Spiele_Anzahl - 1) * $Icon_Distance Then $bewegung = ($Spiele_Anzahl - 1) * $Icon_Distance
    If $bewegung < 0 Then $bewegung = 0
    ConsoleWrite($bewegung & @CRLF)
    $aktuelles_spiel = Int(($bewegung + 15) / $Icon_Distance)
    If $aktuelles_spiel > $Spiele_Anzahl - 1 Then $aktuelles_spiel = $Spiele_Anzahl - 1
    If $aktuelles_spiel < 0 Then $aktuelles_spiel = 0

    If $aktuelles_spiel <> $letztes_spiel Then

    $letztes_spiel = $aktuelles_spiel

    EndIf

    If $bewegung <> $bewegung_letzte Then
    $bewegung_letzte = $bewegung
    ConsoleWrite($bewegung & @CRLF)
    draw($Bewegung)
    EndIf

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

    Sleep(5)

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

    Until Not _IsPressed ("01")

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

    ; $position = $bewegung

    EndIf

    If _IsPressed ("02") Then ; Eigenschaften abfragen
    $mouse_pos = MouseGetPos(0)
    Local $coll = GetSceneNodeFromScreenCoordinatesBB(MouseGetPos(0),MouseGetPos(1))

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

    _center_aktuelles_Spiel()

    $aktuelles_spiel = Int(($bewegung + 15) / $Icon_Distance)
    For $i = 0 To $Spiele_Anzahl Step 1
    If $coll = $Node[$i] Then;-329 49 < 70

    For $deg = 0 To 180 Step 5
    BeginScene(True, True, 0, $icolor_red,$icolor_green,$icolor_blue)
    SetRotation($Node[$pointer[$aktuelles_spiel]],0,$deg,0)
    SceneDraw()
    GuiDraw()
    EndScene()
    Sleep(5)
    Next

    Local $process = StringSplit ($datei[$pointer[$aktuelles_spiel]][0], "\")
    Local $Spielzeit = IniRead(@ScriptDir & "\info.ini","Log",$process[$process[0]],0)
    SetText($info_text,"Spiel: " & $datei[$pointer[$aktuelles_spiel]][2] & @LF _
    & @LF _
    & "Spielzeit: " & _sec_to_time_string($Spielzeit) & @LF _
    & "Gespielt: " & IniRead(@ScriptDir & "\info.ini","Spiele",$datei[$pointer[$aktuelles_spiel]][2],0) - 1 & " mal" & @LF _
    & "Dateipfad: " & $datei[$pointer[$aktuelles_spiel]][0])
    EndIf

    If $coll = $Node_Back[$i] Then
    SetText($info_text,"")
    For $deg = 180 To 360 Step 5
    BeginScene(True, True, 0, $icolor_red,$icolor_green,$icolor_blue)
    SetRotation($Node[$pointer[$aktuelles_spiel]],0,$deg,0)
    SceneDraw()
    GuiDraw()
    EndScene()
    Sleep(5)
    Next
    EndIf
    Next

    EndIf

    If _IsPressed("25") then ; Durchblättern links
    If Mod($Bewegung,$Icon_Distance) = 0 Then
    SetText($info_text,"")
    SetRotation($Node[$aktuelles_spiel],0,0,0)
    EndIf
    _center_aktuelles_Spiel()
    ConsoleWrite($bewegung & @CRLF)
    If $bewegung = 0 Then
    Do
    $bewegung +=10
    draw($bewegung)
    Until $bewegung = ($Spiele_Anzahl - 1) * $Icon_Distance
    ;draw($bewegung)
    Else
    For $i = 1 to 10
    $bewegung -= $Icon_Distance / 10
    Draw($bewegung)
    Sleep(10)
    Next
    EndIf

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

    endif

    If _IsPressed("27") then ; Durchblättern links
    If Mod($Bewegung,$Icon_Distance) = 0 Then
    SetText($info_text,"")
    SetRotation($Node[$aktuelles_spiel],0,0,0)
    EndIf
    _center_aktuelles_Spiel()
    ConsoleWrite($bewegung & @CRLF)
    If $bewegung = ($Spiele_Anzahl - 1) * $Icon_Distance then
    do
    $bewegung -=10
    draw($bewegung)
    until $bewegung = 0
    ;draw($bewegung)
    Else
    for $i = 1 to 10
    $bewegung += $Icon_Distance / 10
    Draw($bewegung)
    Sleep(10)
    next
    EndIf

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

    endif
    ; draw($Bewegung)

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

    EndIf

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

    Sleep(5)

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

    WEnd

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

    Func Spiele_laden()

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

    Local $search, $desti, $compare

    ; $Ordner = FileSelectFolder("Ordner wählen", "",2)
    ; $Ordner = "C:\Dokumente und Einstellungen\Moritz\Desktop\Spiele"

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

    Local $isearch = FileFindFirstFile($Spiel_dir & "*.lnk")
    If $isearch = -1 Then Return 0

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

    While True
    Local $type = FileFindNextFile($isearch)
    If @error Then ExitLoop
    $anzahl_spiele += 1
    WEnd

    FileClose($search)

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

    $search = FileFindFirstFile($Spiel_dir & "*.lnk")

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

    While 1

    ReDim $datei[$Spiele_Anzahl + 1][5]
    ReDim $Bilder[$Spiele_Anzahl + 1]
    ReDim $Bilder_alpha[$Spiele_Anzahl + 1]
    ReDim $node[$Spiele_Anzahl + 1]
    ReDim $Node_Back[$Spiele_Anzahl + 1]
    ReDim $pointer[$Spiele_Anzahl + 1]

    $pointer[$Spiele_Anzahl] = $Spiele_Anzahl

    $datei[$Spiele_Anzahl][0] = FileFindNextFile($search)
    If @error Then ExitLoop
    $datei[$Spiele_Anzahl][1] = $datei[$Spiele_Anzahl][1]
    $datei[$Spiele_Anzahl][2] = StringTrimRight ($datei[$Spiele_Anzahl][0], 4)

    If IniRead($INI,"Spiele",$datei[$Spiele_Anzahl][2],0) = 0 Then
    $Reload = True
    IniWrite($INI,"Spiele",$datei[$Spiele_Anzahl][2],1)
    EndIf

    If StringRight ($datei[$Spiele_Anzahl][0],3) = "lnk" Then
    $desti = FileGetShortcut($Spiel_dir & $datei[$Spiele_Anzahl][0])
    $datei[$Spiele_Anzahl][0] = $desti[0]
    $datei[$Spiele_Anzahl][1] = $desti[1]
    $datei[$Spiele_Anzahl][3] = $desti[4]
    $datei[$Spiele_Anzahl][4] = $desti[5]
    EndIf

    $Node[$Spiele_Anzahl] = AddCubeSceneNode(100)
    $Node_Back[$Spiele_Anzahl] = AddCubeSceneNode(101,$Node[$Spiele_Anzahl])
    SetMaterialTexture($Node_Back[$Spiele_Anzahl], 0, GetTexture($Bilder_dir & "\back.jpg"))
    SetPosition($Node_Back[$Spiele_Anzahl],0,0,-5)
    SetScale($Node[$Spiele_Anzahl], 1, 1.5, 0.1)
    $Bilder[$Spiele_Anzahl] = GetTexture($Bilder_dir & "\" & $datei[$Spiele_Anzahl][2] & ".jpg")
    SetMaterialTexture($Node[$Spiele_Anzahl], 0, $Bilder[$Spiele_Anzahl])
    SetMaterialFlag($Node[$Spiele_Anzahl], $EMF_LIGHTING, 0 )

    SetScale($Node[$Spiele_Anzahl], 1, 1.5, 0.1)

    ; $Bilder[$Spiele_Anzahl] = _GDIPlus_ImageLoadFromFile($Ordner & "\temp\" & $datei[$Spiele_Anzahl][2] & ".jpg")
    ; $Bilder_alpha[$Spiele_Anzahl] = _GDIPlus_ImageLoadFromFile($Ordner & "\temp\" & $datei[$Spiele_Anzahl][2] & "_alpha.jpg")

    ; MsgBox(0,"",$bilder[$Spiele_Anzahl])

    $Spiele_Anzahl += 1
    ToolTip("Load ... " & Int($Spiele_Anzahl / $anzahl_spiele * 100) & "%")
    WEnd

    ToolTip("")
    ; _ArrayDisplay($datei)

    FileClose($search)

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

    EndFunc

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

    Func Draw($wegi)

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

    BeginScene(True, True, 0, $icolor_red,$icolor_green,$icolor_blue)

    ; $icolor_red = Mod($icolor_red + random(0,5,1),255)
    ; $icolor_green = Mod($icolor_green + random(0,5,1),255)
    ; $icolor_blue = Mod($icolor_blue + random(0,5,1),255)

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

    Local $pi_div_180 = 4 * ATan(1) / 180
    Local $xi, $yi

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

    Local $aktuelles = Int((-$bewegung + 15) / $Icon_Distance)

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

    Switch $flow_type

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

    Case 0

    $Icon_Distance = 30

    For $i = 0 To $Spiele_Anzahl Step 1

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

    $Icon_Position[$i] = $wegi + $i * $Icon_Distance

    If $Icon_Position[$i] > -90 And $Icon_Position[$i] < 90 Then

    SetVisible($Node[$i], 1)

    $xi = Sin (-$Icon_Position[$i] * $pi_div_180) * 200
    $yi = Cos (-$Icon_Position[$i] * $pi_div_180) * 60

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

    SetPosition($Node[$i], $xi / 2 * 8/10,0,$yi)

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

    Else
    SetVisible($Node[$i], 0)
    EndIf

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

    Next

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

    Case 1

    $Icon_Distance = 70

    For $i = 0 To $Spiele_Anzahl Step 1

    ; If $Icon_Position[$i] > -90 And $Icon_Position[$i] < 0 Then $bewegung += 1

    $Icon_Position[$i] = $wegi + $i * -$Icon_Distance

    ; If $i > $aktuelles Then $Icon_Position[$i] += 50
    ; If $i < $aktuelles Then $Icon_Position[$i] -= 50

    ; If $Icon_Position[$i] > -45 And $Icon_Position[$i] < 0 Then
    ; $bewegung += 1
    ; ElseIf $Icon_Position[$i] < 45 And $Icon_Position[$i] > 0 Then
    ; $bewegung -= 1
    ; EndIf

    If $Icon_Position[$i] > -90 And $Icon_Position[$i] < 90 Then

    SetRotation($Node[$pointer[$i]],0,-$Icon_Position[$i],0)
    SetPosition($Node[$pointer[$i]],$Icon_Position[$i],0,(90 - Abs($Icon_Position[$i])) / 2)

    ElseIf $Icon_Position[$i] > 0 Then
    SetRotation($Node[$pointer[$i]],0,-90,0)
    SetPosition($Node[$pointer[$i]],$Icon_Position[$i],0,0)
    Else
    SetRotation($Node[$pointer[$i]],0,90,0)
    SetPosition($Node[$pointer[$i]],$Icon_Position[$i],0,0)
    EndIf


    Next

    EndSwitch

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

    SceneDraw( )
    GuiDraw( )

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

    EndScene( )

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

    EndFunc

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

    Func _Bus()
    BeginScene(True, True, 0, $icolor_red,$icolor_green,$icolor_blue)

    If $BK_type = 1 Then _bk_change_color()
    If $Partikel_onoff = 1 Then _particle()

    SceneDraw()
    GuiDraw()

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

    EndScene()
    EndFunc

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

    Func Spiel_starten($iSpiel)
    If MsgBox(4,"","Wollen Sie " & $datei[$iSpiel][2] & " wirklich starten?") = 6 Then
    IniWrite($INI,"Spiele",$datei[$iSpiel][2],IniRead($INI,"Spiele",$datei[$iSpiel][2],1) + 1)

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

    ShellExecute($datei[$iSpiel][0],"",$datei[$iSpiel][1])
    FileDelete(@scriptdir & "\commandline.cl")
    If $Timer_aktive = 1 Then
    Local $string = StringSplit ($datei[$iSpiel][0], "\")
    FileWrite(@scriptdir & "\commandline.cl",$String[$string[0]])
    ShellExecute("timer.exe","",@ScriptDir)
    EndIf
    Exit
    EndIf
    EndFunc

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

    Func _bk_change_color()

    If $switch[3] = 0 Then
    $switch[3] = 5
    If $switch[0] = 0 Then
    $icolor_red += 1
    Else
    $icolor_red -= 1
    EndIf
    If $icolor_red >= 255 Then
    $icolor_red = 255
    $switch[0] = 1
    EndIf
    If $icolor_red <= 0 Then
    $icolor_red = 0
    $switch[0] = 0
    EndIf
    If $switch[1] = 0 Then
    $icolor_green += 2
    Else
    $icolor_green -= 2
    EndIf
    If $icolor_green >= 255 Then
    $icolor_green = 255
    $switch[1] = 1
    EndIf
    If $icolor_green <= 0 Then
    $icolor_green = 0
    $switch[1] = 0
    EndIf
    If $switch[2] = 0 Then
    $icolor_blue += 3
    Else
    $icolor_blue -= 3
    EndIf
    If $icolor_blue >= 255 Then
    $icolor_blue = 255
    $switch[2] = 1
    EndIf
    If $icolor_blue <= 0 Then
    $icolor_blue = 0
    $switch[2] = 0
    EndIf
    Else
    $switch[3] -= 1
    EndIf

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

    EndFunc

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

    Func Einstellungen()

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

    AdlibDisable()

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

    Local $Gui_Ein = GUICreate("Einstellungen",280,400)

    Local $check_partikel = GUICtrlCreateCheckbox("Partikel",10,10,200,20)
    If IniRead($CONFIG,"Config","Partikel",0) = 1 Then GUICtrlSetState($check_partikel, $GUI_CHECKED)
    Local $check_bkchange = GUICtrlCreateCheckbox("Hintergrundfarbenwechsel",10,50,200,20)
    If IniRead($CONFIG,"Config","BK_type",0) = 1 Then GUICtrlSetState($check_bkchange, $GUI_CHECKED)
    Local $check_timer = GUICtrlCreateCheckbox("Timer",10,90,200,20)
    If IniRead($CONFIG,"Config","Timer",0) = 1 Then GUICtrlSetState($check_timer, $GUI_CHECKED)
    Local $button_save = GUICtrlCreateButton("Speichern",100,300,80,40)

    GUICtrlCreateLabel("BK Farbe",150,135,50,20)
    Local $input_c_red = GUICtrlCreateInput($icolor_red,10,130,40,20)
    Local $input_c_green = GUICtrlCreateInput($icolor_green,60,130,40,20)
    Local $input_c_blue = GUICtrlCreateInput($icolor_blue,110,130,40,20)

    Local $set[4]

    GUISetState(@SW_SHOW)

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

    While True
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $button_save
    If GUICtrlRead($check_partikel) = 4 Then
    $set[0] = 0
    Else
    $set[0] = 1
    EndIf
    IniWrite($CONFIG,"Config","Partikel",$set[0])
    If $Partikel_onoff <> $set[0] Then
    If $Partikel_onoff = 0 Then
    _particle_create()
    Else
    _particle_delete()
    EndIf
    $Partikel_onoff = $set[0]
    EndIf

    If GUICtrlRead($check_bkchange) = 4 Then
    $set[1] = 0
    Else
    $set[1] = 1
    EndIf
    IniWrite($CONFIG,"Config","BK_type",$set[1])
    $BK_type = $set[1]

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

    If GUICtrlRead($check_timer) = 4 Then
    $set[2] = 0
    Else
    $set[2] = 1
    EndIf
    IniWrite($CONFIG,"Config","Timer",$set[2])
    $Timer_aktive = $set[2]

    $icolor_red = Number(GUICtrlRead($input_c_red))
    $icolor_green = Number(GUICtrlRead($input_c_green))
    $icolor_blue = Number(GUICtrlRead($input_c_blue))
    IniWrite(@scriptdir & "\config.ini","Config","Hintergrund Farbe Rot",$icolor_red)
    IniWrite(@scriptdir & "\config.ini","Config","Hintergrund Farbe Gruen",$icolor_green)
    IniWrite(@scriptdir & "\config.ini","Config","Hintergrund Farbe Blau",$icolor_blue)

    EndSwitch
    WEnd
    GUIDelete($Gui_Ein)
    AdlibEnable("_bus",12)
    EndFunc

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

    Func Spiele_ordnen($imerkmal)

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

    Switch $imerkmal
    Case 0 ; Spiel Zeit
    ConsoleWrite("Sortieren Spielzeit" & @CRLF)
    Local $list[$Spiele_Anzahl][2]
    For $i = 0 To $Spiele_Anzahl - 1 Step 1
    Local $process = StringSplit ($datei[$i][0], "\")
    $list[$i][0] = Number(IniRead(@ScriptDir & "\info.ini","Log",$process[$process[0]],0))
    $list[$i][1] = $i
    Next
    _ArraySort($list)
    For $i = 0 To $Spiele_Anzahl - 1 Step 1
    $pointer[$i] = $list[$Spiele_Anzahl - 1 - $i][1]
    Next
    Case 1 ; Wie oft gespielt
    ConsoleWrite("Sortieren Wie oft gespielt" & @CRLF)
    Local $list[$Spiele_Anzahl][2]
    For $i = 0 To $Spiele_Anzahl - 1 Step 1
    $list[$i][0] = Number(IniRead(@ScriptDir & "\info.ini","Spiele",$datei[$i][2],0))
    $list[$i][1] = $i
    Next
    _ArraySort($list)
    For $i = 0 To $Spiele_Anzahl - 1 Step 1
    $pointer[$i] = $list[$Spiele_Anzahl - 1 - $i][1]
    Next
    Case 2 ; Alphabetisch
    ConsoleWrite("Sortieren Alphabetisch" & @CRLF)
    For $i = 0 To $Spiele_Anzahl - 1 Step 1
    $pointer[$i] = $i
    Next
    EndSwitch

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

    EndFunc

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

    Func _center_aktuelles_Spiel()

    While Mod(-$Bewegung,$Icon_Distance) <> 0
    If Mod($Bewegung,$Icon_Distance) > $Icon_Distance / 2 Then
    $Bewegung += 1
    Else
    $Bewegung -= 1
    EndIf
    draw($Bewegung)
    ; ToolTip($Bewegung & " Mod: " & Mod(-$Bewegung,$Icon_Distance) & " < " & $Icon_Distance)
    WEnd

    EndFunc

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

    Func _particle_create()

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

    ReDim $Node_Particle[$Anzahl_Particle]
    ReDim $Particle[$Anzahl_Particle][4]

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

    For $i = 0 To 119 Step 1

    $Node_Particle[$i] = AddCubeSceneNode(Random(1,4,1))
    ; $Node_Particle[$i] = AddSphereSceneNode(Random(1,2,1), 20)
    $particle[$i][0] = Random(-200,200,1)
    $particle[$i][1] = Random(-200,200,1)
    $particle[$i][2] = Random(-200,300,1)
    $particle[$i][3] = Random(1,4,1)
    SetPosition($Node_Particle[$i],$particle[$i][0],$particle[$i][1],-$particle[$i][2])
    Next

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

    EndFunc

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

    Func _particle()

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

    For $i = 0 To UBound($particle) - 1 Step 1

    If $particle[$i][2] < -300 Then ; Wenn es auf der z-achse kleiner also -200 ist
    $particle[$i][0] = Random(-200,200,1)
    $particle[$i][1] = Random(-200,200,1)
    $particle[$i][2] = Random(200,300,1)
    $particle[$i][3] = Random(1,4,1)
    Else
    $particle[$i][2] -= $particle[$i][3]
    EndIf

    SetPosition($Node_Particle[$i],$particle[$i][0],$particle[$i][1],-$particle[$i][2])

    Next

    EndFunc

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

    Func _particle_delete()
    For $i = 0 To UBound($Node_Particle) - 2 Step 1
    Remove($Node_Particle[$i])
    Next
    SetVisible($Node_Particle[UBound($Node_Particle) - 1],0)
    EndFunc

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

    Func _Bild_Suche($iTitel)

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

    _IEErrorHandlerRegister ()

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

    $oIE = _IECreateEmbedded ()
    GUICreate("Embedded Web control Test", 640, 480, _
    (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, _
    $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
    $GUIActiveX = GUICtrlCreateObj($oIE, 10, 40, 600, 360)
    $GUI_Button_Back = GUICtrlCreateButton("Back", 10, 420, 100, 30)
    $GUI_Button_Forward = GUICtrlCreateButton("Forward", 120, 420, 100, 30)
    $GUI_Button_Home = GUICtrlCreateButton("Home", 230, 420, 100, 30)
    $GUI_Button_Stop = GUICtrlCreateButton("Stop", 340, 420, 100, 30)

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

    GUISetState()

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

    _IENavigate ($oIE, "http://images.google.de/")
    $oForm = _IEFormGetObjByName($oIE, "f")
    $oQuery = _IEFormElementGetObjByName($oForm, "q")
    _IEFormElementSetValue($oQuery, $iTitel)
    _IEFormSubmit($oForm)

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $GUI_Button_Home
    _IENavigate ($oIE, "http://images.google.de/")
    Case $msg = $GUI_Button_Back
    _IEAction ($oIE, "back")
    Case $msg = $GUI_Button_Forward
    _IEAction ($oIE, "forward")
    Case $msg = $GUI_Button_Stop
    _IEAction ($oIE, "stop")
    EndSelect
    WEnd

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

    GUIDelete()

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

    EndFunc

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

    Func _sec_to_time_string($isec)
    Local $string = Int($isec / 3600) & " h " & Int(Mod($isec,3600) / 60) & " min " & Mod(Mod($isec,3600),60) & " sec"
    Return $string
    EndFunc

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

    Func _Ende()
    Exit
    EndFunc

    [/autoit]


    EDIT NEUE VERSION - Die Beta Version :rock:
    autoit.de/wcf/attachment/6712/
    autoit.de/wcf/attachment/6713/
    -Sortieren ist nun möglich
    -Optionen sind jetzt verfügbar
    -Mit Rechtsklick auf das Spiel kann man Infos abfragen
    -Der Hintergrund ändert jetzt seine Farbe (kann auch in der ini ausgestellt werden)

  • Bei mir funktioniert das Script nicht, also er zeigt das Cover nicht an. Wo soll ich das Bild nochmal reinkopieren habe es in den Hauptordner getan wo auch das Script ist.

    Und die Exe funktioniert auch nicht, da steht es wäre keine gültige Win32-Anwendung!

  • also die Bilder und verknüpfungen müssen in den gleichen oderner wie das script und müsen auch den glechen Namen haben, also Crysis.jpg und crysis.lnk. Das mit der exe ist dann wohl mein Fehler, ich habe win7 64bit und habe sie dementsprechend compiled. Musste sie dir eben 32bit compilen ;)

  • Hab dein Script nur schnell überflogen und hab leider auch grad keine Möglichkeit es zu Testen. Könntest aber Alternativ zu den Covern auch das Icon vom jeweiligem Spiel nehmen.

    LG

  • Gefällt mir sehr gut, und ja, das Design is klasse :D Ich find nur, dass die Bilder etwas zu klein angezeigt werden, größer wäre besser.

    Und dann noch einige Vorschläge:
    - Man könnte jedesmal, wenn ein Spiel gestartet wird, einen Wert in der Ini um 1 erhöhen und beim Starten des Programms automatisch das meistgenutzte Programm nach vorne stellen.
    - Anstatt das Programm ganz zu schließen nach dem Spielstart wäre eine Minimierung in die Taskleiste imo besser. Vlt. kann man das ja umschaltbar machen, und dann noch Autostart mit Windows...

  • Stimmt daran hatte ich noch gar nicht gedacht, ich hatte das mit der Ini ursprünglich gemacht um zu gucken, ob ein Spiel neu hinzugefügt wurde. Das mit der Bildgröße ist so eine Sache, wenn die Bilder größer sind harkt das Programm, weil gdiplus zu langsam ist. Aber ich denke ich mache vllt eine einstellungsmöglichkeit.

    Achja und schön das euch das Design gefällt:)

  • Wollte es bei Rapidshare downloaden, aber immer wieder ist Rapidshare überlastet.
    Wieso nicht hier im Forum ????

    Alina

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Moin!
    Ich wollt grad dein Script testen, und bei mir fehlen 2 Includes:
    A2D.au3
    IrrlichtPluginUtils.au3

    Ich mein die Irrlicht Engine habe ich selber hier; aber warum werden immer die Includes in den Downloads vergessen?!?

    Wenigstens ne URL mit beifügen, ich bin das ewige suchen satt...


    ...Sorry war nicht persönlich gemeint :D

  • Ich würde es auch gern runterladen...aber Rapidshare macht mich wahnsinnig. Die finden es woll lustig immer Fehler anzuzeigen.

  • geht nimmer bei Rapidshare -.- möcht auch den starter

    [autoit]


    #cs-----------------------------------------------------------------------------
    Hilfe ist immer gut also nimmt sie an ^^
    #ce-----------------------------------------------------------------------------

    [/autoit]

    Einmal editiert, zuletzt von johnnyboyy (15. November 2009 um 09:00)

  • Weder Premium noch Collector's Acc zugeordnet, mehr als 10 mal geladen -> Nicht mehr verfügbar ;)
    Lads am besten hier hoch oder auf einen FTP

  • mmmmh, bin ich blind oder blond?

    Finde einen Link zu Rapidshare , bei dem folgende Meldung erscheint:

    Spoiler anzeigen
    [autoit]

    Fehler

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

    Diese Datei ist weder einem Premiumaccount, noch einem Collector's Account zugeordnet und kann deshalb insgesamt nur 10 mal heruntergeladen werden.

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

    Dieses Limit ist erreicht.

    [/autoit]

    Frage mich, wieso da steht, das es im Forum ist und nicht bei Rapidshare, wenn der Link dennoch zu Rapidshare führt.

    Okay, dann mal einen schönen Sonntag.

    LG, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Bei mir is es auch so, und ich bin weder blind noch blond ;)
    Aba ich will auch die neue Version mit Irrlicht haben :(

    Edit: Oh, seit wann bin ich denn "Fortgeschrittener"? :thumbup: Fällt mir erst jz auf :rolleyes: