Skripte entwerfen
mit ssScriptMaker
ssScriptMaker ist eine Software, die
die Entwicklung von Scripts für SexScripts all denen erleichtert, die
gute Ideen haben und gute Scripts erstellen wollen, aber nicht über die
nötigen Programmierkenntnisse verfügen.
Die Dokumentation zu ssScriptMaker
ist in drei Teile gegliedert:
Eigenes Skript für SexScripts erstellen
Dieser Abschnitt beschreibt die
grundlegende Verwendung von ssScriptMaker. Es erklärt, wie man ein
Skript erstellt und es auf SexScripts laufen lässt, und wie man
Ressourcen hinzufügt, die globalen Informationen einstellt und
grundlegende Befehle zu seinem Skript hinzufügt.
Dieser Abschnitt enthält die
folgenden Themen:
Einleitung
Installation
Das erste Skript erstellen
Einstellen der globalen Info
Hinzufügen von Ressourcen zu Ihrem
Skript
Grundlegende Befehle
Rahmenbedingungen
Testen und Veröffentlichen Ihres
Skripts
Erweiterte Nutzung
Dieser Abschnitt beschreibt die
erweiterte Verwendung von ssScriptMaker, um schönere Skripte zu
erstellen. Es beschäftigt sich mit Variablen, Timern, gespeicherten
Datenwerten, der Verwaltung der Artikellisten und anderen Funktionen.
Die folgenden Themen sind in diesem
Abschnitt enthalten:
Erweiterte Befehle
Erweiterte Bedingungen
Zusätzliche Befehle
Die groovige Sprache für SexScripts
Alle Skripte in SexScripts sind in
einer Skriptsprache namens Groovy geschrieben. Zu wissen, wie man es
benutzt, gibt viel mehr Flexibilität und Kontrolle als die
Standardbefehle für Ihr Skript. Dieser Abschnitt gibt einen Überblick
darüber, wie man groovigen Code schreibt und wie man ihn in seinem
Skript verwendet. Dieser Abschnitt ist kein kompletter grooviger Kurs,
sondern eine Einführung in die groovige Benutzung von SexScripts, und
es wird vorgetäuscht, dass er für Leute mit null Programmierkenntnissen
verständlich ist, die daran interessiert sind zu lernen, wie man mit
groovy beginnt.
Die folgenden Themen sind in diesem
Abschnitt enthalten:
Groovy Übersicht
SexScripts-API
So fügen Sie Ihrem Skript groovigen
Code hinzu
Verwendung von Funktionen
Wie man ein Skript komplett in
groovy schreibt, ohne ssScriptMaker zu verwenden
Wo finde ich mehr Hilfe zu groovigem
Scripting?
Einleitung
Mit dem Herunterfahren von
CyberMistress haben sich mehrere Klone erhoben, um die Lücke zu
schließen, die die Teaser-Software hinterlassen hat. Eines davon,
SexScripts, bietet eine sehr ähnliche Benutzeroberfläche wie sein
Vorfahre, jedoch mit dem Unterschied, dass seine Skripte tatsächlich in
einer wirklich mächtigen Skriptsprache geschrieben sind. SexScripts ist
wahrscheinlich der leistungsfähigste, flexibelste und tragbarste
Offline-Teaser, den es heutzutage gibt.
Sobald du ein wenig mit SexScripts
gespielt hast und einige ihrer verfügbaren Skripte ausgeführt hast,
wirst du herausfinden, dass das Spielen mit neckenden Skripten Spaß
macht. Aber es macht eigentlich mehr Spaß, eigene Skripte zu entwerfen
und sie von anderen spielen zu lassen. Obwohl es keine schwere Aufgabe
ist, Skripte für SexScripts zu schreiben und es hat eine einfach zu
bedienende API, erfordert es immer noch ein Minimum an
Programmierkenntnissen, um Skripte dafür zu schreiben. Und Sie können
direkt gegen eine Wand treten, wenn Sie versuchen, ohne
Programmierkenntnisse ein Skript dafür zu schreiben.
Heißt das also, dass es unmöglich
ist, eigene Skripte zu erstellen, wenn man keine Ahnung von der
Programmierung hat? Zum Glück nicht. Hier kommt ssScriptMaker heraus,
das geschrieben wurde, um das Erstellen von Skripten für solche Leute
zu erleichtern. Eine Programmierung ist nicht erforderlich. Eine
intuitive und einfach zu bedienende Oberfläche ermöglicht es Ihnen,
Ihre eigenen Skripte sehr schnell zu erstellen. Sie können Ihren
Skripten die Befehle, die sie ausführen müssen, mit wenigen Mausklicks
hinzufügen. Sie können Bilder und Töne in Ihre Skripte importieren und
verwenden. Und wenn du dein Skript fertig hast, kannst du es in
SexScripts exportieren, um es zu testen und zu veröffentlichen.
Sobald Sie mit der Skripterstellung
vertraut sind, können Sie versuchen, Ihre Skripte einfach zu
programmieren, indem Sie ihnen ein paar Zeilen Code hinzufügen und es
einfach nehmen. Das Hinzufügen von Code zu Ihren Skripten gibt Ihnen
die volle Kontrolle darüber, was in Ihren Skripten geschieht.
In diesem Dokument erfahren Sie
alles, was Sie über ssScriptMaker wissen müssen und wie Sie damit Ihre
eigenen Skripte erstellen können. Bitte beachten Sie, dass selbst mit
diesem Programm das Entwerfen von Skripten nicht ganz einfach ist. Es
gibt zu viele Aspekte, die wichtig sind: eine gute Dialogzeile, die
richtige Umgebung für Ihr Skript schaffen, realistische Aufgaben
anordnen, etc. Beginnen Sie mit einfachen Dingen und Sie werden
feststellen, dass das Erstellen von Skripten viel Spaß macht.
Weitere Informationen über
SexScripts und Download-Links finden Sie unter
http://ss.deviatenow.com
Installation
Wahrscheinlich haben Sie dies
bereits getan, aber wenn nicht, hier ist, wie man ssScriptMaker
installiert.
Anforderungen
Sie müssen SexScripts in einem
Ordner auf Ihrem Computer installiert haben. Und wenn Sie SexScripts
korrekt auf Ihrem System laufen haben, hat Ihr System bereits alle
Voraussetzungen, um ssScriptMaker auszuführen; das ist eine
funktionierende Installation einer virtuellen Java-Maschine, die
mindestens mit Java 1.4.2, JRE 6 oder höher kompatibel ist, die Sie
unter http://java.com finden können.
Installation
Entpacken Sie einfach
ssScriptMaker.zip und kopieren Sie den gesamten Inhalt in den gleichen
Ordner, in dem sich Ihre aktuelle SexScripts-Installation befindet. Sie
müssen insgesamt folgende Dateien kopieren: ssScriptMaker.exe,
ssScriptMaker.jar, ssScriptMaker.sh, den Ordner ssMakerHelp und alle
seine Inhalte, den Ordner ssMakerIcons und alle seine Inhalte, den
Ordner ssMakerScripts und alle seine Inhalte, die Ordnerbilder und alle
seine Inhalte. Stellen Sie sicher, dass Sie alle Dateien in den
gleichen Ordner kopieren, in dem Sie SexScripts oder ssScriptMaker
installiert haben. Beachten Sie, dass Sie beim Kopieren all dieser
Dateien feststellen werden, dass ein Bilderordner bereits in dem Ordner
existiert, in dem Sie SexScripts installiert haben. Sie dürfen es nicht
löschen und dann den Bilderordner, der in ssScriptMaker.zip kommt,
kopieren oder den ursprünglichen Ordner für den Ordner, der in der
zip-Datei enthalten ist, ersetzen. Sie sollten alle Inhalte, die sich
im Bilderordner von ssScriptMaker.zip befinden, in den Bilderordner
Ihrer aktuellen SexScripts-Installation kopieren.
Das erste Skript erstellen
Es ist gut, erst einmal einen Blick
darauf zu werfen, wie man ein sehr einfaches Beispiel macht. Der erste
Schritt beim Erstellen eines Scripts besteht darin, zu beschreiben, wie
das Script aussehen soll, das wir erstellen wollen. In diesem Fall wird
das Drehbuch sehr einfach sein, eine gut aussehende Frau bittet den
Sklaven, sich nackt auszuziehen und dann bis zum Rand zu masturbieren,
um den Sklaven schließlich zu entlassen, ohne ihn abspritzen zu lassen.
Jetzt haben wir also eine Idee, wie
unser Drehbuch aussehen soll, wir können damit beginnen, es zu
verwirklichen. Wir benötigen ein leeres Blatt, um unser Skript zu
erstellen, also öffnen Sie zuerst ssScriptMaker und Sie erhalten ein
leeres Blatt. Dazu sollten Sie auf ssScriptMaker.exe doppelklicken,
wenn Sie sich in Windows befinden, oder ssScriptMaker.sh ausführen,
wenn Sie sich unter Mac oder Linux befinden. Wenn Ihr System so
konfiguriert ist, dass es JAR-Dateien aus dem Explorer öffnet, können
Sie auch auf ssScriptMaker.jar doppelklicken. Wenn keine der oben
genannten Möglichkeiten funktioniert oder Sie zufrieden gestellt hat,
können Sie ein Terminal öffnen, zu Ihrem SexScripts-Ordner navigieren
und den Befehl "java -jar ssScriptMaker.jar" ausführen, ohne die
doppelten Anführungszeichen " ". Wenn Sie bereits ssScriptMaker
geöffnet haben, können Sie aus dem Datei-Menü neu auswählen, Strg+N
drücken oder auf das weiße Blatt-Symbol in der Symbolleiste klicken, um
ein leeres Blatt zum Starten eines Scripts zu erhalten.
Zuerst einmal ist es eine gute Idee,
die globalen Skriptinformationen zu setzen, bevor man das
Skript-Verhalten in die Tiefe geht. Wählen Sie dazu im Hauptfenster die
Registerkarte Script Info und füllen Sie die Felder aus, die Sie sehen
werden. Wählen Sie einen beliebigen Namen für den Namen des Skripts und
geben Sie Ihren (oder Ihren Spitznamen) in das Autorenfeld ein. Sie
können Ihre E-Mail auch in das nächste Feld eintragen oder leer lassen.
Lassen Sie die Felder Version, Lizenz, Status und Sprache unverändert
und wählen Sie eine Hintergrundfarbe aus. Versuchen Sie, helle Farben
als Hintergrundfarben zu verwenden, da sie die Sicht des Benutzers
weniger ermüden. Füllen Sie das Tag-Feld mit "femaledom, test" ohne die
Anführungszeichen " " ". Füllen Sie das Statistikfeld mit "Ein
Dom-Mädchen will mit dir spielen." oder einer anderen
Skriptbeschreibung aus und lassen Sie die verwendeten Elemente und
Disclaimer-Felder leer.
Jetzt haben wir unser Skript
eingerichtet, ist ein guter Zeitpunkt, es zu speichern. Wählen Sie dazu
Speichern aus dem Datei-Menü, drücken Sie Strg+S oder klicken Sie auf
das Diskettensymbol in der Symbolleiste. So wie dies das erste Mal ist,
dass Sie Ihr Skript speichern, müssen Sie einen Namen angeben. Wenn Sie
das Skript das nächste Mal speichern, müssen Sie den Namen des Skripts
nicht mehr angeben.
Sobald das Skript eingerichtet ist,
können wir einige Ressourcen hinzufügen. Zuerst brauchen wir ein Bild
von einem heißen Mädchen, um unser Drehbuch zu starten. Von nun an
werden wir dieses Bild als girl.jpg bezeichnen. Um girl.jpg zu den
Script-Ressourcen hinzuzufügen, gehen Sie auf die Registerkarte
Ressourcen im Hauptfenster. Klicken Sie auf die Schaltfläche Bild
hinzufügen und wählen Sie girl.jpg. Wir haben jetzt ein Bild zu unseren
Skripten hinzugefügt! Es ist ein guter Moment, um unser Drehbuch zu
retten. Versuchen Sie, Ihre Skripte so oft wie möglich zu speichern.
Wenn also etwas Seltsames passiert, können Sie Ihr Skript
wiederherstellen, ohne zu viel Arbeit zu verlieren.
Jetzt haben wir alle Werkzeuge, die
wir brauchen, um unser Skript zu erstellen. Lassen Sie uns zunächst
einen Überblick darüber bekommen, wie Skripte auf SexScripts
funktionieren. Alle Skripte sind in der Tat eine Art Liste von
Befehlen, die sequentiell ausgeführt werden. Wenn wir also das folgende
Skript haben:
command1
command2
command3
…
commandN
Wenn wir das Skript ausführen, wird
command1 zuerst ausgeführt, und wenn es seine Ausführung beendet hat,
wird command2 ausgeführt, und wenn es beendet ist, wird der nächste
Befehl3 ausgeführt und so weiter. SexScripts werden auch immer ein Bild
und eine Textnachricht anzeigen, bis wir sie ausdrücklich mit einem
Befehl ausblenden.
Um unserem Skript Befehle
hinzuzufügen, müssen wir zuerst die Registerkarte Skript im
Hauptfenster auswählen. In dieser Registerkarte sehen wir ein leeres
Feld, in dem die Befehle, die wir unserem Skript hinzufügen werden,
angezeigt werden, und auf der rechten Seite ein Fenster mit den
verfügbaren Befehlen, die in Registerkarten nach ihrem Typ sortiert
sind. Der allererste Befehl, den wir unserem Skript hinzufügen werden,
ist ein Kommentar, also klicken Sie auf den Kommentar-Button in der
Registerkarte "Basic" im Befehlsfenster. Ein neues Fenster mit einem
Textfeld und zwei Schaltflächen, einer mit Ok und der andere mit
Cancel, wird geöffnet. Geben Sie "Start of my Script" ohne die
Anführungszeichen in das Textfeld ein und klicken Sie auf Ok. Sie
können nun Ihren Kommentar in der Liste der Skriptbefehle in gelber
Farbe sehen. Kommentare sind in der Tat keine Befehle, und sie werden
alle ignoriert, wenn das Skript ausgeführt wird. Das Einfügen von
Kommentaren durch Ihr Skript hilft Ihnen, sich zu merken, was Sie
irgendwann in Ihrem Skript gemacht haben, und sie sind sehr nützlich,
wenn Sie vorhaben, große Skripte mit vielen Befehlen auszuführen.
Das nächste, was wir tun, ist, den
ersten Befehl hinzuzufügen, der wirklich ausgeführt wird. Wir werden
das aktuelle Bild von SexScripts auswählen, um unserem Skript einen
individuellen Look zu geben. Klicken Sie dazu auf die Schaltfläche
"Bild anzeigen" in der Registerkarte "Basis". Wählen Sie im neuen
Fenster girl.jpg aus der Dropdown-Liste und klicken Sie auf Ok. Sie
sehen nun Ihren Befehl direkt unter dem Anfangskommentar. Wenn Sie
einen Befehl bearbeiten oder ändern möchten, können Sie darauf
doppelklicken. Wenn Sie einen Befehl aus der Liste löschen möchten,
können Sie den Befehl, den Sie löschen möchten, mit einem einzigen
Klick auswählen und die Löschtaste auf der Tastatur drücken. Jedes Mal,
wenn Sie einen neuen Befehl zu Ihrem Skript hinzufügen, wird dieser
direkt unter dem ausgewählten Befehl der Befehlsliste Ihres Skripts
hinzugefügt, also achten Sie darauf, welche Befehlszeile ausgewählt
ist, bevor Sie Befehle hinzufügen. Aus diesem Grund ist es immer
sinnvoll, den allerersten Befehl als Kommentar zu lassen. Wenn Sie also
Befehle vor Ihrem ersten Skriptbefehl hinzufügen möchten, müssen Sie
nur diesen allerersten Kommentar auswählen und die gewünschten Befehle
hinzufügen.
Der nächste Befehl, den wir
hinzufügen werden, ist ein Gruß von unserem Stargirl. Um das zu tun,
werden wir auswählen, welche Nachricht von SexScripts angezeigt wird.
Vergewissern Sie sich, dass die letzte Zeile der Skriptbefehlsliste
ausgewählt ist, und klicken Sie auf die Schaltfläche "Nachricht
anzeigen" auf der Registerkarte "Basis". Füllen Sie das Textfeld mit
"Hallo" und stellen Sie sicher, dass das Kontrollkästchen "Warten"
aktiviert ist. Wählen Sie diese Option, um eine Anzahl von Sekunden zu
warten, und geben Sie 4 in das Feld Sekunden ein. Klicken Sie dann auf
Ok. Dieser letzte Befehl setzt unsere benutzerdefinierte Nachricht als
die aktuelle Nachricht und wartet eine Verzögerung von 4 Sekunden,
bevor er den nächsten Befehl ausführt, so dass der Slave Zeit hat, sie
zu lesen, bevor wir sie für einen anderen ändern.
Der folgende Befehl, den wir
hinzufügen werden, ist eine weitere Nachricht, aber dieses Mal wird
unser Mädchen den Sklaven mit seinem Namen anführen, um dem Sklaven ein
individuelles Gefühl zu geben. Also klicken wir wieder auf die
Schaltfläche Nachricht anzeigen und füllen das Textfeld mit "Wie geht
es dir heute, $name? Wenn das Skript diesen Befehl ausführt, wird
eigentlich $name nicht angezeigt, sondern der Name des Slaves. $name
ist ein Sonderzeichen. Weitere Sonderzeichen finden sie unter der
Rubrik Sonderzeichen.
Das nächste, was unser Mädchen tun
wird, ist, den Sklaven zu bitten, sich auszuziehen. Wir können eine
Nachricht mit dieser Reihenfolge anzeigen, aber wir können nicht eine
vordefinierte Anzahl von Sekunden warten, weil der Sklave sich beliebig
lange ausziehen kann. Diesmal werden wir also warten, bis der Sklave
auf einen Knopf klickt, um unser Mädchen zu warnen, dass es nackt ist.
Klicken Sie dazu erneut auf die Schaltfläche Nachricht anzeigen und
geben Sie als Nachricht "Jetzt ganz nackt, schnell" ein. Aber dieses
Mal, anstatt einige Sekunden zu warten, wählen Sie, um auf einen
Tastendruck zu warten, und geben Sie "Ich bin nackt" als
Tastenbeschriftung ein.
Jetzt hat sie ihren Sklaven nackt,
unser Mädchen wird dem Sklaven befehlen, zu masturbieren. Aber dieses
Mal werden wir eine zufällige Anzahl von Sekunden warten, um unserem
Skript unterschiedliche Wartezeiten zu geben, jedes Mal wenn das Skript
ausgeführt wird. Klicken Sie erneut auf die Schaltfläche Nachricht
anzeigen und füllen Sie die Nachricht mit "Start masturbieren für mich,
Sklave", aber dieses Mal wählen Sie eine zufällige Zeit zu warten. Als
minimale Wartezeit Typ 60 und als maximale Wartezeit Typ 120. Diese
Wartezeiten werden als Sekunden interpretiert, so dass die Wartezeit
für diesen Befehl eine zufällige Zeit zwischen einer und zwei Minuten
beträgt.
Um unser Skript zu beenden, wird das
Mädchen den Sklaven bitten, an den Rand zu kommen, und dann aufhören,
ohne Cumming. Klicken Sie erneut auf die Schaltfläche Nachricht
anzeigen und geben Sie als Nachricht "Now get quickly to the edge,
$name" ein und wählen Sie, ob Sie auf einen Knopfdruck warten möchten.
Beschriften Sie die Schaltfläche "I'm on the edge" und klicken Sie auf
Ok. Klicken Sie ein letztes Mal auf show message command und geben Sie
"You're getting me bored slave" ein. Ich werde noch mehr interessante
Sachen machen. Du darfst in keiner Weise abspritzen." Fügen Sie eine
Verzögerung von 9 Sekunden hinzu und klicken Sie auf Ok.
Jetzt haben wir unser Skript mit
wenigen Mausklicks fertig gestellt. Speichern Sie Ihr Skript. Das
nächste, was wir gerne tun möchten, ist, es in SexScripts zu
exportieren, um es zu testen. Wählen Sie dazu einfach aus dem
Datei-Menü das Exportskript oder klicken Sie auf das Exportsymbol in
der Symbolleiste. Wir haben nun unser Skript exportiert und können es
auf SexScripts ausführen. Wenn du SexScripts öffnest und aus dem
Datei-Menü öffnest, siehst du nun ein neues Skript mit dem Namen (den
du für das Skript gewählt hast).groovy. Öffnen Sie es und es beginnt
sofort zu laufen.
Jetzt ist es an der Zeit, ein wenig
mehr mit ssMakerScripts zu spielen und mit den anderen verfügbaren
Befehlen zu experimentieren und zu sehen, wie sie sich verhalten. Wenn
Sie möchten, können Sie sich die Skripte im Ordner
ssMakerScripts/Examples ansehen. Dort finden Sie drei Skripte. In
HavingFun finden Sie ein Beispiel für praktisch jeden Grundbefehl. In
SpankingTime sehen Sie ein weiteres Beispiel, das sich mit einigen
fortgeschrittenen Befehlen beschäftigt, aber dennoch sehr einfach ist.
Sobald Sie in groovy treten möchten, können Sie einen Blick zu den
Funktionen nehmen, um ein Beispiel zu sehen, das Funktionen beschäftigt.
Globale Skript-Informationen
Die globalen Skriptinformationen
beschreiben das allgemeine Verhalten Ihres Skripts und definieren die
allgemeinen Informationen Ihres Skripts. Sie sollten diese
Informationen immer ausfüllen, bevor Sie eine endgültige Version Ihres
Skripts exportieren. Um die globalen Informationen Ihres Scripts
einzustellen, wählen Sie die Registerkarte Script Info im Hauptfenster.
Die folgenden Felder sind in dieser Registerkarte vorhanden:
Skript-Name
Der Name Ihres Skripts. Es sollte
unter allen Ihren Skripten eindeutig sein, also vermeiden Sie es, Namen
als Skript, Myscript oder Skript1 zu wählen. Es ist nicht zwingend
erforderlich, dass Sie den gleichen Namen wie die Datei verwenden, in
der Sie das Skript speichern, aber das tut es normalerweise.
Autor
Autor des Drehbuchs. Sie sollten
hier Ihren Namen (oder Ihren Spitznamen) eintragen, wenn Sie das Skript
schreiben, oder den Namen der Autoren durch Kommas getrennt, wenn es
mehr als einen Autor für das Skript gibt.
E-Mail
Hier müssen Sie die
Kontakt-E-Mail-Adresse des Autors eintragen. Normalerweise deine
E-Mail, wenn du das Drehbuch schreibst. Wenn Sie keine Kontakt-E-Mail
angeben möchten, können Sie dieses Feld leer lassen. Wenn Sie mehr als
eine E-Mail angeben möchten, trennen Sie diese durch Kommas.
Ausführung
Die Version Ihres Skripts. Wenn Sie
Ihr Skript aktualisieren oder verbessern, sollten Sie seine Version
ändern. Es hat normalerweise eine Nummernzeichenkette, um die Version
zu benennen, aber Sie können in dieses Feld eintragen, was Sie wollen.
Lizenz
Sie sollten hier die Signatur Ihrer
Script-Lizenz eintragen. Sie sollten dieses Feld nicht leer lassen.
Wenn Sie keine Zeit mit der Suche nach einer Lizenz verschwenden
möchten, die Ihren Anforderungen entspricht, können Sie hier die
Standard-Skriptlizenz von creative commons by-nc belassen.
Status
Ein Wort, das den Entwicklungsstatus
Ihres Skripts definiert, normalerweise "gestartet", wenn Sie es
erstellen, "vollständig", wenn Sie es beendet haben, "unvollständig",
wenn einige Funktionen fehlen und "testen", wenn Sie es debuggen; aber
Sie können jedes Wort verwenden, das den Status Ihres Skripts
definiert. Lassen Sie dieses Feld nicht leer.
Sprache
Zwei Buchstaben, die die Sprache
kodieren, die Ihr Skript spricht, und die der Norm ISO 639-1 folgen, um
sie zu kodieren. Für Englisch sind diese beiden Buchstaben'en', für
Deutsch'de', für Spanisch'es', für Französisch'fr', für
Italienisch'it', für Arabisch'ar', etc.
Hintergrundfarbe
Farbe für den Hintergrund Ihres
Skripts. Sie können hier jede beliebige Farbe auswählen, aber denken
Sie daran, dass, wenn Ihr Skript lang ist, die helleren Farben die
Ansicht des Benutzers weniger müde machen.
Stichworte
Eine Liste von Tags, um die Themen
Ihres Skripts zu definieren und zu referenzieren, setzen Sie sie durch
Kommata getrennt; z.B.'femaledom, formale, anal, pain', um eine Liste
der standardisierten Tags zu sehen, die Sie hier verwenden können,
schauen Sie unten.
Gebrauchte Artikel
Eine Liste aller Gegenstände, die
der Sklave benötigt, um das Skript in vollen Zügen genießen zu können,
z.B. Kleidung, Spielzeug oder Haushaltsgegenstände.
Skript-Zusammenfassung
Eine kleine Zusammenfassung (weniger
als 250 Zeichen), die Ihr Skript beschreibt. Lassen Sie dieses Feld
nicht leer und versuchen Sie, es zu beschreiben; vermeiden Sie
Zusammenfassungen wie'mein erstes Skript' oder'ein lustiges Skript für
SexScripts'.
Haftungsausschluss
Der Haftungsausschluss Ihres
Skripts. Sie können hier auf alle Risiken aufmerksam machen, die der
Sklave eingehen kann, wenn er das Skript ausführt, alle
Voraussetzungen, die der Sklave erfüllen muss, um Ihr Skript
auszuführen, und alle Verantwortlichkeiten, die Sie dem Sklaven
überlassen. Sie können dieses Feld leer lassen, wenn Sie keinen
Disclaimer in Ihr Skript einfügen möchten.
Die folgende Liste ist eine Liste
aller standardisierten Tags, die Sie verwenden können, um Ihr Skript zu
referenzieren:
pingelig
Knechtschaft
Berühmtheit
Arbeit
schätzen
Zurschaustellung
extrem
Füße
Weiblichkeit
Tauglichkeit
zwangsverkuppeln
weiblich
förmlich
Schlachtplan
fröhlich
Haar
Erniedrigung
Internet
lesbisch
lang
Maledom
mystisch
Auswahlmöglichkeiten
Kummer
hasten
Fortsetzung
Einkauf
den Hintern versohlend
Sperma
ausprobieren
Spielwaren
Transsexueller
Urin
Hinzufügen von Ressourcen zu Ihrem
Skript
Wenn Sie ein benutzerdefiniertes
Skript erstellen möchten, müssen Sie einige Ressourcen in Ihr Skript
importieren. Die Ressourcen, die Sie Ihrem Skript hinzufügen können,
sind hauptsächlich in drei Gruppen unterteilt: Allgemeine Ressourcen
(wie Bilder und Töne), geschlechtsabhängige Werte (Werte, die sich je
nach Geschlecht des Slaves ändern können) und Funktionen (Funktionen,
die in groovy geschrieben wurden, um die Funktionalität Ihres Skripts
zu erweitern).
Hinzufügen von Bildern, Sounds,
Videos und anderen Dateien
Um diese Art von Ressourcen zu Ihrem
Skript hinzuzufügen, wählen Sie die Registerkarte Ressourcen im
Hauptfenster, wählen Sie ein Element aus dem Menü Ressourcen oder
klicken Sie auf das rechte Ressourcensymbol in der Symbolleiste. Auf
der Registerkarte Ressourcen müssen Sie auf die entsprechende
Schaltfläche für die Art der hinzuzufügenden Ressource klicken und
diese aus Ihrem Dateiverzeichnis auswählen. Es wird ein neuer Ordner
zur Aufbewahrung Ihrer Skript-Ressourcen erstellt (falls noch nicht
vorhanden) und eine Kopie der ausgewählten Ressource hinzugefügt. Sie
können jede Ressource, die Sie Ihrem Skript hinzugefügt haben, auf
diese Weise sicher verwenden.
Wenn Sie eine Ressource löschen
möchten, wählen Sie diese Ressource mit einem Mausklick aus der
entsprechenden Ressourcenliste aus, und klicken Sie dann auf die
entsprechende Schaltfläche zum Löschen. Die Kopie, die beim Hinzufügen
der Ressource erstellt wurde, wird aus Ihrem Skript-Ressourcenordner
entfernt. Stellen Sie sicher, dass Sie diese Ressource an keiner Stelle
in Ihrem Skript verwenden, sonst erhalten Sie eine Fehlermeldung, wenn
Sie das Skript ausführen.
Hinzufügen von geschlechtsabhängigen
Werten
Geschlechtsabhängige Werte sind
Werte, die einen Wert haben, wenn der Slave, der das Skript ausführt,
männlich ist und einen anderen Wert, wenn der Slave weiblich ist. Sie
können es verwenden, um in Nachrichten mit dem Sonderzeichen $G[xxx]
angezeigt zu werden, wobei xxx der Name eines Geschlechtswertes ist;
oder um Ihr Skript ein wenig anders zu machen, je nach Geschlecht des
Slaves, indem Sie sie in anderen Befehlen auf die gleiche Weise
verwenden. Um einen neuen Geschlechtswert für Ihr Skript zu erstellen,
wählen Sie Geschlechtswert hinzufügen aus dem Menü Geschlecht, klicken
Sie auf das Symbol Geschlechtswert in der Symbolleiste oder gehen Sie
auf die Registerkarte Geschlechtswerte im Hauptfenster und klicken Sie
auf die Schaltfläche Wert hinzufügen. Sie werden aufgefordert, einen
Namen für den Geschlechtswert, einen Wert für den männlichen Fall und
einen Wert für den weiblichen Fall einzugeben. Füllen Sie sie mit den
Werten, die Ihnen gefallen, z.B. (Adjektiv, Schwanz, Fotze), und
klicken Sie auf Hinzufügen.
Sie können die Geschlechtswerte
Ihres Skripts bearbeiten oder löschen, indem Sie einen aus der Liste
der Geschlechtswerte auf der Registerkarte Geschlechtswerte mit einem
Mausklick auswählen und dann auf die Schaltfläche Bearbeiten oder
Löschen klicken. Wenn Sie einen Wert löschen, stellen Sie sicher, dass
Sie ihn nirgendwo in Ihrem Skript verwenden, sonst stürzt Ihr Skript
ab, wenn Sie versuchen, ihn auszuführen.
Sie können auch alle Gender-Werte,
die Sie für ein Skript erstellt haben, in eine Gender-Werte-Bibliothek
exportieren, indem Sie auf die Schaltfläche Werte exportieren klicken
oder im Menü Gender die Option Werte exportieren wählen. Sie werden
aufgefordert, Ihrer Bibliothek einen Namen zu geben und sie wird
erstellt. So einfach ist das. Sie können nun alle Werte, die Sie in
eine Bibliothek exportiert haben, in ein anderes Skript importieren,
indem Sie das andere Skript öffnen und auf die Schaltfläche Werte
importieren klicken oder im Menü Gender die Option Werte importieren
auswählen. Es ist ratsam, wenn Sie die gleichen Werte in mehreren
Skripten verwenden, diese in eine Bibliothek zu exportieren und jedes
Mal wieder zu importieren, wenn Sie ein neues Skript erstellen.
Hinzufügen von Funktionen
Funktionen sind groovige Codeteile,
die eine Funktionalität kapseln, die Sie häufig in Ihrem Skript
verwenden, oder die Funktionalität, die die Standardbefehle Ihrem
Skript bieten, erweitern. Werfen Sie nur einen Blick auf die
Funktionen, wenn Sie bereit sind, mit groovigem Code umzugehen. Um eine
neue Funktion in Ihrem Skript zu erstellen, wählen Sie im Menü
Funktionen die Option Funktion erstellen, klicken Sie auf das
Funktionssymbol in der Symbolleiste oder gehen Sie auf die
Registerkarte Funktionen im Hauptfenster und klicken Sie auf die
Schaltfläche Funktion hinzufügen. Sie werden aufgefordert, den Namen
Ihrer Funktion, die Parameter Ihrer Funktion und den Code Ihrer
Funktion einzugeben. Klicken Sie hier, um zu sehen, wie man Funktionen
erstellt.
Sie können die Funktionen Ihres
Skripts bearbeiten oder löschen, indem Sie eine Funktion aus der
Funktionsliste auf der Registerkarte Funktionen mit einem Mausklick
auswählen und dann auf die Schaltfläche Bearbeiten oder Löschen
klicken. Wenn Sie eine Funktion löschen, stellen Sie sicher, dass Sie
sie nirgendwo in Ihrem Skript verwenden, sonst stürzt Ihr Skript ab,
wenn Sie versuchen, sie auszuführen.
Sie können auch alle Funktionen, die
Sie für ein Skript erstellt haben, in eine Funktionsbibliothek
exportieren, indem Sie auf die Schaltfläche Funktionen exportieren
klicken oder Funktionen aus dem Menü Funktionen auswählen. Sie werden
aufgefordert, Ihrer Bibliothek einen Namen zu geben und sie wird
erstellt. So einfach ist das. Sie können nun alle Funktionen, die Sie
in eine Bibliothek exportiert haben, in ein anderes Skript importieren,
indem Sie das andere Skript öffnen und auf die Schaltfläche Funktionen
importieren klicken oder im Menü Funktionen die Option Funktionen
importieren wählen. Wenn Sie dieselben Funktionen in mehreren Skripten
verwenden, sollten Sie diese in eine Bibliothek exportieren und jedes
Mal, wenn Sie ein neues Skript erstellen, wieder importieren.
Grundlegende Befehle
In diesem Abschnitt finden Sie eine
Beschreibung, wie Sie die grundlegenden Befehle in Ihrem Skript
verwenden können, aber lassen Sie uns zunächst einen Überblick über die
Funktionsweise von ssScriptMaker erhalten. Jedes Skript, das Sie
erstellen, hat eine Befehlsliste, und wenn das Skript ausgeführt wird,
werden die Befehle in seiner Befehlsliste nacheinander ausgeführt.
Um einen Befehl zu Ihrem Skript
hinzuzufügen, müssen Sie zuerst auf die Registerkarte Skript im
Hauptfenster gehen. Dort sehen Sie ein Fenster mit allen Befehlen, die
Ihrem Skript hinzugefügt wurden (es ist leer, wenn Sie noch keinen
Befehl hinzugefügt haben), und ein weiteres Fenster mit mehreren
Schaltflächen auf der rechten Seite, das wir von nun an aufrufen
werden. In diesem Panel finden Sie eine Schaltfläche für jeden
möglichen Standardbefehl, den Ihnen ssScriptMaker anbietet, um Ihr
Skript, sortiert nach seinem Typ, in mehreren Registerkarten zu
erstellen. In diesem Abschnitt werden wir uns auf die Befehle
konzentrieren, die sich auf der Registerkarte Basis befinden. Um einen
Befehl zu Ihrem Skript hinzuzufügen, müssen Sie zunächst auswählen, wo
er hinzugefügt werden soll, indem Sie einen Befehl aus Ihrer
Skriptbefehlsliste mit einem Mausklick auswählen. Der neue Befehl wird
direkt unter dem ausgewählten Befehl in der Liste hinzugefügt. Wenn Sie
einen Befehl am Ende Ihrer Skriptbefehlsliste hinzufügen möchten,
können Sie entweder den letzten Befehl oder die allerletzte Leerzeile
der Liste auswählen. Um einen neuen Befehl hinzuzufügen, müssen Sie nur
auf die entsprechende Befehlsschaltfläche in der Befehlsleiste klicken,
und wenn der gewählte Befehl einige Parameter benötigt, wird ein neues
Fenster mit einigen Feldern geöffnet, die Sie ausfüllen können, dann
klicken Sie auf Ok, und der neue Befehl wird zur Liste hinzugefügt. Um
einen Befehl zu bearbeiten, doppelklicken Sie darauf, und um einen
Befehl zu löschen, wählen Sie ihn aus und drücken Sie die Löschtaste
auf Ihrer Tastatur.
Viele Befehle erfordern die Eingabe
von Text (z.B. Nachricht anzeigen oder auf Tastendruck warten). In
diesen Textfeldern können Sie Sonderzeichen verwenden, um auf Dinge zu
verweisen, die sich von einer Ausführung zu einer anderen des Befehls
ändern können (z.B. $name wird durch den Namen des Slaves ersetzt).
Eine vollständige Liste der Sonderzeichen, die Sie verwenden können,
finden Sie hier.
Wenn Sie einige Befehle hinzufügen
(hauptsächlich die Befehle in der Registerkarte "Bedingung"), wird ein
Block mit der Überschrift dieses Befehls geöffnet. Sie können den Block
als grüne Box auf Ihrer Befehlsliste sehen. In diesem Fall bezieht sich
der Befehl, der den Block öffnet, auf eine Bedingung, und alle Befehle,
die Sie innerhalb des Blocks eingeben, werden nur ausgeführt, wenn die
Bedingung, auf die sich der Befehl zum Öffnen des Blocks bezieht,
erfüllt ist. (Wenn Sie z.B. den Befehl'if the slave is female' von der
Registerkarte Bedingung hinzufügen, wird ein neuer Block geöffnet, und
alle Befehle, die Sie innerhalb dieses Blocks hinzufügen, werden nur
ausgeführt, wenn der Slave, der das Skript ausführt, weiblich ist, und
sie werden nicht ausgeführt, wenn der Slave männlich ist).
Nachricht anzeigen
Dieser Befehl setzt die aktuelle
Nachricht, die von SexScripts angezeigt wird. Sie erhalten ein Textfeld
mit der Bezeichnung "Nachricht", in das Sie die neue Nachricht eingeben
können. Diese Meldung wird solange angezeigt, bis Sie sie für eine
andere Meldung ändern oder das Skript beendet wird. Sie können auch ein
Kontrollkästchen aktivieren, damit der Befehl auf eine Verzögerung
wartet, die dem Slave eine Zeit zum Lesen der Nachricht gibt, bevor Sie
die angezeigte Nachricht durch einen anderen Befehl zum Anzeigen der
Nachricht ersetzen. Diese Wartezeit kann in einer Anzahl von Sekunden
ausgedrückt werden, wobei Sie die zu wartenden Sekunden füllen müssen;
eine zufällige Zeit, bei der Sie die minimale und die maximale Anzahl
von Sekunden ausdrücken müssen, und die Wartezeit wird eine zufällige
Anzahl von Sekunden zwischen diesen beiden Werten sein; und warten, bis
der Slave eine Taste drückt, bei der Sie das Label der Taste eingeben
müssen. Um die aktuell angezeigte Nachricht auszublenden, lassen Sie
einfach das Nachrichtenfeld leer und deaktivieren Sie das
Kontrollkästchen Warten.
Warten
Dieser Befehl wartet eine
Verzögerung, bevor der nächste Befehl ausgeführt wird. Sie müssen diese
Verzögerung in Sekunden eingeben. Sie können auch ein Kontrollkästchen
für diesen Befehl aktivieren, um einen Balken während des Wartens zu
füllen.
Warten auf Knopfdruck
Dieser Befehl zeigt eine
Schaltfläche an, mit der der Slave sie drücken kann. Sie können die
Beschriftung der Schaltfläche eingeben. Normalerweise wartet dieser
Befehl, bis der Slave die Taste drückt, aber Sie können einen Timeout
als Anzahl von Sekunden angeben, und dieser Befehl wartet, bis der
Slave die Taste drückt oder der Timeout abgelaufen ist. Sie können auch
eine Option zum Hinzufügen eines "is late"-Falls aktivieren, bei dem
Sie die Schwelle in Sekunden eingeben müssen, um zu spät zu sein. Wenn
diese Option ausgewählt ist, öffnet dieser Befehl einen Block, der
ausgeführt wird, wenn der Slave die Taste nicht rechtzeitig drückt.
Popup-Fenster anzeigen
Dieser Befehl startet ein
Popup-Fenster mit einer bestimmten Nachricht und einem Ok-Button und
wartet, bis der Slave den Ok-Button im Popup-Fenster drückt oder
schließt. Sie können auch eine Option zum Hinzufügen eines "is
late"-Falls aktivieren, bei dem Sie die Schwelle in Sekunden eingeben
müssen, um zu spät zu sein. Wenn diese Option ausgewählt ist, öffnet
dieser Befehl einen Block, der ausgeführt wird, wenn der Slave im Popup
nicht rechtzeitig auf die Schaltfläche Ok drückt.
Bild anzeigen
Dieser Befehl setzt das aktuelle
Bild, das von SexScripts angezeigt wird. Normalerweise werden Sie ein
Bild aus Ihren Skript-Ressourcen verwenden, indem Sie es aus der
Dropliste auswählen. Sie können jedoch eine Option auswählen, um ein
Bild außerhalb der Ressourcen Ihres Skripts zu verwenden, wobei Sie
dann den Pfad zur Bilddatei relativ zu den Bildern/Ordnern von
SexScripts angeben müssen. Sie können die Schaltfläche "Durchsuchen"
verwenden, um diesen Pfad einfach abzurufen.
Kein Bild anzeigen
Dieser Befehl blendet das aktuelle
Bild aus, das von SexScripts angezeigt wird, und es wird kein Bild
angezeigt, bis Sie es mit dem Befehl "Bild anzeigen" anzeigen.
Sound abspielen
Dieser Befehl gibt einen Ton wieder.
Normalerweise werden Sie einen Sound aus Ihren Script-Ressourcen
verwenden, indem Sie ihn aus der Droplist auswählen. Sie können jedoch
eine Option auswählen, um einen Sound außerhalb der Ressourcen Ihres
Skripts zu verwenden, wobei Sie dann den Pfad zur Sounddatei relativ zu
den Sounds/Ordnern von SexScripts angeben müssen. Sie können die
Schaltfläche "Durchsuchen" verwenden, um diesen Pfad einfach abzurufen.
Sie können diesen Befehl auch angeben, um eine Wartezeit durchzuführen,
Sie können dann angeben, ob Sie warten sollen, bis der Sound seine
Wiedergabe beendet oder eine bestimmte Anzahl von Sekunden warten
sollen.
Stellen Sie eine Frage
Dieser Befehl stellt dem Slave eine
Frage mit zwei möglichen Antworten, die der Slave auswählen kann. Die
Antworten werden in zwei Schaltflächen angezeigt, auf die der Slave
klicken kann. Dieser Befehl wartet, bis der Slave eine Antwort wählt.
Auch dieser Befehl öffnet einen Block, der ausgeführt wird, wenn der
Slave die erste Antwort wählt, und einen anderen Block, der ausgeführt
wird, wenn der Slave die zweite Antwort wählt.
Setzen Sie einen Kommentar
Das ist nicht wirklich ein Befehl.
Sie können mit dieser Schaltfläche einen Kommentar zu Ihrer
Skriptbefehlsliste als Text hinzufügen. Alle Kommentare werden vom
Skript bei der Ausführung vollständig ignoriert, so dass Sie sie
verwenden können, um zu notieren, was in Ihrem Skript an einem
bestimmten Punkt in der Befehlsliste passiert. Kommentare werden sehr
nützlich sein, wenn Sie ein großes Skript schreiben und Ihnen helfen,
sich zu merken, wofür Sie diesen Befehl eingegeben haben.
Skript beenden
Dieser Befehl beendet die Ausführung
des Skripts. Es ist nicht zwingend erforderlich, es als letzten Befehl
Ihres Skripts anzugeben, aber Sie können es. Sie können es auch
innerhalb eines Bedingungsblocks verwenden, um das Skript vorzeitig zu
beenden, wenn eine Bedingung erfüllt ist.
Skript neu starten
Dieser Befehl startet Ihr Skript von
Anfang an neu. Seien Sie vorsichtig, wenn Sie Variablen verwenden, da
diese nicht gespeichert werden, es wird eine neue Ausführung Ihres
Skripts sein.
Rahmenbedingungen
In diesem Abschnitt werden wir die
grundlegenden Befehle beschreiben, die sich auf der Registerkarte
"Bedingung" des Befehlspaneels befinden. Alle diese Befehle öffnen
einen Block, der mit dem Befehl beschriftet ist. Sie können den Block
als grüne Box auf Ihrer Befehlsliste sehen. Der Befehl, der den Block
öffnet, bezieht sich auf eine Bedingung, und alle Befehle, die Sie
innerhalb des Blocks eingeben, werden nur ausgeführt, wenn die
Bedingung, auf die sich der Befehl zum Öffnen des Blocks bezieht,
erfüllt ist. (Wenn Sie z.B. den Befehl'if the slave is female'
hinzufügen, wird ein neuer Block geöffnet, und alle Befehle, die Sie
innerhalb dieses Blocks hinzufügen, werden nur ausgeführt, wenn der
Slave, der das Skript ausführt, weiblich ist, und sie werden nicht
ausgeführt, wenn der Slave männlich ist).
In allen diesen Befehlen (außer dem
Befehl else case) haben Sie die Möglichkeit, ein Kontrollkästchen mit
der Bezeichnung'Not' zu aktivieren. Wenn diese Option ausgewählt ist,
wird der Block, der den Befehl öffnet, nur ausgeführt, wenn die vom
Befehl angegebene Bedingung nicht erfüllt ist.
Wenn der Sklave männlich/weiblich ist
Dieser Befehl öffnet einen Block,
der ausgeführt wird, wenn der Slave männlich/weiblich ist.
Wenn der Sklave sich zu
Männern/Frauen hingezogen fühlt.
Dieser Befehl öffnet einen Block,
der ausgeführt wird, wenn der Sklave von Männern/Frauen angezogen wird.
Wenn der Slave ein Objekt hat
Dieser Befehl öffnet einen Block,
der ausgeführt wird, wenn der Slave ein bestimmtes Element hat, es kann
ein Spielzeug oder ein Kleidungsstück sein. Sie können das zu prüfende
Element aus einer Dropliste auswählen.
Wenn sich eine Chance ergibt
Dieser Befehl öffnet einen Block,
der ausgeführt wird, wenn eine Wahrscheinlichkeit von einem bestimmten
Prozentsatz zufällig erreicht wird. Wenn Sie beispielsweise einen
Prozentsatz von 25 angeben, wird der Block nur ein Viertel der Zeit
ausgeführt, in der Sie das Skript im Durchschnitt ausführen.
Wenn Zeit ein Wert ist
Dieser Befehl öffnet einen Block,
der ausgeführt wird, wenn eine aktuelle Zeiteinheit, die Sie aus einer
Droplist auswählen können (Jahr, Monat, Tag, Stunde, Minute, Sekunde,
Millisekunde), in einem Bereich relativ zum angegebenen Wert liegt.
Dieser Bereich kann aus einer Dropliste als gleich dem Wert, kleiner
als der Wert, größer als der Wert, kleiner oder gleich dem Wert oder
größer oder gleich dem Wert ausgewählt werden. So erklärt erscheint
dieser Befehl verwirrend und schwer zu bedienen, aber er ist in der Tat
sehr einfach. Wenn Sie z.B. überprüfen wollen, ob das Skript am Abend
läuft (z.B. nach 15 Uhr), müssen Sie nur prüfen, ob die Stunde größer
oder gleich 15 ist (die Stunde geht von 0 bis 23). Wenn Sie z.B. prüfen
möchten, ob das Skript in der ersten Monatshälfte (Tage 1 bis 15)
läuft, müssen Sie nur prüfen, ob der Tag kleiner als 16 ist. Und so
weiter.
Else Fall
Dieser Befehl kann nur am Ende eines
Konditionsblocks hinzugefügt werden (Wählen Sie die Zeile, in der der
Konditionsblock endet, um ihn hinzuzufügen). Es öffnet einen neuen
Block, der an den obigen Block angehängt ist und nur dann ausgeführt
wird, wenn der obige Block, an den er angehängt ist, nicht ausgeführt
wird. Sie können keinen anderen Block an einen anderen Block anhängen.
Testen und Veröffentlichen Ihres
Skripts
Sobald Sie Ihrem Skript einige
Befehle hinzugefügt haben, werden Sie es wahrscheinlich ausführen
wollen, um zu testen, ob sich Ihr Skript so verhält, wie Sie es
möchten. Dazu müssen Sie zuerst Ihr Skript speichern und dann nach
SexScripts exportieren, indem Sie im Menü Datei den Befehl Skript
exportieren wählen oder auf das Exportsymbol in der Symbolleiste
klicken. Dann wird ein grooviges Skript mit dem Code Ihres Skripts
erstellt und dem Skript-Ordner Ihres aktuellen SexScripts-Ordners
hinzugefügt. Wenn das Skript bereits in diesem Ordner existiert, wird
es überschrieben. Sie können es nun ausführen und testen, indem Sie
SexScripts öffnen, aus dem Menü Datei auswählen oder Strg+O drücken und
Ihre Skript-Groovy-Datei auswählen.
Wenn du dein Skript fertig hast und
es auf der SexScripts-Website veröffentlichen möchtest, folge den
obigen Anweisungen, um dein Skript ein letztes Mal zu testen und zu
überprüfen, ob alles in Ordnung ist. Wenn das Skript fertig ist, wählen
Sie Bearbeiten aus dem Skript-Menü und ein neues Fenster mit Ihrem
Skript-Groovy-Code wird geöffnet. In diesem neuen Fenster wählen Sie
Publizieren aus dem Menü Datei. Ein neues Fenster mit einer Liste der
Ressourcen, die Ihr Skript verwendet, wird geöffnet. Überprüfen Sie
diese Liste sorgfältig und fügen Sie manuell alle fehlenden Ressourcen
hinzu, die Ihr Skript tatsächlich verwenden könnte. Wenn Sie sicher
sind, dass die Liste vollständig ist, klicken Sie auf die Schaltfläche
Ok und warten Sie. Wenn Ihre Internetverbindung in Kürze funktioniert,
wird Ihr Skript veröffentlicht und Sie können es auf der
SexScripts-Website sehen.
Erweiterte Befehle
In diesem Abschnitt werden wir die
erweiterten Befehle beschreiben, die sich auf der Registerkarte
Erweitert der Befehlsleiste befinden. Einige dieser Befehle befassen
sich mit Variablen, Timern und gespeicherten Datenwerten. Lassen Sie
uns erklären, was diese Dinge sind.
Eine Variable ist so etwas wie ein
Container, der während der Ausführung Ihres Skripts einen Wert
enthalten kann. Sie können also eine Variable verwenden, um einen Wert
zu speichern, der von einem Befehl abgerufen wird, und diesen Wert
später in einem anderen Befehl verwenden. Jede Variable hat einen
Namen, mit dem diese Variable referenziert werden kann. Jedes Mal, wenn
Sie eine neue Variable verwenden, müssen Sie sie benennen. Sie können
es nennen, wie Sie wollen, aber es gibt ein paar Einschränkungen: Jede
Variable muss einen eindeutigen Namen unter allen Variablen in einem
Skript haben. Außerdem darf der Name einer Variablen nur aus
Buchstaben, Zahlen und dem Unterstrich'_' bestehen und darf keine
Leerzeichen enthalten. Und der Name einer Variablen muss mit einem
Buchstaben beginnen.
Wenn Sie sich an Variablen gewöhnen,
werden Sie feststellen, dass sie sehr nützlich sind, und sie können
viel mächtigere Skripte erstellen (im Sinne dessen, wozu ein Skript
fähig ist). Beispielsweise können Sie den Slave auffordern, einen Wert
einzugeben und in einer Variablen zu speichern. Dann können Sie diesen
Wert in anderen Befehlen wie wait oder show message verwenden oder
andere Dinge tun, je nachdem, welchen Wert der Slave angegeben hat.
In jedem Befehl, bei dem Sie einen
numerischen Wert angeben müssen (z.B. die Anzahl der Sekunden, die in
einem'show message' oder'wait' Befehl gewartet werden soll, oder der
Wahrscheinlichkeitsprozentsatz in einem'if a chance is met'), können
Sie den Namen einer Variablen anstelle eines numerischen Wertes
eingeben, und der in dieser Variable enthaltene Wert wird verwendet.
Logischerweise müssen Sie die Variable zuerst mit einem numerischen
Wert setzen, bevor Sie sie in anderen Befehlen verwenden können. Wenn
Sie eine Variable verwenden möchten, die einen Textwert enthält,
anstatt einen Text in einen Befehl einzufügen, bei dem Sie einen
Textwert angeben müssen (z. B. die Nachricht im Befehl "Nachricht
anzeigen" oder den Bildpfad im Befehl "Bild außerhalb der
Skript-Ressourcen anzeigen"), können Sie das auch, aber dieses Mal
müssen Sie statt des Namens der Variablen einfach das Sonderzeichen
$[myVariable] verwenden und myVariable durch den Namen Ihrer Variablen
ersetzen.
Variablen sind großartig, aber ihre
Werte werden nicht zwischen verschiedenen Ausführungen Ihres Skripts
gespeichert. Wenn Sie einen Wert speichern müssen und ihn später in
anderen Ausführungen des Skripts abrufen können, müssen Sie ihn in der
SexScripts-Datenregistrierung als gespeicherten Datenwert speichern.
Sie haben Befehle zum Speichern und Abrufen von Datenwerten aus und in
Variablen. Diese Werte werden in einer Datei gespeichert, so dass sie
zwischen verschiedenen Ausführungen Ihres Skripts abgerufen werden
können, auch wenn der Slave in der Zwischenzeit seinen Rechner
heruntergefahren hat.
Mit Variablen und Datenwerten in der
Hand können Sie es wagen, sehr ernste Skripte auszuführen. Aber in
ssScriptMaker gibt es auch eine andere Art von Objekten, die Timer
genannt werden, die manchmal sehr nützlich sein können. Man kann sich
Timer als eine Art Stoppuhr vorstellen, die man so einstellen kann,
dass sie eine Zählung von 0 starten, und einige Zeit später stoppen und
die Anzahl der Sekunden abrufen, die seit ihrer Einstellung verstrichen
sind, als sie gestoppt wurden. Sie können Timer verwenden, um zu
messen, wie lange einige Aktionen dauern. Sie können z.B. einen Timer
einstellen und den Slave bitten, einige Aufgaben zu erledigen. Wenn der
Sklave seine Arbeit beendet hat, stoppen Sie den Timer und dann können
Sie überprüfen, wie lange es dauert, bis der Sklave die Arbeit erledigt
hat, indem Sie ihn hart bestrafen, wenn er sich viel verspätet hat, ihn
leicht bestrafen, wenn er sich nur ein wenig verspätet hat, und ihn
belohnen, wenn er die Arbeit rechtzeitig erledigt hat.
Variable setzen
Dieser Befehl setzt die angegebene
Variable auf einen bestimmten Wert. Sie können diesen Wert auf eine von
vielen verschiedenen Arten angeben:
Sie können den Wert direkt eingeben,
indem Sie angeben, ob es sich um einen numerischen Wert, einen
Dezimalwert (numerischer Wert mit eventuell einem Punkt und
Dezimalteil) oder einen Textwert handelt.
Sie können den Wert als den in einer
anderen Variablen enthaltenen Wert angeben.
Sie können den Wert als Ergebnis
eines groovigen Ausdrucks angeben.
Sie können den Slave bitten, einen
Wert einzugeben. In diesem Fall müssen Sie die Meldung einfügen, die
dem Slave angezeigt wird, damit er den Wert eingeben kann, und Sie
müssen angeben, nach welcher Art von Wert Sie fragen möchten
(numerischer, dezimaler oder Textwert).
Sie können den Wert als Zufallswert
zwischen einer minimalen und einer maximalen Grenze angeben.
Oder Sie können den Wert aus einem
gespeicherten Datenwert unter Angabe des Namens des Datenwerts und des
Typs des Wertes (numerischer, dezimaler oder Textwert) abrufen.
Variablen behandeln
Dieser Befehl berechnet eine
Operation (addieren, subtrahieren, multiplizieren, dividieren, mod)
zwischen zwei Variablen oder zwischen einer Variablen und einem Wert
oder zwischen zwei Werten; und speichert das Ergebnis der Operation in
einer angegebenen Variablen. Die in der Operation verwendeten Variablen
oder Werte müssen numerisch oder dezimal sein. Die einzige Ausnahme
ist, dass Sie eine Addition von zwei Variablen mit Textwerten berechnen
können und das Ergebnis die Verkettung der beiden Textwerte ist. (z.B.
"Hallo " + "Welt" = "Hallo Welt").
Code ausführen
Dieser Befehl führt ein Stück
groovigen Code aus. Um mehr über groovy zu erfahren, werfen Sie bitte
einen Blick auf den dritten Teil dieser Dokumentation.
Ausführen einer Funktion
Dieser Befehl führt eine angegebene
Funktion aus Ihrer Skriptfunktionsliste aus. Sie müssen die Werte oder
Variablen, die Sie übergeben wollen, als Parameter der Funktion durch
Kommata getrennt einfügen. Sie können zusätzlich, wenn Sie möchten und
die Funktion tatsächlich einen Wert zurückgibt, den von der Funktion
zurückgegebenen Wert in einer Variablen speichern. Um mehr über
Funktionen und Groovy zu erfahren, werfen Sie bitte einen Blick auf den
dritten Teil dieser Dokumentation.
Ausführen eines Skripts
Dieser Befehl beendet die Ausführung
Ihres Skripts und führt ein anderes angegebenes Skript aus. Das
auszuführende Skript muss sich im Verzeichnis scripts/ von SexScripts
oder einem Unterverzeichnis darin befinden. Sie müssen den Namen des
Skripts ohne die Erweiterung .groovy eingeben. Um den Namen des Skripts
zu erhalten, können Sie die Schaltfläche "Durchsuchen" verwenden.
Sklave um ein Bild bitten
Dieser Befehl fordert den Slave auf,
eine Bilddatei von seinem Computer auszuwählen und speichert eine Kopie
dieser Datei im Ordner images resource Ihres Skripts. Normalerweise
werden Sie das Bild unter seinem ursprünglichen Namen speichern und
seinen Pfad in einer Variablen speichern, damit Sie später auf dieses
Bild verweisen können (um es z.B. anzuzeigen). Sie können das Bild aber
auch unter einem bestimmten Namen speichern. Wenn Sie diese letzte
Option wählen, stellen Sie sicher, dass der von Ihnen angegebene Name
die gleiche Erweiterung der Bilddatei hat, die der Slave auswählen
wird. Sie können das Bild auch außerhalb der Ressourcen des Skripts
speichern. In diesem letzten Fall müssen Sie auch den Pfad angeben,
unter dem das Bild relativ zu den Bildern/Ordnern in SexScripts
gespeichert werden soll. Wenn Sie diese letzte Option wählen,
vergewissern Sie sich, dass die Dateierweiterung, mit der Sie das Bild
speichern, identisch mit der vom Slave bereitgestellten Datei ist.
Timer einstellen
Dieser Befehl setzt einen bestimmten
Timer, setzt seinen zweiten Zähler auf Null und startet ihn, um
Sekunden zu zählen.
Stoppuhr
Dieser Befehl hält einen bestimmten
Timer davon ab, weitere Sekunden zu zählen. Der von Ihnen angegebene
Timer muss eingestellt sein, bevor Sie ihn stoppen.
Timerwert in eine Variable einfügen
Dieser Befehl speichert die Anzahl
der Sekunden eines bestimmten Timers in einer bestimmten Variablen. Der
angegebene Timer muss nicht angehalten werden, um diesen Befehl
auszuführen, aber er muss vorher gesetzt werden.
Datenwert speichern
Dieser Befehl speichert einen
bestimmten Wert in der Datenregistrierungsdatei von SexScripts als
gespeicherten Datenwert. Sie können den Wert als Zahlenwert,
Dezimalwert (Zahlenwert mit eventuell einem Punkt und einem
Dezimalteil), Textwert oder als Wert in einer angegebenen Variablen
angeben. Dieser Wert wird zwischen verschiedenen Ausführungen Ihres
Skripts gespeichert, und Sie können ihn später wiederherstellen, indem
Sie ihn mit dem Befehl'Variable setzen' in eine Variable laden, um die
Variable mit diesem gespeicherten Datenwert zu setzen.
Zeit in einer Variablen setzen
Dieser Befehl speichert den Wert
einer aktuellen Zeiteinheit in einer angegebenen Variablen. Sie können
die Zeiteinheit angeben, indem Sie sie aus einer Dropliste mit
folgenden möglichen Werten auswählen: Jahr, Monat, Tag, Stunde, Minute,
Sekunde, Millisekunde.
Artikel hinzufügen
Dieser Befehl fügt ein bestimmtes
Spielzeug oder Kleidungsstück zur Spielzeug- oder Kleiderliste des
Sklaven hinzu. Sie können diesen Artikel aus einer Dropliste auswählen
und angeben, ob es sich um ein Spielzeug oder ein Kleidungsstück
handelt.
SexScripts beenden
Dieser Befehl beendet nicht nur das
Skript, sondern schließt auch das SexScripts-Programm, in dem der Slave
das Skript ausführt. Seien Sie vorsichtig mit diesem Befehl, er könnte
dem Skript unerwartetes Verhalten geben. Wenn Sie nur Ihre
Skriptausführung beenden wollen, reicht es mit dem Befehl'Skript
beenden'.
Erweiterte Bedingungen
In diesem Abschnitt werden wir die
erweiterten Befehle beschreiben, die sich auf der Registerkarte
"Bedingung" des Befehlspaneels befinden. Alle diese Befehle öffnen
einen Block, der mit dem Befehl beschriftet ist. Sie können den Block
als grüne Box auf Ihrer Befehlsliste sehen. Der Befehl, der den Block
öffnet, bezieht sich auf eine Bedingung, und alle Befehle, die Sie
innerhalb des Blocks eingeben, werden nur ausgeführt, wenn die
Bedingung, auf die sich der Befehl zum Öffnen des Blocks bezieht,
erfüllt ist.
In allen diesen Befehlen (mit
Ausnahme des Wiederholungsbefehls) haben Sie die Möglichkeit, ein
Kontrollkästchen mit der Bezeichnung'Nicht' zu aktivieren. Wenn diese
Option ausgewählt ist, wird der Block, der den Befehl öffnet, nur
ausgeführt, wenn die vom Befehl angegebene Bedingung nicht erfüllt ist.
Wenn eine Variable den Wert
Dieser Befehl öffnet einen Block,
der abhängig vom Ergebnis eines Variablenvergleichs ausgeführt wird.
Sie müssen eine zu vergleichende Variable, einen Wert oder eine zweite
Variable einführen, um die Variable zu vergleichen, und eine
Vergleichsoperation aus der Droplist auswählen, die gleich, kleiner
als, größer als, kleiner oder gleich und größer oder gleich sein kann.
Sie können Variablen verwenden, die zu vergleichende Textwerte
enthalten, und die kleineren und größeren Operationen werden erfüllt,
wenn der in der Variable enthaltene Wert alphabetisch niedriger bzw.
höher ist. Wenn Sie eine Variable vergleichen wollen, die Text enthält,
und diese nicht mit anderen Variablen vergleichen wollen, müssen Sie
das Kontrollkästchen'Wert als Text interpretieren' aktivieren und einen
Text in das Wertefeld eingeben.
Wenn ein Ausdruck wahr ist
In diesem Befehl müssen Sie einen
gültigen groovy booleschen Ausdruck einfügen, und es wird ein Block
geöffnet, der ausgeführt wird, wenn der angegebene Ausdruck wahr ist.
Wenn ein Timer eine Anzahl von
Sekunden erreicht.
Dieser Befehl öffnet einen Block,
der ausgeführt wird, wenn ein bestimmter Timer eine bestimmte Anzahl
von Sekunden seit seiner Einstellung erreicht hat. Es ist nicht
zwingend erforderlich, den Timer vor der Ausführung dieses Befehls zu
stoppen, aber Sie müssen ihn zumindest vorher eingestellt haben.
Wenn ein Datenwert
Dieser Befehl ist dem obigen Befehl
sehr ähnlich, wenn eine Variable einen Wert hat, aber anstatt eine
Variable mit einem Wert zu vergleichen, vergleicht sie einen
gespeicherten Datenwert mit einem Wert. Sie müssen angeben, ob der
Datenwert numerisch, dezimal (numerisch, kann aber einen Punkt und
einen Dezimalteil enthalten) oder ein Textwert ist.
Wiederholen
Dieser Befehl öffnet einen Block,
wird aber nicht ausgeführt, wenn eine Bedingung erfüllt ist, sondern
wird eine bestimmte Anzahl von Malen ausgeführt. Alle Befehle, die Sie
innerhalb dieses Blocks hinzufügen, werden also wiederholt ausgeführt.
Sie können, wenn Sie möchten, anstelle einer mehrfachen Angabe, den
Block wiederholen, während ein boolescher grooviger Ausdruck als wahr
bewertet wird. Wenn Sie diese letzte Option wählen, müssen Sie den
booleschen groovigen Ausdruck anstelle der Anzahl der Male angeben, und
der Block wird wiederholt ausgeführt, bis der angegebene Ausdruck
falsch bewertet wird. Seien Sie vorsichtig und stellen Sie sicher, dass
der Ausdruck irgendwann falsch ausgewertet wird, oder Sie erstellen
eine Endlosschleife und SexScripts wird einfrieren, wenn Sie Ihr Skript
ausführen und zu diesem Befehl gelangen.
Zusätzliche Befehle
In diesem Abschnitt werden wir die
zusätzlichen Befehle beschreiben, die sich auf der Registerkarte
"Extra" der Befehlsleiste befinden. Du wirst sie nicht sehr oft
benutzen, aber immer irgendwann einmal nützlich sein.
Ausführen eines Programms
Dieser Befehl startet ein externes
ausführbares Programm. Sie müssen den Pfad zur ausführbaren Datei
relativ zum SexScripts-Ordner oder dem auszuführenden Konsolenbefehl
angeben. Sie können auch eine Option auswählen, um zu warten, bis das
gestartete Programm seine Ausführung beendet. Wenn Sie diese letzte
Option nicht auswählen, führt dieser Befehl keine Wartezeit aus und das
Skript wird nach dem Start des Programms fortgesetzt. Bitte verwenden
Sie diesen Befehl, da Sie wahrscheinlich OS-abhängige Dinge tun werden,
wenn Sie .exe.bat- oder.sh-Dateien ausführen. Um dies zu vermeiden,
sollte Ihr Skript das Slave-Betriebssystem unterscheiden (das
Sonderzeichen $os kann hier hilfreich sein) und je nach Betriebssystem
des Slaves unterschiedliche Ausführungen anbieten. Oder einfacher
gesagt, anstatt das Slave-Betriebssystem zu konsultieren, kann Ihr
Skript eine JAR-Datei ausführen, die das Programm enthält. Um dies zu
tun, wenn Sie das zu startende Programm angeben, führen Sie'java -jar
PathToYourJar' ohne Anführungszeichen ein und ersetzen PathToYourJar
für den Pfad zu der Jar-Datei, die Sie relativ zum SexScripts-Ordner
ausführen möchten.
Webseite öffnen
Dieser Befehl öffnet den
Standardbrowser des Slaves mit der angegebenen URL. Der Slave muss eine
Internetverbindung haben, wenn die URL die Adresse einer Webseite über
das Internet ist.
Datei öffnen
Dieser Befehl öffnet die angegebene
Datei im System des Slaves. Sie können eine Datei aus Ihren
Script-Ressourcen angeben, indem Sie sie aus der Droplist auswählen,
oder Sie können eine Datei außerhalb der Script-Ressourcen verwenden.
In diesem letzten Fall sollten Sie den Pfad zur Datei relativ zum
SexScripts-Ordner angeben. Sie können die Schaltfläche "Durchsuchen"
verwenden, um diesen Pfad einfach abzurufen.
Fragen Sie nach einer E-Mail
Dieser Befehl öffnet den
standardmäßigen E-Mail-Manager des Slaves, der bereit ist, eine E-Mail
an die angegebene Adresse zu senden. Der Slave muss über eine
Internetverbindung verfügen, um die E-Mail versenden zu können.
Ein Video abspielen
Dieser Befehl öffnet den
Standard-Player des Slaves und spielt das angegebene Video ab. Sie
können ein Video aus Ihren Script-Ressourcen angeben, indem Sie es aus
der Droplist auswählen, oder Sie können ein Video außerhalb der
Script-Ressourcen verwenden. In diesem letzten Fall sollten Sie den
Pfad zur Videodatei relativ zu den Videos/Ordnern von SexScripts
angeben. Sie können die Schaltfläche "Durchsuchen" verwenden, um diesen
Pfad einfach abzurufen.
CD-Fach öffnen
Dieser Befehl öffnet alle CD-Fächer
im Computer des Benutzers.
Groovy Übersicht
Groovy ist die Skriptsprache, die
von den Skripten verwendet wird, die auf SexScripts laufen. Ein
Unterschied zwischen groovy und anderen Skriptsprachen, die von anderen
Script-basierten Teasern verwendet werden (wie die eine Cybermistress),
ist, dass groovy eine allgemeine Skriptsprache ist. Das heißt, groovy
ist mächtiger als andere Skriptsprachen in dem Sinne, dass man, wenn
man weiß, wie man es macht, praktisch alles tun kann, was man sich in
seinem Skript vorstellt.
Dieses Kapitel beschreibt, wie man
groovigen Code schreibt, der in einem Skript für die
SexScripts-Software ausgeführt wird. Die Beherrschung dieser Sprache
gibt Ihnen genug Macht, um in Ihrem Skript alles zu machen, was Sie
wollen, und jeden Aspekt davon zu kontrollieren. Also, wenn Sie planen,
einige fortgeschrittene und komplizierte Skript zu tun, wird dringend
empfohlen, zu lernen, wie man groovy Stücke von Code zu schreiben, so
können Sie davon profitieren.
Jedes groovige Stück Code besteht
aus einer Reihe von Anweisungen, den sogenannten Statements. Sie können
die Anweisungen mit einem ';' Symbol trennen, wenn Sie möchten, um Ihr
Skript lesbarer zu machen. Alle Anweisungen in einem groovigen Stück
Code müssen in getrennten Zeilen stehen, damit Sie nicht zwei
Anweisungen auf die gleiche Zeile setzen können. Die globale Struktur
jedes groovigen Codes ist also:
<statement>
<statement>
<statement>
…
Wo <Statement> eine mögliche
groovige Aussage ist. Es gibt eine Reihe von verschiedenen Arten von
Aussagen, die im Folgenden erläutert werden.
Variablen
Wie jede Programmiersprache enthält
groovy Variablen. Wenn Sie Variablen in ssScriptMaker verwendet haben,
sollten Sie an die Idee einer Variablen gewöhnt sein. Variablen sind
Orte im Speicher des Computers, an denen Daten gespeichert werden
können, z.B. eine Zahl oder ein Text. Sie haben einen Namen, damit Sie
sich auf sie beziehen können. Um eine Variable zu verwenden, müssen Sie
sie zuerst deklarieren, mit dem speziellen Wort def gefolgt vom Namen
der Variablen. Um eine Variable zu benennen, können Sie nur Buchstaben,
Zahlen und das Unterstrichsymbol'_' verwenden. Der Name einer Variablen
darf kein Leerzeichen enthalten und muss mit einem Buchstaben beginnen.
Beachten Sie, dass in groovigen Kleinbuchstaben nicht die gleichen sind
wie in Großbuchstaben, daher ist der Name'index' anders als'Index'. Sie
können mehr als eine Variable in einer def-Anweisung deklarieren, die
die Namen der Variablen durch Kommas voneinander trennt. Hier sind
einige Beispiele für Variablendeklarationen:
def seconds
def x, y
def loopsCount
Werte
In groovy ist ein Wert, auch Literal
genannt, ein spezifischer Wert, der in einer Variablen gespeichert
werden kann. Jeder Wert in groovy muss von einem der folgenden Typen
sein:
Eine ganze Zahl. Um es zu schreiben,
schreiben wir einfach die ganze Zahl (z.B. 6, 0, -789, 3256, -9, 45,
....)
Eine echte Zahl. Um es zu schreiben,
schreiben wir es mit dem Punkt und seinem Dezimalteil (z.B. 6.0, 0.0,
-547.98, 3.1416, ....).
Ein Zeichen. Ein Wert dieses Typs
repräsentiert ein einzelnes Zeichen, das ein Buchstabe, eine Ziffer
oder ein beliebiges anderes typisierbares Symbol sein kann. Um sie zu
schreiben, schließen wir das Zeichen zwischen einfachen
Anführungszeichen (z.B. 'a', 'B', '8', ';' 'z', ' ', '%', ....). Es
gibt auch Sonderzeichen, die Escape-Zeichen genannt werden, und zwar
die folgenden: '\n' ist ein neues Zeilenzeichen,'\r' ist ein
Wagenrücklaufzeichen,'\t' ist ein Tabulatorzeichen,'\t' ist ein
einfacher Backslash,'\'' ist ein einfaches Anführungszeichen,'\"' ist
ein doppeltes Anführungszeichen,'\b' ist ein Backspacezeichen,'\0' ist
das Nullzeichen.
Eine Zeichenkette. Wir werden diese
Werte als Strings bezeichnen. Sie sind eine Verkettung beliebig vieler
Zeichenwerte. Sie können zur Darstellung von Textwerten verwendet
werden. Um sie zu schreiben, geben Sie alle Zeichen der Zeichenkette
zwischen doppelten Anführungszeichen ein. Sie können auch
Escape-Zeichen verwenden. (z.B. "Hello World!", "this is a string",
"line 1\nline 2\nline 3", ....)
Ein Boolescher. Ein Wert dieses Typs
repräsentiert einen logischen Wert, der nur einer der beiden speziellen
Werte true oder false sein kann.
-null. Das Sonderwort null ist
eigentlich kein Werttyp. Es ist ein besonderer Wert, um das Fehlen
eines Wertes anzuzeigen.
Zuweisungen
Eine Zuweisung speichert einen Wert
in einer Variablen. Es hat die Form:
<variable> = <expression>
wobei <variable> der Name
einer deklarierten Variable ist und <expression> ein einfacher
Wert sein kann, aber auch komplizierter sein kann. Sie können einer
Variablen auch einen Wert zuweisen, wenn Sie sie deklarieren. Anstatt
einer Variablen einen Wert zuzuweisen, kann man den Wert auch mit +=
zum aktuellen Wert der Variablen addieren, mit -= subtrahieren, mit *=
multiplizieren oder mit /= dividieren, oder mit ++ als Abkürzung von +=
1 und -- als Abkürzung von -= 1.
Am Ende dieses Stückes Code:
def x
def y = 6
def z = 2
x = 3
y += 4
x++
z *= 8
Die Variable x speichert 4, y
speichert 10 und z speichert 16.
Ausdrücke
In groovy kann ein Ausdruck so
einfach wie ein einzelner Wert sein, oder mit Hilfe von Operatoren mit
Werten komplizierter. Operatoren sind spezielle Symbole, die einen oder
zwei Werte annehmen und als Ergebnis einen einzelnen Wert zurückgeben.
Die Operatoren, die nur einen Wert annehmen, werden als unäre
Operatoren und die Operatoren, die zwei Werte annehmen, als binäre
Operatoren bezeichnet. Um einen unären Operator zu verwenden, schreiben
Sie sein Symbol links neben den zu bedienenden Wert. Um binäre
Operatoren zu verwenden, schreiben Sie sein Symbol zwischen die beiden
zu operierenden Werte.
Es gibt die folgenden unären
Operatoren:
negiert einen numerischen Wert.
! Boolean not. verwandelt den
booleschen Wert true in false und false in true.
Außerdem gibt es die folgenden
binären Operatoren:
&& |
Boolean und. (and). Nimmt zwei
boolesche Werte und gibt wahr (true) zurück, wenn die beiden Werte wahr
sind - andernfalls falsch (false).
|
|| |
Boolean oder (or). Nimmt zwei
boolesche Werte und gibt wahr (true) zurück, wenn mindestens
einer von ihnen wahr ist - andernfalls falsch (false). |
== |
Gibt true zurück, wenn die
Werte gleich sind, andernfalls false.
|
!= |
Gibt true zurück, wenn die Werte
nicht gleich sind, andernfalls false.
|
< |
Gibt true zurück, wenn der Wert
nach links kleiner als der Wert nach rechts ist, andernfalls false.
|
> |
Gibt true zurück, wenn der Wert
nach links größer als der Wert nach rechts ist, andernfalls false
|
<= |
Gibt true zurück, wenn der Wert
nach links kleiner oder gleich dem Wert nach rechts ist, ansonsten
false.
|
>= |
Gibt true zurück, wenn der Wert
nach links größer oder gleich dem Wert nach rechts ist, andernfalls
false.
|
+ |
Nimmt zwei numerische Werte und
gibt deren Addition zurück.
Es kann auch einen String mit einem anderen String oder einem anderen
Wert nehmen und gibt einen String zurück, der aus seiner Verkettung
resultiert.
|
- |
Nimmt zwei numerische Werte und
gibt deren Subtraktion zurück.
|
* |
Nimmt zwei numerische Werte und
gibt deren Multiplikation zurück.
|
/ |
Nimmt zwei numerische Werte und
gibt deren Division zurück.<br>
|
% |
Modulo. Nimmt zwei numerische
Werte und gibt den Rest ihrer ganzzahligen Division zurück.
|
Anstelle von Werten können die
Operatoren auch Variablen, Unterausdrücke in Klammern oder Funktionen
verwenden, die einen Wert zurückgeben. Später werden wir sehen, wie die
Funktionen funktionieren. Hier ein Beispiel für die Zuweisung von
Ausdrücken:
def x = 23
def str = “Hello world”
def y = x-8
x *= y%2
x = 23*( (2+4) / y )
str = “Hello ” + “world”
def b = (x < 5) && !(x==2 || x==4)
b = !b || (str != null)
Listen
In groovy sind Listen Variablen, die
statt eines einzelnen Wertes eine Liste von Werten speichern. Die in
einer Liste gespeicherten Werte müssen nicht vom gleichen Typ sein. Die
Anzahl der Werte, die eine Liste speichert, nennt man ihre Größe. Eine
Liste der Größe 4 speichert also 4 Werte. Um eine Variable als Liste zu
definieren, müssen wir ihr einen Listenwert zuweisen. Ein Listenwert
wird durch alle darin enthaltenen Elemente dargestellt, die durch
Kommata getrennt und in eckige Klammern gesetzt sind. Beispielsweise
stellt[1, 2, 3] eine Liste der Größe 3 mit den Zahlenwerten 1, 2, 3
dar. [] steht für eine leere Liste der Größe 0. Sobald wir eine Liste
haben, können wir auf die darin gespeicherten Werte mit einem Index
zugreifen, der sie rechts neben dem Array anzeigt und zwischen eckige
Klammern gesetzt wird, z.B. wird myList[2] auf den Wert verweisen, der
durch 2 der Liste myList indiziert ist. Alle Indizes in einer Liste der
Größe X gehen von 0 bis einschließlich X-1. Wir können einer
indizierten Position in der Liste Werte zuweisen, als ob sie eine
Variable wäre, und sie auch wie eine Variable in Ausdrücken verwenden.
Hier ist ein Beispiel für die
Deklaration einer Liste und den Zugriff auf ihre Positionen:
def list = [ -8, 2, “xyz”, true ]
list[0] = 'a'
list[2] = “abcd”
list[3] = false
def b = !list[3] && (list[1]
<= 5)
b ist wahr, wenn dieser Code
ausgeführt wird.
Die Größe der Listen ist keine feste
Zahl, sie kann durch Hinzufügen und/oder Entfernen von Werten aus der
Liste variieren. Um neue Elemente am Ende einer Liste hinzuzufügen,
können Sie den binären Operator <<<, oder den binären Operator
+, oder die Listenfunktion add(e) verwenden. Um der Liste ein neues
Element an einem bestimmten Index hinzuzufügen, können Sie die
Listenfunktion add(index, e) verwenden. Durch das Hinzufügen eines
Elements zu einem bestimmten Index verschieben alle Elemente, die von
dem Element, das sich ursprünglich in diesem Index befand, bis zum Ende
der Liste ihre Position um eins nach rechts. Sie können auch den
Operator + zwischen zwei Listen verwenden, um sie zu verketten. Um ein
Element aus der Liste zu entfernen, können Sie den Operator - , oder
die Listenfunktion remove(e) verwenden. Um ein Element an einem
bestimmten Index aus der Liste zu entfernen, können Sie die
Listenfunktion remove(index) verwenden. Wenn ein Element aus der Liste
entfernt wird, verschieben alle Elemente nach rechts ihre Position um
eins nach links. Wenn Sie schließlich die aktuelle Größe einer Liste
wissen möchten, können Sie die Funktion size() verwenden. Lassen Sie
uns ein Beispiel für all das sehen:
def list = []
def size1 = list.size()
list = ['a', 2, 3, false, 'c']
list[3] = true
def size2 = list.size()
list = list – 'c'
list.remove(true)
list.remove(0)
def size3 = list.size()
list = list + [6,7]
list = list << “hello”
list.add(2,'x')
def size4 = list.size()
Wenn dieser Code seine Ausführung
beendet, ist die Variable size1 0, die Variable size2 ist 5, die
Variable size3 ist 2, die Variable size4 ist 6, und die Liste ist [2,
3, 'x', 6, 7, "hello"].
Wenn Anweisung
Eine if-Anweisung hat die Form:
if (<expression>)<statement>
oder die Form:
if (<expression>)<statement> else <statement>
Der Ausdruck wird ausgewertet und
muss einen booleschen Wert zurückgeben. Wenn der Wert false ist, wird
die Anweisung nach else ausgeführt, ansonsten (true) wird die andere
Anweisung ausgeführt. Wenn Sie keinen anderen Fall hinzufügen und der
Ausdruck false zurückgibt, wird keine Anweisung ausgeführt.
Die Anweisungen hier können auch
Blöcke sein. Ein Block ist ein Satz von Anweisungen in geschweiften
Klammern ({ }). Die if-Anweisung kann also auch die Form haben:
if (<expression>)
{
<statement>
<statement>
<statement>
...
}
oder die Form:
if (<expression>)
{
<statement>
<statement>
<statement>
...
}
else
{
<statement>
<statement>
<statement>
...
}
Wird der Ausdruck dann falsch
ausgewertet, werden alle Anweisungen des else-Blocks ausgeführt,
andernfalls werden alle Anweisungen des anderen Blocks ausgeführt. Und
wenn es keinen anderen Fall gibt und der Ausdruck falsch ausgewertet
wird, wird kein Block ausgeführt.
Hier ist ein Beispiel. Nehmen wir
an, dass die variable Sekunde die Anzahl der Sekunden speichert, die
der Slave benötigt hat, um eine Aktion auszuführen, und die variable
Punktzahl speichert, wie gut sich der Slave verhält. Der folgende Code
aktualisiert den Score des Slaves, je nachdem, wie lange es gedauert
hat, die Aufgabe zu realisieren:
if (seconds <= 75) score += 5
else score -= 5
Während der Anweisung
Eine while-Anweisung hat die Form:
while (<expression>)<statement>
Solange der Ausdruck wahr ist, wird
die Anweisung (die auch ein Block sein kann) ausgeführt. Seien Sie
vorsichtig mit Ihren while-Schleifen. Sie können sie ganz einfach für
immer in eine Schleife legen, in diesem Fall hängt Ihr Skript und
reagiert nicht mehr auf Benutzereingaben.
Hier ist ein Beispiel. In diesem
Beispiel werden einige Funktionen der SexScripts API verwendet. Schauen
Sie sich diesen Abschnitt an, wenn Sie eine Funktion aus diesem
Beispiel nicht gewohnt sind. Der folgende Code wird dem Slave die
gleiche Frage stellen, bis sie richtig beantwortet wird.
def question = "How a slave should always be?"
def answer1 = "Sitting on the sofa"
def answer2 = "kneeling before your feet"
while (getBoolean(question, answer1, answer2)) {
show("Wrong. Try again...")
wait(3.0)
}
show("Correct!")
wait(3.0)
Für Anweisung
Eine for-Anweisung hat die Form:
for (<statement1>; <expression>; <statement2>) <statement3>
Dies funktioniert folgendermaßen.
Erste Anweisung1 wird ausgeführt. Dann wird der Ausdruck ausgewertet.
Wenn es wahr ist, wird die Anweisung3 (die auch ein Block sein kann)
ausgeführt, dann die Anweisung2 und dann der Ausdruck erneut
ausgewertet. Das geht so lange weiter, bis der Ausdruck falsch ist.
Das mag kompliziert klingen. Sie
sollten dies wie folgt interpretieren. Die erste Anweisung
initialisiert die for-Schleife. Der Ausdruck testet, ob die Schleife
beendet werden soll. Anweisung2 ist die Step-Anweisung, die zur
nächsten Schleifenauswertung geht.
Die häufigste Anwendung ist es,
einen Zähler durch einen bestimmten Bereich laufen zu lassen.
Und hier kommt das Beispiel. Diesmal
fordert der folgende Code den Slave auf, einige Optionen auszuwählen
und zählt, wie viele Optionen der Slave ausgewählt hat:
def message = "Select all the practices you've ever done"
def texts = ["anal", "deepthroating", "threesome", "bdsm", "bondage"]
def defVal = [false, false, false, false, false]
def answer = getBooleans(message, texts, defVal)
def count = 0
for (def i=0; i<answer.size(); i++) {
if (answer[i]) count++
}
if (count < 5) show("Only "+count+"?")
else show("That's fine.")
wait(4.0)
Funktionen
Eine Funktion ist ein gekapselter
Code, der dazu beitragen kann, Ihr Skript sauber zu halten oder einige
Funktionen auszuführen, die Sie benötigen. Um eine Funktion aus
groovy-Code aufzurufen, müssen Sie den Funktionsnamen gefolgt von Null
oder mehr Parametern in Klammern, getrennt durch Kommas, schreiben:
<function>(<param1>, <param2>, ...)
Es gibt zwei Arten von Funktionen.
Zunächst einmal hat SexScripts eine API mit einer Sammlung von
integrierten Funktionen, um alle Aspekte Ihres Scripts zu steuern.
Zweitens kann jede Funktion, die Sie erstellen oder in Ihr Skript
importieren, verwendet werden.
Beachten Sie, dass Sie für eine
Funktion ohne Argumente weiterhin die Klammern verwenden müssen. Einige
Funktionen geben Werte zurück und können in Ausdrücken verwendet
werden. Andere führen einfach Befehle aus.
Kommentare
Ein Kommentar ist ein Text, der vom
Skript bei der Ausführung völlig ignoriert wird, aber für Programmierer
sind sie immer noch da und können nützlich sein. Sie können Kommentare
zu Ihrem Code hinzufügen. Dies wird helfen zu verstehen, was an einem
bestimmten Punkt in Ihrem Code vor sich geht. Alles auf einer Zeile
nach // wird ignoriert. Sie können auch einen mehrzeiligen Kommentar
abgeben, indem Sie den Text zwischen / * und */ setzen.
Beispiel:
ef x = 5 // This is a line comment
// This is another line comment
/*
And this
is a
multi-line
comment
*/
Java-Objekte
Neben groovigen Konstruktionen und
Anweisungen können Sie auch alle gewünschten Java-Objekte aus den
Java-Standardbibliotheken verwenden. Es ist aus dem Rahmen dieser
kleinen Einführung in die Skript-Programmierung zu erklären, wie
funktioniert jedes Standard Java-Objekt und wie man sie in Ihrem Skript
verwenden, aber wenn Sie interessiert sind, können Sie für die
Java-Referenz und Dokumentation online suchen und lernen, wie man sie
verwendet. Als Beispiel können Sie hier sehen, wie Sie das aktuelle
Datum mit dem Java-Datum-Objekt in eine Variable einlesen können:
def date = (new
Date()).format(“dd/MM/yyyy”)
Die kleine Einführung von groovy,
die in diesem Abschnitt erklärt wird, ist nur ein kleiner Teil der
ganzen groovigen Welt. Sie können online nach weiteren Tutorials
suchen, wenn Sie daran interessiert sind, mit dieser Sprache tiefer zu
gehen.
SexScripts-API
Die SexScripts-API ist eine Reihe
von integrierten Funktionen, die Sie überall in Ihrem Skript verwenden
können. Mit diesen Funktionen haben Sie die volle Kontrolle über Ihr
Skript. Sie können sie wie jede andere Funktion aus groovigem Code
aufrufen. In diesem Abschnitt werden alle Funktionen beschrieben, die
in der API verfügbar sind.
exit()
Diese Funktion beendet die
Ausführung von SexScripts. Verwenden Sie es vorsichtig und nur, wenn
Sie es müssen. Wenn Sie Ihr Skript nur verlassen wollen, reicht es mit
einer Return-Null-Anweisung.
getBoolean(Nachricht)
Diese Funktion fragt den Benutzer
nach einer Nachricht und wartet darauf, dass er auf eine Ja- oder
Nein-Schaltfläche klickt. True wird zurückgegeben, wenn der Benutzer
auf yes klickt, und false wird zurückgegeben, wenn der Benutzer auf no
klickt.
getBoolean(Nachricht, jaText, neinText)
Diese Funktion macht das Gleiche wie
oben, aber diesmal haben die Schaltflächen yesText und noText die
angepassten Beschriftungen yesText bzw. noText anstelle der
Standard-Ja- und -Nein-Schaltflächen.
getBooleans(Nachricht, Texte,
Standardwerte)
Diese Funktion zeigt dem Benutzer
eine Nachricht an und fordert ihn auf, einige Kontrollkästchen
auszuwählen. Texte müssen eine Liste von Zeichenketten sein und die
Bezeichnungen für die Kontrollkästchen sein. defaultValues muss eine
Liste von Booleans mit der gleichen Größe wie Texte sein und definiert
den Standardstatus der Kontrollkästchen (true bedeutet ausgewählt und
false bedeutet nicht ausgewählt). Diese Funktion gibt wieder eine Liste
von Booleans mit der gleichen Größe wie Texte und Standardwerte zurück,
die für jedes Kontrollkästchen den Zustand angibt, in dem der Benutzer
es verlassen hat (true, wenn ausgewählt und false, wenn nicht
ausgewählt).
getFile(Dateiname)
Diese Funktion fordert den Benutzer
auf, eine Datei aus einer Datei zu wählen, in der die Nachricht mit dem
Titel des Fensters angezeigt wird. Der vollständige Pfad zu der Datei,
die der Benutzer ausgewählt hat, wird zurückgegeben, oder null, wenn
er/sie abgebrochen hat.
getFloat(Nachricht, defaultValue)
Diese Funktion zeigt dem Benutzer
eine Meldung an und fordert ihn auf, einen numerischen Wert einzugeben,
eventuell mit Dezimalstellen. defaultValue ist der Standardwert, der in
der Eingabe des Benutzers angezeigt wird. Die vom Benutzer eingegebene
Nummer wird zurückgegeben.
getInteger(Nachricht, Standardwert)
Diese Funktion zeigt dem Benutzer
eine Meldung und fordert ihn auf, einen numerischen Wert einzugeben.
defaultValue ist der Standardwert, der in der Eingabe des Benutzers
angezeigt wird. Die vom Benutzer eingegebene Nummer wird zurückgegeben.
getSelectedValue(Nachricht, Texte)
Diese Funktion zeigt dem Benutzer
eine Nachricht an und fordert ihn auf, einen Wert unter den Texten
auszuwählen. texts must be a list of strings. Gibt den Index des vom
Benutzer gewählten Wertes in Texten zurück.
getString(Nachricht, defaultValue)
Diese Funktion zeigt dem Benutzer
eine Meldung an und fordert ihn auf, einen String-Wert einzugeben.
defaultValue ist der Standardwert, der in der Eingabe des Benutzers
angezeigt wird. Der vom Benutzer eingegebene Text wird zurückgegeben.
getTime()
Diese Funktion gibt die Anzahl der
Sekunden zurück, die vom 01.01.1970 bis zum aktuellen Moment
verstrichen sind.
getRandom(max)
Diese Funktion gibt einen
ganzzahligen Wert zurück, der zufällig zwischen 0 und max-1 gewählt
wurde, beide eingeschlossen (max muss mindestens 1 sein).
loadBoolean(Schlüssel)
Gibt einen booleschen Wert zurück,
der in der SexScripts-Datenregistrierungsdatei gespeichert ist, die
einem Schlüssel zugeordnet ist. key muss ein String sein, der diesen
Schlüssel anzeigt. Wenn der Schlüssel nicht in der Datenregistrierung
gefunden wird, wird stattdessen null zurückgegeben. Wenn Sie einen
Datenwert in Ihrem Skript verwenden, sollte sein Schlüssel so etwas wie
"nameOfYourScript.nameOfTheValue" sein. Sie können auch auf die Tasten
"intro.female", "intro.women" und "intro.men" zugreifen, um zu wissen,
ob der Benutzer weiblich ist (wenn nicht, dann männlich), ob er von
Frauen angezogen wird oder ob er von Männern angezogen wird. Mit dieser
Funktion können Sie auch überprüfen, ob sich ein Gegenstand in der
Sklavenspielzeug- oder Kleiderliste befindet, indem Sie auf die Tasten
"toys.nameOfTheToy" bzw. "clothes.nameOfTheClothes" zugreifen. Zum
Beispiel gibt es die Schlüssel "toys.dildo" und "clothes.thong".
loadFirstTrue(Taste1, Taste2,
Taste3, ....)
Gibt den Schlüssel des ersten Bools
zurück, der in der Datenregistrierung gefunden wurde. Gibt null zurück,
wenn kein Schlüssel wahr ist. Siehe obige Funktion, um zu erfahren, wie
die Taste funktioniert.
loadFloat(Schlüssel)
Diese Funktion funktioniert wie
loadBoolean, aber statt eines Bools wird eine reelle Zahl geladen.
loadInteger(Schlüssel)
Diese Funktion funktioniert wie
loadBoolean, aber statt eines Bools wird eine ganze Zahl geladen.
loadString(Schlüssel)
Diese Funktion funktioniert wie
loadBoolean, aber statt eines Bools wird ein String geladen.
openCdTrays()
Diese Funktion öffnet alle
CD-Fächer, die der Benutzer auf seinem Computer hat.
playBackgroundSound(soundFile)
Diese Funktion spielt die Sounddatei
ab, die sich im Pfad soundFile befindet, ohne darauf zu warten, dass
sie die Wiedergabe beendet. Dieser Pfad muss relativ zu den
Sounds/Ordnern in SexScripts sein. Die abzuspielende Sounddatei muss
entweder eine .wav- oder eine.mp3-Datei sein.
playSound(soundFile)
Diese Funktion spielt die Sounddatei
ab, die sich im Pfad soundFile befindet, und wartet darauf, dass sie
ihre Wiedergabe beendet. Dieser Pfad muss relativ zu den Sounds/Ordnern
in SexScripts sein. Die abzuspielende Sounddatei muss entweder eine
.wav- oder eine.mp3-Datei sein.
save(Schlüssel, Wert)
Speichert den Wert in der
SexScripts-Datenregistrierungsdatei, die dem Schlüssel zugeordnet ist.
setImage(imageDatei)
Diese Funktion setzt das Bild, das
sich im Pfad imageFile befindet, auf das aktuelle Bild. Dieser Pfad
muss relativ zu den Bildern/Ordnern in SexScripts sein. Die
anzuzeigende Bilddatei muss eine .jpg ,a.gif oder eine.png-Datei sein.
Wenn imageFile null ist, wird das aktuell angezeigte Bild ausgeblendet
und kein Bild angezeigt.
setInfos(Version, Titel,
Zusammenfassung, Autor, Status, Farbe, Sprache, Tags)
Diese Funktion setzt die globalen
Informationen Ihres Skripts. Sie müssen es nur einmal als erste
Anweisung Ihres Skripts aufrufen, wenn Sie Ihr Skript komplett in
groovy schreiben, ohne ssScriptMaker zu verwenden. Wenn Sie
ssScriptMaker verwenden, rufen Sie diese Funktion überhaupt nicht auf,
da ssScriptMaker dies für Sie tun wird. version muss eine Ganzzahl
sein, die die minimal benötigte Version der SexScripts-API angibt, um
Ihr Script ausführen zu können. Die Version der API in diesem Dokument
ist 3. Titel, Zusammenfassung, Autor, Status und Sprache müssen Strings
sein, die ihre jeweiligen Felder beschreiben, klicken Sie hier, um mehr
über sie zu erfahren. color muss eine ganze Zahl sein, die die
Hintergrundfarbe Ihres Skripts im rgb-Format kodiert. Schließlich
müssen Tags eine Liste von Strings sein, die alle Tags Ihres Scrpts
anzeigen.
show(nachricht)
Diese Funktion setzt die Nachricht
als die aktuelle Textnachricht, die von SexScripts angezeigt wird. Ist
die Meldung null oder ein leerer String "", dann wird die aktuell
angezeigte Meldung ausgeblendet und es wird keine Meldung angezeigt.
showButton(Beschriftung)
Diese Funktion zeigt dem Benutzer
eine Schaltfläche mit dem Label an und wartet darauf, dass der Benutzer
sie drückt. Diese Funktion gibt die Anzahl der Sekunden zurück, die der
Benutzer auf das Drücken der Taste gewartet hat.
showButton(Beschriftung, Timeout)
Diese Funktion funktioniert wie oben
beschrieben, aber wenn während des Wartens Timeout-Sekunden vergehen,
hören Sie auf zu warten, verstecken Sie die Taste und fahren Sie fort.
Wenn dieser letzte Fall eintritt, wird ein Timeout zurückgegeben.
showPopup(Nachricht)
Diese Funktion startet ein
Popup-Fenster mit der Textnachricht und einem Ok-Button und wartet, bis
der Benutzer den Ok-Button drückt oder das Popup-Fenster schließt.
Diese Funktion gibt die Anzahl der Sekunden zurück, die der Benutzer
gewartet hat, bis er die Ok-Taste gedrückt oder das Fenster geschlossen
hat.
useEmailAddress(Adresse)
Diese Funktion versucht, den
E-Mail-Manager im System des Benutzers zu starten, der bereit ist, eine
neue E-Mail an die Adresse zu senden.
useFile(Pfad)
Diese Funktion versucht, die Datei
zu öffnen, die sich unter dem Pfad im System des Benutzers befindet
(mit der Anwendung, der das System des Benutzers diese Datei auf der
Grundlage ihrer Erweiterung zugeordnet hat).
useUrl(url)
Diese Funktion versucht, die URL mit
dem Standardbrowser des Benutzers im System des Benutzers zu öffnen.
wait(Sekunden)
Diese Funktion wartet Sekunden.
Sekunden müssen eine reelle Zahl sein.
waitWithGauge(Sekunden)
Diese Funktion funktioniert wie oben
beschrieben, zeigt aber während des Wartens einen Füllstandsbalken an.
Hinzufügen von groovigem Code zu Ihren
Skripten
Sie haben hauptsächlich zwei
Möglichkeiten, Ihrem Skript groovigen Code hinzuzufügen. Die erste ist
das Erstellen von Funktionen. Der Vorteil von Funktionen ist, dass Sie
sie beliebig oft in Ihrem Skript verwenden können. Wenn Sie also
denselben Code an mehreren Stellen in Ihrem Skript ausführen möchten,
ist es eine gute Gewohnheit, diesen Code innerhalb einer Funktion zu
schreiben und diese Funktion überall dort auszuführen, wo dieser Code
ausgeführt werden soll. Um zu sehen, wie man eine Funktion erstellt,
werfen Sie einen Blick auf den nächsten Abschnitt.
Die andere Möglichkeit, Ihrem Skript
groovigen Code hinzuzufügen, besteht darin, direkt einen groovigen Code
in Ihr Skript einzufügen, der ausgeführt werden soll. Sie können dies
mit dem Befehl'Execute some code' auf der Registerkarte Advanced im
Command Panel tun. Wenn Sie darauf klicken, wird ein neues Fenster mit
einem Textfeld geöffnet. Sie müssen nur Ihren Code in das Textfeld
eingeben und auf Ok klicken. Unterhalb dieses Textfeldes sehen Sie ein
Hinweisfenster, in dem die für Sie verfügbaren Funktionen angezeigt
werden. Wenn Sie etwas in das Code-Textfeld eingeben, wird die Liste
der Funktionen nach dem gefiltert, was Sie zuletzt eingegeben haben. Es
kann nützlich sein, wenn Sie sich nicht mehr an den Namen der
Funktionen in der API erinnern.
Funktionen
Mit SsScriptMaker können Sie eigene
Funktionen definieren, um sie in Ihren Skripten zu verwenden.
Funktionen sind nützlich, um Codeteile zu kapseln oder die
Funktionalität der Standardbefehle zu erweitern. Aber sie müssen in
groovy geschrieben werden, also verwenden Sie sie nur, wenn Sie bereit
sind, auf groovy Code zu treten.
Um eine neue Funktion zu erstellen,
gehen Sie auf die Registerkarte Funktionen im Hauptfenster und klicken
Sie auf die Schaltfläche Funktion hinzufügen. Sie werden aufgefordert,
den Namen der Funktion, die Parameter Ihrer Funktion und den Code Ihrer
Funktion einzugeben. Für den Namen der Funktion können Sie einen
beliebigen gültigen Namen eingeben, der nicht bereits von den
SexScripts api oder einem groovigen Sonderwort verwendet wird. Er muss
mit einem Buchstaben beginnen und darf nur Buchstaben, Ziffern und den
Unterstrich'_' enthalten. Es darf keine Leerzeichen enthalten. Um die
Parameter Ihrer Funktion zu definieren, schreiben Sie einfach deren
Namen durch Kommas getrennt. Um einen Parameter zu benennen, folgen Sie
den gleichen Regeln wie bei der Benennung einer Variablen. Wenn Sie
möchten, dass Ihre Funktion überhaupt keine Parameter übernimmt, lassen
Sie dieses Feld leer. Alle Parameter einer Funktion können im Code der
Funktion verwendet werden, ohne dass sie vorher deklariert werden
müssen.
Denken Sie daran, dass alle
Variablen, die Sie in Ihrem Skript verwenden, außerhalb des
Funktionsumfangs liegen. Wenn Sie also eine Funktion erstellen möchten,
die Variablen verwendet, die Sie in Ihrem Skript verwenden, übergeben
Sie diese als Parameter an Ihre Funktion.
Manchmal werden Sie wollen, dass
Ihre Funktionen einen berechneten Wert zurückgeben. Dazu kann man das
spezielle groovige Wort return verwenden, in einer Anweisung wie return
<expression>, wobei der Wert des Ausdrucks zurückgegeben wird.
Auch wenn Sie keine return-Anweisung als letzte Anweisung Ihrer
Funktion verwenden, wird der in der letzten Anweisung Ihrer Funktion
berechnete Wert zurückgegeben. Werfen Sie einen Blick auf die Datei
functions.ssm im Ordner Examples, um Beispiele für Funktionen zu sehen.
Es gibt nur eine letzte Sache, die
Sie sich beim Schreiben einer Funktion merken sollten. Von einer
Funktion aus können Sie jede andere Funktion wie in einem beliebigen
Stück Code aufrufen, und die Funktionen, die sich selbst aufrufen,
werden rekursive Funktionen genannt. Seien Sie sehr vorsichtig, wenn
Sie rekursive Funktionen schreiben, da es sehr einfach ist, eine
Endlosschleife von Selbstanruffunktionen zu erstellen und Ihr Skript
hängt. Rekursive Funktionen sind knifflig, also treten Sie ruhig
darauf. Um eine Funktion aufzurufen, können Sie ihren Namen nicht wie
jede andere Funktion verwenden, sondern Sie müssen die spezielle
groovige Form call(params) verwenden, als ob es Ihre Funktion wäre.
Params sollten die Parameter sein, die Sie Ihrem Funktionsaufruf durch
Kommas getrennt übergeben wollen. Um ein Beispiel für eine rekursive
Funktion zu sehen, schauen Sie sich die Fakultät im Funktionsbeispiel
an.
Wenn Sie den Namen, die Parameter
und den Code Ihrer Funktion eingegeben haben, klicken Sie auf die
Schaltfläche Funktion erstellen, und Ihre Funktion wird der
Funktionsliste Ihres Skripts hinzugefügt. Sie können es später mit
einem Doppelklick bearbeiten.
Schreiben des Skripts ohne
ssScriptMaker
Wenn Sie lernen, wie man groovigen
Code schreibt, können Sie versuchen, Ihr Skript komplett in groovy zu
schreiben, ohne ssScriptMaker zu verwenden. Um dies zu tun, benötigen
Sie ein Tool, mit dem Sie Ihr grooviges Skript schreiben können; und
obwohl Sie einen einfachen Text-Editor wie Notepad oder gedit verwenden
können, wird es dringend empfohlen, das in SexScripts integrierte
Editor-Tool zu verwenden. Um es zu öffnen, um ein neues Skript zu
schreiben, öffnen Sie zuerst SexScripts und wählen Sie Bearbeiten aus
dem Menü Skript. Nun öffnet sich der Editor. Wählen Sie im
Editorfenster im Menü Datei die Option Neu. Es wird ein neues Skript
erstellt, in das Sie Ihren Code schreiben können, mit etwas
Vorlagentext. Wenn Sie Ihr Skript testen möchten, speichern Sie es,
indem Sie den Speichern-Button in der Symbolleiste oder im Datei-Menü
wählen, und drücken Sie Strg+R im Hauptfenster von SexScripts. Wenn Sie
Ihr Skript schreiben, denken Sie daran, dass Sie die Funktion Prüfen in
der Symbolleiste verwenden können, damit der Editor Ihr Skript
analysieren und Syntaxfehler finden kann.
Denken Sie daran, dass alle Skripte
einen Aufruf von SetInfos als erste Anweisung enthalten müssen. Werfen
Sie einen Blick auf die API-Sektion für weitere Informationen.
Mehr Hilfe zu groovy scripting
Sobald Sie in groovy getreten sind
und begonnen haben, es ein wenig zu kontrollieren, werden Sie
wahrscheinlich feststellen, dass die Erklärungen in dieser
Dokumentation nicht genug sind, um ein gutes Niveau bei groovy zu
erreichen, und wenn Sie Ihre Programmierkenntnisse weiter verbessern
wollen, werden Sie irgendwann Hilfe brauchen. Um eine vollständige
Referenz und Dokumentation von groovy scripting im Allgemeinen zu
erhalten, können Sie einen Blick auf die groovy offizielle Website
werfen unter
http://groovy.codehaus.org/
Ein guter Ort, um Fragen über
grooviges Scripting für SexScripts zu stellen, sind auch die
öffentlichen Foren auf der offiziellen Website von SexScripts unter
http://ss.deviatenow.com/viewforum.php?f=4
Sonderzeichen
Sonderzeichen sind eine Reihe von Zeichen, die alle mit dem Symbol'$'
beginnen. Wenn Sie sie irgendwo in einem Skriptbefehl eingeben, werden
sie durch andere Werte ersetzt, die in verschiedenen Ausführungen des
Skripts in verschiedenen Systemen unterschiedlich sein können. Sie
können sie praktisch in jedem Befehl verwenden, bei dem Sie ein
Textfeld ausfüllen müssen. Die Liste der Sonderzeichen, die Sie
verwenden können, ist die folgende:
$dollar = $, ein einfaches Dollarzeichen
$newline = Neue Zeile, Sie können auch die Eingabetaste anstelle dieses Zeichens verwenden.
$script = Name des Skripts
$author = Autor des Skripts
$email = E-Mail des Autors
$version = Version des Skripts
$licence = Lizenz des Skripts
$api = SexScripts Sprachversion, die vom Skript verwendet wird.
$status = Status des Scripts
$os = Slave-Betriebssystem, z.B. Windows 7 Starter
$date = Aktuelles Datum, z.B. 11.04.2011
$sdate = Aktuelles vereinfachtes Datum, z.B. 04/11
$xdate = Aktuelles erweitertes Datum, z.B. 11.04.2011 23:45 Uhr
$time = Aktuelle Zeit, z.B. 23:45 Uhr
$xtime = Aktuelle erweiterte Zeit mit Sekunden, z.B. 23:45:18
$day = Aktueller Tag, z.B. Freitag
$nday = Aktueller Tag im Monat, Zahl, z.B. 04
$month = Aktueller Monat, z.B. November
$nmonth = Aktueller Monat im Jahr, Anzahl, z.B. 11
$year = Aktuelles Jahr, z.B. 2011
$syear = Zwei letzte Ziffern des aktuellen Jahres, z.B. 11
$hour = Aktuelle Stunde, z.B. 23
$min = Aktuelle Minute, z.B. 45
$sec = Aktuelle Sekunde, z.B. 18
$ms = Aktuelle Millisekunde, z.B. 523
$name = Name des Sklaven
$gender = Geschlecht des Sklaven, männlich/weiblich
$[xxx] = Wert der Variable xxx
$G[xxx] = geschlechtsabhängiger Wert xxx
$T[xxx] = Wert des Timers xxx
$D[xxx] = Wert des gespeicherten Datenwertes xxx