Grml jetzt gehts. Könnte schwören vorhin kam ne Fehlermeldung
Game Launcher
-
-
Jaja wenns denn jetzt geht dann ist es ja okey
-
Hab mein Vorschlag mal in Code umgesetzt.
Ist total buggy, komme jetzt zeitlich leider nicht zu mehr.
Zum veranschaulichen aber vielleicht praktisch.edit \ So ists schöner:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [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>
#NoTrayIconOpt ('MouseCoordMode', 0)
[/autoit] [autoit][/autoit] [autoit]HotKeySet('{Esc}', '_Ende')
[/autoit] [autoit][/autoit] [autoit]Global Const $opt_binken = False
[/autoit] [autoit][/autoit] [autoit]
Global Const $opt_spiegelung = TrueGlobal $Titel = "Spiele Center by Moritz1243 ;-)"
[/autoit] [autoit][/autoit] [autoit]Global Const $INI = @ScriptDir & "\Info.ini"
[/autoit] [autoit][/autoit] [autoit]
Global Const $CONFIG = @ScriptDir & "\Config.ini"
Global Const $Bilder_dir = @ScriptDir & "\Bilder\"
Global Const $Spiel_dir = @ScriptDir & "\Verknüpfungen\"Global $datei[1][1], $icon[1], $name[1], $position, $mouse_pos, $mouse_pos_now, $max, $bewegung, $bewegung_letzte
[/autoit] [autoit][/autoit] [autoit]
Global $button_autostart, $button_exit
Local $aktuelles_spiel, $letztes_spiel, $spiel_blinken
Local $Icon_Position[1]
Global $Icon_Distance = 30Local $msg
[/autoit] [autoit][/autoit] [autoit]
;Local $Font = "Comic Sans MS"
Local $Font = "Arial"Global $icolor_red = Number(IniRead(@scriptdir & "\config.ini","Config","Hintergrund Farbe Rot",-1))
[/autoit] [autoit][/autoit] [autoit]
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
EndIfGlobal $switch[4]
[/autoit] [autoit][/autoit] [autoit]Global $Reload
[/autoit] [autoit][/autoit] [autoit]Global $width = 1024
[/autoit] [autoit][/autoit] [autoit]
Global $height = 600Global $Flow_type = IniRead($CONFIG,"Config","Flow Type",-1)
[/autoit] [autoit][/autoit] [autoit]
If $Flow_type = -1 Then
IniWrite($CONFIG,"Config","Flow Type",1)
$Flow_type = 1
EndIfGlobal $Window_type = IniRead($CONFIG,"Config","Window_type",-1)
[/autoit] [autoit][/autoit] [autoit]
If $Window_type = -1 Then
IniWrite($CONFIG,"Config","Window_type",1)
$Window_type = 1
EndIfGlobal $BK_type = IniRead($CONFIG,"Config","BK_type",-1)
[/autoit] [autoit][/autoit] [autoit]
If $BK_type = -1 Then
IniWrite($CONFIG,"Config","BK_type",1)
$BK_type = 1
EndIfIf $Window_type = 0 Then Global $Hwnd = CreateLayeredDevice("SpieleCenter", 0,@DesktopHeight * 1 / 8, @DesktopWidth, @DesktopHeight * 6 / 8,255, 0, 128, 0 )
[/autoit] [autoit][/autoit] [autoit]
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 )Global $Timer_aktive = IniRead($CONFIG,"Config","Timer",-1)
[/autoit] [autoit][/autoit] [autoit]
If $Timer_aktive = -1 Then
IniWrite($CONFIG,"Config","Timer",1)
$Timer_aktive = 1
EndIfLocal $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 )
[/autoit] [autoit][/autoit] [autoit]
Global $SLight = AddNewSLight( 1, 50, 1, 500, 3000, $ELT_POINT)
SetSLightSpecularColor( $SLight, 0.1, 0.1, 0.1 )
SetLightData( $Light1, $SLight )Global $Light2 = AddLightSceneNode( 0, 1000, 1000, 1000, 0, 0, 0, 0 )
[/autoit] [autoit][/autoit] [autoit]
SetLightData( $Light2, $SLight )Global $Bilder[1]
[/autoit] [autoit][/autoit] [autoit]
Global $Node[1]
Global $Node_Back[1]
Global $Bilder_alpha[1]Global $search_txt
[/autoit] [autoit][/autoit] [autoit]Global $Info_Text = AddStaticText("", 422, 200, 602, 400); [, Border [, WordWrap [, iParent [, FillBackground ]]]] )
[/autoit] [autoit][/autoit] [autoit]
Global $Button_Einstellungen = AddImage(GetTexture($Bilder_dir & "einstellungen.png"), $width - 58, $height - 58)draw(0)
[/autoit] [autoit][/autoit] [autoit]
Global $anzahl_spiele
Spiele_laden()Global $Particle[1][4]
[/autoit] [autoit][/autoit] [autoit]
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
EndIfIf $Partikel_onoff = 1 Then _particle_create()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]ReDim $icon[$max + 1]
[/autoit] [autoit][/autoit] [autoit]
ReDim $name[$max + 1]
ReDim $Icon_Position[$max + 1]draw(0)
[/autoit] [autoit][/autoit] [autoit]AdlibEnable("_bus",12)
[/autoit] [autoit][/autoit] [autoit]While True
[/autoit] [autoit][/autoit] [autoit]If WinActive($Titel) Then
[/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
[/autoit] [autoit][/autoit] [autoit]
$compare[1] = $compare[0]
;If $compare[0] <> "search" And $compare[0] <> "" Then
For $i = 0 To $Max Step 1
$search_txt = $compare[0]If StringLeft($datei[$i][2],StringLen($compare[0])) = StringLeft($compare[0],StringLen($compare[0])) Then
[/autoit] [autoit][/autoit] [autoit]
$Bewegung = $Icon_Distance * -$i
$position = $bewegung
;draw($Bewegung)
$aktuelles_spiel = Int((-$bewegung + 15) / $Icon_Distance)
If $aktuelles_spiel > $max - 1 Then $aktuelles_spiel = $max - 1
If $aktuelles_spiel < 0 Then $aktuelles_spiel = 0
; GUICtrlSetData($info_titel, $datei[$aktuelles_spiel][2])
ExitLoop
EndIf
Next
;EndIf
EndIfIf _IsPressed ("01") Then
[/autoit] [autoit][/autoit] [autoit]
$mouse_pos_now = MouseGetPos()
If $mouse_pos_now[0] > $width - 58 And $mouse_pos_now[0] < $width - 10 Then
If $mouse_pos_now[1] > $height - 58 And $mouse_pos_now[1] < $height - 10 Then einstellungen()
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 $max Step 1
If $coll = $Node[$i] Or $coll = $Node_Back[$i] Then Spiel_starten($i)
Next
Do
$mouse_pos_now = MouseGetPos(0)$bewegung = ($mouse_pos_now - $mouse_pos) + $position
[/autoit] [autoit][/autoit] [autoit]
If $bewegung < -($max - 1) * $Icon_Distance Then $bewegung = -($max - 1) * $Icon_Distance
If $bewegung > 0 Then $bewegung = 0
ConsoleWrite($bewegung & @CRLF)
$aktuelles_spiel = Int((-$bewegung + 15) / $Icon_Distance)
If $aktuelles_spiel > $max - 1 Then $aktuelles_spiel = $max - 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)
EndIfSleep(5)
[/autoit] [autoit][/autoit] [autoit]Until Not _IsPressed ("01")
[/autoit] [autoit][/autoit] [autoit]$position = $bewegung
[/autoit] [autoit][/autoit] [autoit]
EndIf
If _IsPressed ("02") Then
$mouse_pos = MouseGetPos(0)
Local $coll = GetSceneNodeFromScreenCoordinatesBB(MouseGetPos(0),MouseGetPos(1))While Mod(-$Bewegung,$Icon_Distance) <> 0
[/autoit] [autoit][/autoit] [autoit]
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
$aktuelles_spiel = Int((-$bewegung + 15) / $Icon_Distance)
For $i = 0 To $max 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[$aktuelles_spiel],0,$deg,0)
SceneDraw()
GuiDraw()
EndScene()
Sleep(5)
Next
Local $process = StringSplit ($datei[$aktuelles_spiel][0], "\")
Local $Spielzeit = IniRead(@ScriptDir & "\info.ini","Log",$process[$process[0]],0)
SetText($info_text,"Spiel: " & $datei[$aktuelles_spiel][2] & @LF _
& @LF _
& "Spielzeit: " & _sec_to_time_string($Spielzeit) & @LF _
& "Gespielt: " & IniRead(@ScriptDir & "\info.ini","Spiele",$datei[$aktuelles_spiel][2],0) - 1 & " mal" & @LF _
& "Dateipfad: " & $datei[$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[$aktuelles_spiel],0,$deg,0)
SceneDraw()
GuiDraw()
EndScene()
Sleep(5)
Next
EndIf
Next
EndIf
If _IsPressed("27") then
sleep(50)
ConsoleWrite($bewegung & @CRLF)
If $bewegung=0 then
do
$bewegung -=10
draw($bewegung)
until $bewegung= -($max - 1) * $Icon_Distance
;draw($bewegung)
Else
for $i = 1 to 14
$bewegung += 5
Draw($bewegung)
next
EndIfendif
[/autoit] [autoit][/autoit] [autoit]
If _IsPressed("25") then
sleep(50)
ConsoleWrite($bewegung & @CRLF)
If $bewegung=-($max - 1) * $Icon_Distance then
do
$bewegung +=10
draw($bewegung)
until $bewegung=0
;draw($bewegung)
Else
for $i = 1 to 14
$bewegung -= 5
Draw($bewegung)
next
EndIfendif
[/autoit] [autoit][/autoit] [autoit]
; draw($Bewegung)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
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
; $Ordner = FileSelectFolder("Ordner wählen", "",2)
; $Ordner = "C:\Dokumente und Einstellungen\Moritz\Desktop\Spiele"Local $isearch = FileFindFirstFile($Spiel_dir & "*.lnk")
[/autoit] [autoit][/autoit] [autoit]
If $isearch = -1 Then Return 0While True
[/autoit] [autoit][/autoit] [autoit]
Local $type = FileFindNextFile($isearch)
If @error Then ExitLoop
$anzahl_spiele += 1
WEnd
FileClose($search)$search = FileFindFirstFile($Spiel_dir & "*.lnk")
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
ReDim $datei[$max + 1][5]
ReDim $Bilder[$max + 1]
ReDim $Bilder_alpha[$max + 1]
ReDim $node[$max + 1]
ReDim $Node_Back[$max + 1]
$datei[$max][0] = FileFindNextFile($search)
If @error Then ExitLoop
$datei[$max][1] = $datei[$max][1]
$datei[$max][2] = StringTrimRight ($datei[$max][0], 4)
If IniRead($INI,"Spiele",$datei[$max][2],0) = 0 Then
$Reload = True
IniWrite($INI,"Spiele",$datei[$max][2],1)
EndIf
If StringRight ($datei[$max][0],3) = "lnk" Then
$desti = FileGetShortcut($Spiel_dir & $datei[$max][0])
$datei[$max][0] = $desti[0]
$datei[$max][1] = $desti[1]
$datei[$max][3] = $desti[4]
$datei[$max][4] = $desti[5]
EndIf
$Node[$max] = AddCubeSceneNode(100)
$Node_Back[$max] = AddCubeSceneNode(101,$Node[$max])
SetMaterialTexture($Node_Back[$max], 0, GetTexture($Bilder_dir & "\back.jpg"))
SetPosition($Node_Back[$max],0,0,-5)
SetScale($Node[$max], 1, 1.5, 0.1)
$Bilder[$max] = GetTexture($Bilder_dir & "\" & $datei[$max][2] & ".jpg")
SetMaterialTexture($Node[$max], 0, $Bilder[$max])
SetMaterialFlag($Node[$max], $EMF_LIGHTING, 0 )
SetScale($Node[$max], 1, 1.5, 0.1)
; $Bilder[$max] = _GDIPlus_ImageLoadFromFile($Ordner & "\temp\" & $datei[$max][2] & ".jpg")
; $Bilder_alpha[$max] = _GDIPlus_ImageLoadFromFile($Ordner & "\temp\" & $datei[$max][2] & "_alpha.jpg")
; MsgBox(0,"",$bilder[$max])
$max += 1
ToolTip("Load ... " & Int($max / $anzahl_spiele * 100) & "%")
WEnd
ToolTip("")
; _ArrayDisplay($datei)
FileClose($search)EndFunc
[/autoit] [autoit][/autoit] [autoit]Func Draw($wegi)
[/autoit] [autoit][/autoit] [autoit]BeginScene(True, True, 0, $icolor_red,$icolor_green,$icolor_blue)
[/autoit] [autoit][/autoit] [autoit]
; $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)Local $pi_div_180 = 4 * ATan(1) / 180
[/autoit] [autoit][/autoit] [autoit]
Local $xi, $yiLocal $aktuelles = Int((-$bewegung + 15) / $Icon_Distance)
[/autoit] [autoit][/autoit] [autoit]Switch $flow_type
[/autoit] [autoit][/autoit] [autoit]Case 0
[/autoit] [autoit][/autoit] [autoit]
$Icon_Distance = 30
For $i = 0 To $max Step 1$Icon_Position[$i] = $wegi + $i * $Icon_Distance
[/autoit] [autoit][/autoit] [autoit]
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) * 60SetPosition( $Node[$i], $xi / 2 * 8/10,0,$yi)
[/autoit] [autoit][/autoit] [autoit]Else
[/autoit] [autoit][/autoit] [autoit]
SetVisible($Node[$i], 0)
EndIfNext
[/autoit] [autoit][/autoit] [autoit]Case 1
[/autoit] [autoit][/autoit] [autoit]
$Icon_Distance = 70
For $i = 0 To $max 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[$i],0,-$Icon_Position[$i],0)
SetPosition($Node[$i],$Icon_Position[$i],0,(90 - Abs($Icon_Position[$i])) / 2)
ElseIf $Icon_Position[$i] > 0 Then
SetRotation($Node[$i],0,-90,0)
SetPosition($Node[$i],$Icon_Position[$i],0,0)
Else
SetRotation($Node[$i],0,90,0)
SetPosition($Node[$i],$Icon_Position[$i],0,0)
EndIf
Next
EndSwitchSceneDraw( )
[/autoit] [autoit][/autoit] [autoit]
GuiDraw( )EndScene( )
[/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit] [autoit][/autoit] [autoit]Func _Bus()
[/autoit] [autoit][/autoit] [autoit]
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()EndScene()
[/autoit] [autoit][/autoit] [autoit]
EndFuncFunc Spiel_starten($iSpiel)
[/autoit] [autoit][/autoit] [autoit]
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)ShellExecute($datei[$iSpiel][0],"",$datei[$iSpiel][1])
[/autoit] [autoit][/autoit] [autoit]
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
EndFuncFunc _bk_change_color()
[/autoit] [autoit][/autoit] [autoit]
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
EndIfEndFunc
[/autoit] [autoit][/autoit] [autoit]Func Einstellungen()
[/autoit] [autoit][/autoit] [autoit]AdlibDisable()
[/autoit] [autoit][/autoit] [autoit]Local $Gui_Ein = GUICreate("Einstellungen",280,400)
[/autoit] [autoit][/autoit] [autoit]
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)While True
[/autoit] [autoit][/autoit] [autoit]
$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]If GUICtrlRead($check_timer) = 4 Then
[/autoit] [autoit][/autoit] [autoit]
$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)
EndFuncFunc _particle_create()
[/autoit] [autoit][/autoit] [autoit]ReDim $Node_Particle[$Anzahl_Particle]
[/autoit] [autoit][/autoit] [autoit]
ReDim $Particle[$Anzahl_Particle][4]For $i = 0 To 119 Step 1
[/autoit] [autoit][/autoit] [autoit]
$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])
NextEndFunc
[/autoit] [autoit][/autoit] [autoit]Func _particle()
[/autoit] [autoit][/autoit] [autoit]For $i = 0 To UBound($particle) - 1 Step 1
[/autoit] [autoit][/autoit] [autoit]
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
EndFuncFunc _particle_delete()
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To UBound($Node_Particle) - 2 Step 1
Remove($Node_Particle[$i])
Next
SetVisible($Node_Particle[UBound($Node_Particle) - 1],0)
EndFuncFunc _Bild_Suche($iTitel)
[/autoit] [autoit][/autoit] [autoit]_IEErrorHandlerRegister ()
[/autoit] [autoit][/autoit] [autoit]$oIE = _IECreateEmbedded ()
[/autoit] [autoit][/autoit] [autoit]
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)GUISetState()
[/autoit] [autoit][/autoit] [autoit]_IENavigate ($oIE, "http://images.google.de/")
[/autoit] [autoit][/autoit] [autoit]
$oForm = _IEFormGetObjByName($oIE, "f")
$oQuery = _IEFormElementGetObjByName($oForm, "q")
_IEFormElementSetValue($oQuery, $iTitel)
_IEFormSubmit($oForm)While 1
[/autoit] [autoit][/autoit] [autoit]
$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
WEndGUIDelete()
[/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit] [autoit][/autoit] [autoit]Func _sec_to_time_string($isec)
[/autoit] [autoit][/autoit] [autoit]
Local $string = Int($isec / 3600) & " h " & Int(Mod($isec,3600) / 60) & " min " & Mod(Mod($isec,3600),60) & " sec"
Return $string
EndFuncFunc _Ende()
[/autoit]
Exit
EndFunc -
Sehr gut - wo sind denn da fehler drin? - Es wirkt sehr abgehackt. Aber das lässt sich beheben Es wirkt flüssiger wenn du in Zeile 280 und 299 ne Pause einbaust Sleep(10).
So habe jetzt das ganze script der funktion angepasst und es funktioniert jetzt einwandfrei :
Spoiler anzeigen
[autoit]#include <WindowsConstants.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#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>
#NoTrayIconOpt ('MouseCoordMode', 0)
[/autoit] [autoit][/autoit] [autoit]HotKeySet('{Esc}', '_Ende')
[/autoit] [autoit][/autoit] [autoit]Global Const $opt_binken = False
[/autoit] [autoit][/autoit] [autoit]
Global Const $opt_spiegelung = TrueGlobal $Titel = "Spiele Center by Moritz1243 ;-)"
[/autoit] [autoit][/autoit] [autoit]Global Const $INI = @ScriptDir & "\Info.ini"
[/autoit] [autoit][/autoit] [autoit]
Global Const $CONFIG = @ScriptDir & "\Config.ini"
Global Const $Bilder_dir = @ScriptDir & "\Bilder\"
Global Const $Spiel_dir = @ScriptDir & "\Verknüpfungen\"Global $datei[1][1], $icon[1], $name[1], $position, $mouse_pos, $mouse_pos_now, $max, $bewegung, $bewegung_letzte
[/autoit] [autoit][/autoit] [autoit]
Global $button_autostart, $button_exit
Local $aktuelles_spiel, $letztes_spiel, $spiel_blinken
Local $Icon_Position[1]
Global $Icon_Distance = 30Local $msg
[/autoit] [autoit][/autoit] [autoit]
;Local $Font = "Comic Sans MS"
Local $Font = "Arial"Global $icolor_red = Number(IniRead(@scriptdir & "\config.ini","Config","Hintergrund Farbe Rot",-1))
[/autoit] [autoit][/autoit] [autoit]
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
EndIfGlobal $switch[4]
[/autoit] [autoit][/autoit] [autoit]Global $Reload
[/autoit] [autoit][/autoit] [autoit]Global $width = 1024
[/autoit] [autoit][/autoit] [autoit]
Global $height = 600Global $Flow_type = IniRead($CONFIG,"Config","Flow Type",-1)
[/autoit] [autoit][/autoit] [autoit]
If $Flow_type = -1 Then
IniWrite($CONFIG,"Config","Flow Type",1)
$Flow_type = 1
EndIfGlobal $Window_type = IniRead($CONFIG,"Config","Window_type",-1)
[/autoit] [autoit][/autoit] [autoit]
If $Window_type = -1 Then
IniWrite($CONFIG,"Config","Window_type",1)
$Window_type = 1
EndIfGlobal $BK_type = IniRead($CONFIG,"Config","BK_type",-1)
[/autoit] [autoit][/autoit] [autoit]
If $BK_type = -1 Then
IniWrite($CONFIG,"Config","BK_type",1)
$BK_type = 1
EndIfIf $Window_type = 0 Then Global $Hwnd = CreateLayeredDevice("SpieleCenter", 0,@DesktopHeight * 1 / 8, @DesktopWidth, @DesktopHeight * 6 / 8,255, 0, 128, 0 )
[/autoit] [autoit][/autoit] [autoit]
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 )Global $Timer_aktive = IniRead($CONFIG,"Config","Timer",-1)
[/autoit] [autoit][/autoit] [autoit]
If $Timer_aktive = -1 Then
IniWrite($CONFIG,"Config","Timer",1)
$Timer_aktive = 1
EndIfLocal $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 )
[/autoit] [autoit][/autoit] [autoit]
Global $SLight = AddNewSLight( 1, 50, 1, 500, 3000, $ELT_POINT)
SetSLightSpecularColor( $SLight, 0.1, 0.1, 0.1 )
SetLightData( $Light1, $SLight )Global $Light2 = AddLightSceneNode( 0, 1000, 1000, 1000, 0, 0, 0, 0 )
[/autoit] [autoit][/autoit] [autoit]
SetLightData( $Light2, $SLight )Global $Bilder[1]
[/autoit] [autoit][/autoit] [autoit]
Global $Node[1]
Global $Node_Back[1]
Global $Bilder_alpha[1]Global $search_txt
[/autoit] [autoit][/autoit] [autoit]Global $Info_Text = AddStaticText("", 422, 200, 602, 400); [, Border [, WordWrap [, iParent [, FillBackground ]]]] )
[/autoit] [autoit][/autoit] [autoit]
Global $Button_Einstellungen = AddImage(GetTexture($Bilder_dir & "einstellungen.png"), $width - 58, $height - 58)draw(0)
[/autoit] [autoit][/autoit] [autoit]
Global $anzahl_spiele
Spiele_laden()Global $Particle[1][4]
[/autoit] [autoit][/autoit] [autoit]
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
EndIfIf $Partikel_onoff = 1 Then _particle_create()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]ReDim $icon[$max + 1]
[/autoit] [autoit][/autoit] [autoit]
ReDim $name[$max + 1]
ReDim $Icon_Position[$max + 1]draw(0)
[/autoit] [autoit][/autoit] [autoit]AdlibEnable("_bus",12)
[/autoit] [autoit][/autoit] [autoit]While True
[/autoit] [autoit][/autoit] [autoit]If WinActive($Titel) Then
[/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
[/autoit] [autoit][/autoit] [autoit]
$compare[1] = $compare[0]
;If $compare[0] <> "search" And $compare[0] <> "" Then
For $i = 0 To $Max Step 1
$search_txt = $compare[0]If StringLeft($datei[$i][2],StringLen($compare[0])) = StringLeft($compare[0],StringLen($compare[0])) Then
[/autoit] [autoit][/autoit] [autoit]
$Bewegung = $Icon_Distance * -$i
$position = $bewegung
;draw($Bewegung)
$aktuelles_spiel = Int((-$bewegung + 15) / $Icon_Distance)
If $aktuelles_spiel > $max - 1 Then $aktuelles_spiel = $max - 1
If $aktuelles_spiel < 0 Then $aktuelles_spiel = 0
; GUICtrlSetData($info_titel, $datei[$aktuelles_spiel][2])
ExitLoop
EndIf
Next
;EndIf
EndIfIf _IsPressed ("01") Then
[/autoit] [autoit][/autoit] [autoit]
$mouse_pos_now = MouseGetPos()
If $mouse_pos_now[0] > $width - 58 And $mouse_pos_now[0] < $width - 10 Then
If $mouse_pos_now[1] > $height - 58 And $mouse_pos_now[1] < $height - 10 Then einstellungen()
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 $max Step 1
If $coll = $Node[$i] Or $coll = $Node_Back[$i] Then Spiel_starten($i)
Next
$position = $bewegungDo
[/autoit] [autoit][/autoit] [autoit]
$mouse_pos_now = MouseGetPos(0)$bewegung = ($mouse_pos_now - $mouse_pos) + $position
[/autoit] [autoit][/autoit] [autoit]
If $bewegung < -($max - 1) * $Icon_Distance Then $bewegung = -($max - 1) * $Icon_Distance
If $bewegung > 0 Then $bewegung = 0
ConsoleWrite($bewegung & @CRLF)
$aktuelles_spiel = Int((-$bewegung + 15) / $Icon_Distance)
If $aktuelles_spiel > $max - 1 Then $aktuelles_spiel = $max - 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)
EndIfSleep(5)
[/autoit] [autoit][/autoit] [autoit]Until Not _IsPressed ("01")
[/autoit] [autoit][/autoit] [autoit]; $position = $bewegung
[/autoit] [autoit][/autoit] [autoit]
EndIf
If _IsPressed ("02") Then
$mouse_pos = MouseGetPos(0)
Local $coll = GetSceneNodeFromScreenCoordinatesBB(MouseGetPos(0),MouseGetPos(1))_center_aktuelles_Spiel()
[/autoit] [autoit][/autoit] [autoit]
$aktuelles_spiel = Int((-$bewegung + 15) / $Icon_Distance)
For $i = 0 To $max 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[$aktuelles_spiel],0,$deg,0)
SceneDraw()
GuiDraw()
EndScene()
Sleep(5)
Next
Local $process = StringSplit ($datei[$aktuelles_spiel][0], "\")
Local $Spielzeit = IniRead(@ScriptDir & "\info.ini","Log",$process[$process[0]],0)
SetText($info_text,"Spiel: " & $datei[$aktuelles_spiel][2] & @LF _
& @LF _
& "Spielzeit: " & _sec_to_time_string($Spielzeit) & @LF _
& "Gespielt: " & IniRead(@ScriptDir & "\info.ini","Spiele",$datei[$aktuelles_spiel][2],0) - 1 & " mal" & @LF _
& "Dateipfad: " & $datei[$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[$aktuelles_spiel],0,$deg,0)
SceneDraw()
GuiDraw()
EndScene()
Sleep(5)
Next
EndIf
Next
EndIf
If _IsPressed("27") then ; Durchblättern links
sleep(50)
_center_aktuelles_Spiel()
ConsoleWrite($bewegung & @CRLF)
If $bewegung=0 then
do
$bewegung -=10
draw($bewegung)
until $bewegung= -($max - 1) * $Icon_Distance
;draw($bewegung)
Else
for $i = 1 to 10
$bewegung += $Icon_Distance / 10
Draw($bewegung)
Sleep(10)
next
EndIfendif
[/autoit] [autoit][/autoit] [autoit]
If _IsPressed("25") then ; Durchblättern links
sleep(50)
_center_aktuelles_Spiel()
ConsoleWrite($bewegung & @CRLF)
If $bewegung=-($max - 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
EndIfendif
[/autoit] [autoit][/autoit] [autoit]
; draw($Bewegung)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
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
; $Ordner = FileSelectFolder("Ordner wählen", "",2)
; $Ordner = "C:\Dokumente und Einstellungen\Moritz\Desktop\Spiele"Local $isearch = FileFindFirstFile($Spiel_dir & "*.lnk")
[/autoit] [autoit][/autoit] [autoit]
If $isearch = -1 Then Return 0While True
[/autoit] [autoit][/autoit] [autoit]
Local $type = FileFindNextFile($isearch)
If @error Then ExitLoop
$anzahl_spiele += 1
WEnd
FileClose($search)$search = FileFindFirstFile($Spiel_dir & "*.lnk")
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
ReDim $datei[$max + 1][5]
ReDim $Bilder[$max + 1]
ReDim $Bilder_alpha[$max + 1]
ReDim $node[$max + 1]
ReDim $Node_Back[$max + 1]
$datei[$max][0] = FileFindNextFile($search)
If @error Then ExitLoop
$datei[$max][1] = $datei[$max][1]
$datei[$max][2] = StringTrimRight ($datei[$max][0], 4)
If IniRead($INI,"Spiele",$datei[$max][2],0) = 0 Then
$Reload = True
IniWrite($INI,"Spiele",$datei[$max][2],1)
EndIf
If StringRight ($datei[$max][0],3) = "lnk" Then
$desti = FileGetShortcut($Spiel_dir & $datei[$max][0])
$datei[$max][0] = $desti[0]
$datei[$max][1] = $desti[1]
$datei[$max][3] = $desti[4]
$datei[$max][4] = $desti[5]
EndIf
$Node[$max] = AddCubeSceneNode(100)
$Node_Back[$max] = AddCubeSceneNode(101,$Node[$max])
SetMaterialTexture($Node_Back[$max], 0, GetTexture($Bilder_dir & "\back.jpg"))
SetPosition($Node_Back[$max],0,0,-5)
SetScale($Node[$max], 1, 1.5, 0.1)
$Bilder[$max] = GetTexture($Bilder_dir & "\" & $datei[$max][2] & ".jpg")
SetMaterialTexture($Node[$max], 0, $Bilder[$max])
SetMaterialFlag($Node[$max], $EMF_LIGHTING, 0 )
SetScale($Node[$max], 1, 1.5, 0.1)
; $Bilder[$max] = _GDIPlus_ImageLoadFromFile($Ordner & "\temp\" & $datei[$max][2] & ".jpg")
; $Bilder_alpha[$max] = _GDIPlus_ImageLoadFromFile($Ordner & "\temp\" & $datei[$max][2] & "_alpha.jpg")
; MsgBox(0,"",$bilder[$max])
$max += 1
ToolTip("Load ... " & Int($max / $anzahl_spiele * 100) & "%")
WEnd
ToolTip("")
; _ArrayDisplay($datei)
FileClose($search)EndFunc
[/autoit] [autoit][/autoit] [autoit]Func Draw($wegi)
[/autoit] [autoit][/autoit] [autoit]BeginScene(True, True, 0, $icolor_red,$icolor_green,$icolor_blue)
[/autoit] [autoit][/autoit] [autoit]
; $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)Local $pi_div_180 = 4 * ATan(1) / 180
[/autoit] [autoit][/autoit] [autoit]
Local $xi, $yiLocal $aktuelles = Int((-$bewegung + 15) / $Icon_Distance)
[/autoit] [autoit][/autoit] [autoit]Switch $flow_type
[/autoit] [autoit][/autoit] [autoit]Case 0
[/autoit] [autoit][/autoit] [autoit]
$Icon_Distance = 30
For $i = 0 To $max Step 1$Icon_Position[$i] = $wegi + $i * $Icon_Distance
[/autoit] [autoit][/autoit] [autoit]
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) * 60SetPosition( $Node[$i], $xi / 2 * 8/10,0,$yi)
[/autoit] [autoit][/autoit] [autoit]Else
[/autoit] [autoit][/autoit] [autoit]
SetVisible($Node[$i], 0)
EndIfNext
[/autoit] [autoit][/autoit] [autoit]Case 1
[/autoit] [autoit][/autoit] [autoit]
$Icon_Distance = 70
For $i = 0 To $max 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[$i],0,-$Icon_Position[$i],0)
SetPosition($Node[$i],$Icon_Position[$i],0,(90 - Abs($Icon_Position[$i])) / 2)
ElseIf $Icon_Position[$i] > 0 Then
SetRotation($Node[$i],0,-90,0)
SetPosition($Node[$i],$Icon_Position[$i],0,0)
Else
SetRotation($Node[$i],0,90,0)
SetPosition($Node[$i],$Icon_Position[$i],0,0)
EndIf
Next
EndSwitchSceneDraw( )
[/autoit] [autoit][/autoit] [autoit]
GuiDraw( )EndScene( )
[/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit] [autoit][/autoit] [autoit]Func _Bus()
[/autoit] [autoit][/autoit] [autoit]
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()EndScene()
[/autoit] [autoit][/autoit] [autoit]
EndFuncFunc Spiel_starten($iSpiel)
[/autoit] [autoit][/autoit] [autoit]
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)ShellExecute($datei[$iSpiel][0],"",$datei[$iSpiel][1])
[/autoit] [autoit][/autoit] [autoit]
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
EndFuncFunc _bk_change_color()
[/autoit] [autoit][/autoit] [autoit]
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
EndIfEndFunc
[/autoit] [autoit][/autoit] [autoit]Func Einstellungen()
[/autoit] [autoit][/autoit] [autoit]AdlibDisable()
[/autoit] [autoit][/autoit] [autoit]Local $Gui_Ein = GUICreate("Einstellungen",280,400)
[/autoit] [autoit][/autoit] [autoit]
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)While True
[/autoit] [autoit][/autoit] [autoit]
$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]If GUICtrlRead($check_timer) = 4 Then
[/autoit] [autoit][/autoit] [autoit]
$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)
EndFuncFunc _center_aktuelles_Spiel()
[/autoit] [autoit][/autoit] [autoit]
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
EndFuncFunc _particle_create()
[/autoit] [autoit][/autoit] [autoit]ReDim $Node_Particle[$Anzahl_Particle]
[/autoit] [autoit][/autoit] [autoit]
ReDim $Particle[$Anzahl_Particle][4]For $i = 0 To 119 Step 1
[/autoit] [autoit][/autoit] [autoit]
$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])
NextEndFunc
[/autoit] [autoit][/autoit] [autoit]Func _particle()
[/autoit] [autoit][/autoit] [autoit]For $i = 0 To UBound($particle) - 1 Step 1
[/autoit] [autoit][/autoit] [autoit]
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
EndFuncFunc _particle_delete()
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To UBound($Node_Particle) - 2 Step 1
Remove($Node_Particle[$i])
Next
SetVisible($Node_Particle[UBound($Node_Particle) - 1],0)
EndFuncFunc _Bild_Suche($iTitel)
[/autoit] [autoit][/autoit] [autoit]_IEErrorHandlerRegister ()
[/autoit] [autoit][/autoit] [autoit]$oIE = _IECreateEmbedded ()
[/autoit] [autoit][/autoit] [autoit]
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)GUISetState()
[/autoit] [autoit][/autoit] [autoit]_IENavigate ($oIE, "http://images.google.de/")
[/autoit] [autoit][/autoit] [autoit]
$oForm = _IEFormGetObjByName($oIE, "f")
$oQuery = _IEFormElementGetObjByName($oForm, "q")
_IEFormElementSetValue($oQuery, $iTitel)
_IEFormSubmit($oForm)While 1
[/autoit] [autoit][/autoit] [autoit]
$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
WEndGUIDelete()
[/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit] [autoit][/autoit] [autoit]Func _sec_to_time_string($isec)
[/autoit] [autoit][/autoit] [autoit]
Local $string = Int($isec / 3600) & " h " & Int(Mod($isec,3600) / 60) & " min " & Mod(Mod($isec,3600),60) & " sec"
Return $string
EndFuncFunc _Ende()
[/autoit]
Exit
EndFunc -
Der erste Versuch (schon wieder rausgenommen) war fehlerhaft.
So ungefähr klappts jetzt -
Ich habe es jetzt auch angepasst:-) siehe zwei posts vorher
-
Sehr cool, eröffnet ganz neue Möglichkeiten zur Mediaverwaltung, Diashow usw.
Der nächste Schritt wäre eine Kreisbewegung zu simulieren, vielleicht mit 3D Effekt?
-
Ja das mit der kreisbewegung kommt noch aber erstmal eine sortierfunktion gut wäre auch wenn ihr dann ne skizze oder sowas macht -damit ich das leichter verstehe. - Kreisbewegung bekommt man wenn man in der ini flow_type auf 0 stetzt zumindest geht das in die richtung
-
Neue Version - Jetzt ist sortieren möglich(nach Alhabet, nach zeilzeit, wie oft gespielt)
-
Bei mir kommt immer ein Fehler, "Unknown Function Name", ich denke mal das liegt an der neuen AutoIt-Version, ist das bei euch auch so? Wenn ja wi ekann man es beheben?
-
Zeile 127 und 628: Adlibenable in AdlibRegister ändern.
Zeile 560: Adlibdisable in AdlibUnRegister ändern.P.S. Changelog lesen!
-
Ich finde das Design richtig gut auf den Fotos
Leider kann ich es nicht entpacken: 7zip sagt, dass Irrlicht.dll beschädigt ist
Noch eine Idee: Es wäre toll, wenn man den Hintergrund verändern könnte in einem Menü.
-
Na ganz so blöd bin ich auch nicht -.-
Das habe ich schon, bei mir kommt dieser Ferhler:Spoiler anzeigen
Und das Betrifft ja die Function CreateDeviceHabe Archiv einfach entpackt und so gestartet wie es war, ging net
EDIT: hat sich erledig, lag daran das ich in 64 bit compilert habe
-
Cooles Script muss ich sagen!
Da sind aber noch ein Paar fehler drinne:
1. Wenn die Nachfrage kommt "Wollen sie <Spiel> wirklich starten" und man geht mit der Tastatur auf nein und drückt Enter, kommt die Nachfrage sofort wieder, man muss mit der Maus draufklicken
2. Wenn ich mit den Pfeiltasten das spiel wechsle und dann Enter drück frag er mich immernoch ob ich das Spiel was voher im Vordergrund war starten will, nicht das Spiel was ich ausgewählt habeVerbesserungsvorschläge:
1. Es säh bestimmt cool aus wenn du die Hüllen noch ein Wenig abrundest
2. Vllt. eine Hintergrundbildoption
3. Einen Spiel-Adder, womit man einfach Pfad zum spiel auswähl.
4. Wenn ich mit den Pfeiltasten zwischen den Spielen hin und her wechsle muss ich ganz schnell loslassen sonst geht er schon weiter, vllt. könntest du da so eine kleine Unterbrechung einbauen, die dann eine Zeit wartet bis er weitergeht auch wenn man gedrückt hält -
HI,
mmh eigentlich schon, jedoch arbeite ich nicht mehr soviel mit autoit sondern fast ausschließlich nurnoch mit c++ vielleicht schriebe ich das script in c++ mal neu oder mal schauen
grüße Moritz
-