Opensim Teleporter mit OSSL Befehl
Das folgende Script dient als Teleporter nur innerhalb Opensim.
Es nutzt OSSL Befehle die auf dem Grid freigeschalten sein müssen.
Der Teleporter funktioniert dann für beliebige User, und frägt vor dem Teleport nicht nach.
Als Optionen kann die Aktivierung des Teleports per Berührung (Click) oder per Kollision mit dem Ava ausgelöst werden.
Teleports funktionieren im eigenen Grid , aber auch in fremde Grids hinein.
Details zur Einstellung stehen im Script.
Wie immer ist das Script schlank gehalten und dokumentiert damit es als Basis für eure eigenen Entwicklungen dienen kann.
Viel Spaß
Tron
Das folgende Script dient als Teleporter nur innerhalb Opensim.
Es nutzt OSSL Befehle die auf dem Grid freigeschalten sein müssen.
Der Teleporter funktioniert dann für beliebige User, und frägt vor dem Teleport nicht nach.
Als Optionen kann die Aktivierung des Teleports per Berührung (Click) oder per Kollision mit dem Ava ausgelöst werden.
Teleports funktionieren im eigenen Grid , aber auch in fremde Grids hinein.
Details zur Einstellung stehen im Script.
Code:
// P504 Teleport bei Berührung oder Kollision V1.0 by Tron
// Damit dies Script funktioniert müssen OSSL Befehle im Grid freigesschalten sein!
// gewünschte Modi einstellen
integer Beruehrungs_Teleporter = TRUE; // TRUE / FALSE je nach Wunsch
integer Kollisions_Teleporter = TRUE; // TRUE / FALSE je nach Wunsch
// Teleport Ziel einstellen
// string Zielsim = "Isla Bonita"; // vereinfachte Zielsim Eingabe, geht nur wenn Ziel im gleichen Grid liegt
string Zielsim = "135.181.6.163:9000:Isla Bonita"; // Zielsim Eingabe über GRID IP. Geht wenn Ziel im gleichen Grid oder fremden Grid liegt
// string Zielsim = "Virtualafrica.spdns.org:9000:Isla Bonita"; // Zielsim Eingabe über Domänene Namen. Geht wenn Ziel im gleichen Grid oder fremden Grid liegt
vector Landepunkt = <128,128,50>; // X,Y,Z Landepunkt des Avatars auf Zielsim
vector Blickrichtung = <0,0,0>; // Blickrichtung des Avas nach dem Teleport
// ENDE BENUTZER PARAMETER
key avatar;
default
{
on_rez(integer start_param)
{
llResetScript();
}
state_entry()
{
if ( Beruehrungs_Teleporter) llVolumeDetect(TRUE); // Startet llVolumeDetect für Kollisions Erkennung
else llVolumeDetect(FALSE);
}
// Teleport bei Kollision mit dem Objekt.
collision_start(integer total_number)
{
if ( Kollisions_Teleporter )
{
avatar = llDetectedKey(0);
llInstantMessage(avatar, "Teleportiere dich nach : "+Zielsim);
osTeleportAgent(avatar, Zielsim, Landepunkt, Blickrichtung);
}
}
// Oder Teleport bei Berührung
touch_start(integer total_num)
{
avatar = llDetectedKey(0);
llInstantMessage(avatar, "Teleportiere dich nach : "+Zielsim);
osTeleportAgent(avatar, Zielsim, Landepunkt, Blickrichtung);
}
}
Wie immer ist das Script schlank gehalten und dokumentiert damit es als Basis für eure eigenen Entwicklungen dienen kann.
Viel Spaß
Tron