1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. PuReIroNie

Beiträge von PuReIroNie

  • Autohexagon - ein kleines Spiel

    • PuReIroNie
    • 7. Dezember 2014 um 20:49

    Hmm schade das es auf manchen Systemen nicht läuft.
    Oder kennt hier jemand eine andere schnellere GDI+ alternative?

  • Autohexagon - ein kleines Spiel

    • PuReIroNie
    • 7. Dezember 2014 um 14:24

    @alpines
    Danke :P

    @Andy
    Komisch, also ich habe das Spiel bis jetzt nur auf Windows 7 testen können, ich bin mir nicht sicher ob es auf anderen Betriebssystemen läuft, da ich aus geschwindigkeits Gründen auf GDI+ verzichten musste, nahm ich die hier im Forum veröffentlichte Quickdraw "Engine", es kann sein das diese nicht auf andere Systeme angepasst ist.
    Ansonsten fällt mir jetzt keine Lösung dafür ein.

  • Autohexagon - ein kleines Spiel

    • PuReIroNie
    • 6. Dezember 2014 um 14:19

    Tag,

    Ich habe vor ca 2 Jahren wo ich noch recht unerfahren im Programmieren / Scripting war mit einem Spiel namens Autohexagon angefangen.
    Ich habe mir diese Spielidee von dem Spiel: "Super Hexagon" und "Open Hexagon" abgeguckt.
    Letzlich habe ich mir gedacht bei einer community Challenge mit zu machen, weswegen dieses Spiel jetzt auch Spielbar ist (fertig würde ich nicht sagen).
    Nunja diese lange Spanne von 2 Jahren hat auch seine Spuren hinterlassen... das Script ist sehr unübersichtlich und in manchen teilen sehr Unprofessional geschrieben, bsp. habe ich erst letztes Jahr die Funktion Modulo für mich entdeckt und kann diese erst jetzt auch Clever einbauen.
    Nunja ich will nur nicht das Ihr mich Steinigt :thumbup:

    Der Download ist deshalb so groß weil Musik die notwendig ist beiliegt.

    Screen:

    Spoiler anzeigen


    [Blockierte Grafik: http://666kb.com/i/cu58ozuwe8a04vs0z.png]

    Das folgende Youtubevideo musste ich in kurze Zeit erstellen, deswegen kann sich der ein und andere Fehler eingeschlichen haben...
    Außerdem heißt dieses Spiel dort anders^^
    Ich will nicht das man über Youtube sooo schnell mein Forenaccount findet.
    https://www.youtube.com/watch?v=ScSLvtSt_lk

    Quellcode:

    Spoiler anzeigen
    [autoit]


    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseX64=n
    #AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <GuiConstantsEx.au3>
    #include <Misc.au3>
    #include <include\QuickDraw.au3> ; [user='202504']moritz1243[/user]
    #include <include\Bass.au3>
    #include <include\BassConstants.au3>

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

    Opt("GUIOnEventMode", 1)
    HotKeySet("{ESC}", "om")

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

    Global $iGuiX = @DesktopWidth * 0.8, $iGuiY = @DesktopHeight * 0.9, $fpsIngame = 1, $fps2 = 50, $Datei = @ScriptDir & "\Einstellung.ini", $record = 0, $enable = True
    If FileExists($Datei) Then
    $iGuiX = IniRead($Datei, "save", "guix", $iGuiX)
    $iGuiY = IniRead($Datei, "save", "guiy", $iGuiY)
    $fps2 = IniRead($Datei, "save", "fps", $fps2)
    $fpsIngame = IniRead($Datei, "save", "fps_ingui", $fpsIngame)
    EndIf
    Global $iCenter = 1500, $aMap, $iM = 0, $iRadius = $iGuiX * 0.67, $iRadius2, $iRadius3, $iMusicPulseTolerance, $Titel = "Autohexagon by ", $Name = "Autohexagon", $version = "0.91 ALPHA"
    Global $iPI = 3.1415926535897932384626433832795 ; Ich weis...
    Global $iGrad = 360, $iSpeed = $iPI / $iGrad
    Global $hGUI, $hGraphic, $hBitmap, $hBuffer, $aPointsBG[4][2], $aPointsWall[4][2], $aPointsPlayer[4][2], $aWallPoints[1][4][2], $aHexaPoints[4][2]
    Global $iR = 0, $iRSpeed, $iMSpeed, $irPlayer = 0, $irpSpeed, $irpSpeedTMPl = 0, $irpSpeedTMPr = 0, $iTimeControl, $iWsTmp, $iTimeRotation, $irHexSpeed, $iWallSpeed ;, $iWalls
    Global $iPlayer[6], $wPlayerg[2]
    Global $bColor[4], $uDLL = DllOpen("user32.dll")
    Global $iWaende, $iMaxWaende, $pxWaende, $ChLvlper = 0
    Global $iwColor[3] = [1, 0, 0], $awColor, $swColor, $ihColor[3] = [1, 0, 0], $ahColor, $shColor, $ihColor2[3] = [1, 0, 0], $shColor2, $ahColor2

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

    Global $MenueOption = 1;0 - leicht, 1- normal , 2- schwer, 3- extrem, 4 - unmöglich

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

    Global $timerStart = TimerInit(), $Play = False, $SaveTime = False, $SaveTimeing = 5000, $meneu = False, $SaveTimeing_display = $SaveTimeing, $SaveTimingDisplay = False;True
    Global $aTimerHG[4][2] = [[-1, -1], [$iGuiX * 0.09 + 70, -1], [$iGuiX * 0.06 + 70, 60], [-1, 70]], $cColorHGtimer = 0xAAAA0000, $color_1 = True, $color_2 = False, $color_3 = False
    Global $aMenueHG1[4][2] = [[-1, -1], [$iGuiX + 1, -1], [$iGuiX + 1, $iGuiY + 1], [-1, $iGuiY + 1]], $aMenueHG2[4][2] = [[$iGuiX / 2 - 275, $iGuiY / 2 - 270], [$iGuiX / 2 + 275, $iGuiY / 2 - 270], [$iGuiX / 2 + 275, $iGuiY / 2 + 270], [$iGuiX / 2 - 275, $iGuiY / 2 + 270]]
    Global $aMenueOptions[6] = ["Leicht", "Normal", "Schwer", "Extrem", "Unmöglich", "Beenden"], $menueIndex = 1, $menueEingabe = False, $menTexP[6] = [0, 0, 0, 0, 0, 0], $menColP[6] = [0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000], $menPreP[6] = ["", "", "", "", "", ""]
    Global $letzterPunktestand = "0", $menueGameOver = False, $Dummy_PicMenue = -1, $MenuePic = False, $menue2 = True
    Global $loadColor[3] = [2, 2, 2];[2,2,2]

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

    Global $ShootEgg = True, $ShootTimer, $ShootEgg_p = False, $ShootIntervalMin = 4, $ShootIntervalMax = 10, $ShootInterval = Round(Random($ShootIntervalMin, $ShootIntervalMax), 3), $ShootSaveLocation = 0, $ShootAfterAim = 2.2;Sek
    Global $ShootPoints[2] = [0, 0], $shoot = False, $augeX, $augeY, $LaserBreite = 10, $LaserPoints[4][2] = [[0, 0], [0, 0], [0, 0], [0, 0]], $shoot2 = False, $GuiVerltnis = Sqrt($iGuiX * $iGuiX + $iGuiY * $iGuiY), $shootDauer = 1.5, $iRadius = $GuiVerltnis, $fps = 0;, $iCenter = $GuiVerltnis

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

    Global $iLength, $file, $MusicHandle, $MusicVollume = 0.3;Musik

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

    _BASS_STARTUP()
    _BASS_Init(0, -1, 44100, 0, "")

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

    $file = @ScriptDir & "\Music\JamerikanBeatz - Last Time (Dubstep).mp3";Touhou

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

    $iHex = 6
    $iRSpeed = 1
    $iMSpeed = 8
    $iMaxFrames = $fps2

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

    $iRadius2 = 100
    $iRadius3 = 85
    $iMusicPulseTolerance = 37

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

    $iTimeControl = 2 ; Speed
    $iTimeRotation = 30
    $iTimeWalls = 20

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

    $iWaende = 55
    $iMaxWaende = 15
    $pxWaende = $iGuiX / $iMaxWaende

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

    $irpSpeed = 0.8 ; Unter 1
    $irHexSpeed = 2.0;1.4
    $iWallSpeed = 4;3.5

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

    $swColor = "0xFFFF0000,0xFF00FF00,0xFF0000FF,0xFFFF00FF"
    $iwColorSpeedPx = 5
    $iwColorSpeedTime = 15
    ;--
    $shColor = "0xFFFF00FF,0xFF00FF0F,0xFF0F00FF,0xFF0F00FF"
    $shColor2 = "0xFFFFF0FF,0xF000FF0F,0xFF6F604F,0xFA0FB09F"

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

    $ihColorSpeedPx = 5
    $ihColorSpeedTime = 10
    $color_1 = True
    $color_2 = False
    $color_3 = False

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

    $ipRadius = $iRadius2 + ($iMusicPulseTolerance / 2.6);100
    Global $wPlayer[5] = [20, 15, 25, $ipRadius + 18, $ipRadius + 5]
    ;----------------------------------------

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

    $wPlayerg[0] = $wPlayer[3]
    $wPlayerg[1] = $wPlayer[4]

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

    $iRadius2g = $iRadius2
    $iRadius3g = $iRadius3
    $irpSpeedTMP = $irpSpeed
    $aPointsBG[0][0] = 4
    $aPointsWall[0][0] = 4
    $aPointsPlayer[0][0] = 4
    $irpSpeedTMPr = $irpSpeed
    $irpSpeedTMPl = $irpSpeed
    $aHexaPoints[0][0] = 4

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

    _Start(0)

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

    _PlayMusic(1)
    _Load()
    _QuickDraw_Enable($Titel, $iGuiX, $iGuiY, 10, 100, False)
    Global $ptrFont = _QuickDraw_CreateFont("Arial"), $Texture1 = _QuickDraw_LoadTexture("gfx\auge_lines.png"), $Texture2 = _QuickDraw_LoadTexture("gfx\auge.png"), $Texture3 = _QuickDraw_LoadTexture("gfx\scope_lined.png")
    WinMove($Titel, "", @DesktopWidth / 2 - ($iGuiX / 2), @DesktopHeight / 2 - ($iGuiY / 2) - 35)

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

    $bColor[0] = 0xFF93BB49
    $bColor[1] = 0xFF1E66AE
    $bColor[2] = 0xFFDF6026
    $bColor[3] = 0xFF94D394

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

    $aMap = _LoadMapfString(FileRead(@ScriptDir & "\F.txt"))
    AdlibRegister("_Control", $iTimeControl)

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

    $time = TimerInit()
    $z = 0
    $iTimeSleep = TimerInit()
    $iRotationTime = TimerInit()
    $iWallTime = TimerInit()
    $iwColorTime = TimerInit()
    $ihColorTime = TimerInit()

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

    While ( _QuickDraw_Running() And (GUIGetMsg() <> $GUI_EVENT_CLOSE))
    If $SaveTime = True And TimerDiff($timerStart) > $SaveTimeing Then $SaveTime = False
    If $SaveTime Then $SaveTimingDisplay = True
    If $SaveTimingDisplay = True And TimerDiff($timerStart) > $SaveTimeing_display Then $SaveTimingDisplay = False
    If TimerDiff($iTimeSleep) > (999 / $iMaxFrames) Then
    _QuickDraw_ClearBuffer($ihColor2[1]);0xFF1E66AE )
    $iTimeSleep = TimerInit()
    _dawHexagon()

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

    $z += 1
    EndIf

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

    If TimerDiff($iRotationTime) > $iTimeRotation Then
    _Rotation()
    $iRotationTime = TimerInit()
    EndIf

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

    If TimerDiff($iWallTime) > $iTimeWalls Then
    _WallSpeed()
    $iWallTime = TimerInit()
    EndIf

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

    If TimerDiff($time) > 999 Then
    ;~ ;;~ ConsoleWrite($z & @CRLF)
    ;~ ToolTip($z)
    $fps = $z
    $time = TimerInit()
    $z = 0
    EndIf
    WEnd

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

    Func _dawHexagon()
    ;~ $tmptimer_2 = TimerInit() ; @@@ TMP

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

    _Effects()
    _QuickDraw_Circle($iGuiX / 2, $iGuiY / 2, 100, $Texture1, 0xFFFFFFFF)

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

    For $iH = 1 To $iHex
    $aPointsBG[1][0] = $iGuiX / 2 + Cos(2 * $iPI / 360 * ($iH * ($iGrad / $iHex) + $iR)) * $iRadius
    $aPointsBG[1][1] = $iGuiY / 2 - Sin(2 * $iPI / 360 * ($iH * ($iGrad / $iHex) + $iR)) * $iRadius
    $aPointsBG[2][0] = $iGuiX / 2 + Cos(2 * $iPI / 360 * (($iH + 1) * ($iGrad / $iHex) + $iR)) * $iRadius
    $aPointsBG[2][1] = $iGuiY / 2 - Sin(2 * $iPI / 360 * (($iH + 1) * ($iGrad / $iHex) + $iR)) * $iRadius

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

    $aPointsBG[0][0] = $iGuiX / 2 + Cos(2 * $iPI / 360 * ($iH * ($iGrad / $iHex) + $iR)) * $iRadius2
    $aPointsBG[0][1] = $iGuiY / 2 - Sin(2 * $iPI / 360 * ($iH * ($iGrad / $iHex) + $iR)) * $iRadius2
    $aPointsBG[3][0] = $iGuiX / 2 + Cos(2 * $iPI / 360 * (($iH + 1) * ($iGrad / $iHex) + $iR)) * $iRadius2
    $aPointsBG[3][1] = $iGuiY / 2 - Sin(2 * $iPI / 360 * (($iH + 1) * ($iGrad / $iHex) + $iR)) * $iRadius2

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

    $aHexaPoints[0][0] = $iGuiX / 2 + Cos(2 * $iPI / 360 * ($iH * ($iGrad / $iHex) + $iR)) * $iRadius3
    $aHexaPoints[0][1] = $iGuiY / 2 - Sin(2 * $iPI / 360 * ($iH * ($iGrad / $iHex) + $iR)) * $iRadius3
    $aHexaPoints[3][0] = $iGuiX / 2 + Cos(2 * $iPI / 360 * (($iH + 1) * ($iGrad / $iHex) + $iR)) * $iRadius3
    $aHexaPoints[3][1] = $iGuiY / 2 - Sin(2 * $iPI / 360 * (($iH + 1) * ($iGrad / $iHex) + $iR)) * $iRadius3

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

    $aHexaPoints[1][0] = $aPointsBG[0][0]
    $aHexaPoints[1][1] = $aPointsBG[0][1]
    $aHexaPoints[2][0] = $aPointsBG[3][0]
    $aHexaPoints[2][1] = $aPointsBG[3][1]

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

    _QuickDraw_Polygon(0, 0, $aHexaPoints, 4, $Draw_Fill, $iwColor[1]);$bColor[3])

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

    If Mod($iH, 2) Then
    _QuickDraw_Polygon(0, 0, $aPointsBG, 4, $Draw_Fill, $ihColor2[1]);$bColor[1])
    Else
    _QuickDraw_Polygon(0, 0, $aPointsBG, 4, $Draw_Fill, $ihColor[1]);$bColor[2])
    EndIf
    Next

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

    If $iWaende * $pxWaende <= $iM Then ; Map neu(e) laden
    $iM = 0 - $iCenter
    _Load_dif($menueIndex, False)
    EndIf

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

    AdlibUnRegister("_Control")

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

    If $shoot And $ShootEgg Then
    $augeX = $iGuiX / 2 + Cos(2 * $iPI / 360 * ($wPlayer[0] + $iR + $ShootSaveLocation)) * 30 ; Oben X ; Das Auge das sich mit dem Player dreht
    $augeY = $iGuiY / 2 - Sin(2 * $iPI / 360 * ($wPlayer[0] + $iR + $ShootSaveLocation)) * 30 ; Y
    _QuickDraw_RotateNext($augeX, $augeY, 360 - ($wPlayer[0] + $iR + $ShootSaveLocation))
    Else
    $augeX = $iGuiX / 2 + Cos(2 * $iPI / 360 * ($wPlayer[0] + $iR + $irPlayer)) * 30 ; Oben X ; Das Auge das sich mit dem Player dreht
    $augeY = $iGuiY / 2 - Sin(2 * $iPI / 360 * ($wPlayer[0] + $iR + $irPlayer)) * 30 ; Y
    _QuickDraw_RotateNext($augeX, $augeY, 360 - ($wPlayer[0] + $iR + $irPlayer))
    EndIf
    _QuickDraw_Circle($augeX, $augeY, 40, $Texture2, 0xFFFFFFFF) ; Auge

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

    If $MenuePic = True Then
    _QuickDraw_Rect(0, 0, $iGuiX, $iGuiY, $Dummy_PicMenue, 0xFFFFFFFF)
    Else

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

    EndIf

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

    If $meneu = False Then
    _CalcWall()
    For $iWs = 0 To $iWsTmp
    _2D3_Load($iWs)
    _QuickDraw_Polygon(0, 0, $aPointsWall, 4, $Draw_Fill, $iwColor[1]);$bColor[0])
    Next
    AdlibRegister("_Control", $iTimeControl)

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

    _QuickDraw_Polygon(0, 0, $aPointsPlayer, 4, $Draw_Fill, $iwColor[1]);$bColor[3])

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

    If $ShootEgg Then _calcShoot(); Fadenkreuz berechnen/Zeichnen

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

    _QuickDraw_Polygon(0, 0, $aTimerHG, 4, $Draw_Fill, $cColorHGtimer) ; Timer HG / hintergrund
    $tmpTime_Anzeige = Round(TimerDiff($timerStart) / 1000, 1) ; Anzeige Timer
    If Mod($tmpTime_Anzeige, 1) = 0 Then $tmpTime_Anzeige &= ".0"
    _QuickDraw_Text(20, 30, $tmpTime_Anzeige & " Sek.", 28, $ptrFont, $Draw_Fill, 0xFF000000);anzeige

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

    If $SaveTimingDisplay Then
    $tmpTime_SaveTime = Round($SaveTimeing_display / 1000 - (TimerDiff($timerStart) / 1000))
    If $tmpTime_SaveTime < 0 Then $tmpTime_SaveTime = 0
    If $tmpTime_SaveTime <= -0.99 Then $SaveTimingDisplay = False
    _QuickDraw_Circle($iGuiX / 2, $iGuiY / 3.5, 40, $Draw_Fill, 0xAA0000FF)
    _QuickDraw_Text($iGuiX / 2 - 20, $iGuiY / 3.5 + 25, $tmpTime_SaveTime, 78, $ptrFont, $Draw_Fill, 0xFF00FF00)
    ;SaveTime display, anzeigen wenn save mode an ist.
    EndIf

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

    If $menue2 = True Then
    om()
    EndIf

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

    Else ; Menue offen
    _QuickDraw_Polygon(0, 0, $aMenueHG1, 4, $Draw_Fill, 0xAA000000);D34B25 )
    _QuickDraw_Polygon(0, 0, $aMenueHG2, 4, $Draw_Fill, 0xAA06193C)

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

    _QuickDraw_Text($iGuiX / 2 - 170, $iGuiY / 2 - 175, $menPreP[0] & $aMenueOptions[0], 78 + $menTexP[0], $ptrFont, $Draw_Fill, $menColP[0]) ; Menue Einträge
    _QuickDraw_Text($iGuiX / 2 - 170, $iGuiY / 2 - 100, $menPreP[1] & $aMenueOptions[1], 78 + $menTexP[1], $ptrFont, $Draw_Fill, $menColP[1])
    _QuickDraw_Text($iGuiX / 2 - 170, $iGuiY / 2 - 25, $menPreP[2] & $aMenueOptions[2], 78 + $menTexP[2], $ptrFont, $Draw_Fill, $menColP[2])
    _QuickDraw_Text($iGuiX / 2 - 170, $iGuiY / 2 + 50, $menPreP[3] & $aMenueOptions[3], 78 + $menTexP[3], $ptrFont, $Draw_Fill, $menColP[3])
    _QuickDraw_Text($iGuiX / 2 - 170, $iGuiY / 2 + 125, $menPreP[4] & $aMenueOptions[4], 78, $ptrFont, $Draw_Fill, $menColP[4])
    _QuickDraw_Text($iGuiX / 2 - 170, $iGuiY / 2 + 200, $menPreP[5] & $aMenueOptions[5], 78 + $menTexP[5], $ptrFont, $Draw_Fill, $menColP[5])
    If $menue2 = False Then
    If $record < $letzterPunktestand Then
    _QuickDraw_Text($iGuiX / 2 - 170, $iGuiY / 2 + 260, " Rekord!: " & $letzterPunktestand & " Sek", 40, $ptrFont, $Draw_Fill, 0xFF00FFFF)
    IniWrite($Datei, "highscore", $menueIndex, $letzterPunktestand)
    Else
    _QuickDraw_Text($iGuiX / 2 - 170, $iGuiY / 2 + 260, "Kein Rekord: " & $letzterPunktestand & " Sek", 40, $ptrFont, $Draw_Fill, 0xFF00FFFF)
    EndIf
    If $menueGameOver Then _QuickDraw_Text($iGuiX / 2 - 150, $iGuiY / 2 - 280, "GAMEOVER", 60, $ptrFont, $Draw_Fill, 0xFFFF0000) ; Gameover text
    Else
    _QuickDraw_Text($iGuiX / 2 - 150, $iGuiY / 2 - 280, $Name, 60, $ptrFont, $Draw_Fill, 0xFFFF0000)
    EndIf
    _QuickDraw_Text( $iGuiX/2-40, $iGuiY-14,"SkipToPlay", 15, $ptrFont, $Draw_Fill, 0x18FF0000 )
    _QuickDraw_Text($iGuiX - 260, $iGuiY - 40 - $ChLvlper / 8, "Musik:", 15, $ptrFont, $Draw_Fill, 0xFF00FFF0)
    _QuickDraw_Text($iGuiX - 260 - $ChLvlper, $iGuiY - 20 - $ChLvlper / 8, "JamerikanBeatz @ YouTube", 20 + $ChLvlper / 8, $ptrFont, $Draw_Fill, 0xFF00FF00)

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

    If $menueEingabe = True Then
    Switch $menueIndex ; Menue einträge bei "Enter" abarbeiten
    Case 0
    $MenuePic = False
    _F1()
    _PlayMusic($menueIndex)
    Case 1
    $MenuePic = False
    _F2()
    _PlayMusic($menueIndex)
    Case 2
    $MenuePic = False
    _PlayMusic($menueIndex)
    _f3()
    Case 3
    $MenuePic = False
    _PlayMusic($menueIndex)
    _F4()
    Case 4
    $MenuePic = False
    _PlayMusic($menueIndex)
    _F5()
    Case 5
    _Exit()
    EndSwitch
    $menueEingabe = False
    $meneu = False
    $menueGameOver = False
    EndIf
    If Not ($menueIndex = 5) Then _QuickDraw_Text($iGuiX / 2 - 150, $iGuiY / 2 + 300, "Rekordzeit: " & $record & " Sek.", 40, $ptrFont, $Draw_Fill, 0xFFFF0000)
    EndIf
    If $fpsIngame = 1 Then
    If $fps < $iMaxFrames Then
    _QuickDraw_Text($iGuiX - 50, 30, $fps, 28, $ptrFont, $Draw_Fill, 0xFFFF0000)
    Else
    _QuickDraw_Text($iGuiX - 50, 30, $fps, 28, $ptrFont, $Draw_Fill, 0xFFFFFF00)
    EndIf
    EndIf
    _QuickDraw_SwapBuffers()
    EndFunc ;==>_dawHexagon

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

    Func _Effects()
    _MusicPulse()
    If $color_1 Then _ColorHexagon()
    If $color_2 Then _ColorWalls()
    ;~ If $color_3 Then _ColorWallSwitch()
    ;~ _WallPulse()
    EndFunc ;==>_Effects

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

    Func _ColorWalls()
    If TimerDiff($iwColorTime) >= $iwColorSpeedTime Then
    $iwColor[1] = _ChangeColor($iwColor[1], $iwColor[2], $iwColorSpeedPx)
    If $iwColor[1] = -1 Then _NextColor(0)
    $iwColorTime = TimerInit()
    EndIf
    EndFunc ;==>_ColorWalls

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

    Func _ColorHexagon()
    If TimerDiff($ihColorTime) >= $ihColorSpeedTime Then
    $ihColor[1] = _ChangeColor($ihColor[1], $ihColor[2], $ihColorSpeedPx)
    $ihColor2[1] = _ChangeColor($ihColor2[1], $ihColor2[2], $ihColorSpeedPx)
    If $ihColor[1] = -1 Then _NextColor(1)
    If $ihColor2[1] = -1 Then _NextColor(2)
    $ihColorTime = TimerInit()
    EndIf
    EndFunc ;==>_ColorHexagon

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

    Func _NextColor($ic)
    If $ic = 0 Then
    $iwColor[1] = $iwColor[2]
    $iwColor[0] += 1
    $iwColor[2] = $awColor[$iwColor[0]]
    If $iwColor[0] >= $awColor[0] Then $iwColor[0] = 1
    ElseIf $ic = 1 Then
    $ihColor[1] = $ihColor[2]
    $ihColor[0] += 1
    $ihColor[2] = $ahColor[$ihColor[0]]
    If $ihColor[0] >= $ahColor[0] Then $ihColor[0] = 1

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

    ElseIf $ic = 2 Then
    $ihColor2[1] = $ihColor2[2]
    $ihColor2[0] += 1
    $ihColor2[2] = $ahColor2[$ihColor2[0]]
    If $ihColor2[0] >= $ahColor2[0] Then $ihColor2[0] = 1

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

    EndIf
    EndFunc ;==>_NextColor

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

    Func _ChangeColor($iOld, $iNew, $iColorSpeedPx) ; Danke an minx :P
    If $iOld = Dec(StringRight($iNew, 8)) Then Return -1

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

    Local $iAo = BitAND($iOld, 0xFF000000) / 256 / 256 / 256
    Local $iRo = BitAND($iOld, 0x00FF0000) / 256 / 256
    Local $iGo = BitAND($iOld, 0x0000FF00) / 256
    Local $iBo = BitAND($iOld, 0x000000FF)

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

    Local $iAn = BitAND($iNew, 0xFF000000) / 256 / 256 / 256
    Local $iRn = BitAND($iNew, 0x00FF0000) / 256 / 256
    Local $iGn = BitAND($iNew, 0x0000FF00) / 256
    Local $iBn = BitAND($iNew, 0x000000FF)

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

    If $iAo < $iAn Then $iAo += $iColorSpeedPx
    If $iRo < $iRn Then $iRo += $iColorSpeedPx
    If $iGo < $iGn Then $iGo += $iColorSpeedPx
    If $iBo < $iBn Then $iBo += $iColorSpeedPx

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

    If $iAo > $iAn Then $iAo -= $iColorSpeedPx
    If $iRo > $iRn Then $iRo -= $iColorSpeedPx
    If $iGo > $iGn Then $iGo -= $iColorSpeedPx
    If $iBo > $iBn Then $iBo -= $iColorSpeedPx

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

    Return $iAo * 256 * 256 * 256 + $iRo * 256 * 256 + $iGo * 256 + $iBo
    EndFunc ;==>_ChangeColor

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

    Func _Load()
    $awColor = StringSplit($swColor, ",")
    $iwColor[0] = $loadColor[0]
    $iwColor[1] = $awColor[1]
    $iwColor[2] = $awColor[2]

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

    $ahColor = StringSplit($shColor, ",")
    $ihColor[0] = $loadColor[1]
    $ihColor[1] = $ahColor[1]
    $ihColor[2] = $ahColor[2]

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

    $ahColor2 = StringSplit($shColor2, ",")
    $ihColor2[0] = $loadColor[2]
    $ihColor2[1] = $ahColor2[1]
    $ihColor2[2] = $ahColor2[2]
    EndFunc ;==>_Load

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

    Func _MusicPulse()
    $levels = _BASS_ChannelGetLevel($MusicHandle)
    $rightChLvl = _BASS_LoWord($levels)
    $LeftChLvl = _BASS_HiWord($levels)
    $ChLvlper = (((Round(($LeftChLvl / 32768) * 100, 0) + Round(($rightChLvl / 32768) * 100, 0)) / 2) / 100) * $iMusicPulseTolerance
    $iRadius2 = $iRadius2g - ($iMusicPulseTolerance / 3.2) + $ChLvlper
    $iRadius3 = $iRadius3g - ($iMusicPulseTolerance / 3.2) + $ChLvlper

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

    $wPlayer[3] = $wPlayerg[0] - ($iMusicPulseTolerance / 3.2) + $ChLvlper / 2.2
    $wPlayer[4] = $wPlayerg[1] - ($iMusicPulseTolerance / 3.2) + $ChLvlper / 2.2
    EndFunc ;==>_MusicPulse

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

    Func _Control()
    If _IsPressed(25, $uDLL) Then $irPlayer += $irpSpeedTMPl ;links
    If _IsPressed(27, $uDLL) Then $irPlayer -= $irpSpeedTMPr ;rechts
    If $irPlayer >= 361 Then $irPlayer = 1
    If $irPlayer <= -1 Then $irPlayer = 359

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

    $aPointsPlayer[0][0] = $iGuiX / 2 + Cos(2 * $iPI / 360 * ($wPlayer[0] + $iR + $irPlayer)) * $wPlayer[3] ; Oben X
    $aPointsPlayer[0][1] = $iGuiY / 2 - Sin(2 * $iPI / 360 * ($wPlayer[0] + $iR + $irPlayer)) * $wPlayer[3] ; Y
    $aPointsPlayer[3][0] = $aPointsPlayer[1][0] ; x
    $aPointsPlayer[3][1] = $aPointsPlayer[1][1] ; y

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

    $aPointsPlayer[1][0] = $iGuiX / 2 + Cos(2 * $iPI / 360 * ($wPlayer[1] + $iR + $irPlayer)) * $wPlayer[4] ; Unten X
    $aPointsPlayer[1][1] = $iGuiY / 2 - Sin(2 * $iPI / 360 * ($wPlayer[1] + $iR + $irPlayer)) * $wPlayer[4] ; Y
    $aPointsPlayer[2][0] = $iGuiX / 2 + Cos(2 * $iPI / 360 * ($wPlayer[2] + $iR + $irPlayer)) * $wPlayer[4] ; x
    $aPointsPlayer[2][1] = $iGuiY / 2 - Sin(2 * $iPI / 360 * ($wPlayer[2] + $iR + $irPlayer)) * $wPlayer[4] ; y
    _cFrei()
    For $iH = 1 To $iHex
    For $iW = 1 To $iWaende ; alle Wände auf der Map
    If $aMap[$iH][$iW] = 1 And ($iW * $pxWaende - $iM) < $iGuiX Then
    $iWRadius1 = (($iW + 1) * $pxWaende - $iM) ; Radius für Oben
    $iWRadius2 = ($iW * $pxWaende - $iM) ; Radius für unten
    $irTmp = ($iH * ($iGrad / $iHex))
    $irTmp2 = ($iH * ($iGrad / $iHex)) + ($iGrad / $iHex)
    If ($iWRadius2 < $wPlayer[3] And $iWRadius1 > $wPlayer[4] And Round(19 + $irPlayer) = $irTmp) Or ($iWRadius2 < $wPlayer[3] And $iWRadius1 > $wPlayer[4] And Round(19 + $irPlayer) = $irTmp2) Then ;15 25
    _cBlock(1)
    ElseIf ($iWRadius2 < $wPlayer[3] And $iWRadius1 > $wPlayer[4] And Round(21 + $irPlayer) = $irTmp) Or ($iWRadius2 < $wPlayer[3] And $iWRadius1 > $wPlayer[4] And Round(21 + $irPlayer) = $irTmp2) Then
    _cBlock(0)
    EndIf
    EndIf
    Next
    Next
    EndFunc ;==>_Control

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

    Func _Rotation()
    $iR += $irHexSpeed
    If $iR >= 361 Then $iR = 1
    If $iR <= -1 Then $iR = 359
    EndFunc ;==>_Rotation

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

    Func _WallSpeed()
    $iM += $iWallSpeed
    EndFunc ;==>_WallSpeed

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

    Func _CalcWall()
    $iWalls = $iHex * $iWaende
    $iWsTmp = 0
    For $iH = 1 To $iHex ; die Seiten
    For $iW = 1 To $iWaende ; alle Wände auf der Map
    If $aMap[$iH][$iW] = 1 And ($iW * $pxWaende - $iM) < $iGuiX Then
    $iWRadius1 = (($iW + 1) * $pxWaende - $iM) ; Radius für Oben
    $iWRadius2 = ($iW * $pxWaende - $iM) ; Radius für unten
    If ($iW * $pxWaende - $iM) + $pxWaende <= $iRadius2 Then $aMap[$iH][$iW] = 0 ; Damit die Wand verschwindet
    If ($iW * $pxWaende - $iM) <= $iRadius2 Then $iWRadius2 = $iRadius2 ; Damit die Wände hinter dem "Hexagon" verschwinden

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

    $aPointsWall[1][0] = $iGuiX / 2 + Cos(2 * $iPI / 360 * ($iH * ($iGrad / $iHex) + $iR)) * $iWRadius1 ; oben x
    $aPointsWall[1][1] = $iGuiY / 2 - Sin(2 * $iPI / 360 * ($iH * ($iGrad / $iHex) + $iR)) * $iWRadius1 ; y
    $aPointsWall[2][0] = $iGuiX / 2 + Cos(2 * $iPI / 360 * (($iH + 1) * ($iGrad / $iHex) + $iR)) * $iWRadius1 ; x r
    $aPointsWall[2][1] = $iGuiY / 2 - Sin(2 * $iPI / 360 * (($iH + 1) * ($iGrad / $iHex) + $iR)) * $iWRadius1 ; y r

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

    $aPointsWall[0][0] = $iGuiX / 2 + Cos(2 * $iPI / 360 * ($iH * ($iGrad / $iHex) + $iR)) * $iWRadius2 ; unten x
    $aPointsWall[0][1] = $iGuiY / 2 - Sin(2 * $iPI / 360 * ($iH * ($iGrad / $iHex) + $iR)) * $iWRadius2 ; y
    $aPointsWall[3][0] = $iGuiX / 2 + Cos(2 * $iPI / 360 * (($iH + 1) * ($iGrad / $iHex) + $iR)) * $iWRadius2 ; x r
    $aPointsWall[3][1] = $iGuiY / 2 - Sin(2 * $iPI / 360 * (($iH + 1) * ($iGrad / $iHex) + $iR)) * $iWRadius2 ; y r
    _2D3_Set($aPointsWall, $iWsTmp)
    If _Kollision_Viereck_Punkt($aPointsWall[1][0], $aPointsWall[1][1], $aPointsWall[2][0], $aPointsWall[2][1], $aPointsWall[0][0], $aPointsWall[0][1], $aPointsWall[3][0], $aPointsWall[3][1], $aPointsPlayer[0][0], $aPointsPlayer[0][1]) And $Play And Not $SaveTime Then _GameOver();ConsoleWrite("! NOPE "&@SEC&@CRLF);Beep(500,100)
    $iWsTmp += 1
    EndIf
    Next
    Next
    $iWsTmp -= 1
    EndFunc ;==>_CalcWall

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

    Func _cFrei()
    $irpSpeedTMPr = $irpSpeed
    $irpSpeedTMPl = $irpSpeed
    EndFunc ;==>_cFrei

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

    Func _cBlock($id)
    If $id Then
    $irpSpeedTMPr = 0
    Else
    $irpSpeedTMPl = 0
    EndIf
    EndFunc ;==>_cBlock

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

    Func _LoadMapfString($mString)
    Return _Splitt2D($mString, @CR, ",")
    EndFunc ;==>_LoadMapfString

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

    Func _Splitt2D($sMap, $sSplitt, $sSplitt2)
    Local $arMap[256][256]
    $aSplitt = StringSplit($sMap, $sSplitt)
    For $iS = 1 To $aSplitt[0]
    $aSplitt2 = StringSplit($aSplitt[$iS], $sSplitt2)
    For $iS2 = 1 To $aSplitt2[0]
    $arMap[$iS][$iS2] = $aSplitt2[$iS2]
    Next
    Next
    Return $arMap
    EndFunc ;==>_Splitt2D

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

    Func _2D3_Set($2DArray, $iCol) ; 2d array in 3d array abspeichern
    $itmp1 = UBound($aWallPoints)
    $itmp2 = UBound($aWallPoints, 2)
    $itmp3 = UBound($aWallPoints, 3)
    If $itmp1 <= $iCol Then ReDim $aWallPoints[$iCol + 1][$itmp2][$itmp3]
    For $i = 0 To ($itmp2 - 1)
    For $i2 = 0 To ($itmp3 - 1)
    $aWallPoints[$iCol][$i][$i2] = $2DArray[$i][$i2]
    Next
    Next
    EndFunc ;==>_2D3_Set

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

    Func _2D3_Load($iCol) ; 2d array von 3d array laden
    $itmp1 = UBound($aWallPoints, 1)
    $itmp2 = UBound($aWallPoints, 2)
    $itmp3 = UBound($aWallPoints, 3)

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

    If $itmp1 <= $iCol Then
    ReDim $aWallPoints[$iCol + 1][2][4]
    EndIf

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

    For $i = 0 To ($itmp2 - 1)
    For $i2 = 0 To ($itmp3 - 1)
    $aPointsWall[$i][$i2] = $aWallPoints[$iCol][$i][$i2]
    Next
    Next
    EndFunc ;==>_2D3_Load

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

    Func _Kollision_Viereck_Punkt($x1, $y1, $x2, $y2, $x3, $y3, $x4, $y4, $px, $py)
    Return _Kollision_Dreieck_Punkt($x1, $y1, $x2, $y2, $x3, $y3, $px, $py) Or _Kollision_Dreieck_Punkt($x4, $y4, $x2, $y2, $x1, $y1, $px, $py)
    EndFunc ;==>_Kollision_Viereck_Punkt

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

    Func _Kollision_Dreieck_Punkt($x1, $y1, $x2, $y2, $x3, $y3, $px, $py)
    Return ((($x1 - $px) * ($x2 - $px) + ($y1 - $py) * ($y2 - $py)) / ((($x1 - $px) ^ 2 + ($y1 - $py) ^ 2) ^ 0.5 * (($x2 - $px) ^ 2 + ($y2 - $py) ^ 2) ^ 0.5) + (($x2 - $px) * ($x3 - $px) + ($y2 - $py) * ($y3 - $py)) / ((($x2 - $px) ^ 2 + ($y2 - $py) ^ 2) ^ 0.5 * (($x3 - $px) ^ 2 + ($y3 - $py) ^ 2) ^ 0.5) + (($x3 - $px) * ($x1 - $px) + ($y3 - $py) * ($y1 - $py)) / ((($x3 - $px) ^ 2 + ($y3 - $py) ^ 2) ^ 0.5 * (($x1 - $px) ^ 2 + ($y1 - $py) ^ 2) ^ 0.5)) <= -1
    EndFunc ;==>_Kollision_Dreieck_Punkt

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

    Func _Exit()
    _QuickDraw_Disable()
    _BASS_Free()
    DllClose($uDLL)
    Exit
    EndFunc ;==>_Exit

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

    Func _Start($Schwierigkeit)
    Switch $Schwierigkeit
    Case 0 ; leicht
    $iHex = 6
    $iRSpeed = 1
    $iMSpeed = 7.5
    $irpSpeed = 0.7 ; Unter 1
    $irHexSpeed = 1.8;1.4
    $iWallSpeed = 4;3.5
    $color_1 = True
    $color_2 = False
    $color_3 = False
    ;----------------------
    $ShootEgg = False
    _Load()
    Case 1 ; normal
    $iHex = 6
    $iRSpeed = 1.1
    $iMSpeed = 8.1
    $irpSpeed = 0.8 ; Unter 1
    $irHexSpeed = 2.0;1.4
    $iWallSpeed = 4;3.5
    ;----------------------
    $swColor = "0xFFFF0000,0xFF00FF00,0xFF0000FF,0xFFFF00FF";0xFFF3F3F3, ;0xFF1A246B , ; 0xFFF9DC0C , ; 0xFFE26D26
    ;~ $swColor = "0xFFF3F3F3,0xFF1A246B,0xFFF9DC0C,0xFFE26D26"
    $iwColorSpeedPx = 5
    $iwColorSpeedTime = 15
    ;--
    ;~ $shColor = "0xFFFF00FF,0xFF00FF0F,0xFF0F00FF,0xFF0F00FF"
    ;~ $shColor = "0xFFF3F3F3,0xFF1A246B,0xFFF9DC0C,0xFFE26D26"
    ;~ $shColor2 = "0xFFFFF0FF,0xF000FF0F,0xFF6F604F,0xFA0FB09F"
    ;~ $shColor2 = "0xFFF3F3F3,0xFF1A246B,0xFFF9DC0C,0xFFE26D26"
    ;~ $ihColorOn = True
    $ihColorSpeedPx = 5
    $ihColorSpeedTime = 10
    ;-----------------------------
    $color_1 = True
    $color_2 = False
    $color_3 = False
    ;-------
    $ShootEgg = True
    $shootDauer = 0.7
    $ShootAfterAim = 2.2
    $ShootIntervalMin = 4.3
    $ShootIntervalMax = 8.2
    _Load()
    Case 2 ; schwer
    $iHex = 4;7
    $iRSpeed = 1.4
    $iMSpeed = 8.6
    $irpSpeed = 0.9 ; Unter 1
    $irHexSpeed = 1.6;2.1;1.4
    $iWallSpeed = 3.1;3.5

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

    $color_1 = True
    $color_2 = True
    $color_3 = False

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

    ;~ $swColor = "0xFFFF0000,0xFF00FF00,0xFF0000FF,0xFFFF00FF"
    $iwColorSpeedPx = 5
    $iwColorSpeedTime = 15
    ;--
    ;~ $shColor = "0xFFFF00FF,0xFF00FF0F,0xFF0F00FF,0xFF0F00FF"
    ;~ $shColor2 = "0xFFFFF0FF,0xF000FF0F,0xFF6F604F,0xFA0FB09F"
    ;~ $ihColorOn = True
    $ihColorSpeedPx = 5
    $ihColorSpeedTime = 10
    ;-------------

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

    $ShootEgg = True
    $shootDauer = 0.4;1.3
    $ShootAfterAim = 2.1
    $ShootIntervalMin = 4
    $ShootIntervalMax = 6.5
    _Load()

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

    Case 3 ; extrem
    $iHex = 8
    $iRSpeed = 1.9
    $iMSpeed = 9
    $irpSpeed = 0.85 ; Unter 1
    $irHexSpeed = 2.4;1.4
    $iWallSpeed = 4;3.5
    $color_1 = False
    $color_2 = True
    $color_3 = False
    ;---------------------
    $ShootEgg = True
    $shootDauer = 1.5
    $ShootAfterAim = 0.5;2.5
    $ShootIntervalMin = 3.5
    $ShootIntervalMax = 6.9
    _Load()
    Case 4 ; unmöglich
    $iHex = 10;8
    $iRSpeed = 2;1.9
    $iMSpeed = 9.1
    $irpSpeed = 0.75 ; Unter 1
    $irHexSpeed = 3;1.4
    $iWallSpeed = 5;4.2;3.5
    $color_1 = True
    $color_2 = True
    $color_3 = False
    ;---------------------

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

    $ShootEgg = True
    $shootDauer = 1.4
    $ShootAfterAim = 0.55;1.5
    $ShootIntervalMin = 2.1
    $ShootIntervalMax = 5.2

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

    _Load()
    EndSwitch
    $Play = True
    $SaveTime = True
    $timerStart = TimerInit()
    EndFunc ;==>_Start

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

    Func _GameOver($start = 1, $fail = True)
    AdlibUnRegister("_Control")
    Local $gameoverTime = TimerDiff($timerStart)
    $letzterPunktestand = Round($gameoverTime / 1000, 1)
    $Play = False
    If $fail Then
    $menueGameOver = True
    $MenuePic = True
    $Dummy_PicMenue = _QuickDraw_ReadTextureFormBuffer(0, 0, $iGuiX, $iGuiY)
    om()
    EndIf
    $record = IniRead($Datei, "highscore", $menueIndex, 0)
    $enable = True
    $menue2 = False
    _Start($start)
    EndFunc ;==>_GameOver

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

    Func _F1($z = True)
    $aMap = _LoadMapfString(FileRead(@ScriptDir & "\F.txt"))
    If $z = True Then
    _GameOver(0, False)
    $SaveTime = True
    EndIf
    EndFunc ;==>_F1

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

    Func _F2($z = True)
    $aMap = _LoadMapfString(FileRead(@ScriptDir & "\F.txt"))
    If $z = True Then
    _GameOver(1, False)
    $SaveTime = True
    EndIf
    EndFunc ;==>_F2

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

    Func _f3($z = True)
    $aMap = _LoadMapfString(FileRead(@ScriptDir & "\F2.txt"))
    If $z = True Then
    _GameOver(2, False)
    $SaveTime = True
    EndIf
    EndFunc ;==>_f3

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

    Func _F4($z = True)
    $aMap = _LoadMapfString(FileRead(@ScriptDir & "\F3.txt"))
    If $z = True Then
    _GameOver(3, False)
    $SaveTime = True
    EndIf
    EndFunc ;==>_F4

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

    Func _F5($z = True)
    $aMap = _LoadMapfString(FileRead(@ScriptDir & "\F4.txt"))
    If $z = True Then
    _GameOver(4, False)
    $SaveTime = True
    EndIf
    EndFunc ;==>_F5

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

    Func _Load_dif($difficult, $z = False)
    Switch $difficult
    Case 0
    _F1($z)
    Case 1
    _F2($z)
    Case 2
    _f3($z)
    Case 3
    _F4($z)
    Case 4
    _F5($z)
    EndSwitch
    EndFunc ;==>_Load_dif

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

    Func om()
    If $meneu Then
    HotKeySet("{up}")
    HotKeySet("{down}")
    HotKeySet("{enter}")
    $meneu = False
    $menueGameOver = False
    _Start($MenueOption)
    _Load_dif($MenueOption)
    ;~ _Bass_SetVolume($MusicVollume)
    Else
    $gameoverTime = TimerDiff($timerStart)
    $letzterPunktestand = Round($gameoverTime / 1000, 1)
    HotKeySet("{up}", "_up")
    HotKeySet("{down}", "_down")
    HotKeySet("{enter}", "_enter")
    _MenueUpdate()
    $meneu = True
    $SaveTimingDisplay = False
    ;~ _Bass_SetVolume($MusicVollume/3)
    EndIf
    EndFunc ;==>om

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

    Func _MenueUpdate()
    For $t = 0 To 5
    $menTexP[$t] = 0
    $menColP[$t] = 0xFF000000
    $menPreP[$t] = ""
    Next
    For $t = 0 To 5
    If $t = $menueIndex Then
    $menTexP[$t] = 14
    $menColP[$t] = 0xFF00FF00
    $menPreP[$t] = "-> "
    EndIf
    Next
    EndFunc ;==>_MenueUpdate

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

    Func _up()
    $menueIndex -= 1
    If $menueIndex < 0 Then $menueIndex = 0
    $record = IniRead($Datei, "highscore", $menueIndex, 0)
    $enable = False
    $menue2 = True
    _MenueUpdate()
    EndFunc ;==>_up

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

    Func _down()
    $menueIndex += 1
    If $menueIndex > 5 Then $menueIndex = 5
    $record = IniRead($Datei, "highscore", $menueIndex, 0)
    $enable = False
    $menue2 = True
    _MenueUpdate()
    EndFunc ;==>_down

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

    Func _enter()
    $menueEingabe = True
    _MenueUpdate()
    EndFunc ;==>_enter

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

    Func _calcShoot()
    If $ShootEgg_p Then
    If TimerDiff($ShootTimer) >= $ShootInterval * 1000 Then
    $ShootSaveLocation = $irPlayer
    $shoot = True
    $ShootEgg_p = False
    EndIf
    ElseIf $ShootEgg_p = False And $shoot = False Then
    $ShootTimer = TimerInit()
    $ShootEgg_p = True
    $ShootInterval = Round(Random($ShootIntervalMin, $ShootIntervalMax), 3)
    ElseIf $shoot And $shoot2 = False Then
    If TimerDiff($ShootTimer) >= (($ShootInterval + $ShootAfterAim) * 1000) Then
    $shoot2 = True
    Else
    $ShootPoints[0] = $iGuiX / 2 + Cos(2 * $iPI / 360 * ($wPlayer[0] + $iR + $ShootSaveLocation)) * $wPlayer[3] ; Oben X
    $ShootPoints[1] = $iGuiY / 2 - Sin(2 * $iPI / 360 * ($wPlayer[0] + $iR + $ShootSaveLocation)) * $wPlayer[3] ; Y
    _QuickDraw_Circle($ShootPoints[0] - 20, $ShootPoints[1] - 20, 40, $Texture3, 0xFFFFFFFF)
    EndIf
    ElseIf $shoot2 = True Then
    If TimerDiff($ShootTimer) <= (($ShootInterval + $ShootAfterAim + $shoot + $shootDauer) * 1000) Then
    $LaserPoints[0][0] = $augeX + Cos(2 * $iPI / 360 * ($wPlayer[0] + $iR + $ShootSaveLocation + 180 / -2)) * 10
    $LaserPoints[0][1] = $augeY - Sin(2 * $iPI / 360 * ($wPlayer[0] + $iR + $ShootSaveLocation + 180 / -2)) * 10 ; Y
    $LaserPoints[1][0] = $augeX + Cos(2 * $iPI / 360 * ($wPlayer[0] + $iR + $ShootSaveLocation + 180 / 2)) * 10
    $LaserPoints[1][1] = $augeY - Sin(2 * $iPI / 360 * ($wPlayer[0] + $iR + $ShootSaveLocation + 180 / 2)) * 10 ; Y

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

    $LaserPoints[2][0] = $augeX + Cos(2 * $iPI / 360 * ($wPlayer[0] + $iR + $ShootSaveLocation + $LaserBreite / 2)) * $GuiVerltnis ; Kordinaten +/- Sin/Cos(Winkel) * Radius
    $LaserPoints[2][1] = $augeY - Sin(2 * $iPI / 360 * ($wPlayer[0] + $iR + $ShootSaveLocation + $LaserBreite / 2)) * $GuiVerltnis ; Y
    $LaserPoints[3][0] = $augeX + Cos(2 * $iPI / 360 * ($wPlayer[0] + $iR + $ShootSaveLocation + $LaserBreite / -2)) * $GuiVerltnis
    $LaserPoints[3][1] = $augeY - Sin(2 * $iPI / 360 * ($wPlayer[0] + $iR + $ShootSaveLocation + $LaserBreite / -2)) * $GuiVerltnis ; Y

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

    _QuickDraw_Polygon(0, 0, $LaserPoints, 4, $Draw_Fill, 0xAAFF0000)
    _QuickDraw_Circle($augeX, $augeY, 20, $Draw_Fill, 0xAAFF0000)
    If _Kollision_Viereck_Punkt($LaserPoints[1][0], $LaserPoints[1][1], $LaserPoints[2][0], $LaserPoints[2][1], $LaserPoints[0][0], $LaserPoints[0][1], $LaserPoints[3][0], $LaserPoints[3][1], $aPointsPlayer[0][0], $aPointsPlayer[0][1]) And $Play And Not $SaveTime Then _GameOver()
    Else
    $shoot2 = False
    $shoot = False
    EndIf
    EndIf

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

    EndFunc ;==>_calcShoot

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

    Func _PlayMusic($index)
    _BASS_ChannelStop($MusicHandle)
    Switch $index
    Case 0 ; Leicht
    $file = @ScriptDir & "\Music\JamerikanBeatz - Party Boy (Electro).mp3"
    ;~ $file = @ScriptDir & "\Music\Big_Cars.mp3"
    Case 1 ; Normal
    $file = @ScriptDir & "\Music\JamerikanBeatz - Last Time (Dubstep).mp3"
    ;~ $file = @ScriptDir & "\Music\Dub_Star.mp3"
    Case 2 ; Schwer
    $file = @ScriptDir & "\Music\JamerikanBeatz - Techno Toys (Techno).mp3"
    ;~ $file = @ScriptDir & "\Music\ColdRise.mp3"
    Case 3 ; Extrem
    $file = @ScriptDir & "\Music\JamerikanBeatz - Home Dance (Electro).mp3"
    ;~ $file = @ScriptDir & "\Music\Mile_High.mp3"
    Case 4 ; Unmöglich
    $file = @ScriptDir & "\Music\JamerikanBeatz - X-Mas Wobble (Dubstep_16-Bit).mp3"
    ;~ $file = @ScriptDir & "\Music\The_End_Is_Near.mp3"
    EndSwitch
    $MusicHandle = _BASS_StreamCreateFile(False, $file, 0, 0, 0)
    $iLength = _BASS_ChannelGetLength($MusicHandle, $BASS_POS_BYTE)
    $sLength = _SecFormat($MusicHandle, $iLength)
    AdlibRegister("_Play", $sLength * 1000)
    ;~ ConsoleWrite($sLength * 1000 & @CRLF)
    _Play()
    EndFunc ;==>_PlayMusic

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

    Func _Play()
    _BASS_ChannelPlay($MusicHandle, 1)
    _Bass_SetVolume($MusicVollume)
    EndFunc ;==>_Play

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

    Func _SecFormat($hMusic, $iBytes)
    Local $iSeconds = _BASS_ChannelBytes2Seconds($hMusic, $iBytes)
    Return $iSeconds
    EndFunc ;==>_SecFormat

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

    Download
    https://www.dropbox.com/s/bv6d6d1nxn25…exagon.rar?dl=0


    Ich würde gerne wissen wie Ihr dieses Spiel findet :P

  • Forum-Umstellung Problemsammlung

    • PuReIroNie
    • 24. Oktober 2014 um 18:31

    Ich weis nicht ob jemand anderes dieses Problem hat oder ob das schon gepostet wurde, ich habe grade keine Zeit jede Antwort durch zu lesen.

    Also bei mir ist es beim Firefox, wenn ich mich Anmelde und den hacken auf "Dauerhaft angemeldet bleiben" anwähle, bin ich nach einem
    Browserneustart immer abgemeldet, was ich schon nervig finde.

    Ansonsten vom neuen Design alles Top, die schrift könnte etwas kleiner sein, aber das ist evtl. gewöhnungssache.

  • Like oder nicht Like - das ist die Frage!

    • PuReIroNie
    • 17. Oktober 2014 um 01:00

    @ Andy
    1: Nein, aber es können qualitativ bessere Posts auftauchen, das ist meine Meinung.
    2: Ich würde soein System nur willkommen heißen, wenn sich diese "Likes" nur auf dem Post beziehen, und nicht global ( [...] dass er in diesem Jahr schon 163 Antworten gegeben hat [...] ).
    Kann sein das ich es falsch verstanden habe, aber nicht jeder Fragende der sich für diese Frage registriert hat, muss nicht unbeding wenig Ahnung haben.

    Ich gebe zu diese "Vorteile" waren einfach schnell aufgeschrieben nichtn icht gut durchdacht, du hast an sich mit allem recht, nur mit dem Unterschied, das ich überzeugt bin
    das es sich nicht negativ auswirken wird.


    Zitat von i2c

    Das wäre momentan die einzige Lösung für mich, einen solchen Button hier zu aktivieren.


    Genau dafür währ ich!

  • Like oder nicht Like - das ist die Frage!

    • PuReIroNie
    • 16. Oktober 2014 um 15:28

    Ich gebe zu ich habe hier nicht jeden Post gelesen,
    aber ich währ für ein Bewertungssystem, aber nur dann wenn die "Punkteanzahl / likes" nicht im Profiel und unter dem Avatar steht.

    Man kann nur spekulieren was mit sowein System passiert, wenn man es nicht testet, deswegen sollte man es in betracht ziehen, eine Testphase zu starten, und nach 2 Monaten gibt es eine Abstimmung, ob etwas negatives aufgefallen ist und man das System abschalten soll.

    folgende Vorteile sehe ich:

    • Mehr mühe beim Antworten -> bessere Antworten.
    • Benutzerzuwachs -> ich denke so findet man neulinge die auch mal versuchen zu Helfen die meisten registrieren sich nur um zu Fragen... nicht um zu Antworten. ( Um so mehr User des zu größer die Unterstützung des Forums :whistling: )
    • Dankbarkeit zeigen -> Man kann nicht immer auf jeden Post eingehen und sagen das es einen hilft, oder ab und zu gibt es diese Situation wo ein (weiterer) Post unnötig währ, aber man demnoch seine Dankbarkeit zeigen will.

    Das sich daraus etwas negatives entwickelt ist nur eine (kleine) Wahrscheinlichkeit, in vielen Foren funktioniert sowas.

  • Nächstes Tutorial Thema?

    • PuReIroNie
    • 16. August 2014 um 23:31

    In einem Autoit-Forum geht es meiner meinung nicht nur um die Sprache Autoit, sondern auch um Anwendungsbeispiele, theorien, vermittlung von Wissen von verwanten Themen.
    Auch wenn es Themen gibt die einige eher interessieren und besser hier rein passen, sollte jeder die Tutorials machen wofür er lust hat.
    Es hat ein Grund warum minx nicht mehr Themen zur Auswahl gegeben hat.
    RegExp Tutorials oder ähnliches gibt es genug, man muss nur googlen, das sind Themen die eher selten angesprochen werden, und somit für mich mehr sinn machen.

    Und wenn ich es nicht falsch verstanden habe ist Perseus eine Autoit ähnliche Sprache (von minx) die somit hier gut rein passt.

  • Nächstes Tutorial Thema?

    • PuReIroNie
    • 5. August 2014 um 11:01

    Am liebsten alles :D
    Ich bin für das 2. aus dem grund das ich derzeit ein Spiel in einer 3D Engine entwickle,
    evtl. kann ich die ein und andere nützliche Info rauspicken.

  • Hausmeister-Schutzmaßnahmen

    • PuReIroNie
    • 11. April 2014 um 21:26

    Schöne Aktion! - sowas gibt es zu selten...
    Ich habe unterschrieben, ich wünsche euch und den Hausmeister viel Glück!

  • Youtube Uploader

    • PuReIroNie
    • 31. Januar 2014 um 20:47

    Ich habe selber mal angefangen so ein Uploader zu schreiben, der zahlreiche zusatzfunktionen bietet, aber dies ist ein der Projekte die ich stehen gelassen habe.

    Wenn dieser Uploader nicht in Autoit geschieben sein muss, kannst du folgenden nehmen:
    Free YouTube Uploader

    Ansonsten findest du hier ein in Autoit geschriebener Youtube-Uploader:
    Autoit Youtube Uploader
    dieser ist aber nicht open source.

    Ansonsten wenn das Rad wieder neu erfunden werden soll, kann man sich mit der Youtube API auseinandersetzen.

    Ich habe leider keine Zeit dir dabei zu helfen bzw. dieses Programm zu schreiben.

    Ich wünsche dir viel Glück mit deiner Youtube Channel ;)

  • Autoit.au3 in .Exe Converten wer macht das bitte

    • PuReIroNie
    • 11. Januar 2014 um 10:22

    Wofür ist das Script denn wenn ich fragen darf?

    Ps. ich denke "e*Gold" will hier keiner haben.

  • Script im Hintergrund mit Programmzugriff

    • PuReIroNie
    • 8. Januar 2014 um 10:37

    Schau dir mal folgende Funktionen an:

    [autoit]

    ControlSend("Fenstertitel","","controlID","{F4}")
    ControlClick("Fenstertitel","","controlID")

    [/autoit]


    Die "controlID" erhälst du wenn du mit dem "Finder Tool" in dem Autoit Info Tool über das entsprechende Element mit der Maus fährst,
    dann unter dem Reiter: "Summary" den Wert von "Advanced (Class): xxx" kopieren. (Wenn ich mich nicht Irre)
    Das Infotool findest du im Autoit Verzeichnis.

    Edit: Wenn es um Excel geht währ die UDF klar im Vorteil.

  • Login Script (Mehre User)

    • PuReIroNie
    • 5. Januar 2014 um 17:14

    Mit mehreren Logins meinst du mehrere Benutzer oder?
    Ich weis nicht genau wie du es willst, die User direkt in das Programm mit Passwort einzutragen ist nicht grad konventionell, aber für Privat sollte es ausreichen.
    "$AnzahlderUser = 20" gibt an, wieviele Benutzer es gibt.
    Du solltest wenn du dir das Script ansiehst schnell erkennen wie du weitere Benutzer eintragen kannst, derzeit sind 3 Benutzer (mit 3 Passwörter) eingetragen, das erste Index in der Array gibt den User an.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <array.au3>

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

    $AnzahlderUser = 20 ; Wieviele User es (maximal) gibt.

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

    Global $Users[$AnzahlderUser+1][2]

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

    $Users[0][0] = "Saro" ;ID User 1
    $Users[0][1] = "Siro" ;PW User 1

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

    $Users[1][0] = "Test2" ; ID User 2
    $Users[1][1] = "Passwort" ; PW User 2

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

    $Users[3][0] = "Test3" ; ID User 2
    $Users[3][1] = "Passwort" ; PW User 2

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Login", 286, 67, 192, 124)
    $Label1 = GUICtrlCreateLabel("ID:", 8, 8, 18, 17)
    $IDInput = GUICtrlCreateInput("", 32, 8, 161, 21)
    $Label2 = GUICtrlCreateLabel("PW:", 0, 40, 25, 17)
    $PWInput = GUICtrlCreateInput("", 32, 40, 161, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
    $Login_button = GUICtrlCreateButton("Login", 200, 8, 81, 25)
    $EndButton = GUICtrlCreateButton("Exit", 200, 40, 81, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $EndButton
    Exit
    Case $Login_button
    $iID = _ArraySearch($Users,GUICtrlRead($IDInput))
    If Not @error Then
    If (GUICtrlRead($PWInput) == $Users[$iID][1]) Then ; PW: groß und kleinschreibung wird beachtet
    MsgBox(0,"Login","Login erfolgreich!")
    GUIDelete($Form1) ; "Löscht" das Fenster
    ExitLoop ; While beenden
    Else
    MsgBox(0,"Login","Login fehlgeschlagen, falschen Passwort.")
    EndIf
    Else
    MsgBox(0,"Login","Login fehlgeschlagen, ID existiert nicht.")
    EndIf
    EndSwitch
    WEnd

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

    MsgBox(0,"test","Weiteres Script...")
    ; Hier kann man das Script hinschreiben was nach dem Login ausgeführt werden soll.

    [/autoit]

    Es ist nicht grad die beste Lösung, aber da ich nicht alles weis wofür das ist kann ich es nicht anpassen.

    Ps. man kann es auch so abändern, das alle Benutzer in eine Combobox abgebildet werden.

  • IP ändern

    • PuReIroNie
    • 5. Januar 2014 um 11:00

    Viel sicherer ist es nicht^^
    Um sicher zu Surfen musst du drauf achten das wenn du eine Webseite besuchst das in der Linkleiste: https:\\... steht und nicht Http:\\...
    Aber nicht jede Seite bietet eine Verschlüsselung an.

    Ansonsten gibt es die Möglichkeit via Proxyserver und Anonymisierungsprogrammen die IP zu verschleiern, z.B CyberGhost, Tor, ..

    Wenn du dein Windows auch immer Updatest solltest du auch sicher vor Hackerangriffen sein, denn so einfach kann man keine Verbindung mittels deiner IP zu deinem
    Rechner aufbauen, und fals so eine Lücke gefunden wird, ist die auch nicht sehr lange da.
    Und die "richtigen" Hacker haben für Privatpersonen wie du keine Zeit.

    also keine Sorge ;)

  • Arraywerte als Text zusammenfassen

    • PuReIroNie
    • 4. Januar 2014 um 12:56

    So z.B sollte es gehen:

    [autoit]


    Global $Array[23] = [22, 187, 190, 191, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 221, 222, 224, 228, 230, 231, 232, 237, 239]
    $text = ""
    For $i = 0 to (UBound($Array)-1)
    $text &= $Array[$i] & ", "
    Next
    $text = StringLeft($text,StringLen($text)-2)
    MsgBox(0,"Titel","These samples are omitted: "&$text)

    [/autoit]

    Edit: water war da wohl schneller :D

  • Login Script (Mehre User)

    • PuReIroNie
    • 4. Januar 2014 um 12:03

    Hallo, bitte das nächstemal wenn du ein Script Postest den Reiter: Quellcode auswählen.
    Außerdem gibt es für Autoit ein eigener Highlighter.
    [Blockierte Grafik: http://666kb.com/i/ckoiawtwu5ub2pr4z.jpg]

    Ich weis nicht genau was du willst, und da man dein Script schlecht lesen kann habe ich mal ebend ein Beispiel für ein einfaches Login
    ohne großen Sicherheitsmaßnahmen geschrieben.

    Einfach auf dem Spoilerbutton klicken um das Script zu sehen.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    Global $ID = "Saro", $PW = "Siro"

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Login", 286, 67, 192, 124)
    $Label1 = GUICtrlCreateLabel("ID:", 8, 8, 18, 17)
    $IDInput = GUICtrlCreateInput("", 32, 8, 161, 21)
    $Label2 = GUICtrlCreateLabel("PW:", 0, 40, 25, 17)
    $PWInput = GUICtrlCreateInput("", 32, 40, 161, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
    $Login_button = GUICtrlCreateButton("Login", 200, 8, 81, 25)
    $EndButton = GUICtrlCreateButton("Exit", 200, 40, 81, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $EndButton
    Exit
    Case $Login_button
    If GUICtrlRead($IDInput) = $ID Then
    If GUICtrlRead($PWInput) = $PW Then
    MsgBox(0,"Login","Login erfolgreich!")
    GUIDelete($Form1) ; "Löscht" das Fenster
    ExitLoop ; While beenden
    Else
    MsgBox(0,"Login","Login fehlgeschlagen, falschen Passwort.")
    EndIf
    Else
    MsgBox(0,"Login","Login fehlgeschlagen, ID existiert nicht.")
    EndIf
    EndSwitch
    WEnd

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

    MsgBox(0,"test","Weiteres Script...")
    ; Hier kann man das Script hinschreiben was nach dem Login ausgeführt werden soll.

    [/autoit]
  • Animierte prozedurale Landschaft aus impliziten Gleichungen

    • PuReIroNie
    • 3. Januar 2014 um 16:43

    Nette Animation, für sowenig Code bemerkenswert

  • [BASS.dll] Stream auf Audio-Eingabegerät

    • PuReIroNie
    • 2. Januar 2014 um 13:21

    Soweit ich verstanden habe möchtest du also Soundfiles als "Microphone" verwenden.
    Ich glaube diese Funktion gibt es nicht in der BASS UDF, aber ich bin mir nicht sicher, da musst du vlt mal eukalyptus fragen.

    Aber ich kenne eine andere Methode:
    Du Installierst "virtual audio cable", einfach mal Googlen.
    Da wird bei dir ein Wiedergabegerät und ein Aufnahmegerät installiert.
    Wenn man dann in deinem Script das neu hinzugekommene Wiedergabegerät als Output auswählt,
    dann wird der Stream ans Aufnahmegerät weitergeleitet.
    Um es dann in der Praxix zu verwenden musst du z.B in Teamspeak, das Aufnahmegerät in den Einstellungen ändern.

    Nachteile:
    - das Programm ist Kostenpflichtig
    - Du kannst nicht Sprechen. ("Beheben" lässt es sich wenn du den Soundstream in deinem Script noch den des Standardmicro hinzufügst.)

  • Gute Vorsätze fürs neue Jahr ;)

    • PuReIroNie
    • 1. Januar 2014 um 11:29

    :D
    Ich habe auch ein paar:
    - Mit mein Raspbarry Pi ein selbstlernender Roboter bauen.
    - Mein Englisch verbessern für das folgende Fachabi
    - 20 werden :whistling:
    - C\C++, Python & Java komplett lernen
    - Mich an den Vorsätzen halten :D

  • Übergabe eines Kommandozeilenergebnisses an Variable

    • PuReIroNie
    • 31. Dezember 2013 um 19:18

    Funktioniert das?

    [autoit]


    $Parameter= "/m keepass"
    $CMD = Run("C:\Program Files\RevoUninstaller\RevoCmd.exe "&$Parameter)
    $Ergebnis = ""
    While 1
    $Ergebnis &= StdoutRead($CMD)
    If @error Then ExitLoop
    Wend
    ConsoleWrite($Ergebnis & @CRLF) ;Ungetestet

    [/autoit]

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™