Ereignissystem

Beschreibung
Das Ereignissystem ist entscheidend für jede Studie. Es ist die Art und Weise, wie Sie Werte festlegen, die aufgezeichnet werden sollen, das Experiment vorankommen lassen und Aufgaben erstellen. Benutzer können ein Ereignissystem erstellen, um alle Funktionen, Logik und Interaktionen in einer Aufgabe auszuführen. Ein Ereignis fungiert oft als Vermittler zwischen Objekten und Variablen.
- Für eine vollständige Liste von Triggern
- Für die vollständige Liste von Aktionen
- Für weitere Informationen über das Value-Select Menü zur Festlegung von Werten unter Ereignissen

Das Ereignissystem besteht aus Triggern und Aktionen. Hier legen Sie Regeln fest, wie "wenn dies passiert" (Trigger), dann "machen Sie dies" (Aktion). Zum Beispiel: Wenn ein Teilnehmer auf ein bestimmtes Bild klickt (Trigger), dann zeigen Sie ein anderes, zufälliges Bild an (Aktion).
Für eine Einführung, wie Ereignisse in Labvanced funktionieren, siehe dieses kurzes Video:
Erstellen von Ereignissen - Übersicht
Ereignisse werden im Aufgaben-Editor unter dem Tab "Ereignisse" in der oberen rechten Ecke verwaltet. Neue Ereignisse können durch einen Klick auf + Frame Event für Ereignisse, die in diesem Frame erfolgen sollen, oder durch Klicken auf + Trial Event erstellt werden, was das Ereignis auf alle Frames anwendet. Alle bestehenden Ereignisse werden in einer Listenansicht im rechten Seitenbereich angezeigt. Ereignisse werden auf Frame-Ebene definiert und können separat/spezifisch für jeden Frame oder dupliziert/dasselbe in jedem Frame über einen Versuch sein.

In jedem Fall wird ein Ereignis immer für alle Versuche innerhalb einer Versuchgruppe für die angegebenen Frame(s) definiert. Benutzerdefinierte Logik ermöglicht es jedoch, Ereignisse nur in bestimmten Versuchen, Bedingungen oder in anderen Umständen auszuführen.
Auswahl eines Triggers
Wenn Sie ein neues Ereignis erstellen, öffnet sich die Triggerauswahl als Kachelraster. Die Triggerarten sind nach Kategorie organisiert (Benutzereingabe, Physiologisches Signal, Versuch und Frame, Variable, Medienobjekt, API und Global). Ein Suchfeld oben ermöglicht es Ihnen, die Triggerarten nach Namen zu filtern. Klicken Sie auf eine Kachel, um sie als Trigger des Ereignisses festzulegen.
Sobald ein Trigger ausgewählt ist, zeigt das Ereignis eine kompakte Leiste mit dem aktuellen Triggernamen und -symbol an. Um zu einem anderen Trigger zu wechseln, klicken Sie auf die Change trigger-Schaltfläche (Bleistifticon), um das Kachelraster erneut zu öffnen.
Das folgende Video gibt einen Überblick über die in Labvanced verfügbaren Trigger und Aktionen:
Die Ausführungsreihenfolge von Ereignissen kann angepasst werden. Standardmäßig stehen Ereignisse mit demselben Trigger weiter oben in der Liste und werden zuerst ausgeführt. Ereignisse können auch kopiert und gelöscht werden. Wenn Sie ein bestehendes Ereignis auswählen, werden die Einzelheiten im unteren rechten Bereich (Ereigniseigenschaften) angezeigt. Zur besseren Übersicht können bestehende Ereignisse ebenfalls wieder geöffnet werden (Icon neben dem Namenfeld).
Trigger
Der Trigger definiert, wann das Ereignis ausgeführt wird. Dies könnte ein Mausklick auf ein bestimmtes Objekt, eine bestimmte Tastatureingabe, eine Änderung eines Variablenwerts, der Start einer Videodatei oder viele andere Dinge sein. Alle Trigger und deren Einstellungen/Parameter sind in der folgenden Liste erklärt:
| Triggerkategorie | Triggeroptionen | Beschreibung |
|---|---|---|
User Input Triggers | Benutzereingabe-Trigger beziehen sich auf jeden Trigger, der manuell vom Benutzer/Teilnehmer aktiviert werden kann, indem er etwas wie das Bewegen der Maus, Klicken auf ein Tastatur-Element, Scrollen usw. macht. | |
Physiological Signal Triggers | Physiologische Signal-Trigger erfolgen, wenn ein bestimmter physiologischer Input vorliegt, wie das Blicken auf ein spezifisches Element oder Änderungen in Kopfbewegungen. | |
Trial and Frame Triggers | Diese Trigger treten in Bezug auf die experimentellen Versuche und Frames auf, wie z.B. wenn ein Frame beginnt oder endet. | |
Variable Value Changed Trigger | Variable (Wert geändert) | Ein Trigger für das Ereignis tritt auf, wenn es eine Änderung in einem bestimmten Variablenwert gibt. |
Media Object Trigger | Medienobjekt-Trigger | Dieser Trigger erfolgt in Bezug auf Medienobjekte, wie z.B. wenn es eine Pause in einer Video-/Audiodatei gibt, eine Aufnahme abgeschlossen ist usw. |
API Triggers | Dies sind Trigger, die auftreten, wenn Daten von einer API eingehen. | |
Global Triggers | Globale Trigger beziehen sich auf alle größeren Änderungen an einem Experiment, wie z.B. wenn es pausiert wird oder ein Teilnehmer in einer Multiuser-Studie verlässt. |
Benutzereingabe-Trigger
Benutzereingabe-Trigger beziehen sich auf jeden Trigger, der manuell vom Benutzer/Teilnehmer aktiviert werden kann.

Die folgende Tabelle bietet eine Einführung in alle in Labvanced verfügbaren Benutzereingabe-Trigger. Jeder von ihnen wird in den kommenden Abschnitten detaillierter beschrieben.
| Benutzereingabe-Trigger-Option | Übersicht |
|---|---|
Mouse Trigger | Jede Mausbewegung kann als Trigger verwendet werden, um ein Ereignis auszulösen, wie z.B.: Scrollen, Klicken, Hovering usw. Sie können auch spezifische Elemente oder Ziele mit einem Trigger verknüpfen. Zum Beispiel wird ein Mausklick nur dann als Trigger verwendet, wenn ein bestimmtes Bild angeklickt wird. |
Keyboard Trigger | Jede Tastatureingabe kann als Trigger verwendet werden, um ein Ereignis auszulösen. Sie können spezifische Tastaturbuchstaben oder -zahlen als Trigger angeben. |
Button-Clicks | Schaltflächenobjekte, die in Labvanced erstellt wurden, können als Trigger verwendet werden, um Ereignisse auszulösen. |
Enter on Input | Dieser Trigger wird häufig verwendet, wenn ein Teilnehmer während eines Experiments 'Enter' drückt, um ihre schriftliche Antwort oder Eingabe in Textfeldern zu übermitteln. |
Scroll Trigger | Dieser Trigger tritt auf, wenn der Teilnehmer scrollt. Sie können die x- oder y-Scrollrichtungen sowie die Elemente, über die das Scrollen erfolgt, spezifizieren, um sie als Ereignis-Trigger zu verwenden. |
Gamepad/ Joystick Trigger | Dieser Trigger ermöglicht es Ihnen, Gamepad- und Joystick-Controller in Ihrem Versuchsdesign als Eingabegerät zur Datenerfassung zu verwenden. |
Maus-Trigger
Die Option „Maus-Trigger“ ist ein sehr beliebter Ereignistrigger, da sie ein Ereignis basierend auf jeglicher Mausinteraktion auslöst, wie z.B.: die Maus nach oben/unten bewegen, Klicken, über ein bestimmtes Objekt fahren, ein bestimmtes Objekt verlassen oder jede beliebige Bewegung!

Das folgende Beispiel zeigt einen „Maus-Trigger“, der auftritt, wenn ein „Klick“ durch den „Linken“ Mausklick auf das „Ziel“-Objekt namens „Image_1“ erfolgt:```markdown

Nachfolgend finden Sie eine vollständige Übersicht über die Optionen, die Sie bei der Arbeit mit Maus-Triggern haben:
| Menüelement | Menübereich | Maus-Trigger-Optionen und -Spezifikationen |
|---|---|---|
Action Dropdown-Liste: | ![]() | Die folgenden Maus-Trigger-Optionen sind in der Dropdown-Liste verfügbar:
|
Button Dropdown-Liste: | ![]() |
|
Targets Optionen: | Im obigen Beispiel ist "Image_1" das Ziel des Button-Klicks, der das Ereignis auslöst. Mehrere Ziele können hinzugefügt werden, indem Sie die ‘+Add Target’-Option am unteren Ende klicken. |
|
- Hinweis: Nachdem Sie den Maus-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Mauswerte in verschiedenen Aktionen mit dem Wertauswahlmenü. zu nutzen und darauf zuzugreifen.
Tastatur-Trigger
Die Option 'Tastatur-Trigger' ist eine weitere beliebte Möglichkeit, ein Ereignis auszulösen. Grundsätzlich kann jede Eingabe von der Tastatur als Trigger verwendet werden. Dazu gehört: drücken, halten oder loslassen einer Taste.

Im folgenden Beispiel ist der Trigger so eingestellt, dass er ein Tastendruck ist, der erfolgt, wenn die angegebenen Zielnumerischen Werte (0, 2 oder 6) gedrückt werden:

Nachfolgend finden Sie eine vollständige Übersicht über die Tasten und Optionen, die Sie bei der Arbeit mit Tastatur-Triggern haben:
| Menüelement | Menübereich | Tastatur-Trigger-Optionen |
|---|---|---|
Action Dropdown-Liste: | ![]() |
|
Keys welche Taste das Ereignis auslöst | ![]() | Welche Taste als Trigger verwendet wird, wird hier festgelegt, indem Sie die Optionen durch Klicken auf +Add: auswählen
+Add:-Schaltfläche klicken |
| Zusätzliche Optionen | ![]() | Die NumPad-Tasten aktivieren-Option ermöglicht es, dass Nummerntasten als Trigger innerhalb des Experiments verwendet werden. Für die Ereignisweiterleitung zulassen-Option, wenn mehrere Ereignisse denselben Tastatur-Trigger haben, feuern/triggers alle ohne ihn. Nur das erste wird ausgelöst und die Ausführung des Ereignisses wird gestoppt, nachdem das erste Ereignis abgeschlossen ist. |
- Hinweis: Nachdem Sie den Tastatur-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Tastaturwerte in verschiedenen Aktionen mit dem Wertauswahlmenü. zu nutzen und darauf zuzugreifen.
Button-Klick-Trigger
Wenn Sie ein Button- oder Navigationsobjekt im Editor platziert haben, können Sie dieses als Teil eines Ereignisses nutzen, bei dem das Klicken auf den Button als Trigger für eine Aktion fungiert.

Ein Klick auf diesen Trigger zeigt das folgende Menü, in dem Sie angeben können, welcher spezifische Button als Trigger fungieren wird:

Hier ist ein näherer Blick auf die enthaltenen Elemente:
| Menüelement | Menübereich | Button-Klick-Trigger-Optionen |
|---|---|---|
Ziel: +Set Target | ![]() | |
Button: Option | ![]() | Geben Sie an, welcher spezifische Button im Rahmen |
- Hinweis: Nachdem Sie den Button-Klick-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Button-Klick-Werte in verschiedenen Aktionen mit dem Wertauswahlmenü. zu nutzen und darauf zuzugreifen.
Eingabetaste bei Eingabe-Trigger
Trigger bei: Die Eingabetaste/Return-Taste wird auf der Tastatur gedrückt, während ein bestimmtes Element aktiv ist.
Parameter:
Ziele hinzufügen: Fügen Sie ein Eingabeelement zum Ereignis hinzu.
Hinweis: Nachdem Sie den Enter bei Eingabe-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Eingabetaste-Werte in verschiedenen Aktionen mit dem Wertauswahlmenü. zu nutzen und darauf zuzugreifen.
Scroll-Trigger
Trigger bei: Die Scrollleiste, das Scrollen auf dem Trackpad oder das Scrollrad der Maus wird auf ein bestimmtes Element angewendet.
Parameter:
- Wählen Sie, ob das Scrollen auf der Y-Achse oder der X-Achse erfolgt (vertikales Scrollen oder horizontales Scrollen).
Ziel: Legen Sie das Zielobjekt fest, auf das der Scroll-Trigger angewendet werden soll.
Hinweis: Für langen Text müssen im Panel 'Objekteigenschaften' im Abschnitt 'Stil' die Overflow-Xund/oder die Overflow-Y-Optionen ausgewählt sein, wobei scroll als die ausgewählte Option angegeben werden muss.
- Hinweis: Nachdem Sie den Scroll-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Scroll-Werte in verschiedenen Aktionen mit dem Wertauswahlmenü. zu nutzen und darauf zuzugreifen.
Gamepad-/Joystick-Trigger
Das Gamepad/ Joystick Trigger ermöglicht es Ihnen, Gamepad- und Joystick-Controller in Ihrem experimentellen Design als Eingabegerät zur Datenerfassung zu verwenden. Hinweis: Denken Sie daran, diese Option im Settings Tab zu aktivieren.
Physiologische Signal-Trigger
Diese Trigger gelten nur, wenn Eye-Tracking und/oder Head-Tracking für die Aufgabe aktiviert wurden.
Eye-Tracking-Blick-Trigger
Trigger bei:
- Insgesamt gilt dieser Trigger, wenn Eye-Tracking aktiviert wurde.
- Nur auslösen, wenn auf spezifische Elemente geschaut wird
Parameter:
Wenn Sie ausgewählt haben, dass nur auf spezifische Elemente getriggert wird, fügen Sie diese Elemente als Ziele hinzu.
Hinweis: Nachdem Sie den Eye-Tracking-Blick-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Blickwerte in verschiedenen Aktionen mit dem Wertauswahlmenü. zu nutzen und darauf zuzugreifen.
Eye-Tracking-Fixations-Trigger
Dieser Trigger befindet sich noch in der BETA-Phase.
- Hinweis: Nachdem Sie den Tastatur-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Fixationswerte in verschiedenen Aktionen mit dem Wertauswahlmenü. zu nutzen und darauf zuzugreifen.
Head-Tracking-Trigger
Trigger bei:
Änderungen der Kopfhaltung oder Kopfbewegungen.
Hinweis: Nachdem Sie den Head-Tracking-Trigger im Ereignissystem ausgewählt haben, haben Sie die Möglichkeit, trigger-spezifische Head-Tracking-Werte in verschiedenen Aktionen mit dem Wertauswahlmenü. zu nutzen und darauf zuzugreifen.
### Test- und Rahmenauslöser
#### Aufgaben-Init-Auslöser
Wird ausgelöst bei:
* Dem ersten Rahmen des ersten Versuchs einer Aufgabe. Wird nur einmal pro Aufgabe ausgeführt, obwohl er im Tab "Ereignisse" für alle Instanzen dieses Rahmens angezeigt wird.
Dieser Auslöser funktioniert gut mit den Aktionen Mischen und Aus Daten lesen. Mit diesen Kombinationen können Sie Array-Einträge oder Datenrahmen zu Beginn der Aufgabe mischen und Probanden Gruppen von Stimuli zuweisen, ohne mehrere Ereignisse erstellen zu müssen, um Stimuli oder Daten auszulesen.
Parameter: Keine
* **Hinweis:** Nach der Auswahl des Aufgaben-Init-Auslösers im Ereignissystem haben Sie die Möglichkeit, [auslöserspezifische Aufgaben-Init-Werte](#trigger-on-task-initialization-values) in verschiedenen Aktionen mit dem [Wertauswahlmenü.](#the-value-select-menu) zu nutzen und darauf zuzugreifen.
#### Rahmen-Init-Auslöser
Wird ausgelöst bei:
* Der Initialisierung des Rahmens, bevor er für den Teilnehmer sichtbar wird.
Dieser Auslöser funktioniert gut mit den Aktionen Mischen, Aus Daten lesen und Zufallszahl ziehen. Mit diesen Kombinationen können diese Aktionen vor dem Erscheinen des Rahmens abgeschlossen werden, was einen klaren Weg für andere Aktionen schafft, die beginnen, wenn der Rahmen startet.
**Hinweis:** Verwenden Sie den Rahmen-Init-Auslöser nicht mit Ereignissen, die eine Variable aufzeichnen oder die Systemvariablen wie Versuchszahl oder Bedingungszahl betreffen. Dies liegt daran, dass der Rahmen-Init-Auslöser zwischen den Versuchen auftritt, sodass keine vollständig genaue Zählung des Versuchs oder der Bedingung vorliegt, die angezeigt werden soll.
Parameter: Keine
* **Hinweis:** Nach der Auswahl des Rahmen-Init-Auslösers im Ereignissystem haben Sie die Möglichkeit, [auslöserspezifische Rahmen-Init-Werte](#trigger-on-frame-init-values) in verschiedenen Aktionen mit dem [Wertauswahlmenü.](#the-value-select-menu) zu nutzen und darauf zuzugreifen.
**Hinweis zu Aufgaben- und Rahmen-Init-Auslösern:** Da die Aufgaben- und Rahmen-Init-Auslöser auftreten, bevor die Aufgabe oder der Rahmen beginnt, werden während dieser Zeit erstellte Variablen zurückgesetzt, wenn die Aufgabe/der Rahmen tatsächlich startet. Eine Warnmeldung wird beim Verwenden dieses Ereignisses angezeigt:

Denken Sie daran, das Kontrollkästchen "Zurücksetzen beim Versuchsbeginn" im Fenster für die Eigenschaften der Variable zu deaktivieren, wenn Sie nicht möchten, dass die Variablenwerte zurückgesetzt werden.
#### Rahmen-Start-Auslöser
Wird ausgelöst bei:
* Beginn des Rahmens
Parameter: Keine
* **Hinweis:** Nach der Auswahl des Rahmen-Start-Auslösers im Ereignissystem haben Sie die Möglichkeit, [auslöserspezifische Rahmen-Start-Werte](#trigger-on-frame-start-values) in verschiedenen Aktionen mit dem [Wertauswahlmenü.](#the-value-select-menu) zu nutzen und darauf zuzugreifen.
#### Rahmen-Ende-Auslöser
Wird ausgelöst bei:
* Ende des Rahmens (nachdem der Rahmen nicht mehr sichtbar ist)
Parameter: Keine
* **Hinweis:** Nach der Auswahl des Rahmen-Ende-Auslösers im Ereignissystem haben Sie die Möglichkeit, [auslöserspezifische Rahmen-Ende-Werte](#trigger-on-frame-end-values) in verschiedenen Aktionen mit dem [Wertauswahlmenü.](#the-value-select-menu) zu nutzen und darauf zuzugreifen.
### Variable-Wert-Änderungs-Auslöser
#### Variable-Wert-Änderung
Wird ausgelöst bei:
* Wenn sich der Wert einer Variablen von ihrem Startwert ändert
Parameter:
* Variablen: Wählen Sie eine oder mehrere Variablen aus, bei denen Sie Änderungen "abhören" möchten. Jede Änderung des Wertes dieser Variablen löst sofort die entsprechende Aktion aus.
* **Hinweis:** Nach der Auswahl des Variablen-Wert-Änderungs-Auslösers im Ereignissystem haben Sie die Möglichkeit, [auslöserspezifische Variablen-Wert-Änderungs-Werte](#trigger-variable-value-changed-values) in verschiedenen Aktionen mit dem [Wertauswahlmenü.](#the-value-select-menu) zu nutzen und darauf zuzugreifen.
### Medienobjekt-Auslöser
#### Medienobjekt-Auslöser
Ehemals bekannt als die separaten "Steuerelement Audio/Video Auslöser" und "Steuerelement Objekt" Auslöser.
Wird ausgelöst bei:
* Start, Pause oder Stopp einer Video- oder Audiodatei
* Datei-Uploads beendet, Datei ausgewählt, Aufnahme abgeschlossen eines Aufnahmeobjekts
* Snapshot abgeschlossen oder Upload abgeschlossen eines Kamerasnapshot-Objekts
Parameter:
* Ziel: Wählen Sie ein Objektelement aus, das sich im Rahmen befindet.
* Ausführen bei: Wählen Sie den Untertyp des Auslösers
* Audio- oder Videoobjekt-Optionen:
* Wiedergabe gestartet: Wird ausgelöst, wenn das Element zu spielen beginnt
* Wiedergabe gestoppt: Wird ausgelöst, wenn das Element pausiert
* Wiedergabe beendet: Wird ausgelöst, wenn das Element aufhört zu spielen
* Video-, Audio- oder Bildschirmaufnahmeobjekt-Optionen:
* Aufnahme beendet: Wird ausgelöst, wenn die Audioaufnahme gestoppt hat
* Upload abgeschlossen: Wird ausgelöst, wenn der Dateiupload abgeschlossen ist
* Datei-Upload-Objekt-Optionen:
* Datei ausgewählt: Wird ausgelöst, wenn eine Datei ausgewählt wird
* Upload abgeschlossen: Wird ausgelöst, wenn der Dateiupload abgeschlossen ist
* Kamerasnapshot-Objekt-Optionen:
* Snapshot beendet: Wird ausgelöst, wenn die Kamera erfolgreich ein Snapshot gemacht hat
* Upload abgeschlossen: Wird ausgelöst, wenn der Snapshot mit dem Hochladen fertig ist
* **Hinweis:** Nach der Auswahl des Medienobjekt-Auslösers im Ereignissystem haben Sie die Möglichkeit, [auslöserspezifische Medienobjekt-Werte](#trigger-media-object-trigger-values) in verschiedenen Aktionen mit dem [Wertauswahlmenü.](#the-value-select-menu) zu nutzen und darauf zuzugreifen.
### API-Auslöser
Wenn Sie Daten von einem externen Server nach Labvanced senden oder kommunizieren müssen, können 'API-Auslöser' und [‘API-Aktionen’](/content/learn/de/guide/task-editor/event-system.html#api-actions) verwendet werden. Folgendes kann als Auslöser verwendet werden:
* Websocket-Auslöser
* OpenAI-Auslöser
* PostMessage empfangen
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/api_trigger_menu.webp" alt="Das API-Auslöser-Menü in Labvanced." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
#### Websocket-Auslöser
Der Websocket-Auslöser wird verwendet, wenn eine Nachricht vom Websocket/API empfangen wird und als Auslöser für die Aktion verarbeitet wird.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/websocket_trigger.webp" alt="Die Menüoption Websocket-Auslöser." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Beim Klicken auf diese Option erscheinen die folgenden Elemente.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/websocket_dialog.webp" alt="Das Websocket-Auslöser-Dialogmenü." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
* **Akzeptieren/Empfangen von:** Erkennt automatisch die IP-Adresse des lokalen Hosts. Kann manuell im [`Settings`](/content/learn/de/guide/settings/) Tab unter `Special Features` geändert werden.
* **Auslöser/Nachricht:** Geben Sie die Nachricht ein, die als Auslöser dient. Geben Sie 'any' ein, um mehr als eine Nachricht als Auslöser zu akzeptieren.
Für ein Beispiel, wie API-Auslöser/Aktionen verwendet werden, überprüfen Sie bitte diese Demo [https://www.labvanced.com/page/library/51053](https://www.labvanced.com/page/library/51053), indem Sie die Option 'Inspektor' im Dialogfeld anklicken.
**[Für weitere Informationen zum API-Zugriff besuchen Sie bitte diese Seite.](https://www.labvanced.com/content/learn/de/guide/api-access/)**
* **Hinweis:** Nach der Auswahl des Websocket-Auslösers im Ereignissystem haben Sie die Möglichkeit, [auslöserspezifische Websocket-Werte](#trigger-websocket-trigger-values) in verschiedenen Aktionen mit dem [Wertauswahlmenü.](#the-value-select-menu) zu nutzen und darauf zuzugreifen.
#### OpenAI-Auslöser
Der 'OpenAI-Auslöser' kann verwendet werden, um eine Aktion basierend auf eingehenden Informationen von OpenAI zu initiieren.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/openai_trigger.webp" alt="Das OpenAI-Auslöser-Menü in Labvanced." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Die Auswahl dieser Option führt dazu, dass die folgenden Parameter angezeigt werden:
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/openai_dialog.webp" alt="Die Menüoptionen des OpenAI-Auslösers." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
**HINWEIS:** Siehe auch [diese Anleitung](/content/learn/de/walkthroughs/2024-09-chatgpt-study-example/), in der wir eine Studie Schritt für Schritt aufbauen, indem wir ChatGPT in eine Studie integrieren und diesen Auslöser nutzen.
Im folgenden Beispiel wird der zugewiesene Datenrahmen 'df' genannt und das Ergebnis des 'OpenAI-Auslösers' wird an diesen Datenrahmen angehängt. Dieser Datenrahmen muss zwei Spalten haben. Die erste Spalte gibt die 'Rolle' an und die zweite Spalte die 'Chat-Nachricht.' Die Werte aus der Aktion werden automatisch an den hier verlinkten Datenrahmen angehängt.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/openai_trigger_example.webp" alt="Ein Beispiel des OpenAI-Auslösers in Labvanced." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Wenn Sie auch die [‘An OpenAI senden’-Aktion](#send-to-openai-action) verwenden, müssen Sie denselben Datenrahmen dort verwenden, den Sie hier angegeben haben.
* **Hinweis:** Nach der Auswahl des OpenAI-Auslösers im Ereignissystem haben Sie die Möglichkeit, [auslöserspezifische OpenAI-Werte](#trigger-openai-trigger-values) in verschiedenen Aktionen mit dem [Wertauswahlmenü.](#the-value-select-menu) zu nutzen und darauf zuzugreifen.
#### PostMessage empfangen Auslöser
Der `PostMessage Received`-Auslöser wird ausgelöst, wenn das laufende Experiment eine eingehende Nachricht von einer externen Quelle über die postMessage-API des Browsers erhält. Er ist nützlich, um ein Experiment mit einer übergeordneten Seite, einer benutzerdefinierten Anwendung oder einer eingebetteten externen Website zu verbinden, die Daten in die Studie sendet.
[Erfahren Sie mehr.](/content/learn/de/guide/events/postmessage-received-trigger.html)
* **Hinweis:** Nach der Auswahl des PostMessage empfangen-Auslösers im Ereignissystem haben Sie die Möglichkeit, [auslöserspezifische PostMessage empfangen-Werte](#trigger-postmessage-received-values) in verschiedenen Aktionen mit dem [Wertauswahlmenü.](#the-value-select-menu) zu nutzen und darauf zuzugreifen.
``````markdown
### Globale Trigger
Globale Trigger treten auf, wann immer eine wesentliche Änderung im Experiment auftritt, d.h. etwas, das 'global' ist, wie das Pausieren des Experiments oder das Verlassen eines Teilnehmers aus einer Mehrbenutzerstudie! Die folgenden Optionen werden als globale Trigger aufgeführt:
* Pause / Fortsetzen des Experiments
* Teilnehmer hat die Mehrbenutzerstudie verlassen
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/global_menu.webp" alt="Das Menü für globale Trigger in Labvanced." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
#### Pause/Fortsetzen des Experiments
Der Trigger 'Pause / Fortsetzen des Experiments' ist eine Option, die es ermöglicht, ein Ereignis basierend auf dem Pausieren oder Fortsetzen des Experiments auszuführen.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/pause_trigger.webp" alt="Die Option, eine Pause im Experiment als Trigger zu verwenden." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Bei Auswahl dieses Triggers erscheint die folgende Ansicht, in der Sie die Art des Triggers weiter spezifizieren können, ob er beim Pausieren oder Fortsetzen / Wiederaufnehmen des Experiments ausgeführt werden soll:
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/global_dialog.webp" alt="Dialogfeld für diesen globalen Trigger" width="50%">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/global_options.webp" alt="Verfügbare Optionen im globalen Trigger-Menü" width="50%">
</p>
* **Experiment Pausiert:** Teilnehmer pausiert (verlässt den Vollbildmodus) die Studie.
* **Experiment Fortgesetzt:** Teilnehmer setzt die Studie fort. Dieser Trigger funktioniert gut für Augenverfolgungsstudien. Er kann verwendet werden, um den Teilnehmer zu einem vorherigen Versuch oder Frame zurückzusenden, wenn er seinen virtuellen Kinnstütze verlassen hat.
* **Hinweis:** Nach Auswahl des Triggers Pause/Fortsetzen des Experiments im Ereignissystem haben Sie die Möglichkeit, [trigger-spezifische Werte](#trigger-global-experiment-event-values) über verschiedene Aktionen mit dem [Wertauswahlmenü](#the-value-select-menu) zu verwenden und darauf zuzugreifen.
#### Teilnehmer hat die Mehrbenutzerstudie verlassen
Wenn ein Teilnehmer die Mehrbenutzerstudie verlässt, kann dies ebenfalls als Trigger für ein Ereignis verwendet werden. Wenn ein Teilnehmer die Mehrbenutzerstudie verlässt, wirkt sich dies auf globaler Ebene auf das Experiment aus, da es anderen Teilnehmern das Fortsetzen der Studie verweigert.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/left_mus.webp" alt="Die Option Teilnehmer hat die Mehrbenutzerstudie verlassen als Trigger in Labvanced" width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Durch die Auswahl dieses Triggers können Sie angeben, welche Art von Aktion passiert, wenn ein Teilnehmer die Mehrbenutzerstudie verlässt.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/left_mus_dialog.webp" alt="Das Dialogfeld des Teilnehmers hat die Mehrbenutzerstudie verlassen Trigger." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
* **Hinweis:** Nach der Auswahl des Triggers Teilnehmer hat die Mehrbenutzerstudie verlassen im Ereignissystem haben Sie die Möglichkeit, [trigger-spezifische Werte](#trigger-user-leaves-experiment-values) über verschiedene Aktionen mit dem [Wertauswahlmenü](#the-value-select-menu) zu verwenden und darauf zuzugreifen.
## Aktionen
Aktionen definieren, was passieren soll, wenn das Ereignis ausgeführt wird. Sie können verwendet werden, um Variablen und Objekt-Eigenschaften zu ändern, Daten aufzuzeichnen, Daten an / von Arrays zu lesen und zu schreiben oder zum nächsten Versuch oder Task zu springen. Oft gibt es mehrere Aktionen pro Ereignis. Mit "ControlActions" kann man logische Operationen (If-Else-Anweisungen), Schleifen, Rückruffunktionen sowie das Verschachteln von Aktionen innerhalb anderer Aktionen verwenden (z.B. eine While-Schleife innerhalb einer If-Anweisung). Daher kann das Ereignissystem als grafische Programmierumgebung betrachtet werden. In dieser Ansicht fungieren Trigger als Funktionsaufrufe, während Aktionen die funktionale Logik beschreiben. Dieser Ansatz garantiert, dass fast jede experimentelle Logik implementiert werden kann, ohne die Verwendung bestimmter programmatischer / syntaktischer Strukturen.
Die Tabelle unten bietet einen einführenden Überblick über die in Labvanced verfügbaren Aktionen:
| Aktionskategorie <img width=200/> | Aktionsoptionen <img width=500/>| Beschreibung <img width=400/> |
| :----: | -- | ----- |
| [`Object Actions`](#object-actions)| <ul><li> [Eigenschaft des Objekts festlegen](#set-object-property-action) </li> <li> [Medienobjekt steuern](#control-media-object-action) </li> <li> [Objekt kopieren](#copy-object-action) </li> <li> [Für jedes Objekt](#foreach-object-action) </li> </ul> | Objektaktionen beziehen sich auf Manipulationen, die an einem Objekt stattfinden, das innerhalb der Aufgabe existiert. |
| [`Variable Actions`](#variable-actions) | <ul><li> [Variable festlegen / aufzeichnen](#set-record-variable-action) </li> <li> [In die Zwischenablage kopieren](#copy-to-clipboard-action) </li> <li>[Zufallszahl ziehen](#draw-random-number-action) </li> <li> [URL-Parameter abrufen](#get-url-parameter-action) </li> <li> [Von / Nach Gerät lesen / schreiben](#read-from-write-to-device-action) </li> <li> [Von / Nach gemeinsam genutzter Variable lesen / schreiben](#read-from-write-to-shared-variable-action) </li> <li> [Mathe & Statistik](#math-statistics-action) </li> <li>[Variablen sofort aufzeichnen](#record-variables-instantly-action) </li> <li>[Gleitender Durchschnittsfilter](#moving-average-filter-action) </li> <li> [Variable verteilen](#distribute-variable-action) </li> </ul> | Jede Aktion, die von einer Variablenwert liest oder eine Variablewert aufzeichnet. |
| [`Array Actions`](#array-actions) | <ul><li> [Aus Array auswählen (lesen)](#select-read-from-array-action) </li> <li> [Array-Einträge hinzufügen / entfernen](#add-remove-array-entries-action) </li> <li> [Array-Eintrag ändern (ersetzen)](#change-replace-array-entry-action) </li> <li> [Array-Einträge mischen](#shuffle-array-entries-action) </li> </ul> | Arrayoperationen beinhalten das Auswählen, Hinzufügen, Entfernen, Ändern und Mischen von Arrays und ihren Einträgen. |
| [`Data Frame Operations`](#data-frame-operations) | <ul><li> [Von / Nach Datenrahmen lesen / schreiben](#read-from-write-to-data-frame-action) </li> <li> [Datenrahmeneinträge mischen](#shuffle-data-frame-entries-action) </li> </ul> | Diese Aktionen sind relevant, wenn Sie in Ihrem Experiment mit .csv-Dateien (Datenrahmen) arbeiten. |
| [`Jump Actions`](#jump-actions) | <ul><li> [Springen zu](#jump-to-action) </li> <li> [Sitzung akzeptieren / beenden](#accept-end-session-action) </li> <li> [Sitzung ablehnen / beenden](#reject-end-session-action) </li> <li>[Weiterleiten zu URL](#redirect-to-url-action)</li></ul> | Ermöglicht Ihnen, im Experiment zu navigieren, indem Sie zu einem bestimmten Abschnitt springen, sowie die Abschnitte der Teilnehmer zu akzeptieren und abzulehnen. |
| [`Control Actions`](#control-actions) | <ul><li> [Anforderungsaktionen (If…Then)](#requirement-actions-if-then-else-if-action) </li><li> [Wiederholte Aktionen (While-Schleife)](#repeated-actions-while-loop-action) </li><li> [Verzögerte Aktionen (Zeit-Rückruf)](#delayed-actions-time-callback-action) </li><li> [Aktionsgruppe](#action-group) </li></ul> | Kontrollaktionen werden verwendet, um spezifische Sequenzen von Ereignissen auszuführen, wie if/then Logik, Schleifen (wie das Abspielen eines wiederholten Tons oder das Blitzen eines Bildes) sowie um eine Verzögerung einzurichten, wann eine Aktion ausgeführt wird. |
| [`API Actions`](#api-actions) | <ul><li> [PostMessage senden](#send-postmessage-action) </li><li> [An Websocket senden](#send-to-websocket-action) </li><li> [An OpenAI senden](#send-to-openai-action) </li></ul> | Bezieht sich auf API-spezifische Aktionen zum Senden von Daten an eine API. |
| [`Code Actions`](#code-actions) | <ul><li> [JavaScript ausführen](#run-javascript-action) </li> <li> [Globale CSS festlegen](#set-global-css-action) </li></ul> | Codeaktionen ermöglichen es Ihnen, mit JavaScript oder CSS zu arbeiten.
| [`Paste Action`](#paste-action) | Aktion einfügen | Ermöglicht Ihnen, eine Aktion einzufügen, die Sie zuvor kopiert haben. |
### Objektaktionen
Objektaktionen beziehen sich auf Manipulationen, die an einem Objekt stattfinden, das innerhalb der Aufgabe existiert. Es gibt mehrere Optionen für Objektaktionen:
* Eigenschaft des Objekts festlegen
* Medienobjekt steuern
* Objekt kopieren
* Für jedes Objekt
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/object_actions_menu.webp" alt="Die Objektaktionsoption in Labvanced." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
#### Aktion Eigenschaft des Objekts festlegen
Mit der Aktion 'Eigenschaft des Objekts festlegen' können Sie das Erscheinungsbild eines Objekts nach Ihren Wünschen ändern, indem Sie das betreffende Objekt, die zu ändernde Eigenschaft und den neuen Wert angeben.
[Mehr erfahren.](/content/learn/de/guide/events/set-object-property-action.html)
#### Aktion Medienobjekt steuern
Früher die separaten Aktionen "Audio/Video steuern" und "Objekt steuern".
Wirkung: Ändert die Wiedergabe von Video-/Audioelementen oder ändert den Zustand von Hochlade-/Aufzeichnungselementen.
Parameter:
* Ziel: Wählen Sie ein Medienobjekt aus
* Effekt: Wählen Sie eine Unteraktion aus
* Audio- oder Videoobjektoptionen:
* Wiedergabe starten: Beginnt mit der Wiedergabe der Video-/Audio-Datei
* Wiedergabe stoppen: Stoppt die Video-/Audio-Datei
* Wiedergabe pausieren: Pausiert die Video-/Audio-Datei
* JumpToTime: ermöglicht es Ihnen, eine Zeit in Millisekunden anzugeben, zu der in der Audio-/Video-Datei gesprungen werden soll
* Stummschalten: schaltet den Ton des Objekts aus
* Wiederherstellen: stellt den Ton des Objekts wieder her
* Audio-, Video- oder Bildschirmaufnahmeobjektoptionen:
* Aufnahme starten: Beginnt mit einer neuen (Audio-)Aufnahme
* Aufnahme stoppen: Stoppt die (Audio-)Aufnahme
* Hochladen starten: Beginnt mit dem Hochladen der Datei
* Aufnahme löschen: Löscht die (Audio-)Aufnahmedaten.
* Wiedergabe starten: Beginnt mit der Wiedergabe der aufgenommenen Datei
* Wiedergabe stoppen: Stoppt die Wiedergabe der aufgenommenen Datei
* Aufnahme pausieren: pausiert die Aufnahme des Objekts
* Aufnahme fortsetzen: setzt die Aufnahme des Objekts fort
* Datei-Upload-Objektoptionen:
* Hochladen starten: beginnt den Hochladeprozess für die ausgewählte Datei
* Datei löschen: Löscht die ausgewählte Datei
* Datei wählen: ermöglicht es dem Teilnehmer, die gewünschte Datei auszuwählen
* Kamera-Snapshot-Objektoptionen:
* Kamera starten: schaltet die Kamera des Teilnehmers ein
* Kamera stoppen: schaltet die Kamera des Teilnehmers aus
* Hochladen starten: beginnt, den Snapshot ins Experiment hochzuladen
* Snapshot machen: erstellt ein Bild mit der Kamera des Teilnehmers
``````markdown
#### Objekt kopieren Aktion
Wirkung: Kopiert ein Objekt und ersetzt die Notwendigkeit für mehrere separate Objekte und doppelte Ereignisse.
Parameter:
* Quelle: Wählen Sie das Objekt im Frame, das kopiert werden soll.
* Anzahl der Kopien: Geben Sie die Anzahl der Kopien des Quellobjekts ein.
* Neuen Elementnamen festlegen: Wählen Sie aus mehreren Parametern, um die Namen der Kopien zu bestimmen.
* Name mit inkrementiertem Postfix zuweisen: Fügt ein numerisches Tag am Ende des neuen Elementnamens hinzu, um die Kopien zu unterscheiden.
* Aktionssequenz: Ermöglicht Ihnen die Auswahl (aus der üblichen Aktionsliste), was mit den Kopien geschehen soll. Wählen Sie "CurrentObject" als Ziel, um die Aktion auf alle Kopien anzuwenden.
#### Objekt für jedes Aktion
Wirkung: Wendet eine Aktion auf mehrere Objekte desselben Typs an.
Parameter:
* Filter: Wählen Sie den Typ des Ziels aus.
* Zusätzlichen Namensfilter zulassen: Geben Sie den Namen des/der Objekte(s) an, die adressiert werden sollen. Bei mehreren Objekten in einem Frame, von denen einige identische Namen haben, funktioniert dies gut.
* Aktionssequenz: Ermöglicht Ihnen die Auswahl (aus der üblichen Aktionsliste), was mit den ausgewählten Elementen geschehen soll. Wählen Sie "CurrentObject" als Ziel, um die Aktion auf alle Elemente anzuwenden, die die oben angegebenen Kriterien erfüllen.
### Variablenaktionen
Variablenaktionen werden verwendet, um Variablenwerte festzulegen oder zu erstellen, Werte aufzuzeichnen und zu definieren, einschließlich Werte über Sitzungen hinweg.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/variable_actions_full.webp" alt="Standort der Variablenaktionen im Ereignissystem" width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Die folgende Tabelle bietet einen einführenden Überblick über alle verfügbaren Variablenaktionsoptionen in Labvanced. Jede von ihnen wird in den kommenden Abschnitten ausführlicher beschrieben.
| Variablenaktionsoption | Beschreibung |
|:-----:|-----|
| [`Set / Record Variable`](#set-record-variable-action) | Schreiben oder Setzen eines Variablenwerts |
| [`Copy to Clipboard`](#copy-to-clipboard-action) | Kopiert einen Variablenwert in die interne Zwischenablage des Computers. |
| [`Draw Random Number`](#draw-random-number-action) | Zieht eine oder mehrere Zufallszahl(en) und speichert sie in einer Variablen |
| [`Get URL Parameter`](#get-url-parameter-action) | Speichert einen Wert aus der eindeutigen URL des Teilnehmers |
| [`Read from / Write to Device`](#read-from-write-to-device-action) <img width=300/> | Liest oder schreibt eine Variable aus/in den Speicher des lokalen Geräts. Diese Aktion speichert Daten auf dem Gerät des Teilnehmers, anstatt die Daten an die Labvanced-Server zu senden. |
| [`Read from / Write to Shared Variable`](#read-from-write-to-shared-variable-action) | Liest von oder schreibt in eine Variable, die über Sitzungen einer Studie geteilt wird. Die Variable kann mit allen Teilnehmern geteilt oder privat für jeden Einzelnen sein. |
| [`Math & Statistics`](#math-statistics-action) | Führt eine mathematische Operation einer Eingangsvariable (Array) durch und speichert das Ergebnis in einer Ausgabevariablen. |
| [`Record Variables Instantly`](#record-variables-instantly-action) | Erstellt einen Snapshot aller Variablenwerte und sendet ihn an den Labvanced-Server. |
| [`Moving Average Filter`](#moving-average-filter-action) | Berechnet einen gleitenden Durchschnitt (ein ständig aktualisierter Durchschnitt der Daten) einer Eingangsvariable und speichert das Ergebnis in einer neuen Variablen. |
| [`Distribute Variable`](#distribute-variable-action) | Sendet einen Wert an andere Teilnehmer. Der Wert wird in einer Variablen gespeichert. |
#### Setzen / Aufzeichnen der Variablen Aktion
Die ‘Setzen / Aufzeichnen der Variablen’ Aktion wird in jedem Experiment in Labvanced verwendet, da sie beschreibt, wie Werte und Verhaltensmaßnahmen gespeichert und aufgezeichnet werden.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/set_record_variable.webp" alt="Standort der Setzen/Aufzeichnen der Variablen Aktion im Ereignissystem" width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Nach dem Klicken auf diese Aktion erscheint das folgende Dialogfeld, in dem Sie angeben können, welche Variable aufgezeichnet werden soll und welchen Wert von Interesse:
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/set_record_variable_options.webp" alt="Optionen zum Setzen/Aufzeichnen der Variablen im Ereignissystem" width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
| Menüelement | Menübereich | Beschreibung |
|:-----:|-----| ---------|
| **`Select`** |  | Nach dem Klicken auf Auswählen geben Sie an, welche Variable den Wert speichern soll. Hier können Sie auch eine neue Variable erstellen. |
| Stiftsymbol |  | Das Stiftsymbol symbolisiert [das Wertauswahlmenü](#the-value-select-menu), das verwendet wird, um die genauen Werte zu definieren und anzugeben, die der ausgewählten Variable (wie im grünen Knopf links vom Gleichheitszeichen (=) angegeben) zugewiesen werden sollen. |
Im folgenden Beispiel haben wir eine neue Variable namens `counter` erstellt und eine arithmetische Option aus dem Wertauswahlmenü verwendet, um den Variablenwert um 1 zu erhöhen (basierend auf dem Trigger, der im vorherigen Schritt definiert wurde).
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/counter_ex.webp" alt="Erstellen einer Zählervariable in Labvanced" width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Das folgende Bild zeichnet die X,Y-Koordinaten der Maus auf, um das Maus-Tracking während einer Studie zu erfassen. Das folgende Bild zeigt, wie drei Aktionen verwendet werden, um die Aufzeichnung des Variablenwerts zu ermöglichen. Die Variable (auf der linken Seite) wird manuell erstellt, während der Wert auf der rechten Seite des Gleichheitszeichens (=) ein [maus-trigger-spezifischer Wert](#trigger-mouse-values) ist, auf den das System beim Aufzeichnen von Werten verweist.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/mouse_track_ex.webp" alt="Erstellen von Variablen für Maus-Tracking und Messen der Koordinaten in Labvanced" width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
**Hinweis:** Die `Set / Record Variable`Aktion wird auch häufig im Zusammenhang mit [`Control Actions`](#control-actions) verwendet, wo Sie Bedingungen mithilfe von 'if / then' und 'while loops' basierend auf Variablenwerten angeben können.
#### In die Zwischenablage kopieren Aktion
Wirkung: Kopiert einen Variablenwert in die interne Zwischenablage des Computers.
#### Zufallszahl zeichnen Aktion
Wirkung: Zieht eine oder mehrere Zufallszahl(en) und speichert sie in einer Variablen.
Parameter:
* Typ: Wählen Sie zwischen kontinuierlichen und diskreten Werten.
* Verteilung: Wählen Sie zwischen gaussianer und gleichmäßiger Verteilung.
* Mehrfache Ziehungen (boolean true/false): Wählen Sie, ob einmal oder mehrmals gezogen wird.
* Anzahl der Ziehungen: Wählen Sie die Anzahl der Ziehungen aus.
* Min: Definieren Sie den Minimalwert für die gleichmäßige Verteilung.
* Max: Definieren Sie den Maximalwert für die gleichmäßige Verteilung.
* Mittelwert: Definieren Sie den Mittelwert für die gaussianer Verteilung.
* Standardabweichung: Definieren Sie die Standardabweichung für die gaussianer Verteilung.
* In Variable speichern: Wählen Sie eine Variable aus, in der die Werte gespeichert werden.
#### URL-Parameter abrufen Aktion
Wirkung: Speichert einen Wert aus der eindeutigen URL des Teilnehmers.
Parameter:
* Parametername: Geben Sie den Namen des gewünschten Parameters ein.
* In Variable speichern: Wählen Sie die Variable aus, in der der Parameterwert gespeichert werden soll.
Diese Aktion könnte mit anderen Aktionen kombiniert werden, um eindeutige URLs für Teilnehmer zu erstellen oder Informationen zu extrahieren, die für die Datenanalyse erforderlich sind.
#### Aus dem/Schreiben auf Gerät Aktion
Wirkung: Liest oder schreibt eine Variable aus/in den Speicher des lokalen Geräts. Diese Aktion speichert Daten auf dem Gerät des Teilnehmers, anstatt die Daten an die Labvanced-Server zu senden.
Parameter:
* Wählen Sie, ob vom lokalen Gerät gelesen oder auf das lokale Gerät geschrieben werden soll.
* Wählen Sie die Variable, die gelesen oder geschrieben werden soll.
Anwendungsfall: Längsschnitt-/Multisitzungsstudien
* Mit dieser Aktion können gerätespezifische Daten von Sitzung zu Sitzung übertragen werden, vorausgesetzt, der gleiche Teilnehmer verwendet dasselbe Gerät für jede Sitzung.
* Zum Beispiel können Sie diese Aktion verwenden, um aufzuzeichnen, welche Bilder jedem Teilnehmer in Sitzung 1 präsentiert wurden, und sicherzustellen, dass ihnen in Sitzung 2 andere Bilder präsentiert werden.
* Erstellen Sie ein Array von Bildern und wählen Sie zufällig einige aus, um sie in jeder Sitzung zu präsentieren.
* Schreiben auf das Gerät: die Indexnummer der in Sitzung 1 präsentierten Bilder.
* Lesen vom Gerät: In Sitzung 2 die Indizes der Bilder aus Sitzung 1 lesen und eine JavaScript-Aktion einfügen, die verhindert, dass diese Indizes für die zweite Sitzung ausgewählt werden.
#### Aus dem/Schreiben in die geteilte Variable Aktion
Wirkung: Liest von oder schreibt in eine Variable, die über Sitzungen einer Studie geteilt wird. Die Variable kann mit allen Teilnehmern geteilt oder privat für jeden Einzelnen sein.
Parameter:
* Wählen Sie die zu synchronisierende Variable. Muss entweder skalar oder ein Array sein.
* Erweiterte Optionen
* Speicher-Schlüssel: Wählen Sie den Namen einer Variable, die als Schlüssel zum Zugriff auf die synchronisierte Variable dient.
* Lese- oder Schreibmethode:
* Lesen, ändern, dann die geteilte Variable schreiben: liest die Variable, ändert sie, und sendet dann die Variable an die Studie.
* Nur geteilten Wert vom Server lesen: ruft die Variable ab, die innerhalb der Studie geteilt wird, ändert sie jedoch nicht.
* Nur Variable auf den Server schreiben: ändert die geteilte Variable, zeigt sie jedoch nicht den Teilnehmern an.
* Werte zwischen verschiedenen Teilnehmern (nicht nur zwischen Sitzungen) teilen: erlaubt es Teilnehmern, die synchronisierten Variablenwerte über Sitzungen hinweg zu sehen. Diese Option ist standardmäßig ausgewählt, kann jedoch durch Klicken auf das Kontrollkästchen abgewählt werden.
* Aktionssequenz:
* Wählen Sie aus, was mit der geteilten/synchronisierten Variable aus der Liste aller verfügbaren Aktionen geschieht.
```
Use Case: Längsschnitt-/Multi-Session-Studien
* Mit dieser Aktion können teilnehmerspezifische Daten von Sitzung zu Sitzung übertragen und zwischen Teilnehmern über Sitzungen hinweg geteilt werden.
* Zum Beispiel können Sie diese Aktion verwenden, um eine Punktzahl in einem Test aufzuzeichnen und dem Teilnehmer dann zu ermöglichen, seine Punktzahl mit der Durchschnittspunktzahl der anderen Teilnehmer zu vergleichen, die den Test abgeschlossen haben.
* Ein weiteres Beispiel (ähnlich der Aktion 'Von/Zu Gerät lesen/schreiben') besteht darin, dass Teilnehmer 5 Bilder auswählen, die ihnen gefallen, eine Aufgabe ausführen und diese 5 Bilder später in einer anderen Sitzung erneut präsentieren. Der Unterschied ist, dass diese Aktion verwendet werden kann, um anderen Teilnehmern die ausgewählten Bilder zu zeigen oder um diese Bilder aus den verfügbaren Optionen eines anderen Teilnehmers auszuschließen.
#### Mathematik- & Statistik-Aktion
Effekt: Führt eine mathematische Operation auf einer Eingangsvariablen (Array) aus und speichert das Ergebnis in einer Ausgangsvariablen.
Parameter:
* Typ: Wählen Sie zwischen Array-Operationen, linearer Algebra und statistischen Tests
* Operation: Wählen Sie eine mathematische Operation (z.B. Summe, min, stdev, usw.)
* Eingangs-Array: Wählen Sie eine Eingangsvariable (Array), auf der die Operation ausgeführt wird
* Parameter: Einige Operationen haben zusätzliche Parameter.
* Ausgabe: Wählen Sie eine Ausgangsvariable, in der das Ergebnis gespeichert wird.
#### Variablen Sofort aufnehmen-Aktion
Effekt: Erstellt einen Snapshot aller Variablenwerte und sendet diesen an den Labvanced-Server.
Parameter: Keine
#### Gleitender Durchschnittsfilter-Aktion
Effekt: Berechnet einen gleitenden Durchschnitt (einen ständig aktualisierten Durchschnitt der Daten) eines Eingangs und speichert das Ergebnis in einer neuen Variablen.
Parameter:
* Filterform: Wählen Sie den Filtertyp
* Einfacher gleitender Durchschnitt: Berechnet einen einfachen gleitenden Durchschnitt, bei dem alle Proben das gleiche Gewicht haben.
* Linear gewichteter gleitender Durchschnitt: Wichtet die Proben so, dass die Gewichte der Proben linear abnehmen.
* Exponentieller gleitender Durchschnitt: Wichtet die Proben, sodass die Gewichte der Proben exponentiell abnehmen.
* Anzahl der Proben: Bestimmt, wie viele Proben pro Schritt verwendet werden.
* Eingabe: Wählen Sie eine Eingangsvariable (Array), auf der der gleitende Durchschnitt berechnet wird
* Ausgabe: Wählen Sie eine Ausgangsvariable, in der das Ergebnis gespeichert wird.
#### Variable verteilen-Aktion
Die Verteilungsvariablen-Aktion ist essentiell für [Multi-User-Studien in Labvanced.](https://www.labvanced.com/content/technology/de/multi-user-psychology-studies/) Mit dieser Aktion kann ein Variablenwert zwischen Teilnehmern geteilt werden, was im Wesentlichen bedeutet, dass Informationen (einschließlich Stimuli-Standorte und alle Änderungen) auf den Bildschirmen der Teilnehmer angezeigt werden können.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/distribute_variable_menu.webp" alt="Die Verteilungsvariablen-Aktion im Labvanced-Aktionsmenü." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Nach Auswahl dieser Aktion erscheint das folgende Dialogfeld, in dem Sie angeben können, welcher Variablenwert zwischen den Teilnehmern verteilt wird.
Das Bild unten zeigt, wie das funktionale Dialogfeld der Verteilungsvariablen-Aktion aussieht, wenn alle Menüelemente ausgefüllt sind. In diesem Beispiel wird die Verteilungsvariablen-Aktion verwendet, um einen Chat zwischen zwei Teilnehmern zu erstellen, indem der Wert einer Variablen aus einem Eingabefeld-Objekt verteilt wird.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/distribute_variable_example.webp" alt="Die Verteilungsvariablen-Aktion wird verwendet, wobei alle Menüoptionen als Beispiel eingestellt sind." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Schauen Sie sich diese Demo an, die die Verteilungsvariablen- und Chatbox-Funktion hier integriert: [Bildbeschreibung Aufgabe mit Chat-Add-On.](https://www.labvanced.com/page/library/3008)
Eine vollständige Erklärung der Dialogmenüelemente finden Sie unten:
| Menüelement | Menübereich | Optionen und Beschreibungen zur Verteilungsvariablen-Aktion |
|:-----:|-----| ---------|
| **`Distribute value to`** |  | Wählen Sie aus, an welche anderen Teilnehmer der Wert gesendet werden soll. <ul><li>**Alle Teilnehmer:** Senden Sie diesen Wert an alle Teilnehmer</li><li>**Ausgewählte Teilnehmer:** Senden Sie den Wert an ausgewählte Teilnehmer. </li></ul> |
| **`Choose target variable and value`** |  | <ul><li> **Zielvariable:** Wählen Sie eine Zielvariable, in der der Wert gespeichert wird. </li><li>**Wert:** Bestimmen Sie den Wert, der an andere Teilnehmer gesendet werden soll.</li> </ul>|
| **`Block`** |  | Wenn aktiviert, kann die Zielvariable nicht geändert werden, bis die aktuelle Wertverteilung abgeschlossen ist. |
| **`Rate Limit Strategy`**|  | Die Ratenbegrenzungsstrategie ist eine Möglichkeit, Ihr Experiment vor einer Überlastung des Servers zu schützen und dient als Vorsichtsstrategie zur Steuerung der Rate, mit der Anfragen (d.h. Updates über die verteilte Variable) an den Server gesendet werden. Die folgenden Strategieoptionen sind verfügbar: <ul><li>**Debounce:** Wenn diese Aktion mehr als einmal pro 100 ms Zeitfenster ausgeführt wird, werden neue Servernachrichten „debounced“ (nur die letzte Nachricht wird nach einem Intervall von 100 ms ohne Ausführung dieser Aktion gesendet).</li><li>**Throttle:** Wenn diese Aktion mehr als einmal pro 100 ms Zeitfenster ausgeführt wird, werden neue Nachrichten gedrosselt (d.h., nachdem 100 ms seit der letzten gesendeten Nachricht vergangen sind, wird nur die zuletzt gesendete Nachricht verteilt).</li><li>**Discard:** Wenn diese Aktion mehr als einmal pro 100 ms Zeitfenster ausgeführt wird, werden neue Nachrichten innerhalb dieses 100 ms-Fensters verworfen.</li><li>**Queue:** Wenn diese Aktion mehr als einmal pro 100 ms Zeitfenster ausgeführt wird, werden neue Variablenwerte in eine Warteschlange gestellt (bis zu einer maximalen Warteschlangenbelegung von 10 Nachrichten).</li></ul> |
### Array-Aktionen
#### Aus Array auswählen (lesen) Aktion
Effekt: Wird eine Variable aus einem Array auslesen und diesen Wert in einer Skalarkvariable speichern.
Parameter:
* Array-Variable: Eingangsarray zum Auslesen des Wertes.
* Indextyp: Bestimmt, welche Art von Index verwendet wird.
* Fest: Verwenden Sie einen festen Index für die Leseoperation. In diesem Fall geben Sie die Position ein, von der die Informationen ausgelesen werden sollen (1-basiert).
* Variabel: Verwenden Sie eine numerische Variable als Index für die Leseoperation. In diesem Fall wählen Sie eine skalare numerische Variable, um die Position des Auslesens zu bestimmen.
* Ende des Arrays: Vom Ende des Arrays lesen.
* Ausgangsvariable: Wählen Sie eine skalare Variable, in der der ausgelesene Wert gespeichert wird.
#### Einträge zum Array hinzufügen / entfernen Aktion
Effekt: Wird Einträge aus / in ein Array hinzufügen und/oder entfernen.
Parameter:
* Array-Variable: Array-Variable, in der die Hinzufügen- oder Entfernen-Operation ausgeführt werden soll.
* Indextyp: Bestimmt, welche Art von Index verwendet wird.
* Fest: Verwenden Sie einen festen Index für die Einfüge-/Löschoperation. In diesem Fall geben Sie die Array-Position an, an der die Einträge eingefügt / gelöscht werden sollen. (1-basiert).
* Variabel: Verwenden Sie eine numerische Variable als Index für die Einfüge-/Löschoperation. In diesem Fall wählen Sie eine skalare numerische Variable, um zu bestimmen, wo die Einträge eingefügt / gelöscht werden sollen.
* Ende des Arrays: Von Ende des Arrays einfügen / löschen.
* Anzahl der zu löschenden Einträge: Entfernt die Array-Einträge (vor dem Einfügen neuer Einträge) beginnend an der definierten Indexposition. 0 bedeutet, dass keine Werte entfernt werden.
* Variable(n) zum Einfügen: Wählen Sie eine oder mehrere skalare Variable(n), die an der definierten Indexposition zur Array-Variable hinzugefügt werden.
#### Eintrag im Array ändern (ersetzen) Aktion
Effekt: Wird einen Wert innerhalb eines Arrays ersetzen / ändern.
Parameter:
* Array-Variable: Array-Variable, in der ein Wert modifiziert werden soll
* Indextyp: Bestimmt, welche Art von Index verwendet wird.
* Fest: Verwenden Sie einen festen Index für die Ersetzoperation. In diesem Fall geben Sie die Array-Position an, die geändert werden soll (1-basiert).
* Variabel: Verwenden Sie eine numerische Variable als Index für die Ersetzoperation. In diesem Fall wählen Sie eine skalare numerische Variable, um die Position der Ersetzoperation zu bestimmen.
* Ende des Arrays: Ersetzen Sie den letzten Eintrag im Array.
* Eingangsvariable: Wählen Sie eine (skalare) Variable, die den neuen Wert enthält.
#### Array-Einträge mischen Aktion
Effekt: Wird die Einträge / Reihenfolge innerhalb eines Arrays neu mischen.
Parameter: Keine
### Datenrahmenoperationen
#### Aus Datenrahmen lesen / in Datenrahmen schreiben Aktion
Effekt: Liest Werte aus einem Datenrahmen aus oder schreibt Werte in einen Datenrahmen und speichert sie in einer neuen Array-Variable.
Parameter:
* Datenrahmenvariable: Wählen Sie die Variable des Datenrahmens, die gelesen werden soll.
* Lesen oder Schreiben: Wählen Sie, ob Sie aus dem ausgewählten Datenrahmen lesen oder in den ausgewählten Datenrahmen schreiben möchten.
* Zeile oder Spalte: Wählen Sie, wie die Daten gelesen werden sollen.
* Indextyp: Wählen Sie den Typ der Indexvariable, die zum Lesen des Datenrahmens verwendet wird. Kann fest, variabel oder die letzte Zeile sein.
* Indexvariable: Wählen Sie die Variable aus, die als Index zum Lesen des Datenrahmens verwendet wird.
* Ausgangsvariable: Wählen Sie die Variable aus, in der die gelesenen/geschriebenen Daten als Ausgabe gespeichert werden. Muss eine Array-Variable sein.```
#### Shuffle Data Frame Entries Action
Effect: Mischt die Reihenfolge der Einträge im Datenrahmen.
Parameters:
* Wählen Sie den Datenrahmen aus, der gemischt werden soll.
* Wählen Sie aus, ob der Datenrahmen nach Zeilen oder Spalten gemischt werden soll.
### Jump Actions
#### Jump To Action
Effect: "Springt" den Teilnehmer zu einem anderen Schritt im Experiment. Diese Aktion kann die Reihenfolge von Trials und Aufgaben in einem Experiment ändern und kann verwendet werden, um individuelle experimentelle Logik für jeden Teilnehmer zu erstellen.
Parameters:
* Jump To: Bestimmt, wo im Experiment gesprungen werden soll.
* Next Frame: Springt zum nächsten Frame. Wenn keine weiteren Frames in einem Trial definiert sind, springt es zum ersten Frame des nächsten Trials.
* Next Trial: Springt zum nächsten Trial. Wenn keine weiteren Trials definiert sind, springt es zum ersten Trial der nächsten Aufgabe.
* Next Task: Springt zur nächsten Aufgabe. Wenn keine weiteren Aufgaben definiert sind, springt es zur ersten Aufgabe des nächsten Blocks.
* Next Block: Springt zum nächsten Block. Wenn keine weiteren Blöcke definiert sind, endet die Sitzung.
* Previous Frame: Springt zum vorherigen Frame. Wenn keine vorherigen Frames vorhanden sind, wird die Aktion nicht ausgeführt.
* Specific Frame: Springt zu einem bestimmten Frame. Benutzer wählen direkt den Frame, zu dem gesprungen werden soll.
* Specific Trial: Springt zu einem bestimmten Trial. Benutzer wählen direkt die Trial-Nummer, zu der gesprungen werden soll.
* Specific Task: Springt zur ersten Instanz der angegebenen Aufgabe im aktuellen Block. Benutzer wählen direkt die Aufgabe, zu der gesprungen werden soll.
* Specific Block: Springt zur ersten Instanz des angegebenen Blocks. Benutzer wählen direkt den Block, zu dem gesprungen werden soll.
* Check Required Answers Before: Wenn aktiviert, prüft das Experiment, ob alle erforderlichen Antworten bereits beantwortet wurden. Andernfalls wird die Sprungaktion nicht ausgeführt.
#### Accept/End Session Action
Effect: Nimmt die Daten des Teilnehmers an, beendet die Aufzeichnungssitzung und zeigt den Crowdsourcing-Code an.
Parameters:
* Record trial data before finish session: Wenn aktiviert, werden die aktuellsten Trial-Daten gespeichert (an den Server gesendet), bevor die Studie verlassen wird.
* Show default ending page: Wenn aktiviert, wird die standardmäßige Labvanced-Endseite angezeigt. Wenn es sich um eine Crowdsourcing-Sitzung handelt (Crowdsourcing-Link wurde verwendet), wird der Entschädigungscode dem Teilnehmer angezeigt. Wenn deaktiviert, wird das Experiment nach dem Anzeigen des aktuellen Frames beendet und die standardmäßige Endseite mit Entschädigungscode wird nicht angezeigt.
#### Reject/End Session Action
Effect: Beendet die Aufzeichnungssitzung, markiert die Daten des Teilnehmers NICHT als vollständig und zeigt NICHT die standardmäßige Endseite mit Entschädigungscode an.
Wenn Sie diese Aktion verwenden, um die Daten eines Teilnehmers abzulehnen, sollten die Benutzer eine angemessene Nachricht an die Teilnehmer anzeigen, die den Grund erklärt, warum sie nicht für ihre Zeit belohnt werden.
Parameters: None
#### Redirect to URL Action
Effect: Leitet den Teilnehmer zu einer bestimmten URL weiter.
Note: Die URL muss zu Beginn das https:// enthalten, damit diese Aktion funktioniert.
### Control Actions
#### Requirement Actions (If... Then... Else If) Action
Effect: Bewertet eine If-Then-Aussage und führt eine Reihe von Aktionen abhängig aus. Jede If / Else-If-Anweisung besteht aus geschachtelten UND / ODER-Vergleichen, um zu bewerten, ob alle Anforderungen erfüllt sind (Aussage ist wahr) oder nicht (Aussage ist falsch). Wenn die Aussage wahr ist, werden die Aktionen unter "Dann" ausgeführt.
Parameters:
* Add Requirement: Fügen Sie eine neue Anforderung zu einer Aussage hinzu. Das "Wert-Auswahl"-Menü wird auf beiden Seiten angezeigt, um einen logischen Vergleich zu ermöglichen. In der Mitte der Aussage können Sie auswählen, wie beide Seiten verglichen werden sollen (z.B. gleich, kleiner als, ungleich, usw.).
* Add OR Group: Nur eine der Anforderungen innerhalb einer ODER-Gruppe muss wahr sein, damit die gesamte Gruppe wahr ist. Fügen Sie eine ODER-Gruppe hinzu, wenn die Unteraktionen in mehreren Fällen ausgeführt werden sollen.
* Add AND Group: Alle Anforderungen innerhalb einer UND-Gruppe müssen wahr sein, damit die gesamte Gruppe wahr ist. Fügen Sie eine UND-Gruppe hinzu, wenn die Unteraktionen nur ausgeführt werden sollen, wenn mehrere Anforderungen erfüllt sind.
* Action Sequence: Jede If / Else-If-Anweisung hat eine Liste von Aktionen, die unter "Dann" definiert sind. Die Aktionssequenz listet alle Aktionen für eine bestimmte If / Else-If-Anweisung auf. Eine neue Aktion kann über das Symbol "Aktion hinzufügen" hinzugefügt werden. Die Aktionssequenz wird nur ausgeführt, wenn die Anforderungen der zugehörigen If / Else-if-Anweisung erfüllt sind.
* Add Else-If Case: Die Anforderungsaktion kann aus mehreren separaten If / Else-If --> Dann-Aussagen bestehen. Es kann jedoch nur eine Aussage ausgeführt werden. Wenn eine If / Else-If-Aussage positiv bewertet wird (wahr zurückgibt), werden die Aktionen im Dann-Block ausgeführt und der Rest der Anforderungsaktion wird übersprungen.
* Add Else Case (true / false): Wenn aktiviert, wird eine Standard-/Fallback-Option zur Anforderungsaktion hinzugefügt. Wenn keine der If / Else-If-Aussagen ausgeführt wird (wahr zurückgibt), werden die im Else-Case definierten Aktionen ausgeführt.
#### Repeated Actions (While Loop) Action
Effect: Führt wiederholt eine Reihe von Aktionen entweder sofort oder innerhalb eines definierten Intervalls aus. Eine Stop-Bedingung kann angegeben werden, sodass die Schleifenausführung gestoppt wird.
Parameters:
* Execution Type: Wählen Sie zwischen sofortiger Ausführung oder zeitgesteuerter Ausführung
* Execute complete loop: Dies führt die Schleife kontinuierlich aus, bis die Stop-Bedingung erfüllt ist.
* Execute every ... ms: Dies führt die Schleife mit einem definierten Intervall aus (z.B. wird die Schleife alle 50 ms ausgeführt).
* Define the number of loops: Wenn "Execute every ... ms" ausgewählt ist, haben die Benutzer die Möglichkeit, einen numerischen Ganzzahlwert für die Anzahl der Male zuzuweisen, die die Schleife ausgeführt werden soll. Dies ersetzt die Notwendigkeit, eine Stop-Bedingung zu definieren.
* Execution Interval: Dies bestimmt das Ausführungsintervall.
* Start immediately (true / false): Wenn aktiviert, wird die Schleife sofort ausgeführt. Wenn deaktiviert, wird die Schleife beim nächsten Ausführungsintervall gestartet.
* Allow multiple starts (true / false): Wenn aktiviert, können mehrere Schleifeninstanzen parallel gestartet werden. Wenn deaktiviert, kann immer nur eine Schleifeninstanz gleichzeitig ausgeführt werden.
* Enable stop condition (true / false): Wenn aktiviert, kann eine Stop-Bedingung für die Schleife angegeben werden.
* Stop Condition: Die Stop-Bedingung kann verwendet werden, um einen logischen Ausdruck anzugeben, wann die Schleifenausführung gestoppt werden soll. Ähnlich den If / Else-If-Aussagen kann man UND-Gruppen, ODER-Gruppen und Anforderungen für den logischen Vergleich kombinieren.
* Action Sequence: Die Aktionssequenz listet alle Aktionen, die bei jeder Iteration der Schleife ausgeführt werden. Eine neue Aktion kann über das Symbol "Aktion hinzufügen" hinzugefügt werden.
#### Delayed Actions (Time Callback) Action
Effect: Führt eine Reihe von Aktionen nach einer bestimmten zeitlichen Verzögerung aus
Parameters:
* Delay Type: Wählen Sie zwischen einer festen oder variablen Verzögerung
* Fixed Delay: Die Aktionen werden nach einer festen Verzögerung ausgeführt.
* Variable Delay: Die Aktionen werden nach einer Verzögerung ausgeführt, die in einer (numerischen) Variable angegeben ist.
* Delay: Die Länge der Verzögerung in Millisekunden (ms).
* Action Sequence: Die Aktionssequenz listet alle Aktionen auf, die nach der angegebenen zeitlichen Verzögerung ausgeführt werden. Eine neue Aktion kann über das Symbol "Aktion hinzufügen" hinzugefügt werden.
#### Action Group
Aktionen können auch in **Aktionsgruppen** organisiert werden. Aktionsgruppen ermöglichen es Ihnen, bestimmte Aktionen für eine bessere visuelle Struktur zusammenzufassen, aber auch, wenn Sie mehrere Aktionen gleichzeitig kopieren, duplizieren oder löschen möchten.
[Learn more.](/content/learn/de/guide/events/action-group.html)
### API Actions
Wenn Sie Daten von einem externen Server in Labvanced senden oder kommunizieren müssen, können 'API Actions' und [‘API Triggers’](/content/learn/de/guide/task-editor/event-system.html#api-triggers) verwendet werden. Ihnen stehen die folgenden Aktionen in dieser Kategorie zur Verfügung:
* Send PostMessage
* Send To Websocket
* Send to OpenAI
Damit diese Aktionen 'verfügbar' oder nutzbar sind, müssen Sie einen API-Schlüssel im [`Settings`](/content/learn/de/guide/settings/) Tab eingeben.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/api_menu.webp" alt="Die API-Aktion im Labvanced-Aktionsmenü." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
#### Send PostMessage Action
Die `Send PostMessage`-Aktion sendet eine Nachricht von einem laufenden Labvanced-Experiment an ein externes Ziel, wie z.B. eine übergeordnete Webseite oder ein eingebettetes Frame, unter Verwendung der postMessage-API des Browsers.
[Learn more.](/content/learn/de/guide/events/send-postmessage-action.html)
#### Send to Websocket Action
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/websocket_a_menu.webp" alt="Die Send to Websocket-Aktion im Labvanced-Aktionsmenü." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Wenn Sie diese Aktion auswählen, erscheinen die folgenden Optionen:
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/websocket_action_m.webp" alt="Optionen für die Send to Websocket-Aktion." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Das oben genannte Beispiel und die vollständige Ereignisstruktur können hier erreicht werden: [https://www.labvanced.com/page/library/51053](https://www.labvanced.com/page/library/51053), indem Sie auf 'Untersuchen' klicken.
| Menu Item | Description |
|----------|----------|
| **Send To:** | Gibt die Websocket-Adresse an, die im [`Settings`](/content/learn/de/guide/settings/) Tab unter `Special Features` aufgeführt ist. |
| **Trigger / message to send:** | Geben Sie den Trigger oder die Nachricht an, die gesendet werden soll. |
| **Send Variable (optional):** | Geben Sie die Variable an, die ebenfalls als Teil der Aktion gesendet werden kann. |
**[Für weitere Informationen über den API-Zugriff besuchen Sie bitte diese Seite.](https://www.labvanced.com/content/learn/de/guide/api-access/)**
#### Send to OpenAI Action
Die 'Send to OpenAI'-Aktion ermöglicht es Ihnen, Informationen, wie z.B. einen String-Eingabewert, an OpenAI zu senden. Bitte beachten Sie, dass Sie für diese Option Ihren API-Schlüssel im [`Settings`](/content/learn/de/guide/settings/) Tab unter `Special Features` auflisten müssen.
``````markdown
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/openai_a_menu.webp" alt="Die Send to OpenAI-Aktion im Labvanced-Aktionsmenü." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Die folgenden Optionen werden angezeigt, wenn Sie dieses Ereignis anklicken:
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/openai_dialog_action.webp" alt="Optionen für die Send to OpenAI-Aktion." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Hier ist ein funktionales Beispiel, wie dieses Ereignis aussieht, wenn alle notwendigen Informationen bereitgestellt werden:
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/openai_ex_action.webp" alt="Beispiel für die Verwendung der Send to OpenAI-Aktion." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Für ein besseres Verständnis, wie Sie diese Funktion nutzen können, und um sie in Aktion zu sehen, zögern Sie bitte nicht, uns für eine Demo zu kontaktieren, indem Sie [dieses Kontaktformular](https://www.labvanced.com/?openCallDialog=true) ausfüllen.
**HINWEIS:** Beziehen Sie sich auch auf [diesen Leitfaden](/content/learn/de/walkthroughs/2024-09-chatgpt-study-example/), in dem wir eine Studie Schritt für Schritt aufbauen, ChatGPT in eine Studie integrieren und diese Aktion verwenden.
Hier ist eine tiefere Erklärung der Felder, die unter der Aktion 'Send to OpenAI' enthalten sind:
| Menüelement| Menübereich | Optionen der 'Send to OpenAI'-Aktion |
|:-----:|----| ----------|
| **`Model Type`** |  | <img width=500/> Gibt das AI-Modell an, das verwendet werden soll. <br><br> |
| **`Chat History Dataframe`** |  | Verknüpfung mit einer Datenrahmenvariablen mit zwei Spalten. Die erste Spalte bezeichnet die „Rolle“ und die zweite Spalte die „Chat-Nachricht“. Die Werte aus der Aktion werden automatisch an den hier verknüpften Datenrahmen angefügt. <br><br> Der Datenrahmen kann auch mit Datenrahmenaktionen bearbeitet werden. Für weitere Informationen siehe bitte die [Dokumentation von OpenAI.](https://platform.openai.com/docs/api-reference/chat/create) |
| **`Insert Message ‘+’ `** |  | Durch Klicken darauf erscheint das Dialogfeld für Variablen. Sie müssen angeben, welcher „Variablen“-Wert an OpenAI gesendet wird, sowie die „Rolle“ der zugehörigen Nachricht:<ul><li>**system:** beschreibt das hochrangige ChatGPT-System </li><li>**user:** der Teilnehmer </li><li>**assistant:** bezieht sich auf eine spezifische Unterrolle, die im System erstellt wurde </li></ul> |
Da OpenAI täglich weiterentwickelt wird, überprüfen Sie bitte die [Dokumentation von OpenAI](https://platform.openai.com/docs/api-reference/chat/create) für weitere Klarstellungen.
### Code-Aktionen
In einigen Fällen erfordert Ihr Experiment benutzerdefinierten Code. Mit diesen Aktionen können Sie genau das tun! Die folgenden Optionen stehen im Menü „Code-Aktionen“ zur Verfügung:
* JavaScript ausführen
* Globales CSS festlegen
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/code_actions_menu.webp" alt="Die Code-Aktionen im Labvanced-Aktionsmenü." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
#### JavaScript-Aktion ausführen
Die Aktion „JavaScript ausführen“ ermöglicht es Ihnen, bestimmte Ereignisse zu programmieren und Labvanced-Variablen in Ihrer Studie zu lesen/einzustellen, indem Sie benutzerdefiniertes JavaScript eingeben, das als Aktion ausgeführt wird, wenn es ausgelöst wird.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/run_js.webp" alt="Die JavaScript-Aktion im Labvanced-Aktionsmenü." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Wenn die obige Aktion „JavaScript ausführen“ ausgewählt wird, sehen Sie einen Bereich (einen Code-Editor), in dem der JavaScript-Code geschrieben werden sollte, sowie Anweisungen zur Verwendung:
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/js_editor.webp" alt="Der JavaScript-Code-Editor in Labvanced." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
#### Globales CSS festlegen-Aktion
Mit der Aktion „Globales CSS festlegen“ können Sie benutzerdefinierten CSS-Code verwenden, um einen Aspekt der Studie beim Auslösen zu ändern.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/global_css.webp" alt="Die Aktion Globales CSS festlegen im Labvanced-Aktionsmenü." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Das folgende Feld öffnet sich beim Klicken auf diese Aktion:
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/css_editor.webp" alt="Der CSS-Code-Editor in Labvanced." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Ein Beispiel für die Verwendung der Aktion „Globales CSS festlegen“ wäre, die Hintergrundfarbe der Studie zu ändern, wenn ein Teilnehmer eine bestimmte Farbe aus einer Multiple-Choice-Frage auswählt.
### Aktion Einfügen
Diese Option ermöglicht es Ihnen, eine Aktion einzufügen, die Sie zuvor erstellt und kopiert haben. Sie ermöglicht es Ihnen, schneller zu arbeiten, wenn Sie Ihr Experiment entwerfen, damit Sie nicht immer wieder dieselben Elemente auswählen müssen. Wenn Sie beispielsweise ein Ereignis haben, das einem bereits vorhandenen ähnelt, können Sie es einfach kopieren, einfügen und ändern, anstatt es von Grund auf neu zu erstellen.
## Das Wert-Auswahlmenü
<img align="left" width="10%" style="padding: 10px;" height="auto" loading ="lazy" src="/content_imgs/learn/guide/task-editor/imgs/events/value_select_icon.webp">Wenn Sie mit bestimmten Ereignissen arbeiten, bemerken Sie, dass ein Stiftsymbol erscheint. Dies wird als Wert-Auswahlmenü bezeichnet, da es Ihnen ermöglicht, auszuwählen und anzugeben, welche Art von Werten aufgezeichnet oder verfolgt werden sollen. Es ist eine sehr leistungsstarke und wichtige Option, die Sie für Ihr experimentelles Design und Ihre Einrichtung verwenden werden.
Dieses Stiftsymbol / Wert-Auswahlmenü erscheint an verschiedenen Stellen für bestimmte Aktionen im Ereignissystem, wie die Aktion Variable festlegen / aufzeichnen, die Aktion Objekt-Eigenschaft festlegen und die Anforderung (Wenn... Dann) Aktion, wie unten gezeigt.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/value_select_menu_locations.webp" alt="Der Wert-Auswahlstandort in Labvanced." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Durch Klicken auf das Stiftsymbol gelangen Sie zu einem Dropdown-Menü, in dem Sie den Wert angeben, der ausgelesen oder geschrieben werden soll. **Das Dropdown-Menü beginnt immer mit einer auslöserspezifischen Wertoption und listet dann die anderen 5 Kategorien (Aktuelle Zeit, Konstantwert, Variable, Rahmen / Aufgabe / Option und Operationen) auf, von denen jede ihre eigenen Optionen hat.** Diese werden weiter unten beschrieben.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/value_select_menu.webp" alt="Das Wert-Auswahlmenü in Labvanced" width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Das obige Bild zeigt, wie das Wert-Auswahlmenü aussieht, wenn ein Maus-Trigger verwendet wird. Wie Sie sehen können, beginnt das erste Menüelement links mit einer auslöserspezifischen Kategorie und geht dann zu den anderen 5 Kategorien über (Aktuelle Zeit usw.).
### Menüoptionen
Die Tabelle unten erläutert weiter die Kategorien und Optionen:
| Kategorie | Optionen | Beschreibung |
|:---:|---|---|
| [`Trigger-specific`](#trigger-specific-values) | Hängt vom Auslösertype ab, den Sie zuvor für das Ereignis ausgewählt haben. | Basierend auf dem Auslöser, den Sie für ein Ereignis ausgewählt haben, erhalten Sie eine spezifische Liste von Optionen, die am oberen Rand des Wert-Auswahlmenüs erscheinen, aus denen Sie wählen können. Bitte beziehen Sie sich auf den Abschnitt über [Auslöserspezifische Werte](#trigger-specific-values), um eine vollständige Liste der Optionen und Beschreibungen zu sehen. |
| [`Current Time`](#current-time-values) | <ul><li> [UNIX-Zeitstempel](#current-time-unix-timestamp) </li><li> [Zeit seit Beginn des Rahmens](#current-time-time-from-frame-onset) </li> </ul> | Messen und Abrufen von Zeitwerten. |
| [`Constant Value`](#constant-values) | <ul><li> Zeichenfolge </li><li> Numerisch </li><li> Boolean </li><li> Kategorisch </li><li> Datum</li><li> Zeit </li><li> Farbe </li> </ul> | Weisen Sie konstante Werte basierend auf der Art der benötigten Variablen zu, wie z.B. Zeichenfolge oder numerisch. Diese werden manchmal in Kombination mit anderen Optionen wie [`Arithmetic`](#arithmetic) verwendet, um Zähler zu erstellen. |
| [`Variable`](#variable-values) | <ul> <li> Variable auswählen </li><li> Wert aus Array auswählen </li><li> Wert aus Datenrahmen auswählen </li></ul> | Geben Sie eine Variable an oder verweisen Sie darauf oder wählen Sie einen Wert aus einem Array oder Datenrahmen aus. |
| [`Frame / Task / Object`](#frame-task-object-values) | <ul><li> Objekt-Eigenschaft </li><li> Rahmen </li><li> Augenverfolgung </li><li> Gerät </li> </ul> | Ermöglicht es Ihnen, Werte abzurufen, die mit Objekteigenschaften, dem Rahmen, der Augenverfolgung (falls aktiviert) und dem Gerät (Bildschirmaktualisierungsrate) verbunden sind. |
| [`Operations`](#operations) | <ul><li>Arithmetik </li><li> Zeichenfolgenoperation </li><li> Mathematik-Operation </li> </ul> | Verwenden Sie Operationen, um angegebene Änderungen an Ihren Variablen vorzunehmen, wie z.B. Kombinieren von Variablenwerten, Transformieren von Zeichenfolgen, sodass sie alle klein geschrieben sind, oder Ausführen mathematischer Operationen. |
### Aktuelle Zeitwerte
Mit der Option „Aktuelle Zeit“ können Sie Werte in Bezug auf die Zeit aufzeichnen oder darauf verweisen.
Die folgenden Optionen sind verfügbar:
* [UNIX-Zeitstempel](#current-time-unix-timestamp)
* [Zeit seit Beginn des Rahmens](#current-time-time-from-frame-onset)
```
#### Aktuelle Zeit: UNIX-Zeitstempel
Dieser Wert erfasst einen Zeitstempel im UNIX-Format in Millisekunden.
#### Aktuelle Zeit: Zeit seit dem Beginn des Frames
Dieser Wert erfasst die seit dem Frame-Beginn vergangene Zeit. Meistens entspricht dies der Reaktionszeit.
### Konstante Werte
Weisen Sie konstante Werte basierend auf dem Typ der benötigten Variablen zu, wie z.B. Zeichenfolge oder numerisch. Diese werden manchmal in Kombination mit anderen Optionen wie [`Arithmetic`](#arithmetic) verwendet, um Zähler zu erstellen.
Die folgenden Optionen sind verfügbar:
* [Zeichenfolge](#constant-string)
* [Numerisch](#constant-numeric)
* [Boolesch](#constant-boolean)
* [Kategorisch](#constant-categorical)
* [Datum](#constant-date)
* [Zeit](#constant-time)
* [Farbe](#constant-color)
#### Konstante: Zeichenfolge
Weist einen Zeichenfolgen-/Textwert zu.
#### Konstante: Numerisch
Weist einen numerischen/ Zahlenwert zu.
#### Konstante: Boolesch
Weist einen Wert von wahr oder falsch zu.
#### Konstante: Kategorisch
Weist einen Kategorienwert (hauptsächlich für Faktoren) zu.
#### Konstante: Datum
Weist einen Datumswert zu.
#### Konstante: Zeit
Weist einen Zeitwert zu.
#### Konstante: Farbe
Weist einen Farbwert (Hex-String) zu.
### Variablenwerte
Geben Sie eine Variable an oder wählen Sie einen Wert aus einem Array oder Datenrahmen aus. Die folgenden Optionen sind verfügbar:
* [Wählen Sie Variable](#select-variable)
* [Wählen Sie Wert aus Array](#select-value-from-array)
* [Wählen Sie Wert aus Datenrahmen](#select-value-from-data-frame)
#### Wählen Sie Variable
Ermöglicht Ihnen, eine Variable auszuwählen und darauf zu verweisen.
#### Wählen Sie Wert aus Array
Ermöglicht Ihnen, einen Wert aus einem Array auszuwählen.
#### Wählen Sie Wert aus Datenrahmen
Ermöglicht Ihnen, einen Wert aus einem Datenrahmen auszuwählen, den Sie erstellt haben.
### Frame / Aufgabe / Objektwerte
Ermöglicht Ihnen, Werte zu holen, die mit Objekt-Eigenschaften, dem Frame, Eye Tracking (wenn es aktiviert ist) und dem Gerät (Bildschirmaktualisierungsrate) verbunden sind.
* [Objekteigenschaft](#object-property)
* [Frame](#frame)
* [Eye Tracking](#eye-tracking)
* [Gerät](#device)
#### Objekteigenschaft
Liest eine Objekteigenschaft aus.
#### Frame
| Optionen für Frame-Werte | Beschreibung |
| :---: | ---|
| **`Last cached Mouse X Position`** | Der letzte X-Koordinatenwert der Maus des Teilnehmers. |
| **`Last cached Mouse Y Position`** | Der letzte Y-Koordinatenwert der Maus des Teilnehmers. |
| **`Last cached Mouse [X,Y] Array`** | Der letzte [X,Y]-Koeffizientenwert der Maus des Teilnehmers im Array-Format. |
| **`Frame Name`** | Der Name des Frames. |
#### Eye Tracking
| Optionen für Eye Tracking-Werte | Beschreibung |
| :---: | ---|
| **`Last cached Coordinate X`** | Der letzte X-Koordinatenwert des Blicks des Teilnehmers. |
| **`Last cached Coordinate Y`** | Der letzte Y-Koordinatenwert des Blicks des Teilnehmers. |
| **`Last cached Coordinate [X,Y] Array`** | Der letzte [X,Y]-Koeffizientenwert des Blicks des Teilnehmers im Array-Format. |
| **`Last cached Coordinate + Time [X,Y,T] Array`** | Der letzte [X,Y]-Koeffizientenwert des Blicks des Teilnehmers, plus der Kamerafang-T-Wert im Array-Format. |
#### Gerät
* **Aktualisierungsrate:** Der Aktualisierungsratenwert des Geräts des Teilnehmers.
### Operationen
Verwenden Sie Operationen, um spezifische Änderungen an Ihren Variablen vorzunehmen, wie das Kombinieren von Variablenwerten, das Transformieren von Zeichenfolgen, sodass sie alle Kleinbuchstaben sind, oder das Ausführen von mathematischen Operationen.
Die folgenden Optionen sind verfügbar:
* [Arithmetik](#arithmetic)
* [Zeichenfolgenoperation](#string-operation)
* [Mathe-Operation](#math-operation)
#### Arithmetik
Arithmetische Operationen sind für viele verschiedene Zwecke nützlich, einschließlich des Kombinierens von Zeichenfolgen und sogar des Änderns von Objekteigenschaften.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/arithmetic_menu.webp" alt="Das Arithmetik-Menü in Labvanced." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Im Wesentlichen ermöglicht die arithmetische Operation, Operationen an mehreren Werten durchzuführen.
Nach der Auswahl dieser Option erscheint ein zusätzliches Stiftsymbol (d.h. Wertauswahlmenü) sowie eine Liste von Operationen, wie z.B. Addition.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/arithmetic_selected.webp" alt="Der Standort der Arithmetik-Option in Labvanced." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Die Werte können mit diesen 5 verschiedenen Operationen manipuliert werden:
* (+) Addition
* (-) Subtraktion
* (/) Division
* (*) Multiplikation
* (%) modulo
Das folgende Beispiel zeigt, wie arithmetische Operationen genutzt werden, um eine neue Zeichenfolgenvariable (im grünen Button) namens 'intermediateVar' zu erstellen.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/chat_example_explained.webp" alt="Beispiel für die Verwendung von arithmetischen Operationen zur Erstellung einer neuen Zeichenfolgenvariable." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Der neue Variablenwert (von 'intermediateVar') wird definiert, indem mehrere arithmetische Operationen zusammen mit einer Kombination von zuvor erstellten Variablen (d.h. 'userChatName' und 'chatInput') sowie [konstanten Zeichenfolgenwerten,](#constant-8594-string) d.h. dem Semikolon `:` und dem Leerzeichen `<br>` verwendet werden. Diese Aktion erzeugt den Effekt eines Benutzer-Chats, der in einer Multibenutzerstudie verwendet werden kann.
#### Zeichenfolgenoperation
| Optionen für Zeichenfolgenoperation | Beschreibung |
| :---: | ---|
| **`To Lowercase`** | Ändert alle Buchstaben in einer Zeichenfolgenvariablen in Kleinbuchstaben.<br><br> **→ Bsp:** (AAABBB) verwandelt sich in (aaabbb) |
| **`To Uppercase`** | Ändert alle Buchstaben in der Zeichenfolgenvariablen in Großbuchstaben. <br><br> **→ Bsp:** (aaabbb) verwandelt sich in (AAABBB) |
| **`To Link`** | Transformiert die Zeichenfolge in einer Variablen in eine URL, die in einem anderen Fenster geöffnet wird. |
| **`Remove Whitespaces`** | Entfernt alle Leerzeichen zwischen den Buchstaben in einer Zeichenfolgenvariablen. <br><br> **→ Bsp:** (aaa bbbb cccc) verwandelt sich in (aaabbbbccc) |
| **`Trim Whitespaces`** | Entfernt die Leerzeichen am Anfang einer Zeichenfolgenvariablen. <br><br> **→ Bsp:** ( aaabbbcccc) verwandelt sich in (aaabbbcccc) |
| **`Replace Substring Regexp`** | Ersetzt bestimmte Buchstaben in einer Zeichenfolgenwertvariablen. <br><br> **→ Bsp:** (aaabbbccc) ersetzt _bbb_ durch _xxx_, was den Wert in (aaaxxxccc) verwandelt. |
#### Mathe-Operation
Führt eine mathematische Operation an einem skalarwert aus.
| Optionen für Mathe-Operation | Beschreibung |
| :---: | ---|
| **`abs`** | Gibt die absolute Zahl eines Wertes zurück. |
| **`sqrt`** | Gibt die Quadratwurzel eines Wertes zurück. |
| **`round`** | Gibt den gerundeten Wert mit 0 bis 3 Dezimalstellen zurück. |
| **`floor`** | Gibt den abgerundeten Wert zurück. |
| **`ceil`** | Gibt den aufgerundeten Wert zurück. |
| **`cos`** | Gibt den Kosinuswert zurück. |
| **`sin`** | Gibt den Sinuswert zurück. |
| **`tan`** | Gibt den Tangentenwert zurück. |
### Trigger-spezifische Werte
Trigger-spezifische Werte beziehen sich auf Werte, die mit dem Trigger verbunden sind, der innerhalb eines bestimmten Ereignisses definiert ist. Wenn Ihr Ereignis beispielsweise einen Maus-Trigger verwendet, können Sie in bestimmten Bereichen, in denen die Aktion angegeben ist (wie bei Verwendung einer [`Set / Record Variable`](#set-record-variable-action)-Aktion oder einer [`Set Object Property`](#set-object-property-action)-Aktion), auf maus-spezifische Triggerwerte im [Wertauswahlmenü](#the-value-select-menu) zugreifen.
Im folgenden Beispiel werden trigger-spezifische Werte für einen Maus-Trigger verwendet, um x- und y-Werte sowie ein [X,Y]-Array mithilfe einer [`Set / Record Variable`](#set-record-variable-action)-Aktion aufzuzeichnen.
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/mouse_track_ex.webp" alt="Demonstration, wie maus-spezifische Triggerwerte verwendet werden, um die Mausverfolgung festzuhalten." width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
Nachfolgend finden Sie eine Tabelle aller Arten von trigger-spezifischen Werten, die in Labvanced gefunden werden können, gefolgt von einer detaillierten Erklärung jeder Option.
| Name| Übersicht der Wertoptionen |
| :---: | ---|
| [`Trigger (Mouse)`](#trigger-mouse-values) | <ul><li> Maus X </li><li> Maus Y </li><li> Maus [X,Y] Array </li><li> Stimulus Name </li><li> Stimulus Info </li><li> Trigger-Zeitstempel (Unixtime) </li><li> Trigger-Zeit (von Framebeginn) </li> </ul> <img width=500/>|
| [`Trigger (Keyboard)`](#trigger-keyboard-values) | <ul><li> Id der Taste </li><li> Trigger-Zeitstempel (Unixtime) </li><li> Trigger-Zeit (von Framebeginn) </li></ul> |
| [`Trigger (Button Bar)`](#trigger-button-bar-values) | <ul><li> Stimulus Name </li><li> Stimulus Info </li><li> Trigger-Zeitstempel (Unixtime) </li><li> Trigger-Zeit (von Framebeginn) </li></ul> |
| [`Trigger (Enter On Input)`](#trigger-enter-on-input-values) | <ul><li> Id der Taste </li><li> Trigger-Zeitstempel (Unixtime)</li><li> Trigger-Zeit (von Framebeginn) </li></ul> |
| [`Trigger (Scroll)`](#trigger-scroll-values) | <ul><li> Stimulus Name </li><li> Stimulus Info</li><li> Scrollposition X </li><li> Scrollposition Y </li><li> Trigger-Zeitstempel (Unixtime) </li><li> Trigger-Zeit (von Framebeginn) </li></ul> |
| [`Trigger (Gamepad/ Joystick)`](#trigger-gamepad-joystick-values) | <ul><li>Id des Gamepad-Geräts </li><li> Gedrückte Tasten (Array) </li><li> Gedrückte oder gehaltene Tasten (Array) </li><li> Losgelassene Tasten (Array) </li><li> Achsen (Array) </li><li> Gamepad-Zeitstempel (Unixtime) </li><li> Trigger-Zeitstempel (Unixtime) </li><li> Trigger-Zeit (von Framebeginn) </li></ul> |
| [`Trigger (Eyetracking Gaze)`](#trigger-eyetracking-gaze-values) | <ul><li> Koordinate X </li><li> Koordinate Y </li><li> Koordinate [X,Y] Array </li><li> Stimulus Name </li><li> Stimulus Info </li><li> Kamerafang-Zeit T </li><li> Blickvertraulichkeit C </li><li> Koord. + Zeit [X,Y,T] Array </li><li> Koord. + Zeit + Vertraulichkeit [X,Y,T,C] Array </li><li> Trigger-Zeitstempel (Unixtime) </li><li> Trigger-Zeit (von Framebeginn) </li></ul> |
| [`Trigger (Eyetracking Fixation)`](#trigger-eyetracking-fixation-values) | <ul><li> Fixations-Zentrum X </li><li> Fixations-Zentrum Y </li><li> Fixations-Dauer </li><li> Fixations-Startzeit </li><li> Fixations-Endzeit </li><li> Fixations-Dispersionswert </li><li> Stimulus Name </li><li> Stimulus Info </li><li> [X,Y,Dauer,Start,Ende,Disp] </li><li> Trigger-Zeitstempel (Unixtime) </li><li> Trigger-Zeit (von Framebeginn) </li></ul> |
| [`Trigger (Head Tracking)`](#trigger-head-tracking-values) | <ul><li> Kamerafang-Zeit T </li><li> Kopfneigung </li><li> Kopfwinkel </li><li> Kopfrollwinkel </li><li> Kopfposition [X,Y,T] Array </li><li> Nasenposition [X,Y,T] Array </li><li> Nasenvector [X,Y,Z,T] Array </li><li> Trigger-Zeitstempel (Unixtime) </li><li> Trigger-Zeit (von Framebeginn) </li></ul> |
| [`Trigger (On Task Initialization)`](#trigger-on-task-initialization-values) | <ul><li> Trigger-Zeitstempel (Unixtime) </li><li> Trigger-Zeit (von Framebeginn) </li></ul> |
| [`Trigger (On Frame Init)`](#trigger-on-frame-init-values) | <ul><li> VersuchNr </li><li> Trigger-Zeitstempel (Unixtime) </li><li> Trigger-Zeit (von Framebeginn) </li></ul> |
| [`Trigger (on Frame Start)`](#trigger-on-frame-start-values) | <ul><li> Trigger-Zeitstempel (Unixtime) </li><li> Trigger-Zeit (von Framebeginn) </li></ul> |
| [`Trigger (On Frame End)`](#trigger-on-frame-end-values) | <ul><li> Gesamtzeit des Frames </li><li> Trigger-Zeitstempel (Unixtime) </li><li> Trigger-Zeit (von Framebeginn) </li></ul> |
| [`Trigger (Variable Value Changed)`](#trigger-variable-value-changed-values) | <ul><li> Neuer Wert in der Variable </li><li> Trigger-Zeitstempel (Unixtime) </li><li> Trigger-Zeit (von Framebeginn) </li></ul> |
| [`Trigger (Media Object Trigger)`](#trigger-media-object-trigger-values) | <ul><li> Trigger-Zeitstempel (Unixtime) </li><li> Trigger-Zeit (von Framebeginn) </li></ul> |
| [`Trigger (Websocket Trigger)`](#trigger-websocket-trigger-values) | <ul><li> Nachricht </li><li> Daten </li><li> Trigger-Zeitstempel (Unixtime) </li><li> Trigger-Zeit (von Framebeginn) </li></ul> |
| [`Trigger (OpenAI Trigger)`](#trigger-openai-trigger-values) | <ul><li> Chat GPT-Antwort </li><li> Trigger-Zeitstempel (Unixtime) </li><li> Trigger-Zeit (von Framebeginn) </li></ul> |
| [`Trigger (PostMessage Received)`](#trigger-postmessage-received-values) | <ul><li> Nachrichteninhalt </li><li> Trigger-Zeitstempel (Unixtime) </li><li> Trigger-Zeit (von Framebeginn) </li></ul> |
| [`Trigger (Global Experiment Event)`](#trigger-global-experiment-event-values) | <ul><li> Gesamtzeit des Frames </li><li> Grund für globale Ereignisse </li><li> Trigger-Zeitstempel (Unixtime) </li><li> Trigger-Zeit (von Framebeginn) </li></ul> |
| [`Trigger (User Leaves Experiment)`](#trigger-user-leaves-experiment-values) | <ul><li> Verbleibende Zahl der Teilnehmer </li><li> Trigger-Zeitstempel (Unixtime) </li><li> Trigger-Zeit (von Framebeginn) </li></ul> |#### Trigger (Maus) Werte
Wenn ein [Mausauslöser](#mouse-trigger) verwendet wird, können die folgenden [auslöserspezifischen Werte](#trigger-specific-values) bei bestimmten Aktionen aufgerufen werden:
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/mouse_trigger_specific_values.webp" alt="Die verfügbaren Optionen für Mausauslöserwerte" width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
| Trigger (Maus) Optionen | Beschreibung |
| :---: | ---|
| **`Mouse X`** | Gibt die aktuelle X-Position der Maus in Rahmenkoordinaten zurück. |
| **`Mouse Y`** | Gibt die aktuelle Y-Position der Maus in Rahmenkoordinaten zurück. |
| **`Mouse [X,Y] Array`** | Die Maus [X,Y] Koordinaten im Array-Format. |
| **`Stimulus Name`** | Der Name des Objekts, das das Ereignis ausgelöst hat (z.B. welches Bild angeklickt wurde). |
| **`Stimulus Info`** | Die Stimulus-Information des Objekts, das das Ereignis ausgelöst hat. |
| **`Trigger Timestamp (Unixtime)`** | Der Zeitstempel, wann der Auslöser im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger Time (From Frame Onset)`** | Die verstrichene Zeit in Millisekunden, gemessen vom Beginn des Rahmenanlaufs bis zu dem Zeitpunkt, an dem der Auslöser aufgetreten ist. |
#### Trigger (Tastatur) Werte
Wenn ein [Tastaturauslöser](#keyboard-triggers) verwendet wird, können die folgenden auslöserspezifischen Werte bei bestimmten Aktionen aufgerufen werden:
| Trigger (Tastatur) Optionen | Beschreibung |
| :---: | ---|
| **`Id of Key`** | Der ID-Wert der Taste, die als Auslöser gedrückt wurde. |
| **`Trigger Timestamp (Unixtime)`** | Der Zeitstempel, wann der Auslöser im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger Time (From Frame Onset)`** | Die verstrichene Zeit in Millisekunden, gemessen vom Beginn des Rahmenanlaufs bis zu dem Zeitpunkt, an dem der Auslöser aufgetreten ist. |
#### Trigger (Schaltflächenleiste) Werte
Wenn ein [Schaltflächenklickauslöser](#button-click-trigger) verwendet wird, können die folgenden auslöserspezifischen Werte bei bestimmten Aktionen aufgerufen werden:
| Trigger (Schaltflächenleiste) Optionen | Beschreibung |
| :---: | ---|
| **`Stimulus Name`** | Der Name des Schaltflächenobjekts, das das Ereignis ausgelöst hat. |
| **`Stimulus Info`** | Die Stimulus-Information des Schaltflächenobjekts, das das Ereignis ausgelöst hat. |
| **`Trigger Timestamp (Unixtime)`** | Der Zeitstempel, wann der Auslöser im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger Time (From Frame Onset)`** | Die verstrichene Zeit in Millisekunden, gemessen vom Beginn des Rahmenanlaufs bis zu dem Zeitpunkt, an dem der Auslöser aufgetreten ist. |
#### Trigger (Eingabetaste) Werte
Wenn ein [Eingabetasteauslöser](#enter-on-input-trigger) verwendet wird, können die folgenden auslöserspezifischen Werte bei bestimmten Aktionen aufgerufen werden:
| Trigger (Eingabetaste) Optionen | Beschreibung |
| :---: | ---|
| **`Id of Key`** | Der ID-Wert der Taste, die als Auslöser gedrückt wurde. |
| **`Trigger Timestamp (Unixtime)`** | Der Zeitstempel, wann der Auslöser im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger Time (From Frame Onset)`** | Die verstrichene Zeit in Millisekunden, gemessen vom Beginn des Rahmenanlaufs bis zu dem Zeitpunkt, an dem der Auslöser aufgetreten ist. |
#### Trigger (Scrollen) Werte
Wenn ein [Scrollauslöser](#scroll-trigger) verwendet wird, können die folgenden auslöserspezifischen Werte bei bestimmten Aktionen aufgerufen werden:
| Trigger (Scrollen) Optionen | Beschreibung |
| :---: | ---|
| **`Stimulus Name`** | Der Name des Schaltflächenobjekts, das das Ereignis ausgelöst hat. |
| **`Stimulus Info`** | Die Stimulus-Information des Schaltflächenobjekts, das das Ereignis ausgelöst hat. |
| **`Scroll Position X`** | Die Scrollposition in X der Maus, als das Ereignis ausgelöst wurde. |
| **`Scroll Position Y`** | Die Scrollposition in Y der Maus, als das Ereignis ausgelöst wurde. |
| **`Trigger Timestamp (Unixtime)`** | Der Zeitstempel, wann der Scrollauslöser im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger Time (From Frame Onset)`** | Die verstrichene Zeit in Millisekunden, gemessen vom Beginn des Rahmenanlaufs bis zu dem Zeitpunkt, an dem der Scrollauslöser aufgetreten ist. |
#### Trigger (Gamepad/Joystick) Werte
Wenn ein [`Gamepad/Joystick trigger`](#gamepad-joystick-trigger) verwendet wird, können die folgenden auslöserspezifischen Werte bei bestimmten Aktionen aufgerufen werden:
<p style="text-align:center;">
<img width="80%" style="padding: 10px; border:1px solid #39AECB" height="auto" loading="lazy" src="/content_imgs/learn/guide/task-editor/imgs/events/gamepad_trigger_specific.webp" alt="Menüoption für Gamepad-Auslöser">
</p>
| Trigger (Gamepad/Joystick) Optionen | Beschreibung |
| :---: | ---|
| **`Gamepad Device Id`** | Die ID oder der Name des Gamepads, das verbunden war. |
| **`Pressed Keys (Array)`** | Die Tasten, die gedrückt wurden. |
| **`Pressed OR Hold Keys (Array)`** | Die Tasten, die gedrückt oder gehalten wurden. |
| **`Released Keys (Array)`** | Die Tasten, die losgelassen wurden. |
| **`Axes (Array)`** | Die Achsenwerte. |
| **`Gamepad Timestamp (Unixtime)`** | Der Gamepad-Zeitstempel in Unixzeit. |
| **`Trigger Timestamp (Unixtime)`** | Zeitstempel, wann der Auslöser in Unixzeit auftritt. |
| **`Trigger Time (From Frame Onset)`** | Zeitstempel in Unixzeit, wann der Auslöser im Verhältnis zum Anfang des Rahmens auftritt. |
#### Trigger (Eyetracking-Blick) Werte
Wenn ein [Augenverfolgungs-Blickauslöser](#eyetracking-gaze-trigger) verwendet wird, können die folgenden auslöserspezifischen Werte bei bestimmten Aktionen aufgerufen werden:
<p style="text-align:center;">
<img src="/content_imgs/learn/guide/task-editor/imgs/events/ET_gaze_trigger_specific_values.webp" alt="Die Blickauslöserwertoptionen" width="80%" style="border:1px solid #39AECB" height="auto" loading="lazy">
</p>
| Trigger (Eyetracking-Blick) Optionen | Beschreibung |
| :---: | --- |
| **`Coordinate X`** | Der Wert der X-Koordinate des Blicks. |
| **`Coordinate Y`** | Der Wert der Y-Koordinate des Blicks. |
| **`Coordinate [X,Y] Array`** | Die Blickkoordinaten X,Y im Array-Format. |
| **`Stimulus Name`** | Der Name des Stimulus, der den Blickauslöser initiiert hat. |
| **`Stimulus Info`** | Die Stimulusinformation hinter dem Stimulus, der den Blickauslöser initiiert hat. |
| **`Camera Capture Time T`** | Der genaue Zeitpunkt, an dem die Aufnahme erfolgt ist. Im Labvanced-Augenerfassungs-Pipeline findet zuerst eine Kameraaufnahme statt, bevor der Algorithmus und das neuronale Netzwerk die Blickberechnungen durchführen. Daher ist der `Camera Capture Time T` ein UNIX-Zeitstempel, wann die erste Aufnahme erfolgt ist. Für weitere Informationen zur Technologie hinter unserer webcam-basierten Augenverfolgung, siehe bitte unsere [ET-Technologieseite.](/content/technology/de/labvanced-eye-tracking/) |
| **`Gaze Confidence C`** | Dieser Wert reicht von 0 bis 1 und bezieht sich auf das Vertrauen und die Wahrscheinlichkeit, dass es ein offenes Auge im Bildsnapshot gibt, und dient im Wesentlichen als ‚Blinkdetektor.‘ Bitte siehe unsere [veröffentlichte, begutachtete Arbeit](https://link.springer.com/article/10.3758/s13428-023-02237-8) für mehr Details. |
| **`Coord. + Time [X,Y,T] Array`** | Ein Array, das die x/y-Koordinaten des Blicks und den Zeitstempel der Kamerafangzeit (T) enthält, wie oben beschrieben. |
| **`Coord. + Time + Confidence [X,Y, T,C] Array`** | Ein Array, das die x/y-Koordinaten des Blicks und den Zeitstempel der Kamerafangzeit (T) sowie die Blickzuverlässigkeit (C) enthält, wie oben beschrieben. |
| **`Trigger Timestamp (Unixtime)`** | Der Zeitstempel, wann der Blickauslöser im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger Time (From Frame Onset)`** | Die verstrichene Zeit in Millisekunden, gemessen vom Beginn des Rahmenanlaufs bis zu dem Zeitpunkt, an dem der Blickauslöser aufgetreten ist. |
#### Trigger (Eyetracking-Fixation) Werte
Wenn ein [Eye Tracking Fixation-Ausrüster](#eyetracking-fixation-trigger) verwendet wird, können die folgenden auslöserspezifischen Werte bei bestimmten Aktionen aufgerufen werden:```markdown
| Trigger (Eyetracking Fixation) Optionen | Beschreibung |
| :---: | ---|
| **`Fixation Centroid X`** | Der Mittelpunkt der Fixation als X-Wert. |
| **`Fixation Centroid Y`** | Der Mittelpunkt der Fixation als Y-Wert. |
| **`Fixation Duration`** | Die Dauer der erkannten Fixation. |
| **`Fixation Start Time`** | Die Startzeit der erkannten Fixation. |
| **`Fixation End Time`** | Die Endzeit der erkannten Fixation. |
| **`Fixation Dispersion`** | Bezieht sich darauf, wie verstreut die Blickwerte innerhalb einer erkannten Fixation sind. |
| **`Stimulus Name`** | Der Name des Schaltflächenobjekts, das das Ereignis ausgelöst hat. |
| **`Stimulus Info`** | Die Stimulus-Information des Schaltflächenobjekts, das das Ereignis ausgelöst hat. |
| **`[X, Y, Dur, Start, End, Disp]`** | Ein Array der folgenden: x- und y-Werte des Schwerpunkts der Fixation, die Dauer der Fixation, die Startzeit, die Endzeit und der Streuwert. |
| **`Trigger Timestamp (Unixtime)`** | Der Zeitstempel, wann der Fixationsauslöser im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger Time (From Frame Onset)`** | Die verstrichene Zeit in Millisekunden, gemessen vom Beginn des Rahmens bis zum Zeitpunkt, an dem der Fixationsauslöser aufgetreten ist. |
#### Trigger (Head Tracking) Werte
Wenn ein [Head Tracking trigger](#headtracking-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei bestimmten Aktionen abgerufen werden:
| Trigger (Head Tracking) Optionen | Beschreibung |
| :---: | ---|
| **`Camera Capture Time T`** | Wann die Kamera den Rahmen aufgenommen hat, d.h. einen Unix-Zeitstempel, wann die Rahmenerfassung stattgefunden hat. Dies ist die Zeit, zu der das Bild / der Rahmen erfasst wurde, bevor eine Verarbeitung erfolgt. |
| **`Head Turn`** | Kopfbewegung von links nach rechts, dies wird in der Literatur als Gier bezeichnet. |
| **`Head Tilt`** | Kopfneigung von oben nach unten, bekannt als Kopfneigung in der Literatur. |
| **`Head Roll`** | Erfasst die Bewegung des Kopfes, der von Seite zu Seite rollt. |
| **`Head Position [X,Y, T] Array`** | Dieses Array erfasst die numerischen Werte, die mit der Kopfposition verbunden sind, einschließlich der x- und y-Koordinaten für die Mitte des Kopfes sowie der Zeitstempelvariable (T). |
| **`Nose Position [X,Y, T] Array`** | Dieses Array erfasst die numerischen Werte, die spezifisch mit der Position der Nase verbunden sind, einschließlich der x- und y-Koordinaten, wo sich die Nase befindet, sowie der Zeitstempelvariable (T), wann die Messung erfolgt ist. |
| **`Nose Vector [X,Y, Z, T] Array`** | Diese Messung funktioniert, indem ein Vektor von der Nasenspitze projiziert wird und ist nützlich, um zu testen, ob der Teilnehmer auf den Bildschirm achtet (was besonders wichtig für Studien ist, bei denen das Eye-Tracking nicht aktiviert ist). Wenn die Nase also vom Bildschirm weg zeigt (d.h. der Teilnehmer achtet nicht auf das Experiment), verringert sich der Z-Wert von 1 und bewegt sich näher an 0. |
| **`Trigger Timestamp (Unixtime)`** | Zeitpunkt im Experiment, an dem der Auslöser selbst auftritt, bei dem das Head Tracking erkannt wurde und berücksichtigt, wann der Auslöser im System aufgetreten ist. Im Grunde ist dies der Zeitpunkt, an dem das Bild / der Rahmen verarbeitet wird, und dieser Wert wird stark von der Grafikkarte des Teilnehmers beeinflusst. Theoretisch sollte es so nah wie möglich an dem Wert T liegen. |
| **`Trigger Time from Frame Onset`** | Dies ist der Zeitwert, wann der Auslöser im Hinblick darauf, wann der Rahmenbeginn stattfand, aufgetreten ist. |
#### Trigger (On Task Initialization) Werte
Wenn ein [Task Init Trigger](#task-init-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei bestimmten Aktionen abgerufen werden:
| Trigger (On Task Initialization) Optionen | Beschreibung |
| :---: | ---|
| **`Trigger Timestamp (Unixtime)`** | Der Unix-Zeitstempel des Auslösers in Millisekunden. |
| **`Trigger Time (From Frame Onset)`** | Die Zeit in Millisekunden, wann der Auslöser vom Rahmenbeginn aufgetreten ist. |
#### Trigger (On Frame Init) Werte
Wenn ein [Frame Init Trigger](#frame-init-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei bestimmten Aktionen abgerufen werden:
| Trigger (On Frame Init) Optionen | Beschreibung |
| :---: | ---|
| **`TrialNr`** | Die Versuchszahl, wann der Frame Init Trigger aufgetreten ist. |
| **`Trigger Timestamp (Unixtime)`** | Der Unix-Zeitstempel des Auslösers in Millisekunden. |
| **`Trigger Time (From Frame Onset)`** | Die Zeit in Millisekunden, wann der Auslöser vom Rahmenbeginn aufgetreten ist. |
#### Trigger (on Frame Start) Werte
Wenn ein [Frame Start Trigger](#frame-start-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei bestimmten Aktionen abgerufen werden:
| Trigger (on Frame Start) Optionen | Beschreibung |
| :---: | ---|
| **`Trigger Timestamp (Unixtime)`** | Der Unix-Zeitstempel des Auslösers in Millisekunden. |
| **`Trigger Time (From Frame Onset)`** | Die Zeit in Millisekunden, wann der Auslöser vom Rahmenbeginn aufgetreten ist. |
#### Trigger (On Frame End) Werte
Wenn ein [Frame End Trigger](#frame-end-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei bestimmten Aktionen abgerufen werden:
| Trigger (On Frame End) Optionen | Beschreibung |
| :---: | ---|
| **`Total Frame Time`** | Die gesamte Zeit in Millisekunden, die für den Rahmen aufgewendet wurde. |
| **`Trigger Timestamp (Unixtime)`** | Der Unix-Zeitstempel des Auslösers in Millisekunden. |
| **`Trigger Time (From Frame Onset)`** | Die Zeit in Millisekunden, wann der Auslöser vom Rahmenbeginn aufgetreten ist. |
#### Trigger (Variable Value Changed) Werte
Wenn ein [Variable Value Changed Trigger](#variable-value-changed-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei bestimmten Aktionen abgerufen werden:
| Trigger (Variable Value Changed) Optionen | Beschreibung |
| :---: | ---|
| **`New Value in Variable`** | Bezieht sich auf den neuen Wert einer Variablen. |
| **`Trigger Timestamp (Unixtime)`** | Der Zeitstempel, wann der Trigger für die Variablenänderung im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger Time (From Frame Onset)`** | Die verstrichene Zeit in Millisekunden, gemessen vom Beginn des Rahmens bis zu dem Zeitpunkt, an dem die Variablenwertänderung aufgetreten ist. |
#### Trigger (Media Object Trigger) Werte
Wenn ein [Media Object Trigger](#media-object-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei bestimmten Aktionen abgerufen werden:
| Trigger (Media Object Trigger) Optionen | Beschreibung |
| :---: | ---|
| **`Trigger Timestamp (Unixtime)`** | Der Zeitstempel, wann der Medienobjektauslöser im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger Time (From Frame Onset)`** | Die verstrichene Zeit in Millisekunden, gemessen vom Beginn des Rahmens bis zu dem Zeitpunkt, an dem der Medienobjektauslöser aufgetreten ist. |
#### Trigger (Websocket Trigger) Werte
Wenn ein [WebsSocket Trigger](#websocket-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei bestimmten Aktionen abgerufen werden:
| Trigger (Websocket Trigger) Optionen | Beschreibung |
| :---: | ---|
| **`Message`** | Eine Nachricht, die verwendet werden kann, um zu beschreiben und zu kennzeichnen, die es Ihnen (auf der Empfangsseite) ermöglicht, zwischen verschiedenen Datentypen zu filtern. |
| **`Data`** | Ein Wert, der unterschiedliche Datentypen halten kann, wie z.B. die Entscheidungen der Teilnehmer, Zeitstempel, Maus-x/y-Koordinaten usw. |
| **`Trigger Timestamp (Unixtime)`** | Der Zeitstempel, wann der Websocket-Auslöser im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger Time (From Frame Onset)`** | Die verstrichene Zeit in Millisekunden, gemessen vom Beginn des Rahmens bis zu dem Zeitpunkt, an dem der WebSocket-Auslöser aufgetreten ist. |
#### Trigger (OpenAI Trigger) Werte
Wenn ein [OpenAI Trigger](#openai-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei bestimmten Aktionen abgerufen werden:
| Trigger (OpenAI Trigger) Optionen | Beschreibung |
| :---: | ---|
| **`Chat GPT Answer`** | Der Wert der Antwort von ChatGPT. |
| **`Trigger Timestamp (Unixtime)`** | Der Zeitstempel, wann der OpenAI-Auslöser im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger Time (From Frame Onset)`** | Die verstrichene Zeit in Millisekunden, gemessen vom Beginn des Rahmens bis zu dem Zeitpunkt, an dem der OpenAI-Auslöser aufgetreten ist. |
#### Trigger (PostMessage Received) Werte
Wenn ein [PostMessage Received trigger](#postmessage-received-trigger) verwendet wird, können die folgenden trigger-spezifischen Werte bei bestimmten Aktionen abgerufen werden:
| Trigger (PostMessage Received) Optionen | Beschreibung |
| :---: | ---|
| **`Message Content`** | Die Datenlast der empfangenen postMessage, wie von der externen Quelle gesendet. |
| **`Trigger Timestamp (Unixtime)`** | Der Zeitstempel, wann der PostMessage Received Auslöser im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger Time (From Frame Onset)`** | Die verstrichene Zeit in Millisekunden, gemessen vom Beginn des Rahmens bis zu dem Zeitpunkt, an dem der Auslöser aufgetreten ist. |
#### Trigger (Global Experiment Event) Werte
Wenn ein [Pause / Resume Experiment Trigger](#pause-resume-experiment) verwendet wird, können die folgenden trigger-spezifischen Werte bei bestimmten Aktionen abgerufen werden:
| Trigger (Global Experiment Event) Optionen | Beschreibung |
| :---: | ---|
| **`Total Frame Time`** | Bezieht sich auf die gesamte Zeit des Rahmens, die vor dem Auslöser vorgesehen war. |
| **`Reason for Global Event`** | Ein String-Wert, der den Grund des Auslösers angibt, wie z.B. der Participant das Studium verlässt. |
| **`Trigger Timestamp (Unixtime)`** | Der Zeitstempel, wann der globale Ereignisauslöser im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger Time (From Frame Onset)`** | Die verstrichene Zeit in Millisekunden, gemessen vom Beginn des Rahmens bis zu dem Zeitpunkt, an dem der globale Ereignisauslöser aufgetreten ist. |
#### Trigger (User Leaves Experiment) Werte
Wenn ein [Participant Left Multiuser Study Trigger](#participant-left-multiuser-study) verwendet wird, können die folgenden trigger-spezifischen Werte bei bestimmten Aktionen abgerufen werden:
| Trigger (User Leaves Experiment) Optionen | Beschreibung |
| :---: | ---|
| **`Remaining Number of Participants `** | Die Anzahl der verbleibenden Teilnehmer in der Studie. |
| **`Trigger Timestamp (Unixtime)`** | Der Zeitstempel, wann der User Leaves Experiment Auslöser im Unix-Zeitformat mit Millisekunden aufgetreten ist. |
| **`Trigger Time (From Frame Onset)`** | Die verstrichene Zeit in Millisekunden, gemessen vom Beginn des Rahmens bis zu dem Zeitpunkt, an dem der User Leaves Experiment Auslöser aufgetreten ist. |
```





