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

Attachment verschieben und rotieren

Sylvie Munro

Superstar
Hallo,

ich habe ein lustiges Problem: Ich benutze llGetLocalRot, llGetLocalPos und llSetLocalRot sowie llSetPos um ein Attachment zu drehen. Während die Rotation sofort ausgeführt wird, wird die Positionsänderung erst dann vorgenommen, wenn ich das Attachment anklicke (mit Rechts).

Sieht ungefähr so aus:

Code:
if (message=="Rotate")
        {
            llSetLocalRot(rota);
            llSetPos(posi);
            start=1;
            llSetTimerEvent(0.5);
        }
        llListenRemove(handle);

Irgendeine Idee, warum das so ist und wie ich's umgehen kann?
 
Ich hatte das Problem auch, nur lachen kann ich darueber nicht. Es hatte mich eher fast an den Rand der Verzweiflung getrieben, bis ich diesen Jira-Eintrag fand.

Anscheinend ist die Veraenderung fuer den Server nicht gross genug und so daemlich es klingt ... eine Loesung fuer das Problem ist nach dem llSetPos ein
Code:
llSetText((string)llFrand(1.0), ZERO_VECTOR, 0.0)
einzubauen, wodurch die Positionsveraenderung auch ohne Rechtsklick sofort aktiv wird.
 
Als kleines Dankeschön hier ein wie ich finde nützliches Skript.
Man kann es in Prim-Kleidung einbauen, die man modifizieren möchte (Position und Rotation). Anklicken und "Get" wählen, um zu sichern. Danach die Kleidung modifizieren. Geht was schief, anklicken und "Reset" wählen.

Code:
//*************************************
// Simple Dress modify Helper
// Put this Script into any  primcloth 
// you want to modify
// Click on the cloth, choose "Get" to
// safe the old Position and Rotation
// If you wish to Reset to the old state
// simply choose Reset
//*************************************

rotation rota;
vector posi;
integer handle;
list MENU_MAIN = ["Get", "Reset"];

mymenu()
{
    handle=llListen(-666,"",llGetOwner(),"");
    llDialog(llGetOwner(), "What to do?", MENU_MAIN, -666);
}

default
{
    on_rez(integer startp)
    {
        llResetScript();
    }
    state_entry()
    {
        llOwnerSay("DressHelper 1.0!");
    }

    touch_start(integer total_number)
    {
        mymenu();
    }
    
    listen(integer channel, string who, key id, string message)
    {
        if (message=="Get")
        {
            rota=llGetLocalRot();
            posi=llGetLocalPos();
            llOwnerSay("Settings saved");
        }
        if (message=="Reset")
        {
            llSetPrimitiveParams([PRIM_POSITION,posi]);
            llSetLocalRot(rota);
            llOwnerSay("Settings restored");
            llSetText((string)llFrand(1.0), ZERO_VECTOR, 0.0);
        }
        llListenRemove(handle);
    }
        
}
 

Users who are viewing this thread

Zurück
Oben Unten