• Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
  • Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
  • Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Sie geben Einwilligung zu unseren Cookies, wenn Sie unsere Webseite weiterhin nutzen.

llRequestURL() - ist es sinnvoll, eine neue ObjektURL beim Simwechseln anzufordern?

Dianna Loxely

Superstar
Hallo Freunde von lustigen Codefenstern :)

Ich schreibe gerade an einem Ersatz des OpenCollar OwnerHUDs, der ja durch Wegfall der OpenCollar Webdatenbank recht verkrüppelt wurde.
Eine sehr liebgewonnene Funktion war, gridweit die Collarmenüs aufzurufen und auch die Auto-Teleportfunktion.

Das System ist, wie es auch im Original war, dreigeteilt: CollarPlugin, OwnerHUD, Webseite mit php/mysql als Dispatcher und Datenbank.

Das Collarplugin generiert beim Start eine eigene URL (http://[color=blue]simXYZ[/color].agni.lindenlab.com:12046/cap/---anykey---) und trägt diese neben einigen Dingen mehr (userkey,region,position etc) in die Webdatenbank ein.
Ich frage die Webdatenbank nach dieser URL ab, um das Collarpluginskript direkt anzusprechen und das zugehörige Objekt nebst Avatar dann mit lustigen Dingen zu "entertainen".

Diese URL ist von innerhalb SL gridweit verfügbar, ABER
.... und nun kommen wir nach der langen Einführung zu meiner Frage ...
die URL wird bei einem Regionneustart (simXYZ) natürlich ungültig.
Ist das Objekt noch auf der selben SIM, kein Thema, da hätten wir das CHANGED_REGION_START Event um eine neue zu generieren nebst aktualisieren in der Webdatenbank.
Das lässt sich aber nicht immer garantieren.

Macht es also Sinn, nach dem SIMwechsel des Collarträgers gleich generell eine Neue zu generieren (und die Alte natürlich freizugeben, wir wollen ja keine Serverresourcen verschwenden)?
 

Takeshi Newman

Freund/in des Forums
da die Sim in der URL steckt, würde ich sagen du musst dies tun.
Hast du es mal getestet, ob die URL nach Simwechsel überhaupt noch erreichbar ist?
 

Shirley Iuga

Forumsgott/göttin
Beim Wechsel der Region wird die URL ungültig. Das kann man aber mit dem CHANGED_REGION Bitfield im Change Event abfragen.
TP innerhalb der Region soll wohl nichts machen, aber ein TP auf eine andere Sim macht die URL wieder ungültig.

Bei einem Region Restart ist man allerdings sowieso ausgeloggt, und da beim Rezzen/Derezzen bwz. detachen eines Objekts die URLs in Attachments soweit ich weiß auch ungültig werden braucht man beim Einloggen neue URLs.
Ansontesn sollte man den Region Restart mit CHANGED_REGION_START erkennen können.

Siehe
LSL HTTP server - Second Life Wiki
 

Dianna Loxely

Superstar
Beim Wechsel der Region wird die URL ungültig. Das kann man aber mit dem CHANGED_REGION Bitfield im Change Event abfragen.
Das Event überwache ich bereits, um stets den Objektaufenthaltsort aktuell in der Datenbank zu haben.
Meine Frage betraf übriegens genau diesen "Ort" (im Skript) ^^

toll, diese Seite hatte ich noch nicht gefunden. Ja da steht es, beim SIM verlassen wird die URL ungültig, was meine Eingangsfrage vollständig beantwortet. Danke :)

Bei einem Region Restart ist man allerdings sowieso ausgeloggt,
Nun es muß ja nicht immer ein Collar mit einem Avatar dran sein, vielleicht ein hübscher Kirschbaum mit einer AI? ^^
Das müsste ich dann wohl irgendwie über einen regelmässigen Ping/Pong Datenaustausch prüfen als eine Art Onlinetest.

und da beim Rezzen/Derezzen bwz. detachen eines Objekts die URLs in Attachments soweit ich weiß auch ungültig werden braucht man beim Einloggen neue URLs.
ja jedes Rezzen egal ob auf dem Boden oder als Attachment generiert neue InWorld UUIDs, daher hab ich den UrlRequest schon im Initialisierungsevent zwingend drin.

Danke Euch :)
 

Aktive User in diesem Thread

Oben Unten