Shirley Iuga
Forumsgott/göttin
Bleiben wir bei den Projektideen für einen Script updater. Und fassen das Gesagte mal übersichtlich zusammen.
Folgende Möglichkeiten gibt es um ein Script in ein Prim des Endkunden zu bekommen für diesen Updater:
1. Mod-Berechtigungen für das Objekt wird erteilt.
Nicht Praktikabel, da müsste jeder Kunde dem Bot die Berechtigung geben seine Objekte zu bearbeiten.
Keine Lösung.
2. Keine Mod-Berechtigungen für das Objekt.
2.1. Inventory drop erlauben per llAllowInventoryDrop(TRUE)
Funktioniert nicht für Scripte.
Keine Lösung.
2.2 llGiveInventory() bzw. llGiveInventoryList()
Man kann Scripte zwar kopieren in ein Prim - aber sie sind dann im Status "Disabled", d.h. sie laufen nicht, der Scriptspeicher, der Event Queue und der Status-Zustand sind leer. Die Scripte lassen sich dann auch nicht per llSetScriptState() starten, sondern nur durch Neukompilierung oder indem man das Objekt derezzt und neu rezzt.
Keine Lösung.
2.3 llSetRemoteScriptAccessPin() in Verbindung mit llRemoteLoadScriptPin()
Funktioniert nur, wenn der Owner des ausführenden Scripts auch der Owner des Ziels ist, in das ein Script kopiert werden soll. Oder entsprechende Berechtigungen hat.
Keine Lösung.
2.4 llRemotLoadScript()
Diese Funktion gibt es nicht mehr. Sie wurde durch RemoteLoadScriptPin() ersetzt.
Keine Lösung.
2.5 Vogelfrei1986s magischer Finger
Diese Funktion ist, wenn es sie gibt, dem Viewer nicht bekannt.
(Zumindest befindet sie sich nicht im Source Code in der Datei lscript_library.cpp, in der die dem Viewer bekannten Befehle sind.)
Aber eventuell kann man auf sonstige Art irgendwie laufende Scripte in ein Objekt bringen.
Bisher allerdings unbewiesene Aussage: Keine Lösung.
Weitere derartige LSL Funktionen gibt es nicht. Man kann Scripts nicht per Script editieren. Und man kann keine neuen Scripte in Prims generieren per LSL.
Folglich kann aus meiner Sicht so ein Updater in SL nicht realisiert werden.
Persönliche Anmerkung:
Würde es eine Möglichkeit geben laufende Scripte in fremde Prims zu injizieren ohne die Berechtigung zu haben, dann wäre das wohl weniger ein Fall für einen Updater Bot, sondern ein Fall für des SecJira von LL. Aber eventuell hat ther TO beim Testen seines Updater Bots übersehen, dass der Versuch ein Script mit llRemoteLoadScriptPin ohne Berechtigungen zu laden jedesmal ohne Meldung fehlgeschlagen ist.
Folgende Möglichkeiten gibt es um ein Script in ein Prim des Endkunden zu bekommen für diesen Updater:
1. Mod-Berechtigungen für das Objekt wird erteilt.
Nicht Praktikabel, da müsste jeder Kunde dem Bot die Berechtigung geben seine Objekte zu bearbeiten.
Keine Lösung.
2. Keine Mod-Berechtigungen für das Objekt.
2.1. Inventory drop erlauben per llAllowInventoryDrop(TRUE)
Funktioniert nicht für Scripte.
Keine Lösung.
2.2 llGiveInventory() bzw. llGiveInventoryList()
Man kann Scripte zwar kopieren in ein Prim - aber sie sind dann im Status "Disabled", d.h. sie laufen nicht, der Scriptspeicher, der Event Queue und der Status-Zustand sind leer. Die Scripte lassen sich dann auch nicht per llSetScriptState() starten, sondern nur durch Neukompilierung oder indem man das Objekt derezzt und neu rezzt.
Keine Lösung.
2.3 llSetRemoteScriptAccessPin() in Verbindung mit llRemoteLoadScriptPin()
Funktioniert nur, wenn der Owner des ausführenden Scripts auch der Owner des Ziels ist, in das ein Script kopiert werden soll. Oder entsprechende Berechtigungen hat.
Keine Lösung.
2.4 llRemotLoadScript()
Diese Funktion gibt es nicht mehr. Sie wurde durch RemoteLoadScriptPin() ersetzt.
Keine Lösung.
2.5 Vogelfrei1986s magischer Finger
Diese Funktion ist, wenn es sie gibt, dem Viewer nicht bekannt.
(Zumindest befindet sie sich nicht im Source Code in der Datei lscript_library.cpp, in der die dem Viewer bekannten Befehle sind.)
Aber eventuell kann man auf sonstige Art irgendwie laufende Scripte in ein Objekt bringen.
Bisher allerdings unbewiesene Aussage: Keine Lösung.
Weitere derartige LSL Funktionen gibt es nicht. Man kann Scripts nicht per Script editieren. Und man kann keine neuen Scripte in Prims generieren per LSL.
Folglich kann aus meiner Sicht so ein Updater in SL nicht realisiert werden.
Persönliche Anmerkung:
Würde es eine Möglichkeit geben laufende Scripte in fremde Prims zu injizieren ohne die Berechtigung zu haben, dann wäre das wohl weniger ein Fall für einen Updater Bot, sondern ein Fall für des SecJira von LL. Aber eventuell hat ther TO beim Testen seines Updater Bots übersehen, dass der Versuch ein Script mit llRemoteLoadScriptPin ohne Berechtigungen zu laden jedesmal ohne Meldung fehlgeschlagen ist.
Zuletzt bearbeitet: