1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
    Information ausblenden
  3. 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.
    Information ausblenden

llGetAttachedList (Attachments im Chat anzeigen lassen)

Dieses Thema im Forum "Scripting" wurde erstellt von Daemonika Nightfire, 9. Februar 2017.

  1. Daemonika Nightfire

    Daemonika Nightfire Forumsgott/göttin

    Beiträge:
    7.195
    Zustimmungen:
    101
    Punkte für Erfolge:
    63
    huhu,

    ich habe mich mal mit der neuen Funktion aus der Wiki auseinander gesetzt und ein wenig herum probiert.
    http://wiki.secondlife.com/wiki/LlGetAttachedList

    Zuerst dacht ich mir es waere schoen, das Beispielscript um die Attachpoints zu erweitern, was ich auch getan habe. Dann zeigte mir meine Freundin May einen Hud, der sogar zusaetzlich die Ersteller anzeigt.
    Gut dacht ich mir, das kann ich auch und habe noch einen drauf gesetzt und das ganze um die Anzahl Scripte inclusive bytes & script-time erweitert.

    Ich bin mir sicher, bei folgendem Script gibt es noch Verbesserungsvorschlaege:
    Code:
    list constant = ["1","2","3","4","5","6","7","8","9","10",
                     "11","12","13","14","15","16","17","18","19","20",
                     "21","22","23","24","25","26","27","28","29","30",
                     "31","32","33","34","35","36","37","38","39","40",
                     "41","42","43","44","45","46","47","48","49","50",
                     "51","52","53","54","55"];
                 
    list comment = ["chest/sternum","head","left shoulder","right shoulder","left hand","right hand","left foot","right foot","back",
                    "pelvis","mouth","chin","left ear","right ear","left eye","right eye","nose","right upper arm","right lower arm",
                    "left upper arm","left lower arm","right hip","right upper leg","right lower leg","left hip","left upper leg",
                    "left lower leg","belly/stomach/tummy","left pectoral","right pectoral","HUD Center 2","HUD Top Right","HUD Top",
                    "HUD Top Left","HUD Center","HUD Bottom Left","HUD Bottom","HUD Bottom Right","neck","avatar center/root","left ring finger",
                    "right ring finger","tail base","tail tip","left wing","right wing","jaw","left ear (extended)","right ear (extended)",
                    "left eye (extended)","right eye (extended)","tongue","groin","left hind foot","right hind foot"];
    
    default
    {
        touch_start(integer total_number)
        {
            key Agent = llDetectedKey(0);
            llSetObjectName(llKey2Name(Agent));
         
            list AttachedUUIDs = llGetAttachedList(llDetectedKey(0));
         
            integer i = 0;
            while(i < llGetListLength(AttachedUUIDs))
            {
                list temp = llGetObjectDetails(llList2Key(AttachedUUIDs,i),[OBJECT_NAME,OBJECT_ATTACHED_POINT,OBJECT_CREATOR,OBJECT_TOTAL_SCRIPT_COUNT,OBJECT_SCRIPT_MEMORY,OBJECT_SCRIPT_TIME]);
                list AttachedNames = [llList2String(temp,0)];
                list where = [llList2String(temp,1)];
                list creator = [llList2String(temp,2)];
                list scripts = [llList2String(temp,3)];
                list memory = [llList2String(temp,4)];
                list time = [llList2String(temp,5)];
             
                integer wherenum = llListFindList(constant,where);
                string wherename = llList2String(comment,wherenum);
             
                float timems = llList2Float(time,0);
                timems = timems*1000;
                llSay(0, (string)AttachedNames + " - [ " + (string)scripts + " script/s, " + (string)memory + " bytes, " + llGetSubString((string)timems, 0, 4) +
                " time ] - by secondlife:///app/agent/" + (string)creator + "/about (worn on " + wherename + ")");
             
                ++i;
            }
            AttachedUUIDs = [];
            llSetObjectName("Object");
        }
    }
    Viel mehr wuerde ich da nun aber nicht mehr rein packen, denn die Chatausgabe ist schon relativ unuebersichtlich. Dennoch ist das ganze sehr hilfreich um zu sehen, wo man evtl. noch stoerende bzw. unnoetige Scripte mit sich herum schleppt.

    Nachtrag:
    Eines muss ich noch bemerken, aus irgend einem Grund werden die Attachpoints des HUD's nicht erkannt und ich weiss nicht warum.
    Weiss jemand von euch etwas darueber?

    LG
    Dae
     
    Tanja Byron gefällt das.