10.01.2023, 02:58
(10.01.2023, 01:15)Mareta Dagostino schrieb:(09.01.2023, 23:22)AJEssen84 schrieb: Ist es möglich mittels LSL die SIM SURL auszulesen? so das man daraus eine hypergrid adresse machen kann?
Hallo und willkommen!
Ich denke nicht, dass das geht. Es gibt in LSL die Möglichkeit, in einem Prim einen sehr simplen Webserver zu betreiben, gedacht ist das für Steuerungsaufgaben zwischen verschiedenen Regionen. Diese Webserver holen sich eine temporäre Webadresse und geben sie nach Benutzung wieder frei.
Beispielcode: https://wiki.secondlife.com/wiki/LSL_HTT...r/examples
Der Stamm der URL ist dann notgedrungen die URL, mit der der Server von außen sichtbar ist, ergänzt um einen generierten String. Das könntest du geeignet parsen, Stichwort: llRequestURL();
Aber:
1) Jedes Grid arbeitet auf einem frei konfigurierbaren Port zum Teleportieren, du kannst dich nicht darauf verlassen, dass das immer 9000, 8002 oder 80 ist.
2) Und vor allem ist es zum Teleportieren ziemlich wumpe, wo die Region läuft, weil dafür die URL des Grids relevant ist und nicht die von der Region. Nur im Sonderfall eines Standalone-Grids wäre das in der Regel identisch.
(Konfigurieren würde man die Regions-URL für Scripte in der OpenSim.ini, Abschnitt [Network], ExternalHostNameForLSL = "my.external.domain.or.ipv4.address")
Fazit:
Du wirst nicht umhin kommen, dass die Nutzer deiner Plakate eine Art Setup durchlaufen müssen, wo sie z.B. nach dem Rezzen des Objekts ihre Teleport-URL eintippen.
hey danke erstmal für deine ausführliche beschreibung dazu.
ich hab mich jetzt mal durch dein wiki etwas gewühlt.
und habe folgendes Testscript mal gemacht.
Code:
string wwGetSLUrl() {
string sim = llGetSimulatorHostname();
string region = llGetRegionName();
vector pos = llGetPos();
string posx = (string)llRound(pos.x);
string posy = (string)llRound(pos.y);
string posz = (string)llRound(pos.z);
return (sim + ":" + region +"/" + posx + "/" + posy + "/" + posz);
}
default {
state_entry()
{
llSetText(wwGetSLUrl(), <0,1,0>, 1.0);
llOwnerSay( wwGetSLUrl() );
}
}
damit bekomme ich schon mal das gewünschte ausgabeformat in form von Server:Region/posX/posY/posZ
wobei die pos werte erstmal uninteressant sind. Was mir jedoch fehlt, is jetzt noch den Port auszulesen.
ich kann mir nicht vorstellen das dies nicht funktioniert.
Da das OpenSimWorld Verzeichnis es auch hinbekommt, es auszulesen.
und auf der HP dazustellen.