Beiträge von UEZ
-
-
Ein nettes Tutorial über Kollision kannst du hier finden: http://www.johanvanmol.org/content/category/6/23/37/ (Collision detection & bouncing part 1-3). Ist zwar für Flash, aber sehr gut erklärt (in Englisch)!
Kollision allgemein ist sehr komplex und nicht trivial, wobei die Kollision mit Kugel die einfachste Variante ist!
AUTOITEROIDS habe ich nun zu 99% fertig gestellt - es fehlt nur noch ein "Credit Intro".
Gruß,
UEZ -
@ UEZ hast recht danke für die funktion Aus deinem AutoIteroids Spiel oder?
Nicht nur Ich benutze sie auch z.B. in "Simple Ball Collision Simulation".
Das Verhaken ist wirklich nicht einfach zu lösen, hab' das auch bei den Kugeln
UEZ
-
Ich habe deinen Code schnell überflogen und mir ist folgendes aufgefallen:
1) du berechnest $pi/180 immer, obwohl $pi/180 eine Konstante ist
Vorschlag: Global Const $pi_div_180 = 4 * ATan(1) / 1802) auch die Potenz von Zahlen ist langsamer als die Multiplikation, d.h. a^2 = a*a. Kannst ja bei deiner Pythagoras Berechnung berücksichtigen!
Ich habe mir dafür eine Funktion geschrieben:
Func Pixel_Distance($x1, $y1, $x2, $y2) ;Pythagoras theorem
Local $a, $b, $c
If $x2 = $x1 And $y2 = $y1 Then
Return 0
Else
$a = $y2 - $y1
$b = $x2 - $x1
$c = Sqrt($a * $a + $b * $b)
Return $c
EndIf
EndFunc ;==>Pixel_DistanceAnsonsten Top!
UEZ
-
Saubere Arbeit.
Was mir aufgefallen ist: bei einem Tor sollte sich der Ball auch hinter die Torlinie bewegen!
Respekt!
Was war denn die größte Herausforderung?
Gruß,
UEZ -
Hallo UEZ,
gelungene Umsetzung des Spiels , hat mich sofort 30 Jahre jünger gemacht, hab gedaddelt bis ich ich Ladehemmung hatte (STRG-Taste muss ich mal nachkontrolieren). Weiter so und großes Lob ,
mfg (Auto)bert
Ich war so um die 12 Jahre als ich das erste Mal vor der Kiste stand und Asteroids bewunderte - das ist auch schon ca. 25 Jahre her! Man wie die Zeit vergeht...
Btw, ich glaube ich habe die Explosionsgeräusche vergessen zu aktivieren:
einfach in der Funktion Func Explosion_Init($ex, $ey) die Zeile If $start_game = 1 Then Explosion_Sound() vor der EndFunc einfügen! SORRY!
In der nächsten, sehr wahrscheinlich Final Version, werden die Explosionsgeräusche wieder da sein!
Gruß,
UEZ -
Hallo UEZ
Unglaublich, heute ging mir die genau gleiche idee durch den kopf.hab das spiel früher mal für flash / action script programmiert. Dann kamm mir noch ein anderes Spiel (Klassiker) in den sinn, dass ich auch mal programmiert hatte. und zwar ist es arkanoid / breakout..
vielleicht könnte es eine idee für das nächste spiel sein..??!!
grüsse
Ich werde genau deinen Weg gehen, aber nur anders herum: ich werde jetzt mit Flash respektive C/C++ anfangen. Ohne C/C++ kommt man nicht sehr weit
Vielleicht werde ich ja ein Game in Flash erstellen, aber bis dahin ist es noch sehr weit...
Gruß,
UEZPS: Ach ja, ich bin auch kein AutoIt Meister
-
-
AUTOITEROIDS (Final): ein Clone des Arcade Spielhallen Klassikers Asteroids von 1979 (Atari)
[Blockierte Grafik: https://www.autoitscript.com/forum/uploads/monthly_05_2009/post-29844-1242504010.png]
Steuerung:
- Pfeil nach oben: Schub
- Pfeil nach links: Drehung nach links
- Pfeil nach rechts: Drehung nach rechts
- Strg (Ctrl): Schießen
- Space Taste: Hypersprung
Game Play:
- Spiel fängt mit 3 Asteroiden an
- alle 10.000 Pukte erhöht sich der Level (u.a. # Asteroiden + 1)
- alle 30.000 Punkte extra Leben
- größter Asteroid = 20 Punkte
- mittlere Asteroid = 50 Punkte
- kleinster Asteroid = 100 Punkte
- großes Alien Schiff = 200 Punkte
- kleines Alien Schiff = 1000 Punkte
Download:
- Source Code + Exe Version: v1.019 Build 2012-07-30 (Download weiter unten!)
- --=> (.7z Archiv kann z.B. mit 7-Zip entpackt werden!)
- Compilierte Version ohne Quellcode: HIER (v1.019 Build 2012-07-30)
Credits:
- Haupt Code: UEZ
- Bass UDF: BrettF
- Bass DLL: http://www.un4seen.com/
- GDI+ Font Lader Code: Yashied
- Font: ck! [Freaky Fonts]
- Sound + Sound Code Modifizierung: Spiff59
- GetKeyboardState code: Eukalyptus
Zu finden auch hier (inkl. Change Log): http://www.autoitscript.com/forum/index.php?showtopic=95138
Online zocken: ASTEROIDS (Java Version)
Viel Spaß beim Ballern
UEZ -
Ich hab's rausgefunden. DL Link und Quellcode aktualisiert (1. Post).
Die Pegelauschläge hängen nun von der Lautstärke ab.
Gruß,
UEZ -
Auch unter Vista gibt es den Stereomix um den Output aufzunehmen:
Rechtsklick auf das Lautsprechersymbol -> Aufnahmegeräte -> Rechtsklick -> "deaktivierte Geräte anzeigen"
Dann erscheinen dann alle möglichen Devices, welche man dann aktivieren kann._BASS_RecordInit($bass_dll, -1) der Parameter gibt das Aufnahmegerät an, wird bei UEZ warscheinlich 2 sein...(-1 = Default, wahrscheinlich Mikro)
Weiß allerdings nocht nicht, wie man automatisch erkennt, welcher der richtige ist...lgE
Ehrlich gesagt habe ich auch nicht weiter geforscht
Bei mir wird leider nicht mehr erkannt als Microphone und LineIn!
autoit.de/wcf/attachment/4120/
Ich werde versuchen, die Lautstärke mit einzubeziehen, so dass, wenn die Lautstärke leise ist, die Pegel Ausschäge weniger sind. D.h. je lauter desto mehr Pegel Ausschläge.
Ich habe noch nicht nachgeforscht, ob bass.dll die Lautstärke auslesen kann und ob Vista kompatibel.
UEZ
-
Darf ich die Visualisierung für meinen Media Player nutzen?
Nach genauso etwas suche ich schon lange....JA! Nur würde ich gerne bei den "Credits" auftauchen.
Hinweis: Bass.au3, Bass.dll und das Bild sind nicht mein geistiges Eigentum
Bitteschön,
UEZ -
@UEZ
da haben ma das problem schon! ich hab kA von dem zudem versteh ich nurn teil des codesHier die Modifikation des Codes:
Spoiler anzeigen
;code by UEZ 2009
#AutoIt3Wrapper_Run_Obfuscator=y
#Obfuscator_Parameters=/SO
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Run_After=upx.exe --best "%out%"#include <GUIConstantsEx.au3>
#include <GDIplus.au3>
#include <WindowsConstants.au3>
#include "Bass.au3" ;thanks to BrettFOpt("GUIOnEventMode", 1)
_GDIPlus_Startup()
$bitmap_from_file = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "\AIMP_VU.bmp") ;thanks to AIMP2 player
Global Const $iX = _GDIPlus_ImageGetWidth($bitmap_from_file)
Global Const $iY = _GDIPlus_ImageGetHeight($bitmap_from_file)Global Const $bass_dll = DllOpen(@ScriptDir & "\BASS.dll")
_BASS_SetConfig($bass_dll, $BASS_CONFIG_REC_BUFFER, 1000)_BASS_RecordInit($bass_dll, -1)
;thanks to eukalyptus
$Cnt = 0
$Name = _BASS_RecordGetInputName($bass_dll, 0)
While $Name <> ""
$Input = _BASS_RecordGetInput($bass_dll, $Cnt)
If BitAND($Input[0], $BASS_INPUT_TYPE_WAVE) Then _BASS_RecordSetInput($bass_dll, $Cnt, $BASS_INPUT_TYPE_WAVE, 1)
$Cnt += 1
$Name = _BASS_RecordGetInputName($bass_dll, $Cnt)
WEndIf @OSVersion = "WIN_VISTA" Or @OSVersion = "WIN_2008" Then _BASS_RecordSetInput($bass_dll, 0, $BASS_INPUT_TYPE_WAVE, 1)
$RecHandle = _BASS_RecordStart($bass_dll, 44100, 2, _WinAPI_MakeLong(0, 10))
Global Const $width = $iX * 2
Global Const $height = $iY$hwnd = GUICreate("", $width, $height, -1, -1, Default, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW))
GUISetOnEvent($GUI_EVENT_CLOSE, "close")
GUISetState()$graphics = _GDIPlus_GraphicsCreateFromHWND($hwnd)
$bitmap = _GDIPlus_BitmapCreateFromGraphics($width, $height, $graphics)
$backbuffer = _GDIPlus_ImageGetGraphicsContext($bitmap)
_GDIPlus_GraphicsSetSmoothingMode($backbuffer, 4)Global Const $pen_size = 2
$pen = _GDIPlus_PenCreate(0, $pen_size)
$brush_l = _GDIPlus_BrushCreateSolid()
$brush_r = _GDIPlus_BrushCreateSolid()
_GDIPlus_GraphicsDrawImage($backbuffer, $bitmap_from_file, 0, 0)
_GDIPlus_GraphicsDrawImage($backbuffer, $bitmap_from_file, $iX, 0)Global Const $pi = 3.1415926535897932384626433832795
Global Const $pi_div_180 = $pi / 180
Global Const $max_amplitude = 450
Global Const $min_x = 25
Global Const $max_x = 160
Global Const $pointer_ini_point_y = 80 ;less is longer
Global Const $pointer_start_y = 93
Global Const $pointer_length = 65
Global Const $ellipse_size = 8
Global Const $ellipse_size_half = $ellipse_size / 2
Global Const $width_div_4 = $width / 4
Global Const $width_div_2 = $width / 2Dim $title[19] = ["º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`", _
"GDI+ Visualization: Analog Meter", _
"Credits:", _
"Main coding by: UEZ 2009", _
"Bass UDF: BrettF", _
"Bass Record Function Code: eukalyptus", _
"Bass DLL: https://autoit.de/www.un4seen.com", _
"Image: AIMP Player", _
"Music: ACC:Xess", _
"For more music visit: ", _
"http://remix.kwed.org (C64 Remakes / Remixes)", _
"And of course", _
"AutoIt developers ;-)", _
"•*´¯`*•.¸ .. ¥ .. ¸.•*´¯`*•*´¯`*•.¸ .. ¥ .. ¸.•*´¯`*•*´¯`*•.¸ .. ¥ .. ¸.•*´¯`*.¸ .. ¥ .. ¸.•*´¯", _
"Greetings to: ", _
"All members from", _
"www.autoitscript.com / https://autoit.de/www.autoit.de", _
" ", _
"Restarting text..."]Global $c = 0 ;counter for sleep
Global $i = 1 ;for character
Global $j = 0 ;for array
Global $k = UBound($title) - 1
Global $s = 150 ;sleep time
Global $in = True
Global $effect = Random(1, 2, 1)$g = 0x00
$b = 0x00Do
$levels = _BASS_ChannelGetLevel($bass_dll, $RecHandle)
$LeftChLvl = _WinAPI_LoWord($levels) * 135 / 0x1500
$RightChLvl = _WinAPI_HiWord($levels) * 135 / 0x1500$l_x2 = $min_x + $max_x * ($LeftChLvl / $max_amplitude)
If $l_x2 >= $max_x Then $l_x2 = $max_x
$l_y2 = $pointer_ini_point_y - Sin($l_x2 * $pi_div_180) * $pointer_length$r_x2 = $min_x + $max_x * ($RightChLvl / $max_amplitude)
If $r_x2 >= $max_x Then $r_x2 = $max_x
$r_y2 = $pointer_ini_point_y - Sin($r_x2 * $pi_div_180) * $pointer_length_GDIPlus_PenSetColor($pen, 0xCF111111)
_GDIPlus_GraphicsDrawLine($backbuffer, $width_div_4 - 1, $pointer_start_y, $l_x2, $l_y2, $pen)
_GDIPlus_GraphicsDrawLine($backbuffer, $width - $width_div_4 - 1, $pointer_start_y, $width_div_2 + $r_x2, $r_y2, $pen)$r = $LeftChLvl * ($LeftChLvl / 0xFF)
_GDIPlus_BrushSetSolidColor($brush_l, "0xFF" & Hex($r, 2) & Hex($g, 2) & Hex($b, 2))
_GDIPlus_GraphicsFillEllipse($backbuffer, $width_div_4 - $ellipse_size_half - 1, $pointer_start_y - $ellipse_size_half, $ellipse_size, $ellipse_size, $brush_l)$r = $RightChLvl * ($RightChLvl / 0xFF)
_GDIPlus_BrushSetSolidColor($brush_r, "0xFF" & Hex($r, 2) & Hex($g, 2) & Hex($b, 2))
_GDIPlus_GraphicsFillEllipse($backbuffer, $width - $width_div_4 - $ellipse_size_half - 1, $pointer_start_y - $ellipse_size_half, $ellipse_size, $ellipse_size, $brush_r)_GDIPlus_GraphicsDrawImageRect($graphics, $bitmap, 0, 0, $width, $height)
_GDIPlus_GraphicsDrawImage($backbuffer, $bitmap_from_file, 0, 0)
_GDIPlus_GraphicsDrawImage($backbuffer, $bitmap_from_file, $iX, 0)
Sleep(25)
Display_Info()
Until FalseFunc Display_Info()
If $in Then
If $i <> StringLen($title[$j]) + 1 Then
If $effect = 1 Then
WinSetTitle($hwnd, "", StringLeft($title[$j], $i)) ;effect 1a, 1 by 1
Else
WinSetTitle($hwnd, "", StringRight($title[$j], $i)) ;effect 2a, scroll to right
EndIf
$i += 1
Else
If $c = $s Then
$i = 1
$in = False
$c = 0
$effect = Random(1, 2, 1)
Else
$c += 1
EndIf
EndIf
Else
If $i <> StringLen($title[$j]) + 1 Then
If $effect = 1 Then
WinSetTitle($hwnd, "", StringLeft($title[$j], StringLen($title[$j]) - $i)) ;effect 1b, 1 by 1
Else
WinSetTitle($hwnd, "", StringRight($title[$j], StringLen($title[$j]) - $i)) ;effect 2b, scroll to left
EndIf
$i += 1
Else
$i = 1
$in = True
$effect = Random(1, 2, 1)
If $j = $k Then
$j = 0
Else
$j += 1
EndIf
EndIf
EndIf
EndFunc ;==>Display_InfoFunc close()
_BASS_Free($bass_dll)
DllClose($bass_dll)
_GDIPlus_PenDispose($pen)
_GDIPlus_BrushDispose($brush_l)
_GDIPlus_BrushDispose($brush_r)
_GDIPlus_BitmapDispose($bitmap)
_GDIPlus_GraphicsDispose($graphics)
_GDIPlus_GraphicsDispose($backbuffer)
_GDIPlus_Shutdown()
Exit
EndFunc ;==>close; #FUNCTION# ====================================================================
; Name...........: _GDIPlus_BrushSetSolidColor
; Description ...: Set the color of a Solid Brush object
; Syntax.........: _GDIPlus_BrushSetSolidColor($hBrush, [$iARGB = 0xFF000000])
; Parameters ....: $hBrush - Handle to a Brush object
; $iARGB - Alpha, Red, Green and Blue components of brush
; Return values .: Success - True
; Failure - False
; Author ........:
; Modified.......: smashly
; Remarks .......:
; Related .......:
; Link ..........; @@MsdnLink@@ GdipSetSolidFillColor
; Example .......; Yes
; ================================================================================
Func _GDIPlus_BrushSetSolidColor($hBrush, $iARGB = 0xFF000000)
Local $aResult
$aResult = DllCall($ghGDIPDll, "int", "GdipSetSolidFillColor", "hwnd", $hBrush, "int", $iARGB)
If @error Then Return SetError(@error, @extended, 0)
Return SetError($aResult[0], 0, $aResult[0] = 0)
EndFunc ;==>_GDIPlus_BrushSetSolidColorVielen Dank an eukalyptus für den Teil des Codes!
Achtung: auf Vista funzt das Ganze nicht richtig. Z.B. bekomme ich nur über das Mikrofon die Levels angezeigt. Außerdem kann ich es auf XP momentan nicht testen und kann auch zu den Zeigerausschlägen nicht sagen, ob die ok sind.
Ansonsten einfach den Hex Teiler entsprechend im Code für $LeftChLvl bzw. $RightChLvl ändern.
UEZ
-
Line Out
also all des was du hörst.Was alles die BASS.DLL + Derivate kann, habe ich mir im Detail nicht angeschaut. Vielleicht ist es auch möglich den I/O der Sound Karte abzuzweigen und mit dem Visualisierer darzustellen.
Momentan spielt es nur Audio Dateien ab, aber du kannst ja gerne den Code umschreiben, so dass es direkt den I/O Stream darstellt
Ich weiss nicht, ob ich die Zeit dafür haben werde...Gruß,
UEZ -
Gefällt mir sehr =)
Wäre es möglich die gesamte Ton-aus/eingabe anzeigen lassen?Danke, für das Feedback.
Was genau meinst du mit "gesamte Ton-aus/eingabe anzeigen lassen"?
UEZ
-
Ups, stimmt. Ich habe die bass*.au3's in mein include Verzeichnis, und deshalb ist es mir nicht aufgefallen!
Werde die Downloads gleich mal updaten!!!
DANKE für den Hinweis!
UEZ
-
Hallo
Ein Typisches UEZ Produkt. Sieht wirklich gut aus, respekt
Könntest du vlt noch die BassConstants hinzufügen?Mfg spider
Danke für das Feedback
So, mein GDI+ Zeug ist also typisch für mich
Die BassConstants wird in der Bass.au3 geladen
UEZ
-
Click Me Link korrigiert!
Sorry,
UEZ -
Hab' ein GDI+ Visualizer geschrieben:
autoit.de/wcf/attachment/4343/
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
;code by UEZ 2009
#AutoIt3Wrapper_Run_Obfuscator=y
#Obfuscator_Parameters=/sf /sv /om /cs=0 /cn=0
#AutoIt3Wrapper_UseUpx=n
;~ #AutoIt3Wrapper_Run_After=upx.exe --best "%out%"
#AutoIt3Wrapper_Run_After=upx.exe --ultra-brute "%out%"
#AutoIt3Wrapper_Run_After=del /f /q "Visualizer_Analog Meter_Obfuscated.au3"
#include <GUIConstantsEx.au3>
#include <GDIplus.au3>
#include <Memory.au3>
#include <Misc.au3>
#include <WindowsConstants.au3>
#include "Bass.au3" ;thanks to BrettF and ProgAndy
Opt("GUIOnEventMode", 1)#Region load image files
[/autoit] [autoit][/autoit] [autoit]
Global $dll = DllOpen("user32.dll")
_GDIPlus_Startup()
Global $bitmap_from_file
$bitmap_from_file = Load_BMP_From_Mem(VU_Image()) ;thanks to AIMP2 playerGlobal $bitmap_from_file2
[/autoit] [autoit][/autoit] [autoit]
$bitmap_from_file2 = Load_BMP_From_Mem(VU_Fragement_Image())Global Const $iX = _GDIPlus_ImageGetWidth($bitmap_from_file)
[/autoit] [autoit][/autoit] [autoit]
Global Const $iY = _GDIPlus_ImageGetHeight($bitmap_from_file)
Global Const $width = $iX * 2
Global Const $height = $iY
#EndRegion#Region initialize sound and load MP3
[/autoit] [autoit][/autoit] [autoit]
Global $levels, $LeftChLvl, $RightChLvl, $l_x2, $l_y2, $r_x2, $r_y2, $r, $current
Global $ChLevel = 0x1000
Global $volume_error = 0
Global $ve
Global $volume_boost_level = 2
Global $needle_decrease_speed = 0.0275
Global $no_load = 0
Global Const $bass_dll = _BASS_Startup(@ScriptDir & "\BASS.dll")
If @error = -1 Then
MsgBox(16, "ERROR!", "Could not load BASS.dll" & @CR & "Terminating... ")
Exit
EndIf
Global $file = FileOpenDialog("Select MP3...", "", "MP3 Files (*.mp3)");
If @error Then
$no_load = 1
MsgBox(16, "Error", "Could not load audio file!" & @CRLF & @CRLF & "At main screen you can press O to open file open dialog window" & @CRLF & "or you can drag'n'drop a mp3 file to window!", 20)
EndIf
Global $filename = StringMid($file, StringInStr($file, "\", 0, -1) + 1, StringLen($file) - StringInStr($file, "\", 0, -1) - 4) ;get the filename only
Global $file_suffix
_BASS_Init($BASS_DEVICE_CPSPEAKERS)
Global $MusicHandle = _BASS_StreamCreateFile(False, $file, 0, 0, 0)
Global $song_length = _BASS_ChannelGetLength($MusicHandle, $BASS_POS_BYTE)
#EndRegion#Region GUI
[/autoit] [autoit][/autoit] [autoit]
Global Const $WM_DROPFILES = 0x0233
Global $hwnd = GUICreate("", $width, $height, -1, -1, Default, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW, $WS_EX_ACCEPTFILES))
GUISetOnEvent($GUI_EVENT_CLOSE, "Close")
GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "Move") ;move main window when lmb pressed and hold on main window
GUISetState()
#EndRegion#Region initialize GDI+
[/autoit] [autoit][/autoit] [autoit]
Global $graphics = _GDIPlus_GraphicsCreateFromHWND($hwnd)
Global $bitmap = _GDIPlus_BitmapCreateFromGraphics($width, $height, $graphics)
Global $backbuffer = _GDIPlus_ImageGetGraphicsContext($bitmap)
_GDIPlus_GraphicsSetSmoothingMode($backbuffer, 4)
Global Const $pen_size = 2
Global $pen = _GDIPlus_PenCreate(0, $pen_size)
Global $brush_l = _GDIPlus_BrushCreateSolid()
Global $brush_r = _GDIPlus_BrushCreateSolid()
_GDIPlus_GraphicsDrawImage($backbuffer, $bitmap_from_file, 0, 0)
_GDIPlus_GraphicsDrawImage($backbuffer, $bitmap_from_file, $iX, 0)
#EndRegion#Region constants
[/autoit] [autoit][/autoit] [autoit]
Global Const $pi = 4 * ATan(1)
Global Const $pi_div_180 = $pi / 180
Global Const $max_amplitude = 450
Global Const $min_x = 25
Global Const $max_x = 160
Global Const $pointer_ini_point_y = 80 ;less is longer
Global Const $pointer_start_y = 93
Global Const $pointer_length = 65
Global Const $ellipse_size = 8
Global Const $ellipse_size_half = $ellipse_size / 2
Global Const $width_div_4 = $width / 4
Global Const $width_div_2 = $width / 2
Global Const $sleep = 30
#EndRegion#Region play audio
[/autoit] [autoit][/autoit] [autoit]
_BASS_ChannelPlay($MusicHandle, 1)
$volume = _BASS_GetVolume()
If @error Or $volume = 1 Then ;check whether _BASS_GetVolume() returns 1
$volume_error = 1
$ve = "YES! Volume controlled peak disabled!"
Else
$ve = "NO!"
EndIf
#EndRegion#Region initialize title in window
[/autoit] [autoit][/autoit] [autoit]
Dim $title[25] = ["º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`", _
" GDI+ Visualization: Analog Meter", _
" Playing: " & $filename, _
" Get volume error: " & $ve, _
" Press P to pause current song", _
" Press C to continue after P was pressed", _
" Press O to open another song", _
" Press ESC to exit program", _
" Credits:", _
" Main coding by: UEZ 2009", _
" Bass UDF: BrettF (modified by ProgAndy)", _
" Bass DLL: http://www.un4seen.com", _
" Image: AIMP Player", _
" And of course", _
" AutoIt developers ;-)", _
"•*´¯`*•.¸ .. ¥ .. ¸.•*´¯`*•*´¯`*•.¸ .. ¥ .. ¸.•*´¯`*•*´¯`*•.¸ .. ¥ .. ¸.•*´¯`*.¸ .. ¥ .. ¸.•*´¯", _
" Greetings to: ", _
" All members from", _
" http://www.autoitscript.com / http://www.autoit.de", _
" Richie for the good ideas to improve Analog Meter", _
" Christos", _
" and", _
" DrSchulz (http://www.drschulz-music.de/) ;-)", _
" ", _
" Restarting text..."]
Global $c = 0 ;counter for sleep
Global $i = 1 ;for character
Global $j = 0 ;for array
Global $k = UBound($title) - 1
Global $s = 150 ;sleep time
Global $in = True
Global $effect = Random(1, 2, 1)
Global $g = 0x00
Global $b = 0x00
Global $pause = 0
#EndRegion#Region additional GUI functions
[/autoit] [autoit][/autoit] [autoit]
GUIRegisterMsg($WM_DROPFILES, "WM_DROPFILES") ;enable drag'n'drop
GUIRegisterMsg($WM_TIMER, "Draw") ;$WM_TIMER = 0x0113
DllCall("User32.dll", "int", "SetTimer", "hwnd", $hwnd, "int", 0, "int", $sleep, "int", 0) ;set GUIRegisterMsg($WM_TIMER, "Draw") timer
#EndRegionDo
[/autoit] [autoit][/autoit] [autoit]
Until False * Not Sleep(100000) ;do nothing, just sleepFunc Draw()
[/autoit] [autoit][/autoit] [autoit]
If WinGetState($hwnd) = 15 Then ;only activate keys when window is active
If _IsPressed("50", $dll) Then ;P pressed (pause)
_BASS_Pause()
$pause = 1
ElseIf _IsPressed("43", $dll) Then ;C pressed (continue after pause)
_BASS_Start()
$pause = 0
ElseIf _IsPressed("4F", $dll) Then ;O pressed (open file dialoge)
$file = FileOpenDialog("Select MP3...", "", "MP3 Files (*.mp3)")
If Not @error Then
$file_suffix = StringRight($file, 3)
If StringLower($file_suffix) = "mp3" Then
$filename = StringMid($file, StringInStr($file, "\", 0, -1) + 1, StringLen($file) - StringInStr($file, "\", 0, -1) - 4) ;get the filename only
$title[2] = "Music: " & $filename
_BASS_ChannelStop($MusicHandle)
$MusicHandle = _BASS_StreamCreateFile(False, $file, 0, 0, 0)
$song_length = _BASS_ChannelGetLength($MusicHandle, $BASS_POS_BYTE)
_BASS_ChannelStop($MusicHandle)
_BASS_ChannelPlay($MusicHandle, 1)
EndIf
EndIf
EndIf
EndIf
$levels = _BASS_ChannelGetLevel($MusicHandle) ;get 16-bit level for l/r
If $no_load Then $levels = 0x00000000
$l_w = _HiWord($levels) ;get volume level from left (15-8 bit)
$r_w = _LoWord($levels) ;get volume level from right (7-0 bit)
If $l_w < 0 Then $l_w = ($l_w + 1) * - 1 ;invert value to positive value (a bug in bass.dll?)
If $r_w < 0 Then $r_w = ($r_w + 1) * - 1
If $volume_error = 1 And $pause = 0 Then
$volume = 0.33333
Else
If $pause = 0 Then $volume = _BASS_GetVolume() * $volume_boost_level
EndIf
If $pause = 1 Then ;if pause then move needle to position 0
If $volume >= 0 Then $volume -= $needle_decrease_speed
EndIf
$LeftChLvl = 1 + Round($l_w * 135 / $ChLevel * $volume, 0) ; 135 = $max_x - $min_x
$RightChLvl = 1 + Round($r_w * 135 / $ChLevel * $volume, 0)
$l_x2 = $min_x + $max_x * ($LeftChLvl / $max_amplitude) ;set x/y coordinate of needle
If $l_x2 >= $max_x Then $l_x2 = $max_x ;avoid exceeding right limit of needle
If $l_x2 < $min_x Then $l_x2 = $min_x ;avoid exceeding left limit of needle
$l_y2 = $pointer_ini_point_y - Sin($l_x2 * $pi_div_180) * $pointer_length ;calculate length of left needle (radius) depending and new x/y coordinate
$r_x2 = $min_x + $max_x * ($RightChLvl / $max_amplitude)
If $r_x2 >= $max_x Then $r_x2 = $max_x
If $r_x2 < $min_x Then $r_x2 = $min_x
$r_y2 = $pointer_ini_point_y - Sin($r_x2 * $pi_div_180) * $pointer_length
_GDIPlus_PenSetColor($pen, 0xCF111111)
_GDIPlus_GraphicsDrawLine($backbuffer, $width_div_4 - 1, $pointer_start_y, $l_x2, $l_y2, $pen) ;draw left needle
_GDIPlus_GraphicsDrawLine($backbuffer, $width - $width_div_4 - 1, $pointer_start_y, $width_div_2 + $r_x2, $r_y2, $pen) ;draw right needle
_GDIPlus_GraphicsDrawImageRect($backbuffer, $bitmap_from_file2, 68, 76, 53, 30)
_GDIPlus_GraphicsDrawImageRect($backbuffer, $bitmap_from_file2, $iX + 68, 76, 53, 30)
$r = $LeftChLvl * ($LeftChLvl / 0xFF)
_GDIPlus_BrushSetSolidColor($brush_l, "0xFF" & Hex($r, 2) & Hex($g, 2) & Hex($b, 2))
_GDIPlus_GraphicsFillEllipse($backbuffer, $width_div_4 - $ellipse_size_half - 1, $pointer_start_y - $ellipse_size_half, $ellipse_size, $ellipse_size, $brush_l)
$r = $RightChLvl * ($RightChLvl / 0xFF)
_GDIPlus_BrushSetSolidColor($brush_r, "0xFF" & Hex($r, 2) & Hex($g, 2) & Hex($b, 2))
_GDIPlus_GraphicsFillEllipse($backbuffer, $width - $width_div_4 - $ellipse_size_half - 1, $pointer_start_y - $ellipse_size_half, $ellipse_size, $ellipse_size, $brush_r)
_GDIPlus_GraphicsDrawImageRect($graphics, $bitmap, 0, 0, $width, $height)
_GDIPlus_GraphicsDrawImage($backbuffer, $bitmap_from_file, 0, 0) ;clear screen by overwritting screen with bmp (left)
_GDIPlus_GraphicsDrawImage($backbuffer, $bitmap_from_file, $iX, 0) ;clear screen by overwritting screen with bmp (right)
$current = _BASS_ChannelGetPosition($MusicHandle, $BASS_POS_BYTE) ;get current song position
If $current >= $song_length Then _BASS_ChannelPlay($MusicHandle, 1) ;replay song when it is finished
Display_Info() ;display win title info
EndFunc ;==>DrawFunc Move() ;move whole window when pressed lmb and hold continuing drawing of window content
[/autoit] [autoit][/autoit] [autoit]
DllCall("user32.dll", "int", "SendMessage", "hWnd", $hwnd, "int", 0x00A1, "int", 2, "int", 0) ;$WM_NCLBUTTONDOWN = 0x00A1
EndFunc ;==>MoveFunc WM_DROPFILES($hwnd, $msg, $wParam, $lParam) ;drag'n'drop function - I don't know who made this
[/autoit] [autoit][/autoit] [autoit]
Local $tBuffer = DllStructCreate("char[256]")
Local $iString
;Get dropped items count
Local $aRet = DllCall("shell32.dll", "int", "DragQueryFile", "int", $wParam, "int", -1, "ptr", 0, "int", 0)
;Getting name only from 1st dropped item
DllCall("shell32.dll", "int", "DragQueryFile", "int", $wParam, "int", 0, "ptr", DllStructGetPtr($tBuffer), "int", DllStructGetSize($tBuffer))
$iString = DllStructGetData($tBuffer, 1)
DllCall("shell32.dll", "none", "DragFinish", "int", $wParam)
$file = $iString
$filename = StringMid($file, StringInStr($file, "\", 0, -1) + 1, StringLen($file) - StringInStr($file, "\", 0, -1) - 4) ;get the filename only
$file_suffix = StringRight($file, 3)
If StringLower($file_suffix) = "mp3" Then
_BASS_ChannelStop($MusicHandle)
$title[2] = "Music: " & $filename
$MusicHandle = _BASS_StreamCreateFile(False, $file, 0, 0, 0)
$song_length = _BASS_ChannelGetLength($MusicHandle, $BASS_POS_BYTE)
_BASS_ChannelStop($MusicHandle)
_BASS_ChannelPlay($MusicHandle, 1)
EndIf
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_DROPFILESFunc Display_Info()
[/autoit] [autoit][/autoit] [autoit]
If $in Then
If $i <> StringLen($title[$j]) + 1 Then
If $effect = 1 Then
WinSetTitle($hwnd, "", StringLeft($title[$j], $i)) ;effect 1a, 1 by 1
Else
WinSetTitle($hwnd, "", StringRight($title[$j], $i)) ;effect 2a, scroll to right
EndIf
$i += 1
Else
If $c = $s Then
$i = 1
$in = False
$c = 0
$effect = Random(1, 2, 1)
Else
$c += 1
EndIf
EndIf
Else
If $i <> StringLen($title[$j]) + 1 Then
If $effect = 1 Then
WinSetTitle($hwnd, "", StringLeft($title[$j], StringLen($title[$j]) - $i)) ;effect 1b, 1 by 1
Else
WinSetTitle($hwnd, "", StringRight($title[$j], StringLen($title[$j]) - $i)) ;effect 2b, scroll to left
EndIf
$i += 1
Else
$i = 1
$in = True
$effect = Random(1, 2, 1)
If $j = $k Then
$j = 0
Else
$j += 1
EndIf
EndIf
EndIf
EndFunc ;==>Display_InfoFunc Close()
[/autoit] [autoit][/autoit] [autoit]
_BASS_Stop()
_BASS_Free()
DllClose(@ScriptDir & "\BASS.dll")
GUIRegisterMsg($WM_DROPFILES, "")
GUIRegisterMsg($WM_TIMER, "")
DllClose($dll)
_GDIPlus_PenDispose($pen)
_GDIPlus_BrushDispose($brush_l)
_GDIPlus_BrushDispose($brush_r)
_GDIPlus_BitmapDispose($bitmap)
_GDIPlus_GraphicsDispose($graphics)
_GDIPlus_GraphicsDispose($backbuffer)
_GDIPlus_Shutdown()
GUIDelete($hwnd)
Exit
EndFunc ;==>CloseFunc Load_BMP_From_Mem($pic) ;coded by UEZ. Thanks to ProgAndy for mem allocation lines
[/autoit] [autoit][/autoit] [autoit]
Local $memBitmap, $len, $tMem, $hImage, $hData, $pData, $hStream, $hBitmapFromStream
$memBitmap = Binary($pic) ;load image saved in variable (memory) and convert it to binary
$len = BinaryLen($memBitmap) ;get length of image$hData = _MemGlobalAlloc($len, 0x0002) ;allocates movable memory ($GMEM_MOVEABLE = 0x0002)
[/autoit] [autoit][/autoit] [autoit]
$pData = _MemGlobalLock($hData) ;translate the handle into a pointer
$tMem = DllStructCreate("byte[" & $len & "]", $pData) ;create struct
DllStructSetData($tMem, 1, $memBitmap) ;fill struct with image data
_MemGlobalUnlock($hData) ;decrements the lock count associated with a memory object that was allocated with GMEM_MOVEABLE$hStream = _WinAPI_CreateStreamOnHGlobal($pData) ;Creates a stream object that uses an HGLOBAL memory handle to store the stream contents
[/autoit] [autoit][/autoit] [autoit]
$hBitmapFromStream = _GDIPlus_BitmapCreateFromStream($hStream) ;Creates a Bitmap object based on an IStream COM interface
$tMem = ""
Return $hBitmapFromStream
EndFuncFunc _WinAPI_CreateStreamOnHGlobal($hGlobal = 0, $fDeleteOnRelease = True)
[/autoit] [autoit][/autoit] [autoit]
Local $aResult = DllCall("ole32.dll", "int", "CreateStreamOnHGlobal", "hwnd", $hGlobal, "int", $fDeleteOnRelease, "ptr*", 0)
If @error Then Return SetError(@error, @extended, 0)
Return $aResult[3]
EndFunc ;==>_WinAPI_CreateStreamOnHGlobalFunc _GDIPlus_BitmapCreateFromStream($pStream)
[/autoit] [autoit][/autoit] [autoit]
Local $aResult = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromStream", "ptr", $pStream, "int*", 0)
If @error Then Return SetError(@error, @extended, 0)
Return $aResult[2]
EndFunc ;==>_GDIPlus_BitmapCreateFromStreamFunc VU_Image()
[/autoit] [autoit][/autoit] [autoit]
Local $VU = '0x89504E470D0A1A0A0000000D49484452000000BE0000006B0803000000FE59C833000002A6504C5445000000FFFFFF282828707070B8B8B8484848D8D8D8F8F8F8808080A0A0A0181818E0E8E0F0F0'
$VU &= 'E8E8F0E8C8D0D0E8F0F0F0F8F0D8E0D8809088586868909898E0E8E8F0F8F8607068707878B0B8B8F8F8F098A0A0D0D8D880888898A8A0D8E0E0C0C8C8C0C0C0687070C0C8C0C0C0B8E0E0D8788080B8'
$VU &= 'C0C0D0D0D0585858787878888888D0D8D0B0B8B0F8F0F0606060909090A8B0B0A0A8A850605868686860686898A098808880708078A8B0A8485858889090A0A8A0F0F0F8989898707880788078788888'
$VU &= '7078709898A0788880506860D0D0D8F8F0F8808890687878909890B8C0B8A0A098806040A08080D04838D0C8C888908890A098808078B84030D04038C03828C86050E0C0A0B8B8B0C8C8D0C03830C840'
$VU &= '30C83830C04840505858B8C8C0C84038E08080889898D03830A08060888880B06058E8E0D8586860F0E8E8687068F8F0E8384840789088907068C8D0C8C83828986858C83028202020C83020D8D8D098'
$VU &= '7870B0B0B8708080586060485050B0B0A8606860687870B06860C02020787070806060A87060404020787870806868A8A8A03838380404042C2C2C4C4C4CDCDCDCFCFCFC8484840C0C0CA4A4A4B4B4B4'
$VU &= '1C1C1CF4F4F4F8FCF8C4C4C4FCFCF8D4D4D4CCCCCC7C7C7C8C8C8C545454F8FCFC6464645C5C5CFCF8F8FCF8FC6C6C6C9C9C9CF8F8FCFCE0E084807CBCC4C07C88848C7C7CB06458A4ACA87884809C6C'
$VU &= '60D0D0CC808C88A47C7C8C94949C808098A09C90746CC44038D4D4D0807C7CA04C4074807C787C7CBC4838CCD0CCB8BCB8A46C58C8CCC8E4E8E0F0FCF8E4E8E4B0B4B0ACB4AC748080B05044BCC0BCC0'
$VU &= 'C4C0F4F8F4808C8CAC5848DCE0DCB4B8B4E0E4E0909C98D0D4D0D4D8D4ECECEC080808F0F0F0E0E0E0C8C8C8303030BCBCBC343434747474ACACAC404040A8A8A8505050101010E8E8E8E4E4E4B0B0B0'
$VU &= '3C24B1380000138849444154785ED4CE091180400C03C0F87797F4BBE3C70903A8E82A58BC7474849F726E773FCBD0B75FCB78B29FD80520CBDCAF861803D0E443ADB930B7719D67386F84D997A82060'
$VU &= '652F69620196209902AC094004AAD0A201B156DA38159D984E2A516A493111CBDED354AEABA497B4EEC56D33196D860A964B8E02696123AD5BB95737BD5A7553A9357BA1EBB0D80DC71C3687FC27DD3D'
$VU &= '806C6A466401096CC9678667170B70F6392FBFF3EDC10C9D1A0D1C380CA736F45F1FF8CE86A8E140521357BFFA81EFCCD70C1C488C5AE0173DFD927130FD8D52E040A75F6AA48FB6E31CC6DEB357FA22'
$VU &= '14728E8450E748588908F8080121F6505F2E02431E1E663D1C518F3EF2A8D6D9059F4EEDB1EEA80A494844F040348CA4DE5EA71FD2118DC57B34C227FEDD22DADD0B807A88899EB0B977E9F7AD01A50D'
$VU &= '6761CDC0421F9A4357750BDBA06532A422D11F40973310F8D0F7805A52585043AA8ADE4753780F9D6CD6735D0194AD55EFC02D07C67DF50D6CDD58C5D2D7C45007E0FD34533FA44EA66320F4BB524A2A'
$VU &= 'E366E1F6C748E1284A08D1FE30542015CD887832FEBE3C84D394BF01BE7B0DB8F678ED6B6BA8DDE8DB517FF55800C31D181A028687D0042455DF3452D675BC87A0A320D7EF200B8FFCF7A5CA5D001871'
$VU &= '10EDE9B47097D4F10FE755B329FFABD76BA5EB7DF4D46BD777D28781A1AFF0F8163AEAFABB87AF53922502FD230901E23D4CA49F489E182565ED3FF664774E9E9188152296BC4C20FCE14C6F320AB009'
$VU &= '7D71C31D3C56ABFD6FFA7DC7D78F8BBBE9EFE84F50272801A114F3C998BAFD5DC089C6EB5E3C12118A68E8331FA54D13365861ACA08A421ECDF1956BC3D7BCE258D85DBF74E8C63030FFF26AE9DDE19D'
$VU &= 'D3274DA88E0EB24267204D22DC93C6364894554AE76D156E9327BB4C0B0D0A39A4BBB74F7AB7F8176E78EAA543631CFCDEC19DF46120F8DF2EB0F9EEF5EB87941DF4E913C93DF9FD11E8603CA550A4C3'
$VU &= '85C23DD5439B03B948432B11149010423969120D466227B5A7EAD77D5801B9A37EEDE543252070ECF8B1E1D28EFA40CD316080CA620D3BCBC32968A74E45EA45444BCD7CC4B76705EF41B845D1388B6A'
$VU &= '114854247E60DB2C7B7FF0A38FF40220558064D689606736053CC4E215DF6FF7C79621871DED492190D3BAC04A850DBABA68DB3621314984F375531BB9BBEB8288E655E8044CF94A3D2A7D093DE924C9'
$VU &= 'D050E1E1F73CF2FCFE2D9F55BB629A204174697992B0E9A1EB48F8B224984F80F223F13147EA5B9E3EC146E3C9D1A2457F3B6143282C37AEC73F12054432B6FBB6418EC6036DD958A75CB56942B821B5'
$VU &= '90A387D437758487D2204DBFA0E5822694B1A7C10A6095F3BE3E818F21A20560EBE8D504BAC0BC1629AB000826A3C948249F74F66AC749CB22510F9E69D781D3110525302D1D915886202DA40A521570'
$VU &= 'F2E1C6C76377D387A3C96BD11FAAB20BCE232964650400A943391100F746DFAE5A047B3BCBA46DA942B72052BDB2724CAABA45223712814EA2B7A0420D09E5E94CFFA9DC482C56D062FDA7F3F95C34E5'
$VU &= 'C6D54041E61BCB43253ED4A180A00DD3247572645CBD579F6D4CDF632C291337CD323D0027206B2097024FC22D2800184AF7C7A2C1582C968FA61289703C1E5794DEDE703811CDE563B16477F019D771'
$VU &= '4E2920F9F14F3C3BF15CD6A2C8DA242D1E15F00F68C036EAD3041249D5E9C8F9FEB42AB009F1C91448331A3B821022B154281D0D6ADAA772036941DC0F5528CF8C7E4A3BF1643E1D81F8E1336727CF9C'
$VU &= '3BFF231B02A4CD4E15A4499F0AC0066D4A5FA4B23F7A8A08271DE866D52ED326311013C8C2D1126059F4F4C7F2195789C0476ADC7F3F4CA124F29A96FFE427A62626A62FCC7833C85A3A5CAD57CE8226'
$VU &= 'A9FA7D1440B94DFA44E2D31A92792FE3005456099A20C4480A24735A3CA515728DCCEBC38E7FFABA917AF833E3E3E3335317272626CE5E3C37FBF5C88FE5A47DC53449FA7DD419D204DAA4AFB2B33FEA'
$VU &= 'F41773DD0A74BB6C9BA64D12294D806AFEA33DB9B0DA48AB19480B80353EFEFB2FCE5C9C3B3B71616AF6C77FE20828A990F0FBA813CD6B026D4A9F88F73FAD16C7C22069B2EC8F1FAB44F21925373E7A'
$VU &= 'D404CA680D822C0FBC7AFA0FFFE8E2F4D9B3D39333B33FC5B2CE3A2AE1913971B43DFA10AE8354FF610032A00A65F7815AF8692D2500130F46B5BA7AF3B527FEF8CCE4F4C4D9A999D99F0149DBAC10A1'
$VU &= 'B49BEFF8D9F6741E42A41412AE83CE9C03B242593AA194968F13241E0276FDC99F9EFE337F15CC5D3877FEB3A00FC4899F2BA69C87D4679D0A850049942DE6345297F26AB49077F0F090D6DB7F7EFA2F'
$VU &= '6626A7CF5E983A77DE2E93EC82F8DCE7BA2AF0301F589FA41C6D0296491F44623950273850C81F0688366093B5D86B7FF90DAF0D5DF09600988513E9FA8C83874A9F84C86404C8B269DB264DD324E1F8'
$VU &= 'CFAAEA252DE8A07D50D7F5D74F3FFB8DE727262ECE9CCFE2E9EEF4FBB9930FA24FA2735CD39E4883B42C5AA6E51F88818288C4B430DA0D3B0BA77FE1F939AF82669F4BA6409D2024BBE97F7517FD4041'
$VU &= '20DA110749D3F2C3B74D12D17ECD55B117FC55CF5FFFCDF4C4DCF499675966B5AE4FAAA4BE5BFA1BF7D3A74D284303508341153449D3362D9270C63501624FE0CADFFEFC0B73D35E0FCD8255D3040824'
$VU &= '334901ABB5E2D121B47191EA4E9C8C8D8440DB96954F0B033DA9965A258956587DE4EFFEFEC2D90B93E7BE5EF66F4AEA0825C723B8F4CC11E84DA62FED0BB958B2F352F244410169D9F4ED11098E09E8'
$VU &= '2D1895DE192CA115AA6BAFFDC3E485B9CBE73E0FFA37B5993C9C1418481655B4A0AF0C29C20B5AA443A054B76DC2D146D50A4DAB697FBEB9B47489065AE11F4F7F61F2F9B91766CE83FC266DD2AE300B'
$VU &= 'E5291746B3FA34D5742892FFA5A80BD8A44E1FB88530C88A65A3490C717BD3B92D5AD387FECF43FFE2F94F9DB7A99BD411D714B5E7576291E6D3A76E9AB432BF9A14A12F5E828C9E88161C90AC12CD52'
$VU &= '5A1E14627099688D7FFDB79E7F7F61EEF2D4AC6D67AB44FCB18CF36B79902D148FEA3A883EA58099A40BFAE462219036596D3A7CE796B3BAEAAC6C1A680DFEE7AB3F7979FAF9C9D9ACAD1348FCFAA7B5'
$VU &= '93660BB56FAAA930784485AE23D19D4296EA5891205931D134A59545E1F1CEAD125A83E5FC6B9EFFE5C9D9CF96F99C4BA11064F3FA74D2042D929E7FF8A91C446194F56F8855340BBFB5EC080FE7AD2B'
$VU &= '2DC66F92B95F7EF1F2DC0BBF316BE77ED32D1326C9E6FB3E6952A243B8914B3DB142942069A3798CDAA8227C36176F975AF3376DF2D68917A7E6E6667ECB2B6055A507764ABF761FFD063A39F2443CFF'
$VU &= '6800244DA205F8C682B32971FEE01DA225E89138FDDB53675EFA9D23C8D29655D0D2A6017568E95FECE8CF116415AD60883B8AA72FF9D6E86A6BF1DB0079E9D5DF7DE9F7AAD469FBFE6821FDED58F028'
$VU &= '93680D2E2FF9F61267E04DB65AFDE8FAE6958F3F53A66ED307BBEAB71BC3787B4571DE43B9D3F4B3CBB2D0802C83ACCF053BE87FF01E7D03BB0336AB5F5A59BA5237F7872BEE328D66F56D34A8EE94FA'
$VU &= 'DEA7AFDCAA7B2FAE2CCA49DC7EBB597DC084846017EA34917EFB904D7349B9E2B1B8B2BCE29F28EE4AA9F5BB10FF3FFA7CE32D69AF2CBFB99A7115390FA54D77D97B7D63757450DABB999AE1DC5EF4CE'
$VU &= '14F74ECD300E84BEC1E5BE45C563E9CEDB86FF6270707069616B900742DF30366F0FFAF683B73C6303B595A24730B87240F44B2B0B8B3ECB8DAD6669B5E653327020F4959525DF7EB0CF91D6F7D2CE59'
$VU &= 'B4BFEFCBA6B93028F503C5E03DBCFEFAC848B0F816DB9AFE77ADB7579F6FDC1A6CE02EF479ACADC9211008DC2EDE743789F6E9AF79FAED4DDF58BDB920DD975C692FF1DC57EE146F29B5120DB453BFDD'
$VU &= 'E91B1C58715D571A37B8BA75F5F6CDD137376B256F0D1BD8BFFAB269DEDC0A5CBDBAE5E31FD6D7B746FDD8595B5596B78A77560D633FEB9756E6D7EFB2B1B1BE5E1C75FFA944C360A6589C9FDF985FE3'
$VU &= 'BED6BF321F9CDFD8D898F71ACDC64631A0D4287D0D2E8FCC7B048BFF61ECDBA56B18A59BAF78E2AF8C0537FC26E3C7FE5E3B9DF7DF098E8D960C639FA66F70F095316D2C381F5C91B11BDB67B6383236'
$VU &= 'F6CAD8D8C81BDCB7FAA53B63C1EDB16FD72FDD1996AC97DAA7DFD7567DD46E66646F6FC8DFEB2FAE06D63C166A86B15F97AE54DFB1B4EA18D8AFE963D7FF9C37EA603FE9B7CEC1D037600077D3360E98'
$VU &= 'BE0189D4971807465FAAD694BEE1C70FBDEC71E8F1E13EA5262FFFDFEA1BA55A8D0F225F5A1A3EFEA56F7FF9830DBEFCED2F1DBBE6961E6402945F321F40DF40EDCAC2FAD6924318ADC9AFFE0FE756B4'
$VU &= '9CAA0E451B0C89F8DC1FC81BC5077CE099AFF223A88285320CA8A333FA4734092844217F7283B6A770CFB9BDED592A387BEFC9ACACBDB3639C41EE3C45F974F2DE713AA9A978B668C00F87C26D262BE2'
$VU &= 'D3BF519FA6EE78B359877EFCA3277CB0DC2F34C5FDC6FE763B75E892B1AD6817F16DC4BEB036B3F1CCA43FA5AF683077255C578CC336F88168E85C2CEEDCEBA57D50C53F72F67A7D9FC862E1643FE95C'
$VU &= '8D1C2B06E166E36310FC507D9A8C67B6BD77662B137F3FDBF052D41D3CDDB6D68AF9656B3BE7B565D7DECD5CE8F2FB8D02A3A93BDADBF66C55D29FFD685029A672B5BD6CB74B7B45E877E9C7E272D93F'
$VU &= 'EDB7B53EB20E975ABBBEBCBDBD5DE7F565B43EE8F593725D9647FADD64C6C96AB7DC2AACC59F8B2E268BFFA00F024AB6A75AE16467F49BECA9B01D6B3CB67567BDAF4FDAF57ADA1F0EF669729D9FF4DD'
$VU &= '5A99C7E3B563BBF91F98F41FD6FBD82BE26CE779B74C7614DF5FBD384007F48788D176A12AD6D30E2CFE865C41C77EEF8CA7D6E562ED54B1CF5F74C1681C53269F147FAF76ACE576BD1A1F9EDCFC7BFA'
$VU &= 'E3C6D2BA55B4D0BBB5FBFFEA078332CEA5A71585B62479F02DED71B577A6B391EE5875A1D84FC68CD25881D276367FF5BC6269D9FA79361DED8DDFD2C97C9A6293509A99D8375384EF7AF0AD62B03819'
$VU &= '79B7741B1FA828EA339435C0CFF0803E2B4D24A1292346A20C71151E53E8E8CB11A7F8361DC263D8CA469A304A7104E3DF562DB1157B5BB7EC42B1D726B3B6C9E91D4D7B7C55FA178573D69DD9D4D947'
$VU &= 'C34E1200689023811C9A5102AB2811F71325A699B5D46D99E37B0C95CC4D8E5042112722EB174F208F50D06CC65925431395DDF01853C628C6F74419A2A9D80CBABCAA2066B21D663308D0C1DECC2EDB'
$VU &= '753DEFB6A9898358F30B0C9D275D3B9D2FD797A7D9C676CC000C90B8C72A444026666CC8924777F79D418E6FEC73C335210B8F4722650628CC07EABBC7B26A1237415292368D62FC71C008EEFA64EE91'
$VU &= '54CC758D44701A10180CE50BE8E66935D577A3422B14B44594B24FB4293CCD6F76CFDA2F67D3A771D32FFF001021A5292547426611E161692A639F41009228A92225AE2C230C7068B41DFDE2437D9EF9'
$VU &= '4C121F96392F3306617B5FE41F00BC61256F13D34C4D00A82CF3BEFA2AA0DC9F2D7D64CFB562B15814AF76827CE4BF0321C40FAF3787A61D0EFAD47A92C346D82D119033809B1C505575AD1A7E70FA09'
$VU &= '020A00A53856A04110E44D7C57FFF58B8DE4071BA465DB97F572A2DD50BC8E93B40733E59B7971F74D9EACE5C839B04E9D1FE1F778A5FE07FD28C349D4B028C13C0E383139565E96519E129E91848280'
$VU &= 'F332C10043642698247858F972BF7CB28A8936BF61319F1233EBC1248F0BEDEED4AEF5FAB2DD8741BF78D2927342987AA3D2447E9A22546256129F93B4F33765C21100698609E50941CAC500A0BFE807'
$VU &= '3E521643B491297320A06B6060CECCF298F26329239182401866C90197A282992958BF76036AD53B4BBBCEDF51CC57900F006785F6E19D14EBBD3E6AFAE5534A3FEA3A4AC488E0A812A1846E6A4A1855'
$VU &= 'D2ECEA0755709A005C1938314A215126A3B2AF7E809BC8C4C710101EE581806685B198C15619248255B76BCBB0C94A40122138427050F940D62367727D9DBC2AA86BA15932213D2472AC151FEEF9757E'
$VU &= '3E7812F4F813E9C34AF8823724EA9A4F65548F9257A12F09BAD137D47000B98F6960E41561A608D9A078046CA22A35AB889651023188202C194424C8222E1AAE3480308214E48240C9C22807BDCD4EE8'
$VU &= 'D6F67A9D7CE05A68F611963D40C3D18AC967C075775E42F079904C18200D2F21411C26314C9128591931A406C97010048803BF22D24C212E6954A61CA181FA00DF3FF4D6AD06CFFD759DEBCE15BF5FB0'
$VU &= '0A093E0B379E2EC7F5DBB5074DAB570246BF00ABA9AE69FD88B7E55A7F049F12BC1FEC3106EF8DF2C33858220A7D6AB46B9C77FAACEB9C7E0310F35BD098AC6D6966A6A8F1E9FF7503D3B6ADC5F3B58F'
$VU &= '89A7EDA6B2AA6487EEBE71346F320879F6C6DB03FBE2F8759F448B529421C69A386D1105BE99372CE54C997D1074F40B49BB6956D3A31186110E8D48C67C631C1FB399EB0A1E31107C79B872F5F3EEE5'
$VU &= 'F96580B745713A4C8508C51D9B9157146F6F839887D7D161293A79BF1227095DE91A86A8905B4559136EB898B91B28852131A0C47BA85D8AD5182D6A106369DCE48C05D467CCCFD5451963107CA10FDF'
$VU &= '6DC7FAC3F3DB10CF2FF5C2B32D5709628486BBDED55A7DFD77D0C3F3657D19A12FFF97034DAB94677E9BB64DE3D3B84554D1F4D5F79BFA86FE503BE8AFF7ADD45A9E47AF0F7FC0B52E4E17FBBC9A4E57'
$VU &= '67FBE22DEAC99FA2E6D66139F5C15F82B2D1E5A1D8594DFC4F2B75B0E2200C840178BAD968C95BECB173E9250F995457E9D18ABE532D4A24CC40DFA4B1746F6D6060BFF39F7F0602534AFDA6D73FA887'
$VU &= '2EC27B1CC357889A4847770AD1C07B5577ACF673B9DD0BB16B333AF076B4DF452D34DF9B03D9AE6FE1933644B79C364E07864F78DC0F74BC9CE7A29652A3F200AC5435588994A6CAAEA8197278894F4B'
$VU &= '3E660857AB69AB156E81E6F583889D00A6B8A205003CE4B1310C597EAB08B43E4B45B06FFFE6FB49C6C3BFF39314240FFB2BE73850E508D20000000049454E44AE426082'
Return $VU
EndFuncFunc VU_Fragement_Image()
[/autoit]
Local $VU_Fragment = '0x89504E470D0A1A0A0000000D49484452000000350000001E0803000000BB53A6B7000000AE504C54450000003030302828281010104040404848485050507878786060606868683838381818182C2C'
$VU_Fragment &= '2C343434202020080808A8A8A88888889090907070705858588080807474744C4C4C7C7C7C5C5C5C6C6C6CB8B8B8B0B0B0646464D8D8D8F0F0F0E0E0E0ACACACC0C0C08484840C0C0CA4A4A41C1C1C8C'
$VU_Fragment &= '8C8C545454040404A0A0A0E8E8E8E4E4E4D4D4D4C4C4C4D0D0D0C8C8C8B4B4B49898989C9C9CBCBCBCDCDCDCF4F4F4CCCCCCECECEC909898AA04C38C0000000174524E530040E6D8660000025D494441'
$VU_Fragment &= '54785EC5D2D772DB381480611EF4CEDE49F52E773BC9EEFBBF58204AB1A954E52ADF053183C37F301C30F8E716094F1B2FE5C9E2C624910A0CBA30A0C4F68F49D72B64C05A75612D18A444F4DBA636C8'
$VU_Fragment &= '2743342CF644F97037FF6554803927A4148DFFB054D6949C7B63E4CF9B9601395154F0CA076C2764517141143901FAB32862ACCEEA1DA1296F1841781586217684A5554349E647AC7CFD311292E7B9A0'
$VU_Fragment &= 'B2AA894518DBBA6984D5D859DA577E3BCF2B295EBE8F6A99C79C31DE13A5DC8A46B3E9E7CFD35997F94C11C9CB5DB5CC9BEC3A9BD7324E522A39011FE97C36F591CFA67789DB28052517B448E2B43E8C'
$VU_Fragment &= 'A285F091A05C808F904EEE8EFF4DCF8E77AF1B6715802CA84C62593F7F548DD8266C5711A7AC052D27B3E3BBD9A4D0A7FB7065C5B2642BE47BB4CD9631ED5340E021F37C3FFB7077DF5A37EC2B5E9749'
$VU_Fragment &= '9CE597E8AD2E384D8543608C818D78987C9A7CBA984C264FCD661820D43434E65977AEB810AC2A351AC0267FB81F79BC7FDA3A40039DF13295CDE5E72B330E1AB98171F1E2F1CBC8E3E27F83CE438449'
$VU_Fragment &= 'C576F57A388AF41C6177016ED93E5D691340EE424355D3F4E88F22A9D478A3379E7F02E2DDC362E4A1CB117C1B3BEC8A46754144F90E63FD0D06245EDBB791F62011E87718F74519943909F108426419'
$VU_Fragment &= 'B5CFEFDA794C11C223615905DCECF19856A88FBBF9BC1BF8752B91D2786CAF82D57E752534609B388AD6D1D936550061B81A0B827D786DBF224609FE7258AF0FEBC34BD51344F0F72F053FC2042C13C5'
$VU_Fragment &= '328E978560CA101DDC02138B2CA18C51A28CF5D16D56962830278A5A1CDC0C0319000EFE0ED6FA97C957E7B64B82E69A2ACC0000000049454E44AE426082'
Return $VU_Fragment
EndFuncQuellcode alleine läuft nicht, deshalb komplettes Paket hier herunterladen inkl. Exe Dateien: <CLICK ME > oder einfach den Link unten benutzen.
Viel Spaß
UEZ
PS:
ist noch im ßeta StadiumFinale Version -