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

resize ohne child scripte

carly Carami

Aktiver Nutzer
gibts denn eine möglichkeit, die resize scripte mit so zu schreiben, dass man nicht in jedem child ein script haben muss?
mit link nummern zum beispiel wie bei den llSetLinkPrimitiveParams?
 

Jenna Felton

Superstar
Zu den beiden Funktionen braucht man aber noch die dritte

LlGetLinkPrimitiveParams - Second Life Wiki

Damit holt man die Größe un Position jedes Childprims und via einer der beiden genannten (evtl die _Fast, die ist schneller) setzt man den Prims die veränderte Daten. Möchte man aber die Childs auch resetten auf Rezgröße oder gespeicherte Größe, wie es bei Resizeskripten so üblich ist, dann muss man diesen Zustand für jeden Child auch verwalten.

Das wäre grob der Weg.
 

Archon Short

Forumsgott/göttin
Ok, also genannt wurde hier schon mal so einiges.

Jedes Prim hat im Linkset eine Nummer und einen Key.

Also fang ich mal an, es geht ja hier um Hilfe nicht um fertige Scripte ;)

Erstmal lasse ich in einer for-Schleife das Linkset als Ersteller so wie es ist speichern und zwar in der Objektbeschreibung der einzelnen Prims als kodierten String.
Dazu benötigt man das
llGetLinkPrimitiveParams und das llSetLinkPrimitiveParamsFast.

Als nächstes sollen die Kunden ja die einzelnen Prims oder alle Prims zusammen bearbeiten können.
Dazu muss man nach dem touch erstmal per dialogmenü nachfragen was bearbeitet werden soll.
Bei einem einzelnen Prim nimmt man dann den Primkey oder die Linknummer um dann mit dem Prim weiter zu arbeiten ;)

Also mal als Denkanstoß für den Anfang ^^
http://wiki.secondlife.com/wiki/LlGetLinkPrimitiveParams
 

carly Carami

Aktiver Nutzer
@archos
danke für den denkanstoss, damit kann ich schon mal was anfangen,
und vielleicht darf ich einfach nicht so dumm fragen
denn wer dumm fragt..... bekommt die passende antwort

@jenna
und dir auch vielen dank jenna, ich experimentier mal weiter
 

Archon Short

Forumsgott/göttin
Keine Frage ist dumm, es gibt nur dumme Antworten, aber den Spaß einfach mal ein "Ja" zu schreiben wollte ich mir nicht nehmen lassen^^
 

carly Carami

Aktiver Nutzer
du hast ja recht, ich musste ja auch über deine antwort schmunzeln.
aber ne andere frage.
du speicherst am anfang dein objekt, um dann per reset auf den urzustand zurückzusetzen. seh ich das richtig?
und was passiert wenn das script crasht? ist dann alles weg? denn dein objekt ist ja nur im script memory gespeichert. oder hab ich da einen denkfehler?
 

Archon Short

Forumsgott/göttin
Da hast Du nen Denkfehler ;)

Ich speichere für JEDES Prim die Daten in der Objektbeschreibung des jeweiligen Prims.
Von dort kann ich es jederzeit wieder auslesen.
 

Ines80 Mighty

Aktiver Nutzer
Guten Morgen,
ich habe da mal eine Gegenfrage.

Gibt es ein Script, welches alle Scripte in einem verlinkten Objekt löscht?

Ich habe zwar ein Script Remover, aber der löscht nur das Script im Rootprim.

Hier mal das Script, welches ich habe:
Code:
// The Scrubber
// Jopsy Pendragon, Feb 10 2006, Version 1

default
{
    state_entry()
    {
        llSetSitText( "" );
        llSetTouchText( "" );
        llParticleSystem( [ ] );
        llSetText( "", ZERO_VECTOR, 1.0 );
        llTargetOmega( ZERO_VECTOR, 0, 0 );
        llSetCameraAtOffset( ZERO_VECTOR );
        llSetCameraEyeOffset( ZERO_VECTOR );
        llSitTarget( ZERO_VECTOR, ZERO_ROTATION );
        llSetTextureAnim( FALSE , ALL_SIDES, 1, 1, 0, 0, 0.0 );
        llOwnerSay("This Prim is Clean... ");
        llRemoveInventory( llGetScriptName() );
        // vanish without a trace...
    }
}
 

Magus Loon

Superstar
Gibt es ein Script, welches alle Scripte in einem verlinkten Objekt löscht?

Eindeutig jaein!

Ein Script kann nur Scripte in dem Prim löschen in dem es sich selbst befindet (llRemoveInventory). Dementsprechend ist es ansich nicht möglich Scripte in Childprims zu löschen.

Allerdings kann sich, bei entsprechender Vorbereitung (llSetRemoteScriptAccessPin), ein Script in Childprims kopieren (llRemoteLoadScriptPin). Dieses könnte dann erst alle anderen Scripte im (jeweiligen Child-) Prim löschen, dann sich selbst. Aber das muss eben vorher geplant und (via Script) vorbereitet sein.

Also:

- out-of-the-box-Scripte in Child-prims löschen: nein
- mit vorbereitetem und durchdachtem Konzept: ja
 

Arliden

Neuer Nutzer
Hallo Ines,

es gibt solche Scripte, nur habe ich grade keines zur Hand.
Das Script was du da hast ist auch kein Script-Remover, sondern ein "Putzteufel"-Script; es löscht Hoovertexte, Sitzpositionen, Partikel, u.v.m und halt sich selbst aus dem Inventory des Objektes in dem es selber steckt.

Das es irgend einen anderen Inhalt (Scripte, Notecards, weitere Objekte) aus dem Objekt löscht, das sehe ich nicht.

Arliden
 

Arliden

Neuer Nutzer
Eindeutig jaein!

Ein Script kann nur Scripte in dem Prim löschen in dem es sich selbst befindet (llRemoveInventory). Dementsprechend ist es ansich nicht möglich Scripte in Childprims zu löschen.

Allerdings kann sich, bei entsprechender Vorbereitung (llSetRemoteScriptAccessPin), ein Script in Childprims kopieren (llRemoteLoadScriptPin). Dieses könnte dann erst alle anderen Scripte im (jeweiligen Child-) Prim löschen, dann sich selbst. Aber das muss eben vorher geplant und (via Script) vorbereitet sein.

Also:

- out-of-the-box-Scripte in Child-prims löschen: nein
- mit vorbereitetem und durchdachtem Konzept: ja

Dieses hier hat bei meinem Versuchaufbau alle Scripte gelöscht:
//removes all scripts, particles and bling from a linkset. Put it in the root - Pastebin.com

Arliden
 

Aktive User in diesem Thread

Oben Unten