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

Kann man die Sitposition des eigenen Avatar iwo ablesen ?

Sixx McMahon

Superstar
So, schnell vor dem Bett gehn..

ich hab n Couch gekauft.. meine Wunschvorstellung hat da nicht ganz so geklappt.
Hätte eben gerne etwas wo man sitzt und dann liest oder etwas trinkt etc.. Gerade
bei der Couch war das nicht vorhanden. ABER es gab simple Stühle, die genau das
beinhalten vom selben Anbieter.. Somit konnte ich einfach den Inhalt vom Stuhl in
die Couch verschieben.

Nun muss ich natürlich die ganzen Sitzposen anpassen.. Das geht zwar alles recht
einfach. Läßt sich auch speichern.. zumindest für eine Pose.. aber irgenwo behält
er das nicht für alle Posen bei.. eigentlich immer nur für eine. Die Posen werden
per Menü justiert..

Nun gibt es noch eine Notecard mit den ganzen Coordinaten einer jeden Pose.. wenn
ich nun eine Pose ausrichte und davon die Daten hätte, könnte ich die in die NC
kopieren.. Somit hätte ich für jede Pose ein Grundposition, die ich nur leicht an-
passen müsste ohne meine Avatar immer wieder und wieder über die komplett Couch
schieben und drehen zu müssen..

Kann ich das im Firestorm irgendwo ablesen oder geht das noch anders ?

Soo N8i
28.gif
 
Das wäre per anderem Script möglich Deine Position im Linkset zu ermitteln.
Code:
integer i;
for(i=0;i<=llGetNumberOfPrims();i++)
{
    if(llGetLinkKey(i) == llGetOwner())
    {
        list L = llGetLinkPrimitiveParams(i,[[URL="http://wiki.secondlife.com/wiki/PRIM_POS_LOCAL"]PRIM_POS_LOCAL, [URL="http://wiki.secondlife.com/wiki/PRIM_ROT_LOCAL"]PRIM_ROT_LOCAL[/URL][/URL]]);
        llOwnerSay("Pos: "+llList2String(L,0));
        llOwnerSay("Rot: "+llList2String(L,1));
    }
}

Triggern könntest Du es z.B. mit einem Listener, der dann auf ein Kommando reagiert.

Die richtigen Listen schmeißen die Teile nur raus, wenn Du auch das Hauptscript besitzt, aber das bekommt man als Ersteller natürlich in "no modify & no transfer".
 
Danke Archon.. Schiebe ich das Script jetzt einfach in einen Prim, klick es und mir wir die Position übermittelt
wo(wie ich gerade sitze ?
 
Nein, das ist auch kein Script, das ist eine Funktion.
Da das Sofa ja bereits wegen den Animationsscripten auf touch reagiert bietet sich halt ein Listener an.
Code:
default
{
    state_entry()
    {
        llListen(0,"",llGetOwner(),"gib");
    }

    listen(integer channel,string name,key id,string message)
    {
        integer i;
        for(i=0;i<=llGetNumberOfPrims();i++)
        {
        if(llGetLinkKey(i) == llGetOwner())
            {
                list L = llGetLinkPrimitiveParams(i,[PRIM_POS_LOCAL, PRIM_ROT_LOCAL]);
                llOwnerSay("Pos: "+llList2String(L,0));
                llOwnerSay("Rot: "+llList2String(L,1));
            }
        }
    }
}


Wenn Du im offenen Chat "gib" schreibst, dann nennt der Dir die Daten.

[14:57] Archon Short: gib
[14:57] Object: Pos: <-0.595310, 0.354510, 0.625450>
[14:57] Object: Rot: <-0.000450, -0.001341, -0.447081, 0.894492>
[14:57] Archon Short: gib
[14:57] Object: Pos: <-0.718350, 0.037900, 0.484090>
[14:57] Object: Rot: <-0.001023, -0.001247, -0.096825, 0.995300>
 
ah ok.. verstanden :)

hab ich nun im Sofa.. und er gibt mir auch die Daten
wenn ich die nun in die NC mit allen Sitzpositionen eingebe.. liege ich schräg auf der Seite.. im Sofa.. 1 Meter weiter hinten
8.gif


Ich stell im übrigen auch fest, das er nach dem Neustart der Scripte, was durchs speicher der NC geschieht, die Sitzpositionen
wohl alle wieder zurück setzt ....

hmm... ne der setzt die nicht zurück.. die Daten bleben in der NC stehen... aber die Position hat er nicht beibehalten.. ich
liege wieder auf der Seite iwo im Sofa....
 
Zuletzt bearbeitet:
Eins fällt mir noch ein:
Sollten die Sitzscripte nicht im Root-Prim sein, dann musst Du mal das Linkset auflösen und das Script mit in die Prims, die die Sitzscripte enthalten, packen.

Daran hatte ich am Anfang nicht gedacht, aber ich hab bei mir auch die Scripte immer in Child-Prims
 
Das Sofa besteht aus verschiedenen Prim.. in jeden der Sitzflächen sind Scripte und die Posen drin..
Den Listener hab ich in das Prim gesteckt, mit den Posebällen bei denen ich die Sitzposition anpassen will..

Folgende Scripte sind inside

sit.jpg

Ich werd trotzdem mal versuchen das Linkset aufzulösen
und schauen was passiert
 

Users who are viewing this thread

Zurück
Oben Unten