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

Beiträge von L3viathan

  • Stack UDF (FIFO & FILO)

    • L3viathan
    • 2. Dezember 2009 um 22:43

    Och Mensch... ;(
    Na und, sonst hätte ich den Beitrag nie gefunden :P
    Und zum Array-erklären taugt meine UDF immer noch... :D

  • Text-only Counterstrike :D

    • L3viathan
    • 2. Dezember 2009 um 22:38

    Ich bastle grade an mehr als zwei Spielern und ner intelligenteren KI rum (+ CheatMiniMap, wird aber wieder rausgenommen, nur zum Coden)
    Bald könnte also ne neue Version kommen.

  • Stack UDF (FIFO & FILO)

    • L3viathan
    • 2. Dezember 2009 um 22:37

    Oh, danke, könnte man ja auch verUDFen...

  • DeskLock

    • L3viathan
    • 2. Dezember 2009 um 22:26

    das ding ist doch nicht, ob du es an deinem Rechner mit vorher installierten Programmen austricksen kannst, sondern ob ein Fremder, der an deinen PC geht es knacken kann...

  • Eigener Internetbrowser

    • L3viathan
    • 2. Dezember 2009 um 22:10

    Naja, es ginge schon...
    Er muss ja nicht gleich HTML5 unterstützen, oder ist Lynx kein Browser?

  • Stack UDF (FIFO & FILO)

    • L3viathan
    • 2. Dezember 2009 um 22:04

    Manche kennen vlt. aus anderen Sprachen das Stapelkonzept. Ein Stapel ist eine Art Datentyp, der aus Elementen besteht und den man sich wie einen realen Stapel Bücher (FILO) oder eine Murmelbahn (FIFO) vorstellen kann.
    FILO (FirstInLastOut):

    Spoiler anzeigen

    Lege Buch 1 auf den Stapel
    Lege Buch 2 auf den Stapel
    Lege Buch 3 auf den Stapel
    Lege Buch 4 auf den Stapel
    Nimm oberstes Buch vom Stapel (Buch 4)
    Nimm oberstes Buch vom Stapel (Buch 3)
    Lege Buch 5 auf den Stapel
    ...


    FIFO (FirstInFirstOut):

    Spoiler anzeigen

    Lasse Murmel 1 rollen
    Lasse Murmel 2 rollen
    Lasse Murmel 3 rollen
    Nimm Murmel aus der Auffangstelle (Murmel 1)
    Lasse Murmel 4 rollen
    Nimm Murmel aus der Auffangstelle (Murmel 2)
    ...

    So, und das ganze habe ich mal mittels Arrays in AutoIt nachempfunden.
    Das ganze ist sowohl als Arrayersatz bzw. -heranführung für Einsteiger gedacht (auch wenn es intern Arrays sind), als auch manchmal sonst praktisch, wenn man ähnliche Vorgänge nachbilden möchte und einen die Indizes eines Arrays nicht interessieren.

    Funktionen
    [autoit]


    _Stack_New($firstdata) ; gibt ein eindimensionales Array mit einem Element zurück ($firstdata). Anmerkung: Gibt es eine Möglichkeit, ein leeres Array zu erstellen( Dim $array[0] geht schließlich nicht)
    _FIFO_Set($stack, $data) ; fügt Daten zu einem FIFO-Stack hinzu
    _FILO_Set($stack, $data) ; selbiges mit FILO, eigentlich identisch mit _FIFO_Set
    _FIFO_Get($stack) ; gibt ein Element zurück (das erste), löscht dieses
    _FILO_Get($stack) ; gibt ein Element zurück (das letzte), löscht dieses
    _Stack_isBlank($stack) ; gibt an, ob der Stack leer ist

    [/autoit]


    Es besteht eigentlich kein Unterschied zwischen den Stacktypen, d.h., man kann auch auf einen FIFO-Stack _FILO_Get anwenden...

    UDF+Beispiel
    [autoit]

    #include-once
    #include <Array.au3>
    ;Stack.au3
    Func _Stack_New($firstdata)
    ;returns a "stack" (special array)
    Local $ret[1]=[$firstdata]
    Return $ret
    EndFunc
    Func _FIFO_Set(ByRef $stack,$data)
    ;adds data to the Stack
    If UBound($stack) < 1 Then Return StringTrimLeft(SetError(1),1) & ""
    _ArrayAdd($stack,$data)
    EndFunc
    Func _FIFO_Get(ByRef $stack)
    ;returns first unused element
    If UBound($stack) < 1 Then Return StringTrimLeft(SetError(1),1) & ""
    Local $return=$stack[0]
    _ArrayDelete($stack,0)
    Return $return
    EndFunc
    Func _FILO_Set(ByRef $stack,$data)
    ;adds data to the stack
    If UBound($stack) < 1 Then Return StringTrimLeft(SetError(1),1) & ""
    _ArrayAdd($stack,$data)
    EndFunc
    Func _FILO_Get(ByRef $stack)
    ;returns last unused element
    If UBound($stack) < 1 Then Return StringTrimLeft(SetError(1),1) & ""
    Local $ret=$stack[Ubound($stack)-1]
    _ArrayDelete($stack,Ubound($stack)-1)
    Return $ret
    EndFunc
    Func _Stack_isBlank(ByRef $stack)
    If UBound($stack) < 1 Then Return True
    Return False
    EndFunc
    $newStack=_Stack_New("Eins")
    _FIFO_Set($newStack,"Zwei")
    _FIFO_Set($newStack,"Drei")
    _FIFO_Set($newStack,"Vier")
    _FIFO_Set($newStack,"Fünf")
    _FIFO_Set($newStack,"Sechs")
    _FIFO_Set($newStack,"Sieben")
    Do
    MsgBox(0,"",_FILO_Get($newStack))
    Until _Stack_isBlank($stack)

    [/autoit]
  • Autoit Frage

    • L3viathan
    • 30. November 2009 um 15:37

    AutoIt ist zwar in C++ geschrieben, das funktioniert aber anders:
    Beim "Kompilieren" packt der "Compiler" den Interpreter zusammen mit dem Skript in eine exe-Datei. Es wird also eigentlich garnicht kompiliert.

  • Doppelgeburtstag

    • L3viathan
    • 28. November 2009 um 14:34

    Happy Birthday den 77-jähhrigen.

  • DeskLock

    • L3viathan
    • 28. November 2009 um 14:30
    Zitat von HalliHalloSchat

    konnte man nicht mit gedrückter SHIFT Taste das Autorun deaktivieren, wenn eine CD eingelegt wurde...

    :rofl: klar, wenn du daneben sitzen bleibst :D
    nuts: Gute Idee!

  • Torrent - Allgemeine Fragen

    • L3viathan
    • 27. November 2009 um 21:33

    Achso: Ich empfehle µTorrent (unter Windows), ansonsten Transmission.

  • Torrent - Allgemeine Fragen

    • L3viathan
    • 27. November 2009 um 21:17
    Zitat von Andy

    http://de.wikipedia.org/wiki/BitTorrent beantwortet bestimmt nicht alle, aber die relevanten Fragen....

    Jaja, Wikipedia und die Relevanzdebatte :D

  • DeskLock

    • L3viathan
    • 27. November 2009 um 13:23

    Einfache Lösung: Autorun ausschalten (Registry)
    Allerdings: Sicher ist etwas anderes, das kommt aber schon ziemlich nah dran.

  • DeskLock

    • L3viathan
    • 27. November 2009 um 11:18

    Dann halt so:

    [autoit]

    Do
    ProcessClose("Desklock.exe")
    ProcessClose("Desklock2.exe")
    Until not Processexists("Desklock.exe") And not ProcessExists("Desklock2.exe")

    [/autoit]


    Das ist vmtl. stärker weil schneller.

  • Klick auf TrayIcon soll GUI Anzeigen

    • L3viathan
    • 27. November 2009 um 11:07
    [autoit]

    TrayGetMsg

    [/autoit]
  • DeskLock

    • L3viathan
    • 27. November 2009 um 11:02

    Und so wirds geknackt:

    [autoit]


    ProcessClose("Desklock.exe")

    [/autoit]


    Das ganze als AutoRun.exe + zugehörige autorun.inf auf ne CD brennen, einlegen und fertig :D

  • Text-only Counterstrike :D

    • L3viathan
    • 27. November 2009 um 10:16

    Neue Version -> #1

  • Text-only Counterstrike :D

    • L3viathan
    • 27. November 2009 um 10:03

    Ne Minimap kommt definitiv nicht, das ist ja der Witz daran. Und die KI sieht dich auch nicht. Übrigens: Wenn du direkt vor einem Gegner stehst, siehst du ihn.

  • Geburtstag von Raupi

    • L3viathan
    • 26. November 2009 um 21:57

    Gibts hier was umsonst?

    :D Happy Birthday, Raupi! :D

  • z.B. "mailto:" mit Script verlinken

    • L3viathan
    • 26. November 2009 um 21:39

    siehe hier

  • Text-only Counterstrike :D

    • L3viathan
    • 26. November 2009 um 21:26

    tobi_girst: Ja, kann ich gleich mal schnell machen.
    @Faweyr: 1.) KI kommt ja noch, kannst auch gerne mithelfen (vlt. auch LAn-modus, oder 2-Spieler-an-einem-PC). Allerdings weiß ich noch nicht, ob ich das dann runden- oder zeit-basiert machen soll
    2.) Ist ja auch mehr ein Gag als ein ESL-Spiel :D

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™