Och Mensch...
Na und, sonst hätte ich den Beitrag nie gefunden ![]()
Und zum Array-erklären taugt meine UDF immer noch... ![]()
Beiträge von L3viathan
-
-
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. -
Oh, danke, könnte man ja auch verUDFen...
-
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...
-
Naja, es ginge schon...
Er muss ja nicht gleich HTML5 unterstützen, oder ist Lynx kein Browser? -
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]
[/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
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
[/autoit]
#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 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. -
Happy Birthday den 77-jähhrigen.
-
konnte man nicht mit gedrückter SHIFT Taste das Autorun deaktivieren, wenn eine CD eingelegt wurde...
klar, wenn du daneben sitzen bleibst 
nuts: Gute Idee! -
Achso: Ich empfehle µTorrent (unter Windows), ansonsten Transmission.
-
http://de.wikipedia.org/wiki/BitTorrent beantwortet bestimmt nicht alle, aber die relevanten Fragen....
Jaja, Wikipedia und die Relevanzdebatte

-
Einfache Lösung: Autorun ausschalten (Registry)
Allerdings: Sicher ist etwas anderes, das kommt aber schon ziemlich nah dran. -
Dann halt so:
[autoit]Do
[/autoit]
ProcessClose("Desklock.exe")
ProcessClose("Desklock2.exe")
Until not Processexists("Desklock.exe") And not ProcessExists("Desklock2.exe")
Das ist vmtl. stärker weil schneller. -
[autoit]
TrayGetMsg
[/autoit] -
Und so wirds geknackt:
[autoit]
[/autoit]
ProcessClose("Desklock.exe")
Das ganze als AutoRun.exe + zugehörige autorun.inf auf ne CD brennen, einlegen und fertig
-
Neue Version -> #1
-
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.
-
Gibts hier was umsonst?
Happy Birthday, Raupi! 
-
-
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