• 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.

llGetOwnerKey liefert nichts

Hallo,

ich habe da ein Problem was mich arg irirtiert. Vielleicht habt ihr ja dazu eine Idee.

Ein Objekt das mir gehört posaunt eine Nachricht herum. Das Empfängerobjekt lauscht und greift sich die Nachricht ab.

Das Empfängerobjekt will nun auch herausfinden wem das sendende Objekt gehört.

Code:
string name = llKey2Name(llGetOwnerKey(id));

liefert den Namen des Owners des sendenden Objekts. In diesem Fall Ulico Wotycer.

Alles ganz wunderbar. Das Senderskript sendet seine Anfrage aufgrund einer Notecard die mit Steuerinformationen gefüllt ist.

Also just ein Brandneues Objekt erzeugt, das Skript darein geschubst und die Notecard eingefüllt. Bei einem Touch wird dann die Anforderung gesendet.

Aber plötzlich kommt als Ownername beim Empfänger-Skript (ausgelesen mit dem obigen Code) nur ein Leerstring an.

llKey2Name liefert ja einen leeren String wenn der gegebene Key ungültig oder ein NULL_KEY ist. Ich habe jetzt noch nicht nachgesehen ob llGetOwnerKey einen falschen Key ermittelt oder einen NULL_KEY. Rein gefühlsmäßig würde ich auf NULL_KEY tippen.

Aber warum?

Bei einem betagteren Sendeobjekt hat es ja auch geklappt. Dort wurde der Owner ja korrekt ermittelt. Aber bei dem neuen Objekt geht es nicht?

Ich nahm auch mal ein betagteres Objekt (das sich nur in der Steuernotecard unterschied) und reichte es an jemanden anders weiter. Sie klickte es an und schwubs zeigte das Empfängerscript ihren Namen an.

Dann gab ich das neue Objekt weiter und wieder zeigte das Empfängerskript einen Leersting an als sie es rezzte und anklickte.

Ich bin recht ratlos. Hat jemand von Euch eine Idee?


LG
Ulico
 
llKey2Name() funktioniert nur wenn der Avatar, dessen Key das ist, sich zum Zeitpunkt der Abfrage auf der gleichem Sim befindet. Tut er das?

Ansonsten im Wiki die Hinweise dazu lesen und die Abfrage über dataserver machen.
 
Ulico Wotycer schrieb:
llKey2Name liefert ja einen leeren String wenn der gegebene Key ungültig oder ein NULL_KEY ist.

... oder wenn der Key in Ordnung ist, der betreffende Avatar sich aber nicht auf der Sim aufhält ;) in dem Fall den Namen via llRequestAgentData holen.
 
bei meinen Test war ich auf der Sim. Genauso wie alle beteiligten Objekte. Aber der Hinweis über llKey2Name ist trotzdem Gold wert, da ich nicht vorhatte die ganze Zeit dort zu bleiben :)

An meinen Testproblemen ändert das leider nichts. Beide Objekte lagen nebeneinander. Das betagte und das neue. Klick auf das eine, der Empfänger liefert den Namen des Object-Owners. Direkt danach Klick auf das Andee und Nix.
 
Mit nur einer Zeile aus dem Script ist das schlecht zu sagen kann ja an einer anderen stelle sein der fehler ein = oder ein , usw. falsch gesetzt
 
Selina Hienrichs schrieb:
Mit nur einer Zeile aus dem Script ist das schlecht zu sagen kann ja an einer anderen stelle sein der fehler ein = oder ein , usw. falsch gesetzt

Genau. Kürze doch aus deinem Script mal alles raus, was unwichtig für die konkrete Fragestellung ist, das Problem aber noch besteht, und poste das hier.
 
Ulico Wotycer schrieb:
... Also just ein Brandneues Objekt erzeugt, das Skript darein geschubst und die Notecard eingefüllt. Bei einem Touch wird dann die Anforderung gesendet.


..Denkanstoß: Weiß das Object, wem es gehöhrt, denn es hat ja noch kein Ava "in der Hand gehabt". Es wurde ja von einem Object erzeugt, nicht von einem Ava. Könnte sein, dass deshalb diesem Object noch kein "Owner" im abgefragten Sinn zugeordnet ist.

Gruß Marina
 
Ich habe das Skript jetzt gerade nicht vor mir, und kann es darum auch nicht in AUsschnitten Posten. Die eine Zeile habe ich aus dem Kopf geschrieben.

Aber ich habe mir mal zwei Sachen auf meinen Spickzettel geschrieben, die ich mal machen werde. Zum einen weg von llKey2Name und zum anderen werde ich das sendende Objekt bei on_rez mal resetten. Vielleicht hilft das.

Steht die Frage im Raum warum es bei den betagten Objekten geht die ja auch kein Reset machen. Aber ich versuche es heute Nachmittag noch mal. Ansonsten gucke ich mal ob ich Codeschnipsel zusammenstellen kann. Wobei ich mich frage was ich da posten soll. Die beiden Skripte die beteiligt sind wollte ich nicht komplett posten. Und da sie in allen betagten Objekten (ca. 20 verschiedene Objekte) laufen fällt es mir auch schwer einen Teil als relevant zu bezeichnen.

Sollte eine meiner Maßnahmen greifen werde ich hier aber mehr dazu schreiben.

LG
Ulico
 

Users who are viewing this thread

Zurück
Oben Unten