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. Prajoss

Beiträge von Prajoss

  • Snake (Spiel)

    • Prajoss
    • 21. Mai 2010 um 16:56

    Hmm komisch, bei mir geht eigentlich alles.

    Du kannst natürlich nicht nach links drücken, wenn du dich nach rechts bewegst.

    Gruß

    Prajoss

  • Snake (Spiel)

    • Prajoss
    • 21. Mai 2010 um 14:49

    Danke für die Blumen und das Bild.

    Die hatte ich mal fix mit Paint erstellt, damit ich ein Spielfeld zum testen hatte ^^


    Achja bin für Ideen & Anregungen immer offen, nur her damit ;)

  • Snake (Spiel)

    • Prajoss
    • 21. Mai 2010 um 13:53

    @Gugi,

    dass es ein anderes Snake gibt, war mir bekannt, allerdings wollt ich das selbst machen.

    Mach doch einen Screenshot, so wie es bei dir aussieht?

    Hast du die Bilder heruntergeladen?

  • Snake (Spiel)

    • Prajoss
    • 21. Mai 2010 um 13:43

    Doch kann man ;)

    wenn man Strg+o drückt kommt man am Anfang ins Optionsmenü ;P

    HAtte ich vergessen gehabt zu erwähnen :/

  • Snake (Spiel)

    • Prajoss
    • 21. Mai 2010 um 12:12

    Hi liebe Community,

    da ich etwas mit GDI+ üben wollte hab ich versucht Snake zu schreiben (nix besonderes)

    Als Vorlage für die Logik hab ich ein von mir früher geschriebenes C Programm genutzt.

    Die Umsetzung ist mir eigentlich ganz gut gelungen und funktioniert auch derweil.

    Um die Bewegung recht flüßig zu gestalten, hab ich den eigentlichen Schritt "Bewege und Zeichne Schlange 1 Feld weiter" auf 8 Zeichenschritte aufgeteilt.

    Allerdings hab ich gemerkt, dass wenn die Selbstkollision der Schlange und Wandkollision aktiv sind, die Performance darunter leidet (wohl wegen den _ArraySearch).

    Gibts ne Möglichkeit das effektiv besser zu gestalten?

    Bin für Kritik usw. offen.

    Hier das Script, die benötigten Bilddateien sind angehängt.

    Gruß

    Prajoss

    PS: Hab das wichtigste kommentiert

    Script
    [autoit]

    #include <GDIPlus.au3>
    #include <GUIConstants.au3>
    #include <Misc.au3>
    #include <String.au3>
    #include <Color.au3>
    #include <Array.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    ;~ Variablen initialisieren

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

    Global $hWnd_main
    Global $GuiHeight = 400
    Global $GuiWidth = 600
    Global $SnakeHeight = 20
    Global $SnakeWidth = 20
    Global $MausHeight = 20
    Global $MausWidth = 20

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

    Global $Snakecolor = 0xFFFFFFFF
    Global $Schweifcolor = 0xFFFF0000

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

    Global $Snake_X[1000] ; X Koordinate der Schlange + Schweif
    Global $Snake_Y[1000] ; Y Koordinate der Schlange + Schweif
    $Snake_Y[0] = $GuiHeight / 2 ; Startposition
    $Snake_X[0] = $GuiWidth / 2 ; Startposition
    Global $Maus_X
    Global $Maus_Y

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

    _Maus_erzeugen() ; Erste Maus erzeugen

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

    Global $Snakestep_X[1000][2] ; Array für die horizontale Richtungen der einzelnen Schlangenteile
    Global $Snakestep_Y[1000][2] ; Array für die vertikale Richtungen der einzelnen Schlangenteile
    ;~ Snakestep_[][0] ist dabei die aktuelle Bewegungsrichtung
    ;~ Snakestep_[][1] ist dabei die alte Bewegungsrichtung
    $Snakestep_X[0][0] = 0 ;Startrichtung
    $Snakestep_Y[0][0] = 0 ;Startrichtung

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

    Global $Snake_Laenge = 0 ; Größe der Schlange (Kopf zählt nicht dazu!)

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

    Global $Option1 = 0
    Global $Option2 = 0
    Global $Option3 = 0
    Global $Punkte

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

    HotKeySet("{SPACE}", "_pause")
    HotKeySet("^o", "_options")

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

    ;~ Erzeugen des Spielfelds

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

    $hWnd_main = GUICreate( "Snake v 0.1", $GuiWidth, $GuiHeight)
    GUISetState(@SW_SHOW)

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

    ;~ Pfade für die Grafiken

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

    Global $Background_path = @ScriptDir & "\map.png"
    Global $Image_Maus = @ScriptDir & "\maus.png"

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

    ;~ GDI_Plus für Grafiken

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

    _GDIPlus_Startup()

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

    Global $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd_main)

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

    Global $hBitmap = _GDIPlus_BitmapCreateFromGraphics($GuiWidth, $GuiHeight, $hGraphic)
    Global $hGraphic_Buffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    _GDIPlus_GraphicsSetSmoothingMode($hGraphic_Buffer, 2)

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

    Global $hBackground = _GDIPlus_ImageLoadFromFile($Background_path)
    _GDIPlus_GraphicsDrawImageRect($hGraphic_Buffer, $hBackground, 0, 0, $GuiWidth, $GuiHeight)
    Global $hBrush_Snake = _GDIPlus_BrushCreateSolid($Snakecolor)

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

    Global $hMaus = _GDIPlus_ImageLoadFromFile($Image_Maus)
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hMaus, $Maus_X, $Maus_Y, $MausHeight, $MausWidth)

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

    Global $hBrush_Schweif = _GDIPlus_BrushCreateSolid($Schweifcolor)

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

    ;~ main

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

    While True

    $msg = GUIGetMsg()

    If $msg == $GUI_EVENT_CLOSE Then

    _Exit()

    EndIf

    ;~ Ändere die Richtung falls das Programm aktiv ist

    If Not WinActive($hWnd_main) = 0 Then

    If _IsPressed("27") And $Snakestep_X[0][0] == 0 Then
    $Snakestep_X[0][0] = 2.5
    $Snakestep_Y[0][0] = 0
    ElseIf _IsPressed("25") And $Snakestep_X[0][0] == 0 Then
    $Snakestep_X[0][0] = -2.5
    $Snakestep_Y[0][0] = 0
    ElseIf _IsPressed("26") And $Snakestep_Y[0][0] == 0 Then
    $Snakestep_Y[0][0] = -2.5
    $Snakestep_X[0][0] = 0
    ElseIf _IsPressed("28") And $Snakestep_Y[0][0] == 0 Then
    $Snakestep_Y[0][0] = 2.5
    $Snakestep_X[0][0] = 0
    EndIf

    EndIf

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

    ;~ Zeichenfunktion

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

    _Draw()

    DllCall("Psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1)

    ;~ Deaktivieren des Optionsmenü nach der ersten Bewegung

    If $Snakestep_X[0][0] <> 0 Or $Snakestep_Y[0][0] <> 0 Then
    HotKeySet("^o")
    EndIf

    WEnd

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

    Func _Draw()

    For $x = 1 to 8

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

    _GDIPlus_GraphicsDrawImageRect($hGraphic_Buffer, $hBackground, 0, 0, $GuiWidth, $GuiHeight)
    _GDIPlus_GraphicsDrawImageRect($hGraphic_Buffer, $hMaus, $Maus_X, $Maus_Y, $MausHeight, $MausWidth)
    _Schweif_zeichnen()
    _GDIPlus_GraphicsFillEllipse($hGraphic_Buffer, $Snake_X[0], $Snake_Y[0], $SnakeWidth, $SnakeHeight, $hBrush_Snake)
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, $GuiWidth, $GuiHeight)

    ;~ Übernehmen der Richtung des Schweifes

    For $i = 1 To $Snake_Laenge

    $Snakestep_X[$i][0] = $Snakestep_X[$i-1][1]
    $Snakestep_Y[$i][0] = $Snakestep_Y[$i-1][1]

    Next

    ;~ Bewegung der Schlange

    For $i = 0 To $Snake_Laenge

    $Snake_X[$i] = $Snake_X[$i] + $Snakestep_X[$i][0]
    $Snake_Y[$i] = $Snake_Y[$i] + $Snakestep_Y[$i][0]

    Next

    ;~ Option 1

    _Pruefe_Wandkollision()

    ;~ Option 2

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

    _Pruefe_Eigenkollision()

    ;~ Maus wird gefressen

    If $Snake_X[0] == $Maus_X And $Snake_Y[0] == $Maus_Y Then

    _Maus_erzeugen()
    $Snake_Laenge = $Snake_Laenge + 1
    $Snake_X[$Snake_Laenge] = $Snake_X[$Snake_Laenge - 1] - ($Snakestep_X[$Snake_Laenge - 1][0] * 8)
    $Snake_Y[$Snake_Laenge] = $Snake_Y[$Snake_Laenge - 1] - ($Snakestep_Y[$Snake_Laenge - 1][0] * 8)

    EndIf

    ;~ Einbinden der 3. Option (Maus verschwindet nach Zeit)

    ;~ If $Option3 == 1 Then
    ;~
    ;~ EndIf

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

    ;~ Übergeben der Richtung an den nächsten Teil der Schlange

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

    If $x == 8 Then
    For $i = 0 To $Snake_Laenge

    $Snakestep_X[$i][1] = $Snakestep_X[$i][0]
    $Snakestep_Y[$i][1] = $Snakestep_Y[$i][0]

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

    Next
    EndIf

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

    Next

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

    Sleep(10)

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

    EndFunc

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

    Func _Schweif_zeichnen()

    For $i = 1 To $Snake_Laenge

    _GDIPlus_GraphicsFillEllipse($hGraphic_Buffer, $Snake_X[$i], $Snake_Y[$i], $SnakeWidth, $SnakeHeight, $hBrush_Schweif)

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

    Next

    EndFunc

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

    Func _Maus_erzeugen()

    Do

    $Maus_X = Random(1, 28, 1) * $MausWidth
    $Maus_Y = Random(1, 18, 1) * $MausHeight

    ; Sicherstellen, dass die Maus nicht in der Schlange erzeugt wird
    Until Not (_ArraySearch($Snake_X, $Maus_X) == _ArraySearch($Snake_Y, $Maus_X) And _ArraySearch($Snake_X, $Snake_X[0], 5) > 0 )

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

    EndFunc

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

    Func _options()

    GUISetState(@SW_HIDE, $hWnd_main)

    $hWnd_options = GUICreate("Snake v 0.1 Options", 280, 110)
    $Checkbox1 = GUICtrlCreateCheckbox("Wall-Walk", 30, 20, 250, 17)
    $Checkbox2 = GUICtrlCreateCheckbox("Selbstkollision ausschalten", 30, 50, 250, 17)
    $Checkbox3 = GUICtrlCreateCheckbox("Mäuse verschwinden nach Zeit", 30, 80, 250, 17)

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

    GUISetState(@SW_SHOW)

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

    While 1

    $nMsg = GUIGetMsg()

    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    If BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) Then $Option1 = 1
    If BitAND(GUICtrlRead($Checkbox2), $GUI_CHECKED) Then $Option2 = 1
    If BitAND(GUICtrlRead($Checkbox3), $GUI_CHECKED) Then $Option3 = 1
    ExitLoop

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

    EndSwitch

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

    Sleep(10)
    WEnd

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

    GUIDelete($hWnd_options)
    GUISetState(@SW_SHOW, $hWnd_main)

    EndFunc

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

    Func _Pruefe_Wandkollision()

    If $Option1 == 0 Then

    If $Snake_X[0] > ($GuiWidth - $SnakeWidth - 20) Or $Snake_X[0] < 20 Or $Snake_Y[0] < 20 Or $Snake_Y[0] > ($GuiHeight - $SnakeWidth - 20) Then

    _Verloren("Du bist gegen eine Wand gelaufen!")

    EndIf

    Else

    For $i = 0 To $Snake_Laenge

    If $Snake_X[$i] > ($GuiWidth - $SnakeWidth - 20) Then $Snake_X[$i] = $SnakeWidth + 2.5
    If $Snake_Y[$i] > ($GuiHeight - $SnakeHeight - 20) Then $Snake_Y[$i] = $SnakeHeight + 2.5
    If $Snake_X[$i] < 20 Then $Snake_X[$i] = ($GuiWidth - $SnakeWidth - 22.5)
    If $Snake_Y[$i] < 20 Then $Snake_Y[$i] = ($GuiHeight - $SnakeHeight - 22.5)

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

    Next

    EndIf

    EndFunc

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

    Func _Pruefe_Eigenkollision()

    If $Option2 == 0 Then

    $x = _ArraySearch($Snake_X, $Snake_X[0], 4)
    $y = _ArraySearch($Snake_Y, $Snake_Y[0], 4)

    If $x == $y And $x > 0 Then

    _Verloren("Du hast dich selbst gebissen!")

    EndIf

    EndIf

    EndFunc

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

    Func _Pause()

    HotKeySet("{SPACE}")

    _GDIPlus_GraphicsDrawImageRect($hGraphic_Buffer, $hBackground, 0, 0, $GuiWidth, $GuiHeight)
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, $GuiWidth, $GuiHeight)

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

    While _IsPressed("20")

    Sleep(10)

    WEnd

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

    While True

    If GUIGetMsg() == $GUI_EVENT_CLOSE Then _Exit()

    If _IsPressed("20") Then ExitLoop

    Sleep(10)

    WEnd

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

    HotKeySet("{SPACE}", "_Pause")

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

    EndFunc

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

    Func _Verloren($str)

    HotKeySet("{SPACE}")

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

    MsgBox(0, "Snake v 0.1", $str & @CRLF & @CRLF & "Länge des Schweifs: " & $Snake_Laenge)

    _Exit()

    EndFunc

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

    Func _Exit()

    _GDIPlus_BrushDispose($hBrush_Snake)
    _GDIPlus_GraphicsDispose($hGraphic_Buffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
    Exit

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

    EndFunc

    [/autoit]

    Bilder

    • maus.PNG
      • 1,28 kB
      • 67 × 70

    Dateien

    map.PNG 7,42 kB – 0 Downloads
  • Arbeiten mit Arrays

    • Prajoss
    • 20. Mai 2010 um 14:37

    Ich glaube das war mein Fehler,

    änder doch mal die Zeile

    [autoit]

    For $i = 1 To $aVWRecords[0] - 1

    [/autoit]

    auf

    [autoit]

    For $i = 1 To $aVWRecords[0]

    [/autoit]

    Gruß

    Prajoss

  • Arbeiten mit Arrays

    • Prajoss
    • 20. Mai 2010 um 13:21
    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <file.au3>

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

    Dim $aVWRecords[1000], $aGRecords[1000], $aiResult[1000]

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

    Global $r = 0

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

    _FileReadToArray("VW.txt", $aVWRecords)
    _ArrayDisplay($aVWRecords, "Vorwahlen")

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

    _FileReadToArray("GesamtInfos.txt", $aGRecords)
    _ArrayDisplay($aGRecords, "GesamtInfo")

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

    For $i = 1 To $aVWRecords[0] - 1

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

    Local $index

    $index = _ArraySearch($aGRecords, $aVWRecords[$i])

    If $index <> 0 Then

    $aiResult[$r] = $aGRecords[$i]
    $r = $r + 1

    EndIf

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

    Next

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

    _ArrayDisplay($aiResult, "Ergebnis der Suche")

    [/autoit]

    Hier noch meine verwendeten Textdokumente und ich kriege die richtigen Ergebnisse.

    Dateien

    VW.txt 19 Byte – 253 Downloads GesamtInfos.txt 139 Byte – 269 Downloads
  • Arbeiten mit Arrays

    • Prajoss
    • 20. Mai 2010 um 12:10

    Schau dir mal die Hilfe zu "Fileinstall()" an, der erste Parameter muss ein absoluter Pfad sein!

    Probier es mal so:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <file.au3>

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

    Dim $aVWRecords, $aGRecords, $aiResult
    ;~ Dim $aVWRecords[1000], $aGRecords[1000], $aiResult[1000]

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

    Global $r = 0

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

    _FileReadToArray("VW_Nr.txt", $aVWRecords)
    _ArrayDisplay($aVWRecords, "Vorwahlen")

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

    _FileReadToArray("GesamtInfos.txt", $aGRecords)
    _ArrayDisplay($aGRecords, "GesamtInfo")

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

    For $i = 1 To $aVWRecords[0] - 1

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

    Local $index

    $index = _ArraySearch($aGRecords, $aVWRecords[$i])

    If $index <> 0 Then

    $aiResult[$r] = $aGRecords[$i]
    $r = $r + 1

    EndIf

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

    Next

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

    _ArrayDisplay($aiResult, "Ergebnis der Suche")

    [/autoit]

    Evtl. muss du bei der Array-Deklaration die 2. Zeile nehmen anstatt der 1.

  • 2x For Schleifen..Problem

    • Prajoss
    • 20. Mai 2010 um 12:00

    Ich meine ich habs kapiert und werd dir gleich die richtigen Codezeilen posten als Edit^^

    muss die noch erstellen :D

    Edit: Das von Ojo müsste passen, nimm das ^^

  • 2x For Schleifen..Problem

    • Prajoss
    • 20. Mai 2010 um 11:38

    Wollt grad das selbe sagen wie Jonathan, so wie du es beschreibst, brauchst du die 2. For-Schleife doch gar nicht?

    Um die allgemeine Verwirrung zu lösen, wäre es hilfreich zu wissen, was genau du erreichen möchtest
    (d.h. nicht was dein code machen soll, sondern was am ende rauskommen soll --> was genau tust du denn? irgendwas mit Projektbausteinen)

  • 2x For Schleifen..Problem

    • Prajoss
    • 20. Mai 2010 um 11:06

    Hi,

    ich hab genauso geguckt wie tkausl^^

    Was du gecodet hast sieht doch im Detail so aus:

    - Start Schleife 1 mit dem Wert 0
    - Start Schleife 2
    - "Code"
    - Ende Schleife 2
    - Start Schleife 1 mit dem Wert 1
    - Start Schleife 2
    - "Code"
    - Ende Schleife 2

    usw. bis Schleife 1 neun mal durchlief.

    Was hast du denn erwartet? Versuchs doch so genau wie möglich zu Beschreiben, vllt. so wie ich...

    Gruß

    Prajoss

  • Arbeiten mit Arrays

    • Prajoss
    • 20. Mai 2010 um 11:02

    Hi,

    für sowas gibt es mehrere Möglichkeiten.

    Du könntest z.b. ein drittes Array anlegen;
    In einer Schleife die Einträge des 1. Arrays mit den Einträgen des 2. Arrays vergleichen
    und alle übereinstimmungen in das 3. Array schreiben. Am Ende einfach das 3. Array ausgeben.

    Gruß

    Prajoss

    PS: Wenn du deinen Code posten würdest, könnte man viel genauer helfen

  • Logon mit oder ohne Profil?

    • Prajoss
    • 20. Mai 2010 um 10:06

    Ich glaube seine Frage bezog sich darauf, was denn der Unterschied ist .

    Aber sowas kann man sich Googlen

  • Problem mit Inhalt der ComboBox

    • Prajoss
    • 20. Mai 2010 um 09:14

    mit einer Combobox die über "GUICtrlCreateCombo" erzeugt wird geht folgendes:

    [autoit]

    GUICtrlSetData($combobox, "")

    [/autoit]

    evtl funktioniert das auch in deinem Fall

    Gruß

    Prajoss

  • Tray Eintrag mit Rechtklick Menü?

    • Prajoss
    • 20. Mai 2010 um 09:07

    Er hat doch sein Codebeispiel angehängt ;)

  • GDI+ Fehler => Bild vergrößern

    • Prajoss
    • 19. Mai 2010 um 15:12

    Hi,

    wenn du folgende Zeilen änderst:

    [autoit]

    _GDIPlus_GraphicsDrawImageRect($hBuffer, $hBitmap1, 0, 0,@DesktopWidth,@DesktopHeight)
    _GDIPlus_ImageSaveToFile($hBitmap,$hBmp)

    [/autoit]

    zu

    [autoit]

    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap1, 0, 0,@DesktopWidth,@DesktopHeight)
    _GDIPlus_ImageSaveToFile($hGraphic,$hBmp)

    [/autoit]

    erhälst du schonmal deinen Screenshot. Wie du den jetzt vergrößerst ist die nächste Frage.

    Gruß

    Prajoss

  • do while until switch hä?

    • Prajoss
    • 18. Mai 2010 um 15:08

    Hast du mal überprüft was bei einem erneuten Auslesen der Version von wow.exe
    zwischen den Patchen rauskommt? Sprich was in $versionlocal steht. Denn nur wenn das
    abweicht, trifft ja deine If-Bedingung nicht zu.

  • do while until switch hä?

    • Prajoss
    • 18. Mai 2010 um 14:59

    evtl. muss du ein paar Sekunden Zeit verstreichen lassen zwischen den Patchen und
    schau doch mal nach wann genau die Version von wow.exe während des patches geändert wird.

  • do while until switch hä?

    • Prajoss
    • 18. Mai 2010 um 14:19

    Hab dein Problem gefunden.

    Du machst folgendes:

    [autoit]

    $versionlocal = FileGetVersion($wowpath & "\Wow.exe") ; locale WoW Version

    [/autoit]

    Und nach dem ersten Patch aktualisierst du diese Version nicht!!

    Du solltest vor jedem Patchvorgang nochmal

    [autoit]

    $versionlocal = FileGetVersion($wowpath & "\Wow.exe") ; locale WoW Version

    [/autoit]

    ausführen, dann müsste es passen.

    Gruß

    Prajoss

  • Tray Eintrag mit Rechtklick Menü?

    • Prajoss
    • 18. Mai 2010 um 14:13

    Zuerst dachte ich, ich habs verstanden..
    dann hab ichs nochmal gelesen und blicke nicht mehr durch ?(

    Du möchtest doch einfach, dass wenn du auf einen Traymenüpunkt rechtsklickst, dass irgendwas passiert, oder?

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™