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
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:
[Blockierte Grafik: 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
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
HotKeySet("{f1}","_start")
HotKeySet("{f2}","_exit")
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
Func _exit()
Exit
EndFunc
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
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
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