• Hier stelle ich euch (m)ein Programm namens "Tell a Story" vor.
    Dieses Programm, welches zur zeit in Version 1.2 ist, ermöglicht es euch, große Zitate in diversen (Online)Spielen aufzuführen.
    Dies ist z.Bsp. nützlich, um News ingame mitzuteilen,ohne dass die Betroffenen ins Forum müssen.
    Auch (berühmte) Zitate können von nun an auch ohne Linkbeigabe einfach mitgeteilt werden.
    Und auch wenn man im Forum mal wieder einen Roman geschrieben hat, die andere Person aber nicht grade ins Forum möchte/kann, kann dieser "vorgelesen" werden.
    Die Version 1.2 unterstützt den "loop" Befehl,welcher bei wiederholter Texteingabe benutzt wird.
    Benutzung: An Zeilenanfang

    Code
    loop[befehl/text]


    Der Text nach loop wird dann (natürlich begrenzt) so oft wiederholt, bis das Script pausiert/beendet wird.

    Übersicht:
    -Zeilenbegrenzung
    * Onlinegames besitzen sehr oft eine maximale Anzahl an Buchstaben,weshalb nonstop-Romane unmöglich gemacht werden. Diese Option setzt fest,nach wievielen Buchstaben eine neue zeile angefangen wird (Zahl zwischen 1-99)
    -Präfix
    *Für Onlinegames,wo man zum Schreien/Flüstern/Adminchat vor dem eigentlichem Text noch Vorzeichen braucht
    -Taste zur Eingabe
    *Ermöglicht , das Tool in Kombination mit verdammt vielen Spielen zu kompatiblieren (nicht nur SA:MP)
    -Sekunden bis Enter
    *Wartet eine vorgegebene Zeit (in Sekunden),bis die Nachricht abgeschickt werden soll. Dies ermöglicht den anderen Usern, die Nachricht durchzulesen ;)

    Benutzung:
    Passe die Anpassungsmöglichkeiten (s.o.) an,
    kopiere den text,welchen du zitieren willst, in das große Eingabefeld,
    wechsel in das Spiel deiner Wahl und drück F1.
    Zum Beenden: F2 drücken
    Zum Pausieren,Einstellungen zum Default setzen und auf nächsten Text warten: F1 drücken

    Screenshot:
    http://img10.myimg.de/tellastory6524f.jpg

    Anmerkung:
    Das Programm ist 100% Virenfrei.
    Dadurch,dass ich der Ersteller bin, kann ich Support und Bigfixing bieten.
    Bugs bitte Ingame/Forum reporten.

    Quellcode:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    HotKeySet("{f1}","_start")
    HotKeySet("{f2}","_exit")

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

    Global $readlimit , $readpreafix , $limit , $gui , $text , $praefix , $version = "1.2" , $seks , $readseks , $taste , $readtaste

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

    MsgBox(64,"Info","Optionen anpassen," & @crlf & "Text einfügen," & @crlf & "ins Spiel wechseln" & @crlf & "Dann nochmal F1 drücken." & @crlf & "Um das Skript zu beenden,F2 drücken ! (Direkt beenden) oder F1 zum pausieren.")
    _start()
    Exit

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

    Func _exit()
    Exit
    EndFunc

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

    Func _start()
    GUIDelete($gui)
    HotKeySet("{f1}","_send")
    $gui = GUICreate("Tell a Story " & $version,300,500)
    GUICtrlCreateLabel("Präfix :",5,5,60,20)
    GUICtrlCreateLabel("Begrenzung :",85,5,60,20)
    $limit = GUICtrlCreateInput("10",85,25,50,25)
    GUICtrlCreateUpdown(-1)
    GUICtrlSetLimit($limit,2)
    $praefix = GUICtrlCreateInput("/r",5,25,50,25)
    $text = GUICtrlCreateEdit("Text",5,50,290,400)
    GUICtrlCreateLabel("Taste zur Eingabe",170,5,100,20)
    $taste = GUICtrlCreateInput("t",170,25,50,25)
    GUICtrlCreateLabel("Sekunden bis zum Enter",5,450,200,25)
    $seks = GUICtrlCreateInput("2",5,470,50,25)

    GUISetState()

    While 1
    $msg1 = GUIGetMsg()
    Select
    Case $msg1 = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd

    EndFunc

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

    Func _send()
    HotKeySet("{f1}","_start")
    $readlimit = GUICtrlRead($limit)
    $readpreafix = GUICtrlRead($praefix)
    $readtaste = Guictrlread($taste)
    $readseks = GUICtrlRead($seks) * 1000
    Do
    If StringInStr(StringLeft(GUICtrlRead($text),$readlimit),"loop") Then
    GUICtrlSetData($text,StringReplace(Guictrlread($text),"loop",""))
    Do
    If not $readpreafix = "" Then
    Send($readtaste & $readpreafix & " " )
    ElseIf $readpreafix = "" Then
    Send($readtaste)
    EndIf
    Sleep(200)
    Send(Stringleft(GUICtrlRead($text),$readlimit))
    Sleep($readseks)
    Send("{enter}")
    Sleep(500)
    Until 1=2
    EndIf
    Send($readtaste & $readpreafix & " " )
    Sleep(200)
    If Stringleft(GUICtrlRead($text),$readlimit) = "" Then
    Do
    Stringleft(GUICtrlRead($text),$readlimit)
    Until Stringleft(GUICtrlRead($text),$readlimit) <> ""
    EndIf
    Send(Stringleft(GUICtrlRead($text),$readlimit))
    Sleep($readseks)
    Send("{enter}")
    GUICtrlSetData($text,StringTrimleft(Guictrlread($text),$readlimit))
    ;MsgBox(0,"test",StringTrimleft(Guictrlread($text),$readlimit))
    Sleep(200)
    Until Guictrlread($text) = ""

    EndFunc

    [/autoit]

    Bug:
    Bei Zeilenumbrüchen benutzt der die Vorangestellte präfixe und $readtaste nichtmehr....
    Ideen immer gerne genommen,sonst interessiert mich,wie ich bei StringTrimRight einen Zeilenumbruch überprüfe.

    [b]P.S.: Sorry dass es in der "Ich-stelle-ein-Projekt" Form ist, wollte nicht alles erklären müssen ;)

    Zitat

    Programmieren ist so lange lustig bis ein Fehler auftritt!


    ~ Dankeschön

  • :|
    Watn dat?
    Gestern abend erstellt, heute auf der 2. Seite .....
    Zuviele Mitglieder? ;)

    Hat denn sonst niemand ne Idee?

    Zitat

    Programmieren ist so lange lustig bis ein Fehler auftritt!


    ~ Dankeschön