Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Neuer Würfel rezzen
#1
Hallo zusammen

mit http://wiki.secondlife.com/wiki/LlRezObject erstelle ich ja ein Objekt, das aber schon vorhanden ist.
Zum Beispiel liegt das Script und das Obiekt in einem Würfel, mal klickt drauf und das Objekt wird gerezzt.

Wie mach ich aber einen nigelnagelneuen Würfel ?

Geht das ?
Gruss, Pharcide
Grüsse, Pharcide
Zitieren
#2
nur in dem du einen nigelnagelneuen Würfel in dein Objekt packst und den dann rezzen lässt (gerezzt wird ja eine Kopie des Würfels, die ist ja dann auch nigelnagelneu)
Wer nicht weiss wohin er will, der kommt leicht woanders hin.
Zitieren
#3
Jap, bisher hab ich auch keine Möglichkeit gefunden, zu sagen, rezz mir ein Würfel, Kegel, Kugel usw.

Ok, weisst Du zufälligerweise auch, wie man die UUID des eben gerezzten Objektes ausliest ?
Grüsse, Pharcide
Zitieren
#4
Guckstu hier: http://wiki.secondlife.com/wiki/Object_rez
Wer nicht weiss wohin er will, der kommt leicht woanders hin.
Zitieren
#5
(24.02.2018, 22:09)Pharcide schrieb: Jap, bisher hab ich auch keine Möglichkeit gefunden, zu sagen, rezz mir ein Würfel, Kegel, Kugel usw.

Ok, weisst Du zufälligerweise auch, wie man die UUID des eben gerezzten Objektes ausliest ?

Nur so als Idee, falls du im Rezzer die UUID des gerezzten Objekt haben willst:

Script im Rezzer:
Code:
 string prim = "prim";       // Name des Prims im rezzer Inventory
integer channel = -32198;   // Beliebiger channel (negativer Integer)
integer listenHandle = 0;   // Handle für den Listener

default
{
    touch_start(integer num_detected)
    {
        // Wir starten beim Touch einen Listener mit einem beliebig gewählten channel.
        listenHandle = llListen(channel, "", NULL_KEY, "");
        
        // Wir rezzen das Object 1 m in Y Richtung entferntund übergeben als param den channel.
        // Das Object enthält ein Script das uns beim Rezzen über den 
        // mitgelieferten channel eine Message zurückschickt.
        llRezObject(prim, llGetPos() + <0.0, 1.0, 0.0>, <0.0,0.0,0.0>, <0.0,0.0,0.0,0.0>, channel);
    }
    
    listen(integer channel, string name, key id, string message)
    {
        // Der Listner erhält auf dem mitgegebenen channel eine Message. Wir
        // verwenden sie hier nicht, denn uns interessiert nur die UUID des
        // neu gerezzten Prims und die ist in der id enthalten.
        llSay(0, (string) id); //Kontollausgabe der ID im Chat.
        
        // Um Lag zu vermeiden löschen wir den Listener sobald wir ihn nicht 
        // mehr brauchen
        llListenRemove(listenHandle);
    }    

2. Script im gerezzten Objekt:
Code:
/// Dieses Script sendet nach dem rezzen irgendeine Message über dem // im param mitgegebenen Channel an den rezzer (und löscht sich selbst).
default
{
    on_rez(integer param)
    {
        // Ausgabe im Chat zur Kontrolle
        llSay(0, "Script on_rez " + param + ": " +(string) llGetKey());

        // Message kann im Beispiel irgendwas sein, wir versenden sie nicht.
        // Uns interessiert nur die UUID und die bekommen wir im Listener.
        llRegionSay(param, "rezzed");  // Message kann im Beispiel irgendwas sein.

        // Die nachstende Zeile ist auskommentiert um das Löschen 
        // des Scripts zu verhinder.
        // llRemoveInventory(llGetScriptName());
    }
}
Zitieren
#6
Danke für die Tipps

Was ich möchte ist folgendes:

- Rezzen eines Objekts
- Dann die UUID auslesen und in ein Array speichern
- Das gerezzte Obiekt über die UUID ansprechen, Form, Grösse und Position ändern
- Rezzen des nächsten Objekts
und so weiter

Das heisst, ich muss schon im Rezz Scipt die UUID bekommen und nicht im gerezzten Objekt.
Grüsse, Pharcide
Zitieren


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Script: Objekt rezzen auf Befehl georgm76 4 1.470 27.08.2017, 03:46
Letzter Beitrag: Manfred Aabye

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste