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

Zeichenbeschränkung bei dataserver

argus Portal

Freund/in des Forums
Hallo

Gibt es einen Workaround, um per llGetNotecardLine Zeilen im dataserver-event zu empfangen, die mehr als 255 Bytes lang sind ?
 
Da gibt es nichts, da llGetNotecardline die zu lange Zeile, die dem Dataserver Event übergeben wird, nach 255 Bytes = 245 Zeichen einfach abschneidet. Was danach kommt wandert ins Datennirvana.

Die Einzige Möglichkeit ist daher keine so langen Zeilen in Notecards zu verwenden, da Scripte keine neuen Notecards erzeugen können und da man SL Notecards auch prinzipiell nicht ändern/editieren kann (dabei wird nämlich eine neue Notecard mit einer neuen UUID erstellt und die alte Notecard einfach gelöscht).
 
Das ist das Problem, das abgeschnitten wird und das man zugleich NCs nicht per Script bearbeiten kann.

Meine Hoffnung war, das es irgendeine neue Funktion gibt, die noch nicht allgemein bekannt ist oder das man per http auf einen Server zugreifen kann.
 
Per http auf einen Server zugreifen geht freilich, dann würde sich die Notecard erübrigen und alternativ müsstest Du dauerhaft einen Server vorhalten, der alle Deine Objekte mit Daten versorgt. Am besten programmierst Du dann so, dass Dein Objekt beim Server anfragt und die Daten sendet und abholt. Die Gegenrichtung ist schwieriger zu realisieren, weil sich die Webadressen von Inworld-Objekten bei Neustarts oder Simübergängen ändern.

Manko: Wenn Du die Objekte an andere Personen weitergibst, entsteht bei externer Serverspeicherung eine gewisse Verantwortung, den Dienst längerfristig zur Verfügung zu stellen.
 
Ich meinte Zugriff auf die Linden-Assetserver. Bei aller Problematik die dahintersteht, inkl. was LL dazu sagen könnte ;-)
 
Ich bin heilfroh, dass nicht Hinz und Kunz über ein LSL Script per http direkt auf den Asset zugreifen kann. Und ich hoffe mal stark, dass das so bleibt.
Ansonsten sind 245 Zeichen pro Zeile schon ziemlich viel. Was willst du denn genau machen, dass du so eine lange Zeile brauchst?

Nachdem man Notecards sowieso per Hand oder allenfalls per Bot generiert ist es doch eigentlich kein Problem eine Zeile nach z.B. 240 Zeichen zu trennen und dabei eine entsprechende Trennung so zu kennzeichnen, dass man die Trennung einer eigentlich überlangen Zeile mit einem Script auch erkennen kann. Dann kann man das im Script wieder zu einem String zusammensetzen, da ist dann die maximale Länge nur durch den freien Speicher begrenzt. Nur bei der Ausgabe muss man dann daran denken, dass LLSay oder llInstantMessage auf 1023 byte und http bodys auf 2046 byte und http header auf 255 byte begrenzt sind.
 
Prinzipiell stimme ich dir zu, das auf Sicherheit geachtet werden muss. Und wirklich auf meiner Wunschliste wäre diese Zugrifsmöglichkeit deswegen nicht. Aber ich hätte die Möglichkeit in Anspruch genommen, wenns ginge.

Im vorliegenden Fall haben wir hier eine Geschichtensammlung in Form von Notecards. Leider enthalten diese fast ausschliesslich überlange Zeilen. Bevor wir die von Hand anpassen, fragte ich erstmal nach hier.


--

Aus Interesse: Was genau meinst du damit, das man Notecards von Bots generieren lassen kann ?

Bot = spezieller Viewer ?
 
Prinzipiell stimme ich dir zu, das auf Sicherheit geachtet werden muss. Und wirklich auf meiner Wunschliste wäre diese Zugrifsmöglichkeit deswegen nicht. Aber ich hätte die Möglichkeit in Anspruch genommen, wenns ginge.

Im vorliegenden Fall haben wir hier eine Geschichtensammlung in Form von Notecards. Leider enthalten diese fast ausschliesslich überlange Zeilen. Bevor wir die von Hand anpassen, fragte ich erstmal nach hier.


--

Aus Interesse: Was genau meinst du damit, das man Notecards von Bots generieren lassen kann ?

Bot = spezieller Viewer ?

Bot = spezieller Viewer, über den man einen normalen Account einloggt, ja. In dem Fall eben z.B. über den libopenmv Code (http://lib.openmetaverse.org/). Muss man dann eben so programmieren (ist AFAIK c# code) dass sie eine notecard erstellen und beschreiben können.

In deinem Fall wäre es allerdings wohl besser die Textdateien einfach mit einem Rechner zu bearbeiten bevor man deren Inhalt in die Notecard kopiert. Das geht mit viel Aufwand und z.B. grep und sed unter Linux(ist beides aber verdammt umständlich zu bedienden, wenn man sich mit regexp nicht auskennt...) oder mit einem perl- oder Java-Script. Das Problem ist dabei vermutlich, dass du ja nicht mitten im Wort, nach z.B. 80 Zeilen trennen willst. Sondern nach dem letzten Wort, das noch innerhalb der 80 Zeilen ist. Und du willst wohl auch nicht direkt nach einem Zeilenumbruch in Spalte 80 trennen, wenn dein Wort bis Zeile 79 geht usw.

Deswegen könnte es unter Umständen einfacher sein den Text einfach in einen Editor zu kopieren und ihn dort manuell schnell mal zu bearbeiten. In Notpad++ geht das z.B. teilweise mit dem TextFX Plugin unter Convert --> wrap to 72 chars oder so.
 
Bei grösseren Inhalten klar. Notepad++ ist erste Wahl. Bei weniger umfangreichen Notecards schiebe ich einfach das Anzeigefenster auf die gewünschte Breite und gehe Zeile für Zeile durch und schliesse mit Return-Taste ab. Das fügt dann EOLs ein.
 

Users who are viewing this thread

Zurück
Oben Unten