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

Beiträge von gem

  • Shot Beta [Spiel]

    • gem
    • 17. März 2013 um 15:59

    ah mist du hast recht in level1 kann man in der ecke starten und sich dann nicht bewegen. das wird geändert :) danke

  • Shot Beta [Spiel]

    • gem
    • 17. März 2013 um 15:37

    @Make-Grafik

    zum ersten:
    leider habe ich im nachhinein gemerkt das die steuerung nicht so gut war deswegen habe ich es extra gemacht das er wenn er steht und schießt in eine zufallsrichtung schießt wenn du mit den tasten in eine andere richtung drückst schießt er in diese.
    zum zweiten:
    sicher das man nur von stein umzingelt ist? kisten kannst du ja kaputt schießen. wäre nett wenn du das level erwähnen könntest.

    sounds kommen noch :)

  • Shot Beta [Spiel]

    • gem
    • 17. März 2013 um 13:31

    [Blockierte Grafik: http://www7.pic-upload.de/17.03.13/smqlt577ahsa.jpg]
    ich habe mal aus langeweile wieder ein kleines spiel geskriptet. herausgekommen ist ein kleiner multiplayer shooter. ziel ist es den anderen zehn mal zu töten. dazu könnt ihr verscheiden waffen nehmen. die kisten im spiel können zerstört werden mauern nicht. leider ist das spiel noch nicht ganz fertig aber es funktioniert schon.

    tastaurbelegung:
    player 1
    laufen: w,a,s,d,
    schießen: ctrl links
    player 2
    laufen: pfeiltasten
    schießen: ctrl rechts

    Dateien

    Shot Beta.zip 1,18 MB – 559 Downloads
  • Doppelklick als Event abfragen

    • gem
    • 11. März 2013 um 11:47

    bei mir kommt Time to close: 0.000s raus.
    dauert leider immer noch 3 sekunden bis sich das fenster schließt und ich die maus wieder bewegen kann :(.
    vieleicht liegts an meinem system. trozdem danke

  • Doppelklick als Event abfragen

    • gem
    • 9. März 2013 um 23:53

    ich habe mal ein timer in die exit funktion eingebaut da dauert es auch nur 26ms

    Spoiler anzeigen
    [autoit]

    Func OnAutoItExit()
    $timer = TimerInit()
    _WinAPI_UnhookWindowsHookEx($hHook)
    DllCallbackFree($hStub_MouseProc)
    ConsoleWrite(TimerDiff($timer)&@CRLF)
    EndFunc

    [/autoit]

    es ist auch so das ich die maus in den 2-3 sekunden beim schließen nicht bewegen kann. vieleicht liegts an winxp oder so.

    ps: ich mein 0.26ms

  • Doppelklick als Event abfragen

    • gem
    • 9. März 2013 um 23:16

    ich weiß nicht ob es an deinem skript oder meinem pc liegt aber komischerweise hängt sich die gui wenn ich sie mit der maus auf der gui schließe immer für 2-3 sekunden auf. entferne ich die double clck register funktioniert das schließen ohne verzögerung.

    ich benutze winxp 32bit sp3

  • Das Windows Notepad als GuiCtrl

    • gem
    • 21. Februar 2013 um 20:49

    gefällt mir sehr gut,
    gäbe es nicht eine möglichkeit ein allgemeine funtkion zu schreiben womit man programme einbinden könnte, z.b noch den Rechner, Paint etc.

  • [IE.au3] Aktuelle URL in die Inputbox übertragen

    • gem
    • 20. Februar 2013 um 21:16

    meinst du so?

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>

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

    Global $Url = ""
    $IE = _IECreateEmbedded()
    $Form = GUICreate("Browser", 623, 442)
    $Input = GUICtrlCreateInput("", 10, 10, 591, 21)
    $View = GUICtrlCreateObj($IE, 10, 40, 605, 389)
    GUISetState()

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

    _IENavigate($IE,"http://www.google.de")

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

    While GUIGetMsg() <> -3
    $Cache = _IEPropertyGet($IE, "locationurl")
    if $Cache <> $Url Then
    $Url = $Cache
    GUICtrlSetData($Input, $Url)
    EndIf
    WEnd

    [/autoit]
  • Datentypen

    • gem
    • 31. Januar 2013 um 19:34

    vielen dank. ihr helft mir sehr :)
    sorry wenn ich noch mal störe aber noch eine frage woher weiß dann eine programmiersprache wie groß eine array ist, wird die größe in eine variable gespeichert oder wie?

    danke

  • Datentypen

    • gem
    • 31. Januar 2013 um 18:25

    noch eine frage :)
    heißt das ich kann mit einem programm nie die datentypen der werte eines anderes programmes herausfinden?

  • Datentypen

    • gem
    • 31. Januar 2013 um 18:03

    vielen dank ihr habt mit beide sehr geholfen :)

  • Datentypen

    • gem
    • 31. Januar 2013 um 17:24

    ich habe mal eine frage zu variablen und datentypen

    so wie ich das verstanden habe werden die variablen im ram gespeichert und wenn sie gebraucht werden, werden sie wieder ausgelesen. wo sich die variable befindet veraten die zeiger (pointer). nun habe ich eine frage, woher weiß das programm was für ein datentyp der pointer hat?. ich kann ja auch mit einem programm auf die werte von zeigern zugreifen wo ein anderes programm werte abgespeichert hat.

    ich würde mich freuen wenn mir da jemand helfen könnte.
    danke

  • GDI+ Schachbrettspiel, Geschwindigkeitsprobleme

    • gem
    • 31. Januar 2013 um 07:30

    @Make-Grafik
    ich hab es auch schon einmal geschafft :)

    ps: ich finde es sehr gut allerdings hätte ich es gemacht das wenn man falsch klickt verliert, ist dann ncoh schwieriger :)

  • Viereck Zeichen (=Zeilenumbruch) aus String entfernen

    • gem
    • 30. Januar 2013 um 16:27

    meines wissens bedeutet das viereck das er das zeichen nicht darstellen kann.

    klappt das so vieleicht:

    [autoit]


    ;bei $code musst du das erste zeichen eintragen also so z.b.
    $code = StringMid($array[0],StringLen($array[0])-3,1)
    for $i = 0 to UBound($array)-1
    $array[$i] = Stringleft($array[$i],StringInStr($array[$i],$code,0,-1))
    Next

    [/autoit]
  • GDI+ Schachbrettspiel, Geschwindigkeitsprobleme

    • gem
    • 30. Januar 2013 um 16:07

    hab es nochmal geändert. es wird nur das bitmap neu gezeichnet wenn sich die größe verändert das heißt das läd später nicht so lange

  • GDI+ Schachbrettspiel, Geschwindigkeitsprobleme

    • gem
    • 30. Januar 2013 um 15:57

    so vieleicht

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    #include <GdiPlus.au3>;das include
    #include <Misc.au3>
    #include <ButtonConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    OnAutoItExitRegister("_end") ; die Funktion _end am Ende des Scriptes ausführen

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

    $size = 80
    $score = 0
    $Gui = GUICreate("Schachbrett", 800, 800, -1, -1)
    GUISetState(@SW_SHOW)
    _GDIPlus_Startup() ;Gdi starten
    $graphic = _GDIPlus_GraphicsCreateFromHWND($Gui)
    $bitmap = _GDIPlus_BitmapCreateFromGraphics(800, 800, $graphic)
    $buffer = _GDIPlus_ImageGetGraphicsContext($bitmap)
    _drawChess()
    $timer = TimerInit()

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

    While 1
    While 1
    Do
    $xRandom = Random(0, 800 - $size, 1)
    Until IsInt($xRandom / $size)
    Do
    $yRandom = Random(0, 800 - $size, 1)
    Until IsInt($yRandom / $size)
    $redButton = GUICtrlCreateLabel("", $xRandom, $yRandom, $size, $size)
    GUICtrlSetBkColor(-1, 0xFF0000)
    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $redButton
    $timer = TimerInit()
    GUICtrlDelete($redButton)
    $score += 10
    If IsInt($score / 100) Then
    $size = $size / 2
    _drawChess()
    EndIf
    If $score = 500 Then
    $return = _win()
    If $return =1 Then
    Exit
    Else
    GUIDelete($Gui)
    $Gui = GUICreate("Schachbrett", 800, 800, -1, -1)
    GUISetState(@SW_SHOW)
    $timer = TimerInit()
    ExitLoop 2
    EndIf
    EndIf
    _GDIPlus_GraphicsDrawImage($graphic, $bitmap, 0, 0)
    ExitLoop
    EndSwitch
    If TimerDiff($timer) > 5000 Then
    $return = _gameOver($score)
    If $return = 1 Then
    Exit
    Else
    GUIDelete($Gui)
    $Gui = GUICreate("Schachbrett", 800, 800, -1, -1)
    GUISetState(@SW_SHOW)
    $timer = TimerInit()
    ExitLoop 2
    EndIf
    EndIf
    WEnd
    WEnd
    WEnd

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

    Func _gameOver($score)
    GUICtrlDelete($redButton)
    GUIDelete($Gui)
    $Gui = GUICreate("Schachbrett", 800, 800, -1, -1)
    GUISetState(@SW_SHOW)
    $Label1 = GUICtrlCreateLabel("Game Over!", 80, 120, 589, 122)
    GUICtrlSetFont(-1, 72, 400, 0, "MS Reference Sans Serif")
    $Label2 = GUICtrlCreateLabel("Your score is: ", 75, 295, 295, 53)
    GUICtrlSetFont(-1, 30, 400, 0, "MS Reference Sans Serif")
    $Label3 = GUICtrlCreateLabel($score, 380, 295, 295, 53, $SS_RIGHT)
    GUICtrlSetFont(-1, 30, 400, 0, "MS Reference Sans Serif")
    $Button1 = GUICtrlCreateButton("Replay", 75, 470, 280, 75)
    GUICtrlSetFont(-1, 30, 400, 0, "MS Reference Sans Serif")
    $Button2 = GUICtrlCreateButton("Quit", 395, 470, 280, 75)
    GUICtrlSetFont(-1, 30, 400, 0, "MS Reference Sans Serif")
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $return = 0
    ExitLoop
    Case $Button2
    $return = 1
    ExitLoop
    EndSwitch
    WEnd
    Return $return
    EndFunc

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

    Func _win()
    GUICtrlDelete($redButton)
    GUIDelete($Gui)
    $Gui = GUICreate("Schachbrett", 800, 800, -1, -1)
    GUISetState(@SW_SHOW)
    $Label1 = GUICtrlCreateLabel("Congratulations!", 80, 120, 589, 122)
    GUICtrlSetFont(-1, 50, 400, 0, "MS Reference Sans Serif")
    $Label2 = GUICtrlCreateLabel("You won!!!!!", 75, 295, 295, 53, $SS_CENTER)
    GUICtrlSetFont(-1, 30, 400, 0, "MS Reference Sans Serif")
    $Button1 = GUICtrlCreateButton("Replay", 75, 470, 280, 75)
    GUICtrlSetFont(-1, 30, 400, 0, "MS Reference Sans Serif")
    $Button2 = GUICtrlCreateButton("Quit", 395, 470, 280, 75)
    GUICtrlSetFont(-1, 30, 400, 0, "MS Reference Sans Serif")
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $return = 0
    ExitLoop
    Case $Button2
    $return = 1
    ExitLoop
    EndSwitch
    WEnd
    Return $return
    EndFunc

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

    Func _drawChess()
    _GDIPlus_GraphicsClear($buffer,0xFFFFFFFF)
    For $i = 0 To 800 Step $size * 2
    For $j = $size To 800 Step $size * 2
    _GDIPlus_GraphicsFillRect($buffer, $j, $i, $size, $size)
    _GDIPlus_GraphicsFillRect($buffer, $j - $size, $i - $size, $size, $size)
    Next
    Next
    _GDIPlus_GraphicsDrawImage($graphic, $bitmap, 0, 0)
    EndFunc

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

    Func _end();die Exit funktion
    _GDIPlus_GraphicsDispose($graphic);Grafik Objekt freigeben
    _GDIPlus_GraphicsDispose($buffer)
    _GDIPlus_BitmapDispose($bitmap)
    _GDIPlus_Shutdown();Ressourcen freigeben
    EndFunc ;==>_end

    [/autoit]

    ps: das es später solange dauert liegt dann glaube ich an der geschwindigkeit von autoit

  • Souris [Spiel]

    • gem
    • 29. Januar 2013 um 19:40

    habe jetzt eine neue version hochgeladen in der viele sachen besser sind

    NEU
    - es gibt 3 kampagnen mit jeweils 6 level
    - level laden schneller dank der purebasic dll :)
    - man sieht wie man davor gelaufen ist
    - SourisV2.exe genau das gleiche spiel nur mit tastensteuerung
    - Souris Hack.exe wenn ihr keine lust habt die levels frei zu spielen könnt ich euch damit das passwort eines levels anzeigen lassen
    - ihr kommt mit leertaste automatisch zur nächsten map

    link im ersten post

  • Souris [Spiel]

    • gem
    • 28. Januar 2013 um 19:45

    [Blockierte Grafik: http://www10.pic-upload.de/28.01.13/i6svfzuinobt.jpg]

    da ich letztens The Maze gezockt habe und es mir sehr spaß gemacht hat durch die level zu kommen habe ich ein so gut wie identisches spiel in autoit geschrieben allerdings ohne überaschung :D.
    ihr müsst bei level1 anfangen wenn ihr das level geschafft habt bekommt ihr das passwort für das nächste level.

    beim spiel könnt ihr mit der l taste eine andere map öffnen

    der level-editor ist leider nicht so leicht zu verstehen hier die tasten erkärung

    Tastaturbelegung Editor

    F5 : neue map
    F6 : map öffnen
    F7 : map speichern

    p : passwort für die map festlegen
    l : beschreibung für die map festlegen
    x : spielerbreite (+)
    y : spielerbreite (-)
    m : zeit bis man verloren hat (+)
    n : zeit bis man verloren hat (-)

    mitteltaste der maus: startposition festlegen

    1 : farbe schwarz
    2 : farbe blau
    3: farbe rot

    linke maustaste : ein pixel malen

    rechte maustaste : malen

    q : fillrect malen
    w : linie malen
    e : rect malen
    r : fillellipse malen
    t : ellipse malen

    mausrad hoch: linienbreite [+]
    mausrad runter: linienbreite [-]

    Dateien

    Souris.zip 1,29 MB – 574 Downloads
  • [RichEdit] Mehrere RichEdit erstellen nicht möglich

    • gem
    • 20. Januar 2013 um 16:13

    ich glaub das es auch am betriebsystem liegt. vieleicht gibst du das auch noch an. ich benutze winxp 32bit

  • [RichEdit] Mehrere RichEdit erstellen nicht möglich

    • gem
    • 20. Januar 2013 um 14:50

    also ich habe eine möglichkeit gefunden ist aber bestimmt nicht ganz sauber. öffne die GuiRichEdit.au3 und geh zur funktion _GUICtrlRichEdit_Create dort löscht du die zeile
    if Not _WinAPI_IsClassName($hWnd, $_GRE_sRTFClassName) Then Return SetError(1, 0, 0) ; Invalid Window handle for _GUICtrlRichEdit_Create 1st parameter aus und speicherst dies dann unter einem andeen anme z.-b GuiRichEdit2.au3 die bindest du ein und dann funktioniert das auch mit mehreren richedits.

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™