20.07.2024, 12:06
ChatGPT erstelle ein lsl script das ein Garagentor mit Mausklick nach oben innen auf und zu schieben kann
Hier ist ein LSL-Skript, das ein Garagentor mit einem Mausklick nach oben innen öffnen und schließen kann:
### Anpassungen:
1. **Position und Rotation:** Die Werte in `OPEN_POSITION` und `OPEN_ROTATION` sind Beispielwerte und müssen an die spezifische Position und Rotation deines Garagentors angepasst werden.
2. **Bewegungszeit:** Die Zeit in `SECONDS_TO_MOVE` kann angepasst werden, um die Geschwindigkeit des Öffnens und Schließens zu ändern.
Dieses Skript setzt voraus, dass das Garagentor ein einzelnes Prim ist. Wenn das Garagentor aus mehreren Prims besteht, müssen zusätzliche Anpassungen vorgenommen werden, um die Position und Rotation jedes Prim zu handhaben.
Hier ist ein LSL-Skript, das ein Garagentor mit einem Mausklick nach oben innen öffnen und schließen kann:
Code:
/*
* Garagentor-Skript
*
* Dieses Skript ermöglicht es, ein Garagentor durch Mausklick nach oben innen zu öffnen und zu schließen.
*/
/* Initiale Position und Rotation des Garagentors */
vector INITIAL_POSITION;
rotation INITIAL_ROTATION;
/* Zielposition und -rotation des Garagentors im geöffneten Zustand */
vector OPEN_POSITION = <0.0, 2.0, 0.5>; // Beispielwert, anpassen je nach Türgröße und -position
rotation OPEN_ROTATION = llEuler2Rot(<90.0, 0.0, 0.0> * DEG_TO_RAD); // Beispielwert, Tür rotiert um 90 Grad nach innen
/* Zeit, die das Öffnen/Schließen dauert, in Sekunden */
float SECONDS_TO_MOVE = 2.0;
/* Türzustand: TRUE = geschlossen, FALSE = geöffnet */
integer gClosed = TRUE;
default {
state_entry() {
/* Initiale Position und Rotation speichern */
INITIAL_POSITION = llGetPos();
INITIAL_ROTATION = llGetRot();
}
touch_start(integer total_number) {
/* Öffnen oder Schließen der Tür basierend auf dem aktuellen Zustand */
if (gClosed) {
/* Tür öffnen */
llSetPrimitiveParams([PRIM_POSITION, OPEN_POSITION, PRIM_ROTATION, OPEN_ROTATION]);
gClosed = FALSE;
} else {
/* Tür schließen */
llSetPrimitiveParams([PRIM_POSITION, INITIAL_POSITION, PRIM_ROTATION, INITIAL_ROTATION]);
gClosed = TRUE;
}
}
}
### Anpassungen:
1. **Position und Rotation:** Die Werte in `OPEN_POSITION` und `OPEN_ROTATION` sind Beispielwerte und müssen an die spezifische Position und Rotation deines Garagentors angepasst werden.
2. **Bewegungszeit:** Die Zeit in `SECONDS_TO_MOVE` kann angepasst werden, um die Geschwindigkeit des Öffnens und Schließens zu ändern.
Dieses Skript setzt voraus, dass das Garagentor ein einzelnes Prim ist. Wenn das Garagentor aus mehreren Prims besteht, müssen zusätzliche Anpassungen vorgenommen werden, um die Position und Rotation jedes Prim zu handhaben.
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.